@operato/data-grist 1.0.0-alpha.5 → 1.0.0-alpha.50

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 (272) hide show
  1. package/CHANGELOG.md +396 -0
  2. package/demo/index.html +33 -6
  3. package/dist/src/const.d.ts +0 -12
  4. package/dist/src/const.js +0 -13
  5. package/dist/src/const.js.map +1 -1
  6. package/dist/src/data-card/data-card-field.d.ts +1 -1
  7. package/dist/src/data-card/data-card-field.js +14 -4
  8. package/dist/src/data-card/data-card-field.js.map +1 -1
  9. package/dist/src/data-card/data-card.js.map +1 -1
  10. package/dist/src/data-card/event-handlers/record-card-click-handler.js +2 -2
  11. package/dist/src/data-card/event-handlers/record-card-click-handler.js.map +1 -1
  12. package/dist/src/data-card/event-handlers/record-card-dblclick-handler.js +3 -3
  13. package/dist/src/data-card/event-handlers/record-card-dblclick-handler.js.map +1 -1
  14. package/dist/src/data-card/record-card.d.ts +1 -1
  15. package/dist/src/data-card/record-card.js +18 -13
  16. package/dist/src/data-card/record-card.js.map +1 -1
  17. package/dist/src/data-grid/data-grid-body-style.js +1 -0
  18. package/dist/src/data-grid/data-grid-body-style.js.map +1 -1
  19. package/dist/src/data-grid/data-grid-body.d.ts +12 -1
  20. package/dist/src/data-grid/data-grid-body.js +171 -8
  21. package/dist/src/data-grid/data-grid-body.js.map +1 -1
  22. package/dist/src/data-grid/data-grid-field.d.ts +1 -1
  23. package/dist/src/data-grid/data-grid-field.js +6 -4
  24. package/dist/src/data-grid/data-grid-field.js.map +1 -1
  25. package/dist/src/data-grid/data-grid-header.d.ts +2 -1
  26. package/dist/src/data-grid/data-grid-header.js +103 -14
  27. package/dist/src/data-grid/data-grid-header.js.map +1 -1
  28. package/dist/src/data-grid/data-grid.d.ts +2 -2
  29. package/dist/src/data-grid/data-grid.js +3 -2
  30. package/dist/src/data-grid/data-grid.js.map +1 -1
  31. package/dist/src/data-grid/event-handlers/data-grid-body-beforeinput-handler.d.ts +7 -0
  32. package/dist/src/data-grid/event-handlers/data-grid-body-beforeinput-handler.js +12 -0
  33. package/dist/src/data-grid/event-handlers/data-grid-body-beforeinput-handler.js.map +1 -0
  34. package/dist/src/data-grid/event-handlers/data-grid-body-click-handler.js +2 -2
  35. package/dist/src/data-grid/event-handlers/data-grid-body-click-handler.js.map +1 -1
  36. package/dist/src/data-grid/event-handlers/data-grid-body-dblclick-handler.js +2 -2
  37. package/dist/src/data-grid/event-handlers/data-grid-body-dblclick-handler.js.map +1 -1
  38. package/dist/src/data-grid/event-handlers/data-grid-body-input-handler copy.d.ts +7 -0
  39. package/dist/src/data-grid/event-handlers/data-grid-body-input-handler copy.js +88 -0
  40. package/dist/src/data-grid/event-handlers/data-grid-body-input-handler copy.js.map +1 -0
  41. package/dist/src/data-grid/event-handlers/data-grid-body-input-handler.d.ts +7 -0
  42. package/dist/src/data-grid/event-handlers/data-grid-body-input-handler.js +88 -0
  43. package/dist/src/data-grid/event-handlers/data-grid-body-input-handler.js.map +1 -0
  44. package/dist/src/data-grid/event-handlers/data-grid-body-keydown-handler copy.d.ts +7 -0
  45. package/dist/src/data-grid/event-handlers/data-grid-body-keydown-handler copy.js +88 -0
  46. package/dist/src/data-grid/event-handlers/data-grid-body-keydown-handler copy.js.map +1 -0
  47. package/dist/src/data-grid/event-handlers/data-grid-body-keydown-handler.js +91 -34
  48. package/dist/src/data-grid/event-handlers/data-grid-body-keydown-handler.js.map +1 -1
  49. package/dist/src/data-grist.d.ts +9 -2
  50. package/dist/src/data-grist.js +149 -16
  51. package/dist/src/data-grist.js.map +1 -1
  52. package/dist/src/data-list/data-list-field.d.ts +1 -1
  53. package/dist/src/data-list/data-list-field.js +4 -3
  54. package/dist/src/data-list/data-list-field.js.map +1 -1
  55. package/dist/src/data-list/event-handlers/record-partial-click-handler.js +3 -3
  56. package/dist/src/data-list/event-handlers/record-partial-click-handler.js.map +1 -1
  57. package/dist/src/data-list/event-handlers/record-partial-dblclick-handler.js +3 -3
  58. package/dist/src/data-list/event-handlers/record-partial-dblclick-handler.js.map +1 -1
  59. package/dist/src/data-list/event-handlers/record-partial-long-press-handler.js +3 -3
  60. package/dist/src/data-list/event-handlers/record-partial-long-press-handler.js.map +1 -1
  61. package/dist/src/data-provider.d.ts +4 -4
  62. package/dist/src/data-provider.js +7 -2
  63. package/dist/src/data-provider.js.map +1 -1
  64. package/dist/src/data-report/data-report-header.js +4 -1
  65. package/dist/src/data-report/data-report-header.js.map +1 -1
  66. package/dist/src/data-report/event-handlers/data-report-body-keydown-handler.js +17 -13
  67. package/dist/src/data-report/event-handlers/data-report-body-keydown-handler.js.map +1 -1
  68. package/dist/src/editors/index.d.ts +2 -2
  69. package/dist/src/editors/index.js +2 -2
  70. package/dist/src/editors/index.js.map +1 -1
  71. package/dist/src/editors/ox-grist-editor-checkbox.d.ts +5 -0
  72. package/dist/src/editors/ox-grist-editor-checkbox.js +17 -0
  73. package/dist/src/editors/ox-grist-editor-checkbox.js.map +1 -0
  74. package/dist/src/editors/ox-grist-editor-color.d.ts +4 -0
  75. package/dist/src/editors/ox-grist-editor-color.js +14 -0
  76. package/dist/src/editors/ox-grist-editor-color.js.map +1 -0
  77. package/dist/src/editors/ox-grist-editor-date.d.ts +4 -0
  78. package/dist/src/editors/ox-grist-editor-date.js +14 -0
  79. package/dist/src/editors/ox-grist-editor-date.js.map +1 -0
  80. package/dist/src/editors/ox-grist-editor-dateTime.d.ts +6 -0
  81. package/dist/src/editors/ox-grist-editor-dateTime.js +27 -0
  82. package/dist/src/editors/ox-grist-editor-dateTime.js.map +1 -0
  83. package/dist/src/editors/ox-grist-editor-email.d.ts +4 -0
  84. package/dist/src/editors/ox-grist-editor-email.js +14 -0
  85. package/dist/src/editors/ox-grist-editor-email.js.map +1 -0
  86. package/dist/src/editors/{image-input.d.ts → ox-grist-editor-image.d.ts} +2 -2
  87. package/dist/src/editors/{image-input.js → ox-grist-editor-image.js} +8 -8
  88. package/dist/src/editors/ox-grist-editor-image.js.map +1 -0
  89. package/dist/src/editors/ox-grist-editor-month.d.ts +4 -0
  90. package/dist/src/editors/ox-grist-editor-month.js +14 -0
  91. package/dist/src/editors/ox-grist-editor-month.js.map +1 -0
  92. package/dist/src/editors/ox-grist-editor-number.d.ts +5 -0
  93. package/dist/src/editors/ox-grist-editor-number.js +26 -0
  94. package/dist/src/editors/ox-grist-editor-number.js.map +1 -0
  95. package/dist/src/editors/ox-grist-editor-password.d.ts +4 -0
  96. package/dist/src/editors/ox-grist-editor-password.js +14 -0
  97. package/dist/src/editors/ox-grist-editor-password.js.map +1 -0
  98. package/dist/src/editors/ox-grist-editor-select.d.ts +4 -0
  99. package/dist/src/editors/ox-grist-editor-select.js +41 -0
  100. package/dist/src/editors/ox-grist-editor-select.js.map +1 -0
  101. package/dist/src/editors/ox-grist-editor-tel.d.ts +4 -0
  102. package/dist/src/editors/ox-grist-editor-tel.js +14 -0
  103. package/dist/src/editors/ox-grist-editor-tel.js.map +1 -0
  104. package/dist/src/editors/ox-grist-editor-text.d.ts +4 -0
  105. package/dist/src/editors/ox-grist-editor-text.js +14 -0
  106. package/dist/src/editors/ox-grist-editor-text.js.map +1 -0
  107. package/dist/src/editors/ox-grist-editor-time.d.ts +4 -0
  108. package/dist/src/editors/ox-grist-editor-time.js +14 -0
  109. package/dist/src/editors/ox-grist-editor-time.js.map +1 -0
  110. package/dist/src/editors/ox-grist-editor-week.d.ts +4 -0
  111. package/dist/src/editors/ox-grist-editor-week.js +14 -0
  112. package/dist/src/editors/ox-grist-editor-week.js.map +1 -0
  113. package/dist/src/editors/ox-grist-editor.d.ts +25 -0
  114. package/dist/src/editors/ox-grist-editor.js +159 -0
  115. package/dist/src/editors/ox-grist-editor.js.map +1 -0
  116. package/dist/src/editors/registry.d.ts +3 -3
  117. package/dist/src/editors/registry.js +35 -23
  118. package/dist/src/editors/registry.js.map +1 -1
  119. package/dist/src/filters/filter-checkbox.js +21 -2
  120. package/dist/src/filters/filter-checkbox.js.map +1 -1
  121. package/dist/src/filters/filter-input.js +20 -2
  122. package/dist/src/filters/filter-input.js.map +1 -1
  123. package/dist/src/filters/filter-range-date.js +47 -2
  124. package/dist/src/filters/filter-range-date.js.map +1 -1
  125. package/dist/src/filters/filter-range-number.js +47 -3
  126. package/dist/src/filters/filter-range-number.js.map +1 -1
  127. package/dist/src/filters/filter-select.js +29 -4
  128. package/dist/src/filters/filter-select.js.map +1 -1
  129. package/dist/src/filters/filters-form.d.ts +2 -1
  130. package/dist/src/filters/filters-form.js +61 -9
  131. package/dist/src/filters/filters-form.js.map +1 -1
  132. package/dist/src/renderers/index.d.ts +11 -11
  133. package/dist/src/renderers/index.js +11 -11
  134. package/dist/src/renderers/index.js.map +1 -1
  135. package/dist/src/renderers/ox-grist-renderer-boolean.d.ts +2 -0
  136. package/dist/src/renderers/{boolean-renderer.js → ox-grist-renderer-boolean.js} +2 -2
  137. package/dist/src/renderers/ox-grist-renderer-boolean.js.map +1 -0
  138. package/dist/src/renderers/ox-grist-renderer-color.d.ts +2 -0
  139. package/dist/src/renderers/ox-grist-renderer-color.js +12 -0
  140. package/dist/src/renderers/ox-grist-renderer-color.js.map +1 -0
  141. package/dist/src/renderers/ox-grist-renderer-date.d.ts +2 -0
  142. package/dist/src/renderers/{date-renderer.js → ox-grist-renderer-date.js} +6 -5
  143. package/dist/src/renderers/ox-grist-renderer-date.js.map +1 -0
  144. package/dist/src/renderers/ox-grist-renderer-image.d.ts +2 -0
  145. package/dist/src/renderers/{image-renderer.js → ox-grist-renderer-image.js} +3 -3
  146. package/dist/src/renderers/ox-grist-renderer-image.js.map +1 -0
  147. package/dist/src/renderers/ox-grist-renderer-json5.d.ts +2 -0
  148. package/dist/src/renderers/ox-grist-renderer-json5.js +27 -0
  149. package/dist/src/renderers/ox-grist-renderer-json5.js.map +1 -0
  150. package/dist/src/renderers/ox-grist-renderer-link.d.ts +2 -0
  151. package/dist/src/renderers/{link-renderer.js → ox-grist-renderer-link.js} +2 -2
  152. package/dist/src/renderers/ox-grist-renderer-link.js.map +1 -0
  153. package/dist/src/renderers/ox-grist-renderer-password.d.ts +2 -0
  154. package/dist/src/renderers/ox-grist-renderer-password.js +5 -0
  155. package/dist/src/renderers/ox-grist-renderer-password.js.map +1 -0
  156. package/dist/src/renderers/ox-grist-renderer-progress.d.ts +5 -0
  157. package/dist/src/renderers/ox-grist-renderer-progress.js +46 -0
  158. package/dist/src/renderers/ox-grist-renderer-progress.js.map +1 -0
  159. package/dist/src/renderers/ox-grist-renderer-select.d.ts +2 -0
  160. package/dist/src/renderers/{select-renderer.js → ox-grist-renderer-select.js} +7 -5
  161. package/dist/src/renderers/ox-grist-renderer-select.js.map +1 -0
  162. package/dist/src/renderers/ox-grist-renderer-text.d.ts +2 -0
  163. package/dist/src/renderers/ox-grist-renderer-text.js +17 -0
  164. package/dist/src/renderers/ox-grist-renderer-text.js.map +1 -0
  165. package/dist/src/renderers/ox-grist-renderer.d.ts +15 -0
  166. package/dist/src/renderers/ox-grist-renderer.js +48 -0
  167. package/dist/src/renderers/ox-grist-renderer.js.map +1 -0
  168. package/dist/src/renderers/registry.d.ts +7 -2
  169. package/dist/src/renderers/registry.js +48 -33
  170. package/dist/src/renderers/registry.js.map +1 -1
  171. package/dist/src/sorters/sorters-control.d.ts +1 -1
  172. package/dist/src/sorters/sorters-control.js +12 -4
  173. package/dist/src/sorters/sorters-control.js.map +1 -1
  174. package/dist/src/types.d.ts +14 -6
  175. package/dist/src/types.js.map +1 -1
  176. package/dist/tsconfig.tsbuildinfo +1 -1
  177. package/package.json +9 -8
  178. package/src/const.ts +0 -13
  179. package/src/data-card/data-card-field.ts +15 -5
  180. package/src/data-card/data-card.ts +1 -1
  181. package/src/data-card/event-handlers/record-card-click-handler.ts +4 -6
  182. package/src/data-card/event-handlers/record-card-dblclick-handler.ts +6 -10
  183. package/src/data-card/record-card.ts +19 -14
  184. package/src/data-grid/data-grid-body-style.ts +1 -0
  185. package/src/data-grid/data-grid-body.ts +206 -10
  186. package/src/data-grid/data-grid-field.ts +7 -5
  187. package/src/data-grid/data-grid-header.ts +108 -16
  188. package/src/data-grid/data-grid.ts +6 -6
  189. package/src/data-grid/event-handlers/data-grid-body-click-handler.ts +2 -2
  190. package/src/data-grid/event-handlers/data-grid-body-dblclick-handler.ts +2 -2
  191. package/src/data-grid/event-handlers/data-grid-body-keydown-handler.ts +88 -35
  192. package/src/data-grist.ts +177 -17
  193. package/src/data-list/data-list-field.ts +5 -4
  194. package/src/data-list/event-handlers/record-partial-click-handler.ts +5 -7
  195. package/src/data-list/event-handlers/record-partial-dblclick-handler.ts +5 -10
  196. package/src/data-list/event-handlers/record-partial-long-press-handler.ts +5 -10
  197. package/src/data-provider.ts +14 -6
  198. package/src/data-report/data-report-header.ts +4 -1
  199. package/src/data-report/event-handlers/data-report-body-keydown-handler.ts +17 -13
  200. package/src/editors/index.ts +2 -2
  201. package/src/editors/ox-grist-editor-checkbox.ts +14 -0
  202. package/src/editors/ox-grist-editor-color.ts +10 -0
  203. package/src/editors/ox-grist-editor-date.ts +10 -0
  204. package/src/editors/ox-grist-editor-datetime.ts +28 -0
  205. package/src/editors/ox-grist-editor-email.ts +10 -0
  206. package/src/editors/{image-input.ts → ox-grist-editor-image.ts} +4 -5
  207. package/src/editors/ox-grist-editor-month.ts +10 -0
  208. package/src/editors/ox-grist-editor-number.ts +25 -0
  209. package/src/editors/ox-grist-editor-password.ts +10 -0
  210. package/src/editors/ox-grist-editor-select.ts +42 -0
  211. package/src/editors/ox-grist-editor-tel.ts +10 -0
  212. package/src/editors/ox-grist-editor-text.ts +10 -0
  213. package/src/editors/ox-grist-editor-time.ts +10 -0
  214. package/src/editors/ox-grist-editor-week.ts +10 -0
  215. package/src/editors/ox-grist-editor.ts +161 -0
  216. package/src/editors/registry.ts +39 -41
  217. package/src/filters/filter-checkbox.ts +24 -4
  218. package/src/filters/filter-input.ts +23 -4
  219. package/src/filters/filter-range-date.ts +57 -4
  220. package/src/filters/filter-range-number.ts +56 -5
  221. package/src/filters/filter-select.ts +43 -7
  222. package/src/filters/filters-form.ts +64 -11
  223. package/src/renderers/index.ts +11 -11
  224. package/src/renderers/{boolean-renderer.ts → ox-grist-renderer-boolean.ts} +1 -1
  225. package/src/renderers/ox-grist-renderer-color.ts +14 -0
  226. package/src/renderers/{date-renderer.ts → ox-grist-renderer-date.ts} +6 -4
  227. package/src/renderers/{image-renderer.ts → ox-grist-renderer-image.ts} +3 -4
  228. package/src/renderers/ox-grist-renderer-json5.ts +31 -0
  229. package/src/renderers/{link-renderer.ts → ox-grist-renderer-link.ts} +1 -1
  230. package/src/renderers/ox-grist-renderer-password.ts +7 -0
  231. package/src/renderers/ox-grist-renderer-progress.ts +45 -0
  232. package/src/renderers/{select-renderer.ts → ox-grist-renderer-select.ts} +7 -3
  233. package/src/renderers/ox-grist-renderer-text.ts +22 -0
  234. package/src/renderers/ox-grist-renderer.ts +35 -0
  235. package/src/renderers/registry.ts +85 -36
  236. package/src/sorters/sorters-control.ts +14 -5
  237. package/src/types.ts +23 -6
  238. package/dist/src/editors/image-input.js.map +0 -1
  239. package/dist/src/editors/input-editors.d.ts +0 -68
  240. package/dist/src/editors/input-editors.js +0 -329
  241. package/dist/src/editors/input-editors.js.map +0 -1
  242. package/dist/src/renderers/boolean-renderer.d.ts +0 -2
  243. package/dist/src/renderers/boolean-renderer.js.map +0 -1
  244. package/dist/src/renderers/color-renderer.d.ts +0 -2
  245. package/dist/src/renderers/color-renderer.js +0 -6
  246. package/dist/src/renderers/color-renderer.js.map +0 -1
  247. package/dist/src/renderers/date-renderer.d.ts +0 -2
  248. package/dist/src/renderers/date-renderer.js.map +0 -1
  249. package/dist/src/renderers/image-renderer.d.ts +0 -2
  250. package/dist/src/renderers/image-renderer.js.map +0 -1
  251. package/dist/src/renderers/json5-renderer.d.ts +0 -2
  252. package/dist/src/renderers/json5-renderer.js +0 -7
  253. package/dist/src/renderers/json5-renderer.js.map +0 -1
  254. package/dist/src/renderers/link-renderer.d.ts +0 -2
  255. package/dist/src/renderers/link-renderer.js.map +0 -1
  256. package/dist/src/renderers/password-renderer.d.ts +0 -2
  257. package/dist/src/renderers/password-renderer.js +0 -4
  258. package/dist/src/renderers/password-renderer.js.map +0 -1
  259. package/dist/src/renderers/progress-renderer.d.ts +0 -2
  260. package/dist/src/renderers/progress-renderer.js +0 -68
  261. package/dist/src/renderers/progress-renderer.js.map +0 -1
  262. package/dist/src/renderers/select-renderer.d.ts +0 -2
  263. package/dist/src/renderers/select-renderer.js.map +0 -1
  264. package/dist/src/renderers/text-renderer.d.ts +0 -2
  265. package/dist/src/renderers/text-renderer.js +0 -6
  266. package/dist/src/renderers/text-renderer.js.map +0 -1
  267. package/src/editors/input-editors.ts +0 -319
  268. package/src/renderers/color-renderer.ts +0 -8
  269. package/src/renderers/json5-renderer.ts +0 -8
  270. package/src/renderers/password-renderer.ts +0 -5
  271. package/src/renderers/progress-renderer.ts +0 -61
  272. package/src/renderers/text-renderer.ts +0 -7
package/CHANGELOG.md CHANGED
@@ -3,6 +3,402 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.0.0-alpha.50](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.49...v1.0.0-alpha.50) (2022-04-04)
7
+
8
+ **Note:** Version bump only for package @operato/data-grist
9
+
10
+
11
+
12
+
13
+
14
+ ## [1.0.0-alpha.49](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.48...v1.0.0-alpha.49) (2022-04-04)
15
+
16
+
17
+ ### :bug: Bug Fix
18
+
19
+ * lit@2.2.1 ([6707752](https://github.com/hatiolab/operato/commit/6707752907d24f7ecbe248cba18a4b18cfda282f))
20
+
21
+
22
+
23
+ ## [1.0.0-alpha.48](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.47...v1.0.0-alpha.48) (2022-04-03)
24
+
25
+
26
+ ### :bug: Bug Fix
27
+
28
+ * event handling for clicking magnify icon in filters-form - fetch data forcely ([cc17a05](https://github.com/hatiolab/operato/commit/cc17a056807a6e5018ee89d1f6be91e463671bac))
29
+
30
+
31
+ ### :rocket: New Features
32
+
33
+ * support copy and paste in data-grid ([9dd686f](https://github.com/hatiolab/operato/commit/9dd686f6817500863a1c36140ef01b39fcafef9f))
34
+ * support data-grist block selection ([b9238ae](https://github.com/hatiolab/operato/commit/b9238ae7848b9824466b2ce843d56d3eac789104))
35
+ * support data-grist block selection ([537577a](https://github.com/hatiolab/operato/commit/537577a160abc0aa0d9df4374eca0ddcadf0bd7f))
36
+
37
+
38
+
39
+ ## [1.0.0-alpha.47](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.46...v1.0.0-alpha.47) (2022-04-02)
40
+
41
+ **Note:** Version bump only for package @operato/data-grist
42
+
43
+
44
+
45
+
46
+
47
+ ## [1.0.0-alpha.46](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.45...v1.0.0-alpha.46) (2022-04-02)
48
+
49
+ **Note:** Version bump only for package @operato/data-grist
50
+
51
+
52
+
53
+
54
+
55
+ ## [1.0.0-alpha.45](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.44...v1.0.0-alpha.45) (2022-03-31)
56
+
57
+ **Note:** Version bump only for package @operato/data-grist
58
+
59
+
60
+
61
+
62
+
63
+ ## [1.0.0-alpha.44](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.43...v1.0.0-alpha.44) (2022-03-31)
64
+
65
+
66
+ ### :rocket: New Features
67
+
68
+ * select member method for ox-grist ([e18bca1](https://github.com/hatiolab/operato/commit/e18bca1756fc78acdff7c820d4b350f05cb7114f))
69
+
70
+
71
+
72
+ ## [1.0.0-alpha.43](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.42...v1.0.0-alpha.43) (2022-03-30)
73
+
74
+
75
+ ### :rocket: New Features
76
+
77
+ * url-params-sensitive property for data-grist ([25de73e](https://github.com/hatiolab/operato/commit/25de73e0b4498fb301d0d94e420c7acbbd70856f))
78
+
79
+
80
+ ### :bug: Bug Fix
81
+
82
+ * filters-change event handling in data-grist ([8e03e4c](https://github.com/hatiolab/operato/commit/8e03e4cbcb837102d4df8a803b2b20a30b67271e))
83
+ * ox-grist-renderer-color ([2554cfa](https://github.com/hatiolab/operato/commit/2554cfad505e22798448426177c2da4ff9e7dba6))
84
+
85
+
86
+
87
+ ## [1.0.0-alpha.42](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.41...v1.0.0-alpha.42) (2022-03-29)
88
+
89
+
90
+ ### :bug: Bug Fix
91
+
92
+ * data-grist sorters, filters ([960830a](https://github.com/hatiolab/operato/commit/960830ab877ada67cf8701fce7aa1740ec83bcc2))
93
+ * filter-select in data-grid-header ([61e2aa0](https://github.com/hatiolab/operato/commit/61e2aa060e41f61bef9ebc7d5890f84632ee73bf))
94
+
95
+
96
+ ### :rocket: New Features
97
+
98
+ * add filters and sorters property in grist ([099757f](https://github.com/hatiolab/operato/commit/099757fd211411795120ed4c2fa9e23e8e2d398a))
99
+ * url-params-sensitive property for data-grist ([8bae25f](https://github.com/hatiolab/operato/commit/8bae25f210c0185f0b307dbda4797b568231618a))
100
+ * url-params-sensitive property for data-grist ([32523c0](https://github.com/hatiolab/operato/commit/32523c0ec4e69c603317c6a05eba0c0338663886))
101
+
102
+
103
+
104
+ ## [1.0.0-alpha.41](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.40...v1.0.0-alpha.41) (2022-03-27)
105
+
106
+
107
+ ### :rocket: New Features
108
+
109
+ * grid-header filter integrated with filters-form ([ebecb71](https://github.com/hatiolab/operato/commit/ebecb71133d38bb8358909660319de6cb5b45d7d))
110
+
111
+
112
+
113
+ ## [1.0.0-alpha.40](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.39...v1.0.0-alpha.40) (2022-03-26)
114
+
115
+
116
+ ### :bug: Bug Fix
117
+
118
+ * filter-select support object type select options ([ab5a877](https://github.com/hatiolab/operato/commit/ab5a877157979bc96b252b6b527b4666c22e0b09))
119
+
120
+
121
+
122
+ ## [1.0.0-alpha.39](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.38...v1.0.0-alpha.39) (2022-03-25)
123
+
124
+ **Note:** Version bump only for package @operato/data-grist
125
+
126
+
127
+
128
+
129
+
130
+ ## [1.0.0-alpha.38](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.37...v1.0.0-alpha.38) (2022-03-25)
131
+
132
+ **Note:** Version bump only for package @operato/data-grist
133
+
134
+
135
+
136
+
137
+
138
+ ## [1.0.0-alpha.37](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.36...v1.0.0-alpha.37) (2022-03-25)
139
+
140
+ **Note:** Version bump only for package @operato/data-grist
141
+
142
+
143
+
144
+
145
+
146
+ ## [1.0.0-alpha.36](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.35...v1.0.0-alpha.36) (2022-03-21)
147
+
148
+
149
+ ### :bug: Bug Fix
150
+
151
+ * datetime grist-renderer ([d551750](https://github.com/hatiolab/operato/commit/d55175091f9b928c56b02a087922c2fe8dcad9a9))
152
+
153
+
154
+
155
+ ## [1.0.0-alpha.35](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.34...v1.0.0-alpha.35) (2022-03-21)
156
+
157
+
158
+ ### :bug: Bug Fix
159
+
160
+ * prevent text overflow of grist-renderers ([73e7538](https://github.com/hatiolab/operato/commit/73e7538f9a0c8941689fefd3d4212529a75c413d))
161
+
162
+
163
+
164
+ ## [1.0.0-alpha.34](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.33...v1.0.0-alpha.34) (2022-03-20)
165
+
166
+
167
+ ### :bug: Bug Fix
168
+
169
+ * data-grist field styles for tooltip ([5f90650](https://github.com/hatiolab/operato/commit/5f90650ef36023834af3d3bf027cd300cc6bffc1))
170
+
171
+
172
+
173
+ ## [1.0.0-alpha.33](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.32...v1.0.0-alpha.33) (2022-03-19)
174
+
175
+
176
+ ### :bug: Bug Fix
177
+
178
+ * ox-grist json5 renderer ([1ff95e2](https://github.com/hatiolab/operato/commit/1ff95e21ac1b467620327a2a3f7aacd105b83414))
179
+
180
+
181
+
182
+ ## [1.0.0-alpha.32](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.31...v1.0.0-alpha.32) (2022-03-19)
183
+
184
+
185
+ ### :bug: Bug Fix
186
+
187
+ * typo ([2f2e3fc](https://github.com/hatiolab/operato/commit/2f2e3fcce771dcbfe2f1d09cbd25638094a6dc99))
188
+
189
+
190
+
191
+ ## [1.0.0-alpha.31](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.30...v1.0.0-alpha.31) (2022-03-19)
192
+
193
+
194
+ ### :bug: Bug Fix
195
+
196
+ * ox-grist-renderer support class type renderer (refer ox-grist-renderer-progress) ([ad7c8e1](https://github.com/hatiolab/operato/commit/ad7c8e1b453d19af9daa13ae4eb7c2059d85dfbb))
197
+
198
+
199
+
200
+ ## [1.0.0-alpha.30](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.29...v1.0.0-alpha.30) (2022-03-18)
201
+
202
+ **Note:** Version bump only for package @operato/data-grist
203
+
204
+
205
+
206
+
207
+
208
+ ## [1.0.0-alpha.29](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.28...v1.0.0-alpha.29) (2022-03-17)
209
+
210
+ **Note:** Version bump only for package @operato/data-grist
211
+
212
+
213
+
214
+
215
+
216
+ ## [1.0.0-alpha.28](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.26...v1.0.0-alpha.28) (2022-03-17)
217
+
218
+ **Note:** Version bump only for package @operato/data-grist
219
+
220
+
221
+
222
+
223
+
224
+ ## [1.0.0-alpha.27](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.26...v1.0.0-alpha.27) (2022-03-17)
225
+
226
+ **Note:** Version bump only for package @operato/data-grist
227
+
228
+
229
+
230
+
231
+
232
+ ## [1.0.0-alpha.26](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.25...v1.0.0-alpha.26) (2022-03-17)
233
+
234
+ **Note:** Version bump only for package @operato/data-grist
235
+
236
+
237
+
238
+
239
+
240
+ ## [1.0.0-alpha.25](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.24...v1.0.0-alpha.25) (2022-03-17)
241
+
242
+ **Note:** Version bump only for package @operato/data-grist
243
+
244
+
245
+
246
+
247
+
248
+ ## [1.0.0-alpha.24](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.23...v1.0.0-alpha.24) (2022-03-17)
249
+
250
+
251
+ ### :bug: Bug Fix
252
+
253
+ * refactoring grist-editor, property-editor and input ([ea7431a](https://github.com/hatiolab/operato/commit/ea7431a5e2dfd96ef392c1905e9622df7c2ef88c))
254
+
255
+
256
+
257
+ ## [1.0.0-alpha.23](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.22...v1.0.0-alpha.23) (2022-03-17)
258
+
259
+ **Note:** Version bump only for package @operato/data-grist
260
+
261
+
262
+
263
+
264
+
265
+ ## [1.0.0-alpha.22](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.21...v1.0.0-alpha.22) (2022-03-17)
266
+
267
+ **Note:** Version bump only for package @operato/data-grist
268
+
269
+
270
+
271
+
272
+
273
+ ## [1.0.0-alpha.21](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.20...v1.0.0-alpha.21) (2022-03-16)
274
+
275
+ **Note:** Version bump only for package @operato/data-grist
276
+
277
+
278
+
279
+
280
+
281
+ ## [1.0.0-alpha.20](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.19...v1.0.0-alpha.20) (2022-03-15)
282
+
283
+ **Note:** Version bump only for package @operato/data-grist
284
+
285
+
286
+
287
+
288
+
289
+ ## [1.0.0-alpha.19](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.18...v1.0.0-alpha.19) (2022-03-14)
290
+
291
+ **Note:** Version bump only for package @operato/data-grist
292
+
293
+
294
+
295
+
296
+
297
+ ## [1.0.0-alpha.18](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.17...v1.0.0-alpha.18) (2022-03-14)
298
+
299
+
300
+ ### :bug: Bug Fix
301
+
302
+ * data-grist click eventhandler and thumbnail layout ([c232bbf](https://github.com/hatiolab/operato/commit/c232bbf3d6ca90b48cc4ddb0a5ddb839acb14cdb))
303
+
304
+
305
+
306
+ ## [1.0.0-alpha.17](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.16...v1.0.0-alpha.17) (2022-03-13)
307
+
308
+ **Note:** Version bump only for package @operato/data-grist
309
+
310
+
311
+
312
+
313
+
314
+ ## [1.0.0-alpha.16](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.15...v1.0.0-alpha.16) (2022-03-13)
315
+
316
+ **Note:** Version bump only for package @operato/data-grist
317
+
318
+
319
+
320
+
321
+
322
+ ## [1.0.0-alpha.15](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.14...v1.0.0-alpha.15) (2022-03-13)
323
+
324
+ **Note:** Version bump only for package @operato/data-grist
325
+
326
+
327
+
328
+
329
+
330
+ ## [1.0.0-alpha.14](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.13...v1.0.0-alpha.14) (2022-03-13)
331
+
332
+ **Note:** Version bump only for package @operato/data-grist
333
+
334
+
335
+
336
+
337
+
338
+ ## [1.0.0-alpha.13](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.12...v1.0.0-alpha.13) (2022-03-13)
339
+
340
+ **Note:** Version bump only for package @operato/data-grist
341
+
342
+
343
+
344
+
345
+
346
+ ## [1.0.0-alpha.12](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.11...v1.0.0-alpha.12) (2022-03-13)
347
+
348
+ **Note:** Version bump only for package @operato/data-grist
349
+
350
+
351
+
352
+
353
+
354
+ ## [1.0.0-alpha.11](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.10...v1.0.0-alpha.11) (2022-03-12)
355
+
356
+ **Note:** Version bump only for package @operato/data-grist
357
+
358
+
359
+
360
+
361
+
362
+ ## [1.0.0-alpha.10](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.9...v1.0.0-alpha.10) (2022-03-12)
363
+
364
+ **Note:** Version bump only for package @operato/data-grist
365
+
366
+
367
+
368
+
369
+
370
+ ## [1.0.0-alpha.9](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.8...v1.0.0-alpha.9) (2022-03-12)
371
+
372
+ **Note:** Version bump only for package @operato/data-grist
373
+
374
+
375
+
376
+
377
+
378
+ ## [1.0.0-alpha.8](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.7...v1.0.0-alpha.8) (2022-03-11)
379
+
380
+ **Note:** Version bump only for package @operato/data-grist
381
+
382
+
383
+
384
+
385
+
386
+ ## [1.0.0-alpha.7](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.6...v1.0.0-alpha.7) (2022-03-11)
387
+
388
+ **Note:** Version bump only for package @operato/data-grist
389
+
390
+
391
+
392
+
393
+
394
+ ## [1.0.0-alpha.6](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.5...v1.0.0-alpha.6) (2022-03-11)
395
+
396
+ **Note:** Version bump only for package @operato/data-grist
397
+
398
+
399
+
400
+
401
+
6
402
  ## [1.0.0-alpha.5](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.4...v1.0.0-alpha.5) (2022-03-11)
7
403
 
8
404
  **Note:** Version bump only for package @operato/data-grist
package/demo/index.html CHANGED
@@ -106,7 +106,9 @@
106
106
  : `http://deadpool.hatiolab.com/${start + idx + 1}`,
107
107
  json5: {
108
108
  abc: 'abc',
109
- value: 123
109
+ value: 123,
110
+ xyz: [1, 2, 3, 4, 5, 6, 7, 8, 9, 0],
111
+ quantity: 6782341
110
112
  },
111
113
  createdAt: Date.now(),
112
114
  updatedAt: Date.now()
@@ -119,7 +121,7 @@
119
121
  list: {
120
122
  thumbnail: 'thumbnail',
121
123
  fields: ['name', 'description'],
122
- details: ['role', 'email']
124
+ details: ['role', 'email', 'json5']
123
125
  },
124
126
  columns: [
125
127
  {
@@ -283,6 +285,16 @@
283
285
  type: 'json5',
284
286
  name: 'json5',
285
287
  header: 'JSON5',
288
+ label: true,
289
+ width: 200
290
+ },
291
+ {
292
+ type: 'progress',
293
+ name: 'rate',
294
+ header: 'progress',
295
+ record: {
296
+ editable: true
297
+ },
286
298
  width: 200
287
299
  },
288
300
  {
@@ -291,7 +303,13 @@
291
303
  header: 'thumbnail',
292
304
  record: {
293
305
  editable: true
294
- }
306
+ },
307
+ handlers: {
308
+ click: () => {
309
+ console.log('thumbnail clicked...')
310
+ }
311
+ },
312
+ width: 200
295
313
  },
296
314
  {
297
315
  type: 'datetime',
@@ -372,6 +390,8 @@
372
390
 
373
391
  static get properties() {
374
392
  return {
393
+ sorters: Object,
394
+ filters: Object,
375
395
  mode: String
376
396
  }
377
397
  }
@@ -384,9 +404,16 @@
384
404
  const mode = this.mode || 'CARD'
385
405
 
386
406
  return html`
387
- <ox-grist .config=${config} .mode=${mode} auto-fetch .fetchHandler=${fetchHandler}>
407
+ <ox-grist
408
+ .config=${config}
409
+ .mode=${mode}
410
+ auto-fetch
411
+ url-params-sensitive
412
+ .fetchHandler=${fetchHandler}
413
+ @filters-change=${e => console.log('changed', e.detail)}
414
+ >
388
415
  <div id="filters" slot="headroom">
389
- <ox-filters-form @filters-change=${e => console.log('changed', e.detail)}></ox-filters-form>
416
+ <ox-filters-form></ox-filters-form>
390
417
  </div>
391
418
 
392
419
  <div slot="headroom" id="headroom">
@@ -445,7 +472,7 @@
445
472
  customElements.define('grist-demo', GristDemo)
446
473
 
447
474
  setTimeout(() => {
448
- render(html` <grist-demo mode="LIST"></grist-demo> `, document.querySelector('#demo'))
475
+ render(html` <grist-demo mode="GRID"></grist-demo> `, document.querySelector('#demo'))
449
476
  })
450
477
  </script>
451
478
 
@@ -1,13 +1 @@
1
1
  export declare const NOOP: () => void;
2
- export declare enum KEYCODE {
3
- KEY_LEFT = 37,
4
- KEY_UP = 38,
5
- KEY_RIGHT = 39,
6
- KEY_DOWN = 40,
7
- KEY_ENTER = 13,
8
- KEY_TAP = 9,
9
- KEY_BACKSPACE = 8,
10
- KEY_ESC = 27,
11
- KEY_PAGEUP = 33,
12
- KEY_PAGEDOWN = 34
13
- }
package/dist/src/const.js CHANGED
@@ -1,15 +1,2 @@
1
1
  export const NOOP = function () { };
2
- export var KEYCODE;
3
- (function (KEYCODE) {
4
- KEYCODE[KEYCODE["KEY_LEFT"] = 37] = "KEY_LEFT";
5
- KEYCODE[KEYCODE["KEY_UP"] = 38] = "KEY_UP";
6
- KEYCODE[KEYCODE["KEY_RIGHT"] = 39] = "KEY_RIGHT";
7
- KEYCODE[KEYCODE["KEY_DOWN"] = 40] = "KEY_DOWN";
8
- KEYCODE[KEYCODE["KEY_ENTER"] = 13] = "KEY_ENTER";
9
- KEYCODE[KEYCODE["KEY_TAP"] = 9] = "KEY_TAP";
10
- KEYCODE[KEYCODE["KEY_BACKSPACE"] = 8] = "KEY_BACKSPACE";
11
- KEYCODE[KEYCODE["KEY_ESC"] = 27] = "KEY_ESC";
12
- KEYCODE[KEYCODE["KEY_PAGEUP"] = 33] = "KEY_PAGEUP";
13
- KEYCODE[KEYCODE["KEY_PAGEDOWN"] = 34] = "KEY_PAGEDOWN";
14
- })(KEYCODE || (KEYCODE = {}));
15
2
  //# sourceMappingURL=const.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"const.js","sourceRoot":"","sources":["../../src/const.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,IAAI,GAAG,cAAa,CAAC,CAAA;AAElC,MAAM,CAAN,IAAY,OAWX;AAXD,WAAY,OAAO;IACjB,8CAAa,CAAA;IACb,0CAAW,CAAA;IACX,gDAAc,CAAA;IACd,8CAAa,CAAA;IACb,gDAAc,CAAA;IACd,2CAAW,CAAA;IACX,uDAAiB,CAAA;IACjB,4CAAY,CAAA;IACZ,kDAAe,CAAA;IACf,sDAAiB,CAAA;AACnB,CAAC,EAXW,OAAO,KAAP,OAAO,QAWlB","sourcesContent":["export const NOOP = function () {}\n\nexport enum KEYCODE {\n KEY_LEFT = 37,\n KEY_UP = 38,\n KEY_RIGHT = 39,\n KEY_DOWN = 40,\n KEY_ENTER = 13,\n KEY_TAP = 9,\n KEY_BACKSPACE = 8,\n KEY_ESC = 27,\n KEY_PAGEUP = 33,\n KEY_PAGEDOWN = 34\n}\n"]}
1
+ {"version":3,"file":"const.js","sourceRoot":"","sources":["../../src/const.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,IAAI,GAAG,cAAa,CAAC,CAAA","sourcesContent":["export const NOOP = function () {}\n"]}
@@ -1,5 +1,5 @@
1
- import { LitElement, TemplateResult } from 'lit';
2
1
  import { ColumnConfig, GristRecord } from '../types';
2
+ import { LitElement, TemplateResult } from 'lit';
3
3
  export declare class DataCardField extends LitElement {
4
4
  static styles: import("lit").CSSResult[];
5
5
  align?: string;
@@ -1,7 +1,8 @@
1
1
  import { __decorate } from "tslib";
2
- import { css, html, LitElement } from 'lit';
3
- import { customElement, property } from 'lit/decorators.js';
2
+ import { LitElement, css, html } from 'lit';
4
3
  import { ZERO_COLUMN, ZERO_RECORD } from '../configure/zero-config';
4
+ import { customElement, property } from 'lit/decorators.js';
5
+ import { TooltipStyles } from '@operato/styles';
5
6
  let DataCardField = class DataCardField extends LitElement {
6
7
  constructor() {
7
8
  super(...arguments);
@@ -22,6 +23,7 @@ let DataCardField = class DataCardField extends LitElement {
22
23
  }
23
24
  };
24
25
  DataCardField.styles = [
26
+ TooltipStyles,
25
27
  css `
26
28
  :host {
27
29
  display: flex;
@@ -31,11 +33,15 @@ DataCardField.styles = [
31
33
 
32
34
  white-space: nowrap;
33
35
 
34
- padding: 1px 7px 1px 0;
35
-
36
36
  font: inherit;
37
37
  }
38
38
 
39
+ :host([thumbnail]) > * {
40
+ object-fit: contain;
41
+ max-width: 100%;
42
+ max-height: 100%;
43
+ }
44
+
39
45
  * {
40
46
  flex: 1;
41
47
  margin: 0;
@@ -51,14 +57,17 @@ DataCardField.styles = [
51
57
  flex: none;
52
58
  margin: 0 auto;
53
59
  }
60
+
54
61
  :host([name]) {
55
62
  display: block;
56
63
  }
64
+
57
65
  :host([name]) label {
58
66
  display: block;
59
67
  font: var(--data-card-item-name-label-font);
60
68
  color: var(--data-card-item-name-label-color);
61
69
  }
70
+
62
71
  label {
63
72
  flex: none;
64
73
  width: 33%;
@@ -66,6 +75,7 @@ DataCardField.styles = [
66
75
  font: var(--data-card-item-etc-label-font);
67
76
  text-transform: capitalize;
68
77
  }
78
+
69
79
  label + a {
70
80
  display: block;
71
81
  min-width: 100%;
@@ -1 +1 @@
1
- {"version":3,"file":"data-card-field.js","sourceRoot":"","sources":["../../../src/data-card/data-card-field.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAkB,MAAM,KAAK,CAAA;AAC3D,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE3D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAInE,IAAa,aAAa,GAA1B,MAAa,aAAc,SAAQ,UAAU;IAA7C;;QAiE8B,WAAM,GAAgB,WAAW,CAAA;QACjC,WAAM,GAAiB,WAAW,CAAA;QAClC,aAAQ,GAAW,CAAC,CAAC,CAAA;IAkBnD,CAAC;IAfC,MAAM;QACJ,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;QAE9C,IAAI,EACF,KAAK,EACL,MAAM,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,EACrC,GAAG,MAAM,CAAA;QAEV,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;YAC5B,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,KAAK,CAAA;YACvC,OAAO,IAAI,CAAA,UAAU,aAAa,EAAE,WAAW,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAA;SACvG;aAAM;YACL,OAAO,IAAI,CAAA,GAAG,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAA;SACtE;IACH,CAAC;CACF,CAAA;AApFQ,oBAAM,GAAG;IACd,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA2DF;CACF,CAAA;AAE8B;IAA9B,QAAQ,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;4CAAe;AACjB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;6CAAkC;AACjC;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;6CAAmC;AAClC;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;+CAAsB;AACrB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;4CAAe;AApE/B,aAAa;IADzB,aAAa,CAAC,eAAe,CAAC;GAClB,aAAa,CAqFzB;SArFY,aAAa","sourcesContent":["import { css, html, LitElement, TemplateResult } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nimport { ZERO_COLUMN, ZERO_RECORD } from '../configure/zero-config'\nimport { ColumnConfig, GristRecord } from '../types'\n\n@customElement('ox-card-field')\nexport class DataCardField extends LitElement {\n static styles = [\n css`\n :host {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n position: relative;\n\n white-space: nowrap;\n\n padding: 1px 7px 1px 0;\n\n font: inherit;\n }\n\n * {\n flex: 1;\n margin: 0;\n\n width: 100px;\n overflow: hidden;\n\n text-overflow: ellipsis;\n text-align: left;\n }\n\n *[center] {\n flex: none;\n margin: 0 auto;\n }\n :host([name]) {\n display: block;\n }\n :host([name]) label {\n display: block;\n font: var(--data-card-item-name-label-font);\n color: var(--data-card-item-name-label-color);\n }\n label {\n flex: none;\n width: 33%;\n padding-bottom: 2px;\n font: var(--data-card-item-etc-label-font);\n text-transform: capitalize;\n }\n label + a {\n display: block;\n min-width: 100%;\n }\n\n input[type='checkbox'],\n input[type='radio'] {\n zoom: var(--grist-input-zoom);\n }\n\n @media only screen and (max-width: 460px) {\n *[center] {\n margin: initial;\n }\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 var { value, column, record, rowIndex } = this\n\n var {\n label,\n record: { renderer: recordRenderer }\n } = column\n\n if (typeof label == 'object') {\n let { renderer: labelRenderer } = label\n return html`<label>${labelRenderer()}</label>${recordRenderer(value, column, record, rowIndex, this)}`\n } else {\n return html`${recordRenderer(value, column, record, rowIndex, this)}`\n }\n }\n}\n"]}
1
+ {"version":3,"file":"data-card-field.js","sourceRoot":"","sources":["../../../src/data-card/data-card-field.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAkB,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAA;AAC3D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACnE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAG/C,IAAa,aAAa,GAA1B,MAAa,aAAc,SAAQ,UAAU;IAA7C;;QA0E8B,WAAM,GAAgB,WAAW,CAAA;QACjC,WAAM,GAAiB,WAAW,CAAA;QAClC,aAAQ,GAAW,CAAC,CAAC,CAAA;IAkBnD,CAAC;IAfC,MAAM;QACJ,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;QAE9C,IAAI,EACF,KAAK,EACL,MAAM,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,EACrC,GAAG,MAAM,CAAA;QAEV,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;YAC5B,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,KAAK,CAAA;YACvC,OAAO,IAAI,CAAA,UAAU,aAAa,EAAE,WAAW,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAA;SACvG;aAAM;YACL,OAAO,IAAI,CAAA,GAAG,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAA;SACtE;IACH,CAAC;CACF,CAAA;AA7FQ,oBAAM,GAAG;IACd,aAAa;IACb,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAmEF;CACF,CAAA;AAE8B;IAA9B,QAAQ,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;4CAAe;AACjB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;6CAAkC;AACjC;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;6CAAmC;AAClC;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;+CAAsB;AACrB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;4CAAe;AA7E/B,aAAa;IADzB,aAAa,CAAC,eAAe,CAAC;GAClB,aAAa,CA8FzB;SA9FY,aAAa","sourcesContent":["import { ColumnConfig, GristRecord } from '../types'\nimport { LitElement, TemplateResult, css, html } from 'lit'\nimport { ZERO_COLUMN, ZERO_RECORD } from '../configure/zero-config'\nimport { customElement, property } from 'lit/decorators.js'\n\nimport { TooltipStyles } from '@operato/styles'\n\n@customElement('ox-card-field')\nexport class DataCardField extends LitElement {\n static styles = [\n TooltipStyles,\n css`\n :host {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n position: relative;\n\n white-space: nowrap;\n\n font: inherit;\n }\n\n :host([thumbnail]) > * {\n object-fit: contain;\n max-width: 100%;\n max-height: 100%;\n }\n\n * {\n flex: 1;\n margin: 0;\n\n width: 100px;\n overflow: hidden;\n\n text-overflow: ellipsis;\n text-align: left;\n }\n\n *[center] {\n flex: none;\n margin: 0 auto;\n }\n\n :host([name]) {\n display: block;\n }\n\n :host([name]) label {\n display: block;\n font: var(--data-card-item-name-label-font);\n color: var(--data-card-item-name-label-color);\n }\n\n label {\n flex: none;\n width: 33%;\n padding-bottom: 2px;\n font: var(--data-card-item-etc-label-font);\n text-transform: capitalize;\n }\n\n label + a {\n display: block;\n min-width: 100%;\n }\n\n input[type='checkbox'],\n input[type='radio'] {\n zoom: var(--grist-input-zoom);\n }\n\n @media only screen and (max-width: 460px) {\n *[center] {\n margin: initial;\n }\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 var { value, column, record, rowIndex } = this\n\n var {\n label,\n record: { renderer: recordRenderer }\n } = column\n\n if (typeof label == 'object') {\n let { renderer: labelRenderer } = label\n return html`<label>${labelRenderer()}</label>${recordRenderer(value, column, record, rowIndex, this)}`\n } else {\n return html`${recordRenderer(value, column, record, rowIndex, this)}`\n }\n }\n}\n"]}
@@ -1 +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/mwc-icon'\nimport './record-card'\n\nimport { css, html, PropertyValues } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nimport { DataManipulator } from '../data-manipulator'\nimport { GristRecord } from '../types'\n\n@customElement('ox-card')\nexport class DataCard extends DataManipulator {\n static styles = [\n css`\n :host {\n background-color: var(--data-card-background-color);\n overflow-y: auto;\n padding: var(--padding-wide);\n\n display: grid;\n grid-template-columns: var(--data-card-template);\n grid-template-rows: min-content;\n grid-gap: var(--margin-wide);\n }\n\n ox-record-card {\n align-items: stretch;\n background-color: var(--data-card-record-card-background-color);\n border: var(--data-card-record-card-border);\n border-radius: var(--data-card-record-card-border-radius);\n }\n ox-record-card:hover {\n border: var(--data-card-record-card-border-hover);\n box-shadow: var(--data-card-record-card-boxshadow-hover);\n }\n\n [selected-row] {\n background-color: var(--data-card-record-card-selected-border);\n }\n\n #upward {\n --mdc-icon-size: 26px;\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: 20px;\n color: var(--data-card-fab-color);\n box-shadow: var(--data-card-fab-shadow);\n padding: 7px;\n }\n\n slot {\n width: 100%;\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 }) isTop: boolean = false\n @property({ type: Array }) private _records: GristRecord[] = []\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 records = this._records || []\n\n return html`\n ${records.map(\n (record, rowIndex) => html`\n <ox-record-card\n .config=${this.config}\n .data=${this.data}\n .record=${record}\n .rowIndex=${rowIndex}\n ?selected-row=${record['__selected__']}\n ?dirty=${record['__dirty__']}\n ></ox-record-card>\n `\n )}\n ${this.isTop\n ? html``\n : html` <mwc-icon id=\"upward\" @click=${(e: Event) => this.gotoTop(e)}>arrow_upward</mwc-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"]}
1
+ {"version":3,"file":"data-card.js","sourceRoot":"","sources":["../../../src/data-card/data-card.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/mwc-icon'\nimport './record-card'\n\nimport { PropertyValues, css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nimport { DataManipulator } from '../data-manipulator'\nimport { GristRecord } from '../types'\n\n@customElement('ox-card')\nexport class DataCard extends DataManipulator {\n static styles = [\n css`\n :host {\n background-color: var(--data-card-background-color);\n overflow-y: auto;\n padding: var(--padding-wide);\n\n display: grid;\n grid-template-columns: var(--data-card-template);\n grid-template-rows: min-content;\n grid-gap: var(--margin-wide);\n }\n\n ox-record-card {\n align-items: stretch;\n background-color: var(--data-card-record-card-background-color);\n border: var(--data-card-record-card-border);\n border-radius: var(--data-card-record-card-border-radius);\n }\n ox-record-card:hover {\n border: var(--data-card-record-card-border-hover);\n box-shadow: var(--data-card-record-card-boxshadow-hover);\n }\n\n [selected-row] {\n background-color: var(--data-card-record-card-selected-border);\n }\n\n #upward {\n --mdc-icon-size: 26px;\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: 20px;\n color: var(--data-card-fab-color);\n box-shadow: var(--data-card-fab-shadow);\n padding: 7px;\n }\n\n slot {\n width: 100%;\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 }) isTop: boolean = false\n @property({ type: Array }) private _records: GristRecord[] = []\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 records = this._records || []\n\n return html`\n ${records.map(\n (record, rowIndex) => html`\n <ox-record-card\n .config=${this.config}\n .data=${this.data}\n .record=${record}\n .rowIndex=${rowIndex}\n ?selected-row=${record['__selected__']}\n ?dirty=${record['__dirty__']}\n ></ox-record-card>\n `\n )}\n ${this.isTop\n ? html``\n : html` <mwc-icon id=\"upward\" @click=${(e: Event) => this.gotoTop(e)}>arrow_upward</mwc-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"]}
@@ -6,8 +6,8 @@
6
6
  export function recordCardClickHandler(e) {
7
7
  e.stopPropagation();
8
8
  /* target should be [content] or 'ox-card-field' or 'ox-card-gutter' */
9
- var target = e.target;
10
- var { column, rowIndex } = target;
9
+ var target = e.target.closest('ox-card-field, ox-card-gutter');
10
+ var { column, rowIndex } = target || {};
11
11
  /* do column click handler */
12
12
  if (column) {
13
13
  var { click } = column.handlers;
@@ -1 +1 @@
1
- {"version":3,"file":"record-card-click-handler.js","sourceRoot":"","sources":["../../../../src/data-card/event-handlers/record-card-click-handler.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAmB,CAAa;IACpE,CAAC,CAAC,eAAe,EAAE,CAAA;IAEnB,uEAAuE;IACvE,IAAI,MAAM,GAAG,CAAC,CAAC,MAAa,CAAA;IAC5B,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAG1B,CAAA;IAED,6BAA6B;IAC7B,IAAI,MAAM,EAAE;QACV,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAA;QAC/B,IAAI,KAAK,EAAE;YACT,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;SACP;KACF;IAED,2BAA2B;IAC3B,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAA;IACpD,IAAI,SAAS,EAAE;QACb,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;KACjF;SAAM;QACL,uCAAuC;QACvC,IAAI,CAAC,eAAe,EAAE,CAAA;KACvB;AACH,CAAC","sourcesContent":["import { ColumnConfig } from '../../types'\nimport { RecordCard } from '../record-card'\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 any\n var { column, rowIndex } = target as {\n column: ColumnConfig\n rowIndex: number\n }\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.popupRecordView()\n }\n}\n"]}
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;QACV,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAA;QAC/B,IAAI,KAAK,EAAE;YACT,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;SACP;KACF;IAED,2BAA2B;IAC3B,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAA;IACpD,IAAI,SAAS,EAAE;QACb,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;KACjF;SAAM;QACL,uCAAuC;QACvC,IAAI,CAAC,eAAe,EAAE,CAAA;KACvB;AACH,CAAC","sourcesContent":["import { DataCardField } from '../data-card-field'\nimport { DataCardGutter } from '../data-card-gutter'\nimport { RecordCard } from '../record-card'\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.popupRecordView()\n }\n}\n"]}