goblin-gadgets 3.2.2 → 3.2.3

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 (361) hide show
  1. package/.editorconfig +9 -9
  2. package/.eslintrc.js +28 -28
  3. package/.zou-flow +2 -2
  4. package/builders/builders.js +5 -5
  5. package/builders/gadget.js +85 -85
  6. package/calendar-boards-gadget.js +64 -64
  7. package/demo-gadget.js +17 -17
  8. package/glyphs-dialog.js +13 -13
  9. package/login-dialog.js +13 -13
  10. package/package.json +46 -46
  11. package/pivot-gadget.js +18 -18
  12. package/stack-navigation.js +13 -13
  13. package/table-gadget.js +102 -102
  14. package/test/code-parser.spec.js +61 -61
  15. package/tree-gadget.js +70 -70
  16. package/types/types.js +455 -455
  17. package/widgets/accordion/styles.js +16 -16
  18. package/widgets/accordion/widget.js +90 -90
  19. package/widgets/analog-clock/props.js +102 -102
  20. package/widgets/analog-clock/scenarios.js +43 -43
  21. package/widgets/analog-clock/styles.js +754 -754
  22. package/widgets/analog-clock/widget.js +404 -404
  23. package/widgets/animated-container/animations.js +566 -566
  24. package/widgets/animated-container/styles.js +36 -36
  25. package/widgets/animated-container/widget.js +24 -24
  26. package/widgets/badge/styles.js +107 -107
  27. package/widgets/badge/widget.js +33 -33
  28. package/widgets/button/props.js +377 -377
  29. package/widgets/button/scenarios.js +54 -54
  30. package/widgets/button/styles.js +1082 -1082
  31. package/widgets/button/widget.js +426 -426
  32. package/widgets/button-combo/styles.js +73 -73
  33. package/widgets/button-combo/widget.js +297 -297
  34. package/widgets/calendar/props.js +207 -207
  35. package/widgets/calendar/scenarios.js +50 -50
  36. package/widgets/calendar/styles.js +198 -198
  37. package/widgets/calendar/widget.js +895 -895
  38. package/widgets/calendar-boards/styles.js +29 -29
  39. package/widgets/calendar-boards/widget.js +215 -215
  40. package/widgets/calendar-button/styles.js +273 -273
  41. package/widgets/calendar-button/widget.js +94 -94
  42. package/widgets/calendar-list/styles.js +35 -35
  43. package/widgets/calendar-list/widget.js +223 -223
  44. package/widgets/calendar-recurrence/widget.js +183 -183
  45. package/widgets/carousel/props.js +104 -104
  46. package/widgets/carousel/scenarios.js +163 -163
  47. package/widgets/carousel/styles.js +133 -133
  48. package/widgets/carousel/widget.js +491 -491
  49. package/widgets/carousel-bullet/styles.js +29 -29
  50. package/widgets/carousel-bullet/widget.js +25 -25
  51. package/widgets/carousel-button/styles.js +71 -71
  52. package/widgets/carousel-button/widget.js +33 -33
  53. package/widgets/carousel-item/styles.js +21 -21
  54. package/widgets/carousel-item/widget.js +24 -24
  55. package/widgets/chat-balloon/props.js +65 -65
  56. package/widgets/chat-balloon/scenarios.js +47 -47
  57. package/widgets/chat-balloon/styles.js +193 -193
  58. package/widgets/chat-balloon/widget.js +62 -62
  59. package/widgets/chat-dialog/styles.js +15 -15
  60. package/widgets/chat-dialog/widget.js +62 -62
  61. package/widgets/check-list/styles.js +66 -66
  62. package/widgets/check-list/widget.js +168 -168
  63. package/widgets/checkbox/widget.js +15 -15
  64. package/widgets/checkbox-nc/props.js +191 -191
  65. package/widgets/checkbox-nc/scenarios.js +41 -41
  66. package/widgets/checkbox-nc/styles.js +122 -122
  67. package/widgets/checkbox-nc/widget.js +116 -116
  68. package/widgets/clock-combo/styles.js +174 -174
  69. package/widgets/clock-combo/widget.js +390 -390
  70. package/widgets/color-picker/props.js +145 -145
  71. package/widgets/color-picker/scenarios.js +34 -34
  72. package/widgets/color-picker/styles.js +209 -209
  73. package/widgets/color-picker/widget.js +735 -735
  74. package/widgets/colored-container/props.js +34 -34
  75. package/widgets/colored-container/scenarios.js +54 -54
  76. package/widgets/colored-container/styles.js +100 -100
  77. package/widgets/colored-container/widget.js +27 -27
  78. package/widgets/combo/styles.js +69 -69
  79. package/widgets/combo/widget.js +224 -224
  80. package/widgets/combo-container/styles.js +66 -66
  81. package/widgets/combo-container/widget.js +188 -188
  82. package/widgets/command-button/widget.js +39 -39
  83. package/widgets/container/props.js +295 -295
  84. package/widgets/container/scenarios.js +47 -47
  85. package/widgets/container/styles.js +1439 -1439
  86. package/widgets/container/widget.js +279 -279
  87. package/widgets/demo/widget.js +24 -24
  88. package/widgets/dialog/styles.js +29 -29
  89. package/widgets/dialog/widget.js +26 -26
  90. package/widgets/dialog-modal/props.js +126 -126
  91. package/widgets/dialog-modal/styles.js +234 -234
  92. package/widgets/dialog-modal/widget.js +273 -273
  93. package/widgets/dialog-resizable/props.js +1 -1
  94. package/widgets/dialog-resizable/scenarios.js +18 -18
  95. package/widgets/dialog-resizable/widget.js +367 -367
  96. package/widgets/dialog-resizable-nc/props.js +150 -150
  97. package/widgets/dialog-resizable-nc/scenarios.js +18 -18
  98. package/widgets/dialog-resizable-nc/styles.js +259 -259
  99. package/widgets/dialog-resizable-nc/widget.js +197 -197
  100. package/widgets/directory-input/widget.js +18 -18
  101. package/widgets/directory-input-nc/widget.js +20 -20
  102. package/widgets/document-container/getPath.js +43 -43
  103. package/widgets/document-container/props.js +79 -79
  104. package/widgets/document-container/scenarios.js +39 -39
  105. package/widgets/document-container/styles.js +69 -69
  106. package/widgets/document-container/widget.js +53 -53
  107. package/widgets/drag-cab/styles.js +56 -56
  108. package/widgets/drag-cab/widget.js +285 -285
  109. package/widgets/drag-carrier/styles.js +21 -21
  110. package/widgets/drag-carrier/widget.js +780 -780
  111. package/widgets/dynamic-toolbar/styles.js +110 -110
  112. package/widgets/dynamic-toolbar/widget.js +128 -128
  113. package/widgets/field/readonly/label.js +39 -39
  114. package/widgets/field/widget.js +1743 -1743
  115. package/widgets/file-input/widget.js +18 -18
  116. package/widgets/file-input-nc/styles.js +38 -38
  117. package/widgets/file-input-nc/widget.js +88 -88
  118. package/widgets/flat-combo/styles.js +21 -21
  119. package/widgets/flat-combo/widget.js +61 -61
  120. package/widgets/flat-list/styles.js +30 -30
  121. package/widgets/flat-list/widget.js +219 -219
  122. package/widgets/flying-balloon/styles.js +52 -52
  123. package/widgets/flying-balloon/widget.js +43 -43
  124. package/widgets/fragment/widget.js +26 -26
  125. package/widgets/full-screen/props.js +27 -27
  126. package/widgets/full-screen/styles.js +32 -32
  127. package/widgets/full-screen/widget.js +40 -40
  128. package/widgets/gauge/props.js +71 -71
  129. package/widgets/gauge/scenarios.js +83 -83
  130. package/widgets/gauge/styles.js +183 -183
  131. package/widgets/gauge/widget.js +36 -36
  132. package/widgets/glyph-detail/service.js +9 -9
  133. package/widgets/glyph-detail/widget.js +109 -109
  134. package/widgets/glyphs-dialog/service.js +94 -94
  135. package/widgets/glyphs-dialog/styles.js +37 -37
  136. package/widgets/glyphs-dialog/widget.js +236 -236
  137. package/widgets/goblin-editor/widget.js +146 -146
  138. package/widgets/guild-entry/props.js +53 -53
  139. package/widgets/guild-entry/scenarios.js +26 -26
  140. package/widgets/guild-entry/styles.js +98 -98
  141. package/widgets/guild-entry/widget.js +126 -126
  142. package/widgets/guild-user-logo/guild-helpers.js +77 -77
  143. package/widgets/guild-user-logo/props.js +48 -48
  144. package/widgets/guild-user-logo/scenarios.js +64 -64
  145. package/widgets/guild-user-logo/styles.js +114 -114
  146. package/widgets/guild-user-logo/widget.js +81 -81
  147. package/widgets/guild-user-profile/props.js +73 -73
  148. package/widgets/guild-user-profile/scenarios.js +54 -54
  149. package/widgets/guild-user-profile/styles.js +162 -162
  150. package/widgets/guild-user-profile/widget.js +202 -202
  151. package/widgets/helpers/combo-helpers.js +218 -218
  152. package/widgets/helpers/geom-helpers.js +80 -80
  153. package/widgets/helpers/rect-helpers.js +10 -10
  154. package/widgets/helpers/shortcut-helpers.js +56 -56
  155. package/widgets/helpers/spacing-helpers.js +26 -26
  156. package/widgets/helpers/svg-helpers.js +151 -151
  157. package/widgets/helpers/table-helpers.js +68 -68
  158. package/widgets/hinter/styles.js +79 -79
  159. package/widgets/hinter/widget.js +205 -205
  160. package/widgets/hinter-column/widget.js +49 -49
  161. package/widgets/hinter-field/reducer.js +18 -18
  162. package/widgets/hinter-field/widget.js +176 -176
  163. package/widgets/hinter-field-nc/props.js +114 -114
  164. package/widgets/hinter-field-nc/scenarios.js +47 -47
  165. package/widgets/hinter-field-nc/widget.js +191 -191
  166. package/widgets/input-wrapper/widget.js +157 -157
  167. package/widgets/key-trap.js +96 -96
  168. package/widgets/label/props.js +1 -1
  169. package/widgets/label/scenarios.js +1 -1
  170. package/widgets/label/widget.js +7 -7
  171. package/widgets/label-nc/props.js +308 -308
  172. package/widgets/label-nc/scenarios.js +29 -29
  173. package/widgets/label-nc/styles.js +1218 -1218
  174. package/widgets/label-nc/widget.js +314 -314
  175. package/widgets/label-row/props.js +1 -1
  176. package/widgets/label-row/scenarios.js +1 -1
  177. package/widgets/label-row/widget.js +7 -7
  178. package/widgets/label-row-nc/props.js +94 -94
  179. package/widgets/label-row-nc/scenarios.js +46 -46
  180. package/widgets/label-row-nc/widget.js +81 -81
  181. package/widgets/label-text-field/styles.js +55 -55
  182. package/widgets/label-text-field/widget.js +178 -178
  183. package/widgets/launcher/props.js +177 -177
  184. package/widgets/launcher/scenarios.js +55 -55
  185. package/widgets/launcher/styles.js +46 -46
  186. package/widgets/launcher/widget.js +79 -79
  187. package/widgets/launcher-blob/props.js +25 -25
  188. package/widgets/launcher-blob/scenarios.js +24 -24
  189. package/widgets/launcher-blob/styles.js +62 -62
  190. package/widgets/launcher-blob/widget.js +50 -50
  191. package/widgets/list/widget.js +211 -211
  192. package/widgets/login-dialog/service.js +117 -117
  193. package/widgets/login-dialog/widget.js +117 -117
  194. package/widgets/map/reaflet.js +208 -208
  195. package/widgets/map/widget.js +67 -67
  196. package/widgets/markdown/styles.js +85 -85
  197. package/widgets/markdown/widget.js +31 -31
  198. package/widgets/notification/styles.js +97 -97
  199. package/widgets/notification/widget.js +207 -207
  200. package/widgets/pivot/custom.css +320 -320
  201. package/widgets/pivot/widget.js +42 -42
  202. package/widgets/radio-list/styles.js +48 -48
  203. package/widgets/radio-list/widget.js +111 -111
  204. package/widgets/resizable-container/styles.js +108 -108
  205. package/widgets/resizable-container/widget.js +225 -225
  206. package/widgets/retro-action-button/helpers.js +106 -106
  207. package/widgets/retro-action-button/styles.js +285 -285
  208. package/widgets/retro-action-button/widget.js +364 -364
  209. package/widgets/retro-badge-button/styles.js +87 -87
  210. package/widgets/retro-badge-button/widget.js +251 -251
  211. package/widgets/retro-gear/helpers.js +156 -156
  212. package/widgets/retro-gear/styles.js +130 -130
  213. package/widgets/retro-gear/widget.js +51 -51
  214. package/widgets/retro-illuminated-button/styles.js +274 -274
  215. package/widgets/retro-illuminated-button/widget.js +147 -147
  216. package/widgets/retro-panel/helpers.js +57 -57
  217. package/widgets/retro-panel/styles.js +293 -293
  218. package/widgets/retro-panel/widget.js +239 -239
  219. package/widgets/retro-screw/styles.js +80 -80
  220. package/widgets/retro-screw/widget.js +25 -25
  221. package/widgets/rocket/props.js +124 -124
  222. package/widgets/rocket/scenarios.js +71 -71
  223. package/widgets/rocket/styles.js +306 -306
  224. package/widgets/rocket/widget.js +225 -225
  225. package/widgets/samples-monitor/helpers.js +147 -147
  226. package/widgets/samples-monitor/styles.js +529 -529
  227. package/widgets/samples-monitor/widget.js +516 -516
  228. package/widgets/scrollable-container/styles.js +58 -58
  229. package/widgets/scrollable-container/widget.js +132 -132
  230. package/widgets/scrollable-linkable-container/reducer.js +18 -18
  231. package/widgets/scrollable-linkable-container/styles.js +42 -42
  232. package/widgets/scrollable-linkable-container/widget.js +78 -78
  233. package/widgets/select/styles.js +68 -68
  234. package/widgets/select/widget.js +119 -119
  235. package/widgets/separator/props.js +46 -46
  236. package/widgets/separator/styles.js +116 -116
  237. package/widgets/separator/widget.js +27 -27
  238. package/widgets/slider/props.js +136 -136
  239. package/widgets/slider/scenarios.js +74 -74
  240. package/widgets/slider/styles.js +246 -246
  241. package/widgets/slider/widget.js +404 -404
  242. package/widgets/slider-circle/props.js +72 -72
  243. package/widgets/slider-circle/scenarios.js +16 -16
  244. package/widgets/slider-circle/styles.js +78 -78
  245. package/widgets/slider-circle/widget.js +154 -154
  246. package/widgets/slider-xy/props.js +87 -87
  247. package/widgets/slider-xy/scenarios.js +19 -19
  248. package/widgets/slider-xy/styles.js +102 -102
  249. package/widgets/slider-xy/widget.js +234 -234
  250. package/widgets/smiley/props.js +51 -51
  251. package/widgets/smiley/scenarios.js +58 -58
  252. package/widgets/smiley/styles.js +489 -489
  253. package/widgets/smiley/widget.js +72 -72
  254. package/widgets/spinner/props.js +31 -31
  255. package/widgets/spinner/scenarios.js +31 -31
  256. package/widgets/spinner/styles.js +49 -49
  257. package/widgets/spinner/widget.js +23 -23
  258. package/widgets/splitter/props.js +71 -71
  259. package/widgets/splitter/scenarios.js +182 -182
  260. package/widgets/splitter/styles.js +41 -41
  261. package/widgets/splitter/widget.js +455 -455
  262. package/widgets/stack-navigation/service.js +324 -324
  263. package/widgets/stack-navigation/widget.js +296 -296
  264. package/widgets/state-browser/styles.js +19 -19
  265. package/widgets/state-browser/widget.js +135 -135
  266. package/widgets/state-browser-dialog/styles.js +100 -100
  267. package/widgets/state-browser-dialog/widget.js +253 -253
  268. package/widgets/state-monitor/styles.js +50 -50
  269. package/widgets/state-monitor/widget.js +324 -324
  270. package/widgets/switch-on-off/props.js +30 -30
  271. package/widgets/switch-on-off/scenarios.js +34 -34
  272. package/widgets/switch-on-off/styles.js +63 -63
  273. package/widgets/switch-on-off/widget.js +41 -41
  274. package/widgets/table/helpers.js +160 -160
  275. package/widgets/table/props.js +658 -658
  276. package/widgets/table/reducer.js +196 -196
  277. package/widgets/table/scenarios.js +54 -54
  278. package/widgets/table/widget.js +253 -253
  279. package/widgets/table-cell/props.js +145 -145
  280. package/widgets/table-cell/styles.js +160 -160
  281. package/widgets/table-cell/widget.js +139 -139
  282. package/widgets/table-header-drag-manager/styles.js +184 -184
  283. package/widgets/table-header-drag-manager/widget.js +392 -392
  284. package/widgets/table-nc/styles.js +100 -100
  285. package/widgets/table-nc/widget.js +409 -409
  286. package/widgets/table-row/props.js +73 -73
  287. package/widgets/table-row/styles.js +82 -82
  288. package/widgets/table-row/widget.js +207 -207
  289. package/widgets/text-field/widget.js +18 -18
  290. package/widgets/text-field-combo/widget.js +21 -21
  291. package/widgets/text-field-combo-nc/props.js +300 -300
  292. package/widgets/text-field-combo-nc/scenarios.js +72 -72
  293. package/widgets/text-field-combo-nc/widget.js +339 -339
  294. package/widgets/text-field-date-interval/styles.js +37 -37
  295. package/widgets/text-field-date-interval/widget.js +162 -162
  296. package/widgets/text-field-nc/props.js +40 -40
  297. package/widgets/text-field-nc/scenarios.js +67 -67
  298. package/widgets/text-field-nc/widget.js +14 -14
  299. package/widgets/text-field-time-interval/styles.js +37 -37
  300. package/widgets/text-field-time-interval/widget.js +160 -160
  301. package/widgets/text-field-typed/widget.js +51 -51
  302. package/widgets/text-field-typed-nc/props.js +81 -81
  303. package/widgets/text-field-typed-nc/scenarios.js +105 -105
  304. package/widgets/text-field-typed-nc/styles.js +20 -20
  305. package/widgets/text-field-typed-nc/widget.js +749 -750
  306. package/widgets/text-input-info-nc/props.js +62 -62
  307. package/widgets/text-input-info-nc/widget.js +55 -55
  308. package/widgets/text-input-nc/props.js +143 -143
  309. package/widgets/text-input-nc/scenarios.js +44 -44
  310. package/widgets/text-input-nc/styles.js +242 -242
  311. package/widgets/text-input-nc/widget.js +234 -234
  312. package/widgets/ticket/getPath.js +128 -128
  313. package/widgets/ticket/props.js +181 -181
  314. package/widgets/ticket/scenarios.js +39 -39
  315. package/widgets/ticket/styles.js +332 -332
  316. package/widgets/ticket/ticket-helpers.js +33 -33
  317. package/widgets/ticket/widget.js +348 -348
  318. package/widgets/ticket-hover/styles.js +207 -207
  319. package/widgets/ticket-hover/widget.js +53 -53
  320. package/widgets/time-gauge/widget.js +64 -64
  321. package/widgets/tips/styles.js +48 -48
  322. package/widgets/tips/widget.js +171 -171
  323. package/widgets/translatable-text-field/styles.js +202 -202
  324. package/widgets/translatable-text-field/text-field.js +132 -132
  325. package/widgets/translatable-text-field/widget.js +660 -660
  326. package/widgets/tree/props.js +246 -246
  327. package/widgets/tree/scenarios.js +14 -14
  328. package/widgets/tree/styles.js +142 -142
  329. package/widgets/tree/widget.js +383 -383
  330. package/widgets/tree-cell/styles.js +140 -140
  331. package/widgets/tree-cell/widget.js +100 -100
  332. package/widgets/tree-row/styles.js +77 -77
  333. package/widgets/tree-row/widget.js +135 -135
  334. package/widgets/triangle/props.js +48 -48
  335. package/widgets/triangle/scenarios.js +33 -33
  336. package/widgets/triangle/styles.js +92 -92
  337. package/widgets/triangle/widget.js +36 -36
  338. package/widgets/well-done/widget.js +170 -170
  339. package/widgets/widget-doc/reducer.js +68 -68
  340. package/widgets/widget-doc/styles.js +15 -15
  341. package/widgets/widget-doc/widget-list.js +25 -25
  342. package/widgets/widget-doc/widget.js +89 -89
  343. package/widgets/widget-doc-menu/styles.js +12 -12
  344. package/widgets/widget-doc-menu/widget.js +79 -79
  345. package/widgets/widget-doc-preview/parse-code.js +20 -20
  346. package/widgets/widget-doc-preview/styles.js +77 -77
  347. package/widgets/widget-doc-preview/widget.js +481 -481
  348. package/widgets/widget-doc-preview-container/styles.js +60 -60
  349. package/widgets/widget-doc-preview-container/widget.js +129 -129
  350. package/widgets/widget-doc-properties/styles.js +41 -41
  351. package/widgets/widget-doc-properties/widget.js +307 -307
  352. package/widgets/widget-doc-property/styles.js +75 -75
  353. package/widgets/widget-doc-property/widget.js +108 -108
  354. package/widgets/widget-doc-property-control/styles.js +14 -14
  355. package/widgets/widget-doc-property-control/widget.js +343 -343
  356. package/widgets/wizard/service.js +2132 -2132
  357. package/widgets/wizard/styles.js +21 -21
  358. package/widgets/wizard/widget.js +927 -927
  359. package/widgets/work-dialog/styles.js +31 -31
  360. package/widgets/work-dialog/widget.js +162 -162
  361. package/wizard.js +13 -13
@@ -1,658 +1,658 @@
1
- import {types, addType} from 'goblin-gadgets/types/types.js';
2
- import PropTypes from 'prop-types';
3
- import Shredder from 'xcraft-core-shredder';
4
-
5
- /******************************************************************************/
6
-
7
- const t1 = {
8
- header: [
9
- {
10
- name: 'content',
11
- description: 'Type',
12
- width: '100px',
13
- textAlign: 'left',
14
- },
15
- {
16
- name: 'dimensions',
17
- description: 'Dimensions',
18
- width: '200px',
19
- textAlign: 'left',
20
- },
21
- {
22
- name: 'weight',
23
- description: 'Poids',
24
- width: '100px',
25
- textAlign: 'right',
26
- },
27
- ],
28
- rows: [
29
- {
30
- id: '1',
31
- content: 'C6',
32
- dimensions: {glyph: 'solid/check', text: '11.4x16.2x1'},
33
- weight: '150g',
34
- },
35
- {
36
- id: '2',
37
- content: 'A4',
38
- dimensions: {glyph: 'solid/times', text: '21x29.7x1'},
39
- weight: '100g',
40
- },
41
- {
42
- id: '3',
43
- content: 'XT9',
44
- dimensions: {glyph: 'solid/calendar', text: '50x50x100'},
45
- weight: '1kg',
46
- },
47
- {
48
- id: '4',
49
- content: 'N1',
50
- dimensions: {glyph: 'solid/rocket', text: '1x2x3'},
51
- weight: '10g',
52
- },
53
- ],
54
- };
55
-
56
- const t2 = {
57
- 'post-header': [
58
- {
59
- names: ['lu', 'ma', 'me', 'je', 've'],
60
- description: 'Ouvrable',
61
- textAlign: 'center',
62
- },
63
- {
64
- names: ['sa', 'di'],
65
- description: 'Week-end',
66
- textAlign: 'center',
67
- },
68
- ],
69
- 'header': [
70
- {
71
- name: 'lu',
72
- description: 'Lun',
73
- grow: '1',
74
- textAlign: 'right',
75
- },
76
- {
77
- name: 'ma',
78
- description: 'Mar',
79
- grow: '1',
80
- textAlign: 'right',
81
- },
82
- {
83
- name: 'me',
84
- description: 'Mer',
85
- grow: '1',
86
- textAlign: 'right',
87
- },
88
- {
89
- name: 'je',
90
- description: 'Jeu',
91
- grow: '1',
92
- textAlign: 'right',
93
- },
94
- {
95
- name: 've',
96
- description: 'Ven',
97
- grow: '1',
98
- textAlign: 'right',
99
- },
100
- {
101
- name: 'sa',
102
- description: 'Sam',
103
- grow: '1',
104
- textAlign: 'right',
105
- },
106
- {
107
- name: 'di',
108
- description: 'Dim',
109
- grow: '1',
110
- textAlign: 'right',
111
- },
112
- ],
113
- 'rows': [
114
- {
115
- id: '1',
116
- lu: '10.00',
117
- ma: '12.00',
118
- me: '10.00',
119
- je: '10.00',
120
- ve: '19.00',
121
- sa: '5.00',
122
- di: '100.00',
123
- },
124
- {
125
- id: '2',
126
- lu: '120.00',
127
- ma: '150.00',
128
- je: '100.00',
129
- ve: '20.00',
130
- di: '2.00',
131
- },
132
- {
133
- id: '3',
134
- lu: '5.00',
135
- ma: '50.00',
136
- me: '51.00',
137
- je: '34.00',
138
- ve: '7.00',
139
- sa: '65.00',
140
- },
141
- ],
142
- };
143
-
144
- const t3 = {
145
- header: [
146
- {
147
- name: 'description',
148
- description: 'Description',
149
- grow: '5',
150
- textAlign: 'left',
151
- },
152
- {
153
- name: 'quantity',
154
- description: 'Quantité',
155
- grow: '1',
156
- textAlign: 'right',
157
- },
158
- {
159
- name: 'unit',
160
- description: 'Unité',
161
- grow: '1',
162
- textAlign: 'left',
163
- },
164
- {
165
- name: 'pricePerUnit',
166
- description: 'Prix',
167
- grow: '1',
168
- textAlign: 'right',
169
- },
170
- {
171
- name: 'discount',
172
- description: 'Rabais',
173
- grow: '1',
174
- textAlign: 'right',
175
- },
176
- {
177
- name: 'finalPrice',
178
- description: 'Total',
179
- grow: '1',
180
- textAlign: 'right',
181
- },
182
- ],
183
- rows: [
184
- {
185
- id: '1',
186
- description: 'Crésus Comptabilité PRO',
187
- quantity: '1',
188
- unit: 'pce',
189
- pricePerUnit: '480.00',
190
- finalPrice: '480.00',
191
- },
192
- {
193
- id: '2',
194
- description: 'Crésus Facturation PRO',
195
- quantity: '200',
196
- unit: 'pce',
197
- pricePerUnit: '480.00',
198
- discount: '100.00',
199
- finalPrice: '95900.00',
200
- },
201
- {
202
- id: '3',
203
- description: 'Formation compabilité mardi 10.02.2017',
204
- quantity: '4.5',
205
- unit: 'h',
206
- pricePerUnit: '150.00',
207
- finalPrice: '675.00',
208
- },
209
- {
210
- id: '4',
211
- description: 'Dépannage ticket #30.205',
212
- quantity: '1',
213
- pricePerUnit: '100.00',
214
- discount: '10%',
215
- finalPrice: '90.00',
216
- },
217
- {
218
- id: '5',
219
- description: 'Vis M12',
220
- quantity: '200',
221
- unit: 'pce',
222
- pricePerUnit: '0.30',
223
- finalPrice: '60.00',
224
- },
225
- {
226
- id: '6',
227
- description:
228
- 'Description débile super longue pour tester la mise en page lorsque le texte est très long, voilà voilà...',
229
- quantity: '1',
230
- pricePerUnit: '5.00',
231
- finalPrice: '5.00',
232
- },
233
- {
234
- id: '7',
235
- description: 'Huile de coude extra-forte',
236
- quantity: '2.5',
237
- unit: 'dl',
238
- pricePerUnit: '10.00',
239
- finalPrice: '250.00',
240
- },
241
- ],
242
- };
243
-
244
- const t4 = {
245
- header: [
246
- {
247
- name: 'column1',
248
- description: 'Nom',
249
- width: '200px',
250
- textAlign: 'left',
251
- },
252
- {
253
- name: 'column2',
254
- description: 'Largeur',
255
- width: '100px',
256
- textAlign: 'right',
257
- type: 'price',
258
- },
259
- {
260
- name: 'column3',
261
- description: 'Longueur',
262
- width: '100px',
263
- textAlign: 'right',
264
- type: 'price',
265
- },
266
- {
267
- name: 'column4',
268
- description: 'Hauteur',
269
- width: '100px',
270
- textAlign: 'right',
271
- type: 'price',
272
- },
273
- ],
274
- filtering: 'enable',
275
- sorting: 'enable',
276
- defaultSortingColumns: ['column1'],
277
- rows: [
278
- {
279
- id: '1',
280
- column1: 'Table basse',
281
- column2: '100',
282
- column3: '120',
283
- column4: '30',
284
- },
285
- {
286
- id: '2',
287
- column1: 'Table à manger',
288
- column2: '200',
289
- column3: '330',
290
- column4: '70',
291
- },
292
- {
293
- id: '3',
294
- column1: 'Lit simple',
295
- column2: '90',
296
- column3: '210',
297
- column4: '50',
298
- },
299
- {
300
- id: '4',
301
- column1: 'Lit double',
302
- column2: '180',
303
- column3: '210',
304
- column4: '50',
305
- },
306
- {
307
- id: '5',
308
- column1: 'Armoire simple',
309
- column2: '100',
310
- column3: '80',
311
- column4: '200',
312
- },
313
- {
314
- id: '6',
315
- column1: 'Armoire double',
316
- column2: '200',
317
- column3: '80',
318
- column4: '200',
319
- },
320
- {
321
- id: '7',
322
- column1: 'Armoire triple',
323
- column2: '280',
324
- column3: '80',
325
- column4: '200',
326
- },
327
- {
328
- id: '8',
329
- column1: 'Chaise',
330
- column2: '60',
331
- column3: '60',
332
- column4: '110',
333
- },
334
- ],
335
- };
336
-
337
- const t5 = {
338
- header: [
339
- {
340
- name: 'column1',
341
- description: 'Groupe',
342
- width: '200px',
343
- textAlign: 'left',
344
- indent: 'space',
345
- },
346
- {
347
- name: 'column2',
348
- description: 'Description',
349
- grow: '1',
350
- textAlign: 'left',
351
- indent: 'space',
352
- },
353
- ],
354
- rows: [
355
- {
356
- column1: 'Jours',
357
- column2: '',
358
- horizontalSeparator: 'both',
359
- rows: [
360
- {
361
- id: '1',
362
- column1: 'Lundi',
363
- column2: '8h00 – 18h30',
364
- },
365
- {
366
- id: '2',
367
- column1: 'Mardi',
368
- column2: '8h00 – 18h30',
369
- },
370
- {
371
- id: '3',
372
- column1: 'Mercredi',
373
- column2: '8h00 – 18h30',
374
- },
375
- {
376
- id: '4',
377
- column1: 'Jeudi',
378
- column2: '8h00 – 18h30',
379
- },
380
- {
381
- id: '5',
382
- column1: 'Vendredi',
383
- column2: '8h00 – 18h30',
384
- },
385
- {
386
- id: '6',
387
- column1: 'Samedi',
388
- column2: '',
389
- rows: [
390
- {
391
- id: '6.1',
392
- column1: 'Matin',
393
- column2: '8h00 – 12h00',
394
- },
395
- {
396
- id: '6.2',
397
- column1: 'Après-midi',
398
- column2: '13h30 – 17h00',
399
- },
400
- ],
401
- },
402
- {
403
- id: '7',
404
- column1: 'Dimanche',
405
- column2: 'Fermé',
406
- },
407
- ],
408
- },
409
- {
410
- column1: 'Mois',
411
- column2: '',
412
- horizontalSeparator: 'both',
413
- rows: [
414
- {
415
- id: '1',
416
- column1: 'Janvier',
417
- column2: '',
418
- },
419
- {
420
- id: '2',
421
- column1: 'Février',
422
- column2: 'Fermeture annuelle',
423
- },
424
- {
425
- id: '3',
426
- column1: 'Mars',
427
- column2: '',
428
- },
429
- {
430
- id: '4',
431
- column1: 'Avril',
432
- column2: '',
433
- },
434
- {
435
- id: '5',
436
- column1: 'Mai',
437
- column2: '',
438
- },
439
- {
440
- id: '6',
441
- column1: 'Juin',
442
- column2: '',
443
- },
444
- {
445
- id: '7',
446
- column1: 'Juillet',
447
- column2: '',
448
- },
449
- {
450
- id: '8',
451
- column1: 'Août',
452
- column2: '',
453
- },
454
- {
455
- id: '9',
456
- column1: 'Septembre',
457
- column2: '',
458
- },
459
- {
460
- id: '10',
461
- column1: 'Octobre',
462
- column2: '',
463
- },
464
- {
465
- id: '11',
466
- column1: 'Novembre',
467
- column2: '',
468
- },
469
- {
470
- id: '12',
471
- column1: 'Décembre',
472
- column2: '',
473
- },
474
- ],
475
- },
476
- ],
477
- };
478
-
479
- /******************************************************************************/
480
-
481
- const samples = [
482
- {id: 'T1', text: 'Petite table'},
483
- {id: 'T2', text: 'Moyenne table'},
484
- {id: 'T3', text: 'Grande table'},
485
- {id: 'T4', text: 'Table avec filtre et tri'},
486
- {id: 'T5', text: 'Table à plusieurs niveaux'},
487
- ];
488
-
489
- const samplesData = {
490
- T1: new Shredder(t1),
491
- T2: new Shredder(t2),
492
- T3: new Shredder(t3),
493
- T4: new Shredder(t4),
494
- T5: new Shredder(t5),
495
- };
496
-
497
- /******************************************************************************/
498
-
499
- const selectedIds = [
500
- {id: 'S1', text: 'Premier sélectionné'},
501
- {id: 'S2', text: 'Deuxième sélectionné'},
502
- {id: 'S12', text: 'Premier et deuxième sélectionnés'},
503
- ];
504
-
505
- const selectedIdsData = {
506
- S1: ['1'],
507
- S2: ['2'],
508
- S12: ['1', '2'],
509
- };
510
-
511
- /******************************************************************************/
512
-
513
- addType('dataTable', {
514
- type: 'dataTable',
515
- defaultValue: 'T1',
516
- widget: 'combo',
517
- restrictsToList: true,
518
- samples: samples,
519
- samplesData: samplesData,
520
- propType: PropTypes.object,
521
- });
522
-
523
- addType('selectedIds', {
524
- type: 'selectedIds',
525
- defaultValue: 'S1',
526
- widget: 'combo',
527
- restrictsToList: true,
528
- samples: selectedIds,
529
- samplesData: selectedIdsData,
530
- propType: PropTypes.object,
531
- });
532
-
533
- addType('sortingColumns', {
534
- type: 'sortingColumns',
535
- widget: 'combo',
536
- restrictsToList: true,
537
- samples: [
538
- {id: 'S1', text: 'Column 1'},
539
- {id: 'S2', text: 'Column 2, 1'},
540
- {id: 'S3', text: 'Column 3, 1'},
541
- {id: 'S4', text: 'Column 4, 1'},
542
- ],
543
- samplesData: {
544
- S1: new Shredder(['column1']),
545
- S2: new Shredder(['column2', 'column1']),
546
- S3: new Shredder(['column3', 'column1']),
547
- S4: new Shredder(['column4', 'column1']),
548
- },
549
- propType: PropTypes.object,
550
- });
551
-
552
- /******************************************************************************/
553
-
554
- export default [
555
- // Main.
556
- {
557
- name: 'data',
558
- group: 'main',
559
- type: types.dataTable,
560
- description: 'The data of table.',
561
- },
562
- {
563
- name: 'selectedIds',
564
- group: 'main',
565
- type: types.selectedIds,
566
- },
567
- {
568
- name: 'selectionMode',
569
- group: 'main',
570
- type: types.enum(['none', 'single', 'multi']),
571
- },
572
- {
573
- name: 'filter',
574
- group: 'main',
575
- type: types.string,
576
- },
577
- {
578
- name: 'sortingColumns',
579
- group: 'main',
580
- type: types.sortingColumns,
581
- description: "Only for data with sorting: 'enable'.",
582
- },
583
- {
584
- name: 'useKeyUpDown',
585
- group: 'main',
586
- type: types.bool,
587
- description: "Work only widh connected widget (don't work with WidgetDoc).",
588
- },
589
- {
590
- name: 'widgetId',
591
- group: 'main',
592
- type: types.string,
593
- },
594
-
595
- // Aspect.
596
- {
597
- name: 'frame',
598
- group: 'aspect',
599
- type: types.bool,
600
- },
601
- {
602
- name: 'hasButtons',
603
- group: 'aspect',
604
- type: types.bool,
605
- },
606
- {
607
- name: 'headerWithoutHorizontalSeparator',
608
- group: 'aspect',
609
- type: types.bool,
610
- },
611
- {
612
- name: 'widgetDocPreview',
613
- group: 'aspect',
614
- type: types.bool,
615
- },
616
- {
617
- name: 'compactMargins',
618
- group: 'aspect',
619
- type: types.bool,
620
- },
621
- {
622
- name: 'simpleHeader',
623
- group: 'aspect',
624
- type: types.bool,
625
- },
626
- {
627
- name: 'fontSizeStrategy',
628
- group: 'aspect',
629
- type: types.enum(['', 'decrease']),
630
- description: 'Only for multi-level tables.',
631
- },
632
- {
633
- name: 'cellFormat',
634
- group: 'aspect',
635
- type: types.enum(['singleLine', 'original']),
636
- },
637
-
638
- // Layout.
639
- {
640
- name: 'grow',
641
- group: 'layout',
642
- type: types.grow,
643
- },
644
- {
645
- name: 'height',
646
- group: 'layout',
647
- type: types.pixel,
648
- min: 0,
649
- max: 1000,
650
- },
651
-
652
- // Function.
653
- {
654
- name: 'onSelectionChanged',
655
- group: 'function',
656
- type: types.function,
657
- },
658
- ];
1
+ import {types, addType} from 'goblin-gadgets/types/types.js';
2
+ import PropTypes from 'prop-types';
3
+ import Shredder from 'xcraft-core-shredder';
4
+
5
+ /******************************************************************************/
6
+
7
+ const t1 = {
8
+ header: [
9
+ {
10
+ name: 'content',
11
+ description: 'Type',
12
+ width: '100px',
13
+ textAlign: 'left',
14
+ },
15
+ {
16
+ name: 'dimensions',
17
+ description: 'Dimensions',
18
+ width: '200px',
19
+ textAlign: 'left',
20
+ },
21
+ {
22
+ name: 'weight',
23
+ description: 'Poids',
24
+ width: '100px',
25
+ textAlign: 'right',
26
+ },
27
+ ],
28
+ rows: [
29
+ {
30
+ id: '1',
31
+ content: 'C6',
32
+ dimensions: {glyph: 'solid/check', text: '11.4x16.2x1'},
33
+ weight: '150g',
34
+ },
35
+ {
36
+ id: '2',
37
+ content: 'A4',
38
+ dimensions: {glyph: 'solid/times', text: '21x29.7x1'},
39
+ weight: '100g',
40
+ },
41
+ {
42
+ id: '3',
43
+ content: 'XT9',
44
+ dimensions: {glyph: 'solid/calendar', text: '50x50x100'},
45
+ weight: '1kg',
46
+ },
47
+ {
48
+ id: '4',
49
+ content: 'N1',
50
+ dimensions: {glyph: 'solid/rocket', text: '1x2x3'},
51
+ weight: '10g',
52
+ },
53
+ ],
54
+ };
55
+
56
+ const t2 = {
57
+ 'post-header': [
58
+ {
59
+ names: ['lu', 'ma', 'me', 'je', 've'],
60
+ description: 'Ouvrable',
61
+ textAlign: 'center',
62
+ },
63
+ {
64
+ names: ['sa', 'di'],
65
+ description: 'Week-end',
66
+ textAlign: 'center',
67
+ },
68
+ ],
69
+ 'header': [
70
+ {
71
+ name: 'lu',
72
+ description: 'Lun',
73
+ grow: '1',
74
+ textAlign: 'right',
75
+ },
76
+ {
77
+ name: 'ma',
78
+ description: 'Mar',
79
+ grow: '1',
80
+ textAlign: 'right',
81
+ },
82
+ {
83
+ name: 'me',
84
+ description: 'Mer',
85
+ grow: '1',
86
+ textAlign: 'right',
87
+ },
88
+ {
89
+ name: 'je',
90
+ description: 'Jeu',
91
+ grow: '1',
92
+ textAlign: 'right',
93
+ },
94
+ {
95
+ name: 've',
96
+ description: 'Ven',
97
+ grow: '1',
98
+ textAlign: 'right',
99
+ },
100
+ {
101
+ name: 'sa',
102
+ description: 'Sam',
103
+ grow: '1',
104
+ textAlign: 'right',
105
+ },
106
+ {
107
+ name: 'di',
108
+ description: 'Dim',
109
+ grow: '1',
110
+ textAlign: 'right',
111
+ },
112
+ ],
113
+ 'rows': [
114
+ {
115
+ id: '1',
116
+ lu: '10.00',
117
+ ma: '12.00',
118
+ me: '10.00',
119
+ je: '10.00',
120
+ ve: '19.00',
121
+ sa: '5.00',
122
+ di: '100.00',
123
+ },
124
+ {
125
+ id: '2',
126
+ lu: '120.00',
127
+ ma: '150.00',
128
+ je: '100.00',
129
+ ve: '20.00',
130
+ di: '2.00',
131
+ },
132
+ {
133
+ id: '3',
134
+ lu: '5.00',
135
+ ma: '50.00',
136
+ me: '51.00',
137
+ je: '34.00',
138
+ ve: '7.00',
139
+ sa: '65.00',
140
+ },
141
+ ],
142
+ };
143
+
144
+ const t3 = {
145
+ header: [
146
+ {
147
+ name: 'description',
148
+ description: 'Description',
149
+ grow: '5',
150
+ textAlign: 'left',
151
+ },
152
+ {
153
+ name: 'quantity',
154
+ description: 'Quantité',
155
+ grow: '1',
156
+ textAlign: 'right',
157
+ },
158
+ {
159
+ name: 'unit',
160
+ description: 'Unité',
161
+ grow: '1',
162
+ textAlign: 'left',
163
+ },
164
+ {
165
+ name: 'pricePerUnit',
166
+ description: 'Prix',
167
+ grow: '1',
168
+ textAlign: 'right',
169
+ },
170
+ {
171
+ name: 'discount',
172
+ description: 'Rabais',
173
+ grow: '1',
174
+ textAlign: 'right',
175
+ },
176
+ {
177
+ name: 'finalPrice',
178
+ description: 'Total',
179
+ grow: '1',
180
+ textAlign: 'right',
181
+ },
182
+ ],
183
+ rows: [
184
+ {
185
+ id: '1',
186
+ description: 'Crésus Comptabilité PRO',
187
+ quantity: '1',
188
+ unit: 'pce',
189
+ pricePerUnit: '480.00',
190
+ finalPrice: '480.00',
191
+ },
192
+ {
193
+ id: '2',
194
+ description: 'Crésus Facturation PRO',
195
+ quantity: '200',
196
+ unit: 'pce',
197
+ pricePerUnit: '480.00',
198
+ discount: '100.00',
199
+ finalPrice: '95900.00',
200
+ },
201
+ {
202
+ id: '3',
203
+ description: 'Formation compabilité mardi 10.02.2017',
204
+ quantity: '4.5',
205
+ unit: 'h',
206
+ pricePerUnit: '150.00',
207
+ finalPrice: '675.00',
208
+ },
209
+ {
210
+ id: '4',
211
+ description: 'Dépannage ticket #30.205',
212
+ quantity: '1',
213
+ pricePerUnit: '100.00',
214
+ discount: '10%',
215
+ finalPrice: '90.00',
216
+ },
217
+ {
218
+ id: '5',
219
+ description: 'Vis M12',
220
+ quantity: '200',
221
+ unit: 'pce',
222
+ pricePerUnit: '0.30',
223
+ finalPrice: '60.00',
224
+ },
225
+ {
226
+ id: '6',
227
+ description:
228
+ 'Description débile super longue pour tester la mise en page lorsque le texte est très long, voilà voilà...',
229
+ quantity: '1',
230
+ pricePerUnit: '5.00',
231
+ finalPrice: '5.00',
232
+ },
233
+ {
234
+ id: '7',
235
+ description: 'Huile de coude extra-forte',
236
+ quantity: '2.5',
237
+ unit: 'dl',
238
+ pricePerUnit: '10.00',
239
+ finalPrice: '250.00',
240
+ },
241
+ ],
242
+ };
243
+
244
+ const t4 = {
245
+ header: [
246
+ {
247
+ name: 'column1',
248
+ description: 'Nom',
249
+ width: '200px',
250
+ textAlign: 'left',
251
+ },
252
+ {
253
+ name: 'column2',
254
+ description: 'Largeur',
255
+ width: '100px',
256
+ textAlign: 'right',
257
+ type: 'price',
258
+ },
259
+ {
260
+ name: 'column3',
261
+ description: 'Longueur',
262
+ width: '100px',
263
+ textAlign: 'right',
264
+ type: 'price',
265
+ },
266
+ {
267
+ name: 'column4',
268
+ description: 'Hauteur',
269
+ width: '100px',
270
+ textAlign: 'right',
271
+ type: 'price',
272
+ },
273
+ ],
274
+ filtering: 'enable',
275
+ sorting: 'enable',
276
+ defaultSortingColumns: ['column1'],
277
+ rows: [
278
+ {
279
+ id: '1',
280
+ column1: 'Table basse',
281
+ column2: '100',
282
+ column3: '120',
283
+ column4: '30',
284
+ },
285
+ {
286
+ id: '2',
287
+ column1: 'Table à manger',
288
+ column2: '200',
289
+ column3: '330',
290
+ column4: '70',
291
+ },
292
+ {
293
+ id: '3',
294
+ column1: 'Lit simple',
295
+ column2: '90',
296
+ column3: '210',
297
+ column4: '50',
298
+ },
299
+ {
300
+ id: '4',
301
+ column1: 'Lit double',
302
+ column2: '180',
303
+ column3: '210',
304
+ column4: '50',
305
+ },
306
+ {
307
+ id: '5',
308
+ column1: 'Armoire simple',
309
+ column2: '100',
310
+ column3: '80',
311
+ column4: '200',
312
+ },
313
+ {
314
+ id: '6',
315
+ column1: 'Armoire double',
316
+ column2: '200',
317
+ column3: '80',
318
+ column4: '200',
319
+ },
320
+ {
321
+ id: '7',
322
+ column1: 'Armoire triple',
323
+ column2: '280',
324
+ column3: '80',
325
+ column4: '200',
326
+ },
327
+ {
328
+ id: '8',
329
+ column1: 'Chaise',
330
+ column2: '60',
331
+ column3: '60',
332
+ column4: '110',
333
+ },
334
+ ],
335
+ };
336
+
337
+ const t5 = {
338
+ header: [
339
+ {
340
+ name: 'column1',
341
+ description: 'Groupe',
342
+ width: '200px',
343
+ textAlign: 'left',
344
+ indent: 'space',
345
+ },
346
+ {
347
+ name: 'column2',
348
+ description: 'Description',
349
+ grow: '1',
350
+ textAlign: 'left',
351
+ indent: 'space',
352
+ },
353
+ ],
354
+ rows: [
355
+ {
356
+ column1: 'Jours',
357
+ column2: '',
358
+ horizontalSeparator: 'both',
359
+ rows: [
360
+ {
361
+ id: '1',
362
+ column1: 'Lundi',
363
+ column2: '8h00 – 18h30',
364
+ },
365
+ {
366
+ id: '2',
367
+ column1: 'Mardi',
368
+ column2: '8h00 – 18h30',
369
+ },
370
+ {
371
+ id: '3',
372
+ column1: 'Mercredi',
373
+ column2: '8h00 – 18h30',
374
+ },
375
+ {
376
+ id: '4',
377
+ column1: 'Jeudi',
378
+ column2: '8h00 – 18h30',
379
+ },
380
+ {
381
+ id: '5',
382
+ column1: 'Vendredi',
383
+ column2: '8h00 – 18h30',
384
+ },
385
+ {
386
+ id: '6',
387
+ column1: 'Samedi',
388
+ column2: '',
389
+ rows: [
390
+ {
391
+ id: '6.1',
392
+ column1: 'Matin',
393
+ column2: '8h00 – 12h00',
394
+ },
395
+ {
396
+ id: '6.2',
397
+ column1: 'Après-midi',
398
+ column2: '13h30 – 17h00',
399
+ },
400
+ ],
401
+ },
402
+ {
403
+ id: '7',
404
+ column1: 'Dimanche',
405
+ column2: 'Fermé',
406
+ },
407
+ ],
408
+ },
409
+ {
410
+ column1: 'Mois',
411
+ column2: '',
412
+ horizontalSeparator: 'both',
413
+ rows: [
414
+ {
415
+ id: '1',
416
+ column1: 'Janvier',
417
+ column2: '',
418
+ },
419
+ {
420
+ id: '2',
421
+ column1: 'Février',
422
+ column2: 'Fermeture annuelle',
423
+ },
424
+ {
425
+ id: '3',
426
+ column1: 'Mars',
427
+ column2: '',
428
+ },
429
+ {
430
+ id: '4',
431
+ column1: 'Avril',
432
+ column2: '',
433
+ },
434
+ {
435
+ id: '5',
436
+ column1: 'Mai',
437
+ column2: '',
438
+ },
439
+ {
440
+ id: '6',
441
+ column1: 'Juin',
442
+ column2: '',
443
+ },
444
+ {
445
+ id: '7',
446
+ column1: 'Juillet',
447
+ column2: '',
448
+ },
449
+ {
450
+ id: '8',
451
+ column1: 'Août',
452
+ column2: '',
453
+ },
454
+ {
455
+ id: '9',
456
+ column1: 'Septembre',
457
+ column2: '',
458
+ },
459
+ {
460
+ id: '10',
461
+ column1: 'Octobre',
462
+ column2: '',
463
+ },
464
+ {
465
+ id: '11',
466
+ column1: 'Novembre',
467
+ column2: '',
468
+ },
469
+ {
470
+ id: '12',
471
+ column1: 'Décembre',
472
+ column2: '',
473
+ },
474
+ ],
475
+ },
476
+ ],
477
+ };
478
+
479
+ /******************************************************************************/
480
+
481
+ const samples = [
482
+ {id: 'T1', text: 'Petite table'},
483
+ {id: 'T2', text: 'Moyenne table'},
484
+ {id: 'T3', text: 'Grande table'},
485
+ {id: 'T4', text: 'Table avec filtre et tri'},
486
+ {id: 'T5', text: 'Table à plusieurs niveaux'},
487
+ ];
488
+
489
+ const samplesData = {
490
+ T1: new Shredder(t1),
491
+ T2: new Shredder(t2),
492
+ T3: new Shredder(t3),
493
+ T4: new Shredder(t4),
494
+ T5: new Shredder(t5),
495
+ };
496
+
497
+ /******************************************************************************/
498
+
499
+ const selectedIds = [
500
+ {id: 'S1', text: 'Premier sélectionné'},
501
+ {id: 'S2', text: 'Deuxième sélectionné'},
502
+ {id: 'S12', text: 'Premier et deuxième sélectionnés'},
503
+ ];
504
+
505
+ const selectedIdsData = {
506
+ S1: ['1'],
507
+ S2: ['2'],
508
+ S12: ['1', '2'],
509
+ };
510
+
511
+ /******************************************************************************/
512
+
513
+ addType('dataTable', {
514
+ type: 'dataTable',
515
+ defaultValue: 'T1',
516
+ widget: 'combo',
517
+ restrictsToList: true,
518
+ samples: samples,
519
+ samplesData: samplesData,
520
+ propType: PropTypes.object,
521
+ });
522
+
523
+ addType('selectedIds', {
524
+ type: 'selectedIds',
525
+ defaultValue: 'S1',
526
+ widget: 'combo',
527
+ restrictsToList: true,
528
+ samples: selectedIds,
529
+ samplesData: selectedIdsData,
530
+ propType: PropTypes.object,
531
+ });
532
+
533
+ addType('sortingColumns', {
534
+ type: 'sortingColumns',
535
+ widget: 'combo',
536
+ restrictsToList: true,
537
+ samples: [
538
+ {id: 'S1', text: 'Column 1'},
539
+ {id: 'S2', text: 'Column 2, 1'},
540
+ {id: 'S3', text: 'Column 3, 1'},
541
+ {id: 'S4', text: 'Column 4, 1'},
542
+ ],
543
+ samplesData: {
544
+ S1: new Shredder(['column1']),
545
+ S2: new Shredder(['column2', 'column1']),
546
+ S3: new Shredder(['column3', 'column1']),
547
+ S4: new Shredder(['column4', 'column1']),
548
+ },
549
+ propType: PropTypes.object,
550
+ });
551
+
552
+ /******************************************************************************/
553
+
554
+ export default [
555
+ // Main.
556
+ {
557
+ name: 'data',
558
+ group: 'main',
559
+ type: types.dataTable,
560
+ description: 'The data of table.',
561
+ },
562
+ {
563
+ name: 'selectedIds',
564
+ group: 'main',
565
+ type: types.selectedIds,
566
+ },
567
+ {
568
+ name: 'selectionMode',
569
+ group: 'main',
570
+ type: types.enum(['none', 'single', 'multi']),
571
+ },
572
+ {
573
+ name: 'filter',
574
+ group: 'main',
575
+ type: types.string,
576
+ },
577
+ {
578
+ name: 'sortingColumns',
579
+ group: 'main',
580
+ type: types.sortingColumns,
581
+ description: "Only for data with sorting: 'enable'.",
582
+ },
583
+ {
584
+ name: 'useKeyUpDown',
585
+ group: 'main',
586
+ type: types.bool,
587
+ description: "Work only widh connected widget (don't work with WidgetDoc).",
588
+ },
589
+ {
590
+ name: 'widgetId',
591
+ group: 'main',
592
+ type: types.string,
593
+ },
594
+
595
+ // Aspect.
596
+ {
597
+ name: 'frame',
598
+ group: 'aspect',
599
+ type: types.bool,
600
+ },
601
+ {
602
+ name: 'hasButtons',
603
+ group: 'aspect',
604
+ type: types.bool,
605
+ },
606
+ {
607
+ name: 'headerWithoutHorizontalSeparator',
608
+ group: 'aspect',
609
+ type: types.bool,
610
+ },
611
+ {
612
+ name: 'widgetDocPreview',
613
+ group: 'aspect',
614
+ type: types.bool,
615
+ },
616
+ {
617
+ name: 'compactMargins',
618
+ group: 'aspect',
619
+ type: types.bool,
620
+ },
621
+ {
622
+ name: 'simpleHeader',
623
+ group: 'aspect',
624
+ type: types.bool,
625
+ },
626
+ {
627
+ name: 'fontSizeStrategy',
628
+ group: 'aspect',
629
+ type: types.enum(['', 'decrease']),
630
+ description: 'Only for multi-level tables.',
631
+ },
632
+ {
633
+ name: 'cellFormat',
634
+ group: 'aspect',
635
+ type: types.enum(['singleLine', 'original']),
636
+ },
637
+
638
+ // Layout.
639
+ {
640
+ name: 'grow',
641
+ group: 'layout',
642
+ type: types.grow,
643
+ },
644
+ {
645
+ name: 'height',
646
+ group: 'layout',
647
+ type: types.pixel,
648
+ min: 0,
649
+ max: 1000,
650
+ },
651
+
652
+ // Function.
653
+ {
654
+ name: 'onSelectionChanged',
655
+ group: 'function',
656
+ type: types.function,
657
+ },
658
+ ];