@operato/data-grist 9.0.0-beta.62 → 9.0.0-beta.64

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 (424) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/src/accumulator/accumulator.d.ts +2 -0
  3. package/dist/src/accumulator/accumulator.js +42 -0
  4. package/dist/src/accumulator/accumulator.js.map +1 -0
  5. package/dist/src/configure/column-builder.d.ts +2 -0
  6. package/dist/src/configure/column-builder.js +99 -0
  7. package/dist/src/configure/column-builder.js.map +1 -0
  8. package/dist/src/configure/config-builder.d.ts +2 -0
  9. package/dist/src/configure/config-builder.js +36 -0
  10. package/dist/src/configure/config-builder.js.map +1 -0
  11. package/dist/src/configure/filters-option-builder.d.ts +2 -0
  12. package/dist/src/configure/filters-option-builder.js +7 -0
  13. package/dist/src/configure/filters-option-builder.js.map +1 -0
  14. package/dist/src/configure/imex-option-builder.d.ts +2 -0
  15. package/dist/src/configure/imex-option-builder.js +4 -0
  16. package/dist/src/configure/imex-option-builder.js.map +1 -0
  17. package/dist/src/configure/list-option-builder.d.ts +2 -0
  18. package/dist/src/configure/list-option-builder.js +8 -0
  19. package/dist/src/configure/list-option-builder.js.map +1 -0
  20. package/dist/src/configure/rows-option-builder.d.ts +2 -0
  21. package/dist/src/configure/rows-option-builder.js +26 -0
  22. package/dist/src/configure/rows-option-builder.js.map +1 -0
  23. package/dist/src/configure/tree-option-builder.d.ts +2 -0
  24. package/dist/src/configure/tree-option-builder.js +18 -0
  25. package/dist/src/configure/tree-option-builder.js.map +1 -0
  26. package/dist/src/configure/zero-config.d.ts +23 -0
  27. package/dist/src/configure/zero-config.js +59 -0
  28. package/dist/src/configure/zero-config.js.map +1 -0
  29. package/dist/src/const.d.ts +1 -0
  30. package/dist/src/const.js +2 -0
  31. package/dist/src/const.js.map +1 -0
  32. package/dist/src/data-card/data-card-field.d.ts +11 -0
  33. package/dist/src/data-card/data-card-field.js +106 -0
  34. package/dist/src/data-card/data-card-field.js.map +1 -0
  35. package/dist/src/data-card/data-card-gutter-menu.d.ts +2 -0
  36. package/dist/src/data-card/data-card-gutter-menu.js +96 -0
  37. package/dist/src/data-card/data-card-gutter-menu.js.map +1 -0
  38. package/dist/src/data-card/data-card-gutter.d.ts +12 -0
  39. package/dist/src/data-card/data-card-gutter.js +116 -0
  40. package/dist/src/data-card/data-card-gutter.js.map +1 -0
  41. package/dist/src/data-card/data-card.d.ts +19 -0
  42. package/dist/src/data-card/data-card.js +149 -0
  43. package/dist/src/data-card/data-card.js.map +1 -0
  44. package/dist/src/data-card/event-handlers/record-card-click-handler.d.ts +7 -0
  45. package/dist/src/data-card/event-handlers/record-card-click-handler.js +29 -0
  46. package/dist/src/data-card/event-handlers/record-card-click-handler.js.map +1 -0
  47. package/dist/src/data-card/event-handlers/record-card-dblclick-handler.d.ts +7 -0
  48. package/dist/src/data-card/event-handlers/record-card-dblclick-handler.js +29 -0
  49. package/dist/src/data-card/event-handlers/record-card-dblclick-handler.js.map +1 -0
  50. package/dist/src/data-card/record-card.d.ts +23 -0
  51. package/dist/src/data-card/record-card.js +288 -0
  52. package/dist/src/data-card/record-card.js.map +1 -0
  53. package/dist/src/data-consumer.d.ts +10 -0
  54. package/dist/src/data-consumer.js +2 -0
  55. package/dist/src/data-consumer.js.map +1 -0
  56. package/dist/src/data-grid/data-grid-accum-field.d.ts +16 -0
  57. package/dist/src/data-grid/data-grid-accum-field.js +133 -0
  58. package/dist/src/data-grid/data-grid-accum-field.js.map +1 -0
  59. package/dist/src/data-grid/data-grid-body-style.d.ts +1 -0
  60. package/dist/src/data-grid/data-grid-body-style.js +99 -0
  61. package/dist/src/data-grid/data-grid-body-style.js.map +1 -0
  62. package/dist/src/data-grid/data-grid-body.d.ts +52 -0
  63. package/dist/src/data-grid/data-grid-body.js +660 -0
  64. package/dist/src/data-grid/data-grid-body.js.map +1 -0
  65. package/dist/src/data-grid/data-grid-field.d.ts +25 -0
  66. package/dist/src/data-grid/data-grid-field.js +263 -0
  67. package/dist/src/data-grid/data-grid-field.js.map +1 -0
  68. package/dist/src/data-grid/data-grid-footer.d.ts +11 -0
  69. package/dist/src/data-grid/data-grid-footer.js +120 -0
  70. package/dist/src/data-grid/data-grid-footer.js.map +1 -0
  71. package/dist/src/data-grid/data-grid-header.d.ts +29 -0
  72. package/dist/src/data-grid/data-grid-header.js +531 -0
  73. package/dist/src/data-grid/data-grid-header.js.map +1 -0
  74. package/dist/src/data-grid/data-grid.d.ts +36 -0
  75. package/dist/src/data-grid/data-grid.js +260 -0
  76. package/dist/src/data-grid/data-grid.js.map +1 -0
  77. package/dist/src/data-grid/event-handlers/data-grid-body-click-handler.d.ts +7 -0
  78. package/dist/src/data-grid/event-handlers/data-grid-body-click-handler.js +57 -0
  79. package/dist/src/data-grid/event-handlers/data-grid-body-click-handler.js.map +1 -0
  80. package/dist/src/data-grid/event-handlers/data-grid-body-contextmenu-handler.d.ts +7 -0
  81. package/dist/src/data-grid/event-handlers/data-grid-body-contextmenu-handler.js +25 -0
  82. package/dist/src/data-grid/event-handlers/data-grid-body-contextmenu-handler.js.map +1 -0
  83. package/dist/src/data-grid/event-handlers/data-grid-body-dblclick-handler.d.ts +7 -0
  84. package/dist/src/data-grid/event-handlers/data-grid-body-dblclick-handler.js +34 -0
  85. package/dist/src/data-grid/event-handlers/data-grid-body-dblclick-handler.js.map +1 -0
  86. package/dist/src/data-grid/event-handlers/data-grid-body-focus-change-handler.d.ts +7 -0
  87. package/dist/src/data-grid/event-handlers/data-grid-body-focus-change-handler.js +19 -0
  88. package/dist/src/data-grid/event-handlers/data-grid-body-focus-change-handler.js.map +1 -0
  89. package/dist/src/data-grid/event-handlers/data-grid-body-keydown-handler.d.ts +7 -0
  90. package/dist/src/data-grid/event-handlers/data-grid-body-keydown-handler.js +226 -0
  91. package/dist/src/data-grid/event-handlers/data-grid-body-keydown-handler.js.map +1 -0
  92. package/dist/src/data-grist.d.ts +367 -0
  93. package/dist/src/data-grist.js +1064 -0
  94. package/dist/src/data-grist.js.map +1 -0
  95. package/dist/src/data-list/data-list-field.d.ts +11 -0
  96. package/dist/src/data-list/data-list-field.js +95 -0
  97. package/dist/src/data-list/data-list-field.js.map +1 -0
  98. package/dist/src/data-list/data-list-gutter.d.ts +12 -0
  99. package/dist/src/data-list/data-list-gutter.js +121 -0
  100. package/dist/src/data-list/data-list-gutter.js.map +1 -0
  101. package/dist/src/data-list/data-list.d.ts +18 -0
  102. package/dist/src/data-list/data-list.js +139 -0
  103. package/dist/src/data-list/data-list.js.map +1 -0
  104. package/dist/src/data-list/event-handlers/record-partial-click-handler.d.ts +7 -0
  105. package/dist/src/data-list/event-handlers/record-partial-click-handler.js +29 -0
  106. package/dist/src/data-list/event-handlers/record-partial-click-handler.js.map +1 -0
  107. package/dist/src/data-list/event-handlers/record-partial-dblclick-handler.d.ts +7 -0
  108. package/dist/src/data-list/event-handlers/record-partial-dblclick-handler.js +29 -0
  109. package/dist/src/data-list/event-handlers/record-partial-dblclick-handler.js.map +1 -0
  110. package/dist/src/data-list/event-handlers/record-partial-long-press-handler.d.ts +7 -0
  111. package/dist/src/data-list/event-handlers/record-partial-long-press-handler.js +29 -0
  112. package/dist/src/data-list/event-handlers/record-partial-long-press-handler.js.map +1 -0
  113. package/dist/src/data-list/record-partial.d.ts +21 -0
  114. package/dist/src/data-list/record-partial.js +252 -0
  115. package/dist/src/data-list/record-partial.js.map +1 -0
  116. package/dist/src/data-manipulator.d.ts +38 -0
  117. package/dist/src/data-manipulator.js +324 -0
  118. package/dist/src/data-manipulator.js.map +1 -0
  119. package/dist/src/data-provider.d.ts +50 -0
  120. package/dist/src/data-provider.js +200 -0
  121. package/dist/src/data-provider.js.map +1 -0
  122. package/dist/src/data-report/data-report-body-style.d.ts +1 -0
  123. package/dist/src/data-report/data-report-body-style.js +58 -0
  124. package/dist/src/data-report/data-report-body-style.js.map +1 -0
  125. package/dist/src/data-report/data-report-body.d.ts +18 -0
  126. package/dist/src/data-report/data-report-body.js +181 -0
  127. package/dist/src/data-report/data-report-body.js.map +1 -0
  128. package/dist/src/data-report/data-report-component.d.ts +21 -0
  129. package/dist/src/data-report/data-report-component.js +138 -0
  130. package/dist/src/data-report/data-report-component.js.map +1 -0
  131. package/dist/src/data-report/data-report-field.d.ts +13 -0
  132. package/dist/src/data-report/data-report-field.js +99 -0
  133. package/dist/src/data-report/data-report-field.js.map +1 -0
  134. package/dist/src/data-report/data-report-header.d.ts +1 -0
  135. package/dist/src/data-report/data-report-header.js +221 -0
  136. package/dist/src/data-report/data-report-header.js.map +1 -0
  137. package/dist/src/data-report/event-handlers/data-report-body-click-handler.d.ts +5 -0
  138. package/dist/src/data-report/event-handlers/data-report-body-click-handler.js +33 -0
  139. package/dist/src/data-report/event-handlers/data-report-body-click-handler.js.map +1 -0
  140. package/dist/src/data-report/event-handlers/data-report-body-dblclick-handler.d.ts +5 -0
  141. package/dist/src/data-report/event-handlers/data-report-body-dblclick-handler.js +19 -0
  142. package/dist/src/data-report/event-handlers/data-report-body-dblclick-handler.js.map +1 -0
  143. package/dist/src/data-report/event-handlers/data-report-body-keydown-handler.d.ts +5 -0
  144. package/dist/src/data-report/event-handlers/data-report-body-keydown-handler.js +58 -0
  145. package/dist/src/data-report/event-handlers/data-report-body-keydown-handler.js.map +1 -0
  146. package/dist/src/data-report.d.ts +44 -0
  147. package/dist/src/data-report.js +386 -0
  148. package/dist/src/data-report.js.map +1 -0
  149. package/dist/src/editors/index.d.ts +3 -0
  150. package/dist/src/editors/index.js +4 -0
  151. package/dist/src/editors/index.js.map +1 -0
  152. package/dist/src/editors/ox-grist-editor-checkbox.d.ts +7 -0
  153. package/dist/src/editors/ox-grist-editor-checkbox.js +27 -0
  154. package/dist/src/editors/ox-grist-editor-checkbox.js.map +1 -0
  155. package/dist/src/editors/ox-grist-editor-color.d.ts +4 -0
  156. package/dist/src/editors/ox-grist-editor-color.js +14 -0
  157. package/dist/src/editors/ox-grist-editor-color.js.map +1 -0
  158. package/dist/src/editors/ox-grist-editor-date.d.ts +4 -0
  159. package/dist/src/editors/ox-grist-editor-date.js +14 -0
  160. package/dist/src/editors/ox-grist-editor-date.js.map +1 -0
  161. package/dist/src/editors/ox-grist-editor-datetime.d.ts +6 -0
  162. package/dist/src/editors/ox-grist-editor-datetime.js +26 -0
  163. package/dist/src/editors/ox-grist-editor-datetime.js.map +1 -0
  164. package/dist/src/editors/ox-grist-editor-email.d.ts +4 -0
  165. package/dist/src/editors/ox-grist-editor-email.js +14 -0
  166. package/dist/src/editors/ox-grist-editor-email.js.map +1 -0
  167. package/dist/src/editors/ox-grist-editor-file.d.ts +6 -0
  168. package/dist/src/editors/ox-grist-editor-file.js +25 -0
  169. package/dist/src/editors/ox-grist-editor-file.js.map +1 -0
  170. package/dist/src/editors/ox-grist-editor-image.d.ts +7 -0
  171. package/dist/src/editors/ox-grist-editor-image.js +31 -0
  172. package/dist/src/editors/ox-grist-editor-image.js.map +1 -0
  173. package/dist/src/editors/ox-grist-editor-json5.d.ts +8 -0
  174. package/dist/src/editors/ox-grist-editor-json5.js +66 -0
  175. package/dist/src/editors/ox-grist-editor-json5.js.map +1 -0
  176. package/dist/src/editors/ox-grist-editor-month.d.ts +4 -0
  177. package/dist/src/editors/ox-grist-editor-month.js +14 -0
  178. package/dist/src/editors/ox-grist-editor-month.js.map +1 -0
  179. package/dist/src/editors/ox-grist-editor-multiple-select.d.ts +8 -0
  180. package/dist/src/editors/ox-grist-editor-multiple-select.js +52 -0
  181. package/dist/src/editors/ox-grist-editor-multiple-select.js.map +1 -0
  182. package/dist/src/editors/ox-grist-editor-number.d.ts +6 -0
  183. package/dist/src/editors/ox-grist-editor-number.js +27 -0
  184. package/dist/src/editors/ox-grist-editor-number.js.map +1 -0
  185. package/dist/src/editors/ox-grist-editor-password.d.ts +4 -0
  186. package/dist/src/editors/ox-grist-editor-password.js +14 -0
  187. package/dist/src/editors/ox-grist-editor-password.js.map +1 -0
  188. package/dist/src/editors/ox-grist-editor-select.d.ts +4 -0
  189. package/dist/src/editors/ox-grist-editor-select.js +53 -0
  190. package/dist/src/editors/ox-grist-editor-select.js.map +1 -0
  191. package/dist/src/editors/ox-grist-editor-tel.d.ts +4 -0
  192. package/dist/src/editors/ox-grist-editor-tel.js +14 -0
  193. package/dist/src/editors/ox-grist-editor-tel.js.map +1 -0
  194. package/dist/src/editors/ox-grist-editor-text.d.ts +5 -0
  195. package/dist/src/editors/ox-grist-editor-text.js +17 -0
  196. package/dist/src/editors/ox-grist-editor-text.js.map +1 -0
  197. package/dist/src/editors/ox-grist-editor-textarea.d.ts +6 -0
  198. package/dist/src/editors/ox-grist-editor-textarea.js +18 -0
  199. package/dist/src/editors/ox-grist-editor-textarea.js.map +1 -0
  200. package/dist/src/editors/ox-grist-editor-time.d.ts +4 -0
  201. package/dist/src/editors/ox-grist-editor-time.js +14 -0
  202. package/dist/src/editors/ox-grist-editor-time.js.map +1 -0
  203. package/dist/src/editors/ox-grist-editor-tree.d.ts +6 -0
  204. package/dist/src/editors/ox-grist-editor-tree.js +27 -0
  205. package/dist/src/editors/ox-grist-editor-tree.js.map +1 -0
  206. package/dist/src/editors/ox-grist-editor-varname.d.ts +6 -0
  207. package/dist/src/editors/ox-grist-editor-varname.js +36 -0
  208. package/dist/src/editors/ox-grist-editor-varname.js.map +1 -0
  209. package/dist/src/editors/ox-grist-editor-week.d.ts +4 -0
  210. package/dist/src/editors/ox-grist-editor-week.js +14 -0
  211. package/dist/src/editors/ox-grist-editor-week.js.map +1 -0
  212. package/dist/src/editors/ox-grist-editor.d.ts +27 -0
  213. package/dist/src/editors/ox-grist-editor.js +197 -0
  214. package/dist/src/editors/ox-grist-editor.js.map +1 -0
  215. package/dist/src/editors/ox-input-tree.d.ts +20 -0
  216. package/dist/src/editors/ox-input-tree.js +221 -0
  217. package/dist/src/editors/ox-input-tree.js.map +1 -0
  218. package/dist/src/editors/ox-popup-code-input.d.ts +14 -0
  219. package/dist/src/editors/ox-popup-code-input.js +78 -0
  220. package/dist/src/editors/ox-popup-code-input.js.map +1 -0
  221. package/dist/src/editors/registry.d.ts +12 -0
  222. package/dist/src/editors/registry.js +73 -0
  223. package/dist/src/editors/registry.js.map +1 -0
  224. package/dist/src/empty-note.d.ts +9 -0
  225. package/dist/src/empty-note.js +53 -0
  226. package/dist/src/empty-note.js.map +1 -0
  227. package/dist/src/filters/filter-checkbox.d.ts +3 -0
  228. package/dist/src/filters/filter-checkbox.js +41 -0
  229. package/dist/src/filters/filter-checkbox.js.map +1 -0
  230. package/dist/src/filters/filter-input-barcode.d.ts +3 -0
  231. package/dist/src/filters/filter-input-barcode.js +28 -0
  232. package/dist/src/filters/filter-input-barcode.js.map +1 -0
  233. package/dist/src/filters/filter-input.d.ts +2 -0
  234. package/dist/src/filters/filter-input.js +25 -0
  235. package/dist/src/filters/filter-input.js.map +1 -0
  236. package/dist/src/filters/filter-range-date.d.ts +2 -0
  237. package/dist/src/filters/filter-range-date.js +66 -0
  238. package/dist/src/filters/filter-range-date.js.map +1 -0
  239. package/dist/src/filters/filter-range-number.d.ts +2 -0
  240. package/dist/src/filters/filter-range-number.js +54 -0
  241. package/dist/src/filters/filter-range-number.js.map +1 -0
  242. package/dist/src/filters/filter-select-buttons.d.ts +3 -0
  243. package/dist/src/filters/filter-select-buttons.js +50 -0
  244. package/dist/src/filters/filter-select-buttons.js.map +1 -0
  245. package/dist/src/filters/filter-select.d.ts +3 -0
  246. package/dist/src/filters/filter-select.js +52 -0
  247. package/dist/src/filters/filter-select.js.map +1 -0
  248. package/dist/src/filters/filter-styles.d.ts +1 -0
  249. package/dist/src/filters/filter-styles.js +119 -0
  250. package/dist/src/filters/filter-styles.js.map +1 -0
  251. package/dist/src/filters/filters-form.d.ts +40 -0
  252. package/dist/src/filters/filters-form.js +430 -0
  253. package/dist/src/filters/filters-form.js.map +1 -0
  254. package/dist/src/filters/index.d.ts +8 -0
  255. package/dist/src/filters/index.js +9 -0
  256. package/dist/src/filters/index.js.map +1 -0
  257. package/dist/src/filters/registry.d.ts +7 -0
  258. package/dist/src/filters/registry.js +48 -0
  259. package/dist/src/filters/registry.js.map +1 -0
  260. package/dist/src/formatters/date-formatter.d.ts +1 -0
  261. package/dist/src/formatters/date-formatter.js +4 -0
  262. package/dist/src/formatters/date-formatter.js.map +1 -0
  263. package/dist/src/formatters/index.d.ts +1 -0
  264. package/dist/src/formatters/index.js +2 -0
  265. package/dist/src/formatters/index.js.map +1 -0
  266. package/dist/src/formatters/number-formatter.d.ts +1 -0
  267. package/dist/src/formatters/number-formatter.js +4 -0
  268. package/dist/src/formatters/number-formatter.js.map +1 -0
  269. package/dist/src/formatters/registry.d.ts +6 -0
  270. package/dist/src/formatters/registry.js +25 -0
  271. package/dist/src/formatters/registry.js.map +1 -0
  272. package/dist/src/formatters/text-formatter.d.ts +1 -0
  273. package/dist/src/formatters/text-formatter.js +4 -0
  274. package/dist/src/formatters/text-formatter.js.map +1 -0
  275. package/dist/src/gutters/gutter-button.d.ts +21 -0
  276. package/dist/src/gutters/gutter-button.js +40 -0
  277. package/dist/src/gutters/gutter-button.js.map +1 -0
  278. package/dist/src/gutters/gutter-dirty.d.ts +23 -0
  279. package/dist/src/gutters/gutter-dirty.js +87 -0
  280. package/dist/src/gutters/gutter-dirty.js.map +1 -0
  281. package/dist/src/gutters/gutter-row-selector.d.ts +21 -0
  282. package/dist/src/gutters/gutter-row-selector.js +70 -0
  283. package/dist/src/gutters/gutter-row-selector.js.map +1 -0
  284. package/dist/src/gutters/gutter-sequence.d.ts +35 -0
  285. package/dist/src/gutters/gutter-sequence.js +48 -0
  286. package/dist/src/gutters/gutter-sequence.js.map +1 -0
  287. package/dist/src/gutters/index.d.ts +1 -0
  288. package/dist/src/gutters/index.js +2 -0
  289. package/dist/src/gutters/index.js.map +1 -0
  290. package/dist/src/gutters/registry.d.ts +7 -0
  291. package/dist/src/gutters/registry.js +26 -0
  292. package/dist/src/gutters/registry.js.map +1 -0
  293. package/dist/src/handlers/contextmenu-tree-mutation.d.ts +3 -0
  294. package/dist/src/handlers/contextmenu-tree-mutation.js +64 -0
  295. package/dist/src/handlers/contextmenu-tree-mutation.js.map +1 -0
  296. package/dist/src/handlers/index.d.ts +1 -0
  297. package/dist/src/handlers/index.js +2 -0
  298. package/dist/src/handlers/index.js.map +1 -0
  299. package/dist/src/handlers/move-down.d.ts +3 -0
  300. package/dist/src/handlers/move-down.js +26 -0
  301. package/dist/src/handlers/move-down.js.map +1 -0
  302. package/dist/src/handlers/move-up.d.ts +3 -0
  303. package/dist/src/handlers/move-up.js +26 -0
  304. package/dist/src/handlers/move-up.js.map +1 -0
  305. package/dist/src/handlers/record-copy.d.ts +3 -0
  306. package/dist/src/handlers/record-copy.js +23 -0
  307. package/dist/src/handlers/record-copy.js.map +1 -0
  308. package/dist/src/handlers/record-delete.d.ts +3 -0
  309. package/dist/src/handlers/record-delete.js +16 -0
  310. package/dist/src/handlers/record-delete.js.map +1 -0
  311. package/dist/src/handlers/record-view-handler.d.ts +3 -0
  312. package/dist/src/handlers/record-view-handler.js +15 -0
  313. package/dist/src/handlers/record-view-handler.js.map +1 -0
  314. package/dist/src/handlers/registry.d.ts +7 -0
  315. package/dist/src/handlers/registry.js +34 -0
  316. package/dist/src/handlers/registry.js.map +1 -0
  317. package/dist/src/handlers/select-row-toggle.d.ts +3 -0
  318. package/dist/src/handlers/select-row-toggle.js +18 -0
  319. package/dist/src/handlers/select-row-toggle.js.map +1 -0
  320. package/dist/src/handlers/select-row.d.ts +3 -0
  321. package/dist/src/handlers/select-row.js +14 -0
  322. package/dist/src/handlers/select-row.js.map +1 -0
  323. package/dist/src/index.d.ts +14 -0
  324. package/dist/src/index.js +15 -0
  325. package/dist/src/index.js.map +1 -0
  326. package/dist/src/personalizer/index.d.ts +1 -0
  327. package/dist/src/personalizer/index.js +2 -0
  328. package/dist/src/personalizer/index.js.map +1 -0
  329. package/dist/src/personalizer/ox-grist-filter-personalizer.d.ts +8 -0
  330. package/dist/src/personalizer/ox-grist-filter-personalizer.js +178 -0
  331. package/dist/src/personalizer/ox-grist-filter-personalizer.js.map +1 -0
  332. package/dist/src/personalizer/ox-grist-personalizer.d.ts +8 -0
  333. package/dist/src/personalizer/ox-grist-personalizer.js +212 -0
  334. package/dist/src/personalizer/ox-grist-personalizer.js.map +1 -0
  335. package/dist/src/record-view/event-handlers/record-view-body-click-handler.d.ts +7 -0
  336. package/dist/src/record-view/event-handlers/record-view-body-click-handler.js +27 -0
  337. package/dist/src/record-view/event-handlers/record-view-body-click-handler.js.map +1 -0
  338. package/dist/src/record-view/event-handlers/record-view-body-keydown-handler.d.ts +7 -0
  339. package/dist/src/record-view/event-handlers/record-view-body-keydown-handler.js +22 -0
  340. package/dist/src/record-view/event-handlers/record-view-body-keydown-handler.js.map +1 -0
  341. package/dist/src/record-view/index.d.ts +2 -0
  342. package/dist/src/record-view/index.js +3 -0
  343. package/dist/src/record-view/index.js.map +1 -0
  344. package/dist/src/record-view/ox-record-creator.d.ts +26 -0
  345. package/dist/src/record-view/ox-record-creator.js +247 -0
  346. package/dist/src/record-view/ox-record-creator.js.map +1 -0
  347. package/dist/src/record-view/record-view-body.d.ts +21 -0
  348. package/dist/src/record-view/record-view-body.js +252 -0
  349. package/dist/src/record-view/record-view-body.js.map +1 -0
  350. package/dist/src/record-view/record-view-handler.d.ts +9 -0
  351. package/dist/src/record-view/record-view-handler.js +57 -0
  352. package/dist/src/record-view/record-view-handler.js.map +1 -0
  353. package/dist/src/record-view/record-view.d.ts +23 -0
  354. package/dist/src/record-view/record-view.js +117 -0
  355. package/dist/src/record-view/record-view.js.map +1 -0
  356. package/dist/src/renderers/index.d.ts +13 -0
  357. package/dist/src/renderers/index.js +14 -0
  358. package/dist/src/renderers/index.js.map +1 -0
  359. package/dist/src/renderers/ox-grist-renderer-boolean.d.ts +2 -0
  360. package/dist/src/renderers/ox-grist-renderer-boolean.js +39 -0
  361. package/dist/src/renderers/ox-grist-renderer-boolean.js.map +1 -0
  362. package/dist/src/renderers/ox-grist-renderer-color.d.ts +2 -0
  363. package/dist/src/renderers/ox-grist-renderer-color.js +12 -0
  364. package/dist/src/renderers/ox-grist-renderer-color.js.map +1 -0
  365. package/dist/src/renderers/ox-grist-renderer-date.d.ts +2 -0
  366. package/dist/src/renderers/ox-grist-renderer-date.js +53 -0
  367. package/dist/src/renderers/ox-grist-renderer-date.js.map +1 -0
  368. package/dist/src/renderers/ox-grist-renderer-file.d.ts +2 -0
  369. package/dist/src/renderers/ox-grist-renderer-file.js +27 -0
  370. package/dist/src/renderers/ox-grist-renderer-file.js.map +1 -0
  371. package/dist/src/renderers/ox-grist-renderer-image.d.ts +2 -0
  372. package/dist/src/renderers/ox-grist-renderer-image.js +24 -0
  373. package/dist/src/renderers/ox-grist-renderer-image.js.map +1 -0
  374. package/dist/src/renderers/ox-grist-renderer-json5.d.ts +2 -0
  375. package/dist/src/renderers/ox-grist-renderer-json5.js +30 -0
  376. package/dist/src/renderers/ox-grist-renderer-json5.js.map +1 -0
  377. package/dist/src/renderers/ox-grist-renderer-link.d.ts +2 -0
  378. package/dist/src/renderers/ox-grist-renderer-link.js +12 -0
  379. package/dist/src/renderers/ox-grist-renderer-link.js.map +1 -0
  380. package/dist/src/renderers/ox-grist-renderer-password.d.ts +2 -0
  381. package/dist/src/renderers/ox-grist-renderer-password.js +5 -0
  382. package/dist/src/renderers/ox-grist-renderer-password.js.map +1 -0
  383. package/dist/src/renderers/ox-grist-renderer-progress.d.ts +5 -0
  384. package/dist/src/renderers/ox-grist-renderer-progress.js +46 -0
  385. package/dist/src/renderers/ox-grist-renderer-progress.js.map +1 -0
  386. package/dist/src/renderers/ox-grist-renderer-select.d.ts +2 -0
  387. package/dist/src/renderers/ox-grist-renderer-select.js +50 -0
  388. package/dist/src/renderers/ox-grist-renderer-select.js.map +1 -0
  389. package/dist/src/renderers/ox-grist-renderer-text.d.ts +2 -0
  390. package/dist/src/renderers/ox-grist-renderer-text.js +11 -0
  391. package/dist/src/renderers/ox-grist-renderer-text.js.map +1 -0
  392. package/dist/src/renderers/ox-grist-renderer-textarea.d.ts +2 -0
  393. package/dist/src/renderers/ox-grist-renderer-textarea.js +5 -0
  394. package/dist/src/renderers/ox-grist-renderer-textarea.js.map +1 -0
  395. package/dist/src/renderers/ox-grist-renderer-tree.d.ts +12 -0
  396. package/dist/src/renderers/ox-grist-renderer-tree.js +183 -0
  397. package/dist/src/renderers/ox-grist-renderer-tree.js.map +1 -0
  398. package/dist/src/renderers/ox-grist-renderer.d.ts +15 -0
  399. package/dist/src/renderers/ox-grist-renderer.js +48 -0
  400. package/dist/src/renderers/ox-grist-renderer.js.map +1 -0
  401. package/dist/src/renderers/registry.d.ts +12 -0
  402. package/dist/src/renderers/registry.js +70 -0
  403. package/dist/src/renderers/registry.js.map +1 -0
  404. package/dist/src/sorters/sorters-control.d.ts +12 -0
  405. package/dist/src/sorters/sorters-control.js +138 -0
  406. package/dist/src/sorters/sorters-control.js.map +1 -0
  407. package/dist/src/types.d.ts +696 -0
  408. package/dist/src/types.js +23 -0
  409. package/dist/src/types.js.map +1 -0
  410. package/dist/src/utils/index.d.ts +2 -0
  411. package/dist/src/utils/index.js +3 -0
  412. package/dist/src/utils/index.js.map +1 -0
  413. package/dist/src/utils/list-param.d.ts +16 -0
  414. package/dist/src/utils/list-param.js +40 -0
  415. package/dist/src/utils/list-param.js.map +1 -0
  416. package/dist/src/utils/supports-passive.d.ts +1 -0
  417. package/dist/src/utils/supports-passive.js +13 -0
  418. package/dist/src/utils/supports-passive.js.map +1 -0
  419. package/dist/tsconfig.tsbuildinfo +1 -1
  420. package/package.json +9 -5
  421. package/dist/index.d.ts +0 -1
  422. package/dist/index.js +0 -2
  423. package/dist/index.js.map +0 -1
  424. package/index.ts +0 -1
@@ -0,0 +1,64 @@
1
+ import { html } from 'lit';
2
+ import { OxPopupMenu } from '@operato/popup';
3
+ function dispatchEvent(field, event) {
4
+ field.dispatchEvent(new CustomEvent(event, {
5
+ bubbles: true,
6
+ composed: true,
7
+ detail: field.record
8
+ }));
9
+ }
10
+ /*
11
+ * handler들은 ox-grid-field 로부터 호출되는 것을 전제로 하며,
12
+ * 전반적인 처리를 위해서, columns 및 data 정보를 포함해서 제공할 수 있어야 한다.
13
+ */
14
+ export const ContextMenuTreeMutation = function (columns, data, column, record, rowIndex, field, event) {
15
+ const e = event;
16
+ if (!('pageX' in e && 'pageY' in e)) {
17
+ return;
18
+ }
19
+ e.preventDefault();
20
+ OxPopupMenu.open({
21
+ template: html `
22
+ <ox-popup-menuitem
23
+ label="add sibling node"
24
+ @click=${() => {
25
+ dispatchEvent(field, 'add-sibling-node');
26
+ }}
27
+ >
28
+ <md-icon slot="icon">add</md-icon>
29
+ </ox-popup-menuitem>
30
+
31
+ <ox-popup-menuitem
32
+ label="add child node"
33
+ @click=${() => {
34
+ dispatchEvent(field, 'add-child-node');
35
+ }}
36
+ >
37
+ <md-icon slot="icon">playlist_add</md-icon>
38
+ </ox-popup-menuitem>
39
+
40
+ <div separator></div>
41
+
42
+ <ox-popup-menuitem
43
+ label="collapse all"
44
+ @click=${() => {
45
+ dispatchEvent(field, 'collapse-all');
46
+ }}
47
+ >
48
+ <md-icon slot="icon">unfold_less</md-icon>
49
+ </ox-popup-menuitem>
50
+
51
+ <ox-popup-menuitem
52
+ label="expand all"
53
+ @click=${() => {
54
+ dispatchEvent(field, 'expand-all');
55
+ }}
56
+ >
57
+ <md-icon slot="icon">unfold_more</md-icon>
58
+ </ox-popup-menuitem>
59
+ `,
60
+ top: e.pageY,
61
+ left: e.pageX
62
+ });
63
+ };
64
+ //# sourceMappingURL=contextmenu-tree-mutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextmenu-tree-mutation.js","sourceRoot":"","sources":["../../../src/handlers/contextmenu-tree-mutation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAA;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAK5C,SAAS,aAAa,CAAC,KAAoB,EAAE,KAAa;IACxD,KAAK,CAAC,aAAa,CACjB,IAAI,WAAW,CAAC,KAAK,EAAE;QACrB,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAC,CACH,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,UACrC,OAAuB,EACvB,IAAe,EACf,MAAoB,EACpB,MAAmB,EACnB,QAAgB,EAChB,KAAoB,EACpB,KAAY;IAEZ,MAAM,CAAC,GAAG,KAAqB,CAAA;IAC/B,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC;QACpC,OAAM;IACR,CAAC;IAED,CAAC,CAAC,cAAc,EAAE,CAAA;IAElB,WAAW,CAAC,IAAI,CAAC;QACf,QAAQ,EAAE,IAAI,CAAA;;;iBAGD,GAAG,EAAE;YACZ,aAAa,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAA;QAC1C,CAAC;;;;;;;iBAOQ,GAAG,EAAE;YACZ,aAAa,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAA;QACxC,CAAC;;;;;;;;;iBASQ,GAAG,EAAE;YACZ,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;QACtC,CAAC;;;;;;;iBAOQ,GAAG,EAAE;YACZ,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;QACpC,CAAC;;;;KAIJ;QACD,GAAG,EAAE,CAAC,CAAC,KAAK;QACZ,IAAI,EAAE,CAAC,CAAC,KAAK;KACd,CAAC,CAAA;AACJ,CAAC,CAAA","sourcesContent":["import { html } from 'lit'\nimport { OxPopupMenu } from '@operato/popup'\n\nimport { DataGridField } from '../data-grid/data-grid-field.js'\nimport { ColumnConfig, GristData, GristRecord } from '../types.js'\n\nfunction dispatchEvent(field: DataGridField, event: string) {\n field.dispatchEvent(\n new CustomEvent(event, {\n bubbles: true,\n composed: true,\n detail: field.record\n })\n )\n}\n\n/*\n * handler들은 ox-grid-field 로부터 호출되는 것을 전제로 하며,\n * 전반적인 처리를 위해서, columns 및 data 정보를 포함해서 제공할 수 있어야 한다.\n */\nexport const ContextMenuTreeMutation = function (\n columns: ColumnConfig[],\n data: GristData,\n column: ColumnConfig,\n record: GristRecord,\n rowIndex: number,\n field: DataGridField,\n event: Event\n): void {\n const e = event as PointerEvent\n if (!('pageX' in e && 'pageY' in e)) {\n return\n }\n\n e.preventDefault()\n\n OxPopupMenu.open({\n template: html`\n <ox-popup-menuitem\n label=\"add sibling node\"\n @click=${() => {\n dispatchEvent(field, 'add-sibling-node')\n }}\n >\n <md-icon slot=\"icon\">add</md-icon>\n </ox-popup-menuitem>\n\n <ox-popup-menuitem\n label=\"add child node\"\n @click=${() => {\n dispatchEvent(field, 'add-child-node')\n }}\n >\n <md-icon slot=\"icon\">playlist_add</md-icon>\n </ox-popup-menuitem>\n\n <div separator></div>\n\n <ox-popup-menuitem\n label=\"collapse all\"\n @click=${() => {\n dispatchEvent(field, 'collapse-all')\n }}\n >\n <md-icon slot=\"icon\">unfold_less</md-icon>\n </ox-popup-menuitem>\n\n <ox-popup-menuitem\n label=\"expand all\"\n @click=${() => {\n dispatchEvent(field, 'expand-all')\n }}\n >\n <md-icon slot=\"icon\">unfold_more</md-icon>\n </ox-popup-menuitem>\n `,\n top: e.pageY,\n left: e.pageX\n })\n}\n"]}
@@ -0,0 +1 @@
1
+ export * from './registry.js';
@@ -0,0 +1,2 @@
1
+ export * from './registry.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/handlers/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA","sourcesContent":["export * from './registry.js'\n"]}
@@ -0,0 +1,3 @@
1
+ import { DataGridField } from '../data-grid/data-grid-field.js';
2
+ import { ColumnConfig, GristData, GristRecord } from '../types.js';
3
+ export declare const MoveDown: (columns: ColumnConfig[], data: GristData, column: ColumnConfig, record: GristRecord, rowIndex: number, field: DataGridField) => void;
@@ -0,0 +1,26 @@
1
+ /*
2
+ * handler들은 ox-grid-field 로부터 호출되는 것을 전제로 하며,
3
+ * 전반적인 처리를 위해서, columns 및 data 정보를 포함해서 제공할 수 있어야 한다.
4
+ */
5
+ export const MoveDown = function (columns, data, column, record, rowIndex, field) {
6
+ var moveTo = rowIndex + 1;
7
+ var length = data.records.length;
8
+ if (rowIndex >= length || moveTo < 0 || moveTo >= length) {
9
+ return;
10
+ }
11
+ data.records.splice(rowIndex, 1);
12
+ data.records.splice(moveTo, 0, record);
13
+ field.dispatchEvent(new CustomEvent('record-change', {
14
+ bubbles: true,
15
+ composed: true
16
+ }));
17
+ field.dispatchEvent(new CustomEvent('focus-change', {
18
+ bubbles: true,
19
+ composed: true,
20
+ detail: {
21
+ row: moveTo,
22
+ column: column
23
+ }
24
+ }));
25
+ };
26
+ //# sourceMappingURL=move-down.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"move-down.js","sourceRoot":"","sources":["../../../src/handlers/move-down.ts"],"names":[],"mappings":"AAGA;;;GAGG;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG,UACtB,OAAuB,EACvB,IAAe,EACf,MAAoB,EACpB,MAAmB,EACnB,QAAgB,EAChB,KAAoB;IAEpB,IAAI,MAAM,GAAG,QAAQ,GAAG,CAAC,CAAA;IACzB,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAA;IAEhC,IAAI,QAAQ,IAAI,MAAM,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;QACzD,OAAM;IACR,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IAChC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;IAEtC,KAAK,CAAC,aAAa,CACjB,IAAI,WAAW,CAAC,eAAe,EAAE;QAC/B,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;KACf,CAAC,CACH,CAAA;IAED,KAAK,CAAC,aAAa,CACjB,IAAI,WAAW,CAAC,cAAc,EAAE;QAC9B,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE;YACN,GAAG,EAAE,MAAM;YACX,MAAM,EAAE,MAAM;SACf;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 MoveDown = function (\n columns: ColumnConfig[],\n data: GristData,\n column: ColumnConfig,\n record: GristRecord,\n rowIndex: number,\n field: DataGridField\n): void {\n var moveTo = rowIndex + 1\n var length = data.records.length\n\n if (rowIndex >= length || moveTo < 0 || moveTo >= length) {\n return\n }\n\n data.records.splice(rowIndex, 1)\n data.records.splice(moveTo, 0, record)\n\n field.dispatchEvent(\n new CustomEvent('record-change', {\n bubbles: true,\n composed: true\n })\n )\n\n field.dispatchEvent(\n new CustomEvent('focus-change', {\n bubbles: true,\n composed: true,\n detail: {\n row: moveTo,\n column: column\n }\n })\n )\n}\n"]}
@@ -0,0 +1,3 @@
1
+ import { DataGridField } from '../data-grid/data-grid-field.js';
2
+ import { ColumnConfig, GristData, GristRecord } from '../types.js';
3
+ export declare const MoveUp: (columns: ColumnConfig[], data: GristData, column: ColumnConfig, record: GristRecord, rowIndex: number, field: DataGridField) => void;
@@ -0,0 +1,26 @@
1
+ /*
2
+ * handler들은 ox-grid-field 로부터 호출되는 것을 전제로 하며,
3
+ * 전반적인 처리를 위해서, columns 및 data 정보를 포함해서 제공할 수 있어야 한다.
4
+ */
5
+ export const MoveUp = function (columns, data, column, record, rowIndex, field) {
6
+ var moveTo = rowIndex - 1;
7
+ var length = data.records.length;
8
+ if (rowIndex >= length || moveTo < 0 || moveTo >= length) {
9
+ return;
10
+ }
11
+ data.records.splice(rowIndex, 1);
12
+ data.records.splice(moveTo, 0, record);
13
+ field.dispatchEvent(new CustomEvent('record-change', {
14
+ bubbles: true,
15
+ composed: true
16
+ }));
17
+ field.dispatchEvent(new CustomEvent('focus-change', {
18
+ bubbles: true,
19
+ composed: true,
20
+ detail: {
21
+ row: moveTo,
22
+ column: column
23
+ }
24
+ }));
25
+ };
26
+ //# sourceMappingURL=move-up.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"move-up.js","sourceRoot":"","sources":["../../../src/handlers/move-up.ts"],"names":[],"mappings":"AAGA;;;GAGG;AAEH,MAAM,CAAC,MAAM,MAAM,GAAG,UACpB,OAAuB,EACvB,IAAe,EACf,MAAoB,EACpB,MAAmB,EACnB,QAAgB,EAChB,KAAoB;IAEpB,IAAI,MAAM,GAAG,QAAQ,GAAG,CAAC,CAAA;IACzB,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAA;IAEhC,IAAI,QAAQ,IAAI,MAAM,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;QACzD,OAAM;IACR,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IAChC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;IAEtC,KAAK,CAAC,aAAa,CACjB,IAAI,WAAW,CAAC,eAAe,EAAE;QAC/B,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;KACf,CAAC,CACH,CAAA;IAED,KAAK,CAAC,aAAa,CACjB,IAAI,WAAW,CAAC,cAAc,EAAE;QAC9B,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE;YACN,GAAG,EAAE,MAAM;YACX,MAAM,EAAE,MAAM;SACf;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 MoveUp = function (\n columns: ColumnConfig[],\n data: GristData,\n column: ColumnConfig,\n record: GristRecord,\n rowIndex: number,\n field: DataGridField\n): void {\n var moveTo = rowIndex - 1\n var length = data.records.length\n\n if (rowIndex >= length || moveTo < 0 || moveTo >= length) {\n return\n }\n\n data.records.splice(rowIndex, 1)\n data.records.splice(moveTo, 0, record)\n\n field.dispatchEvent(\n new CustomEvent('record-change', {\n bubbles: true,\n composed: true\n })\n )\n\n field.dispatchEvent(\n new CustomEvent('focus-change', {\n bubbles: true,\n composed: true,\n detail: {\n row: moveTo,\n column: column\n }\n })\n )\n}\n"]}
@@ -0,0 +1,3 @@
1
+ import { DataGridField } from '../data-grid/data-grid-field.js';
2
+ import { ColumnConfig, GristData, GristRecord } from '../types.js';
3
+ export declare const RecordCopy: (columns: ColumnConfig[], data: GristData, column: ColumnConfig, record: GristRecord, rowIndex: number, field: DataGridField) => void;
@@ -0,0 +1,23 @@
1
+ /*
2
+ * handler들은 ox-grid-field 로부터 호출되는 것을 전제로 하며,
3
+ * 전반적인 처리를 위해서, columns 및 data 정보를 포함해서 제공할 수 있어야 한다.
4
+ */
5
+ export const RecordCopy = function (columns, data, column, record, rowIndex, field) {
6
+ if (rowIndex >= data.records.length) {
7
+ return;
8
+ }
9
+ var copiedRecord = {
10
+ __dirty__: '+'
11
+ };
12
+ columns
13
+ .filter(column => column.record.editable)
14
+ .forEach(column => {
15
+ copiedRecord[column.name] = record[column.name];
16
+ });
17
+ data.records.splice(rowIndex + 1, 0, copiedRecord);
18
+ field.dispatchEvent(new CustomEvent('record-change', {
19
+ bubbles: true,
20
+ composed: true
21
+ }));
22
+ };
23
+ //# sourceMappingURL=record-copy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-copy.js","sourceRoot":"","sources":["../../../src/handlers/record-copy.ts"],"names":[],"mappings":"AAGA;;;GAGG;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,UACxB,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,IAAI,YAAY,GAAG;QACjB,SAAS,EAAE,GAAG;KACA,CAAA;IAEhB,OAAO;SACJ,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;SACxC,OAAO,CAAC,MAAM,CAAC,EAAE;QAChB,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACjD,CAAC,CAAC,CAAA;IAEJ,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,CAAA;IAClD,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 RecordCopy = 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 var copiedRecord = {\n __dirty__: '+'\n } as GristRecord\n\n columns\n .filter(column => column.record.editable)\n .forEach(column => {\n copiedRecord[column.name] = record[column.name]\n })\n\n data.records.splice(rowIndex + 1, 0, copiedRecord)\n field.dispatchEvent(\n new CustomEvent('record-change', {\n bubbles: true,\n composed: true\n })\n )\n}\n"]}
@@ -0,0 +1,3 @@
1
+ import { DataGridField } from '../data-grid/data-grid-field.js';
2
+ import { ColumnConfig, GristData, GristRecord } from '../types.js';
3
+ export declare const RecordDelete: (columns: ColumnConfig[], data: GristData, column: ColumnConfig, record: GristRecord, rowIndex: number, field: DataGridField) => void;
@@ -0,0 +1,16 @@
1
+ /*
2
+ * handler들은 ox-grid-field 로부터 호출되는 것을 전제로 하며,
3
+ * 전반적인 처리를 위해서, columns 및 data 정보를 포함해서 제공할 수 있어야 한다.
4
+ */
5
+ export const RecordDelete = function (columns, data, column, record, rowIndex, field) {
6
+ if (rowIndex >= data.records.length) {
7
+ return;
8
+ }
9
+ record.__dirty__ = '-';
10
+ data.records.splice(rowIndex, 1);
11
+ field.dispatchEvent(new CustomEvent('record-change', {
12
+ bubbles: true,
13
+ composed: true
14
+ }));
15
+ };
16
+ //# sourceMappingURL=record-delete.js.map
@@ -0,0 +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.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"]}
@@ -0,0 +1,3 @@
1
+ import { DataGridField } from '../data-grid/data-grid-field.js';
2
+ import { ColumnConfig, GristData, GristRecord } from '../types.js';
3
+ export declare const RecordViewHandler: (columns: ColumnConfig[], data: GristData, column: ColumnConfig, record: GristRecord, rowIndex: number, field: DataGridField) => void;
@@ -0,0 +1,15 @@
1
+ /*
2
+ * handler들은 ox-grid-field 로부터 호출되는 것을 전제로 하며,
3
+ * 전반적인 처리를 위해서, columns 및 data 정보를 포함해서 제공할 수 있어야 한다.
4
+ */
5
+ export const RecordViewHandler = function (columns, data, column, record, rowIndex, field) {
6
+ field.dispatchEvent(new CustomEvent('show-record-view', {
7
+ bubbles: true,
8
+ composed: true,
9
+ detail: {
10
+ record,
11
+ row: rowIndex
12
+ }
13
+ }));
14
+ };
15
+ //# sourceMappingURL=record-view-handler.js.map
@@ -0,0 +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.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"]}
@@ -0,0 +1,7 @@
1
+ import { GristEventHandler } from '../types.js';
2
+ export declare function registerGristEventHandler(type: string, handler: GristEventHandler): void;
3
+ export declare function unregisterGristEventHandler(type: string): void;
4
+ export declare function getGristEventHandlers(): {
5
+ [name: string]: GristEventHandler;
6
+ };
7
+ export declare function getGristEventHandler(type: string | GristEventHandler): GristEventHandler;
@@ -0,0 +1,34 @@
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
+ var HANDLERS = {
10
+ 'record-view': RecordViewHandler,
11
+ 'select-row': SelectRow,
12
+ 'select-row-toggle': SelectRowToggle,
13
+ 'move-up': MoveUp,
14
+ 'move-down': MoveDown,
15
+ 'record-copy': RecordCopy,
16
+ 'record-delete': RecordDelete,
17
+ 'contextmenu-tree-mutation': ContextMenuTreeMutation
18
+ };
19
+ export function registerGristEventHandler(type, handler) {
20
+ HANDLERS[type] = handler;
21
+ }
22
+ export function unregisterGristEventHandler(type) {
23
+ delete HANDLERS[type];
24
+ }
25
+ export function getGristEventHandlers() {
26
+ return { ...HANDLERS };
27
+ }
28
+ export function getGristEventHandler(type) {
29
+ if (typeof type == 'function') {
30
+ return type;
31
+ }
32
+ return HANDLERS[type];
33
+ }
34
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
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"]}
@@ -0,0 +1,3 @@
1
+ import { DataGridField } from '../data-grid/data-grid-field.js';
2
+ import { ColumnConfig, GristData, GristRecord } from '../types.js';
3
+ export declare const SelectRowToggle: (columns: ColumnConfig[], data: GristData, column: ColumnConfig, record: GristRecord, rowIndex: number, field: DataGridField) => void;
@@ -0,0 +1,18 @@
1
+ /*
2
+ * handler들은 ox-grid-field 로부터 호출되는 것을 전제로 하며,
3
+ * 전반적인 처리를 위해서, columns 및 data 정보를 포함해서 제공할 수 있어야 한다.
4
+ */
5
+ export const SelectRowToggle = function (columns, data, column, record, rowIndex, field) {
6
+ field === null || field === void 0 ? void 0 : field.dispatchEvent(new CustomEvent('select-record-change', {
7
+ bubbles: true,
8
+ composed: true,
9
+ detail: record['__selected__']
10
+ ? {
11
+ removed: [record]
12
+ }
13
+ : {
14
+ added: [record]
15
+ }
16
+ }));
17
+ };
18
+ //# sourceMappingURL=select-row-toggle.js.map
@@ -0,0 +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.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"]}
@@ -0,0 +1,3 @@
1
+ import { ColumnConfig, GristData, GristRecord } from '../types.js';
2
+ import { DataGridField } from '../data-grid/data-grid-field.js';
3
+ export declare const SelectRow: (columns: ColumnConfig[], data: GristData, column: ColumnConfig, record: GristRecord, rowIndex: number, field: DataGridField) => void;
@@ -0,0 +1,14 @@
1
+ /*
2
+ * handler들은 ox-grid-field 로부터 호출되는 것을 전제로 하며,
3
+ * 전반적인 처리를 위해서, columns 및 data 정보를 포함해서 제공할 수 있어야 한다.
4
+ */
5
+ export const SelectRow = function (columns, data, column, record, rowIndex, field) {
6
+ field.dispatchEvent(new CustomEvent('select-record-change', {
7
+ bubbles: true,
8
+ composed: true,
9
+ detail: {
10
+ added: [record]
11
+ }
12
+ }));
13
+ };
14
+ //# sourceMappingURL=select-row.js.map
@@ -0,0 +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.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"]}
@@ -0,0 +1,14 @@
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';
@@ -0,0 +1,15 @@
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
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
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"]}
@@ -0,0 +1 @@
1
+ export * from './ox-grist-personalizer.js';
@@ -0,0 +1,2 @@
1
+ export * from './ox-grist-personalizer.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
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"]}
@@ -0,0 +1,8 @@
1
+ import '@material/web/button/outlined-button.js';
2
+ import { LitElement } from 'lit';
3
+ export declare class OxGristFilterPersonalizer extends LitElement {
4
+ static styles: import("lit").CSSResult[];
5
+ debug: boolean;
6
+ private preference?;
7
+ render(): import("lit-html").TemplateResult<1>;
8
+ }
@@ -0,0 +1,178 @@
1
+ import { __decorate } from "tslib";
2
+ import '@material/web/button/outlined-button.js';
3
+ import { css, html, LitElement } from 'lit';
4
+ import { customElement, property, state } from 'lit/decorators.js';
5
+ import { i18next } from '@operato/i18n';
6
+ import { OxPopupList } from '@operato/popup';
7
+ let OxGristFilterPersonalizer = class OxGristFilterPersonalizer extends LitElement {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.debug = false;
11
+ }
12
+ render() {
13
+ return html `
14
+ <md-icon
15
+ @click=${async (e) => {
16
+ var _a;
17
+ const form = this.closest('ox-filters-form');
18
+ const { filterColumns, personalFilters = [] } = form;
19
+ const queryFilters = await form.getQueryFilters();
20
+ this.preference = {
21
+ filters: (personalFilters.map((filter) => {
22
+ var _a;
23
+ const originFilterColumn = filter.name == 'search'
24
+ ? { filter: { name: 'search' } }
25
+ : filterColumns.find(f => f.name == filter.name);
26
+ if (!originFilterColumn) {
27
+ /* 원래 filters 설정에 있는 것들 만을 유지한다. */
28
+ return;
29
+ }
30
+ const { value } = originFilterColumn.filter;
31
+ return {
32
+ name: filter.name,
33
+ hidden: filter.hidden,
34
+ /* 만약, filters에 기본값이 이미 설정되어 있다면, 그대로 유지한다. */
35
+ value: value !== null && value !== void 0 ? value : (_a = queryFilters.find(f => f.name == filter.name)) === null || _a === void 0 ? void 0 : _a.value
36
+ };
37
+ }) || []).filter(Boolean)
38
+ };
39
+ const template = html `
40
+ <div class="personalizer-header" slot="header">
41
+ <md-icon
42
+ style="margin-left: auto;"
43
+ @click=${async (e) => {
44
+ if (form.personalConfigProvider) {
45
+ form.personalConfig = await form.personalConfigProvider.save(this.preference);
46
+ }
47
+ popup.close();
48
+ }}
49
+ title=${String(i18next.t('button.save'))}
50
+ >keep</md-icon
51
+ ><md-icon
52
+ @click=${async (e) => {
53
+ if (form.personalConfigProvider) {
54
+ form.personalConfig = this.preference = {};
55
+ await form.personalConfigProvider.reset();
56
+ }
57
+ popup.close();
58
+ }}
59
+ title=${String(i18next.t('button.delete'))}
60
+ >keep_off</md-icon
61
+ ><md-icon @click=${async (e) => popup.close()} title=${String(i18next.t('button.close'))}
62
+ >close</md-icon
63
+ >
64
+ </div>
65
+
66
+ ${(_a = this.preference) === null || _a === void 0 ? void 0 : _a.filters.map(filter => html `
67
+ <ox-checkbox label="checkbox" ?checked=${!filter.hidden} value=${filter.name} option
68
+ >${filter.name}<span style="position: absolute; right: 10px; cursor: row-resize;opacity:.5" handle
69
+ >☰</span
70
+ ></ox-checkbox
71
+ >
72
+ `)}
73
+ `;
74
+ const popup = OxPopupList.open({
75
+ template,
76
+ multiple: true,
77
+ sortable: true,
78
+ debug: this.debug,
79
+ attrSelected: 'checked',
80
+ top: e.pageY,
81
+ left: e.pageX,
82
+ styles: css `
83
+ :host {
84
+ width: 240px;
85
+ min-height: 300px;
86
+ max-height: 80%;
87
+ overflow: auto;
88
+ }
89
+
90
+ ::slotted(.personalizer-header) {
91
+ --md-icon-size: 1.4em;
92
+
93
+ display: flex;
94
+ flex-direction: row;
95
+ align-items: center;
96
+ text-transform: capitalize;
97
+ box-shadow: 0 3px 3px rgba(0, 0, 0, 0.3);
98
+ }
99
+
100
+ ::slotted([option]) {
101
+ position: relative;
102
+ user-select: none;
103
+ }
104
+ `
105
+ });
106
+ popup.onselect = (e) => {
107
+ var _a;
108
+ const selected = e.detail;
109
+ const pconfig = { ...form.personalConfig };
110
+ const pfilters = (_a = this.preference) === null || _a === void 0 ? void 0 : _a.filters;
111
+ pconfig.filters = pfilters.map(filter => {
112
+ return {
113
+ name: filter.name,
114
+ hidden: selected.indexOf(filter.name) == -1,
115
+ value: filter.value
116
+ };
117
+ });
118
+ form.personalConfig = this.preference = pconfig;
119
+ form.applyUpdatedConfiguration();
120
+ };
121
+ popup.addEventListener('sorted', (e) => {
122
+ var _a;
123
+ const sorted = e.detail;
124
+ const pconfig = { ...form.personalConfig };
125
+ const pfilters = (_a = this.preference) === null || _a === void 0 ? void 0 : _a.filters;
126
+ pconfig.filters = sorted
127
+ .map(element => {
128
+ const name = element.value;
129
+ return pfilters.find(filter => filter.name == name);
130
+ })
131
+ .filter(Boolean);
132
+ form.personalConfig = this.preference = pconfig;
133
+ form.applyUpdatedConfiguration();
134
+ });
135
+ }}
136
+ >settings<md-ripple></md-ripple
137
+ ></md-icon>
138
+ `;
139
+ }
140
+ };
141
+ OxGristFilterPersonalizer.styles = [
142
+ css `
143
+ md-icon {
144
+ --md-icon-size: 16px;
145
+ width: 36px;
146
+ height: 36px;
147
+ color: var(--md-sys-color-secondary-container);
148
+ cursor: pointer;
149
+
150
+ display: flex;
151
+ place-content: center;
152
+ place-items: center;
153
+ position: relative;
154
+
155
+ &:hover {
156
+ color: var(--md-sys-color-primary-container);
157
+ }
158
+ }
159
+
160
+ md-ripple {
161
+ border-radius: 50%;
162
+ inset: unset;
163
+ height: 36px;
164
+ width: 36px;
165
+ }
166
+ `
167
+ ];
168
+ __decorate([
169
+ property({ type: Boolean, attribute: true })
170
+ ], OxGristFilterPersonalizer.prototype, "debug", void 0);
171
+ __decorate([
172
+ state()
173
+ ], OxGristFilterPersonalizer.prototype, "preference", void 0);
174
+ OxGristFilterPersonalizer = __decorate([
175
+ customElement('ox-grist-filter-personalizer')
176
+ ], OxGristFilterPersonalizer);
177
+ export { OxGristFilterPersonalizer };
178
+ //# sourceMappingURL=ox-grist-filter-personalizer.js.map
@@ -0,0 +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.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"]}