@operato/data-grist 2.0.0-alpha.2 → 2.0.0-alpha.22

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 (100) hide show
  1. package/CHANGELOG.md +138 -0
  2. package/dist/src/accumulator/accumulator.js +4 -4
  3. package/dist/src/accumulator/accumulator.js.map +1 -1
  4. package/dist/src/configure/rows-option-builder.js +2 -1
  5. package/dist/src/configure/rows-option-builder.js.map +1 -1
  6. package/dist/src/configure/zero-config.js +1 -0
  7. package/dist/src/configure/zero-config.js.map +1 -1
  8. package/dist/src/data-card/event-handlers/record-card-click-handler.js +1 -1
  9. package/dist/src/data-card/event-handlers/record-card-click-handler.js.map +1 -1
  10. package/dist/src/data-grid/data-grid-accum-field.js +3 -2
  11. package/dist/src/data-grid/data-grid-accum-field.js.map +1 -1
  12. package/dist/src/data-grid/data-grid-body.js +3 -1
  13. package/dist/src/data-grid/data-grid-body.js.map +1 -1
  14. package/dist/src/data-grid/data-grid-header.d.ts +1 -0
  15. package/dist/src/data-grid/data-grid-header.js +16 -14
  16. package/dist/src/data-grid/data-grid-header.js.map +1 -1
  17. package/dist/src/data-grist.d.ts +225 -3
  18. package/dist/src/data-grist.js +195 -3
  19. package/dist/src/data-grist.js.map +1 -1
  20. package/dist/src/data-list/event-handlers/record-partial-click-handler.js +1 -1
  21. package/dist/src/data-list/event-handlers/record-partial-click-handler.js.map +1 -1
  22. package/dist/src/data-manipulator.d.ts +6 -4
  23. package/dist/src/data-manipulator.js +91 -21
  24. package/dist/src/data-manipulator.js.map +1 -1
  25. package/dist/src/editors/ox-grist-editor-number.js +2 -2
  26. package/dist/src/editors/ox-grist-editor-number.js.map +1 -1
  27. package/dist/src/editors/ox-grist-editor.js +6 -2
  28. package/dist/src/editors/ox-grist-editor.js.map +1 -1
  29. package/dist/src/editors/ox-input-tree.js +1 -1
  30. package/dist/src/editors/ox-input-tree.js.map +1 -1
  31. package/dist/src/filters/filter-range-date.js +12 -1
  32. package/dist/src/filters/filter-range-date.js.map +1 -1
  33. package/dist/src/filters/filters-form.d.ts +1 -0
  34. package/dist/src/filters/filters-form.js +21 -3
  35. package/dist/src/filters/filters-form.js.map +1 -1
  36. package/dist/src/handlers/contextmenu-tree-mutation.js +1 -19
  37. package/dist/src/handlers/contextmenu-tree-mutation.js.map +1 -1
  38. package/dist/src/index.d.ts +0 -1
  39. package/dist/src/index.js +0 -1
  40. package/dist/src/index.js.map +1 -1
  41. package/dist/src/renderers/ox-grist-renderer-tree.js +1 -1
  42. package/dist/src/renderers/ox-grist-renderer-tree.js.map +1 -1
  43. package/dist/src/types.d.ts +428 -5
  44. package/dist/src/types.js +9 -0
  45. package/dist/src/types.js.map +1 -1
  46. package/dist/stories/accumulator.stories.js +10 -5
  47. package/dist/stories/accumulator.stories.js.map +1 -1
  48. package/dist/stories/dynamic-editable.stories.js +10 -0
  49. package/dist/stories/dynamic-editable.stories.js.map +1 -1
  50. package/dist/stories/fixed-column.stories.js +3 -3
  51. package/dist/stories/fixed-column.stories.js.map +1 -1
  52. package/dist/stories/grist-modes.stories.js +23 -2
  53. package/dist/stories/grist-modes.stories.js.map +1 -1
  54. package/dist/tsconfig.tsbuildinfo +1 -1
  55. package/docs/gutter/gutter.md +7 -0
  56. package/package.json +6 -5
  57. package/src/accumulator/accumulator.ts +4 -4
  58. package/src/configure/rows-option-builder.ts +11 -1
  59. package/src/configure/zero-config.ts +1 -0
  60. package/src/data-card/event-handlers/record-card-click-handler.ts +1 -1
  61. package/src/data-grid/data-grid-accum-field.ts +3 -2
  62. package/src/data-grid/data-grid-body.ts +3 -1
  63. package/src/data-grid/data-grid-header.ts +22 -18
  64. package/src/data-grist.ts +250 -3
  65. package/src/data-list/event-handlers/record-partial-click-handler.ts +1 -1
  66. package/src/data-manipulator.ts +113 -22
  67. package/src/editors/ox-grist-editor-number.ts +3 -2
  68. package/src/editors/ox-grist-editor.ts +6 -2
  69. package/src/editors/ox-input-tree.ts +1 -1
  70. package/src/filters/filter-range-date.ts +16 -1
  71. package/src/filters/filters-form.ts +25 -2
  72. package/src/handlers/contextmenu-tree-mutation.ts +1 -19
  73. package/src/index.ts +0 -1
  74. package/src/renderers/ox-grist-renderer-tree.ts +1 -1
  75. package/src/types.ts +435 -5
  76. package/stories/accumulator.stories.ts +10 -5
  77. package/stories/dynamic-editable.stories.ts +10 -0
  78. package/stories/fixed-column.stories.ts +3 -3
  79. package/stories/grist-modes.stories.ts +23 -2
  80. package/themes/grist-theme.css +1 -1
  81. package/dist/src/data-grid/event-handlers/data-grid-body-focus-change-handler copy.d.ts +0 -7
  82. package/dist/src/data-grid/event-handlers/data-grid-body-focus-change-handler copy.js +0 -19
  83. package/dist/src/data-grid/event-handlers/data-grid-body-focus-change-handler copy.js.map +0 -1
  84. package/dist/src/handlers/contextmenu-tree.d.ts +0 -3
  85. package/dist/src/handlers/contextmenu-tree.js +0 -30
  86. package/dist/src/handlers/contextmenu-tree.js.map +0 -1
  87. package/dist/src/handlers/move-up copy.d.ts +0 -3
  88. package/dist/src/handlers/move-up copy.js +0 -26
  89. package/dist/src/handlers/move-up copy.js.map +0 -1
  90. package/src/value-generator/date-generator.ts +0 -35
  91. package/src/value-generator/hour-time-generator.ts +0 -43
  92. package/src/value-generator/index.ts +0 -1
  93. package/src/value-generator/minute-time-generator.ts +0 -43
  94. package/src/value-generator/month-date-generator.ts +0 -38
  95. package/src/value-generator/now-generator.ts +0 -10
  96. package/src/value-generator/registry.ts +0 -58
  97. package/src/value-generator/time-generator.ts +0 -33
  98. package/src/value-generator/today-generator.ts +0 -10
  99. package/src/value-generator/week-date-generator.ts +0 -40
  100. package/src/value-generator/year-date-generator.ts +0 -36
@@ -4,7 +4,7 @@ function dispatchEvent(field, event) {
4
4
  field.dispatchEvent(new CustomEvent(event, {
5
5
  bubbles: true,
6
6
  composed: true,
7
- detail: field
7
+ detail: field.record
8
8
  }));
9
9
  }
10
10
  /*
@@ -37,24 +37,6 @@ export const ContextMenuTreeMutation = function (columns, data, column, record,
37
37
  <mwc-icon slot="icon">playlist_add</mwc-icon>
38
38
  </ox-popup-menuitem>
39
39
 
40
- <ox-popup-menuitem
41
- label="move up"
42
- @click=${() => {
43
- dispatchEvent(field, 'move-up');
44
- }}
45
- >
46
- <mwc-icon slot="icon">arrow_upward</mwc-icon>
47
- </ox-popup-menuitem>
48
-
49
- <ox-popup-menuitem
50
- label="move down"
51
- @click=${() => {
52
- dispatchEvent(field, 'move-down');
53
- }}
54
- >
55
- <mwc-icon slot="icon">arrow_downward</mwc-icon>
56
- </ox-popup-menuitem>
57
-
58
40
  <div separator></div>
59
41
 
60
42
  <ox-popup-menuitem
@@ -1 +1 @@
1
- {"version":3,"file":"contextmenu-tree-mutation.js","sourceRoot":"","sources":["../../../src/handlers/contextmenu-tree-mutation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAA;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAK5C,SAAS,aAAa,CAAC,KAAoB,EAAE,KAAa;IACxD,KAAK,CAAC,aAAa,CACjB,IAAI,WAAW,CAAC,KAAK,EAAE;QACrB,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,KAAK;KACd,CAAC,CACH,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,UACrC,OAAuB,EACvB,IAAe,EACf,MAAoB,EACpB,MAAmB,EACnB,QAAgB,EAChB,KAAoB,EACpB,KAAY;IAEZ,MAAM,CAAC,GAAG,KAAqB,CAAA;IAC/B,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC;QACpC,OAAM;IACR,CAAC;IAED,CAAC,CAAC,cAAc,EAAE,CAAA;IAElB,WAAW,CAAC,IAAI,CAAC;QACf,QAAQ,EAAE,IAAI,CAAA;;;iBAGD,GAAG,EAAE;YACZ,aAAa,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAA;QAC1C,CAAC;;;;;;;iBAOQ,GAAG,EAAE;YACZ,aAAa,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAA;QACxC,CAAC;;;;;;;iBAOQ,GAAG,EAAE;YACZ,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;QACjC,CAAC;;;;;;;iBAOQ,GAAG,EAAE;YACZ,aAAa,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;QACnC,CAAC;;;;;;;;;iBASQ,GAAG,EAAE;YACZ,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;QACtC,CAAC;;;;;;;iBAOQ,GAAG,EAAE;YACZ,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;QACpC,CAAC;;;;KAIJ;QACD,GAAG,EAAE,CAAC,CAAC,KAAK;QACZ,IAAI,EAAE,CAAC,CAAC,KAAK;KACd,CAAC,CAAA;AACJ,CAAC,CAAA","sourcesContent":["import { html } from 'lit'\nimport { OxPopupMenu } from '@operato/popup'\n\nimport { DataGridField } from '../data-grid/data-grid-field'\nimport { ColumnConfig, GristData, GristRecord } from '../types'\n\nfunction dispatchEvent(field: DataGridField, event: string) {\n field.dispatchEvent(\n new CustomEvent(event, {\n bubbles: true,\n composed: true,\n detail: field\n })\n )\n}\n\n/*\n * handler들은 ox-grid-field 로부터 호출되는 것을 전제로 하며,\n * 전반적인 처리를 위해서, columns 및 data 정보를 포함해서 제공할 수 있어야 한다.\n */\nexport const ContextMenuTreeMutation = function (\n columns: ColumnConfig[],\n data: GristData,\n column: ColumnConfig,\n record: GristRecord,\n rowIndex: number,\n field: DataGridField,\n event: Event\n): void {\n const e = event as PointerEvent\n if (!('pageX' in e && 'pageY' in e)) {\n return\n }\n\n e.preventDefault()\n\n OxPopupMenu.open({\n template: html`\n <ox-popup-menuitem\n label=\"add sibling node\"\n @click=${() => {\n dispatchEvent(field, 'add-sibling-node')\n }}\n >\n <mwc-icon slot=\"icon\">add</mwc-icon>\n </ox-popup-menuitem>\n\n <ox-popup-menuitem\n label=\"add child node\"\n @click=${() => {\n dispatchEvent(field, 'add-child-node')\n }}\n >\n <mwc-icon slot=\"icon\">playlist_add</mwc-icon>\n </ox-popup-menuitem>\n\n <ox-popup-menuitem\n label=\"move up\"\n @click=${() => {\n dispatchEvent(field, 'move-up')\n }}\n >\n <mwc-icon slot=\"icon\">arrow_upward</mwc-icon>\n </ox-popup-menuitem>\n\n <ox-popup-menuitem\n label=\"move down\"\n @click=${() => {\n dispatchEvent(field, 'move-down')\n }}\n >\n <mwc-icon slot=\"icon\">arrow_downward</mwc-icon>\n </ox-popup-menuitem>\n\n <div separator></div>\n\n <ox-popup-menuitem\n label=\"collapse all\"\n @click=${() => {\n dispatchEvent(field, 'collapse-all')\n }}\n >\n <mwc-icon slot=\"icon\">unfold_less</mwc-icon>\n </ox-popup-menuitem>\n\n <ox-popup-menuitem\n label=\"expand all\"\n @click=${() => {\n dispatchEvent(field, 'expand-all')\n }}\n >\n <mwc-icon slot=\"icon\">unfold_more</mwc-icon>\n </ox-popup-menuitem>\n `,\n top: e.pageY,\n left: e.pageX\n })\n}\n"]}
1
+ {"version":3,"file":"contextmenu-tree-mutation.js","sourceRoot":"","sources":["../../../src/handlers/contextmenu-tree-mutation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAA;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAK5C,SAAS,aAAa,CAAC,KAAoB,EAAE,KAAa;IACxD,KAAK,CAAC,aAAa,CACjB,IAAI,WAAW,CAAC,KAAK,EAAE;QACrB,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAC,CACH,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,UACrC,OAAuB,EACvB,IAAe,EACf,MAAoB,EACpB,MAAmB,EACnB,QAAgB,EAChB,KAAoB,EACpB,KAAY;IAEZ,MAAM,CAAC,GAAG,KAAqB,CAAA;IAC/B,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC;QACpC,OAAM;IACR,CAAC;IAED,CAAC,CAAC,cAAc,EAAE,CAAA;IAElB,WAAW,CAAC,IAAI,CAAC;QACf,QAAQ,EAAE,IAAI,CAAA;;;iBAGD,GAAG,EAAE;YACZ,aAAa,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAA;QAC1C,CAAC;;;;;;;iBAOQ,GAAG,EAAE;YACZ,aAAa,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAA;QACxC,CAAC;;;;;;;;;iBASQ,GAAG,EAAE;YACZ,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;QACtC,CAAC;;;;;;;iBAOQ,GAAG,EAAE;YACZ,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;QACpC,CAAC;;;;KAIJ;QACD,GAAG,EAAE,CAAC,CAAC,KAAK;QACZ,IAAI,EAAE,CAAC,CAAC,KAAK;KACd,CAAC,CAAA;AACJ,CAAC,CAAA","sourcesContent":["import { html } from 'lit'\nimport { OxPopupMenu } from '@operato/popup'\n\nimport { DataGridField } from '../data-grid/data-grid-field'\nimport { ColumnConfig, GristData, GristRecord } from '../types'\n\nfunction dispatchEvent(field: DataGridField, event: string) {\n field.dispatchEvent(\n new CustomEvent(event, {\n bubbles: true,\n composed: true,\n detail: field.record\n })\n )\n}\n\n/*\n * handler들은 ox-grid-field 로부터 호출되는 것을 전제로 하며,\n * 전반적인 처리를 위해서, columns 및 data 정보를 포함해서 제공할 수 있어야 한다.\n */\nexport const ContextMenuTreeMutation = function (\n columns: ColumnConfig[],\n data: GristData,\n column: ColumnConfig,\n record: GristRecord,\n rowIndex: number,\n field: DataGridField,\n event: Event\n): void {\n const e = event as PointerEvent\n if (!('pageX' in e && 'pageY' in e)) {\n return\n }\n\n e.preventDefault()\n\n OxPopupMenu.open({\n template: html`\n <ox-popup-menuitem\n label=\"add sibling node\"\n @click=${() => {\n dispatchEvent(field, 'add-sibling-node')\n }}\n >\n <mwc-icon slot=\"icon\">add</mwc-icon>\n </ox-popup-menuitem>\n\n <ox-popup-menuitem\n label=\"add child node\"\n @click=${() => {\n dispatchEvent(field, 'add-child-node')\n }}\n >\n <mwc-icon slot=\"icon\">playlist_add</mwc-icon>\n </ox-popup-menuitem>\n\n <div separator></div>\n\n <ox-popup-menuitem\n label=\"collapse all\"\n @click=${() => {\n dispatchEvent(field, 'collapse-all')\n }}\n >\n <mwc-icon slot=\"icon\">unfold_less</mwc-icon>\n </ox-popup-menuitem>\n\n <ox-popup-menuitem\n label=\"expand all\"\n @click=${() => {\n dispatchEvent(field, 'expand-all')\n }}\n >\n <mwc-icon slot=\"icon\">unfold_more</mwc-icon>\n </ox-popup-menuitem>\n `,\n top: e.pageY,\n left: e.pageX\n })\n}\n"]}
@@ -10,5 +10,4 @@ export * from './gutters';
10
10
  export * from './filters';
11
11
  export * from './sorters/sorters-control';
12
12
  export * from './record-view';
13
- export * from './value-generator';
14
13
  export * from './utils/list-param';
package/dist/src/index.js CHANGED
@@ -10,6 +10,5 @@ export * from './gutters';
10
10
  export * from './filters';
11
11
  export * from './sorters/sorters-control';
12
12
  export * from './record-view';
13
- export * from './value-generator';
14
13
  export * from './utils/list-param';
15
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AAEvB,cAAc,yBAAyB,CAAA;AACvC,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAE7B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,2BAA2B,CAAA;AACzC,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AAEjC,cAAc,oBAAoB,CAAA","sourcesContent":["export * from './types'\n\nexport * from './configure/zero-config'\nexport * from './data-grist'\nexport * from './data-report'\n\nexport * from './editors'\nexport * from './renderers'\nexport * from './handlers'\nexport * from './formatters'\nexport * from './gutters'\nexport * from './filters'\nexport * from './sorters/sorters-control'\nexport * from './record-view'\nexport * from './value-generator'\n\nexport * from './utils/list-param'\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AAEvB,cAAc,yBAAyB,CAAA;AACvC,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAE7B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,2BAA2B,CAAA;AACzC,cAAc,eAAe,CAAA;AAE7B,cAAc,oBAAoB,CAAA","sourcesContent":["export * from './types'\n\nexport * from './configure/zero-config'\nexport * from './data-grist'\nexport * from './data-report'\n\nexport * from './editors'\nexport * from './renderers'\nexport * from './handlers'\nexport * from './formatters'\nexport * from './gutters'\nexport * from './filters'\nexport * from './sorters/sorters-control'\nexport * from './record-view'\n\nexport * from './utils/list-param'\n"]}
@@ -49,7 +49,7 @@ let OxGristRendererTree = class OxGristRendererTree extends OxGristRenderer {
49
49
  }
50
50
  onClickExpander(e) {
51
51
  e.stopPropagation();
52
- this.dispatchEvent(new CustomEvent(this.record.__expanded__ ? 'collapsed' : 'expanded', {
52
+ this.dispatchEvent(new CustomEvent(this.record.__expanded__ ? 'collapse-node' : 'expand-node', {
53
53
  bubbles: true,
54
54
  composed: true,
55
55
  detail: this.record
@@ -1 +1 @@
1
- {"version":3,"file":"ox-grist-renderer-tree.js","sourceRoot":"","sources":["../../../src/renderers/ox-grist-renderer-tree.ts"],"names":[],"mappings":"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","sourcesContent":["import { PropertyValues, css, html, nothing } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\n\nimport { OxGristRenderer } from './ox-grist-renderer'\n\n@customElement('ox-grist-tree-renderer')\nexport class OxGristRendererTree extends OxGristRenderer {\n static styles = css`\n :host {\n overflow: hidden;\n }\n\n div[wrap] {\n position: relative;\n\n display: flex;\n align-items: center;\n gap: 6px;\n\n width: 100%;\n padding-left: calc(var(--tree-depth, 0) * 18px);\n }\n\n span[expander] {\n display: inline-block;\n vertical-align: middle;\n width: 12px;\n height: 20px;\n cursor: pointer;\n position: relative;\n }\n\n span[expander][collapsed]::before {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-25%, -50%) rotate(-90deg);\n content: ' ';\n border: 5px solid transparent;\n border-top: 5px solid var(--primary-color, #1890ff);\n }\n\n span[expander][expanded]::before {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -25%);\n content: ' ';\n border: 5px solid transparent;\n border-top: 5px solid var(--primary-color, #1890ff);\n }\n\n span[checkbox] {\n display: inline-block;\n vertical-align: middle;\n width: 12px;\n height: 20px;\n cursor: pointer;\n position: relative;\n }\n\n span[checkbox]::before {\n cursor: pointer;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n content: ' ';\n display: block;\n width: 10px;\n height: 10px;\n border: 1px solid var(--primary-color, #1890ff);\n border-radius: 2px;\n }\n\n span[label] {\n flex: 1;\n }\n\n span[checkbox][checked='checked']::before {\n background-color: var(--primary-color, #1890ff);\n border-color: var(--primary-color, #1890ff);\n }\n\n span[checkbox][checked='checked']::after {\n position: absolute;\n content: ' ';\n display: block;\n top: 50%;\n left: 50%;\n width: 3px;\n height: 7px;\n border: 2px solid #fff;\n border-top: none;\n border-left: none;\n -webkit-transform: translate(-50%, -50%) rotate(45deg);\n -ms-transform: translate(-50%, -50%) rotate(45deg);\n transform: translate(-50%, -50%) rotate(45deg);\n }\n\n span[checkbox][checked='half-checked']::before {\n background-color: var(--primary-color, #1890ff);\n border-color: var(--primary-color, #1890ff);\n }\n\n span[checkbox][checked='half-checked']::after {\n position: absolute;\n content: ' ';\n display: block;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 10px;\n height: 2px;\n background-color: #fff;\n }\n `\n\n @state() private checked?: 'checked' | 'half-checked' | 'unchecked'\n @state() private expanded?: boolean = false\n\n get rendererTemplate() {\n var { selectable = false } = this.column.record.options || {}\n var { __children__ } = this.record\n\n const expandable = __children__ && __children__.length > 0\n\n return html`\n <div wrap>\n ${expandable\n ? html`\n <span\n expander\n @click=${this.onClickExpander.bind(this)}\n ?expanded=${this.expanded}\n ?collapsed=${!this.expanded}\n ></span>\n `\n : html`<span expander></span>`}\n ${selectable\n ? html` <span checkbox @click=${this.onClickCheckbox.bind(this)} checked=${ifDefined(this.checked)}></span>`\n : nothing}\n\n <span label>${this.value}</span>\n </div>\n `\n }\n\n updated(changes: PropertyValues<this>) {\n var { __depth__, __check_in_tree__, __expanded__ } = this.record\n this.checked = __check_in_tree__\n this.expanded = __expanded__\n\n this.style.setProperty('--tree-depth', String(__depth__))\n }\n\n onClickCheckbox(e: MouseEvent) {\n e.stopPropagation()\n\n this.dispatchEvent(\n new CustomEvent('check-in-tree', {\n bubbles: true,\n composed: true,\n detail: this.record\n })\n )\n\n this.requestUpdate()\n }\n\n onClickExpander(e: MouseEvent) {\n e.stopPropagation()\n\n this.dispatchEvent(\n new CustomEvent(this.record.__expanded__ ? 'collapsed' : 'expanded', {\n bubbles: true,\n composed: true,\n detail: this.record\n })\n )\n\n this.requestUpdate()\n }\n\n get editableOnClick() {\n return false\n }\n}\n"]}
1
+ {"version":3,"file":"ox-grist-renderer-tree.js","sourceRoot":"","sources":["../../../src/renderers/ox-grist-renderer-tree.ts"],"names":[],"mappings":"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","sourcesContent":["import { PropertyValues, css, html, nothing } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\n\nimport { OxGristRenderer } from './ox-grist-renderer'\n\n@customElement('ox-grist-tree-renderer')\nexport class OxGristRendererTree extends OxGristRenderer {\n static styles = css`\n :host {\n overflow: hidden;\n }\n\n div[wrap] {\n position: relative;\n\n display: flex;\n align-items: center;\n gap: 6px;\n\n width: 100%;\n padding-left: calc(var(--tree-depth, 0) * 18px);\n }\n\n span[expander] {\n display: inline-block;\n vertical-align: middle;\n width: 12px;\n height: 20px;\n cursor: pointer;\n position: relative;\n }\n\n span[expander][collapsed]::before {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-25%, -50%) rotate(-90deg);\n content: ' ';\n border: 5px solid transparent;\n border-top: 5px solid var(--primary-color, #1890ff);\n }\n\n span[expander][expanded]::before {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -25%);\n content: ' ';\n border: 5px solid transparent;\n border-top: 5px solid var(--primary-color, #1890ff);\n }\n\n span[checkbox] {\n display: inline-block;\n vertical-align: middle;\n width: 12px;\n height: 20px;\n cursor: pointer;\n position: relative;\n }\n\n span[checkbox]::before {\n cursor: pointer;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n content: ' ';\n display: block;\n width: 10px;\n height: 10px;\n border: 1px solid var(--primary-color, #1890ff);\n border-radius: 2px;\n }\n\n span[label] {\n flex: 1;\n }\n\n span[checkbox][checked='checked']::before {\n background-color: var(--primary-color, #1890ff);\n border-color: var(--primary-color, #1890ff);\n }\n\n span[checkbox][checked='checked']::after {\n position: absolute;\n content: ' ';\n display: block;\n top: 50%;\n left: 50%;\n width: 3px;\n height: 7px;\n border: 2px solid #fff;\n border-top: none;\n border-left: none;\n -webkit-transform: translate(-50%, -50%) rotate(45deg);\n -ms-transform: translate(-50%, -50%) rotate(45deg);\n transform: translate(-50%, -50%) rotate(45deg);\n }\n\n span[checkbox][checked='half-checked']::before {\n background-color: var(--primary-color, #1890ff);\n border-color: var(--primary-color, #1890ff);\n }\n\n span[checkbox][checked='half-checked']::after {\n position: absolute;\n content: ' ';\n display: block;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 10px;\n height: 2px;\n background-color: #fff;\n }\n `\n\n @state() private checked?: 'checked' | 'half-checked' | 'unchecked'\n @state() private expanded?: boolean = false\n\n get rendererTemplate() {\n var { selectable = false } = this.column.record.options || {}\n var { __children__ } = this.record\n\n const expandable = __children__ && __children__.length > 0\n\n return html`\n <div wrap>\n ${expandable\n ? html`\n <span\n expander\n @click=${this.onClickExpander.bind(this)}\n ?expanded=${this.expanded}\n ?collapsed=${!this.expanded}\n ></span>\n `\n : html`<span expander></span>`}\n ${selectable\n ? html` <span checkbox @click=${this.onClickCheckbox.bind(this)} checked=${ifDefined(this.checked)}></span>`\n : nothing}\n\n <span label>${this.value}</span>\n </div>\n `\n }\n\n updated(changes: PropertyValues<this>) {\n var { __depth__, __check_in_tree__, __expanded__ } = this.record\n this.checked = __check_in_tree__\n this.expanded = __expanded__\n\n this.style.setProperty('--tree-depth', String(__depth__))\n }\n\n onClickCheckbox(e: MouseEvent) {\n e.stopPropagation()\n\n this.dispatchEvent(\n new CustomEvent('check-in-tree', {\n bubbles: true,\n composed: true,\n detail: this.record\n })\n )\n\n this.requestUpdate()\n }\n\n onClickExpander(e: MouseEvent) {\n e.stopPropagation()\n\n this.dispatchEvent(\n new CustomEvent(this.record.__expanded__ ? 'collapse-node' : 'expand-node', {\n bubbles: true,\n composed: true,\n detail: this.record\n })\n )\n\n this.requestUpdate()\n }\n\n get editableOnClick() {\n return false\n }\n}\n"]}