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

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 (418) 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-month.d.ts +4 -0
  174. package/dist/src/editors/ox-grist-editor-month.js +14 -0
  175. package/dist/src/editors/ox-grist-editor-month.js.map +1 -0
  176. package/dist/src/editors/ox-grist-editor-multiple-select.d.ts +8 -0
  177. package/dist/src/editors/ox-grist-editor-multiple-select.js +52 -0
  178. package/dist/src/editors/ox-grist-editor-multiple-select.js.map +1 -0
  179. package/dist/src/editors/ox-grist-editor-number.d.ts +6 -0
  180. package/dist/src/editors/ox-grist-editor-number.js +27 -0
  181. package/dist/src/editors/ox-grist-editor-number.js.map +1 -0
  182. package/dist/src/editors/ox-grist-editor-password.d.ts +4 -0
  183. package/dist/src/editors/ox-grist-editor-password.js +14 -0
  184. package/dist/src/editors/ox-grist-editor-password.js.map +1 -0
  185. package/dist/src/editors/ox-grist-editor-select.d.ts +4 -0
  186. package/dist/src/editors/ox-grist-editor-select.js +53 -0
  187. package/dist/src/editors/ox-grist-editor-select.js.map +1 -0
  188. package/dist/src/editors/ox-grist-editor-tel.d.ts +4 -0
  189. package/dist/src/editors/ox-grist-editor-tel.js +14 -0
  190. package/dist/src/editors/ox-grist-editor-tel.js.map +1 -0
  191. package/dist/src/editors/ox-grist-editor-text.d.ts +5 -0
  192. package/dist/src/editors/ox-grist-editor-text.js +17 -0
  193. package/dist/src/editors/ox-grist-editor-text.js.map +1 -0
  194. package/dist/src/editors/ox-grist-editor-textarea.d.ts +6 -0
  195. package/dist/src/editors/ox-grist-editor-textarea.js +18 -0
  196. package/dist/src/editors/ox-grist-editor-textarea.js.map +1 -0
  197. package/dist/src/editors/ox-grist-editor-time.d.ts +4 -0
  198. package/dist/src/editors/ox-grist-editor-time.js +14 -0
  199. package/dist/src/editors/ox-grist-editor-time.js.map +1 -0
  200. package/dist/src/editors/ox-grist-editor-tree.d.ts +6 -0
  201. package/dist/src/editors/ox-grist-editor-tree.js +27 -0
  202. package/dist/src/editors/ox-grist-editor-tree.js.map +1 -0
  203. package/dist/src/editors/ox-grist-editor-varname.d.ts +6 -0
  204. package/dist/src/editors/ox-grist-editor-varname.js +36 -0
  205. package/dist/src/editors/ox-grist-editor-varname.js.map +1 -0
  206. package/dist/src/editors/ox-grist-editor-week.d.ts +4 -0
  207. package/dist/src/editors/ox-grist-editor-week.js +14 -0
  208. package/dist/src/editors/ox-grist-editor-week.js.map +1 -0
  209. package/dist/src/editors/ox-grist-editor.d.ts +27 -0
  210. package/dist/src/editors/ox-grist-editor.js +197 -0
  211. package/dist/src/editors/ox-grist-editor.js.map +1 -0
  212. package/dist/src/editors/ox-input-tree.d.ts +20 -0
  213. package/dist/src/editors/ox-input-tree.js +221 -0
  214. package/dist/src/editors/ox-input-tree.js.map +1 -0
  215. package/dist/src/editors/registry.d.ts +12 -0
  216. package/dist/src/editors/registry.js +71 -0
  217. package/dist/src/editors/registry.js.map +1 -0
  218. package/dist/src/empty-note.d.ts +9 -0
  219. package/dist/src/empty-note.js +53 -0
  220. package/dist/src/empty-note.js.map +1 -0
  221. package/dist/src/filters/filter-checkbox.d.ts +3 -0
  222. package/dist/src/filters/filter-checkbox.js +41 -0
  223. package/dist/src/filters/filter-checkbox.js.map +1 -0
  224. package/dist/src/filters/filter-input-barcode.d.ts +3 -0
  225. package/dist/src/filters/filter-input-barcode.js +28 -0
  226. package/dist/src/filters/filter-input-barcode.js.map +1 -0
  227. package/dist/src/filters/filter-input.d.ts +2 -0
  228. package/dist/src/filters/filter-input.js +25 -0
  229. package/dist/src/filters/filter-input.js.map +1 -0
  230. package/dist/src/filters/filter-range-date.d.ts +2 -0
  231. package/dist/src/filters/filter-range-date.js +66 -0
  232. package/dist/src/filters/filter-range-date.js.map +1 -0
  233. package/dist/src/filters/filter-range-number.d.ts +2 -0
  234. package/dist/src/filters/filter-range-number.js +54 -0
  235. package/dist/src/filters/filter-range-number.js.map +1 -0
  236. package/dist/src/filters/filter-select-buttons.d.ts +3 -0
  237. package/dist/src/filters/filter-select-buttons.js +50 -0
  238. package/dist/src/filters/filter-select-buttons.js.map +1 -0
  239. package/dist/src/filters/filter-select.d.ts +3 -0
  240. package/dist/src/filters/filter-select.js +52 -0
  241. package/dist/src/filters/filter-select.js.map +1 -0
  242. package/dist/src/filters/filter-styles.d.ts +1 -0
  243. package/dist/src/filters/filter-styles.js +119 -0
  244. package/dist/src/filters/filter-styles.js.map +1 -0
  245. package/dist/src/filters/filters-form.d.ts +40 -0
  246. package/dist/src/filters/filters-form.js +430 -0
  247. package/dist/src/filters/filters-form.js.map +1 -0
  248. package/dist/src/filters/index.d.ts +8 -0
  249. package/dist/src/filters/index.js +9 -0
  250. package/dist/src/filters/index.js.map +1 -0
  251. package/dist/src/filters/registry.d.ts +7 -0
  252. package/dist/src/filters/registry.js +48 -0
  253. package/dist/src/filters/registry.js.map +1 -0
  254. package/dist/src/formatters/date-formatter.d.ts +1 -0
  255. package/dist/src/formatters/date-formatter.js +4 -0
  256. package/dist/src/formatters/date-formatter.js.map +1 -0
  257. package/dist/src/formatters/index.d.ts +1 -0
  258. package/dist/src/formatters/index.js +2 -0
  259. package/dist/src/formatters/index.js.map +1 -0
  260. package/dist/src/formatters/number-formatter.d.ts +1 -0
  261. package/dist/src/formatters/number-formatter.js +4 -0
  262. package/dist/src/formatters/number-formatter.js.map +1 -0
  263. package/dist/src/formatters/registry.d.ts +6 -0
  264. package/dist/src/formatters/registry.js +25 -0
  265. package/dist/src/formatters/registry.js.map +1 -0
  266. package/dist/src/formatters/text-formatter.d.ts +1 -0
  267. package/dist/src/formatters/text-formatter.js +4 -0
  268. package/dist/src/formatters/text-formatter.js.map +1 -0
  269. package/dist/src/gutters/gutter-button.d.ts +21 -0
  270. package/dist/src/gutters/gutter-button.js +40 -0
  271. package/dist/src/gutters/gutter-button.js.map +1 -0
  272. package/dist/src/gutters/gutter-dirty.d.ts +23 -0
  273. package/dist/src/gutters/gutter-dirty.js +87 -0
  274. package/dist/src/gutters/gutter-dirty.js.map +1 -0
  275. package/dist/src/gutters/gutter-row-selector.d.ts +21 -0
  276. package/dist/src/gutters/gutter-row-selector.js +70 -0
  277. package/dist/src/gutters/gutter-row-selector.js.map +1 -0
  278. package/dist/src/gutters/gutter-sequence.d.ts +35 -0
  279. package/dist/src/gutters/gutter-sequence.js +48 -0
  280. package/dist/src/gutters/gutter-sequence.js.map +1 -0
  281. package/dist/src/gutters/index.d.ts +1 -0
  282. package/dist/src/gutters/index.js +2 -0
  283. package/dist/src/gutters/index.js.map +1 -0
  284. package/dist/src/gutters/registry.d.ts +7 -0
  285. package/dist/src/gutters/registry.js +26 -0
  286. package/dist/src/gutters/registry.js.map +1 -0
  287. package/dist/src/handlers/contextmenu-tree-mutation.d.ts +3 -0
  288. package/dist/src/handlers/contextmenu-tree-mutation.js +64 -0
  289. package/dist/src/handlers/contextmenu-tree-mutation.js.map +1 -0
  290. package/dist/src/handlers/index.d.ts +1 -0
  291. package/dist/src/handlers/index.js +2 -0
  292. package/dist/src/handlers/index.js.map +1 -0
  293. package/dist/src/handlers/move-down.d.ts +3 -0
  294. package/dist/src/handlers/move-down.js +26 -0
  295. package/dist/src/handlers/move-down.js.map +1 -0
  296. package/dist/src/handlers/move-up.d.ts +3 -0
  297. package/dist/src/handlers/move-up.js +26 -0
  298. package/dist/src/handlers/move-up.js.map +1 -0
  299. package/dist/src/handlers/record-copy.d.ts +3 -0
  300. package/dist/src/handlers/record-copy.js +23 -0
  301. package/dist/src/handlers/record-copy.js.map +1 -0
  302. package/dist/src/handlers/record-delete.d.ts +3 -0
  303. package/dist/src/handlers/record-delete.js +16 -0
  304. package/dist/src/handlers/record-delete.js.map +1 -0
  305. package/dist/src/handlers/record-view-handler.d.ts +3 -0
  306. package/dist/src/handlers/record-view-handler.js +15 -0
  307. package/dist/src/handlers/record-view-handler.js.map +1 -0
  308. package/dist/src/handlers/registry.d.ts +7 -0
  309. package/dist/src/handlers/registry.js +34 -0
  310. package/dist/src/handlers/registry.js.map +1 -0
  311. package/dist/src/handlers/select-row-toggle.d.ts +3 -0
  312. package/dist/src/handlers/select-row-toggle.js +18 -0
  313. package/dist/src/handlers/select-row-toggle.js.map +1 -0
  314. package/dist/src/handlers/select-row.d.ts +3 -0
  315. package/dist/src/handlers/select-row.js +14 -0
  316. package/dist/src/handlers/select-row.js.map +1 -0
  317. package/dist/src/index.d.ts +14 -0
  318. package/dist/src/index.js +15 -0
  319. package/dist/src/index.js.map +1 -0
  320. package/dist/src/personalizer/index.d.ts +1 -0
  321. package/dist/src/personalizer/index.js +2 -0
  322. package/dist/src/personalizer/index.js.map +1 -0
  323. package/dist/src/personalizer/ox-grist-filter-personalizer.d.ts +8 -0
  324. package/dist/src/personalizer/ox-grist-filter-personalizer.js +178 -0
  325. package/dist/src/personalizer/ox-grist-filter-personalizer.js.map +1 -0
  326. package/dist/src/personalizer/ox-grist-personalizer.d.ts +8 -0
  327. package/dist/src/personalizer/ox-grist-personalizer.js +212 -0
  328. package/dist/src/personalizer/ox-grist-personalizer.js.map +1 -0
  329. package/dist/src/record-view/event-handlers/record-view-body-click-handler.d.ts +7 -0
  330. package/dist/src/record-view/event-handlers/record-view-body-click-handler.js +27 -0
  331. package/dist/src/record-view/event-handlers/record-view-body-click-handler.js.map +1 -0
  332. package/dist/src/record-view/event-handlers/record-view-body-keydown-handler.d.ts +7 -0
  333. package/dist/src/record-view/event-handlers/record-view-body-keydown-handler.js +22 -0
  334. package/dist/src/record-view/event-handlers/record-view-body-keydown-handler.js.map +1 -0
  335. package/dist/src/record-view/index.d.ts +2 -0
  336. package/dist/src/record-view/index.js +3 -0
  337. package/dist/src/record-view/index.js.map +1 -0
  338. package/dist/src/record-view/ox-record-creator.d.ts +26 -0
  339. package/dist/src/record-view/ox-record-creator.js +247 -0
  340. package/dist/src/record-view/ox-record-creator.js.map +1 -0
  341. package/dist/src/record-view/record-view-body.d.ts +21 -0
  342. package/dist/src/record-view/record-view-body.js +252 -0
  343. package/dist/src/record-view/record-view-body.js.map +1 -0
  344. package/dist/src/record-view/record-view-handler.d.ts +9 -0
  345. package/dist/src/record-view/record-view-handler.js +57 -0
  346. package/dist/src/record-view/record-view-handler.js.map +1 -0
  347. package/dist/src/record-view/record-view.d.ts +23 -0
  348. package/dist/src/record-view/record-view.js +117 -0
  349. package/dist/src/record-view/record-view.js.map +1 -0
  350. package/dist/src/renderers/index.d.ts +13 -0
  351. package/dist/src/renderers/index.js +14 -0
  352. package/dist/src/renderers/index.js.map +1 -0
  353. package/dist/src/renderers/ox-grist-renderer-boolean.d.ts +2 -0
  354. package/dist/src/renderers/ox-grist-renderer-boolean.js +39 -0
  355. package/dist/src/renderers/ox-grist-renderer-boolean.js.map +1 -0
  356. package/dist/src/renderers/ox-grist-renderer-color.d.ts +2 -0
  357. package/dist/src/renderers/ox-grist-renderer-color.js +12 -0
  358. package/dist/src/renderers/ox-grist-renderer-color.js.map +1 -0
  359. package/dist/src/renderers/ox-grist-renderer-date.d.ts +2 -0
  360. package/dist/src/renderers/ox-grist-renderer-date.js +53 -0
  361. package/dist/src/renderers/ox-grist-renderer-date.js.map +1 -0
  362. package/dist/src/renderers/ox-grist-renderer-file.d.ts +2 -0
  363. package/dist/src/renderers/ox-grist-renderer-file.js +27 -0
  364. package/dist/src/renderers/ox-grist-renderer-file.js.map +1 -0
  365. package/dist/src/renderers/ox-grist-renderer-image.d.ts +2 -0
  366. package/dist/src/renderers/ox-grist-renderer-image.js +24 -0
  367. package/dist/src/renderers/ox-grist-renderer-image.js.map +1 -0
  368. package/dist/src/renderers/ox-grist-renderer-json5.d.ts +2 -0
  369. package/dist/src/renderers/ox-grist-renderer-json5.js +30 -0
  370. package/dist/src/renderers/ox-grist-renderer-json5.js.map +1 -0
  371. package/dist/src/renderers/ox-grist-renderer-link.d.ts +2 -0
  372. package/dist/src/renderers/ox-grist-renderer-link.js +12 -0
  373. package/dist/src/renderers/ox-grist-renderer-link.js.map +1 -0
  374. package/dist/src/renderers/ox-grist-renderer-password.d.ts +2 -0
  375. package/dist/src/renderers/ox-grist-renderer-password.js +5 -0
  376. package/dist/src/renderers/ox-grist-renderer-password.js.map +1 -0
  377. package/dist/src/renderers/ox-grist-renderer-progress.d.ts +5 -0
  378. package/dist/src/renderers/ox-grist-renderer-progress.js +46 -0
  379. package/dist/src/renderers/ox-grist-renderer-progress.js.map +1 -0
  380. package/dist/src/renderers/ox-grist-renderer-select.d.ts +2 -0
  381. package/dist/src/renderers/ox-grist-renderer-select.js +50 -0
  382. package/dist/src/renderers/ox-grist-renderer-select.js.map +1 -0
  383. package/dist/src/renderers/ox-grist-renderer-text.d.ts +2 -0
  384. package/dist/src/renderers/ox-grist-renderer-text.js +11 -0
  385. package/dist/src/renderers/ox-grist-renderer-text.js.map +1 -0
  386. package/dist/src/renderers/ox-grist-renderer-textarea.d.ts +2 -0
  387. package/dist/src/renderers/ox-grist-renderer-textarea.js +5 -0
  388. package/dist/src/renderers/ox-grist-renderer-textarea.js.map +1 -0
  389. package/dist/src/renderers/ox-grist-renderer-tree.d.ts +12 -0
  390. package/dist/src/renderers/ox-grist-renderer-tree.js +183 -0
  391. package/dist/src/renderers/ox-grist-renderer-tree.js.map +1 -0
  392. package/dist/src/renderers/ox-grist-renderer.d.ts +15 -0
  393. package/dist/src/renderers/ox-grist-renderer.js +48 -0
  394. package/dist/src/renderers/ox-grist-renderer.js.map +1 -0
  395. package/dist/src/renderers/registry.d.ts +12 -0
  396. package/dist/src/renderers/registry.js +70 -0
  397. package/dist/src/renderers/registry.js.map +1 -0
  398. package/dist/src/sorters/sorters-control.d.ts +12 -0
  399. package/dist/src/sorters/sorters-control.js +138 -0
  400. package/dist/src/sorters/sorters-control.js.map +1 -0
  401. package/dist/src/types.d.ts +696 -0
  402. package/dist/src/types.js +23 -0
  403. package/dist/src/types.js.map +1 -0
  404. package/dist/src/utils/index.d.ts +2 -0
  405. package/dist/src/utils/index.js +3 -0
  406. package/dist/src/utils/index.js.map +1 -0
  407. package/dist/src/utils/list-param.d.ts +16 -0
  408. package/dist/src/utils/list-param.js +40 -0
  409. package/dist/src/utils/list-param.js.map +1 -0
  410. package/dist/src/utils/supports-passive.d.ts +1 -0
  411. package/dist/src/utils/supports-passive.js +13 -0
  412. package/dist/src/utils/supports-passive.js.map +1 -0
  413. package/dist/tsconfig.tsbuildinfo +1 -1
  414. package/package.json +4 -4
  415. package/dist/index.d.ts +0 -1
  416. package/dist/index.js +0 -2
  417. package/dist/index.js.map +0 -1
  418. package/index.ts +0 -1
@@ -0,0 +1,96 @@
1
+ import { __decorate } from "tslib";
2
+ import '@material/web/icon/icon.js';
3
+ import './data-card-gutter.js';
4
+ import { css, html, LitElement } from 'lit';
5
+ import { customElement, property, query } from 'lit/decorators.js';
6
+ import { OxPopup } from '@operato/popup';
7
+ let DataCardGutterMenu = class DataCardGutterMenu extends LitElement {
8
+ render() {
9
+ return html `
10
+ <md-icon @click=${(e) => this.open(e)}>more_horiz</md-icon>
11
+ <slot></slot>
12
+ `;
13
+ }
14
+ menuRender() {
15
+ return html `
16
+ ${this.gutters.map(gutter => html `
17
+ <ox-card-gutter
18
+ .rowIndex=${this.rowIndex}
19
+ .column=${gutter}
20
+ .record=${this.record}
21
+ .value=${this.record[gutter.name]}
22
+ menu
23
+ alive-on-select
24
+ @click=${(e) => {
25
+ this.clickHandler(e);
26
+ // TODO close popup
27
+ }}
28
+ @dblclick=${(e) => {
29
+ this.dblclickHandler(e);
30
+ // TODO close popup
31
+ }}
32
+ ></ox-card-gutter>
33
+ `)}
34
+ `;
35
+ }
36
+ open(e) {
37
+ e.stopPropagation();
38
+ const bottom = this.icon.offsetHeight;
39
+ const left = -4;
40
+ const parent = this;
41
+ OxPopup.open({
42
+ template: this.menuRender(),
43
+ bottom,
44
+ left,
45
+ parent
46
+ });
47
+ }
48
+ };
49
+ DataCardGutterMenu.styles = css `
50
+ :host {
51
+ position: relative;
52
+ }
53
+
54
+ ::slotted(ox-popup) {
55
+ padding: var(--spacing-small);
56
+ }
57
+
58
+ md-icon {
59
+ flex: 1;
60
+ margin: var(--spacing-none);
61
+ border: var(--data-card-item-btn-border);
62
+ border-radius: var(--data-card-item-btn-border-radius);
63
+ padding: var(--data-card-item-btn-padding);
64
+ font-size: var(--md-sys-typescale-label-large-size, 0.875rem);
65
+ background-color: transparent;
66
+ color: var(--grid-record-color);
67
+ }
68
+
69
+ md-icon:hover {
70
+ cursor: pointer;
71
+ background-color: var(--md-sys-color-primary);
72
+ color: var(--md-sys-color-on-primary);
73
+ }
74
+ `;
75
+ __decorate([
76
+ property({ type: Object })
77
+ ], DataCardGutterMenu.prototype, "gutters", void 0);
78
+ __decorate([
79
+ property({ type: Number })
80
+ ], DataCardGutterMenu.prototype, "rowIndex", void 0);
81
+ __decorate([
82
+ property({ type: Object })
83
+ ], DataCardGutterMenu.prototype, "record", void 0);
84
+ __decorate([
85
+ property()
86
+ ], DataCardGutterMenu.prototype, "clickHandler", void 0);
87
+ __decorate([
88
+ property()
89
+ ], DataCardGutterMenu.prototype, "dblclickHandler", void 0);
90
+ __decorate([
91
+ query('md-icon')
92
+ ], DataCardGutterMenu.prototype, "icon", void 0);
93
+ DataCardGutterMenu = __decorate([
94
+ customElement('ox-card-gutter-menu')
95
+ ], DataCardGutterMenu);
96
+ //# sourceMappingURL=data-card-gutter-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-card-gutter-menu.js","sourceRoot":"","sources":["../../../src/data-card/data-card-gutter-menu.ts"],"names":[],"mappings":";AAAA,OAAO,4BAA4B,CAAA;AACnC,OAAO,uBAAuB,CAAA;AAE9B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAElE,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAKxC,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,UAAU;IAoCzC,MAAM;QACJ,OAAO,IAAI,CAAA;wBACS,CAAC,CAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;;KAE7C,CAAA;IACH,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAA;QACP,IAAI,CAAC,OAAO,CAAC,GAAG,CAChB,MAAM,CAAC,EAAE,CAAC,IAAI,CAAA;;wBAEE,IAAI,CAAC,QAAQ;sBACf,MAAM;sBACN,IAAI,CAAC,MAAM;qBACZ,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;;;qBAGxB,CAAC,CAAQ,EAAE,EAAE;YACpB,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;YACpB,mBAAmB;QACrB,CAAC;wBACW,CAAC,CAAQ,EAAE,EAAE;YACvB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;YACvB,mBAAmB;QACrB,CAAC;;SAEJ,CACF;KACF,CAAA;IACH,CAAC;IAED,IAAI,CAAC,CAAQ;QACX,CAAC,CAAC,eAAe,EAAE,CAAA;QAEnB,MAAM,MAAM,GAAI,IAAI,CAAC,IAAoB,CAAC,YAAY,CAAA;QACtD,MAAM,IAAI,GAAG,CAAC,CAAC,CAAA;QACf,MAAM,MAAM,GAAG,IAAI,CAAA;QAEnB,OAAO,CAAC,IAAI,CAAC;YACX,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE;YAC3B,MAAM;YACN,IAAI;YACJ,MAAM;SACP,CAAC,CAAA;IACJ,CAAC;;AAhFM,yBAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBlB,AAzBY,CAyBZ;AAE2B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;mDAAyB;AACxB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;oDAAkB;AACjB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;kDAAqB;AACpC;IAAX,QAAQ,EAAE;wDAA6B;AAC5B;IAAX,QAAQ,EAAE;2DAAgC;AAEzB;IAAjB,KAAK,CAAC,SAAS,CAAC;gDAAe;AAlC5B,kBAAkB;IADvB,aAAa,CAAC,qBAAqB,CAAC;GAC/B,kBAAkB,CAkFvB","sourcesContent":["import '@material/web/icon/icon.js'\nimport './data-card-gutter.js'\n\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\n\nimport { OxPopup } from '@operato/popup'\n\nimport { ColumnConfig, GristRecord } from '../types.js'\n\n@customElement('ox-card-gutter-menu')\nclass DataCardGutterMenu extends LitElement {\n static styles = css`\n :host {\n position: relative;\n }\n\n ::slotted(ox-popup) {\n padding: var(--spacing-small);\n }\n\n md-icon {\n flex: 1;\n margin: var(--spacing-none);\n border: var(--data-card-item-btn-border);\n border-radius: var(--data-card-item-btn-border-radius);\n padding: var(--data-card-item-btn-padding);\n font-size: var(--md-sys-typescale-label-large-size, 0.875rem);\n background-color: transparent;\n color: var(--grid-record-color);\n }\n\n md-icon:hover {\n cursor: pointer;\n background-color: var(--md-sys-color-primary);\n color: var(--md-sys-color-on-primary);\n }\n `\n\n @property({ type: Object }) gutters!: ColumnConfig[]\n @property({ type: Number }) rowIndex!: number\n @property({ type: Object }) record!: GristRecord\n @property() clickHandler!: EventListener\n @property() dblclickHandler!: EventListener\n\n @query('md-icon') icon!: Element\n\n render() {\n return html`\n <md-icon @click=${(e: Event) => this.open(e)}>more_horiz</md-icon>\n <slot></slot>\n `\n }\n\n menuRender() {\n return html`\n ${this.gutters.map(\n gutter => html`\n <ox-card-gutter\n .rowIndex=${this.rowIndex}\n .column=${gutter}\n .record=${this.record}\n .value=${this.record[gutter.name]}\n menu\n alive-on-select\n @click=${(e: Event) => {\n this.clickHandler(e)\n // TODO close popup\n }}\n @dblclick=${(e: Event) => {\n this.dblclickHandler(e)\n // TODO close popup\n }}\n ></ox-card-gutter>\n `\n )}\n `\n }\n\n open(e: Event) {\n e.stopPropagation()\n\n const bottom = (this.icon as HTMLElement).offsetHeight\n const left = -4\n const parent = this\n\n OxPopup.open({\n template: this.menuRender(),\n bottom,\n left,\n parent\n })\n }\n}\n"]}
@@ -0,0 +1,12 @@
1
+ import { LitElement, PropertyValues, TemplateResult } from 'lit';
2
+ import { ColumnConfig, GristRecord } from '../types.js';
3
+ export declare class DataCardGutter extends LitElement {
4
+ static styles: import("lit").CSSResult[];
5
+ align?: string;
6
+ record: GristRecord;
7
+ column: ColumnConfig;
8
+ rowIndex: number;
9
+ value?: object;
10
+ render(): TemplateResult;
11
+ updated(changes: PropertyValues<this>): void;
12
+ }
@@ -0,0 +1,116 @@
1
+ import { __decorate } from "tslib";
2
+ import { css, html, LitElement } from 'lit';
3
+ import { customElement, property } from 'lit/decorators.js';
4
+ import { ZERO_COLUMN, ZERO_RECORD } from '../configure/zero-config.js';
5
+ let DataCardGutter = class DataCardGutter extends LitElement {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.record = ZERO_RECORD;
9
+ this.column = ZERO_COLUMN;
10
+ this.rowIndex = -1;
11
+ }
12
+ render() {
13
+ if (!this.column) {
14
+ return html ``;
15
+ }
16
+ var { value, column, record, rowIndex } = this;
17
+ var { renderer } = column.record;
18
+ /* renderer가 html template이 아니고 단순한 값인 경우가 있으므로, html 템플릿으로 감싸준다. */
19
+ return html ` ${renderer(value, column, record, rowIndex, this)} `;
20
+ }
21
+ updated(changes) {
22
+ if (changes.has('column')) {
23
+ const { gutterName, danger } = this.column;
24
+ if (gutterName == 'row-selector') {
25
+ this.setAttribute('row-selector', '');
26
+ }
27
+ else {
28
+ this.removeAttribute('row-selector');
29
+ }
30
+ if (danger) {
31
+ this.setAttribute('danger', '');
32
+ }
33
+ else {
34
+ this.removeAttribute('danger');
35
+ }
36
+ }
37
+ }
38
+ };
39
+ DataCardGutter.styles = [
40
+ css `
41
+ :host {
42
+ display: flex;
43
+ background-color: transparent;
44
+ align-content: center;
45
+ align-items: center;
46
+ text-overflow: ellipsis;
47
+ }
48
+
49
+ :host([row-selector]) {
50
+ margin-right: auto;
51
+ }
52
+
53
+ * {
54
+ border: 0;
55
+ font-size: var(--md-sys-typescale-label-medium-size, 0.8rem);
56
+ line-height: var(--md-sys-typescale-label-medium-size, 0.8rem);
57
+
58
+ color: var(--md-sys-color-on-primary);
59
+ background-color: var(--md-sys-color-primary);
60
+ border-radius: var(--data-card-item-btn-border-radius, var(--md-sys-shape-corner-tiny));
61
+
62
+ padding: var(--spacing-small);
63
+ }
64
+
65
+ *:hover {
66
+ cursor: pointer;
67
+ color: var(--md-sys-color-on-secondary);
68
+ background-color: var(--md-sys-color-secondary);
69
+ }
70
+
71
+ :host([danger]) button {
72
+ color: var(--md-sys-color-on-error);
73
+ background-color: var(--md-sys-color-error);
74
+ border-color: var(--md-sys-color-error);
75
+ }
76
+
77
+ :host([danger]) button:hover {
78
+ color: var(--md-sys-color-error);
79
+ background-color: var(--md-sys-color-on-secondary);
80
+ border-color: var(--md-sys-color-on-secondary);
81
+ }
82
+
83
+ button {
84
+ display: flex;
85
+ gap: var(--spacing-small);
86
+ border: 0;
87
+ align-items: center;
88
+ }
89
+
90
+ button md-icon {
91
+ border: 0;
92
+ padding: 0;
93
+ background-color: unset;
94
+ }
95
+ `
96
+ ];
97
+ __decorate([
98
+ property({ attribute: true })
99
+ ], DataCardGutter.prototype, "align", void 0);
100
+ __decorate([
101
+ property({ type: Object })
102
+ ], DataCardGutter.prototype, "record", void 0);
103
+ __decorate([
104
+ property({ type: Object })
105
+ ], DataCardGutter.prototype, "column", void 0);
106
+ __decorate([
107
+ property({ type: Number })
108
+ ], DataCardGutter.prototype, "rowIndex", void 0);
109
+ __decorate([
110
+ property({ type: Object })
111
+ ], DataCardGutter.prototype, "value", void 0);
112
+ DataCardGutter = __decorate([
113
+ customElement('ox-card-gutter')
114
+ ], DataCardGutter);
115
+ export { DataCardGutter };
116
+ //# sourceMappingURL=data-card-gutter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-card-gutter.js","sourceRoot":"","sources":["../../../src/data-card/data-card-gutter.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAkC,MAAM,KAAK,CAAA;AAC3E,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE3D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAI/D,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,UAAU;IAAvC;;QA6DuB,WAAM,GAAgB,WAAW,CAAA;QACjC,WAAM,GAAiB,WAAW,CAAA;QAClC,aAAQ,GAAW,CAAC,CAAC,CAAA;IAgCnD,CAAC;IA7BC,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,IAAI,CAAA,EAAE,CAAA;QACf,CAAC;QAED,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;QAC9C,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,MAAM,CAAA;QAEhC,oEAAoE;QACpE,OAAO,IAAI,CAAA,IAAI,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAA;IACnE,CAAC;IAED,OAAO,CAAC,OAA6B;QACnC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA;YAE1C,IAAI,UAAU,IAAI,cAAc,EAAE,CAAC;gBACjC,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;YACvC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAA;YACtC,CAAC;YAED,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;YACjC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;YAChC,CAAC;QACH,CAAC;IACH,CAAC;;AA7FM,qBAAM,GAAG;IACd,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAuDF;CACF,AAzDY,CAyDZ;AAE8B;IAA9B,QAAQ,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;6CAAe;AACjB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CAAkC;AACjC;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CAAmC;AAClC;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gDAAsB;AACrB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;6CAAe;AAhE/B,cAAc;IAD1B,aAAa,CAAC,gBAAgB,CAAC;GACnB,cAAc,CA+F1B","sourcesContent":["import { css, html, LitElement, PropertyValues, TemplateResult } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nimport { ZERO_COLUMN, ZERO_RECORD } from '../configure/zero-config.js'\nimport { ColumnConfig, GristRecord } from '../types.js'\n\n@customElement('ox-card-gutter')\nexport class DataCardGutter extends LitElement {\n static styles = [\n css`\n :host {\n display: flex;\n background-color: transparent;\n align-content: center;\n align-items: center;\n text-overflow: ellipsis;\n }\n\n :host([row-selector]) {\n margin-right: auto;\n }\n\n * {\n border: 0;\n font-size: var(--md-sys-typescale-label-medium-size, 0.8rem);\n line-height: var(--md-sys-typescale-label-medium-size, 0.8rem);\n\n color: var(--md-sys-color-on-primary);\n background-color: var(--md-sys-color-primary);\n border-radius: var(--data-card-item-btn-border-radius, var(--md-sys-shape-corner-tiny));\n\n padding: var(--spacing-small);\n }\n\n *:hover {\n cursor: pointer;\n color: var(--md-sys-color-on-secondary);\n background-color: var(--md-sys-color-secondary);\n }\n\n :host([danger]) button {\n color: var(--md-sys-color-on-error);\n background-color: var(--md-sys-color-error);\n border-color: var(--md-sys-color-error);\n }\n\n :host([danger]) button:hover {\n color: var(--md-sys-color-error);\n background-color: var(--md-sys-color-on-secondary);\n border-color: var(--md-sys-color-on-secondary);\n }\n\n button {\n display: flex;\n gap: var(--spacing-small);\n border: 0;\n align-items: center;\n }\n\n button md-icon {\n border: 0;\n padding: 0;\n background-color: unset;\n }\n `\n ]\n\n @property({ attribute: true }) align?: string\n @property({ type: Object }) record: GristRecord = ZERO_RECORD\n @property({ type: Object }) column: ColumnConfig = ZERO_COLUMN\n @property({ type: Number }) rowIndex: number = -1\n @property({ type: Object }) value?: object\n\n render(): TemplateResult {\n if (!this.column) {\n return html``\n }\n\n var { value, column, record, rowIndex } = this\n var { renderer } = column.record\n\n /* renderer가 html template이 아니고 단순한 값인 경우가 있으므로, html 템플릿으로 감싸준다. */\n return html` ${renderer(value, column, record, rowIndex, this)} `\n }\n\n updated(changes: PropertyValues<this>) {\n if (changes.has('column')) {\n const { gutterName, danger } = this.column\n\n if (gutterName == 'row-selector') {\n this.setAttribute('row-selector', '')\n } else {\n this.removeAttribute('row-selector')\n }\n\n if (danger) {\n this.setAttribute('danger', '')\n } else {\n this.removeAttribute('danger')\n }\n }\n }\n}\n"]}
@@ -0,0 +1,19 @@
1
+ import '@material/web/icon/icon.js';
2
+ import '../empty-note.js';
3
+ import './record-card.js';
4
+ import { PropertyValues } from 'lit';
5
+ import { DataManipulator } from '../data-manipulator.js';
6
+ export declare class DataCard extends DataManipulator {
7
+ static styles: import("lit").CSSResult[];
8
+ empty?: boolean;
9
+ private _records;
10
+ private isTop;
11
+ private _total;
12
+ private _limit;
13
+ private _page;
14
+ firstUpdated(changes: PropertyValues<this>): void;
15
+ updated(changes: PropertyValues<this>): void;
16
+ render(): import("lit-html").TemplateResult<1>;
17
+ gotoTop(e: Event): void;
18
+ get pullToRefreshTarget(): this;
19
+ }
@@ -0,0 +1,149 @@
1
+ import { __decorate } from "tslib";
2
+ import '@material/web/icon/icon.js';
3
+ import '../empty-note.js';
4
+ import './record-card.js';
5
+ import { css, html } from 'lit';
6
+ import { customElement, property, state } from 'lit/decorators.js';
7
+ import { DataManipulator } from '../data-manipulator.js';
8
+ let DataCard = class DataCard extends DataManipulator {
9
+ constructor() {
10
+ super(...arguments);
11
+ this._records = [];
12
+ this.isTop = false;
13
+ this._total = 0;
14
+ this._limit = 20;
15
+ this._page = 1;
16
+ }
17
+ firstUpdated(changes) {
18
+ this.isTop = true;
19
+ /* infinite scrolling */
20
+ this.addEventListener('scroll', e => {
21
+ const totalScrollHeight = this.scrollHeight;
22
+ const screenHeight = this.offsetHeight;
23
+ const currentScrollTop = this.scrollTop;
24
+ if (totalScrollHeight <= screenHeight + currentScrollTop + 1) {
25
+ /* 마지막 페이지까지 계속 페이지를 증가시킨다. */
26
+ var lastPage = Math.ceil(this._total / this._limit);
27
+ if (this._page < lastPage) {
28
+ this.dispatchEvent(new CustomEvent('attach-page', { bubbles: true, composed: true }));
29
+ }
30
+ }
31
+ this.isTop = this.scrollTop == 0;
32
+ });
33
+ }
34
+ updated(changes) {
35
+ if (changes.has('config')) {
36
+ this._records = [];
37
+ this._page = 1;
38
+ }
39
+ if (changes.has('data')) {
40
+ this._records = this.data.records;
41
+ this._total = this.data.total || 0;
42
+ this._limit = this.data.limit || 20;
43
+ this._page = this.data.page || 0;
44
+ }
45
+ }
46
+ render() {
47
+ var { classifier } = this.config.rows;
48
+ var records = this._records || [];
49
+ if (this.config && this.config.rows.appendable) {
50
+ records = [...records, { __dirty__: '+' }];
51
+ }
52
+ return html `
53
+ ${records.map((record, rowIndex) => {
54
+ var { emphasized } = classifier.call(null, record, rowIndex) || {};
55
+ return html `
56
+ <ox-record-card
57
+ .config=${this.config}
58
+ .data=${this.data}
59
+ .record=${record}
60
+ .rowIndex=${rowIndex}
61
+ .emphasized=${emphasized}
62
+ ?selected-row=${record['__selected__']}
63
+ ?dirty=${record['__dirty__']}
64
+ card
65
+ ></ox-record-card>
66
+ `;
67
+ })}
68
+ ${this.empty ? html ` <ox-empty-note title="NO RECORDS"></ox-empty-note> ` : html ``}
69
+ ${this.isTop
70
+ ? html ``
71
+ : html ` <md-icon id="upward" @click=${(e) => this.gotoTop(e)}>arrow_upward</md-icon> `}
72
+ `;
73
+ }
74
+ gotoTop(e) {
75
+ this.scrollTop = 0;
76
+ e.stopPropagation();
77
+ }
78
+ get pullToRefreshTarget() {
79
+ return this;
80
+ }
81
+ };
82
+ DataCard.styles = [
83
+ css `
84
+ :host {
85
+ overflow-y: auto;
86
+ padding: var(--spacing-medium);
87
+
88
+ display: grid;
89
+ grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
90
+ grid-template-rows: min-content;
91
+ grid-gap: var(--spacing-large);
92
+ }
93
+
94
+ [selected-row] {
95
+ background-color: var(--grid-record-selected-background-color);
96
+ }
97
+
98
+ #upward {
99
+ --md-icon-size: var(--icon-size-large);
100
+ position: absolute;
101
+ top: var(--data-card-fab-position-vertical);
102
+ right: var(--data-card-fab-position-horizontal);
103
+ background-color: rgba(255, 255, 255, 0.7);
104
+ border-radius: var(--md-sys-shape-corner-large);
105
+ color: var(--data-card-fab-color);
106
+ box-shadow: var(--data-card-fab-shadow);
107
+ padding: var(--spacing-small);
108
+ }
109
+
110
+ slot {
111
+ width: 100%;
112
+ }
113
+
114
+ ox-empty-note {
115
+ display: block;
116
+ position: absolute;
117
+ left: 50%;
118
+ top: 50%;
119
+ transform: translate(-50%, -50%);
120
+ }
121
+
122
+ [card][emphasized-row],
123
+ [card][emphasized-row][focused] {
124
+ background-color: var(--grid-record-emphasized-background-color);
125
+ color: var(--grid-record-emphasized-color);
126
+ }
127
+
128
+ @media screen and (max-width: 460px) {
129
+ #setting {
130
+ grid-template-columns: 1fr;
131
+ grid-template-rows: 1fr 1fr;
132
+ }
133
+ }
134
+ `
135
+ ];
136
+ __decorate([
137
+ property({ type: Boolean })
138
+ ], DataCard.prototype, "empty", void 0);
139
+ __decorate([
140
+ state()
141
+ ], DataCard.prototype, "_records", void 0);
142
+ __decorate([
143
+ state()
144
+ ], DataCard.prototype, "isTop", void 0);
145
+ DataCard = __decorate([
146
+ customElement('ox-card')
147
+ ], DataCard);
148
+ export { DataCard };
149
+ //# sourceMappingURL=data-card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-card.js","sourceRoot":"","sources":["../../../src/data-card/data-card.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\nimport '../empty-note.js'\nimport './record-card.js'\n\nimport { PropertyValues, css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\n\nimport { DataManipulator } from '../data-manipulator.js'\nimport { GristRecord } from '../types.js'\n\n@customElement('ox-card')\nexport class DataCard extends DataManipulator {\n static styles = [\n css`\n :host {\n overflow-y: auto;\n padding: var(--spacing-medium);\n\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));\n grid-template-rows: min-content;\n grid-gap: var(--spacing-large);\n }\n\n [selected-row] {\n background-color: var(--grid-record-selected-background-color);\n }\n\n #upward {\n --md-icon-size: var(--icon-size-large);\n position: absolute;\n top: var(--data-card-fab-position-vertical);\n right: var(--data-card-fab-position-horizontal);\n background-color: rgba(255, 255, 255, 0.7);\n border-radius: var(--md-sys-shape-corner-large);\n color: var(--data-card-fab-color);\n box-shadow: var(--data-card-fab-shadow);\n padding: var(--spacing-small);\n }\n\n slot {\n width: 100%;\n }\n\n ox-empty-note {\n display: block;\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n }\n\n [card][emphasized-row],\n [card][emphasized-row][focused] {\n background-color: var(--grid-record-emphasized-background-color);\n color: var(--grid-record-emphasized-color);\n }\n\n @media screen and (max-width: 460px) {\n #setting {\n grid-template-columns: 1fr;\n grid-template-rows: 1fr 1fr;\n }\n }\n `\n ]\n\n @property({ type: Boolean }) empty?: boolean\n\n @state() private _records: GristRecord[] = []\n @state() private isTop: boolean = false\n\n private _total: number = 0\n private _limit: number = 20\n private _page: number = 1\n\n firstUpdated(changes: PropertyValues<this>) {\n this.isTop = true\n\n /* infinite scrolling */\n this.addEventListener('scroll', e => {\n const totalScrollHeight = this.scrollHeight\n const screenHeight = this.offsetHeight\n const currentScrollTop = this.scrollTop\n\n if (totalScrollHeight <= screenHeight + currentScrollTop + 1) {\n /* 마지막 페이지까지 계속 페이지를 증가시킨다. */\n var lastPage = Math.ceil(this._total / this._limit)\n\n if (this._page < lastPage) {\n this.dispatchEvent(new CustomEvent('attach-page', { bubbles: true, composed: true }))\n }\n }\n\n this.isTop = this.scrollTop == 0\n })\n }\n\n updated(changes: PropertyValues<this>) {\n if (changes.has('config')) {\n this._records = []\n this._page = 1\n }\n\n if (changes.has('data')) {\n this._records = this.data.records\n this._total = this.data.total || 0\n this._limit = this.data.limit || 20\n this._page = this.data.page || 0\n }\n }\n\n render() {\n var { classifier } = this.config.rows\n var records = this._records || []\n\n if (this.config && this.config.rows.appendable) {\n records = [...records, { __dirty__: '+' }]\n }\n\n return html`\n ${records.map((record, rowIndex) => {\n var { emphasized } = classifier.call(null, record, rowIndex) || {}\n\n return html`\n <ox-record-card\n .config=${this.config}\n .data=${this.data}\n .record=${record}\n .rowIndex=${rowIndex}\n .emphasized=${emphasized}\n ?selected-row=${record['__selected__']}\n ?dirty=${record['__dirty__']}\n card\n ></ox-record-card>\n `\n })}\n ${this.empty ? html` <ox-empty-note title=\"NO RECORDS\"></ox-empty-note> ` : html``}\n ${this.isTop\n ? html``\n : html` <md-icon id=\"upward\" @click=${(e: Event) => this.gotoTop(e)}>arrow_upward</md-icon> `}\n `\n }\n\n gotoTop(e: Event) {\n this.scrollTop = 0\n\n e.stopPropagation()\n }\n\n get pullToRefreshTarget() {\n return this\n }\n}\n"]}
@@ -0,0 +1,7 @@
1
+ import { RecordCard } from '../record-card.js';
2
+ /**
3
+ * ox-record-card 의 click handler
4
+ *
5
+ * - handler의 this 는 ox-record-card임.
6
+ */
7
+ export declare function recordCardClickHandler(this: RecordCard, e: MouseEvent): void;
@@ -0,0 +1,29 @@
1
+ /**
2
+ * ox-record-card 의 click handler
3
+ *
4
+ * - handler의 this 는 ox-record-card임.
5
+ */
6
+ export function recordCardClickHandler(e) {
7
+ e.stopPropagation();
8
+ /* target should be [content] or 'ox-card-field' or 'ox-card-gutter' */
9
+ var target = e.target.closest('ox-card-field, ox-card-gutter');
10
+ var { column, rowIndex } = target || {};
11
+ /* do column click handler */
12
+ if (column) {
13
+ var { click } = column.handlers;
14
+ if (click) {
15
+ click(this.config.columns, this.data, column, this.record, rowIndex, target);
16
+ return;
17
+ }
18
+ }
19
+ /* do rows click handler */
20
+ var { click: rowsClick } = this.config.rows.handlers;
21
+ if (rowsClick) {
22
+ rowsClick(this.config.columns, this.data, column, this.record, rowIndex, target);
23
+ }
24
+ else {
25
+ /* content 가 클릭된 경우 - 레코드뷰 팝업을 실행한다. */
26
+ this.config.rows.editable && this.popupRecordView();
27
+ }
28
+ }
29
+ //# sourceMappingURL=record-card-click-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-card-click-handler.js","sourceRoot":"","sources":["../../../../src/data-card/event-handlers/record-card-click-handler.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAmB,CAAa;IACpE,CAAC,CAAC,eAAe,EAAE,CAAA;IAEnB,uEAAuE;IACvE,IAAI,MAAM,GAAI,CAAC,CAAC,MAAkB,CAAC,OAAO,CAAC,+BAA+B,CAAmC,CAAA;IAC7G,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,EAAE,CAAA;IAEvC,6BAA6B;IAC7B,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAA;QAC/B,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;YAC5E,OAAM;QACR,CAAC;IACH,CAAC;IAED,2BAA2B;IAC3B,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAA;IACpD,IAAI,SAAS,EAAE,CAAC;QACd,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;IAClF,CAAC;SAAM,CAAC;QACN,uCAAuC;QACvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,eAAe,EAAE,CAAA;IACrD,CAAC;AACH,CAAC","sourcesContent":["import { DataCardField } from '../data-card-field.js'\nimport { DataCardGutter } from '../data-card-gutter.js'\nimport { RecordCard } from '../record-card.js'\n\n/**\n * ox-record-card 의 click handler\n *\n * - handler의 this 는 ox-record-card임.\n */\nexport function recordCardClickHandler(this: RecordCard, e: MouseEvent): void {\n e.stopPropagation()\n\n /* target should be [content] or 'ox-card-field' or 'ox-card-gutter' */\n var target = (e.target as Element).closest('ox-card-field, ox-card-gutter') as DataCardField | DataCardGutter\n var { column, rowIndex } = target || {}\n\n /* do column click handler */\n if (column) {\n var { click } = column.handlers\n if (click) {\n click(this.config.columns, this.data, column, this.record, rowIndex, target)\n return\n }\n }\n\n /* do rows click handler */\n var { click: rowsClick } = this.config.rows.handlers\n if (rowsClick) {\n rowsClick(this.config.columns, this.data, column, this.record, rowIndex, target)\n } else {\n /* content 가 클릭된 경우 - 레코드뷰 팝업을 실행한다. */\n this.config.rows.editable && this.popupRecordView()\n }\n}\n"]}
@@ -0,0 +1,7 @@
1
+ import { RecordCard } from '../record-card.js';
2
+ /**
3
+ * ox-record-card 의 dblclick handler
4
+ *
5
+ * - handler의 this 는 ox-record-card임.
6
+ */
7
+ export declare function recordCardDblClickHandler(this: RecordCard, e: MouseEvent): void;
@@ -0,0 +1,29 @@
1
+ /**
2
+ * ox-record-card 의 dblclick handler
3
+ *
4
+ * - handler의 this 는 ox-record-card임.
5
+ */
6
+ export function recordCardDblClickHandler(e) {
7
+ e.stopPropagation();
8
+ /* target should be [content] or 'ox-card-field' or 'ox-card-gutter' */
9
+ var target = e.target.closest('ox-card-field, ox-card-gutter');
10
+ var { column, record, rowIndex } = target || {};
11
+ if (column && column.type == 'gutter') {
12
+ /*
13
+ * Gutter가 클릭된 경우
14
+ * TODO ox-record-card의 dblclick handling의 성능을 확인하고,
15
+ * gutter에 dblclick를 적용할 수 있는 지 확인한 후에 활성화하자.
16
+ */
17
+ /* do column click handler */
18
+ // var { dblclick } = column.handlers
19
+ // dblclick && dblclick(this.columns, this.data, column, record, rowIndex, target)
20
+ // return
21
+ }
22
+ else {
23
+ var { dblclick: rowsDblClick } = this.config.rows.handlers;
24
+ if (rowsDblClick) {
25
+ rowsDblClick(this.config.columns, this.data, column, record, rowIndex, target);
26
+ }
27
+ }
28
+ }
29
+ //# sourceMappingURL=record-card-dblclick-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-card-dblclick-handler.js","sourceRoot":"","sources":["../../../../src/data-card/event-handlers/record-card-dblclick-handler.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAmB,CAAa;IACvE,CAAC,CAAC,eAAe,EAAE,CAAA;IAEnB,uEAAuE;IACvE,IAAI,MAAM,GAAI,CAAC,CAAC,MAAkB,CAAC,OAAO,CAAC,+BAA+B,CAAmC,CAAA;IAE7G,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,EAAE,CAAA;IAE/C,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC;QACtC;;;;WAIG;QACH,6BAA6B;QAC7B,qCAAqC;QACrC,kFAAkF;QAClF,SAAS;IACX,CAAC;SAAM,CAAC;QACN,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAA;QAC1D,IAAI,YAAY,EAAE,CAAC;YACjB,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;QAChF,CAAC;IACH,CAAC;AACH,CAAC","sourcesContent":["import { DataCardField } from '../data-card-field.js'\nimport { DataCardGutter } from '../data-card-gutter.js'\nimport { RecordCard } from '../record-card.js'\n\n/**\n * ox-record-card 의 dblclick handler\n *\n * - handler의 this 는 ox-record-card임.\n */\nexport function recordCardDblClickHandler(this: RecordCard, e: MouseEvent): void {\n e.stopPropagation()\n\n /* target should be [content] or 'ox-card-field' or 'ox-card-gutter' */\n var target = (e.target as Element).closest('ox-card-field, ox-card-gutter') as DataCardField | DataCardGutter\n\n var { column, record, rowIndex } = target || {}\n\n if (column && column.type == 'gutter') {\n /*\n * Gutter가 클릭된 경우\n * TODO ox-record-card의 dblclick handling의 성능을 확인하고,\n * gutter에 dblclick를 적용할 수 있는 지 확인한 후에 활성화하자.\n */\n /* do column click handler */\n // var { dblclick } = column.handlers\n // dblclick && dblclick(this.columns, this.data, column, record, rowIndex, target)\n // return\n } else {\n var { dblclick: rowsDblClick } = this.config.rows.handlers\n if (rowsDblClick) {\n rowsDblClick(this.config.columns, this.data, column, record, rowIndex, target)\n }\n }\n}\n"]}
@@ -0,0 +1,23 @@
1
+ import '@material/web/icon/icon.js';
2
+ import '../record-view/record-view.js';
3
+ import './data-card-field.js';
4
+ import './data-card-gutter.js';
5
+ import './data-card-gutter-menu.js';
6
+ import { LitElement, PropertyValues } from 'lit';
7
+ import { GristConfig, GristData, GristRecord } from '../types.js';
8
+ export declare class RecordCard extends LitElement {
9
+ static styles: import("lit").CSSResult[];
10
+ config: GristConfig;
11
+ data: GristData;
12
+ record: GristRecord;
13
+ rowIndex: number;
14
+ selectedRow: boolean;
15
+ emphasized: any;
16
+ private _recordView;
17
+ private clickHandler;
18
+ private dblclickHandler;
19
+ firstUpdated(): void;
20
+ updated(changes: PropertyValues<this>): void;
21
+ render(): import("lit-html").TemplateResult<1>;
22
+ popupRecordView(): void;
23
+ }