@dckj-npm/dc-material 0.1.35 → 0.1.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (297) hide show
  1. package/README.md +17 -17
  2. package/build/index.js +8 -8
  3. package/build/lowcode/assets-daily.json +71 -0
  4. package/build/lowcode/assets-dev.json +71 -0
  5. package/build/lowcode/assets-prod.json +71 -0
  6. package/build/lowcode/designer.html +302 -0
  7. package/build/lowcode/index.html +304 -0
  8. package/build/lowcode/index.js +1 -0
  9. package/build/lowcode/meta.design.js +1 -0
  10. package/build/lowcode/meta.js +1 -0
  11. package/build/lowcode/preview.css +1 -0
  12. package/build/lowcode/preview.html +33 -0
  13. package/build/lowcode/preview.js +308 -0
  14. package/build/lowcode/render/default/view.css +1 -0
  15. package/build/lowcode/render/default/view.js +295 -0
  16. package/build/lowcode/view.css +1 -0
  17. package/build/lowcode/view.js +295 -0
  18. package/dist/BizComps.js +5 -5
  19. package/dist/BizComps.js.map +1 -1
  20. package/es/components/bottom-navigation/bottom-navigation.d.ts +15 -15
  21. package/es/components/bottom-navigation/index.d.ts +3 -3
  22. package/es/components/bottom-navigation/index.scss +24 -24
  23. package/es/components/button/button.d.ts +14 -14
  24. package/es/components/button/index.d.ts +6 -6
  25. package/es/components/button/index.js +2 -2
  26. package/es/components/button/index.scss +16 -16
  27. package/es/components/carousel/carousel.d.ts +14 -14
  28. package/es/components/carousel/carousel.scss +32 -32
  29. package/es/components/colorful-button/colorful-button.d.ts +12 -12
  30. package/es/components/colorful-button/index.d.ts +3 -3
  31. package/es/components/colorful-button/index.scss +5 -5
  32. package/es/components/colorful-input/colorful-input.d.ts +8 -8
  33. package/es/components/colorful-input/index.d.ts +3 -3
  34. package/es/components/colorful-input/index.scss +5 -5
  35. package/es/components/goods-card-list/goods-card-list.d.ts +5 -5
  36. package/es/components/goods-card-list/goods-card-list.scss +112 -112
  37. package/es/components/goods-card-list/index.d.ts +3 -3
  38. package/es/components/goods-card-list/types.d.ts +45 -45
  39. package/es/components/grid-nav/grid-nav.d.ts +13 -13
  40. package/es/components/grid-nav/index.d.ts +3 -3
  41. package/es/components/grid-nav/index.scss +37 -37
  42. package/es/components/integral-task/index.d.ts +6 -6
  43. package/es/components/integral-task/index.js +2 -2
  44. package/es/components/integral-task/index.scss +35 -35
  45. package/es/components/integral-task/integral-task.d.ts +40 -40
  46. package/es/components/menu-list/index.d.ts +6 -6
  47. package/es/components/menu-list/index.js +2 -2
  48. package/es/components/menu-list/index.scss +16 -16
  49. package/es/components/menu-list/menu-list-item.d.ts +5 -5
  50. package/es/components/menu-list/menu-list-item.scss +49 -49
  51. package/es/components/menu-list/menu-list.d.ts +5 -5
  52. package/es/components/menu-list/types.d.ts +23 -23
  53. package/es/components/message-list/index.d.ts +6 -6
  54. package/es/components/message-list/index.js +2 -2
  55. package/es/components/message-list/index.scss +22 -22
  56. package/es/components/message-list/message-list-item.d.ts +29 -29
  57. package/es/components/message-list/message-list-item.js +2 -2
  58. package/es/components/message-list/message-list-item.scss +50 -50
  59. package/es/components/message-list/message-list.d.ts +32 -32
  60. package/es/components/notice-bar/index.d.ts +3 -3
  61. package/es/components/notice-bar/index.scss +29 -29
  62. package/es/components/notice-bar/notice-bar-item.d.ts +18 -18
  63. package/es/components/notice-bar/notice-bar-item.scss +26 -26
  64. package/es/components/notice-bar/notice-bar.d.ts +37 -37
  65. package/es/components/position/entity.d.ts +5 -5
  66. package/es/components/position/index.d.ts +3 -3
  67. package/es/components/position/index.scss +27 -27
  68. package/es/components/position/position-left.d.ts +9 -9
  69. package/es/components/position/position-list.d.ts +12 -12
  70. package/es/components/position/position.d.ts +8 -8
  71. package/es/components/radio-group/index.d.ts +8 -8
  72. package/es/components/radio-group/index.js +2 -2
  73. package/es/components/radio-group/index.scss +40 -40
  74. package/es/components/radio-group/radio-group-item.d.ts +48 -48
  75. package/es/components/radio-group/radio-group.d.ts +52 -52
  76. package/es/components/search-bar/index.d.ts +3 -3
  77. package/es/components/search-bar/index.scss +13 -13
  78. package/es/components/search-bar/search-bar.d.ts +7 -7
  79. package/es/components/swiper/index.d.ts +3 -3
  80. package/es/components/swiper/index.scss +12 -12
  81. package/es/components/swiper/swiper.d.ts +47 -47
  82. package/es/components/tab/index.d.ts +6 -6
  83. package/es/components/tab/index.js +2 -2
  84. package/es/components/tab/index.scss +23 -23
  85. package/es/components/tab/tab.d.ts +23 -23
  86. package/es/components/tab-container/index.d.ts +3 -3
  87. package/es/components/tab-container/index.scss +47 -47
  88. package/es/components/tab-container/tab-container.d.ts +10 -10
  89. package/es/components/tab-container-item/index.d.ts +3 -3
  90. package/es/components/tab-container-item/tab-container-item.d.ts +9 -9
  91. package/es/components/tag/index.d.ts +6 -6
  92. package/es/components/tag/index.js +2 -2
  93. package/es/components/tag/index.scss +24 -24
  94. package/es/components/tag/tag.d.ts +14 -14
  95. package/es/components/teletext-list/index.d.ts +6 -6
  96. package/es/components/teletext-list/index.js +2 -2
  97. package/es/components/teletext-list/index.scss +19 -19
  98. package/es/components/teletext-list/teletext-list-item.d.ts +42 -42
  99. package/es/components/teletext-list/teletext-list-item.js +2 -2
  100. package/es/components/teletext-list/teletext-list-item.scss +55 -55
  101. package/es/components/teletext-list/teletext-list.d.ts +61 -61
  102. package/es/components/teletext-list/teletext-list.js +2 -2
  103. package/es/components/title/index.d.ts +8 -8
  104. package/es/components/title/index.js +2 -2
  105. package/es/components/title/title-1.d.ts +10 -10
  106. package/es/components/title/title-1.scss +25 -25
  107. package/es/components/title/title-2.d.ts +18 -18
  108. package/es/components/title/title-2.scss +22 -22
  109. package/es/index.d.ts +40 -40
  110. package/es/index.scss +5 -5
  111. package/es/utils/children-node-handle.d.ts +9 -9
  112. package/es/utils/children-node-handle.js +7 -7
  113. package/es/utils/component-wrapper.d.ts +9 -9
  114. package/es/utils/debounce.d.ts +1 -1
  115. package/es/variables.d.ts +2 -2
  116. package/es/variables.scss +3 -3
  117. package/lib/components/bottom-navigation/bottom-navigation.d.ts +15 -15
  118. package/lib/components/bottom-navigation/index.d.ts +3 -3
  119. package/lib/components/bottom-navigation/index.scss +24 -24
  120. package/lib/components/button/button.d.ts +14 -14
  121. package/lib/components/button/index.d.ts +6 -6
  122. package/lib/components/button/index.js +2 -2
  123. package/lib/components/button/index.scss +16 -16
  124. package/lib/components/carousel/carousel.d.ts +14 -14
  125. package/lib/components/carousel/carousel.scss +32 -32
  126. package/lib/components/colorful-button/colorful-button.d.ts +12 -12
  127. package/lib/components/colorful-button/index.d.ts +3 -3
  128. package/lib/components/colorful-button/index.scss +5 -5
  129. package/lib/components/colorful-input/colorful-input.d.ts +8 -8
  130. package/lib/components/colorful-input/index.d.ts +3 -3
  131. package/lib/components/colorful-input/index.scss +5 -5
  132. package/lib/components/goods-card-list/goods-card-list.d.ts +5 -5
  133. package/lib/components/goods-card-list/goods-card-list.scss +112 -112
  134. package/lib/components/goods-card-list/index.d.ts +3 -3
  135. package/lib/components/goods-card-list/types.d.ts +45 -45
  136. package/lib/components/grid-nav/grid-nav.d.ts +13 -13
  137. package/lib/components/grid-nav/index.d.ts +3 -3
  138. package/lib/components/grid-nav/index.scss +37 -37
  139. package/lib/components/integral-task/index.d.ts +6 -6
  140. package/lib/components/integral-task/index.js +2 -2
  141. package/lib/components/integral-task/index.scss +35 -35
  142. package/lib/components/integral-task/integral-task.d.ts +40 -40
  143. package/lib/components/menu-list/index.d.ts +6 -6
  144. package/lib/components/menu-list/index.js +2 -2
  145. package/lib/components/menu-list/index.scss +16 -16
  146. package/lib/components/menu-list/menu-list-item.d.ts +5 -5
  147. package/lib/components/menu-list/menu-list-item.scss +49 -49
  148. package/lib/components/menu-list/menu-list.d.ts +5 -5
  149. package/lib/components/menu-list/types.d.ts +23 -23
  150. package/lib/components/message-list/index.d.ts +6 -6
  151. package/lib/components/message-list/index.js +2 -2
  152. package/lib/components/message-list/index.scss +22 -22
  153. package/lib/components/message-list/message-list-item.d.ts +29 -29
  154. package/lib/components/message-list/message-list-item.js +2 -2
  155. package/lib/components/message-list/message-list-item.scss +50 -50
  156. package/lib/components/message-list/message-list.d.ts +32 -32
  157. package/lib/components/notice-bar/index.d.ts +3 -3
  158. package/lib/components/notice-bar/index.scss +29 -29
  159. package/lib/components/notice-bar/notice-bar-item.d.ts +18 -18
  160. package/lib/components/notice-bar/notice-bar-item.scss +26 -26
  161. package/lib/components/notice-bar/notice-bar.d.ts +37 -37
  162. package/lib/components/position/entity.d.ts +5 -5
  163. package/lib/components/position/index.d.ts +3 -3
  164. package/lib/components/position/index.scss +27 -27
  165. package/lib/components/position/position-left.d.ts +9 -9
  166. package/lib/components/position/position-list.d.ts +12 -12
  167. package/lib/components/position/position.d.ts +8 -8
  168. package/lib/components/radio-group/index.d.ts +8 -8
  169. package/lib/components/radio-group/index.scss +40 -40
  170. package/lib/components/radio-group/radio-group-item.d.ts +48 -48
  171. package/lib/components/radio-group/radio-group.d.ts +52 -52
  172. package/lib/components/search-bar/index.d.ts +3 -3
  173. package/lib/components/search-bar/index.scss +13 -13
  174. package/lib/components/search-bar/search-bar.d.ts +7 -7
  175. package/lib/components/swiper/index.d.ts +3 -3
  176. package/lib/components/swiper/index.scss +12 -12
  177. package/lib/components/swiper/swiper.d.ts +47 -47
  178. package/lib/components/tab/index.d.ts +6 -6
  179. package/lib/components/tab/index.js +2 -2
  180. package/lib/components/tab/index.scss +23 -23
  181. package/lib/components/tab/tab.d.ts +23 -23
  182. package/lib/components/tab-container/index.d.ts +3 -3
  183. package/lib/components/tab-container/index.scss +47 -47
  184. package/lib/components/tab-container/tab-container.d.ts +10 -10
  185. package/lib/components/tab-container-item/index.d.ts +3 -3
  186. package/lib/components/tab-container-item/tab-container-item.d.ts +9 -9
  187. package/lib/components/tag/index.d.ts +6 -6
  188. package/lib/components/tag/index.js +2 -2
  189. package/lib/components/tag/index.scss +24 -24
  190. package/lib/components/tag/tag.d.ts +14 -14
  191. package/lib/components/teletext-list/index.d.ts +6 -6
  192. package/lib/components/teletext-list/index.scss +19 -19
  193. package/lib/components/teletext-list/teletext-list-item.d.ts +42 -42
  194. package/lib/components/teletext-list/teletext-list-item.js +2 -2
  195. package/lib/components/teletext-list/teletext-list-item.scss +55 -55
  196. package/lib/components/teletext-list/teletext-list.d.ts +61 -61
  197. package/lib/components/teletext-list/teletext-list.js +2 -2
  198. package/lib/components/title/index.d.ts +8 -8
  199. package/lib/components/title/title-1.d.ts +10 -10
  200. package/lib/components/title/title-1.scss +25 -25
  201. package/lib/components/title/title-2.d.ts +18 -18
  202. package/lib/components/title/title-2.scss +22 -22
  203. package/lib/index.d.ts +40 -40
  204. package/lib/index.scss +5 -5
  205. package/lib/utils/children-node-handle.d.ts +9 -9
  206. package/lib/utils/children-node-handle.js +7 -7
  207. package/lib/utils/component-wrapper.d.ts +9 -9
  208. package/lib/utils/debounce.d.ts +1 -1
  209. package/lib/variables.d.ts +2 -2
  210. package/lib/variables.scss +3 -3
  211. package/lowcode/button2/meta.ts +75 -75
  212. package/lowcode/custom-radio-group/meta.ts +310 -310
  213. package/lowcode/custom-radio-group-item/meta.ts +229 -229
  214. package/lowcode/d-c-slider/meta.design.ts +173 -173
  215. package/lowcode/d-c-slider/meta.ts +342 -342
  216. package/lowcode/d-c-slider/snippets.ts +68 -68
  217. package/lowcode/goods-card-list/meta.ts +268 -268
  218. package/lowcode/grid-nav/meta.ts +212 -212
  219. package/lowcode/integral-task/meta.ts +211 -211
  220. package/lowcode/menu-list/meta.ts +147 -147
  221. package/lowcode/message-list/meta.ts +202 -202
  222. package/lowcode/navigation/meta.ts +173 -173
  223. package/lowcode/notice-bar/meta.ts +229 -229
  224. package/lowcode/position/meta.ts +161 -161
  225. package/lowcode/search-bar/meta.ts +54 -54
  226. package/lowcode/swiper/meta.ts +237 -237
  227. package/lowcode/tab-container/meta.ts +69 -69
  228. package/lowcode/tab-container/props.ts +194 -194
  229. package/lowcode/tab-container-item/meta.ts +195 -195
  230. package/lowcode/tab-message/meta.ts +101 -101
  231. package/lowcode/tag-c/meta.ts +75 -75
  232. package/lowcode/teletext-list/meta.ts +329 -329
  233. package/lowcode/title1/meta.ts +59 -59
  234. package/lowcode/title2/meta.ts +93 -93
  235. package/lowcode_es/button2/meta.d.ts +22 -22
  236. package/lowcode_es/custom-radio-group/meta.d.ts +22 -0
  237. package/lowcode_es/custom-radio-group/meta.js +294 -0
  238. package/lowcode_es/custom-radio-group-item/meta.d.ts +23 -0
  239. package/lowcode_es/custom-radio-group-item/meta.js +205 -0
  240. package/lowcode_es/d-c-slider/meta.d.ts +148 -148
  241. package/lowcode_es/d-c-slider/meta.design.d.ts +100 -100
  242. package/lowcode_es/d-c-slider/snippets.d.ts +36 -36
  243. package/lowcode_es/goods-card-list/meta.d.ts +22 -0
  244. package/lowcode_es/goods-card-list/meta.js +250 -0
  245. package/lowcode_es/grid-nav/meta.d.ts +22 -22
  246. package/lowcode_es/integral-task/meta.d.ts +22 -22
  247. package/lowcode_es/menu-list/meta.d.ts +22 -22
  248. package/lowcode_es/message-list/meta.d.ts +22 -22
  249. package/lowcode_es/message-list/meta.js +4 -9
  250. package/lowcode_es/meta.js +23 -20
  251. package/lowcode_es/navigation/meta.d.ts +22 -22
  252. package/lowcode_es/notice-bar/meta.d.ts +22 -22
  253. package/lowcode_es/notice-bar/meta.js +16 -13
  254. package/lowcode_es/position/meta.d.ts +22 -22
  255. package/lowcode_es/search-bar/meta.d.ts +22 -22
  256. package/lowcode_es/swiper/meta.d.ts +22 -22
  257. package/lowcode_es/tab-container/meta.d.ts +22 -22
  258. package/lowcode_es/tab-container/props.d.ts +90 -90
  259. package/lowcode_es/tab-container-item/meta.d.ts +22 -22
  260. package/lowcode_es/tab-message/meta.d.ts +22 -22
  261. package/lowcode_es/tag-c/meta.d.ts +22 -22
  262. package/lowcode_es/teletext-list/meta.d.ts +22 -22
  263. package/lowcode_es/title1/meta.d.ts +22 -22
  264. package/lowcode_es/title2/meta.d.ts +22 -22
  265. package/lowcode_es/view.js +3 -3
  266. package/lowcode_lib/button2/meta.d.ts +22 -22
  267. package/lowcode_lib/custom-radio-group/meta.d.ts +22 -0
  268. package/lowcode_lib/custom-radio-group/meta.js +299 -0
  269. package/lowcode_lib/custom-radio-group-item/meta.d.ts +23 -0
  270. package/lowcode_lib/custom-radio-group-item/meta.js +210 -0
  271. package/lowcode_lib/d-c-slider/meta.d.ts +148 -148
  272. package/lowcode_lib/d-c-slider/meta.design.d.ts +100 -100
  273. package/lowcode_lib/d-c-slider/snippets.d.ts +36 -36
  274. package/lowcode_lib/goods-card-list/meta.d.ts +22 -0
  275. package/lowcode_lib/goods-card-list/meta.js +255 -0
  276. package/lowcode_lib/grid-nav/meta.d.ts +22 -22
  277. package/lowcode_lib/integral-task/meta.d.ts +22 -22
  278. package/lowcode_lib/menu-list/meta.d.ts +22 -22
  279. package/lowcode_lib/message-list/meta.d.ts +22 -22
  280. package/lowcode_lib/message-list/meta.js +4 -9
  281. package/lowcode_lib/meta.js +23 -20
  282. package/lowcode_lib/navigation/meta.d.ts +22 -22
  283. package/lowcode_lib/notice-bar/meta.d.ts +22 -22
  284. package/lowcode_lib/notice-bar/meta.js +16 -13
  285. package/lowcode_lib/position/meta.d.ts +22 -22
  286. package/lowcode_lib/search-bar/meta.d.ts +22 -22
  287. package/lowcode_lib/swiper/meta.d.ts +22 -22
  288. package/lowcode_lib/tab-container/meta.d.ts +22 -22
  289. package/lowcode_lib/tab-container/props.d.ts +90 -90
  290. package/lowcode_lib/tab-container-item/meta.d.ts +22 -22
  291. package/lowcode_lib/tab-message/meta.d.ts +22 -22
  292. package/lowcode_lib/tag-c/meta.d.ts +22 -22
  293. package/lowcode_lib/teletext-list/meta.d.ts +22 -22
  294. package/lowcode_lib/title1/meta.d.ts +22 -22
  295. package/lowcode_lib/title2/meta.d.ts +22 -22
  296. package/lowcode_lib/view.js +2 -2
  297. package/package.json +4 -4
@@ -1,194 +1,194 @@
1
- export default [
2
- {
3
- name: 'items',
4
- title: '标签项',
5
- setter: {
6
- componentName: 'ArraySetter',
7
- props: {
8
- itemSetter: {
9
- componentName: 'ObjectSetter',
10
- props: {
11
- config: {
12
- items: [
13
- {
14
- name: 'title',
15
- title: '名称',
16
- defaultValue: '标签项',
17
- important: true,
18
- setter: 'StringSetter',
19
- },
20
- {
21
- name: 'primaryKey',
22
- title: '项目编号',
23
- condition: () => false,
24
- setter: 'StringSetter',
25
- },
26
- {
27
- name: 'closeable',
28
- title: '可关闭',
29
- initialValue: false,
30
- setter: 'BoolSetter',
31
- },
32
- {
33
- name: 'disabled',
34
- title: '是否禁用',
35
- initialValue: false,
36
- setter: 'BoolSetter',
37
- },
38
- ],
39
- },
40
- },
41
- initialValue: () => {
42
- return {
43
- primaryKey: String(Math.floor(Math.random() * 10000)),
44
- title: '标签项',
45
- closeable: false,
46
- disabled: false,
47
- };
48
- },
49
- },
50
- },
51
- },
52
- extraProps: {
53
- getValue(target) {
54
- const map = target.node.children.map((child) => {
55
- const primaryKey = child.getPropValue('primaryKey')
56
- ? String(child.getPropValue('primaryKey'))
57
- : child.id;
58
- return {
59
- primaryKey,
60
- title: child.getPropValue('title') || '标签项',
61
- closeable: child.getPropValue('closeable'),
62
- disabled: child.getPropValue('disabled'),
63
- };
64
- });
65
- return map;
66
- },
67
- setValue(target, value) {
68
- const { node } = target;
69
- const map = {};
70
- if (!Array.isArray(value)) {
71
- value = [];
72
- }
73
- value.forEach((item) => {
74
- const tabitem = Object.assign({}, item);
75
- map[item.primaryKey] = tabitem;
76
- });
77
-
78
- node.children.mergeChildren(
79
- (child) => {
80
- const primaryKey = String(child.getPropValue('primaryKey'));
81
- if (Object.hasOwnProperty.call(map, primaryKey)) {
82
- child.setPropValue('title', map[primaryKey].title);
83
- child.setPropValue('closeable', map[primaryKey].closeable);
84
- child.setPropValue('disabled', map[primaryKey].disabled);
85
- delete map[primaryKey];
86
- return false;
87
- }
88
- return true;
89
- },
90
- () => {
91
- const items: any = [];
92
- for (const primaryKey in map) {
93
- if (Object.hasOwnProperty.call(map, primaryKey)) {
94
- items.push({
95
- componentName: 'TabContainerItem',
96
- props: map[primaryKey],
97
- });
98
- }
99
- }
100
- return items;
101
- },
102
- (child1, child2) => {
103
- const a = value.findIndex(
104
- (item) => String(item.primaryKey) === String(child1.getPropValue('primaryKey')),
105
- );
106
- const b = value.findIndex(
107
- (item) => String(item.primaryKey) === String(child2.getPropValue('primaryKey')),
108
- );
109
- return a - b;
110
- },
111
- );
112
- },
113
- },
114
- },
115
- {
116
- name: 'shape',
117
- title: '形态',
118
- defaultValue: 'pure',
119
- setter: {
120
- componentName: 'RadioGroupSetter',
121
- props: {
122
- options: [
123
- { title: '普通型', value: 'pure' },
124
- { title: '包裹型', value: 'wrapped' },
125
- { title: '文本型', value: 'text' },
126
- { title: '胶囊型', value: 'capsule' },
127
- ],
128
- },
129
- },
130
- },
131
- {
132
- name: 'size',
133
- title: '尺寸',
134
- defaultValue: 'medium',
135
- setter: {
136
- componentName: 'RadioGroupSetter',
137
- props: {
138
- options: [
139
- { title: '小', value: 'small' },
140
- { title: '中', value: 'medium' },
141
- ],
142
- },
143
- },
144
- },
145
- {
146
- name: 'excessMode',
147
- title: '选项卡过多时的滑动模式',
148
- defaultValue: 'slide',
149
- setter: {
150
- componentName: 'RadioGroupSetter',
151
- props: {
152
- options: [
153
- { title: '滑动', value: 'slide' },
154
- { title: '下拉', value: 'dropdown' },
155
- ],
156
- },
157
- },
158
- },
159
- {
160
- name: 'tabPosition',
161
- title: {
162
- label: '导航选项卡的位置',
163
- tip: '只适用于包裹型(wrapped)选项卡',
164
- },
165
- condition: (target) => {
166
- const shape = target.getProps().getPropValue('shape');
167
- return shape === 'wrapped';
168
- },
169
- defaultValue: 'top',
170
- setter: {
171
- componentName: 'RadioGroupSetter',
172
- props: {
173
- options: [
174
- {
175
- title: '顶部',
176
- value: 'top',
177
- },
178
- {
179
- title: '底部',
180
- value: 'bottom',
181
- },
182
- {
183
- title: '左边',
184
- value: 'left',
185
- },
186
- {
187
- title: '右边',
188
- value: 'right',
189
- },
190
- ],
191
- },
192
- },
193
- },
194
- ];
1
+ export default [
2
+ {
3
+ name: 'items',
4
+ title: '标签项',
5
+ setter: {
6
+ componentName: 'ArraySetter',
7
+ props: {
8
+ itemSetter: {
9
+ componentName: 'ObjectSetter',
10
+ props: {
11
+ config: {
12
+ items: [
13
+ {
14
+ name: 'title',
15
+ title: '名称',
16
+ defaultValue: '标签项',
17
+ important: true,
18
+ setter: 'StringSetter',
19
+ },
20
+ {
21
+ name: 'primaryKey',
22
+ title: '项目编号',
23
+ condition: () => false,
24
+ setter: 'StringSetter',
25
+ },
26
+ {
27
+ name: 'closeable',
28
+ title: '可关闭',
29
+ initialValue: false,
30
+ setter: 'BoolSetter',
31
+ },
32
+ {
33
+ name: 'disabled',
34
+ title: '是否禁用',
35
+ initialValue: false,
36
+ setter: 'BoolSetter',
37
+ },
38
+ ],
39
+ },
40
+ },
41
+ initialValue: () => {
42
+ return {
43
+ primaryKey: String(Math.floor(Math.random() * 10000)),
44
+ title: '标签项',
45
+ closeable: false,
46
+ disabled: false,
47
+ };
48
+ },
49
+ },
50
+ },
51
+ },
52
+ extraProps: {
53
+ getValue(target) {
54
+ const map = target.node.children.map((child) => {
55
+ const primaryKey = child.getPropValue('primaryKey')
56
+ ? String(child.getPropValue('primaryKey'))
57
+ : child.id;
58
+ return {
59
+ primaryKey,
60
+ title: child.getPropValue('title') || '标签项',
61
+ closeable: child.getPropValue('closeable'),
62
+ disabled: child.getPropValue('disabled'),
63
+ };
64
+ });
65
+ return map;
66
+ },
67
+ setValue(target, value) {
68
+ const { node } = target;
69
+ const map = {};
70
+ if (!Array.isArray(value)) {
71
+ value = [];
72
+ }
73
+ value.forEach((item) => {
74
+ const tabitem = Object.assign({}, item);
75
+ map[item.primaryKey] = tabitem;
76
+ });
77
+
78
+ node.children.mergeChildren(
79
+ (child) => {
80
+ const primaryKey = String(child.getPropValue('primaryKey'));
81
+ if (Object.hasOwnProperty.call(map, primaryKey)) {
82
+ child.setPropValue('title', map[primaryKey].title);
83
+ child.setPropValue('closeable', map[primaryKey].closeable);
84
+ child.setPropValue('disabled', map[primaryKey].disabled);
85
+ delete map[primaryKey];
86
+ return false;
87
+ }
88
+ return true;
89
+ },
90
+ () => {
91
+ const items: any = [];
92
+ for (const primaryKey in map) {
93
+ if (Object.hasOwnProperty.call(map, primaryKey)) {
94
+ items.push({
95
+ componentName: 'TabContainerItem',
96
+ props: map[primaryKey],
97
+ });
98
+ }
99
+ }
100
+ return items;
101
+ },
102
+ (child1, child2) => {
103
+ const a = value.findIndex(
104
+ (item) => String(item.primaryKey) === String(child1.getPropValue('primaryKey')),
105
+ );
106
+ const b = value.findIndex(
107
+ (item) => String(item.primaryKey) === String(child2.getPropValue('primaryKey')),
108
+ );
109
+ return a - b;
110
+ },
111
+ );
112
+ },
113
+ },
114
+ },
115
+ {
116
+ name: 'shape',
117
+ title: '形态',
118
+ defaultValue: 'pure',
119
+ setter: {
120
+ componentName: 'RadioGroupSetter',
121
+ props: {
122
+ options: [
123
+ { title: '普通型', value: 'pure' },
124
+ { title: '包裹型', value: 'wrapped' },
125
+ { title: '文本型', value: 'text' },
126
+ { title: '胶囊型', value: 'capsule' },
127
+ ],
128
+ },
129
+ },
130
+ },
131
+ {
132
+ name: 'size',
133
+ title: '尺寸',
134
+ defaultValue: 'medium',
135
+ setter: {
136
+ componentName: 'RadioGroupSetter',
137
+ props: {
138
+ options: [
139
+ { title: '小', value: 'small' },
140
+ { title: '中', value: 'medium' },
141
+ ],
142
+ },
143
+ },
144
+ },
145
+ {
146
+ name: 'excessMode',
147
+ title: '选项卡过多时的滑动模式',
148
+ defaultValue: 'slide',
149
+ setter: {
150
+ componentName: 'RadioGroupSetter',
151
+ props: {
152
+ options: [
153
+ { title: '滑动', value: 'slide' },
154
+ { title: '下拉', value: 'dropdown' },
155
+ ],
156
+ },
157
+ },
158
+ },
159
+ {
160
+ name: 'tabPosition',
161
+ title: {
162
+ label: '导航选项卡的位置',
163
+ tip: '只适用于包裹型(wrapped)选项卡',
164
+ },
165
+ condition: (target) => {
166
+ const shape = target.getProps().getPropValue('shape');
167
+ return shape === 'wrapped';
168
+ },
169
+ defaultValue: 'top',
170
+ setter: {
171
+ componentName: 'RadioGroupSetter',
172
+ props: {
173
+ options: [
174
+ {
175
+ title: '顶部',
176
+ value: 'top',
177
+ },
178
+ {
179
+ title: '底部',
180
+ value: 'bottom',
181
+ },
182
+ {
183
+ title: '左边',
184
+ value: 'left',
185
+ },
186
+ {
187
+ title: '右边',
188
+ value: 'right',
189
+ },
190
+ ],
191
+ },
192
+ },
193
+ },
194
+ ];