@operato/data-grist 8.0.0 → 9.0.0-beta.10

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 (309) hide show
  1. package/CHANGELOG.md +223 -30
  2. package/dist/index.d.ts +1 -1
  3. package/dist/index.js +1 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/accumulator/accumulator.d.ts +1 -1
  6. package/dist/src/accumulator/accumulator.js.map +1 -1
  7. package/dist/src/configure/column-builder.d.ts +1 -1
  8. package/dist/src/configure/column-builder.js +5 -5
  9. package/dist/src/configure/column-builder.js.map +1 -1
  10. package/dist/src/configure/config-builder.d.ts +1 -1
  11. package/dist/src/configure/config-builder.js +6 -6
  12. package/dist/src/configure/config-builder.js.map +1 -1
  13. package/dist/src/configure/filters-option-builder.d.ts +1 -1
  14. package/dist/src/configure/filters-option-builder.js.map +1 -1
  15. package/dist/src/configure/imex-option-builder.d.ts +1 -1
  16. package/dist/src/configure/imex-option-builder.js.map +1 -1
  17. package/dist/src/configure/list-option-builder.d.ts +1 -1
  18. package/dist/src/configure/list-option-builder.js.map +1 -1
  19. package/dist/src/configure/rows-option-builder.d.ts +1 -1
  20. package/dist/src/configure/rows-option-builder.js +2 -2
  21. package/dist/src/configure/rows-option-builder.js.map +1 -1
  22. package/dist/src/configure/tree-option-builder.d.ts +1 -1
  23. package/dist/src/configure/tree-option-builder.js.map +1 -1
  24. package/dist/src/configure/zero-config.d.ts +1 -1
  25. package/dist/src/configure/zero-config.js.map +1 -1
  26. package/dist/src/data-card/data-card-field.d.ts +1 -1
  27. package/dist/src/data-card/data-card-field.js +39 -7
  28. package/dist/src/data-card/data-card-field.js.map +1 -1
  29. package/dist/src/data-card/data-card-gutter-menu.js +46 -2
  30. package/dist/src/data-card/data-card-gutter-menu.js.map +1 -1
  31. package/dist/src/data-card/data-card-gutter.d.ts +1 -1
  32. package/dist/src/data-card/data-card-gutter.js +39 -7
  33. package/dist/src/data-card/data-card-gutter.js.map +1 -1
  34. package/dist/src/data-card/data-card.d.ts +3 -3
  35. package/dist/src/data-card/data-card.js +47 -11
  36. package/dist/src/data-card/data-card.js.map +1 -1
  37. package/dist/src/data-card/event-handlers/record-card-click-handler.d.ts +1 -1
  38. package/dist/src/data-card/event-handlers/record-card-click-handler.js.map +1 -1
  39. package/dist/src/data-card/event-handlers/record-card-dblclick-handler.d.ts +1 -1
  40. package/dist/src/data-card/event-handlers/record-card-dblclick-handler.js.map +1 -1
  41. package/dist/src/data-card/record-card.d.ts +5 -5
  42. package/dist/src/data-card/record-card.js +80 -20
  43. package/dist/src/data-card/record-card.js.map +1 -1
  44. package/dist/src/data-consumer.d.ts +1 -1
  45. package/dist/src/data-consumer.js.map +1 -1
  46. package/dist/src/data-grid/data-grid-accum-field.d.ts +1 -1
  47. package/dist/src/data-grid/data-grid-accum-field.js +63 -12
  48. package/dist/src/data-grid/data-grid-accum-field.js.map +1 -1
  49. package/dist/src/data-grid/data-grid-body.d.ts +4 -4
  50. package/dist/src/data-grid/data-grid-body.js +140 -38
  51. package/dist/src/data-grid/data-grid-body.js.map +1 -1
  52. package/dist/src/data-grid/data-grid-field.d.ts +1 -1
  53. package/dist/src/data-grid/data-grid-field.js +112 -17
  54. package/dist/src/data-grid/data-grid-field.js.map +1 -1
  55. package/dist/src/data-grid/data-grid-footer.d.ts +1 -1
  56. package/dist/src/data-grid/data-grid-footer.js +23 -6
  57. package/dist/src/data-grid/data-grid-footer.js.map +1 -1
  58. package/dist/src/data-grid/data-grid-header.d.ts +2 -2
  59. package/dist/src/data-grid/data-grid-header.js +86 -25
  60. package/dist/src/data-grid/data-grid-header.js.map +1 -1
  61. package/dist/src/data-grid/data-grid.d.ts +7 -7
  62. package/dist/src/data-grid/data-grid.js +52 -12
  63. package/dist/src/data-grid/data-grid.js.map +1 -1
  64. package/dist/src/data-grid/event-handlers/data-grid-body-click-handler.d.ts +1 -1
  65. package/dist/src/data-grid/event-handlers/data-grid-body-click-handler.js.map +1 -1
  66. package/dist/src/data-grid/event-handlers/data-grid-body-contextmenu-handler.d.ts +1 -1
  67. package/dist/src/data-grid/event-handlers/data-grid-body-contextmenu-handler.js.map +1 -1
  68. package/dist/src/data-grid/event-handlers/data-grid-body-dblclick-handler.d.ts +1 -1
  69. package/dist/src/data-grid/event-handlers/data-grid-body-dblclick-handler.js.map +1 -1
  70. package/dist/src/data-grid/event-handlers/data-grid-body-focus-change-handler.d.ts +1 -1
  71. package/dist/src/data-grid/event-handlers/data-grid-body-focus-change-handler.js.map +1 -1
  72. package/dist/src/data-grid/event-handlers/data-grid-body-keydown-handler.d.ts +1 -1
  73. package/dist/src/data-grid/event-handlers/data-grid-body-keydown-handler.js.map +1 -1
  74. package/dist/src/data-grist.d.ts +8 -8
  75. package/dist/src/data-grist.js +308 -91
  76. package/dist/src/data-grist.js.map +1 -1
  77. package/dist/src/data-list/data-list-field.d.ts +1 -1
  78. package/dist/src/data-list/data-list-field.js +39 -7
  79. package/dist/src/data-list/data-list-field.js.map +1 -1
  80. package/dist/src/data-list/data-list-gutter.d.ts +1 -1
  81. package/dist/src/data-list/data-list-gutter.js +39 -7
  82. package/dist/src/data-list/data-list-gutter.js.map +1 -1
  83. package/dist/src/data-list/data-list.d.ts +2 -2
  84. package/dist/src/data-list/data-list.js +46 -10
  85. package/dist/src/data-list/data-list.js.map +1 -1
  86. package/dist/src/data-list/event-handlers/record-partial-click-handler.d.ts +1 -1
  87. package/dist/src/data-list/event-handlers/record-partial-click-handler.js.map +1 -1
  88. package/dist/src/data-list/event-handlers/record-partial-dblclick-handler.d.ts +1 -1
  89. package/dist/src/data-list/event-handlers/record-partial-dblclick-handler.js.map +1 -1
  90. package/dist/src/data-list/event-handlers/record-partial-long-press-handler.d.ts +1 -1
  91. package/dist/src/data-list/event-handlers/record-partial-long-press-handler.js.map +1 -1
  92. package/dist/src/data-list/record-partial.d.ts +4 -4
  93. package/dist/src/data-list/record-partial.js +68 -18
  94. package/dist/src/data-list/record-partial.js.map +1 -1
  95. package/dist/src/data-manipulator.d.ts +1 -1
  96. package/dist/src/data-manipulator.js +31 -6
  97. package/dist/src/data-manipulator.js.map +1 -1
  98. package/dist/src/data-provider.js +90 -9
  99. package/dist/src/data-provider.js.map +1 -1
  100. package/dist/src/data-report/data-report-body.d.ts +2 -2
  101. package/dist/src/data-report/data-report-body.js +42 -10
  102. package/dist/src/data-report/data-report-body.js.map +1 -1
  103. package/dist/src/data-report/data-report-component.d.ts +3 -3
  104. package/dist/src/data-report/data-report-component.js +42 -10
  105. package/dist/src/data-report/data-report-component.js.map +1 -1
  106. package/dist/src/data-report/data-report-field.d.ts +1 -1
  107. package/dist/src/data-report/data-report-field.js +46 -9
  108. package/dist/src/data-report/data-report-field.js.map +1 -1
  109. package/dist/src/data-report/data-report-header.js +41 -8
  110. package/dist/src/data-report/data-report-header.js.map +1 -1
  111. package/dist/src/data-report/event-handlers/data-report-body-click-handler.d.ts +1 -1
  112. package/dist/src/data-report/event-handlers/data-report-body-click-handler.js.map +1 -1
  113. package/dist/src/data-report/event-handlers/data-report-body-dblclick-handler.d.ts +1 -1
  114. package/dist/src/data-report/event-handlers/data-report-body-dblclick-handler.js.map +1 -1
  115. package/dist/src/data-report/event-handlers/data-report-body-keydown-handler.d.ts +1 -1
  116. package/dist/src/data-report/event-handlers/data-report-body-keydown-handler.js.map +1 -1
  117. package/dist/src/data-report.d.ts +4 -4
  118. package/dist/src/data-report.js +88 -16
  119. package/dist/src/data-report.js.map +1 -1
  120. package/dist/src/editors/index.d.ts +1 -1
  121. package/dist/src/editors/index.js +1 -1
  122. package/dist/src/editors/index.js.map +1 -1
  123. package/dist/src/editors/ox-grist-editor-multiple-select.js +9 -4
  124. package/dist/src/editors/ox-grist-editor-multiple-select.js.map +1 -1
  125. package/dist/src/editors/ox-grist-editor-tree.d.ts +1 -1
  126. package/dist/src/editors/ox-grist-editor-tree.js +9 -4
  127. package/dist/src/editors/ox-grist-editor-tree.js.map +1 -1
  128. package/dist/src/editors/ox-grist-editor.d.ts +2 -2
  129. package/dist/src/editors/ox-grist-editor.js +52 -7
  130. package/dist/src/editors/ox-grist-editor.js.map +1 -1
  131. package/dist/src/editors/ox-input-tree.d.ts +1 -1
  132. package/dist/src/editors/ox-input-tree.js +37 -3
  133. package/dist/src/editors/ox-input-tree.js.map +1 -1
  134. package/dist/src/editors/registry.d.ts +2 -2
  135. package/dist/src/editors/registry.js +19 -19
  136. package/dist/src/editors/registry.js.map +1 -1
  137. package/dist/src/empty-note.js +28 -2
  138. package/dist/src/empty-note.js.map +1 -1
  139. package/dist/src/filters/filter-input.d.ts +1 -1
  140. package/dist/src/filters/filter-input.js.map +1 -1
  141. package/dist/src/filters/filter-range-date.d.ts +1 -1
  142. package/dist/src/filters/filter-range-date.js.map +1 -1
  143. package/dist/src/filters/filter-range-number.d.ts +1 -1
  144. package/dist/src/filters/filter-range-number.js.map +1 -1
  145. package/dist/src/filters/filter-select-buttons.d.ts +1 -1
  146. package/dist/src/filters/filter-select-buttons.js.map +1 -1
  147. package/dist/src/filters/filter-select.d.ts +1 -1
  148. package/dist/src/filters/filter-select.js +1 -1
  149. package/dist/src/filters/filter-select.js.map +1 -1
  150. package/dist/src/filters/filters-form.d.ts +1 -2
  151. package/dist/src/filters/filters-form.js +91 -15
  152. package/dist/src/filters/filters-form.js.map +1 -1
  153. package/dist/src/filters/index.d.ts +8 -8
  154. package/dist/src/filters/index.js +8 -8
  155. package/dist/src/filters/index.js.map +1 -1
  156. package/dist/src/formatters/index.d.ts +1 -1
  157. package/dist/src/formatters/index.js +1 -1
  158. package/dist/src/formatters/index.js.map +1 -1
  159. package/dist/src/formatters/registry.js +4 -4
  160. package/dist/src/formatters/registry.js.map +1 -1
  161. package/dist/src/gutters/gutter-button.d.ts +1 -1
  162. package/dist/src/gutters/gutter-button.js.map +1 -1
  163. package/dist/src/gutters/gutter-dirty.d.ts +1 -1
  164. package/dist/src/gutters/gutter-dirty.js +16 -2
  165. package/dist/src/gutters/gutter-dirty.js.map +1 -1
  166. package/dist/src/gutters/gutter-row-selector.d.ts +1 -1
  167. package/dist/src/gutters/gutter-row-selector.js.map +1 -1
  168. package/dist/src/gutters/gutter-sequence.d.ts +9 -9
  169. package/dist/src/gutters/gutter-sequence.js.map +1 -1
  170. package/dist/src/gutters/index.d.ts +1 -1
  171. package/dist/src/gutters/index.js +1 -1
  172. package/dist/src/gutters/index.js.map +1 -1
  173. package/dist/src/gutters/registry.d.ts +1 -1
  174. package/dist/src/gutters/registry.js +4 -4
  175. package/dist/src/gutters/registry.js.map +1 -1
  176. package/dist/src/handlers/contextmenu-tree-mutation.d.ts +2 -2
  177. package/dist/src/handlers/contextmenu-tree-mutation.js.map +1 -1
  178. package/dist/src/handlers/index.d.ts +1 -1
  179. package/dist/src/handlers/index.js +1 -1
  180. package/dist/src/handlers/index.js.map +1 -1
  181. package/dist/src/handlers/move-down.d.ts +2 -2
  182. package/dist/src/handlers/move-down.js.map +1 -1
  183. package/dist/src/handlers/move-up.d.ts +2 -2
  184. package/dist/src/handlers/move-up.js.map +1 -1
  185. package/dist/src/handlers/record-copy.d.ts +2 -2
  186. package/dist/src/handlers/record-copy.js.map +1 -1
  187. package/dist/src/handlers/record-delete.d.ts +2 -2
  188. package/dist/src/handlers/record-delete.js.map +1 -1
  189. package/dist/src/handlers/record-view-handler.d.ts +2 -2
  190. package/dist/src/handlers/record-view-handler.js.map +1 -1
  191. package/dist/src/handlers/registry.d.ts +1 -1
  192. package/dist/src/handlers/registry.js +8 -8
  193. package/dist/src/handlers/registry.js.map +1 -1
  194. package/dist/src/handlers/select-row-toggle.d.ts +2 -2
  195. package/dist/src/handlers/select-row-toggle.js.map +1 -1
  196. package/dist/src/handlers/select-row.d.ts +2 -2
  197. package/dist/src/handlers/select-row.js.map +1 -1
  198. package/dist/src/index.d.ts +14 -14
  199. package/dist/src/index.js +14 -14
  200. package/dist/src/index.js.map +1 -1
  201. package/dist/src/personalizer/index.d.ts +1 -1
  202. package/dist/src/personalizer/index.js +1 -1
  203. package/dist/src/personalizer/index.js.map +1 -1
  204. package/dist/src/personalizer/ox-grist-filter-personalizer.js +20 -4
  205. package/dist/src/personalizer/ox-grist-filter-personalizer.js.map +1 -1
  206. package/dist/src/personalizer/ox-grist-personalizer.js +20 -4
  207. package/dist/src/personalizer/ox-grist-personalizer.js.map +1 -1
  208. package/dist/src/record-view/event-handlers/record-view-body-click-handler.d.ts +1 -1
  209. package/dist/src/record-view/event-handlers/record-view-body-click-handler.js.map +1 -1
  210. package/dist/src/record-view/event-handlers/record-view-body-keydown-handler.d.ts +1 -1
  211. package/dist/src/record-view/event-handlers/record-view-body-keydown-handler.js.map +1 -1
  212. package/dist/src/record-view/index.d.ts +2 -2
  213. package/dist/src/record-view/index.js +2 -2
  214. package/dist/src/record-view/index.js.map +1 -1
  215. package/dist/src/record-view/ox-record-creator.d.ts +3 -3
  216. package/dist/src/record-view/ox-record-creator.js +40 -7
  217. package/dist/src/record-view/ox-record-creator.js.map +1 -1
  218. package/dist/src/record-view/record-view-body.d.ts +2 -2
  219. package/dist/src/record-view/record-view-body.js +44 -10
  220. package/dist/src/record-view/record-view-body.js.map +1 -1
  221. package/dist/src/record-view/record-view-handler.d.ts +6 -6
  222. package/dist/src/record-view/record-view-handler.js.map +1 -1
  223. package/dist/src/record-view/record-view.d.ts +4 -4
  224. package/dist/src/record-view/record-view.js +36 -10
  225. package/dist/src/record-view/record-view.js.map +1 -1
  226. package/dist/src/renderers/ox-grist-renderer-boolean.d.ts +1 -1
  227. package/dist/src/renderers/ox-grist-renderer-boolean.js +1 -1
  228. package/dist/src/renderers/ox-grist-renderer-boolean.js.map +1 -1
  229. package/dist/src/renderers/ox-grist-renderer-color.d.ts +1 -1
  230. package/dist/src/renderers/ox-grist-renderer-color.js.map +1 -1
  231. package/dist/src/renderers/ox-grist-renderer-date.d.ts +1 -1
  232. package/dist/src/renderers/ox-grist-renderer-date.js.map +1 -1
  233. package/dist/src/renderers/ox-grist-renderer-file.d.ts +1 -1
  234. package/dist/src/renderers/ox-grist-renderer-file.js.map +1 -1
  235. package/dist/src/renderers/ox-grist-renderer-image.d.ts +1 -1
  236. package/dist/src/renderers/ox-grist-renderer-image.js.map +1 -1
  237. package/dist/src/renderers/ox-grist-renderer-json5.d.ts +1 -1
  238. package/dist/src/renderers/ox-grist-renderer-json5.js.map +1 -1
  239. package/dist/src/renderers/ox-grist-renderer-link.d.ts +1 -1
  240. package/dist/src/renderers/ox-grist-renderer-link.js.map +1 -1
  241. package/dist/src/renderers/ox-grist-renderer-password.d.ts +1 -1
  242. package/dist/src/renderers/ox-grist-renderer-password.js.map +1 -1
  243. package/dist/src/renderers/ox-grist-renderer-progress.d.ts +1 -1
  244. package/dist/src/renderers/ox-grist-renderer-progress.js +8 -3
  245. package/dist/src/renderers/ox-grist-renderer-progress.js.map +1 -1
  246. package/dist/src/renderers/ox-grist-renderer-select.d.ts +1 -1
  247. package/dist/src/renderers/ox-grist-renderer-select.js.map +1 -1
  248. package/dist/src/renderers/ox-grist-renderer-text.d.ts +1 -1
  249. package/dist/src/renderers/ox-grist-renderer-text.js.map +1 -1
  250. package/dist/src/renderers/ox-grist-renderer-textarea.d.ts +1 -1
  251. package/dist/src/renderers/ox-grist-renderer-textarea.js.map +1 -1
  252. package/dist/src/renderers/ox-grist-renderer-tree.d.ts +1 -1
  253. package/dist/src/renderers/ox-grist-renderer-tree.js +20 -4
  254. package/dist/src/renderers/ox-grist-renderer-tree.js.map +1 -1
  255. package/dist/src/renderers/ox-grist-renderer.d.ts +2 -2
  256. package/dist/src/renderers/ox-grist-renderer.js +43 -4
  257. package/dist/src/renderers/ox-grist-renderer.js.map +1 -1
  258. package/dist/src/sorters/sorters-control.d.ts +1 -1
  259. package/dist/src/sorters/sorters-control.js +26 -5
  260. package/dist/src/sorters/sorters-control.js.map +1 -1
  261. package/dist/src/types.d.ts +11 -11
  262. package/dist/src/types.js.map +1 -1
  263. package/dist/src/utils/index.d.ts +2 -2
  264. package/dist/src/utils/index.js +2 -2
  265. package/dist/src/utils/index.js.map +1 -1
  266. package/dist/src/utils/list-param.d.ts +1 -1
  267. package/dist/src/utils/list-param.js +1 -1
  268. package/dist/src/utils/list-param.js.map +1 -1
  269. package/dist/stories/accumulator-format.stories.js +1 -1
  270. package/dist/stories/accumulator-format.stories.js.map +1 -1
  271. package/dist/stories/barcode-input-filter.stories.js +1 -1
  272. package/dist/stories/barcode-input-filter.stories.js.map +1 -1
  273. package/dist/stories/bounded-select-filters.stories.js +1 -1
  274. package/dist/stories/bounded-select-filters.stories.js.map +1 -1
  275. package/dist/stories/bounded-select-record.stories.js +1 -1
  276. package/dist/stories/bounded-select-record.stories.js.map +1 -1
  277. package/dist/stories/click-event-custom.stories.js +1 -1
  278. package/dist/stories/click-event-custom.stories.js.map +1 -1
  279. package/dist/stories/click-event.stories.js +1 -1
  280. package/dist/stories/click-event.stories.js.map +1 -1
  281. package/dist/stories/creatable-only-column.stories.js +1 -1
  282. package/dist/stories/creatable-only-column.stories.js.map +1 -1
  283. package/dist/stories/default-filters.stories.js +1 -1
  284. package/dist/stories/default-filters.stories.js.map +1 -1
  285. package/dist/stories/dynamic-editable.stories.js +1 -1
  286. package/dist/stories/dynamic-editable.stories.js.map +1 -1
  287. package/dist/stories/empty-sorters.stories.js +1 -1
  288. package/dist/stories/empty-sorters.stories.js.map +1 -1
  289. package/dist/stories/explicit-fetch.stories.js +1 -1
  290. package/dist/stories/explicit-fetch.stories.js.map +1 -1
  291. package/dist/stories/fixed-column.stories.js +1 -1
  292. package/dist/stories/fixed-column.stories.js.map +1 -1
  293. package/dist/stories/grid-setting.stories.js +1 -1
  294. package/dist/stories/grid-setting.stories.js.map +1 -1
  295. package/dist/stories/grist-modes.stories.js +1 -1
  296. package/dist/stories/grist-modes.stories.js.map +1 -1
  297. package/dist/stories/group-header.stories.js +1 -1
  298. package/dist/stories/group-header.stories.js.map +1 -1
  299. package/dist/stories/record-view.stories.js +1 -1
  300. package/dist/stories/record-view.stories.js.map +1 -1
  301. package/dist/stories/textarea.stories.js +1 -1
  302. package/dist/stories/textarea.stories.js.map +1 -1
  303. package/dist/stories/tree-column-with-checkbox.stories.js +1 -1
  304. package/dist/stories/tree-column-with-checkbox.stories.js.map +1 -1
  305. package/dist/stories/tree-column.stories.js +1 -1
  306. package/dist/stories/tree-column.stories.js.map +1 -1
  307. package/dist/tsconfig.tsbuildinfo +1 -1
  308. package/index.ts +1 -1
  309. package/package.json +20 -19
@@ -1 +1 @@
1
- {"version":3,"file":"record-delete.js","sourceRoot":"","sources":["../../../src/handlers/record-delete.ts"],"names":[],"mappings":"AAGA;;;GAGG;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,UAC1B,OAAuB,EACvB,IAAe,EACf,MAAoB,EACpB,MAAmB,EACnB,QAAgB,EAChB,KAAoB;IAEpB,IAAI,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpC,OAAM;IACR,CAAC;IAED,MAAM,CAAC,SAAS,GAAG,GAAG,CAAA;IACtB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IAEhC,KAAK,CAAC,aAAa,CACjB,IAAI,WAAW,CAAC,eAAe,EAAE;QAC/B,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;KACf,CAAC,CACH,CAAA;AACH,CAAC,CAAA","sourcesContent":["import { DataGridField } from '../data-grid/data-grid-field'\nimport { ColumnConfig, GristData, GristRecord } from '../types'\n\n/*\n * handler들은 ox-grid-field 로부터 호출되는 것을 전제로 하며,\n * 전반적인 처리를 위해서, columns 및 data 정보를 포함해서 제공할 수 있어야 한다.\n */\n\nexport const RecordDelete = function (\n columns: ColumnConfig[],\n data: GristData,\n column: ColumnConfig,\n record: GristRecord,\n rowIndex: number,\n field: DataGridField\n): void {\n if (rowIndex >= data.records.length) {\n return\n }\n\n record.__dirty__ = '-'\n data.records.splice(rowIndex, 1)\n\n field.dispatchEvent(\n new CustomEvent('record-change', {\n bubbles: true,\n composed: true\n })\n )\n}\n"]}
1
+ {"version":3,"file":"record-delete.js","sourceRoot":"","sources":["../../../src/handlers/record-delete.ts"],"names":[],"mappings":"AAGA;;;GAGG;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,UAC1B,OAAuB,EACvB,IAAe,EACf,MAAoB,EACpB,MAAmB,EACnB,QAAgB,EAChB,KAAoB;IAEpB,IAAI,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpC,OAAM;IACR,CAAC;IAED,MAAM,CAAC,SAAS,GAAG,GAAG,CAAA;IACtB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IAEhC,KAAK,CAAC,aAAa,CACjB,IAAI,WAAW,CAAC,eAAe,EAAE;QAC/B,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;KACf,CAAC,CACH,CAAA;AACH,CAAC,CAAA","sourcesContent":["import { DataGridField } from '../data-grid/data-grid-field.js'\nimport { ColumnConfig, GristData, GristRecord } from '../types.js'\n\n/*\n * handler들은 ox-grid-field 로부터 호출되는 것을 전제로 하며,\n * 전반적인 처리를 위해서, columns 및 data 정보를 포함해서 제공할 수 있어야 한다.\n */\n\nexport const RecordDelete = function (\n columns: ColumnConfig[],\n data: GristData,\n column: ColumnConfig,\n record: GristRecord,\n rowIndex: number,\n field: DataGridField\n): void {\n if (rowIndex >= data.records.length) {\n return\n }\n\n record.__dirty__ = '-'\n data.records.splice(rowIndex, 1)\n\n field.dispatchEvent(\n new CustomEvent('record-change', {\n bubbles: true,\n composed: true\n })\n )\n}\n"]}
@@ -1,3 +1,3 @@
1
- import { DataGridField } from '../data-grid/data-grid-field';
2
- import { ColumnConfig, GristData, GristRecord } from '../types';
1
+ import { DataGridField } from '../data-grid/data-grid-field.js';
2
+ import { ColumnConfig, GristData, GristRecord } from '../types.js';
3
3
  export declare const RecordViewHandler: (columns: ColumnConfig[], data: GristData, column: ColumnConfig, record: GristRecord, rowIndex: number, field: DataGridField) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"record-view-handler.js","sourceRoot":"","sources":["../../../src/handlers/record-view-handler.ts"],"names":[],"mappings":"AAGA;;;GAGG;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAC/B,OAAuB,EACvB,IAAe,EACf,MAAoB,EACpB,MAAmB,EACnB,QAAgB,EAChB,KAAoB;IAEpB,KAAK,CAAC,aAAa,CACjB,IAAI,WAAW,CAAC,kBAAkB,EAAE;QAClC,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE;YACN,MAAM;YACN,GAAG,EAAE,QAAQ;SACd;KACF,CAAC,CACH,CAAA;AACH,CAAC,CAAA","sourcesContent":["import { DataGridField } from '../data-grid/data-grid-field'\nimport { ColumnConfig, GristData, GristRecord } from '../types'\n\n/*\n * handler들은 ox-grid-field 로부터 호출되는 것을 전제로 하며,\n * 전반적인 처리를 위해서, columns 및 data 정보를 포함해서 제공할 수 있어야 한다.\n */\n\nexport const RecordViewHandler = function (\n columns: ColumnConfig[],\n data: GristData,\n column: ColumnConfig,\n record: GristRecord,\n rowIndex: number,\n field: DataGridField\n): void {\n field.dispatchEvent(\n new CustomEvent('show-record-view', {\n bubbles: true,\n composed: true,\n detail: {\n record,\n row: rowIndex\n }\n })\n )\n}\n"]}
1
+ {"version":3,"file":"record-view-handler.js","sourceRoot":"","sources":["../../../src/handlers/record-view-handler.ts"],"names":[],"mappings":"AAGA;;;GAGG;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAC/B,OAAuB,EACvB,IAAe,EACf,MAAoB,EACpB,MAAmB,EACnB,QAAgB,EAChB,KAAoB;IAEpB,KAAK,CAAC,aAAa,CACjB,IAAI,WAAW,CAAC,kBAAkB,EAAE;QAClC,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE;YACN,MAAM;YACN,GAAG,EAAE,QAAQ;SACd;KACF,CAAC,CACH,CAAA;AACH,CAAC,CAAA","sourcesContent":["import { DataGridField } from '../data-grid/data-grid-field.js'\nimport { ColumnConfig, GristData, GristRecord } from '../types.js'\n\n/*\n * handler들은 ox-grid-field 로부터 호출되는 것을 전제로 하며,\n * 전반적인 처리를 위해서, columns 및 data 정보를 포함해서 제공할 수 있어야 한다.\n */\n\nexport const RecordViewHandler = function (\n columns: ColumnConfig[],\n data: GristData,\n column: ColumnConfig,\n record: GristRecord,\n rowIndex: number,\n field: DataGridField\n): void {\n field.dispatchEvent(\n new CustomEvent('show-record-view', {\n bubbles: true,\n composed: true,\n detail: {\n record,\n row: rowIndex\n }\n })\n )\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { GristEventHandler } from '../types';
1
+ import { GristEventHandler } from '../types.js';
2
2
  export declare function registerGristEventHandler(type: string, handler: GristEventHandler): void;
3
3
  export declare function unregisterGristEventHandler(type: string): void;
4
4
  export declare function getGristEventHandlers(): {
@@ -1,11 +1,11 @@
1
- import { ContextMenuTreeMutation } from './contextmenu-tree-mutation';
2
- import { MoveDown } from './move-down';
3
- import { MoveUp } from './move-up';
4
- import { RecordCopy } from './record-copy';
5
- import { RecordDelete } from './record-delete';
6
- import { RecordViewHandler } from './record-view-handler';
7
- import { SelectRow } from './select-row';
8
- import { SelectRowToggle } from './select-row-toggle';
1
+ import { ContextMenuTreeMutation } from './contextmenu-tree-mutation.js';
2
+ import { MoveDown } from './move-down.js';
3
+ import { MoveUp } from './move-up.js';
4
+ import { RecordCopy } from './record-copy.js';
5
+ import { RecordDelete } from './record-delete.js';
6
+ import { RecordViewHandler } from './record-view-handler.js';
7
+ import { SelectRow } from './select-row.js';
8
+ import { SelectRowToggle } from './select-row-toggle.js';
9
9
  var HANDLERS = {
10
10
  'record-view': RecordViewHandler,
11
11
  'select-row': SelectRow,
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/handlers/registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAErD,IAAI,QAAQ,GAER;IACF,aAAa,EAAE,iBAAsC;IACrD,YAAY,EAAE,SAA8B;IAC5C,mBAAmB,EAAE,eAAoC;IACzD,SAAS,EAAE,MAA2B;IACtC,WAAW,EAAE,QAA6B;IAC1C,aAAa,EAAE,UAA+B;IAC9C,eAAe,EAAE,YAAiC;IAClD,2BAA2B,EAAE,uBAA4C;CAC1E,CAAA;AAED,MAAM,UAAU,yBAAyB,CAAC,IAAY,EAAE,OAA0B;IAChF,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,IAAY;IACtD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,EAAE,GAAG,QAAQ,EAAE,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAgC;IACnE,IAAI,OAAO,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAA;AACvB,CAAC","sourcesContent":["import { GristEventHandler } from '../types'\nimport { ContextMenuTreeMutation } from './contextmenu-tree-mutation'\nimport { MoveDown } from './move-down'\nimport { MoveUp } from './move-up'\nimport { RecordCopy } from './record-copy'\nimport { RecordDelete } from './record-delete'\nimport { RecordViewHandler } from './record-view-handler'\nimport { SelectRow } from './select-row'\nimport { SelectRowToggle } from './select-row-toggle'\n\nvar HANDLERS: {\n [name: string]: GristEventHandler\n} = {\n 'record-view': RecordViewHandler as GristEventHandler,\n 'select-row': SelectRow as GristEventHandler,\n 'select-row-toggle': SelectRowToggle as GristEventHandler,\n 'move-up': MoveUp as GristEventHandler,\n 'move-down': MoveDown as GristEventHandler,\n 'record-copy': RecordCopy as GristEventHandler,\n 'record-delete': RecordDelete as GristEventHandler,\n 'contextmenu-tree-mutation': ContextMenuTreeMutation as GristEventHandler\n}\n\nexport function registerGristEventHandler(type: string, handler: GristEventHandler) {\n HANDLERS[type] = handler\n}\n\nexport function unregisterGristEventHandler(type: string) {\n delete HANDLERS[type]\n}\n\nexport function getGristEventHandlers() {\n return { ...HANDLERS }\n}\n\nexport function getGristEventHandler(type: string | GristEventHandler): GristEventHandler {\n if (typeof type == 'function') {\n return type\n }\n\n return HANDLERS[type]\n}\n"]}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/handlers/registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAExD,IAAI,QAAQ,GAER;IACF,aAAa,EAAE,iBAAsC;IACrD,YAAY,EAAE,SAA8B;IAC5C,mBAAmB,EAAE,eAAoC;IACzD,SAAS,EAAE,MAA2B;IACtC,WAAW,EAAE,QAA6B;IAC1C,aAAa,EAAE,UAA+B;IAC9C,eAAe,EAAE,YAAiC;IAClD,2BAA2B,EAAE,uBAA4C;CAC1E,CAAA;AAED,MAAM,UAAU,yBAAyB,CAAC,IAAY,EAAE,OAA0B;IAChF,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,IAAY;IACtD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,EAAE,GAAG,QAAQ,EAAE,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAgC;IACnE,IAAI,OAAO,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAA;AACvB,CAAC","sourcesContent":["import { GristEventHandler } from '../types.js'\nimport { ContextMenuTreeMutation } from './contextmenu-tree-mutation.js'\nimport { MoveDown } from './move-down.js'\nimport { MoveUp } from './move-up.js'\nimport { RecordCopy } from './record-copy.js'\nimport { RecordDelete } from './record-delete.js'\nimport { RecordViewHandler } from './record-view-handler.js'\nimport { SelectRow } from './select-row.js'\nimport { SelectRowToggle } from './select-row-toggle.js'\n\nvar HANDLERS: {\n [name: string]: GristEventHandler\n} = {\n 'record-view': RecordViewHandler as GristEventHandler,\n 'select-row': SelectRow as GristEventHandler,\n 'select-row-toggle': SelectRowToggle as GristEventHandler,\n 'move-up': MoveUp as GristEventHandler,\n 'move-down': MoveDown as GristEventHandler,\n 'record-copy': RecordCopy as GristEventHandler,\n 'record-delete': RecordDelete as GristEventHandler,\n 'contextmenu-tree-mutation': ContextMenuTreeMutation as GristEventHandler\n}\n\nexport function registerGristEventHandler(type: string, handler: GristEventHandler) {\n HANDLERS[type] = handler\n}\n\nexport function unregisterGristEventHandler(type: string) {\n delete HANDLERS[type]\n}\n\nexport function getGristEventHandlers() {\n return { ...HANDLERS }\n}\n\nexport function getGristEventHandler(type: string | GristEventHandler): GristEventHandler {\n if (typeof type == 'function') {\n return type\n }\n\n return HANDLERS[type]\n}\n"]}
@@ -1,3 +1,3 @@
1
- import { DataGridField } from '../data-grid/data-grid-field';
2
- import { ColumnConfig, GristData, GristRecord } from '../types';
1
+ import { DataGridField } from '../data-grid/data-grid-field.js';
2
+ import { ColumnConfig, GristData, GristRecord } from '../types.js';
3
3
  export declare const SelectRowToggle: (columns: ColumnConfig[], data: GristData, column: ColumnConfig, record: GristRecord, rowIndex: number, field: DataGridField) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"select-row-toggle.js","sourceRoot":"","sources":["../../../src/handlers/select-row-toggle.ts"],"names":[],"mappings":"AAGA;;;GAGG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,UAC7B,OAAuB,EACvB,IAAe,EACf,MAAoB,EACpB,MAAmB,EACnB,QAAgB,EAChB,KAAoB;IAEpB,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,aAAa,CAClB,IAAI,WAAW,CAAC,sBAAsB,EAAE;QACtC,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;YAC5B,CAAC,CAAC;gBACE,OAAO,EAAE,CAAC,MAAM,CAAC;aAClB;YACH,CAAC,CAAC;gBACE,KAAK,EAAE,CAAC,MAAM,CAAC;aAChB;KACN,CAAC,CACH,CAAA;AACH,CAAC,CAAA","sourcesContent":["import { DataGridField } from '../data-grid/data-grid-field'\nimport { ColumnConfig, GristData, GristRecord } from '../types'\n\n/*\n * handler들은 ox-grid-field 로부터 호출되는 것을 전제로 하며,\n * 전반적인 처리를 위해서, columns 및 data 정보를 포함해서 제공할 수 있어야 한다.\n */\n\nexport const SelectRowToggle = function (\n columns: ColumnConfig[],\n data: GristData,\n column: ColumnConfig,\n record: GristRecord,\n rowIndex: number,\n field: DataGridField\n): void {\n field?.dispatchEvent(\n new CustomEvent('select-record-change', {\n bubbles: true,\n composed: true,\n detail: record['__selected__']\n ? {\n removed: [record]\n }\n : {\n added: [record]\n }\n })\n )\n}\n"]}
1
+ {"version":3,"file":"select-row-toggle.js","sourceRoot":"","sources":["../../../src/handlers/select-row-toggle.ts"],"names":[],"mappings":"AAGA;;;GAGG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,UAC7B,OAAuB,EACvB,IAAe,EACf,MAAoB,EACpB,MAAmB,EACnB,QAAgB,EAChB,KAAoB;IAEpB,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,aAAa,CAClB,IAAI,WAAW,CAAC,sBAAsB,EAAE;QACtC,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;YAC5B,CAAC,CAAC;gBACE,OAAO,EAAE,CAAC,MAAM,CAAC;aAClB;YACH,CAAC,CAAC;gBACE,KAAK,EAAE,CAAC,MAAM,CAAC;aAChB;KACN,CAAC,CACH,CAAA;AACH,CAAC,CAAA","sourcesContent":["import { DataGridField } from '../data-grid/data-grid-field.js'\nimport { ColumnConfig, GristData, GristRecord } from '../types.js'\n\n/*\n * handler들은 ox-grid-field 로부터 호출되는 것을 전제로 하며,\n * 전반적인 처리를 위해서, columns 및 data 정보를 포함해서 제공할 수 있어야 한다.\n */\n\nexport const SelectRowToggle = function (\n columns: ColumnConfig[],\n data: GristData,\n column: ColumnConfig,\n record: GristRecord,\n rowIndex: number,\n field: DataGridField\n): void {\n field?.dispatchEvent(\n new CustomEvent('select-record-change', {\n bubbles: true,\n composed: true,\n detail: record['__selected__']\n ? {\n removed: [record]\n }\n : {\n added: [record]\n }\n })\n )\n}\n"]}
@@ -1,3 +1,3 @@
1
- import { ColumnConfig, GristData, GristRecord } from '../types';
2
- import { DataGridField } from '../data-grid/data-grid-field';
1
+ import { ColumnConfig, GristData, GristRecord } from '../types.js';
2
+ import { DataGridField } from '../data-grid/data-grid-field.js';
3
3
  export declare const SelectRow: (columns: ColumnConfig[], data: GristData, column: ColumnConfig, record: GristRecord, rowIndex: number, field: DataGridField) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"select-row.js","sourceRoot":"","sources":["../../../src/handlers/select-row.ts"],"names":[],"mappings":"AAIA;;;GAGG;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG,UACvB,OAAuB,EACvB,IAAe,EACf,MAAoB,EACpB,MAAmB,EACnB,QAAgB,EAChB,KAAoB;IAEpB,KAAK,CAAC,aAAa,CACjB,IAAI,WAAW,CAAC,sBAAsB,EAAE;QACtC,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE;YACN,KAAK,EAAE,CAAC,MAAM,CAAC;SAChB;KACF,CAAC,CACH,CAAA;AACH,CAAC,CAAA","sourcesContent":["import { ColumnConfig, GristData, GristRecord } from '../types'\n\nimport { DataGridField } from '../data-grid/data-grid-field'\n\n/*\n * handler들은 ox-grid-field 로부터 호출되는 것을 전제로 하며,\n * 전반적인 처리를 위해서, columns 및 data 정보를 포함해서 제공할 수 있어야 한다.\n */\n\nexport const SelectRow = function (\n columns: ColumnConfig[],\n data: GristData,\n column: ColumnConfig,\n record: GristRecord,\n rowIndex: number,\n field: DataGridField\n): void {\n field.dispatchEvent(\n new CustomEvent('select-record-change', {\n bubbles: true,\n composed: true,\n detail: {\n added: [record]\n }\n })\n )\n}\n"]}
1
+ {"version":3,"file":"select-row.js","sourceRoot":"","sources":["../../../src/handlers/select-row.ts"],"names":[],"mappings":"AAIA;;;GAGG;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG,UACvB,OAAuB,EACvB,IAAe,EACf,MAAoB,EACpB,MAAmB,EACnB,QAAgB,EAChB,KAAoB;IAEpB,KAAK,CAAC,aAAa,CACjB,IAAI,WAAW,CAAC,sBAAsB,EAAE;QACtC,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE;YACN,KAAK,EAAE,CAAC,MAAM,CAAC;SAChB;KACF,CAAC,CACH,CAAA;AACH,CAAC,CAAA","sourcesContent":["import { ColumnConfig, GristData, GristRecord } from '../types.js'\n\nimport { DataGridField } from '../data-grid/data-grid-field.js'\n\n/*\n * handler들은 ox-grid-field 로부터 호출되는 것을 전제로 하며,\n * 전반적인 처리를 위해서, columns 및 data 정보를 포함해서 제공할 수 있어야 한다.\n */\n\nexport const SelectRow = function (\n columns: ColumnConfig[],\n data: GristData,\n column: ColumnConfig,\n record: GristRecord,\n rowIndex: number,\n field: DataGridField\n): void {\n field.dispatchEvent(\n new CustomEvent('select-record-change', {\n bubbles: true,\n composed: true,\n detail: {\n added: [record]\n }\n })\n )\n}\n"]}
@@ -1,14 +1,14 @@
1
- export * from './types';
2
- export * from './configure/zero-config';
3
- export * from './data-grist';
4
- export * from './data-report';
5
- export * from './editors';
6
- export * from './renderers';
7
- export * from './handlers';
8
- export * from './formatters';
9
- export * from './gutters';
10
- export * from './filters';
11
- export * from './sorters/sorters-control';
12
- export * from './record-view';
13
- export * from './personalizer';
14
- export * from './utils/list-param';
1
+ export * from './types.js';
2
+ export * from './configure/zero-config.js';
3
+ export * from './data-grist.js';
4
+ export * from './data-report.js';
5
+ export * from './editors/index.js';
6
+ export * from './renderers/index.js';
7
+ export * from './handlers/index.js';
8
+ export * from './formatters/index.js';
9
+ export * from './gutters/index.js';
10
+ export * from './filters/index.js';
11
+ export * from './sorters/sorters-control.js';
12
+ export * from './record-view/index.js';
13
+ export * from './personalizer/index.js';
14
+ export * from './utils/list-param.js';
package/dist/src/index.js CHANGED
@@ -1,15 +1,15 @@
1
- export * from './types';
2
- export * from './configure/zero-config';
3
- export * from './data-grist';
4
- export * from './data-report';
5
- export * from './editors';
6
- export * from './renderers';
7
- export * from './handlers';
8
- export * from './formatters';
9
- export * from './gutters';
10
- export * from './filters';
11
- export * from './sorters/sorters-control';
12
- export * from './record-view';
13
- export * from './personalizer';
14
- export * from './utils/list-param';
1
+ export * from './types.js';
2
+ export * from './configure/zero-config.js';
3
+ export * from './data-grist.js';
4
+ export * from './data-report.js';
5
+ export * from './editors/index.js';
6
+ export * from './renderers/index.js';
7
+ export * from './handlers/index.js';
8
+ export * from './formatters/index.js';
9
+ export * from './gutters/index.js';
10
+ export * from './filters/index.js';
11
+ export * from './sorters/sorters-control.js';
12
+ export * from './record-view/index.js';
13
+ export * from './personalizer/index.js';
14
+ export * from './utils/list-param.js';
15
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AAEvB,cAAc,yBAAyB,CAAA;AACvC,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAE7B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,2BAA2B,CAAA;AACzC,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAE9B,cAAc,oBAAoB,CAAA","sourcesContent":["export * from './types'\n\nexport * from './configure/zero-config'\nexport * from './data-grist'\nexport * from './data-report'\n\nexport * from './editors'\nexport * from './renderers'\nexport * from './handlers'\nexport * from './formatters'\nexport * from './gutters'\nexport * from './filters'\nexport * from './sorters/sorters-control'\nexport * from './record-view'\nexport * from './personalizer'\n\nexport * from './utils/list-param'\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAE1B,cAAc,4BAA4B,CAAA;AAC1C,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAEhC,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AAEvC,cAAc,uBAAuB,CAAA","sourcesContent":["export * from './types.js'\n\nexport * from './configure/zero-config.js'\nexport * from './data-grist.js'\nexport * from './data-report.js'\n\nexport * from './editors/index.js'\nexport * from './renderers/index.js'\nexport * from './handlers/index.js'\nexport * from './formatters/index.js'\nexport * from './gutters/index.js'\nexport * from './filters/index.js'\nexport * from './sorters/sorters-control.js'\nexport * from './record-view/index.js'\nexport * from './personalizer/index.js'\n\nexport * from './utils/list-param.js'\n"]}
@@ -1 +1 @@
1
- export * from './ox-grist-personalizer';
1
+ export * from './ox-grist-personalizer.js';
@@ -1,2 +1,2 @@
1
- export * from './ox-grist-personalizer';
1
+ export * from './ox-grist-personalizer.js';
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/personalizer/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA","sourcesContent":["export * from './ox-grist-personalizer'\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/personalizer/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAA","sourcesContent":["export * from './ox-grist-personalizer.js'\n"]}
@@ -7,7 +7,18 @@ import { OxPopupList } from '@operato/popup';
7
7
  let OxGristFilterPersonalizer = class OxGristFilterPersonalizer extends LitElement {
8
8
  constructor() {
9
9
  super(...arguments);
10
- this.debug = false;
10
+ Object.defineProperty(this, "debug", {
11
+ enumerable: true,
12
+ configurable: true,
13
+ writable: true,
14
+ value: false
15
+ });
16
+ Object.defineProperty(this, "preference", {
17
+ enumerable: true,
18
+ configurable: true,
19
+ writable: true,
20
+ value: void 0
21
+ });
11
22
  }
12
23
  render() {
13
24
  return html `
@@ -138,8 +149,12 @@ let OxGristFilterPersonalizer = class OxGristFilterPersonalizer extends LitEleme
138
149
  `;
139
150
  }
140
151
  };
141
- OxGristFilterPersonalizer.styles = [
142
- css `
152
+ Object.defineProperty(OxGristFilterPersonalizer, "styles", {
153
+ enumerable: true,
154
+ configurable: true,
155
+ writable: true,
156
+ value: [
157
+ css `
143
158
  md-icon {
144
159
  --md-icon-size: 16px;
145
160
  width: 36px;
@@ -164,7 +179,8 @@ OxGristFilterPersonalizer.styles = [
164
179
  width: 36px;
165
180
  }
166
181
  `
167
- ];
182
+ ]
183
+ });
168
184
  __decorate([
169
185
  property({ type: Boolean, attribute: true })
170
186
  ], OxGristFilterPersonalizer.prototype, "debug", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"ox-grist-filter-personalizer.js","sourceRoot":"","sources":["../../../src/personalizer/ox-grist-filter-personalizer.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/button/outlined-button.js'\n\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\n\nimport { i18next } from '@operato/i18n'\nimport { OxPopupList } from '@operato/popup'\n\nimport { FilterConfigObject, FilterPreference, PersonalGristPreference } from '../types.js'\n\nimport { OxFiltersForm } from '../filters/filters-form'\n\n@customElement('ox-grist-filter-personalizer')\nexport class OxGristFilterPersonalizer extends LitElement {\n static styles = [\n css`\n md-icon {\n --md-icon-size: 16px;\n width: 36px;\n height: 36px;\n color: var(--md-sys-color-secondary-container);\n cursor: pointer;\n\n display: flex;\n place-content: center;\n place-items: center;\n position: relative;\n\n &:hover {\n color: var(--md-sys-color-primary-container);\n }\n }\n\n md-ripple {\n border-radius: 50%;\n inset: unset;\n height: 36px;\n width: 36px;\n }\n `\n ]\n\n @property({ type: Boolean, attribute: true }) debug: boolean = false\n\n @state() private preference?: PersonalGristPreference\n\n render() {\n return html`\n <md-icon\n @click=${async (e: MouseEvent) => {\n const form = this.closest('ox-filters-form') as OxFiltersForm\n const { filterColumns, personalFilters = [] } = form\n const queryFilters = await form.getQueryFilters()\n\n this.preference = {\n filters: (\n personalFilters.map((filter: FilterPreference) => {\n const originFilterColumn =\n filter.name == 'search'\n ? { filter: { name: 'search' } }\n : filterColumns.find(f => f.name == filter.name)\n\n if (!originFilterColumn) {\n /* 원래 filters 설정에 있는 것들 만을 유지한다. */\n return\n }\n\n const { value } = originFilterColumn.filter! as FilterConfigObject\n\n return {\n name: filter.name,\n hidden: filter.hidden,\n /* 만약, filters에 기본값이 이미 설정되어 있다면, 그대로 유지한다. */\n value: value ?? queryFilters.find(f => f.name == filter.name)?.value\n }\n }) || []\n ).filter(Boolean) as FilterPreference[]\n }\n\n const template = html`\n <div class=\"personalizer-header\" slot=\"header\">\n <md-icon\n style=\"margin-left: auto;\"\n @click=${async (e: MouseEvent) => {\n if (form.personalConfigProvider) {\n form.personalConfig = await form.personalConfigProvider.save(this.preference)\n }\n popup.close()\n }}\n title=${String(i18next.t('button.save'))}\n >keep</md-icon\n ><md-icon\n @click=${async (e: MouseEvent) => {\n if (form.personalConfigProvider) {\n form.personalConfig = this.preference = {}\n await form.personalConfigProvider.reset()\n }\n popup.close()\n }}\n title=${String(i18next.t('button.delete'))}\n >keep_off</md-icon\n ><md-icon @click=${async (e: MouseEvent) => popup.close()} title=${String(i18next.t('button.close'))}\n >close</md-icon\n >\n </div>\n\n ${this.preference?.filters!.map(\n filter => html`\n <ox-checkbox label=\"checkbox\" ?checked=${!filter.hidden} value=${filter.name} option\n >${filter.name}<span style=\"position: absolute; right: 10px; cursor: row-resize;opacity:.5\" handle\n >☰</span\n ></ox-checkbox\n >\n `\n )}\n `\n\n const popup = OxPopupList.open({\n template,\n multiple: true,\n sortable: true,\n debug: this.debug,\n attrSelected: 'checked',\n top: e.pageY,\n left: e.pageX,\n styles: css`\n :host {\n width: 240px;\n min-height: 300px;\n max-height: 80%;\n overflow: auto;\n }\n\n ::slotted(.personalizer-header) {\n --md-icon-size: 1.4em;\n\n display: flex;\n flex-direction: row;\n align-items: center;\n text-transform: capitalize;\n box-shadow: 0 3px 3px rgba(0, 0, 0, 0.3);\n }\n\n ::slotted([option]) {\n position: relative;\n user-select: none;\n }\n `\n })\n\n popup.onselect = (e: Event) => {\n const selected = (e as CustomEvent).detail\n\n const pconfig: PersonalGristPreference = { ...form.personalConfig }\n const pfilters = this.preference?.filters!\n\n pconfig.filters = pfilters.map(filter => {\n return {\n name: filter.name,\n hidden: selected.indexOf(filter.name) == -1,\n value: filter.value\n }\n })\n\n form.personalConfig = this.preference = pconfig\n\n form.applyUpdatedConfiguration()\n }\n\n popup.addEventListener('sorted', (e: Event) => {\n const sorted = (e as CustomEvent).detail as HTMLElement[]\n\n const pconfig: PersonalGristPreference = { ...form.personalConfig }\n const pfilters = this.preference?.filters!\n\n pconfig.filters = sorted\n .map(element => {\n const name = (element as HTMLInputElement).value\n return pfilters.find(filter => filter.name == name)!\n })\n .filter(Boolean)\n\n form.personalConfig = this.preference = pconfig\n\n form.applyUpdatedConfiguration()\n })\n }}\n >settings<md-ripple></md-ripple\n ></md-icon>\n `\n }\n}\n"]}
1
+ {"version":3,"file":"ox-grist-filter-personalizer.js","sourceRoot":"","sources":["../../../src/personalizer/ox-grist-filter-personalizer.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/button/outlined-button.js'\n\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\n\nimport { i18next } from '@operato/i18n'\nimport { OxPopupList } from '@operato/popup'\n\nimport { FilterConfigObject, FilterPreference, PersonalGristPreference } from '../types.js'\n\nimport { OxFiltersForm } from '../filters/filters-form.js'\n\n@customElement('ox-grist-filter-personalizer')\nexport class OxGristFilterPersonalizer extends LitElement {\n static styles = [\n css`\n md-icon {\n --md-icon-size: 16px;\n width: 36px;\n height: 36px;\n color: var(--md-sys-color-secondary-container);\n cursor: pointer;\n\n display: flex;\n place-content: center;\n place-items: center;\n position: relative;\n\n &:hover {\n color: var(--md-sys-color-primary-container);\n }\n }\n\n md-ripple {\n border-radius: 50%;\n inset: unset;\n height: 36px;\n width: 36px;\n }\n `\n ]\n\n @property({ type: Boolean, attribute: true }) debug: boolean = false\n\n @state() private preference?: PersonalGristPreference\n\n render() {\n return html`\n <md-icon\n @click=${async (e: MouseEvent) => {\n const form = this.closest('ox-filters-form') as OxFiltersForm\n const { filterColumns, personalFilters = [] } = form\n const queryFilters = await form.getQueryFilters()\n\n this.preference = {\n filters: (\n personalFilters.map((filter: FilterPreference) => {\n const originFilterColumn =\n filter.name == 'search'\n ? { filter: { name: 'search' } }\n : filterColumns.find(f => f.name == filter.name)\n\n if (!originFilterColumn) {\n /* 원래 filters 설정에 있는 것들 만을 유지한다. */\n return\n }\n\n const { value } = originFilterColumn.filter! as FilterConfigObject\n\n return {\n name: filter.name,\n hidden: filter.hidden,\n /* 만약, filters에 기본값이 이미 설정되어 있다면, 그대로 유지한다. */\n value: value ?? queryFilters.find(f => f.name == filter.name)?.value\n }\n }) || []\n ).filter(Boolean) as FilterPreference[]\n }\n\n const template = html`\n <div class=\"personalizer-header\" slot=\"header\">\n <md-icon\n style=\"margin-left: auto;\"\n @click=${async (e: MouseEvent) => {\n if (form.personalConfigProvider) {\n form.personalConfig = await form.personalConfigProvider.save(this.preference)\n }\n popup.close()\n }}\n title=${String(i18next.t('button.save'))}\n >keep</md-icon\n ><md-icon\n @click=${async (e: MouseEvent) => {\n if (form.personalConfigProvider) {\n form.personalConfig = this.preference = {}\n await form.personalConfigProvider.reset()\n }\n popup.close()\n }}\n title=${String(i18next.t('button.delete'))}\n >keep_off</md-icon\n ><md-icon @click=${async (e: MouseEvent) => popup.close()} title=${String(i18next.t('button.close'))}\n >close</md-icon\n >\n </div>\n\n ${this.preference?.filters!.map(\n filter => html`\n <ox-checkbox label=\"checkbox\" ?checked=${!filter.hidden} value=${filter.name} option\n >${filter.name}<span style=\"position: absolute; right: 10px; cursor: row-resize;opacity:.5\" handle\n >☰</span\n ></ox-checkbox\n >\n `\n )}\n `\n\n const popup = OxPopupList.open({\n template,\n multiple: true,\n sortable: true,\n debug: this.debug,\n attrSelected: 'checked',\n top: e.pageY,\n left: e.pageX,\n styles: css`\n :host {\n width: 240px;\n min-height: 300px;\n max-height: 80%;\n overflow: auto;\n }\n\n ::slotted(.personalizer-header) {\n --md-icon-size: 1.4em;\n\n display: flex;\n flex-direction: row;\n align-items: center;\n text-transform: capitalize;\n box-shadow: 0 3px 3px rgba(0, 0, 0, 0.3);\n }\n\n ::slotted([option]) {\n position: relative;\n user-select: none;\n }\n `\n })\n\n popup.onselect = (e: Event) => {\n const selected = (e as CustomEvent).detail\n\n const pconfig: PersonalGristPreference = { ...form.personalConfig }\n const pfilters = this.preference?.filters!\n\n pconfig.filters = pfilters.map(filter => {\n return {\n name: filter.name,\n hidden: selected.indexOf(filter.name) == -1,\n value: filter.value\n }\n })\n\n form.personalConfig = this.preference = pconfig\n\n form.applyUpdatedConfiguration()\n }\n\n popup.addEventListener('sorted', (e: Event) => {\n const sorted = (e as CustomEvent).detail as HTMLElement[]\n\n const pconfig: PersonalGristPreference = { ...form.personalConfig }\n const pfilters = this.preference?.filters!\n\n pconfig.filters = sorted\n .map(element => {\n const name = (element as HTMLInputElement).value\n return pfilters.find(filter => filter.name == name)!\n })\n .filter(Boolean)\n\n form.personalConfig = this.preference = pconfig\n\n form.applyUpdatedConfiguration()\n })\n }}\n >settings<md-ripple></md-ripple\n ></md-icon>\n `\n }\n}\n"]}
@@ -7,7 +7,18 @@ import { OxPopupList } from '@operato/popup';
7
7
  let OxGristPersonalizer = class OxGristPersonalizer extends LitElement {
8
8
  constructor() {
9
9
  super(...arguments);
10
- this.debug = false;
10
+ Object.defineProperty(this, "debug", {
11
+ enumerable: true,
12
+ configurable: true,
13
+ writable: true,
14
+ value: false
15
+ });
16
+ Object.defineProperty(this, "preference", {
17
+ enumerable: true,
18
+ configurable: true,
19
+ writable: true,
20
+ value: void 0
21
+ });
11
22
  }
12
23
  render() {
13
24
  return html `
@@ -180,8 +191,12 @@ let OxGristPersonalizer = class OxGristPersonalizer extends LitElement {
180
191
  `;
181
192
  }
182
193
  };
183
- OxGristPersonalizer.styles = [
184
- css `
194
+ Object.defineProperty(OxGristPersonalizer, "styles", {
195
+ enumerable: true,
196
+ configurable: true,
197
+ writable: true,
198
+ value: [
199
+ css `
185
200
  md-icon {
186
201
  --md-icon-size: 14px;
187
202
  width: 16px;
@@ -198,7 +213,8 @@ OxGristPersonalizer.styles = [
198
213
  }
199
214
  }
200
215
  `
201
- ];
216
+ ]
217
+ });
202
218
  __decorate([
203
219
  property({ type: Boolean, attribute: true })
204
220
  ], OxGristPersonalizer.prototype, "debug", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"ox-grist-personalizer.js","sourceRoot":"","sources":["../../../src/personalizer/ox-grist-personalizer.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/button/outlined-button.js'\n\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\n\nimport { i18next } from '@operato/i18n'\nimport { OxPopupList } from '@operato/popup'\nimport { OxCheckbox } from '@operato/input'\n\nimport { ColumnConfig, PersonalGristPreference } from '../types'\nimport { DataGrist } from '../data-grist'\n\n@customElement('ox-grist-personalizer')\nexport class OxGristPersonalizer extends LitElement {\n static styles = [\n css`\n md-icon {\n --md-icon-size: 14px;\n width: 16px;\n height: 16px;\n color: var(--ox-grist-p13n-color, var(--md-sys-color-on-primary));\n background-color: var(--ox-grist-p13n-background-color, var(--md-sys-color-primary));\n border-radius: 0px 0px 7px 7px;\n cursor: pointer;\n padding-top: var(--spacing-small);\n\n &:hover {\n color: var(--ox-grist-p13n-hover-color, var(--md-sys-color-on-primary));\n background-color: var(--ox-grist-p13n-hover-background-color, var(--md-sys-color-surface-tint));\n }\n }\n `\n ]\n\n @property({ type: Boolean, attribute: true }) debug: boolean = false\n\n @state() private preference?: PersonalGristPreference\n\n render() {\n return html`\n <md-icon\n @click=${(e: MouseEvent) => {\n const grist = this.closest('ox-grist') as DataGrist\n\n const { config, compiledConfig, sorters, pagination, mode } = grist\n const { columns: compiledColumns } = compiledConfig\n\n const columns = compiledColumns\n .filter(ccolumn => {\n const column = config.columns.find((column: Partial<ColumnConfig>) => column.name == ccolumn.name)\n return column && column.name && column.type !== 'gutter' && !column.hidden && !column.unusable\n })\n .map(column => compiledColumns.find(compiledColumn => compiledColumn.name == column.name)!)\n\n this.preference = {\n columns: columns.map(column => {\n return {\n name: column.name,\n hidden: column.hidden,\n width: column.width\n }\n }),\n sorters,\n pagination: {\n ...pagination,\n limit: grist.getCurrentLimit()\n },\n mode\n }\n\n const template = html`\n <div class=\"personalizer-header\" slot=\"header\">\n <div\n style=${`\n display: flex;\n align-items: center;\n margin: 0 0 0 auto;\n min-height: 1.4em;\n color: var(--ox-grist-p13n-button-color, var(--md-sys-color-on-primary));\n background-color: var(--ox-grist-p13n-button-background-color, var(--md-sys-color-primary));\n border-radius: var(--md-sys-shape-corner-small);\n padding: 0 var(--spacing-small);\n cursor: pointer;\n `}\n @click=${async (e: MouseEvent) => {\n if (grist.personalConfigProvider) {\n const { mode, columns, sorters, pagination } = this.preference || {}\n grist.personalConfig = this.preference = await grist.personalConfigProvider.save({\n mode,\n columns,\n sorters,\n pagination\n })\n }\n popup.close()\n }}\n >\n ${String(i18next.t('button.save'))}\n </div>\n <div\n style=${`\n display: flex;\n align-items: center;\n margin: 0 0 0 var(--spacing-small, 4px);\n min-height: 1.4em;\n color: var(--ox-grist-p13n-button-color, var(--md-sys-color-on-primary));\n background-color: var(--ox-grist-p13n-button-background-color, var(--md-sys-color-primary));\n border-radius: var(--md-sys-shape-corner-small);\n padding: 0 var(--spacing-small);\n cursor: pointer;\n `}\n @click=${async (e: MouseEvent) => {\n if (grist.personalConfigProvider) {\n grist.personalConfig = this.preference = {}\n await grist.personalConfigProvider.reset()\n }\n popup.close()\n }}\n >\n ${String(i18next.t('button.delete'))}\n </div>\n <md-icon\n style=${`\n --md-icon-size: 1.2em;\n margin-left: var(--spacing-tiny, 2px);\n cursor: pointer;\n `}\n @click=${async (e: MouseEvent) => popup.close()}\n title=${String(i18next.t('button.close'))}\n >close</md-icon\n >\n </div>\n\n ${columns.map(\n column => html`\n <ox-checkbox label=\"checkbox\" ?checked=${!column.hidden} value=${column.name} option\n >${column.header.renderer(column)}<span\n style=\"position: absolute; right: 10px; cursor: row-resize;opacity:.5\"\n handle\n >☰</span\n ></ox-checkbox\n >\n `\n )}\n `\n\n const popup = OxPopupList.open({\n template,\n multiple: true,\n sortable: true,\n debug: this.debug,\n attrSelected: 'checked',\n top: e.pageY,\n left: e.pageX,\n styles: css`\n :host {\n width: 240px;\n min-height: 300px;\n max-height: 80%;\n overflow: auto;\n }\n\n ::slotted(.personalizer-header) {\n --md-icon-size: 1.4em;\n\n display: flex;\n flex-direction: row;\n align-items: center;\n text-transform: capitalize;\n box-shadow: 0 3px 3px rgba(0, 0, 0, 0.3);\n }\n\n ::slotted([option]) {\n position: relative;\n user-select: none;\n }\n `\n })\n\n popup.onselect = (e: Event) => {\n const selected = (e as CustomEvent).detail\n\n const pconfig: PersonalGristPreference = grist.personalConfig || {}\n const pcolumns = this.preference?.columns || columns\n\n pconfig.columns = pcolumns.map(column => {\n return {\n name: column.name,\n hidden: selected.indexOf(column.name) == -1,\n width: column.width\n }\n })\n\n this.preference = pconfig\n\n grist.personalConfig = this.preference\n\n grist.applyUpdatedConfiguration()\n }\n\n popup.addEventListener('sorted', (e: Event) => {\n const sorted = (e as CustomEvent).detail as HTMLElement[]\n\n const pconfig: PersonalGristPreference = grist.personalConfig || {}\n\n pconfig.columns = sorted.map(element => {\n const name = (element as OxCheckbox).value\n return {\n name,\n hidden: !element.hasAttribute('checked'),\n width: columns.find(column => column.name == name)?.width\n }\n })\n\n this.preference = pconfig\n\n grist.personalConfig = this.preference\n\n grist.applyUpdatedConfiguration()\n })\n }}\n >settings</md-icon\n >\n `\n }\n}\n"]}
1
+ {"version":3,"file":"ox-grist-personalizer.js","sourceRoot":"","sources":["../../../src/personalizer/ox-grist-personalizer.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/button/outlined-button.js'\n\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\n\nimport { i18next } from '@operato/i18n'\nimport { OxPopupList } from '@operato/popup'\nimport { OxCheckbox } from '@operato/input'\n\nimport { ColumnConfig, PersonalGristPreference } from '../types.js'\nimport { DataGrist } from '../data-grist.js'\n\n@customElement('ox-grist-personalizer')\nexport class OxGristPersonalizer extends LitElement {\n static styles = [\n css`\n md-icon {\n --md-icon-size: 14px;\n width: 16px;\n height: 16px;\n color: var(--ox-grist-p13n-color, var(--md-sys-color-on-primary));\n background-color: var(--ox-grist-p13n-background-color, var(--md-sys-color-primary));\n border-radius: 0px 0px 7px 7px;\n cursor: pointer;\n padding-top: var(--spacing-small);\n\n &:hover {\n color: var(--ox-grist-p13n-hover-color, var(--md-sys-color-on-primary));\n background-color: var(--ox-grist-p13n-hover-background-color, var(--md-sys-color-surface-tint));\n }\n }\n `\n ]\n\n @property({ type: Boolean, attribute: true }) debug: boolean = false\n\n @state() private preference?: PersonalGristPreference\n\n render() {\n return html`\n <md-icon\n @click=${(e: MouseEvent) => {\n const grist = this.closest('ox-grist') as DataGrist\n\n const { config, compiledConfig, sorters, pagination, mode } = grist\n const { columns: compiledColumns } = compiledConfig\n\n const columns = compiledColumns\n .filter(ccolumn => {\n const column = config.columns.find((column: Partial<ColumnConfig>) => column.name == ccolumn.name)\n return column && column.name && column.type !== 'gutter' && !column.hidden && !column.unusable\n })\n .map(column => compiledColumns.find(compiledColumn => compiledColumn.name == column.name)!)\n\n this.preference = {\n columns: columns.map(column => {\n return {\n name: column.name,\n hidden: column.hidden,\n width: column.width\n }\n }),\n sorters,\n pagination: {\n ...pagination,\n limit: grist.getCurrentLimit()\n },\n mode\n }\n\n const template = html`\n <div class=\"personalizer-header\" slot=\"header\">\n <div\n style=${`\n display: flex;\n align-items: center;\n margin: 0 0 0 auto;\n min-height: 1.4em;\n color: var(--ox-grist-p13n-button-color, var(--md-sys-color-on-primary));\n background-color: var(--ox-grist-p13n-button-background-color, var(--md-sys-color-primary));\n border-radius: var(--md-sys-shape-corner-small);\n padding: 0 var(--spacing-small);\n cursor: pointer;\n `}\n @click=${async (e: MouseEvent) => {\n if (grist.personalConfigProvider) {\n const { mode, columns, sorters, pagination } = this.preference || {}\n grist.personalConfig = this.preference = await grist.personalConfigProvider.save({\n mode,\n columns,\n sorters,\n pagination\n })\n }\n popup.close()\n }}\n >\n ${String(i18next.t('button.save'))}\n </div>\n <div\n style=${`\n display: flex;\n align-items: center;\n margin: 0 0 0 var(--spacing-small, 4px);\n min-height: 1.4em;\n color: var(--ox-grist-p13n-button-color, var(--md-sys-color-on-primary));\n background-color: var(--ox-grist-p13n-button-background-color, var(--md-sys-color-primary));\n border-radius: var(--md-sys-shape-corner-small);\n padding: 0 var(--spacing-small);\n cursor: pointer;\n `}\n @click=${async (e: MouseEvent) => {\n if (grist.personalConfigProvider) {\n grist.personalConfig = this.preference = {}\n await grist.personalConfigProvider.reset()\n }\n popup.close()\n }}\n >\n ${String(i18next.t('button.delete'))}\n </div>\n <md-icon\n style=${`\n --md-icon-size: 1.2em;\n margin-left: var(--spacing-tiny, 2px);\n cursor: pointer;\n `}\n @click=${async (e: MouseEvent) => popup.close()}\n title=${String(i18next.t('button.close'))}\n >close</md-icon\n >\n </div>\n\n ${columns.map(\n column => html`\n <ox-checkbox label=\"checkbox\" ?checked=${!column.hidden} value=${column.name} option\n >${column.header.renderer(column)}<span\n style=\"position: absolute; right: 10px; cursor: row-resize;opacity:.5\"\n handle\n >☰</span\n ></ox-checkbox\n >\n `\n )}\n `\n\n const popup = OxPopupList.open({\n template,\n multiple: true,\n sortable: true,\n debug: this.debug,\n attrSelected: 'checked',\n top: e.pageY,\n left: e.pageX,\n styles: css`\n :host {\n width: 240px;\n min-height: 300px;\n max-height: 80%;\n overflow: auto;\n }\n\n ::slotted(.personalizer-header) {\n --md-icon-size: 1.4em;\n\n display: flex;\n flex-direction: row;\n align-items: center;\n text-transform: capitalize;\n box-shadow: 0 3px 3px rgba(0, 0, 0, 0.3);\n }\n\n ::slotted([option]) {\n position: relative;\n user-select: none;\n }\n `\n })\n\n popup.onselect = (e: Event) => {\n const selected = (e as CustomEvent).detail\n\n const pconfig: PersonalGristPreference = grist.personalConfig || {}\n const pcolumns = this.preference?.columns || columns\n\n pconfig.columns = pcolumns.map(column => {\n return {\n name: column.name,\n hidden: selected.indexOf(column.name) == -1,\n width: column.width\n }\n })\n\n this.preference = pconfig\n\n grist.personalConfig = this.preference\n\n grist.applyUpdatedConfiguration()\n }\n\n popup.addEventListener('sorted', (e: Event) => {\n const sorted = (e as CustomEvent).detail as HTMLElement[]\n\n const pconfig: PersonalGristPreference = grist.personalConfig || {}\n\n pconfig.columns = sorted.map(element => {\n const name = (element as OxCheckbox).value\n return {\n name,\n hidden: !element.hasAttribute('checked'),\n width: columns.find(column => column.name == name)?.width\n }\n })\n\n this.preference = pconfig\n\n grist.personalConfig = this.preference\n\n grist.applyUpdatedConfiguration()\n })\n }}\n >settings</md-icon\n >\n `\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { RecordViewBody } from '../record-view-body';
1
+ import { RecordViewBody } from '../record-view-body.js';
2
2
  /**
3
3
  * ox-record-view-body 의 click handler
4
4
  *
@@ -1 +1 @@
1
- {"version":3,"file":"record-view-body-click-handler.js","sourceRoot":"","sources":["../../../../src/record-view/event-handlers/record-view-body-click-handler.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAuB,CAAQ;;IACvE,CAAC,CAAC,eAAe,EAAE,CAAA;IAEnB,sCAAsC;IACtC,IAAI,MAAM,GAAG,CAAC,CAAC,MAAuB,CAAA;IAEtC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,EAAE,CAAA;QACZ,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;IAC/C,CAAC;IAED,IAAI,QAAQ,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,0CAAE,MAAM,CAAC,QAAQ,CAAA;IAC9C,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;QACnC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IACnG,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,KAAK,eAAe,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpD,IAAI,CAAC,KAAK,EAAE,CAAA;QACZ,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;QACzB,OAAM;IACR,CAAC;IAED,IAAI,CAAC,aAAa,GAAG,MAAM,CAAA;IAC3B,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;AACxC,CAAC","sourcesContent":["import { DataGridField } from '../../data-grid/data-grid-field'\nimport { RecordViewBody } from '../record-view-body'\n\n/**\n * ox-record-view-body 의 click handler\n *\n * - handler의 this 는 ox-record-view-body임.\n */\nexport function recordViewBodyClickHandler(this: RecordViewBody, e: Event): void {\n e.stopPropagation()\n\n /* target should be 'ox-grid-field' */\n var target = e.target as DataGridField\n\n if (this.currentTarget) {\n this.focus()\n this.currentTarget.removeAttribute('editing')\n }\n\n let editable = target?.column?.record.editable\n if (typeof editable === 'function') {\n editable = editable.call(this, target.value, target.column, target.record, target.rowIndex, this)\n }\n\n if (target.tagName !== 'OX-GRID-FIELD' || !editable) {\n this.focus()\n this.currentTarget = null\n return\n }\n\n this.currentTarget = target\n target.setAttribute('editing', 'true')\n}\n"]}
1
+ {"version":3,"file":"record-view-body-click-handler.js","sourceRoot":"","sources":["../../../../src/record-view/event-handlers/record-view-body-click-handler.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAuB,CAAQ;;IACvE,CAAC,CAAC,eAAe,EAAE,CAAA;IAEnB,sCAAsC;IACtC,IAAI,MAAM,GAAG,CAAC,CAAC,MAAuB,CAAA;IAEtC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,EAAE,CAAA;QACZ,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;IAC/C,CAAC;IAED,IAAI,QAAQ,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,0CAAE,MAAM,CAAC,QAAQ,CAAA;IAC9C,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;QACnC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IACnG,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,KAAK,eAAe,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpD,IAAI,CAAC,KAAK,EAAE,CAAA;QACZ,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;QACzB,OAAM;IACR,CAAC;IAED,IAAI,CAAC,aAAa,GAAG,MAAM,CAAA;IAC3B,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;AACxC,CAAC","sourcesContent":["import { DataGridField } from '../../data-grid/data-grid-field.js'\nimport { RecordViewBody } from '../record-view-body.js'\n\n/**\n * ox-record-view-body 의 click handler\n *\n * - handler의 this 는 ox-record-view-body임.\n */\nexport function recordViewBodyClickHandler(this: RecordViewBody, e: Event): void {\n e.stopPropagation()\n\n /* target should be 'ox-grid-field' */\n var target = e.target as DataGridField\n\n if (this.currentTarget) {\n this.focus()\n this.currentTarget.removeAttribute('editing')\n }\n\n let editable = target?.column?.record.editable\n if (typeof editable === 'function') {\n editable = editable.call(this, target.value, target.column, target.record, target.rowIndex, this)\n }\n\n if (target.tagName !== 'OX-GRID-FIELD' || !editable) {\n this.focus()\n this.currentTarget = null\n return\n }\n\n this.currentTarget = target\n target.setAttribute('editing', 'true')\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { RecordViewBody } from '../record-view-body';
1
+ import { RecordViewBody } from '../record-view-body.js';
2
2
  /**
3
3
  * ox-record-view-body 의 keydown handler
4
4
  *
@@ -1 +1 @@
1
- {"version":3,"file":"record-view-body-keydown-handler.js","sourceRoot":"","sources":["../../../../src/record-view/event-handlers/record-view-body-keydown-handler.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAuB,CAAQ;IAC/E,QAAS,CAAmB,CAAC,GAAG,EAAE,CAAC;QACjC,KAAK,KAAK,CAAC;QACX,KAAK,QAAQ,CAAC;QACd,wBAAwB;QACxB,KAAK,OAAO;YACV,+DAA+D;YAC/D,IAAI,CAAC,KAAK,EAAE,CAAA;YAEZ,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;YAC/C,CAAC;YAED,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;YAEzB,MAAK;QACP,QAAQ;IACV,CAAC;AACH,CAAC","sourcesContent":["import { RecordViewBody } from '../record-view-body'\n\n/**\n * ox-record-view-body 의 keydown handler\n *\n * - handler의 this 는 ox-record-view-body임.\n */\nexport async function recordViewBodyKeydownHandler(this: RecordViewBody, e: Event): Promise<void> {\n switch ((e as KeyboardEvent).key) {\n case 'Esc':\n case 'Escape':\n /* TODO 편집이 취소되어야 한다. */\n case 'Enter':\n /* 먼저, focus를 옮겨놓아야, focusout 으로 인해서 popup이 닫히는 것을 방지할 수 있다. */\n this.focus()\n\n if (this.currentTarget) {\n this.currentTarget.removeAttribute('editing')\n }\n\n this.currentTarget = null\n\n break\n default:\n }\n}\n"]}
1
+ {"version":3,"file":"record-view-body-keydown-handler.js","sourceRoot":"","sources":["../../../../src/record-view/event-handlers/record-view-body-keydown-handler.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAuB,CAAQ;IAC/E,QAAS,CAAmB,CAAC,GAAG,EAAE,CAAC;QACjC,KAAK,KAAK,CAAC;QACX,KAAK,QAAQ,CAAC;QACd,wBAAwB;QACxB,KAAK,OAAO;YACV,+DAA+D;YAC/D,IAAI,CAAC,KAAK,EAAE,CAAA;YAEZ,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;YAC/C,CAAC;YAED,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;YAEzB,MAAK;QACP,QAAQ;IACV,CAAC;AACH,CAAC","sourcesContent":["import { RecordViewBody } from '../record-view-body.js'\n\n/**\n * ox-record-view-body 의 keydown handler\n *\n * - handler의 this 는 ox-record-view-body임.\n */\nexport async function recordViewBodyKeydownHandler(this: RecordViewBody, e: Event): Promise<void> {\n switch ((e as KeyboardEvent).key) {\n case 'Esc':\n case 'Escape':\n /* TODO 편집이 취소되어야 한다. */\n case 'Enter':\n /* 먼저, focus를 옮겨놓아야, focusout 으로 인해서 popup이 닫히는 것을 방지할 수 있다. */\n this.focus()\n\n if (this.currentTarget) {\n this.currentTarget.removeAttribute('editing')\n }\n\n this.currentTarget = null\n\n break\n default:\n }\n}\n"]}
@@ -1,2 +1,2 @@
1
- export * from './record-view';
2
- export * from './ox-record-creator';
1
+ export * from './record-view.js';
2
+ export * from './ox-record-creator.js';
@@ -1,3 +1,3 @@
1
- export * from './record-view';
2
- export * from './ox-record-creator';
1
+ export * from './record-view.js';
2
+ export * from './ox-record-creator.js';
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/record-view/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA","sourcesContent":["export * from './record-view'\nexport * from './ox-record-creator'\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/record-view/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,wBAAwB,CAAA","sourcesContent":["export * from './record-view.js'\nexport * from './ox-record-creator.js'\n"]}
@@ -1,8 +1,8 @@
1
1
  import '@material/web/icon/icon.js';
2
- import './record-view';
2
+ import './record-view.js';
3
3
  import { LitElement } from 'lit';
4
- import { DataGrist } from '../data-grist';
5
- import { GristRecord, ValidationReason } from '../types';
4
+ import { DataGrist } from '../data-grist.js';
5
+ import { GristRecord, ValidationReason } from '../types.js';
6
6
  export declare class OxRecordCreator extends LitElement {
7
7
  static styles: import("lit").CSSResult[];
8
8
  grist?: DataGrist;
@@ -1,15 +1,43 @@
1
1
  import { __decorate } from "tslib";
2
2
  import '@material/web/icon/icon.js';
3
- import './record-view';
3
+ import './record-view.js';
4
4
  import { css, html, LitElement } from 'lit';
5
5
  import { customElement, property, state } from 'lit/decorators.js';
6
6
  import { OxPopup } from '@operato/popup';
7
- import { ValidationReason } from '../types';
7
+ import { ValidationReason } from '../types.js';
8
8
  let OxRecordCreator = class OxRecordCreator extends LitElement {
9
9
  constructor() {
10
10
  super();
11
- this.lightPopup = false;
12
- this.preventCloseOnBlur = false;
11
+ Object.defineProperty(this, "grist", {
12
+ enumerable: true,
13
+ configurable: true,
14
+ writable: true,
15
+ value: void 0
16
+ });
17
+ Object.defineProperty(this, "callback", {
18
+ enumerable: true,
19
+ configurable: true,
20
+ writable: true,
21
+ value: void 0
22
+ });
23
+ Object.defineProperty(this, "customPopupCallback", {
24
+ enumerable: true,
25
+ configurable: true,
26
+ writable: true,
27
+ value: void 0
28
+ });
29
+ Object.defineProperty(this, "lightPopup", {
30
+ enumerable: true,
31
+ configurable: true,
32
+ writable: true,
33
+ value: false
34
+ });
35
+ Object.defineProperty(this, "preventCloseOnBlur", {
36
+ enumerable: true,
37
+ configurable: true,
38
+ writable: true,
39
+ value: false
40
+ });
13
41
  this.addEventListener('click', (e) => {
14
42
  e.preventDefault();
15
43
  e.stopPropagation();
@@ -218,13 +246,18 @@ let OxRecordCreator = class OxRecordCreator extends LitElement {
218
246
  }));
219
247
  }
220
248
  };
221
- OxRecordCreator.styles = [
222
- css `
249
+ Object.defineProperty(OxRecordCreator, "styles", {
250
+ enumerable: true,
251
+ configurable: true,
252
+ writable: true,
253
+ value: [
254
+ css `
223
255
  ::slotted([slot='popup']) {
224
256
  display: none;
225
257
  }
226
258
  `
227
- ];
259
+ ]
260
+ });
228
261
  __decorate([
229
262
  state()
230
263
  ], OxRecordCreator.prototype, "grist", void 0);