@operato/data-grist 9.0.0-beta.56 → 9.0.0-beta.61

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 (474) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/tsconfig.tsbuildinfo +1 -1
  3. package/package.json +3 -3
  4. package/dist/src/accumulator/accumulator.d.ts +0 -2
  5. package/dist/src/accumulator/accumulator.js +0 -42
  6. package/dist/src/accumulator/accumulator.js.map +0 -1
  7. package/dist/src/configure/column-builder.d.ts +0 -2
  8. package/dist/src/configure/column-builder.js +0 -99
  9. package/dist/src/configure/column-builder.js.map +0 -1
  10. package/dist/src/configure/config-builder.d.ts +0 -2
  11. package/dist/src/configure/config-builder.js +0 -36
  12. package/dist/src/configure/config-builder.js.map +0 -1
  13. package/dist/src/configure/filters-option-builder.d.ts +0 -2
  14. package/dist/src/configure/filters-option-builder.js +0 -7
  15. package/dist/src/configure/filters-option-builder.js.map +0 -1
  16. package/dist/src/configure/imex-option-builder.d.ts +0 -2
  17. package/dist/src/configure/imex-option-builder.js +0 -4
  18. package/dist/src/configure/imex-option-builder.js.map +0 -1
  19. package/dist/src/configure/list-option-builder.d.ts +0 -2
  20. package/dist/src/configure/list-option-builder.js +0 -8
  21. package/dist/src/configure/list-option-builder.js.map +0 -1
  22. package/dist/src/configure/rows-option-builder.d.ts +0 -2
  23. package/dist/src/configure/rows-option-builder.js +0 -26
  24. package/dist/src/configure/rows-option-builder.js.map +0 -1
  25. package/dist/src/configure/tree-option-builder.d.ts +0 -2
  26. package/dist/src/configure/tree-option-builder.js +0 -18
  27. package/dist/src/configure/tree-option-builder.js.map +0 -1
  28. package/dist/src/configure/zero-config.d.ts +0 -23
  29. package/dist/src/configure/zero-config.js +0 -59
  30. package/dist/src/configure/zero-config.js.map +0 -1
  31. package/dist/src/const.d.ts +0 -1
  32. package/dist/src/const.js +0 -2
  33. package/dist/src/const.js.map +0 -1
  34. package/dist/src/data-card/data-card-field.d.ts +0 -11
  35. package/dist/src/data-card/data-card-field.js +0 -106
  36. package/dist/src/data-card/data-card-field.js.map +0 -1
  37. package/dist/src/data-card/data-card-gutter-menu.d.ts +0 -2
  38. package/dist/src/data-card/data-card-gutter-menu.js +0 -96
  39. package/dist/src/data-card/data-card-gutter-menu.js.map +0 -1
  40. package/dist/src/data-card/data-card-gutter.d.ts +0 -12
  41. package/dist/src/data-card/data-card-gutter.js +0 -116
  42. package/dist/src/data-card/data-card-gutter.js.map +0 -1
  43. package/dist/src/data-card/data-card.d.ts +0 -19
  44. package/dist/src/data-card/data-card.js +0 -149
  45. package/dist/src/data-card/data-card.js.map +0 -1
  46. package/dist/src/data-card/event-handlers/record-card-click-handler.d.ts +0 -7
  47. package/dist/src/data-card/event-handlers/record-card-click-handler.js +0 -29
  48. package/dist/src/data-card/event-handlers/record-card-click-handler.js.map +0 -1
  49. package/dist/src/data-card/event-handlers/record-card-dblclick-handler.d.ts +0 -7
  50. package/dist/src/data-card/event-handlers/record-card-dblclick-handler.js +0 -29
  51. package/dist/src/data-card/event-handlers/record-card-dblclick-handler.js.map +0 -1
  52. package/dist/src/data-card/record-card.d.ts +0 -23
  53. package/dist/src/data-card/record-card.js +0 -288
  54. package/dist/src/data-card/record-card.js.map +0 -1
  55. package/dist/src/data-consumer.d.ts +0 -10
  56. package/dist/src/data-consumer.js +0 -2
  57. package/dist/src/data-consumer.js.map +0 -1
  58. package/dist/src/data-grid/data-grid-accum-field.d.ts +0 -16
  59. package/dist/src/data-grid/data-grid-accum-field.js +0 -133
  60. package/dist/src/data-grid/data-grid-accum-field.js.map +0 -1
  61. package/dist/src/data-grid/data-grid-body-style.d.ts +0 -1
  62. package/dist/src/data-grid/data-grid-body-style.js +0 -99
  63. package/dist/src/data-grid/data-grid-body-style.js.map +0 -1
  64. package/dist/src/data-grid/data-grid-body.d.ts +0 -52
  65. package/dist/src/data-grid/data-grid-body.js +0 -660
  66. package/dist/src/data-grid/data-grid-body.js.map +0 -1
  67. package/dist/src/data-grid/data-grid-field.d.ts +0 -25
  68. package/dist/src/data-grid/data-grid-field.js +0 -263
  69. package/dist/src/data-grid/data-grid-field.js.map +0 -1
  70. package/dist/src/data-grid/data-grid-footer.d.ts +0 -11
  71. package/dist/src/data-grid/data-grid-footer.js +0 -120
  72. package/dist/src/data-grid/data-grid-footer.js.map +0 -1
  73. package/dist/src/data-grid/data-grid-header.d.ts +0 -29
  74. package/dist/src/data-grid/data-grid-header.js +0 -531
  75. package/dist/src/data-grid/data-grid-header.js.map +0 -1
  76. package/dist/src/data-grid/data-grid.d.ts +0 -36
  77. package/dist/src/data-grid/data-grid.js +0 -260
  78. package/dist/src/data-grid/data-grid.js.map +0 -1
  79. package/dist/src/data-grid/event-handlers/data-grid-body-click-handler.d.ts +0 -7
  80. package/dist/src/data-grid/event-handlers/data-grid-body-click-handler.js +0 -57
  81. package/dist/src/data-grid/event-handlers/data-grid-body-click-handler.js.map +0 -1
  82. package/dist/src/data-grid/event-handlers/data-grid-body-contextmenu-handler.d.ts +0 -7
  83. package/dist/src/data-grid/event-handlers/data-grid-body-contextmenu-handler.js +0 -25
  84. package/dist/src/data-grid/event-handlers/data-grid-body-contextmenu-handler.js.map +0 -1
  85. package/dist/src/data-grid/event-handlers/data-grid-body-dblclick-handler.d.ts +0 -7
  86. package/dist/src/data-grid/event-handlers/data-grid-body-dblclick-handler.js +0 -34
  87. package/dist/src/data-grid/event-handlers/data-grid-body-dblclick-handler.js.map +0 -1
  88. package/dist/src/data-grid/event-handlers/data-grid-body-focus-change-handler.d.ts +0 -7
  89. package/dist/src/data-grid/event-handlers/data-grid-body-focus-change-handler.js +0 -19
  90. package/dist/src/data-grid/event-handlers/data-grid-body-focus-change-handler.js.map +0 -1
  91. package/dist/src/data-grid/event-handlers/data-grid-body-keydown-handler.d.ts +0 -7
  92. package/dist/src/data-grid/event-handlers/data-grid-body-keydown-handler.js +0 -226
  93. package/dist/src/data-grid/event-handlers/data-grid-body-keydown-handler.js.map +0 -1
  94. package/dist/src/data-grist.d.ts +0 -367
  95. package/dist/src/data-grist.js +0 -1064
  96. package/dist/src/data-grist.js.map +0 -1
  97. package/dist/src/data-list/data-list-field.d.ts +0 -11
  98. package/dist/src/data-list/data-list-field.js +0 -95
  99. package/dist/src/data-list/data-list-field.js.map +0 -1
  100. package/dist/src/data-list/data-list-gutter.d.ts +0 -12
  101. package/dist/src/data-list/data-list-gutter.js +0 -121
  102. package/dist/src/data-list/data-list-gutter.js.map +0 -1
  103. package/dist/src/data-list/data-list.d.ts +0 -18
  104. package/dist/src/data-list/data-list.js +0 -139
  105. package/dist/src/data-list/data-list.js.map +0 -1
  106. package/dist/src/data-list/event-handlers/record-partial-click-handler.d.ts +0 -7
  107. package/dist/src/data-list/event-handlers/record-partial-click-handler.js +0 -29
  108. package/dist/src/data-list/event-handlers/record-partial-click-handler.js.map +0 -1
  109. package/dist/src/data-list/event-handlers/record-partial-dblclick-handler.d.ts +0 -7
  110. package/dist/src/data-list/event-handlers/record-partial-dblclick-handler.js +0 -29
  111. package/dist/src/data-list/event-handlers/record-partial-dblclick-handler.js.map +0 -1
  112. package/dist/src/data-list/event-handlers/record-partial-long-press-handler.d.ts +0 -7
  113. package/dist/src/data-list/event-handlers/record-partial-long-press-handler.js +0 -29
  114. package/dist/src/data-list/event-handlers/record-partial-long-press-handler.js.map +0 -1
  115. package/dist/src/data-list/record-partial.d.ts +0 -21
  116. package/dist/src/data-list/record-partial.js +0 -252
  117. package/dist/src/data-list/record-partial.js.map +0 -1
  118. package/dist/src/data-manipulator.d.ts +0 -38
  119. package/dist/src/data-manipulator.js +0 -324
  120. package/dist/src/data-manipulator.js.map +0 -1
  121. package/dist/src/data-provider.d.ts +0 -50
  122. package/dist/src/data-provider.js +0 -200
  123. package/dist/src/data-provider.js.map +0 -1
  124. package/dist/src/data-report/data-report-body-style.d.ts +0 -1
  125. package/dist/src/data-report/data-report-body-style.js +0 -58
  126. package/dist/src/data-report/data-report-body-style.js.map +0 -1
  127. package/dist/src/data-report/data-report-body.d.ts +0 -18
  128. package/dist/src/data-report/data-report-body.js +0 -181
  129. package/dist/src/data-report/data-report-body.js.map +0 -1
  130. package/dist/src/data-report/data-report-component.d.ts +0 -21
  131. package/dist/src/data-report/data-report-component.js +0 -138
  132. package/dist/src/data-report/data-report-component.js.map +0 -1
  133. package/dist/src/data-report/data-report-field.d.ts +0 -13
  134. package/dist/src/data-report/data-report-field.js +0 -99
  135. package/dist/src/data-report/data-report-field.js.map +0 -1
  136. package/dist/src/data-report/data-report-header.d.ts +0 -1
  137. package/dist/src/data-report/data-report-header.js +0 -221
  138. package/dist/src/data-report/data-report-header.js.map +0 -1
  139. package/dist/src/data-report/event-handlers/data-report-body-click-handler.d.ts +0 -5
  140. package/dist/src/data-report/event-handlers/data-report-body-click-handler.js +0 -33
  141. package/dist/src/data-report/event-handlers/data-report-body-click-handler.js.map +0 -1
  142. package/dist/src/data-report/event-handlers/data-report-body-dblclick-handler.d.ts +0 -5
  143. package/dist/src/data-report/event-handlers/data-report-body-dblclick-handler.js +0 -19
  144. package/dist/src/data-report/event-handlers/data-report-body-dblclick-handler.js.map +0 -1
  145. package/dist/src/data-report/event-handlers/data-report-body-keydown-handler.d.ts +0 -5
  146. package/dist/src/data-report/event-handlers/data-report-body-keydown-handler.js +0 -58
  147. package/dist/src/data-report/event-handlers/data-report-body-keydown-handler.js.map +0 -1
  148. package/dist/src/data-report.d.ts +0 -44
  149. package/dist/src/data-report.js +0 -386
  150. package/dist/src/data-report.js.map +0 -1
  151. package/dist/src/editors/index.d.ts +0 -3
  152. package/dist/src/editors/index.js +0 -4
  153. package/dist/src/editors/index.js.map +0 -1
  154. package/dist/src/editors/ox-grist-editor-checkbox.d.ts +0 -7
  155. package/dist/src/editors/ox-grist-editor-checkbox.js +0 -27
  156. package/dist/src/editors/ox-grist-editor-checkbox.js.map +0 -1
  157. package/dist/src/editors/ox-grist-editor-color.d.ts +0 -4
  158. package/dist/src/editors/ox-grist-editor-color.js +0 -14
  159. package/dist/src/editors/ox-grist-editor-color.js.map +0 -1
  160. package/dist/src/editors/ox-grist-editor-date.d.ts +0 -4
  161. package/dist/src/editors/ox-grist-editor-date.js +0 -14
  162. package/dist/src/editors/ox-grist-editor-date.js.map +0 -1
  163. package/dist/src/editors/ox-grist-editor-datetime.d.ts +0 -6
  164. package/dist/src/editors/ox-grist-editor-datetime.js +0 -26
  165. package/dist/src/editors/ox-grist-editor-datetime.js.map +0 -1
  166. package/dist/src/editors/ox-grist-editor-email.d.ts +0 -4
  167. package/dist/src/editors/ox-grist-editor-email.js +0 -14
  168. package/dist/src/editors/ox-grist-editor-email.js.map +0 -1
  169. package/dist/src/editors/ox-grist-editor-file.d.ts +0 -6
  170. package/dist/src/editors/ox-grist-editor-file.js +0 -25
  171. package/dist/src/editors/ox-grist-editor-file.js.map +0 -1
  172. package/dist/src/editors/ox-grist-editor-image.d.ts +0 -7
  173. package/dist/src/editors/ox-grist-editor-image.js +0 -31
  174. package/dist/src/editors/ox-grist-editor-image.js.map +0 -1
  175. package/dist/src/editors/ox-grist-editor-month.d.ts +0 -4
  176. package/dist/src/editors/ox-grist-editor-month.js +0 -14
  177. package/dist/src/editors/ox-grist-editor-month.js.map +0 -1
  178. package/dist/src/editors/ox-grist-editor-multiple-select.d.ts +0 -8
  179. package/dist/src/editors/ox-grist-editor-multiple-select.js +0 -52
  180. package/dist/src/editors/ox-grist-editor-multiple-select.js.map +0 -1
  181. package/dist/src/editors/ox-grist-editor-number.d.ts +0 -6
  182. package/dist/src/editors/ox-grist-editor-number.js +0 -27
  183. package/dist/src/editors/ox-grist-editor-number.js.map +0 -1
  184. package/dist/src/editors/ox-grist-editor-password.d.ts +0 -4
  185. package/dist/src/editors/ox-grist-editor-password.js +0 -14
  186. package/dist/src/editors/ox-grist-editor-password.js.map +0 -1
  187. package/dist/src/editors/ox-grist-editor-select.d.ts +0 -4
  188. package/dist/src/editors/ox-grist-editor-select.js +0 -53
  189. package/dist/src/editors/ox-grist-editor-select.js.map +0 -1
  190. package/dist/src/editors/ox-grist-editor-tel.d.ts +0 -4
  191. package/dist/src/editors/ox-grist-editor-tel.js +0 -14
  192. package/dist/src/editors/ox-grist-editor-tel.js.map +0 -1
  193. package/dist/src/editors/ox-grist-editor-text.d.ts +0 -5
  194. package/dist/src/editors/ox-grist-editor-text.js +0 -17
  195. package/dist/src/editors/ox-grist-editor-text.js.map +0 -1
  196. package/dist/src/editors/ox-grist-editor-textarea.d.ts +0 -6
  197. package/dist/src/editors/ox-grist-editor-textarea.js +0 -18
  198. package/dist/src/editors/ox-grist-editor-textarea.js.map +0 -1
  199. package/dist/src/editors/ox-grist-editor-time.d.ts +0 -4
  200. package/dist/src/editors/ox-grist-editor-time.js +0 -14
  201. package/dist/src/editors/ox-grist-editor-time.js.map +0 -1
  202. package/dist/src/editors/ox-grist-editor-tree.d.ts +0 -6
  203. package/dist/src/editors/ox-grist-editor-tree.js +0 -27
  204. package/dist/src/editors/ox-grist-editor-tree.js.map +0 -1
  205. package/dist/src/editors/ox-grist-editor-varname.d.ts +0 -6
  206. package/dist/src/editors/ox-grist-editor-varname.js +0 -36
  207. package/dist/src/editors/ox-grist-editor-varname.js.map +0 -1
  208. package/dist/src/editors/ox-grist-editor-week.d.ts +0 -4
  209. package/dist/src/editors/ox-grist-editor-week.js +0 -14
  210. package/dist/src/editors/ox-grist-editor-week.js.map +0 -1
  211. package/dist/src/editors/ox-grist-editor.d.ts +0 -27
  212. package/dist/src/editors/ox-grist-editor.js +0 -197
  213. package/dist/src/editors/ox-grist-editor.js.map +0 -1
  214. package/dist/src/editors/ox-input-tree.d.ts +0 -20
  215. package/dist/src/editors/ox-input-tree.js +0 -221
  216. package/dist/src/editors/ox-input-tree.js.map +0 -1
  217. package/dist/src/editors/registry.d.ts +0 -12
  218. package/dist/src/editors/registry.js +0 -71
  219. package/dist/src/editors/registry.js.map +0 -1
  220. package/dist/src/empty-note.d.ts +0 -9
  221. package/dist/src/empty-note.js +0 -53
  222. package/dist/src/empty-note.js.map +0 -1
  223. package/dist/src/filters/filter-checkbox.d.ts +0 -3
  224. package/dist/src/filters/filter-checkbox.js +0 -41
  225. package/dist/src/filters/filter-checkbox.js.map +0 -1
  226. package/dist/src/filters/filter-input-barcode.d.ts +0 -3
  227. package/dist/src/filters/filter-input-barcode.js +0 -28
  228. package/dist/src/filters/filter-input-barcode.js.map +0 -1
  229. package/dist/src/filters/filter-input.d.ts +0 -2
  230. package/dist/src/filters/filter-input.js +0 -25
  231. package/dist/src/filters/filter-input.js.map +0 -1
  232. package/dist/src/filters/filter-range-date.d.ts +0 -2
  233. package/dist/src/filters/filter-range-date.js +0 -66
  234. package/dist/src/filters/filter-range-date.js.map +0 -1
  235. package/dist/src/filters/filter-range-number.d.ts +0 -2
  236. package/dist/src/filters/filter-range-number.js +0 -54
  237. package/dist/src/filters/filter-range-number.js.map +0 -1
  238. package/dist/src/filters/filter-select-buttons.d.ts +0 -3
  239. package/dist/src/filters/filter-select-buttons.js +0 -50
  240. package/dist/src/filters/filter-select-buttons.js.map +0 -1
  241. package/dist/src/filters/filter-select.d.ts +0 -3
  242. package/dist/src/filters/filter-select.js +0 -52
  243. package/dist/src/filters/filter-select.js.map +0 -1
  244. package/dist/src/filters/filter-styles.d.ts +0 -1
  245. package/dist/src/filters/filter-styles.js +0 -119
  246. package/dist/src/filters/filter-styles.js.map +0 -1
  247. package/dist/src/filters/filters-form.d.ts +0 -40
  248. package/dist/src/filters/filters-form.js +0 -430
  249. package/dist/src/filters/filters-form.js.map +0 -1
  250. package/dist/src/filters/index.d.ts +0 -8
  251. package/dist/src/filters/index.js +0 -9
  252. package/dist/src/filters/index.js.map +0 -1
  253. package/dist/src/filters/registry.d.ts +0 -7
  254. package/dist/src/filters/registry.js +0 -48
  255. package/dist/src/filters/registry.js.map +0 -1
  256. package/dist/src/formatters/date-formatter.d.ts +0 -1
  257. package/dist/src/formatters/date-formatter.js +0 -4
  258. package/dist/src/formatters/date-formatter.js.map +0 -1
  259. package/dist/src/formatters/index.d.ts +0 -1
  260. package/dist/src/formatters/index.js +0 -2
  261. package/dist/src/formatters/index.js.map +0 -1
  262. package/dist/src/formatters/number-formatter.d.ts +0 -1
  263. package/dist/src/formatters/number-formatter.js +0 -4
  264. package/dist/src/formatters/number-formatter.js.map +0 -1
  265. package/dist/src/formatters/registry.d.ts +0 -6
  266. package/dist/src/formatters/registry.js +0 -25
  267. package/dist/src/formatters/registry.js.map +0 -1
  268. package/dist/src/formatters/text-formatter.d.ts +0 -1
  269. package/dist/src/formatters/text-formatter.js +0 -4
  270. package/dist/src/formatters/text-formatter.js.map +0 -1
  271. package/dist/src/gutters/gutter-button.d.ts +0 -21
  272. package/dist/src/gutters/gutter-button.js +0 -40
  273. package/dist/src/gutters/gutter-button.js.map +0 -1
  274. package/dist/src/gutters/gutter-dirty.d.ts +0 -23
  275. package/dist/src/gutters/gutter-dirty.js +0 -87
  276. package/dist/src/gutters/gutter-dirty.js.map +0 -1
  277. package/dist/src/gutters/gutter-row-selector.d.ts +0 -21
  278. package/dist/src/gutters/gutter-row-selector.js +0 -70
  279. package/dist/src/gutters/gutter-row-selector.js.map +0 -1
  280. package/dist/src/gutters/gutter-sequence.d.ts +0 -35
  281. package/dist/src/gutters/gutter-sequence.js +0 -48
  282. package/dist/src/gutters/gutter-sequence.js.map +0 -1
  283. package/dist/src/gutters/index.d.ts +0 -1
  284. package/dist/src/gutters/index.js +0 -2
  285. package/dist/src/gutters/index.js.map +0 -1
  286. package/dist/src/gutters/registry.d.ts +0 -7
  287. package/dist/src/gutters/registry.js +0 -26
  288. package/dist/src/gutters/registry.js.map +0 -1
  289. package/dist/src/handlers/contextmenu-tree-mutation.d.ts +0 -3
  290. package/dist/src/handlers/contextmenu-tree-mutation.js +0 -64
  291. package/dist/src/handlers/contextmenu-tree-mutation.js.map +0 -1
  292. package/dist/src/handlers/index.d.ts +0 -1
  293. package/dist/src/handlers/index.js +0 -2
  294. package/dist/src/handlers/index.js.map +0 -1
  295. package/dist/src/handlers/move-down.d.ts +0 -3
  296. package/dist/src/handlers/move-down.js +0 -26
  297. package/dist/src/handlers/move-down.js.map +0 -1
  298. package/dist/src/handlers/move-up.d.ts +0 -3
  299. package/dist/src/handlers/move-up.js +0 -26
  300. package/dist/src/handlers/move-up.js.map +0 -1
  301. package/dist/src/handlers/record-copy.d.ts +0 -3
  302. package/dist/src/handlers/record-copy.js +0 -23
  303. package/dist/src/handlers/record-copy.js.map +0 -1
  304. package/dist/src/handlers/record-delete.d.ts +0 -3
  305. package/dist/src/handlers/record-delete.js +0 -16
  306. package/dist/src/handlers/record-delete.js.map +0 -1
  307. package/dist/src/handlers/record-view-handler.d.ts +0 -3
  308. package/dist/src/handlers/record-view-handler.js +0 -15
  309. package/dist/src/handlers/record-view-handler.js.map +0 -1
  310. package/dist/src/handlers/registry.d.ts +0 -7
  311. package/dist/src/handlers/registry.js +0 -34
  312. package/dist/src/handlers/registry.js.map +0 -1
  313. package/dist/src/handlers/select-row-toggle.d.ts +0 -3
  314. package/dist/src/handlers/select-row-toggle.js +0 -18
  315. package/dist/src/handlers/select-row-toggle.js.map +0 -1
  316. package/dist/src/handlers/select-row.d.ts +0 -3
  317. package/dist/src/handlers/select-row.js +0 -14
  318. package/dist/src/handlers/select-row.js.map +0 -1
  319. package/dist/src/index.d.ts +0 -14
  320. package/dist/src/index.js +0 -15
  321. package/dist/src/index.js.map +0 -1
  322. package/dist/src/personalizer/index.d.ts +0 -1
  323. package/dist/src/personalizer/index.js +0 -2
  324. package/dist/src/personalizer/index.js.map +0 -1
  325. package/dist/src/personalizer/ox-grist-filter-personalizer.d.ts +0 -8
  326. package/dist/src/personalizer/ox-grist-filter-personalizer.js +0 -178
  327. package/dist/src/personalizer/ox-grist-filter-personalizer.js.map +0 -1
  328. package/dist/src/personalizer/ox-grist-personalizer.d.ts +0 -8
  329. package/dist/src/personalizer/ox-grist-personalizer.js +0 -212
  330. package/dist/src/personalizer/ox-grist-personalizer.js.map +0 -1
  331. package/dist/src/record-view/event-handlers/record-view-body-click-handler.d.ts +0 -7
  332. package/dist/src/record-view/event-handlers/record-view-body-click-handler.js +0 -27
  333. package/dist/src/record-view/event-handlers/record-view-body-click-handler.js.map +0 -1
  334. package/dist/src/record-view/event-handlers/record-view-body-keydown-handler.d.ts +0 -7
  335. package/dist/src/record-view/event-handlers/record-view-body-keydown-handler.js +0 -22
  336. package/dist/src/record-view/event-handlers/record-view-body-keydown-handler.js.map +0 -1
  337. package/dist/src/record-view/index.d.ts +0 -2
  338. package/dist/src/record-view/index.js +0 -3
  339. package/dist/src/record-view/index.js.map +0 -1
  340. package/dist/src/record-view/ox-record-creator.d.ts +0 -26
  341. package/dist/src/record-view/ox-record-creator.js +0 -247
  342. package/dist/src/record-view/ox-record-creator.js.map +0 -1
  343. package/dist/src/record-view/record-view-body.d.ts +0 -21
  344. package/dist/src/record-view/record-view-body.js +0 -252
  345. package/dist/src/record-view/record-view-body.js.map +0 -1
  346. package/dist/src/record-view/record-view-handler.d.ts +0 -9
  347. package/dist/src/record-view/record-view-handler.js +0 -57
  348. package/dist/src/record-view/record-view-handler.js.map +0 -1
  349. package/dist/src/record-view/record-view.d.ts +0 -23
  350. package/dist/src/record-view/record-view.js +0 -117
  351. package/dist/src/record-view/record-view.js.map +0 -1
  352. package/dist/src/renderers/index.d.ts +0 -13
  353. package/dist/src/renderers/index.js +0 -14
  354. package/dist/src/renderers/index.js.map +0 -1
  355. package/dist/src/renderers/ox-grist-renderer-boolean.d.ts +0 -2
  356. package/dist/src/renderers/ox-grist-renderer-boolean.js +0 -39
  357. package/dist/src/renderers/ox-grist-renderer-boolean.js.map +0 -1
  358. package/dist/src/renderers/ox-grist-renderer-color.d.ts +0 -2
  359. package/dist/src/renderers/ox-grist-renderer-color.js +0 -12
  360. package/dist/src/renderers/ox-grist-renderer-color.js.map +0 -1
  361. package/dist/src/renderers/ox-grist-renderer-date.d.ts +0 -2
  362. package/dist/src/renderers/ox-grist-renderer-date.js +0 -53
  363. package/dist/src/renderers/ox-grist-renderer-date.js.map +0 -1
  364. package/dist/src/renderers/ox-grist-renderer-file.d.ts +0 -2
  365. package/dist/src/renderers/ox-grist-renderer-file.js +0 -27
  366. package/dist/src/renderers/ox-grist-renderer-file.js.map +0 -1
  367. package/dist/src/renderers/ox-grist-renderer-image.d.ts +0 -2
  368. package/dist/src/renderers/ox-grist-renderer-image.js +0 -24
  369. package/dist/src/renderers/ox-grist-renderer-image.js.map +0 -1
  370. package/dist/src/renderers/ox-grist-renderer-json5.d.ts +0 -2
  371. package/dist/src/renderers/ox-grist-renderer-json5.js +0 -30
  372. package/dist/src/renderers/ox-grist-renderer-json5.js.map +0 -1
  373. package/dist/src/renderers/ox-grist-renderer-link.d.ts +0 -2
  374. package/dist/src/renderers/ox-grist-renderer-link.js +0 -12
  375. package/dist/src/renderers/ox-grist-renderer-link.js.map +0 -1
  376. package/dist/src/renderers/ox-grist-renderer-password.d.ts +0 -2
  377. package/dist/src/renderers/ox-grist-renderer-password.js +0 -5
  378. package/dist/src/renderers/ox-grist-renderer-password.js.map +0 -1
  379. package/dist/src/renderers/ox-grist-renderer-progress.d.ts +0 -5
  380. package/dist/src/renderers/ox-grist-renderer-progress.js +0 -46
  381. package/dist/src/renderers/ox-grist-renderer-progress.js.map +0 -1
  382. package/dist/src/renderers/ox-grist-renderer-select.d.ts +0 -2
  383. package/dist/src/renderers/ox-grist-renderer-select.js +0 -50
  384. package/dist/src/renderers/ox-grist-renderer-select.js.map +0 -1
  385. package/dist/src/renderers/ox-grist-renderer-text.d.ts +0 -2
  386. package/dist/src/renderers/ox-grist-renderer-text.js +0 -11
  387. package/dist/src/renderers/ox-grist-renderer-text.js.map +0 -1
  388. package/dist/src/renderers/ox-grist-renderer-textarea.d.ts +0 -2
  389. package/dist/src/renderers/ox-grist-renderer-textarea.js +0 -5
  390. package/dist/src/renderers/ox-grist-renderer-textarea.js.map +0 -1
  391. package/dist/src/renderers/ox-grist-renderer-tree.d.ts +0 -12
  392. package/dist/src/renderers/ox-grist-renderer-tree.js +0 -183
  393. package/dist/src/renderers/ox-grist-renderer-tree.js.map +0 -1
  394. package/dist/src/renderers/ox-grist-renderer.d.ts +0 -15
  395. package/dist/src/renderers/ox-grist-renderer.js +0 -48
  396. package/dist/src/renderers/ox-grist-renderer.js.map +0 -1
  397. package/dist/src/renderers/registry.d.ts +0 -12
  398. package/dist/src/renderers/registry.js +0 -70
  399. package/dist/src/renderers/registry.js.map +0 -1
  400. package/dist/src/sorters/sorters-control.d.ts +0 -12
  401. package/dist/src/sorters/sorters-control.js +0 -138
  402. package/dist/src/sorters/sorters-control.js.map +0 -1
  403. package/dist/src/types.d.ts +0 -696
  404. package/dist/src/types.js +0 -23
  405. package/dist/src/types.js.map +0 -1
  406. package/dist/src/utils/index.d.ts +0 -2
  407. package/dist/src/utils/index.js +0 -3
  408. package/dist/src/utils/index.js.map +0 -1
  409. package/dist/src/utils/list-param.d.ts +0 -16
  410. package/dist/src/utils/list-param.js +0 -40
  411. package/dist/src/utils/list-param.js.map +0 -1
  412. package/dist/src/utils/supports-passive.d.ts +0 -1
  413. package/dist/src/utils/supports-passive.js +0 -13
  414. package/dist/src/utils/supports-passive.js.map +0 -1
  415. package/dist/stories/accumulator-format.stories.d.ts +0 -41
  416. package/dist/stories/accumulator-format.stories.js +0 -237
  417. package/dist/stories/accumulator-format.stories.js.map +0 -1
  418. package/dist/stories/append-position.stories.d.ts +0 -8
  419. package/dist/stories/append-position.stories.js +0 -183
  420. package/dist/stories/append-position.stories.js.map +0 -1
  421. package/dist/stories/barcode-input-filter.stories.d.ts +0 -33
  422. package/dist/stories/barcode-input-filter.stories.js +0 -185
  423. package/dist/stories/barcode-input-filter.stories.js.map +0 -1
  424. package/dist/stories/bounded-select-filters.stories.d.ts +0 -25
  425. package/dist/stories/bounded-select-filters.stories.js +0 -283
  426. package/dist/stories/bounded-select-filters.stories.js.map +0 -1
  427. package/dist/stories/bounded-select-record.stories.d.ts +0 -25
  428. package/dist/stories/bounded-select-record.stories.js +0 -286
  429. package/dist/stories/bounded-select-record.stories.js.map +0 -1
  430. package/dist/stories/click-event-custom.stories.d.ts +0 -45
  431. package/dist/stories/click-event-custom.stories.js +0 -248
  432. package/dist/stories/click-event-custom.stories.js.map +0 -1
  433. package/dist/stories/click-event.stories.d.ts +0 -45
  434. package/dist/stories/click-event.stories.js +0 -243
  435. package/dist/stories/click-event.stories.js.map +0 -1
  436. package/dist/stories/creatable-only-column.stories.d.ts +0 -29
  437. package/dist/stories/creatable-only-column.stories.js +0 -232
  438. package/dist/stories/creatable-only-column.stories.js.map +0 -1
  439. package/dist/stories/default-filters.stories.d.ts +0 -26
  440. package/dist/stories/default-filters.stories.js +0 -219
  441. package/dist/stories/default-filters.stories.js.map +0 -1
  442. package/dist/stories/dynamic-editable.stories.d.ts +0 -25
  443. package/dist/stories/dynamic-editable.stories.js +0 -293
  444. package/dist/stories/dynamic-editable.stories.js.map +0 -1
  445. package/dist/stories/empty-sorters.stories.d.ts +0 -25
  446. package/dist/stories/empty-sorters.stories.js +0 -162
  447. package/dist/stories/empty-sorters.stories.js.map +0 -1
  448. package/dist/stories/explicit-fetch.stories.d.ts +0 -25
  449. package/dist/stories/explicit-fetch.stories.js +0 -166
  450. package/dist/stories/explicit-fetch.stories.js.map +0 -1
  451. package/dist/stories/fixed-column.stories.d.ts +0 -26
  452. package/dist/stories/fixed-column.stories.js +0 -383
  453. package/dist/stories/fixed-column.stories.js.map +0 -1
  454. package/dist/stories/grid-setting.stories.d.ts +0 -47
  455. package/dist/stories/grid-setting.stories.js +0 -453
  456. package/dist/stories/grid-setting.stories.js.map +0 -1
  457. package/dist/stories/grist-modes.stories.d.ts +0 -37
  458. package/dist/stories/grist-modes.stories.js +0 -416
  459. package/dist/stories/grist-modes.stories.js.map +0 -1
  460. package/dist/stories/group-header.stories.d.ts +0 -26
  461. package/dist/stories/group-header.stories.js +0 -410
  462. package/dist/stories/group-header.stories.js.map +0 -1
  463. package/dist/stories/record-view.stories.d.ts +0 -24
  464. package/dist/stories/record-view.stories.js +0 -125
  465. package/dist/stories/record-view.stories.js.map +0 -1
  466. package/dist/stories/textarea.stories.d.ts +0 -37
  467. package/dist/stories/textarea.stories.js +0 -229
  468. package/dist/stories/textarea.stories.js.map +0 -1
  469. package/dist/stories/tree-column-with-checkbox.stories.d.ts +0 -26
  470. package/dist/stories/tree-column-with-checkbox.stories.js +0 -267
  471. package/dist/stories/tree-column-with-checkbox.stories.js.map +0 -1
  472. package/dist/stories/tree-column.stories.d.ts +0 -26
  473. package/dist/stories/tree-column.stories.js +0 -266
  474. package/dist/stories/tree-column.stories.js.map +0 -1
@@ -1,1064 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import './data-grid/data-grid.js';
3
- import './data-list/data-list.js';
4
- import './data-card/data-card.js';
5
- import { css, html, LitElement } from 'lit';
6
- import { customElement, property, query, queryAsync, state } from 'lit/decorators.js';
7
- import isEmpty from 'lodash-es/isEmpty.js';
8
- import isEqual from 'lodash-es/isEqual.js';
9
- import Headroom from '@operato/headroom';
10
- import { pulltorefresh } from '@operato/pull-to-refresh';
11
- import { HeadroomStyles, ScrollbarStyles, SpinnerStyles } from '@operato/styles';
12
- import { SnapshotTaker, TimeCapsule } from '@operato/utils';
13
- import { buildConfig } from './configure/config-builder.js';
14
- import { ZERO_CONFIG, ZERO_DATA, ZERO_PAGES, ZERO_PAGINATION } from './configure/zero-config.js';
15
- import { DataProvider } from './data-provider.js';
16
- import { ValidationReason } from './types.js';
17
- import { convertListParamToSearchString, convertSearchStringToListParam } from './utils/index.js';
18
- /**
19
- * A custom element for rendering data in a grid, list, or card format.
20
- *
21
- * @element ox-grist
22
- */
23
- let DataGrist = class DataGrist extends LitElement {
24
- constructor() {
25
- super(...arguments);
26
- /**
27
- * The rendering mode of the component, which can be 'GRID', 'LIST', or 'CARD'.
28
- * Default is 'GRID'.
29
- *
30
- * @property {string}
31
- */
32
- this.mode = 'GRID';
33
- /**
34
- * The data to be displayed in the data grist.
35
- *
36
- * @property {GristData}
37
- */
38
- this.data = ZERO_DATA;
39
- /**
40
- * Indicates whether explicit fetching of data is enabled. If true, data will be fetched
41
- * only when `fetch` method is called. Default is false.
42
- *
43
- * @property {boolean}
44
- */
45
- this.explicitFetch = false;
46
- this.personalConfigProvider = {
47
- load: () => {
48
- return {};
49
- },
50
- save: (preference) => preference,
51
- reset: () => { }
52
- };
53
- this._data = ZERO_DATA; // copy data, dirty data
54
- this._config = ZERO_CONFIG; // compiled configuration
55
- this._showSpinner = false;
56
- this.lastLocation = {};
57
- this.popstateEventHandler = ((e) => {
58
- const { origin, pathname, search } = window.location;
59
- if (this.lastLocation.origin &&
60
- (this.lastLocation.origin !== origin ||
61
- this.lastLocation.pathname !== pathname ||
62
- this.lastLocation.search === search)) {
63
- return;
64
- }
65
- this.lastLocation = {
66
- origin,
67
- pathname,
68
- search
69
- };
70
- var { filters = [], sorters = [] } = convertSearchStringToListParam(search);
71
- try {
72
- if (!isEqual(filters, this.filters) || !isEqual(sorters, this.sorters)) {
73
- this.dispatchEvent(new CustomEvent('fetch-params-change', {
74
- bubbles: true,
75
- composed: true,
76
- detail: {
77
- filters,
78
- sorters,
79
- from: 'url-parameter'
80
- }
81
- }));
82
- }
83
- }
84
- catch (e) {
85
- console.error(`invalid fetch params on URL query string : ${e}`);
86
- }
87
- }).bind(this);
88
- this.fetchParamsChangeEventHandler = ((e) => {
89
- const { sorters, filters, from } = e.detail;
90
- sorters && (this.sorters = sorters);
91
- filters && (this.filters = filters);
92
- if (!this.urlParamsSensitive || from === 'url-parameter') {
93
- return;
94
- }
95
- const queryString = convertListParamToSearchString({ filters, sorters, base: window.location.search });
96
- this.lastLocation.search = queryString ? `?${queryString}` : '';
97
- const url = `${window.location.pathname}${this.lastLocation.search}`;
98
- history.pushState({}, document.title, url);
99
- }).bind(this);
100
- }
101
- async firstUpdated() {
102
- // Mutation Observer를 사용하여 슬롯의 크기 변경을 감지하고 다시 그린다.
103
- const observer = new ResizeObserver(mutationsList => {
104
- this.setHeadroom();
105
- });
106
- observer.observe(this.head);
107
- }
108
- async connectedCallback() {
109
- super.connectedCallback();
110
- this.dataProvider = new DataProvider(this);
111
- this.timeCapsule = new TimeCapsule(10);
112
- this.snapshotTaker = new SnapshotTaker(this, this.timeCapsule);
113
- this.addEventListener('fetch-params-change', this.fetchParamsChangeEventHandler);
114
- await this.updateComplete;
115
- }
116
- disconnectedCallback() {
117
- var _a;
118
- super.disconnectedCallback();
119
- this.removeEventListener('fetch-params-change', this.fetchParamsChangeEventHandler);
120
- this.timeCapsule && this.timeCapsule.dispose();
121
- this.snapshotTaker && this.snapshotTaker.dispose();
122
- delete this.timeCapsule;
123
- delete this.snapshotTaker;
124
- (_a = this.dataProvider) === null || _a === void 0 ? void 0 : _a.dispose();
125
- this.resetPullToRefresh();
126
- }
127
- resetPullToRefresh() {
128
- if (this.pulltorefreshHandle) {
129
- this.pulltorefreshHandle();
130
- delete this.pulltorefreshHandle;
131
- }
132
- }
133
- async setPullToRefresh() {
134
- this.resetPullToRefresh();
135
- if (this.mode !== 'GRID' && this.fetchHandler) {
136
- this.pulltorefreshHandle = pulltorefresh({
137
- container: await this.wrap,
138
- scrollable: this.grist.pullToRefreshTarget,
139
- refresh: () => {
140
- return this.fetch(true);
141
- }
142
- });
143
- }
144
- }
145
- applyUpdatedConfiguration() {
146
- var _a, _b;
147
- if (!this.personalConfig || !this.config) {
148
- return;
149
- }
150
- const config = { ...this.config };
151
- const columns = config.columns;
152
- const { columns: personalColumns, sorters, pagination, mode } = this.personalConfig;
153
- if (personalColumns) {
154
- const xcolumns = columns.map((column) => {
155
- const personalColumn = personalColumns.find(pcolumn => pcolumn.name == column.name);
156
- return personalColumn ? { ...column, ...personalColumn } : column;
157
- });
158
- function reorderList(a, b) {
159
- // 결과 배열 초기화, a 배열 길이만큼 undefined로 채움
160
- const result = new Array(a.length);
161
- // b 배열에 없는 아이템은 원래 위치로 채움
162
- a.forEach((item, index) => {
163
- if (!item.name || !b.find(bi => bi.name == item.name)) {
164
- result[index] = item;
165
- }
166
- });
167
- b.forEach(item => {
168
- const ai = a.find(ai => ai.name == item.name);
169
- if (ai) {
170
- result[result.findIndex(slot => slot === undefined)] = ai;
171
- }
172
- });
173
- return result;
174
- }
175
- // 배열 재정렬 실행
176
- config.columns = reorderList(xcolumns, personalColumns);
177
- }
178
- if (pagination) {
179
- config.pagination = pagination;
180
- }
181
- if (sorters) {
182
- config.sorters = sorters;
183
- }
184
- if (mode) {
185
- this.mode = mode;
186
- }
187
- this._config = buildConfig({
188
- ...config
189
- });
190
- this.dispatchEvent(new CustomEvent('config-change', {
191
- bubbles: true,
192
- composed: true,
193
- detail: this.compiledConfig
194
- }));
195
- this.pagination = this.compiledConfig.pagination || {};
196
- if (!this.urlParamsSensitive) {
197
- const sorters = (_a = this.compiledConfig) === null || _a === void 0 ? void 0 : _a.sorters;
198
- const filters = (_b = this.compiledConfig) === null || _b === void 0 ? void 0 : _b.columns.filter(column => column.filter &&
199
- 'value' in column.filter &&
200
- (typeof column.filter.value === 'boolean' ||
201
- column.filter.value)).map(column => {
202
- const filter = column.filter;
203
- return { name: column.name, operator: filter.operator, value: filter.value };
204
- });
205
- this.dispatchEvent(new CustomEvent('fetch-params-change', {
206
- bubbles: true,
207
- composed: true,
208
- detail: {
209
- filters,
210
- sorters,
211
- from: 'config'
212
- }
213
- }));
214
- }
215
- if (this.dataProvider) {
216
- const { limit, pages = ZERO_PAGES } = this._config.pagination || ZERO_PAGINATION;
217
- this.dataProvider.page = 1;
218
- this.dataProvider.limit = limit || pages[0] || ZERO_PAGES[0];
219
- }
220
- if (this.pendingFetch || (!this.urlParamsSensitive && !this.explicitFetch)) {
221
- this.pendingFetch = false;
222
- this.fetch();
223
- }
224
- }
225
- setHeadroom() {
226
- var _a;
227
- (_a = this.headroom) === null || _a === void 0 ? void 0 : _a.destroy();
228
- if (this.grist && this.head && this.head.style.display !== 'none') {
229
- const style = getComputedStyle(this.grist);
230
- this.orginPaddingTop = style.paddingTop || '0';
231
- this.originMarginTop = style.marginTop || '0';
232
- this.headroom = new Headroom(this.head, {
233
- scroller: this.grist,
234
- onTop: () => {
235
- this.grist.style.paddingTop = this.orginPaddingTop;
236
- this.originMarginTop = this.grist.style.marginTop;
237
- this.grist.style.marginTop = this.head.clientHeight + 'px';
238
- },
239
- onNotTop: () => {
240
- this.grist.style.marginTop = this.originMarginTop;
241
- this.orginPaddingTop = this.grist.style.paddingTop;
242
- this.grist.style.paddingTop = this.head.clientHeight + 'px';
243
- }
244
- });
245
- this.headroom.init();
246
- }
247
- else if (this.orginPaddingTop) {
248
- this.grist.style.paddingTop = this.orginPaddingTop;
249
- this.grist.style.marginTop = this.originMarginTop;
250
- }
251
- }
252
- render() {
253
- const empty = !this._showSpinner && this._data.records.length == 0;
254
- return html `
255
- <slot name="headroom"> </slot>
256
- <div id="wrap" @keydown=${(e) => this.onKeydown(e)}>
257
- ${this.mode == 'GRID'
258
- ? html `
259
- <ox-grid
260
- id="grist"
261
- .config=${this.compiledConfig}
262
- .data=${this._data}
263
- .sorters=${this.sorters || []}
264
- .filters=${this.filters || []}
265
- .pagination=${this.pagination || {}}
266
- ?empty=${empty}
267
- >
268
- <slot name="setting" slot="setting"> </slot>
269
- </ox-grid>
270
- `
271
- : this.mode == 'CARD'
272
- ? html `
273
- <ox-card
274
- id="grist"
275
- .config=${this.compiledConfig}
276
- .data=${this._data}
277
- .sorters=${this.sorters || []}
278
- .filters=${this.filters || []}
279
- ?empty=${empty}
280
- >
281
- </ox-card>
282
- `
283
- : html `
284
- <ox-list
285
- id="grist"
286
- .config=${this.compiledConfig}
287
- .data=${this._data}
288
- .sorters=${this.sorters || []}
289
- .filters=${this.filters || []}
290
- ?empty=${empty}
291
- >
292
- </ox-list>
293
- `}
294
- </div>
295
-
296
- <div id="spinner" ?show=${this._showSpinner}></div>
297
- `;
298
- }
299
- /* for timecapsule feature */
300
- onKeydown(e) {
301
- if (e.key === 'z' && (e.metaKey || e.ctrlKey)) {
302
- if (e.shiftKey) {
303
- this.redo();
304
- }
305
- else {
306
- this.undo();
307
- }
308
- }
309
- }
310
- /**
311
- * Gets the current state of the component. The state includes information about the
312
- * dirty records and their changes.
313
- *
314
- * @getter
315
- * @public
316
- * @type {string}
317
- */
318
- get state() {
319
- return JSON.stringify(this.dirtyData);
320
- }
321
- /**
322
- * Undoes the previous change in the component's data by restoring it to the previous state.
323
- * This method is part of the TimeCapsule feature, allowing users to revert changes.
324
- */
325
- undo() {
326
- var _a, _b;
327
- if (!((_a = this.timeCapsule) === null || _a === void 0 ? void 0 : _a.backwardable)) {
328
- return;
329
- }
330
- this._data = JSON.parse((_b = this.timeCapsule) === null || _b === void 0 ? void 0 : _b.backward());
331
- }
332
- /**
333
- * Redoes the previously undone change in the component's data by restoring it to the next state.
334
- * This method is part of the TimeCapsule feature, allowing users to reapply changes.
335
- */
336
- redo() {
337
- var _a, _b;
338
- if (!((_a = this.timeCapsule) === null || _a === void 0 ? void 0 : _a.forwardable)) {
339
- return;
340
- }
341
- this._data = JSON.parse((_b = this.timeCapsule) === null || _b === void 0 ? void 0 : _b.forward());
342
- }
343
- /**
344
- * Fetches data from a data source and updates the component's data. This method is used to retrieve
345
- * new data or refresh the existing data in the component.
346
- *
347
- * @method
348
- * @param {boolean} reset - If true, the method resets the scroll position to the top.
349
- */
350
- async fetch(reset = true) {
351
- var _a, _b;
352
- if (this.compiledConfig === ZERO_CONFIG) {
353
- /* avoid to be here */
354
- console.warn('grist is not configured yet.');
355
- this.pendingFetch = true;
356
- return;
357
- }
358
- if (reset && this.grist) {
359
- /*
360
- * scroll 의 현재위치에 의해서 scroll 이벤트가 발생할 수 있으므로, 이를 방지하기 위해서 스크롤의 위치를 TOP으로 옮긴다.
361
- * (scroll 이 첫페이지 크기 이상으로 내려가 있는 경우, 첫페이지부터 다시 표시하는 경우에, scroll 이벤트가 발생한다.)
362
- */
363
- this.grist.scrollTop = 0;
364
- }
365
- if (this.dataProvider) {
366
- let { limit: initLimit, page: initPage, infinite } = this.compiledConfig.pagination || {};
367
- let { limit = initLimit || ZERO_PAGINATION.limit, page = initPage || ZERO_PAGINATION.page } = this.dataProvider;
368
- if (infinite || this.mode !== 'GRID') {
369
- await this.dataProvider.attach(reset);
370
- }
371
- else {
372
- await this.dataProvider.fetch({
373
- limit,
374
- page,
375
- sorters: this.sorters || ((_a = this.compiledConfig) === null || _a === void 0 ? void 0 : _a.sorters),
376
- sortings: this.sorters || ((_b = this.compiledConfig) === null || _b === void 0 ? void 0 : _b.sorters),
377
- filters: this.filters
378
- });
379
- this.pagination && (this.pagination.limit = limit);
380
- }
381
- }
382
- }
383
- async updated(changes) {
384
- var needToSetPullToRefresh = false;
385
- if (changes.has('filters')) {
386
- await this.requestUpdate();
387
- }
388
- if (changes.has('sorters')) {
389
- await this.requestUpdate();
390
- }
391
- if (changes.has('personalConfigProvider')) {
392
- this.personalConfig = await this.personalConfigProvider.load();
393
- }
394
- else if (changes.has('config') || changes.has('personalConfig')) {
395
- this.applyUpdatedConfiguration();
396
- }
397
- if (changes.has('fetchHandler')) {
398
- this.dataProvider && (this.dataProvider.fetchHandler = this.fetchHandler);
399
- needToSetPullToRefresh = true;
400
- }
401
- if (changes.has('fetchOptions')) {
402
- this.dataProvider && (this.dataProvider.fetchOptions = this.fetchOptions);
403
- }
404
- if (changes.has('data')) {
405
- this.reset();
406
- }
407
- if (changes.has('mode')) {
408
- if (this.mode === 'GRID') {
409
- this.style.removeProperty('--ox-grist-padding');
410
- }
411
- else {
412
- this.style.setProperty('--ox-grist-padding', '0');
413
- }
414
- needToSetPullToRefresh = true;
415
- this.setHeadroom();
416
- }
417
- if (changes.has('selectedRecords')) {
418
- var { records } = this.data || [];
419
- var selectedRecords = this.selectedRecords || [];
420
- var _records = this.dirtyData.records;
421
- /* 원본데이타에서 index를 찾아서, 복사본 데이타의 selected를 설정한다. */
422
- selectedRecords.forEach(selected => {
423
- var index = records.indexOf(selected);
424
- var record = _records[index];
425
- if (record) {
426
- record['__selected__'] = true;
427
- }
428
- });
429
- /* update _data property intentionally */
430
- this.refresh();
431
- }
432
- if (changes.has('urlParamsSensitive')) {
433
- if (this.urlParamsSensitive) {
434
- //@ts-ignore
435
- this.popstateEventHandler(); // call for the first time
436
- window.addEventListener('popstate', this.popstateEventHandler);
437
- }
438
- else {
439
- window.removeEventListener('popstate', this.popstateEventHandler);
440
- }
441
- }
442
- if (needToSetPullToRefresh) {
443
- await this.setPullToRefresh();
444
- }
445
- }
446
- /**
447
- * Represents the compiled configuration of the component, which includes various settings and
448
- * column configurations. You can access this property to get information about how the component
449
- * is configured.
450
- *
451
- * @getter
452
- * @public
453
- * @type {GristConfig}
454
- */
455
- get compiledConfig() {
456
- return this._config;
457
- }
458
- /**
459
- * Returns the dirty data in the component, which includes the records that have been added,
460
- * modified, or deleted but have not been committed to the main data yet.
461
- *
462
- * @getter
463
- * @public
464
- * @type {GristData} - An object representing the dirty data.
465
- */
466
- get dirtyData() {
467
- var _a;
468
- return ((_a = this.grist) === null || _a === void 0 ? void 0 : _a.data) || {};
469
- }
470
- /**
471
- * Returns an array of GristRecord objects representing the records in the dirty state. These are
472
- * the records that have been added, modified, or deleted but have not been committed to the main
473
- * data yet.
474
- *
475
- * @getter
476
- * @public
477
- * @type {GristRecord[]} - An array of GristRecord objects representing the dirty records.
478
- */
479
- get dirtyRecords() {
480
- var { records = [] } = this.dirtyData;
481
- return records.filter(record => record['__dirty__']);
482
- }
483
- /**
484
- * Exports a list of patches representing the changes in the dirty state of records. Each patch
485
- * contains information about whether a record was added, modified, or deleted, along with the
486
- * record's unique identifier and the changed field values.
487
- *
488
- * @param {Object} options - Export options that control the format of the patch list.
489
- * @param {string} options.flagName - The name of the flag field in the patch indicating the change type (default: 'patchFlag').
490
- * @param {string} options.addedFlag - The flag value for added records (default: '+').
491
- * @param {string} options.deletedFlag - The flag value for deleted records (default: '-').
492
- * @param {string} options.modifiedFlag - The flag value for modified records (default: 'M').
493
- * @param {string} options.idField - The name of the unique identifier field (default: 'id').
494
- * @returns {Object[]} - An array of objects representing the patches.
495
- */
496
- exportPatchList({ flagName = 'patchFlag', addedFlag = '+', deletedFlag = '-', modifiedFlag = 'M', idField = 'id' }) {
497
- let dirtyRecords = this.dirtyRecords;
498
- if (!dirtyRecords || dirtyRecords.length == 0) {
499
- return [];
500
- }
501
- return dirtyRecords.map(record => {
502
- let flag = record.__dirty__;
503
- let patch = {
504
- [flagName]: flag == 'M' ? modifiedFlag : flag == '+' ? addedFlag : deletedFlag
505
- };
506
- if (idField in record && record[idField]) {
507
- patch[idField] = record[idField];
508
- }
509
- for (let key in record.__dirtyfields__) {
510
- patch[key] = record[key];
511
- }
512
- return patch;
513
- });
514
- }
515
- /**
516
- * Exports the selected records or all records in the component, depending on the specified options.
517
- * You can use this method to export data from the component in various formats or for different purposes.
518
- *
519
- * @param {Object} options - Export options that control the behavior of the export.
520
- * @param {boolean} options.ifSelectedOnly - If true, exports only the selected records. If false, exports all records.
521
- * @param {boolean} options.includeHiddenField - If true, includes hidden fields in the exported data.
522
- * @returns {Object[]} - An array of objects representing the exported records.
523
- */
524
- exportRecords({ ifSelectedOnly = true, includeHiddenField = true } = {}) {
525
- let records = ifSelectedOnly ? this.selected : this.data.records;
526
- if (ifSelectedOnly && (!records || records.length == 0)) {
527
- records = this.data.records;
528
- }
529
- let columns = this.compiledConfig.columns.filter(column => column.type !== 'gutter');
530
- if (!includeHiddenField) {
531
- columns = columns.filter(column => !column.hidden);
532
- }
533
- let columnNames = columns.map(column => column.name);
534
- return records.map(item => {
535
- return columnNames.reduce((record, name) => {
536
- record[name] = item[name];
537
- return record;
538
- }, {});
539
- });
540
- }
541
- /**
542
- * Gets the currently selected records in the component. It returns an array of GristRecord objects
543
- * that are currently selected. You can access this getter to retrieve the selected records.
544
- *
545
- * @getter
546
- * @public
547
- * @type {GristRecord[]}
548
- */
549
- get selected() {
550
- var _a;
551
- var { records = [] } = (_a = this.grist) === null || _a === void 0 ? void 0 : _a.data;
552
- return records.filter(record => record['__selected__']);
553
- }
554
- /**
555
- * Sets the currently selected records in the component. You can use this setter to programmatically
556
- * select specific records by providing an array of GristRecord objects to be selected.
557
- *
558
- * @setter
559
- * @public
560
- * @type {GristRecord[]}
561
- */
562
- set selected(selected) {
563
- if (!this.grist) {
564
- console.warn('grist not ready');
565
- return;
566
- }
567
- selected.forEach(record => (record.__selected__ = true));
568
- this.refresh();
569
- }
570
- /**
571
- * Selects records in the component based on the provided selector function. You can use this method
572
- * to programmatically select specific records in the component.
573
- *
574
- * @method
575
- * @param {GristSelectFunction} selector - A function that determines which records to select.
576
- * @param {boolean} reset - If true, clears the previous selection before applying the new one.
577
- * If false, adds to the existing selection.
578
- */
579
- select(selector, reset = false) {
580
- var _a;
581
- var { records = [] } = (_a = this.grist) === null || _a === void 0 ? void 0 : _a.data;
582
- if (reset) {
583
- this.selected.forEach(record => (record.__selected__ = false));
584
- }
585
- records.filter(record => selector(record)).forEach(record => (record.__selected__ = true));
586
- this.refresh();
587
- }
588
- /**
589
- * Shows the loading spinner in the component's UI to indicate ongoing data loading or processing.
590
- * You can call this method to display the spinner when necessary.
591
- */
592
- showSpinner() {
593
- this._showSpinner = true;
594
- }
595
- /**
596
- * Hides the loading spinner in the component's UI to indicate that data loading or processing has completed.
597
- * You can call this method to hide the spinner when loading or processing is finished.
598
- */
599
- hideSpinner() {
600
- this._showSpinner = false;
601
- }
602
- /**
603
- * Focuses on the component, making it the active element in the document. This method is useful
604
- * when you want to programmatically set focus to the component.
605
- */
606
- focus() {
607
- super.focus();
608
- this.grist.focus();
609
- }
610
- /**
611
- * Commits the changes made in the dirty state to the component's data. This method updates the
612
- * component's data with the changes made in the dirty state and clears the dirty state.
613
- */
614
- commit() {
615
- var { page, total, limit, records } = this.grist.data;
616
- this.data = {
617
- page,
618
- total,
619
- limit,
620
- records: records.map(record => {
621
- var copied = {
622
- ...record
623
- };
624
- delete copied.__seq__;
625
- delete copied.__dirty__;
626
- delete copied.__selected__;
627
- delete copied.__changes__;
628
- delete copied.__dirtyfields__;
629
- delete copied.__origin__;
630
- delete copied.__depth__;
631
- delete copied.__expanded__;
632
- delete copied.__check_in_tree__;
633
- delete copied.__children__;
634
- delete copied.__typename;
635
- return copied;
636
- })
637
- };
638
- }
639
- /**
640
- * Shows the headroom element in the component. The headroom element is typically used for
641
- * displaying additional information or controls at the top of the component.
642
- */
643
- showHeadroom() {
644
- if (this.head) {
645
- this.head.style.display = 'block';
646
- this.setHeadroom();
647
- }
648
- }
649
- /**
650
- * Hides the headroom element in the component. This method hides the additional information
651
- * or controls displayed at the top of the component.
652
- */
653
- hideHeadroom() {
654
- if (this.head) {
655
- this.head.style.display = 'none';
656
- this.setHeadroom();
657
- }
658
- }
659
- /**
660
- * Toggles the visibility of the headroom element in the component. If the headroom element is
661
- * currently visible, this method hides it. If it's hidden, this method shows it.
662
- */
663
- toggleHeadroom() {
664
- if (this.head) {
665
- const display = this.head.style.display;
666
- this.head.style.display = display !== 'none' ? 'none' : 'block';
667
- this.setHeadroom();
668
- }
669
- }
670
- /**
671
- * Forced internal data to be reflected on the screen
672
- * Data changing through a normal method is automatically reflected on the screen, so it is a method that does not need to be used in general.
673
- * Therefore, it will be deprecated.
674
- * @method
675
- */
676
- refresh() {
677
- this.grist.refresh();
678
- }
679
- /**
680
- * Resets the component's data to its original state before any changes were made.
681
- * This method discards all unsaved changes and restores the data to its initial state.
682
- *
683
- * @method
684
- * @public
685
- */
686
- reset() {
687
- var _a, _b;
688
- // TODO tree 형태의 데이타로 _data를 만들 때, children, collapsed 등을 감안한다.
689
- var { limit = ZERO_PAGINATION.limit, page = ZERO_PAGINATION.page, total = ZERO_PAGINATION.total, records = [] } = this.data || ZERO_PAGINATION;
690
- const { childrenProperty, expanded } = this.compiledConfig.tree;
691
- /* 원본 데이타를 남기고, 복사본(_data)을 사용한다. */
692
- records = [].concat(...records.map((record, idx) => this.traverseReset(record, this.mode == 'GRID' ? (page - 1) * limit + idx + 1 : idx + 1, 0, childrenProperty, expanded)));
693
- if (childrenProperty) {
694
- records = [].concat(...records.map(record => this.traverseExpanded(record)));
695
- }
696
- this._data = {
697
- limit,
698
- page,
699
- total,
700
- records
701
- };
702
- (_a = this.timeCapsule) === null || _a === void 0 ? void 0 : _a.reset();
703
- (_b = this.snapshotTaker) === null || _b === void 0 ? void 0 : _b.take(true);
704
- }
705
- traverseReset(record, seq, __depth__, childrenProperty, expanded) {
706
- const copied = {
707
- ...record,
708
- __seq__: seq,
709
- __origin__: record
710
- };
711
- if (childrenProperty) {
712
- const children = record[childrenProperty];
713
- const __expanded__ = expanded(record);
714
- const __children__ = (children || []).map(child => this.traverseReset(child, seq, __depth__ + 1, childrenProperty, expanded));
715
- Object.assign(copied, { __depth__, __children__, __expanded__ });
716
- }
717
- return copied;
718
- }
719
- traverseExpanded(record) {
720
- const { __expanded__, __children__ = [] } = record;
721
- if (__expanded__ && __children__.length > 0) {
722
- return [record].concat(...__children__.map(child => this.traverseExpanded(child)));
723
- }
724
- else {
725
- return [record];
726
- }
727
- }
728
- /**
729
- * Checks for dirty records in the component's data and marks them as dirty.
730
- * Dirty records are those that have unsaved changes.
731
- */
732
- checkDirties() {
733
- var _a;
734
- const records = this.dirtyRecords;
735
- const { columns = [] } = this.compiledConfig || {};
736
- for (var record of records || []) {
737
- var origin = record['__origin__'] || {};
738
- var dirtyFields = (record['__dirtyfields__'] = columns
739
- .filter(column => column.type !== 'gutter' && !isEqual(origin[column.name], record[column.name]))
740
- .reduce((sum, column) => {
741
- var name = column.name;
742
- sum[name] = {
743
- before: origin[name],
744
- after: record[name]
745
- };
746
- return sum;
747
- }, {}));
748
- if (record['__dirty__'] == 'M' && isEmpty(dirtyFields)) {
749
- delete record['__dirty__'];
750
- }
751
- }
752
- this._data = { ...this.dirtyData };
753
- (_a = this.snapshotTaker) === null || _a === void 0 ? void 0 : _a.touch();
754
- }
755
- /**
756
- * Clones the selected records in the component's data. It creates a copy of the selected records
757
- * and marks them as new (added) records.
758
- */
759
- cloneSelectedRecords() {
760
- const records = this.selected || [];
761
- records.forEach(record => {
762
- var cloned = {
763
- __dirty__: '+'
764
- };
765
- this.compiledConfig.columns
766
- .filter(column => column.record.editable)
767
- .forEach(column => {
768
- cloned[column.name] = record[column.name];
769
- });
770
- const rowIndex = this.dirtyData.records.findIndex(rec => rec === record);
771
- this.dirtyData.records.splice(rowIndex + 1, 0, cloned);
772
- });
773
- this.checkDirties();
774
- }
775
- /**
776
- * Adds child nodes to selected records in the component's tree data. It allows users to add child nodes
777
- * to the selected parent records.
778
- */
779
- addChildNodes() {
780
- const records = this.selected || [];
781
- records.forEach(record => {
782
- this.grist.addChildNode(record);
783
- });
784
- }
785
- /**
786
- * Adds sibling nodes to selected records in the component's tree data. It allows users to add sibling nodes
787
- * to the selected records.
788
- */
789
- addSiblingNodes() {
790
- const records = this.selected || [];
791
- records.forEach(record => {
792
- this.grist.addSiblingNode(record);
793
- });
794
- }
795
- /**
796
- * Deletes the selected records in the component's data. It removes the selected records from the data,
797
- * optionally marking them as deleted.
798
- *
799
- * @method
800
- * @param {boolean} dirty - If true, the method marks the records as deleted.
801
- */
802
- deleteSelectedRecords(dirty = true) {
803
- const records = this.selected || [];
804
- records.forEach(record => {
805
- if (dirty) {
806
- record.__dirty__ = '-';
807
- }
808
- const rowIndex = this.dirtyData.records.findIndex(rec => rec === record);
809
- this.dirtyData.records.splice(rowIndex, 1);
810
- });
811
- this.checkDirties();
812
- }
813
- /**
814
- * Adds a new record to the data grid. The added record is marked as newly created
815
- * by setting the `__dirty__` flag to '+'. This flag indicates that the record
816
- * is in a "new" state and hasn't been committed to the main data yet.
817
- *
818
- * @param {GristRecord} [record] - An optional record to add. If no record is provided,
819
- * an empty record with the `__dirty__` flag set to '+' will be added.
820
- */
821
- addRecord(record) {
822
- this._data = {
823
- ...this._data,
824
- records: [
825
- ...this.dirtyData.records,
826
- {
827
- ...record,
828
- __dirty__: '+'
829
- }
830
- ]
831
- };
832
- }
833
- /**
834
- * Adds a new record to the top of the data grid. The added record is marked as newly created
835
- * by setting the `__dirty__` flag to '+'. This flag indicates that the record
836
- * is in a "new" state and hasn't been committed to the main data yet.
837
- *
838
- * This method is useful when you need to add new records at the top of the grid
839
- * without changing the default behavior of the appendable row.
840
- *
841
- * @param {GristRecord} [record] - An optional record to add. If no record is provided,
842
- * an empty record with the `__dirty__` flag set to '+' will be added.
843
- */
844
- addRecordToTop(record) {
845
- const newRecord = {
846
- ...record,
847
- __dirty__: '+'
848
- };
849
- this._data = {
850
- ...this._data,
851
- records: [newRecord, ...this.dirtyData.records]
852
- };
853
- // 새 레코드에 포커스 및 스크롤 처리
854
- setTimeout(() => {
855
- // 그리드가 있는 경우 첫 번째 행에 포커스 설정
856
- if (this.grist) {
857
- // 포커스를 첫 번째 행으로 설정 (첫 번째 편집 가능한 셀로)
858
- const focusableColumns = this.compiledConfig.columns.filter(column => column.type !== 'gutter' && !column.hidden && column.record.editable);
859
- if (focusableColumns.length > 0) {
860
- const columnIndex = this.compiledConfig.columns.indexOf(focusableColumns[0]);
861
- this.grist.dispatchEvent(new CustomEvent('focus-change', {
862
- bubbles: true,
863
- composed: true,
864
- detail: {
865
- row: 0,
866
- column: columnIndex
867
- }
868
- }));
869
- }
870
- // 스크롤을 맨 위로 이동
871
- this.grist.scrollTop = 0;
872
- }
873
- }, 0);
874
- }
875
- /**
876
- * Retrieves the search text used for filtering records.
877
- *
878
- * @property {string}
879
- */
880
- get searchText() {
881
- var _a, _b, _c, _d;
882
- return ((_d = (_c = (_b = (_a = this.filters) === null || _a === void 0 ? void 0 : _a.find(filter => filter.operator === 'search')) === null || _b === void 0 ? void 0 : _b.value) === null || _c === void 0 ? void 0 : _c.match(/^\%(.*)\%$/)) === null || _d === void 0 ? void 0 : _d[1]) || '';
883
- }
884
- /**
885
- * Sets the search text for filtering records.
886
- *
887
- * @property {string}
888
- */
889
- set searchText(searchText) {
890
- var filters = (this.filters || []).filter((filter) => filter.operator !== 'search');
891
- if (searchText) {
892
- const filtersConfig = this.compiledConfig.columns.filter(columnConfig => !!columnConfig.filter);
893
- const searchColumns = filtersConfig.filter(columnConfig => {
894
- const filter = columnConfig.filter;
895
- return filter.operator === 'search';
896
- });
897
- filters = [
898
- ...searchColumns.map((column) => {
899
- const { name } = column;
900
- return {
901
- name,
902
- operator: 'search',
903
- value: `%${searchText}%`
904
- };
905
- }),
906
- ...filters
907
- ];
908
- }
909
- this.grist.dispatchEvent(new CustomEvent('fetch-params-change', {
910
- bubbles: true,
911
- composed: true,
912
- detail: {
913
- filters
914
- }
915
- }));
916
- }
917
- /**
918
- * Returns the current pagination limit.
919
- * @returns {number} The current pagination limit value
920
- */
921
- getCurrentLimit() {
922
- var _a;
923
- return ((_a = this.dataProvider) === null || _a === void 0 ? void 0 : _a.limit) || ZERO_PAGINATION.limit;
924
- }
925
- /**
926
- * Checks the validity of dirty records.
927
- * @returns {Array<{record: GristRecord, invalidFields: Array<{field: string, reason: ValidationReason}>}>} List of invalid records and their corresponding invalid fields
928
- */
929
- checkDirtyRecordsValidity() {
930
- var _a;
931
- const records = this.dirtyRecords;
932
- const validationResults = [];
933
- for (const record of records) {
934
- const invalidFields = [];
935
- for (const column of this.compiledConfig.columns) {
936
- if (((_a = column.record) === null || _a === void 0 ? void 0 : _a.mandatory) && (record[column.name] === undefined || record[column.name] === null)) {
937
- invalidFields.push({
938
- field: column.name,
939
- reason: ValidationReason.MANDATORY
940
- });
941
- }
942
- // Additional validation rules can be implemented here.
943
- }
944
- if (invalidFields.length > 0) {
945
- validationResults.push({
946
- record,
947
- invalidFields
948
- });
949
- }
950
- }
951
- return validationResults;
952
- }
953
- };
954
- DataGrist.styles = [
955
- ScrollbarStyles,
956
- HeadroomStyles,
957
- SpinnerStyles,
958
- css `
959
- :host {
960
- display: flex;
961
- flex-direction: column;
962
- box-sizing: border-box;
963
- background-color: var(--grist-background-color);
964
- min-height: 120px;
965
-
966
- overflow: hidden;
967
-
968
- /* for pulltorefresh controller */
969
- position: relative;
970
-
971
- padding: var(--ox-grist-padding);
972
-
973
- --md-icon-size: var(--grid-record-wide-fontsize);
974
- }
975
-
976
- #wrap {
977
- flex: 1;
978
- display: flex;
979
- flex-direction: column;
980
- overflow: auto;
981
- }
982
-
983
- ox-grid {
984
- flex: 1;
985
- border: var(--grid-wrap-container-border, 0px solid transparent);
986
- border-width: var(--grid-wrap-container-border-width, 0px);
987
- }
988
-
989
- slot[name='headroom'] {
990
- display: block;
991
- position: absolute;
992
- top: 0;
993
- left: 0;
994
-
995
- width: 100%;
996
- box-sizing: border-box;
997
- background-color: var(--grist-background-color);
998
-
999
- z-index: 8;
1000
- }
1001
- `
1002
- ];
1003
- __decorate([
1004
- property()
1005
- ], DataGrist.prototype, "mode", void 0);
1006
- __decorate([
1007
- property()
1008
- ], DataGrist.prototype, "config", void 0);
1009
- __decorate([
1010
- property({ type: Object })
1011
- ], DataGrist.prototype, "data", void 0);
1012
- __decorate([
1013
- property({ type: Array })
1014
- ], DataGrist.prototype, "selectedRecords", void 0);
1015
- __decorate([
1016
- property({ type: Boolean, attribute: 'explicit-fetch' })
1017
- ], DataGrist.prototype, "explicitFetch", void 0);
1018
- __decorate([
1019
- property()
1020
- ], DataGrist.prototype, "fetchHandler", void 0);
1021
- __decorate([
1022
- property()
1023
- ], DataGrist.prototype, "fetchOptions", void 0);
1024
- __decorate([
1025
- property({ type: Array })
1026
- ], DataGrist.prototype, "filters", void 0);
1027
- __decorate([
1028
- property({ type: Array })
1029
- ], DataGrist.prototype, "sorters", void 0);
1030
- __decorate([
1031
- property({ type: Object })
1032
- ], DataGrist.prototype, "pagination", void 0);
1033
- __decorate([
1034
- property({ type: Boolean, attribute: 'url-params-sensitive' })
1035
- ], DataGrist.prototype, "urlParamsSensitive", void 0);
1036
- __decorate([
1037
- property({ type: Object })
1038
- ], DataGrist.prototype, "personalConfigProvider", void 0);
1039
- __decorate([
1040
- state()
1041
- ], DataGrist.prototype, "personalConfig", void 0);
1042
- __decorate([
1043
- state()
1044
- ], DataGrist.prototype, "_data", void 0);
1045
- __decorate([
1046
- state()
1047
- ], DataGrist.prototype, "_config", void 0);
1048
- __decorate([
1049
- state()
1050
- ], DataGrist.prototype, "_showSpinner", void 0);
1051
- __decorate([
1052
- query('slot[name=headroom]')
1053
- ], DataGrist.prototype, "head", void 0);
1054
- __decorate([
1055
- query('#grist')
1056
- ], DataGrist.prototype, "grist", void 0);
1057
- __decorate([
1058
- queryAsync('#wrap')
1059
- ], DataGrist.prototype, "wrap", void 0);
1060
- DataGrist = __decorate([
1061
- customElement('ox-grist')
1062
- ], DataGrist);
1063
- export { DataGrist };
1064
- //# sourceMappingURL=data-grist.js.map