@operato/data-grist 2.0.0-alpha.62 → 2.0.0-alpha.68

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 (118) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/demo/data-grist-test.html +25 -14
  3. package/demo/index.html +25 -14
  4. package/demo/report-test.html +13 -2
  5. package/dist/src/data-card/data-card-gutter-menu.d.ts +1 -1
  6. package/dist/src/data-card/data-card-gutter-menu.js +5 -5
  7. package/dist/src/data-card/data-card-gutter-menu.js.map +1 -1
  8. package/dist/src/data-card/data-card.d.ts +1 -1
  9. package/dist/src/data-card/data-card.js +3 -3
  10. package/dist/src/data-card/data-card.js.map +1 -1
  11. package/dist/src/data-card/record-card.d.ts +1 -1
  12. package/dist/src/data-card/record-card.js +26 -26
  13. package/dist/src/data-card/record-card.js.map +1 -1
  14. package/dist/src/data-grid/data-grid-accum-field.js +5 -1
  15. package/dist/src/data-grid/data-grid-accum-field.js.map +1 -1
  16. package/dist/src/data-grid/data-grid-footer.d.ts +1 -1
  17. package/dist/src/data-grid/data-grid-footer.js +17 -9
  18. package/dist/src/data-grid/data-grid-footer.js.map +1 -1
  19. package/dist/src/data-grid/data-grid-header.d.ts +1 -1
  20. package/dist/src/data-grid/data-grid-header.js +13 -15
  21. package/dist/src/data-grid/data-grid-header.js.map +1 -1
  22. package/dist/src/data-grist.js +21 -21
  23. package/dist/src/data-grist.js.map +1 -1
  24. package/dist/src/data-list/data-list.d.ts +1 -1
  25. package/dist/src/data-list/data-list.js +3 -3
  26. package/dist/src/data-list/data-list.js.map +1 -1
  27. package/dist/src/data-list/record-partial.d.ts +1 -1
  28. package/dist/src/data-list/record-partial.js +19 -19
  29. package/dist/src/data-list/record-partial.js.map +1 -1
  30. package/dist/src/empty-note.d.ts +1 -1
  31. package/dist/src/empty-note.js +3 -3
  32. package/dist/src/empty-note.js.map +1 -1
  33. package/dist/src/gutters/gutter-button.d.ts +1 -1
  34. package/dist/src/gutters/gutter-button.js +3 -3
  35. package/dist/src/gutters/gutter-button.js.map +1 -1
  36. package/dist/src/gutters/gutter-dirty.d.ts +1 -1
  37. package/dist/src/gutters/gutter-dirty.js +5 -5
  38. package/dist/src/gutters/gutter-dirty.js.map +1 -1
  39. package/dist/src/handlers/contextmenu-tree-mutation.js +4 -4
  40. package/dist/src/handlers/contextmenu-tree-mutation.js.map +1 -1
  41. package/dist/src/record-view/record-creator.d.ts +1 -1
  42. package/dist/src/record-view/record-creator.js +1 -1
  43. package/dist/src/record-view/record-creator.js.map +1 -1
  44. package/dist/src/record-view/record-view-body.d.ts +1 -1
  45. package/dist/src/record-view/record-view-body.js +4 -4
  46. package/dist/src/record-view/record-view-body.js.map +1 -1
  47. package/dist/src/record-view/record-view.d.ts +1 -1
  48. package/dist/src/record-view/record-view.js +5 -5
  49. package/dist/src/record-view/record-view.js.map +1 -1
  50. package/dist/src/sorters/sorters-control.js +3 -3
  51. package/dist/src/sorters/sorters-control.js.map +1 -1
  52. package/dist/stories/accumulator.stories.d.ts +1 -1
  53. package/dist/stories/accumulator.stories.js +22 -10
  54. package/dist/stories/accumulator.stories.js.map +1 -1
  55. package/dist/stories/barcode-input-filter.stories.d.ts +1 -1
  56. package/dist/stories/barcode-input-filter.stories.js +80 -72
  57. package/dist/stories/barcode-input-filter.stories.js.map +1 -1
  58. package/dist/stories/default-filters.stories.d.ts +1 -1
  59. package/dist/stories/default-filters.stories.js +80 -72
  60. package/dist/stories/default-filters.stories.js.map +1 -1
  61. package/dist/stories/dynamic-editable.stories.d.ts +1 -1
  62. package/dist/stories/dynamic-editable.stories.js +21 -9
  63. package/dist/stories/dynamic-editable.stories.js.map +1 -1
  64. package/dist/stories/empty-sorters.stories.d.ts +1 -1
  65. package/dist/stories/empty-sorters.stories.js +80 -71
  66. package/dist/stories/empty-sorters.stories.js.map +1 -1
  67. package/dist/stories/explicit-fetch.stories.d.ts +1 -1
  68. package/dist/stories/explicit-fetch.stories.js +81 -72
  69. package/dist/stories/explicit-fetch.stories.js.map +1 -1
  70. package/dist/stories/fixed-column.stories.d.ts +1 -1
  71. package/dist/stories/fixed-column.stories.js +122 -113
  72. package/dist/stories/fixed-column.stories.js.map +1 -1
  73. package/dist/stories/grist-modes.stories.d.ts +1 -1
  74. package/dist/stories/grist-modes.stories.js +132 -123
  75. package/dist/stories/grist-modes.stories.js.map +1 -1
  76. package/dist/stories/group-header.stories.d.ts +1 -1
  77. package/dist/stories/group-header.stories.js +122 -113
  78. package/dist/stories/group-header.stories.js.map +1 -1
  79. package/dist/stories/textarea.stories.d.ts +1 -1
  80. package/dist/stories/textarea.stories.js +113 -104
  81. package/dist/stories/textarea.stories.js.map +1 -1
  82. package/dist/stories/tree-column-with-checkbox.stories.d.ts +1 -1
  83. package/dist/stories/tree-column-with-checkbox.stories.js +126 -117
  84. package/dist/stories/tree-column-with-checkbox.stories.js.map +1 -1
  85. package/dist/stories/tree-column.stories.d.ts +1 -1
  86. package/dist/stories/tree-column.stories.js +126 -117
  87. package/dist/stories/tree-column.stories.js.map +1 -1
  88. package/dist/tsconfig.tsbuildinfo +1 -1
  89. package/package.json +7 -7
  90. package/src/data-card/data-card-gutter-menu.ts +5 -5
  91. package/src/data-card/data-card.ts +3 -3
  92. package/src/data-card/record-card.ts +30 -32
  93. package/src/data-grid/data-grid-accum-field.ts +5 -1
  94. package/src/data-grid/data-grid-footer.ts +18 -11
  95. package/src/data-grid/data-grid-header.ts +13 -15
  96. package/src/data-grist.ts +23 -23
  97. package/src/data-list/data-list.ts +3 -3
  98. package/src/data-list/record-partial.ts +21 -23
  99. package/src/empty-note.ts +3 -3
  100. package/src/gutters/gutter-button.ts +3 -3
  101. package/src/gutters/gutter-dirty.ts +5 -5
  102. package/src/handlers/contextmenu-tree-mutation.ts +4 -4
  103. package/src/record-view/record-creator.ts +1 -1
  104. package/src/record-view/record-view-body.ts +4 -4
  105. package/src/record-view/record-view.ts +5 -5
  106. package/src/sorters/sorters-control.ts +3 -3
  107. package/stories/accumulator.stories.ts +22 -10
  108. package/stories/barcode-input-filter.stories.ts +91 -82
  109. package/stories/default-filters.stories.ts +91 -82
  110. package/stories/dynamic-editable.stories.ts +21 -9
  111. package/stories/empty-sorters.stories.ts +92 -82
  112. package/stories/explicit-fetch.stories.ts +93 -83
  113. package/stories/fixed-column.stories.ts +134 -124
  114. package/stories/grist-modes.stories.ts +144 -139
  115. package/stories/group-header.stories.ts +134 -124
  116. package/stories/textarea.stories.ts +115 -110
  117. package/stories/tree-column-with-checkbox.stories.ts +134 -124
  118. package/stories/tree-column.stories.ts +134 -124
@@ -2,7 +2,7 @@ import '../src/index.js'
2
2
  import '../src/filters/filters-form.js'
3
3
  import '../src/sorters/sorters-control.js'
4
4
  import '@operato/popup/ox-popup-list.js'
5
- import '@material/mwc-icon'
5
+ import '@material/web/icon/icon.js'
6
6
 
7
7
  import { html, TemplateResult } from 'lit'
8
8
 
@@ -102,95 +102,105 @@ interface Story<T> {
102
102
 
103
103
  interface ArgTypes {}
104
104
 
105
- const Template: Story<ArgTypes> = ({}: ArgTypes) => html` <link
106
- href="https://fonts.googleapis.com/css?family=Material+Icons&display=block"
107
- rel="stylesheet"
108
- />
109
- <link href="/themes/app-theme.css" rel="stylesheet" />
110
- <link href="/themes/oops-theme.css" rel="stylesheet" />
111
- <link href="/themes/grist-theme.css" rel="stylesheet" />
112
-
113
- <style>
114
- [slot='headroom'] {
115
- display: flex;
116
- flex-direction: row;
117
- align-items: center;
118
- padding: var(--padding-default) var(--padding-wide);
119
- background-color: var(--theme-white-color);
120
- box-shadow: var(--box-shadow);
121
-
122
- --mdc-icon-size: 24px;
123
- }
124
- #sorters mwc-icon,
125
- #modes mwc-icon {
126
- --mdc-icon-size: 18px;
127
- }
128
- #sorters {
129
- margin-left: auto;
130
- margin-right: var(--margin-default);
131
- padding-left: var(--padding-narrow);
132
- border-bottom: var(--border-dark-color);
133
- position: relative;
134
- color: var(--secondary-color);
135
- font-size: var(--fontsize-default);
136
- user-select: none;
137
- }
138
-
139
- #sorters > * {
140
- padding: var(--padding-narrow);
141
- vertical-align: middle;
142
- }
143
-
144
- #filters {
145
- display: flex;
146
- justify-content: center;
147
- align-items: center;
148
- }
105
+ const Template: Story<ArgTypes> = ({}: ArgTypes) =>
106
+ html` <link
107
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1"
108
+ rel="stylesheet"
109
+ />
110
+ <link
111
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,100..700,0..1"
112
+ rel="stylesheet"
113
+ />
114
+ <link
115
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Sharp:opsz,wght,FILL@20..48,100..700,0..1"
116
+ rel="stylesheet"
117
+ />
118
+
119
+ <link href="/themes/app-theme.css" rel="stylesheet" />
120
+ <link href="/themes/oops-theme.css" rel="stylesheet" />
121
+ <link href="/themes/grist-theme.css" rel="stylesheet" />
122
+
123
+ <style>
124
+ [slot='headroom'] {
125
+ display: flex;
126
+ flex-direction: row;
127
+ align-items: center;
128
+ padding: var(--padding-default) var(--padding-wide);
129
+ background-color: var(--theme-white-color);
130
+ box-shadow: var(--box-shadow);
131
+
132
+ --md-icon-size: 24px;
133
+ }
134
+ #sorters md-icon,
135
+ #modes md-icon {
136
+ --md-icon-size: 18px;
137
+ }
138
+ #sorters {
139
+ margin-left: auto;
140
+ margin-right: var(--margin-default);
141
+ padding-left: var(--padding-narrow);
142
+ border-bottom: var(--border-dark-color);
143
+ position: relative;
144
+ color: var(--secondary-color);
145
+ font-size: var(--fontsize-default);
146
+ user-select: none;
147
+ }
149
148
 
150
- #filters * {
151
- margin-right: var(--margin-default);
152
- }
149
+ #sorters > * {
150
+ padding: var(--padding-narrow);
151
+ vertical-align: middle;
152
+ }
153
153
 
154
- @media only screen and (max-width: 460px) {
155
154
  #filters {
156
- flex-direction: column;
155
+ display: flex;
156
+ justify-content: center;
157
+ align-items: center;
157
158
  }
158
159
 
159
- #modes {
160
- display: none;
160
+ #filters * {
161
+ margin-right: var(--margin-default);
161
162
  }
162
- }
163
- </style>
164
-
165
- <ox-grist
166
- .config=${config}
167
- mode="GRID"
168
- .fetchHandler=${fetchHandler}
169
- @filters-change=${(e: Event) => console.log('filters', (e.target as any).filters)}
170
- >
171
- <div slot="headroom">
172
- <div id="filters">
173
- <ox-filters-form></ox-filters-form>
174
- </div>
175
163
 
176
- <div id="sorters">
177
- Sort
178
- <mwc-icon
179
- @click=${(e: Event) => {
180
- const target = e.currentTarget as HTMLElement
181
- ;(target.closest('#sorters')!.querySelector('#sorter-control') as any).open({
182
- right: 0,
183
- top: target.offsetTop + target.offsetHeight
184
- })
185
- }}
186
- >expand_more</mwc-icon
187
- >
188
- <ox-popup id="sorter-control">
189
- <ox-sorters-control> </ox-sorters-control>
190
- </ox-popup>
164
+ @media only screen and (max-width: 460px) {
165
+ #filters {
166
+ flex-direction: column;
167
+ }
168
+
169
+ #modes {
170
+ display: none;
171
+ }
172
+ }
173
+ </style>
174
+
175
+ <ox-grist
176
+ .config=${config}
177
+ mode="GRID"
178
+ .fetchHandler=${fetchHandler}
179
+ @filters-change=${(e: Event) => console.log('filters', (e.target as any).filters)}
180
+ >
181
+ <div slot="headroom">
182
+ <div id="filters">
183
+ <ox-filters-form></ox-filters-form>
184
+ </div>
185
+
186
+ <div id="sorters">
187
+ Sort
188
+ <md-icon
189
+ @click=${(e: Event) => {
190
+ const target = e.currentTarget as HTMLElement
191
+ ;(target.closest('#sorters')!.querySelector('#sorter-control') as any).open({
192
+ right: 0,
193
+ top: target.offsetTop + target.offsetHeight
194
+ })
195
+ }}
196
+ >expand_more</md-icon
197
+ >
198
+ <ox-popup id="sorter-control">
199
+ <ox-sorters-control> </ox-sorters-control>
200
+ </ox-popup>
201
+ </div>
191
202
  </div>
192
- </div>
193
- </ox-grist>`
203
+ </ox-grist>`
194
204
 
195
205
  export const Regular = Template.bind({})
196
206
  Regular.args = {}
@@ -2,7 +2,7 @@ import '../src/index.js'
2
2
  import '../src/filters/filters-form.js'
3
3
  import '../src/sorters/sorters-control.js'
4
4
  import '@operato/popup/ox-popup-list.js'
5
- import '@material/mwc-icon'
5
+ import '@material/web/icon/icon.js'
6
6
 
7
7
  import { html, TemplateResult } from 'lit'
8
8
 
@@ -107,96 +107,106 @@ interface ArgTypes {
107
107
  explicitFetch: boolean
108
108
  }
109
109
 
110
- const Template: Story<ArgTypes> = ({ explicitFetch = false }: ArgTypes) => html` <link
111
- href="https://fonts.googleapis.com/css?family=Material+Icons&display=block"
112
- rel="stylesheet"
113
- />
114
- <link href="/themes/app-theme.css" rel="stylesheet" />
115
- <link href="/themes/oops-theme.css" rel="stylesheet" />
116
- <link href="/themes/grist-theme.css" rel="stylesheet" />
117
-
118
- <style>
119
- [slot='headroom'] {
120
- display: flex;
121
- flex-direction: row;
122
- align-items: center;
123
- padding: var(--padding-default) var(--padding-wide);
124
- background-color: var(--theme-white-color);
125
- box-shadow: var(--box-shadow);
126
-
127
- --mdc-icon-size: 24px;
128
- }
129
- #sorters mwc-icon,
130
- #modes mwc-icon {
131
- --mdc-icon-size: 18px;
132
- }
133
- #sorters {
134
- margin-left: auto;
135
- margin-right: var(--margin-default);
136
- padding-left: var(--padding-narrow);
137
- border-bottom: var(--border-dark-color);
138
- position: relative;
139
- color: var(--secondary-color);
140
- font-size: var(--fontsize-default);
141
- user-select: none;
142
- }
143
-
144
- #sorters > * {
145
- padding: var(--padding-narrow);
146
- vertical-align: middle;
147
- }
148
-
149
- #filters {
150
- display: flex;
151
- justify-content: center;
152
- align-items: center;
153
- }
110
+ const Template: Story<ArgTypes> = ({ explicitFetch = false }: ArgTypes) =>
111
+ html` <link
112
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1"
113
+ rel="stylesheet"
114
+ />
115
+ <link
116
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,100..700,0..1"
117
+ rel="stylesheet"
118
+ />
119
+ <link
120
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Sharp:opsz,wght,FILL@20..48,100..700,0..1"
121
+ rel="stylesheet"
122
+ />
123
+
124
+ <link href="/themes/app-theme.css" rel="stylesheet" />
125
+ <link href="/themes/oops-theme.css" rel="stylesheet" />
126
+ <link href="/themes/grist-theme.css" rel="stylesheet" />
127
+
128
+ <style>
129
+ [slot='headroom'] {
130
+ display: flex;
131
+ flex-direction: row;
132
+ align-items: center;
133
+ padding: var(--padding-default) var(--padding-wide);
134
+ background-color: var(--theme-white-color);
135
+ box-shadow: var(--box-shadow);
136
+
137
+ --md-icon-size: 24px;
138
+ }
139
+ #sorters md-icon,
140
+ #modes md-icon {
141
+ --md-icon-size: 18px;
142
+ }
143
+ #sorters {
144
+ margin-left: auto;
145
+ margin-right: var(--margin-default);
146
+ padding-left: var(--padding-narrow);
147
+ border-bottom: var(--border-dark-color);
148
+ position: relative;
149
+ color: var(--secondary-color);
150
+ font-size: var(--fontsize-default);
151
+ user-select: none;
152
+ }
154
153
 
155
- #filters * {
156
- margin-right: var(--margin-default);
157
- }
154
+ #sorters > * {
155
+ padding: var(--padding-narrow);
156
+ vertical-align: middle;
157
+ }
158
158
 
159
- @media only screen and (max-width: 460px) {
160
159
  #filters {
161
- flex-direction: column;
160
+ display: flex;
161
+ justify-content: center;
162
+ align-items: center;
162
163
  }
163
164
 
164
- #modes {
165
- display: none;
165
+ #filters * {
166
+ margin-right: var(--margin-default);
166
167
  }
167
- }
168
- </style>
169
-
170
- <ox-grist
171
- .config=${config}
172
- mode="GRID"
173
- ?explicit-fetch=${explicitFetch}
174
- .fetchHandler=${fetchHandler}
175
- @filters-change=${(e: Event) => console.log('filters', (e.target as any).filters)}
176
- >
177
- <div slot="headroom">
178
- <div id="filters">
179
- <ox-filters-form></ox-filters-form>
180
- </div>
181
168
 
182
- <div id="sorters">
183
- Sort
184
- <mwc-icon
185
- @click=${(e: Event) => {
186
- const target = e.currentTarget as HTMLElement
187
- ;(target.closest('#sorters')!.querySelector('#sorter-control') as any).open({
188
- right: 0,
189
- top: target.offsetTop + target.offsetHeight
190
- })
191
- }}
192
- >expand_more</mwc-icon
193
- >
194
- <ox-popup id="sorter-control">
195
- <ox-sorters-control> </ox-sorters-control>
196
- </ox-popup>
169
+ @media only screen and (max-width: 460px) {
170
+ #filters {
171
+ flex-direction: column;
172
+ }
173
+
174
+ #modes {
175
+ display: none;
176
+ }
177
+ }
178
+ </style>
179
+
180
+ <ox-grist
181
+ .config=${config}
182
+ mode="GRID"
183
+ ?explicit-fetch=${explicitFetch}
184
+ .fetchHandler=${fetchHandler}
185
+ @filters-change=${(e: Event) => console.log('filters', (e.target as any).filters)}
186
+ >
187
+ <div slot="headroom">
188
+ <div id="filters">
189
+ <ox-filters-form></ox-filters-form>
190
+ </div>
191
+
192
+ <div id="sorters">
193
+ Sort
194
+ <md-icon
195
+ @click=${(e: Event) => {
196
+ const target = e.currentTarget as HTMLElement
197
+ ;(target.closest('#sorters')!.querySelector('#sorter-control') as any).open({
198
+ right: 0,
199
+ top: target.offsetTop + target.offsetHeight
200
+ })
201
+ }}
202
+ >expand_more</md-icon
203
+ >
204
+ <ox-popup id="sorter-control">
205
+ <ox-sorters-control> </ox-sorters-control>
206
+ </ox-popup>
207
+ </div>
197
208
  </div>
198
- </div>
199
- </ox-grist>`
209
+ </ox-grist>`
200
210
 
201
211
  export const Regular = Template.bind({})
202
212
  Regular.args = {