@operato/data-grist 0.2.39 → 0.2.43

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 (55) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/custom-elements.json +186 -14
  3. package/demo/index.html +10 -2
  4. package/dist/src/data-card/data-card-field.d.ts +2 -2
  5. package/dist/src/data-card/data-card-field.js +2 -2
  6. package/dist/src/data-card/data-card-field.js.map +1 -1
  7. package/dist/src/data-grid/data-grid-header.d.ts +1 -1
  8. package/dist/src/data-grid/data-grid-header.js +10 -6
  9. package/dist/src/data-grid/data-grid-header.js.map +1 -1
  10. package/dist/src/data-grist.d.ts +2 -2
  11. package/dist/src/data-grist.js +6 -4
  12. package/dist/src/data-grist.js.map +1 -1
  13. package/dist/src/filters/filter-checkbox.d.ts +2 -0
  14. package/dist/src/filters/filter-checkbox.js +30 -0
  15. package/dist/src/filters/filter-checkbox.js.map +1 -0
  16. package/dist/src/filters/filter-input.d.ts +2 -0
  17. package/dist/src/filters/filter-input.js +7 -0
  18. package/dist/src/filters/filter-input.js.map +1 -0
  19. package/dist/src/filters/filter-range-date.d.ts +2 -0
  20. package/dist/src/filters/filter-range-date.js +10 -0
  21. package/dist/src/filters/filter-range-date.js.map +1 -0
  22. package/dist/src/filters/filter-range-number.d.ts +2 -0
  23. package/dist/src/filters/filter-range-number.js +7 -0
  24. package/dist/src/filters/filter-range-number.js.map +1 -0
  25. package/dist/src/filters/filter-select.d.ts +2 -0
  26. package/dist/src/filters/filter-select.js +9 -0
  27. package/dist/src/filters/filter-select.js.map +1 -0
  28. package/dist/src/filters/filter-styles.d.ts +1 -0
  29. package/dist/src/filters/filter-styles.js +10 -0
  30. package/dist/src/filters/filter-styles.js.map +1 -0
  31. package/dist/src/filters/index.d.ts +5 -1
  32. package/dist/src/filters/index.js +5 -1
  33. package/dist/src/filters/index.js.map +1 -1
  34. package/dist/src/filters/registry.js +26 -23
  35. package/dist/src/filters/registry.js.map +1 -1
  36. package/dist/src/types.d.ts +4 -4
  37. package/dist/src/types.js.map +1 -1
  38. package/dist/tsconfig.tsbuildinfo +1 -1
  39. package/package.json +7 -7
  40. package/src/data-card/data-card-field.ts +5 -4
  41. package/src/data-grid/data-grid-header.ts +13 -7
  42. package/src/data-grist.ts +7 -5
  43. package/src/filters/filter-checkbox.ts +35 -0
  44. package/src/filters/filter-input.ts +10 -0
  45. package/src/filters/filter-range-date.ts +13 -0
  46. package/src/filters/filter-range-number.ts +10 -0
  47. package/src/filters/filter-select.ts +11 -0
  48. package/src/filters/filter-styles.ts +10 -0
  49. package/src/filters/index.ts +5 -1
  50. package/src/filters/registry.ts +26 -23
  51. package/src/types.ts +4 -5
  52. package/dist/src/filters/list-select.d.ts +0 -3
  53. package/dist/src/filters/list-select.js +0 -12
  54. package/dist/src/filters/list-select.js.map +0 -1
  55. package/src/filters/list-select.ts +0 -14
@@ -1,30 +1,33 @@
1
1
  import { FilterSelectRenderer } from '../types'
2
- import { ListSelect } from './list-select'
2
+ import { FilterCheckbox } from './filter-checkbox'
3
+ import { FilterInput } from './filter-input'
4
+ import { FilterRangeDate } from './filter-range-date'
5
+ import { FilterRangeNumber } from './filter-range-number'
6
+ import { FilterSelect } from './filter-select'
3
7
 
4
8
  var RENDERERS: {
5
9
  [name: string]: FilterSelectRenderer
6
10
  } = {
7
- string: ListSelect,
8
- text: ListSelect,
9
- email: ListSelect,
10
- tel: ListSelect,
11
- password: ListSelect,
12
- integer: ListSelect,
13
- float: ListSelect,
14
- number: ListSelect,
15
- select: ListSelect,
16
- boolean: ListSelect,
17
- checkbox: ListSelect,
18
- month: ListSelect,
19
- week: ListSelect,
20
- date: ListSelect,
21
- time: ListSelect,
22
- datetime: ListSelect,
23
- color: ListSelect,
24
- progress: ListSelect,
25
- link: ListSelect,
26
- image: ListSelect,
27
- json5: ListSelect
11
+ string: FilterInput,
12
+ text: FilterInput,
13
+ email: FilterInput,
14
+ tel: FilterInput,
15
+ integer: FilterRangeNumber,
16
+ float: FilterRangeNumber,
17
+ number: FilterRangeNumber,
18
+ select: FilterSelect,
19
+ boolean: FilterCheckbox,
20
+ checkbox: FilterCheckbox,
21
+ month: FilterRangeDate,
22
+ week: FilterRangeDate,
23
+ date: FilterRangeDate,
24
+ time: FilterRangeDate,
25
+ datetime: FilterRangeDate,
26
+ color: FilterInput,
27
+ progress: FilterRangeNumber,
28
+ link: FilterInput,
29
+ image: FilterInput,
30
+ json5: FilterInput
28
31
  }
29
32
 
30
33
  export function registerRenderer(type: string, renderer: FilterSelectRenderer) {
@@ -44,5 +47,5 @@ export function getRenderer(type: string | FilterSelectRenderer): FilterSelectRe
44
47
  return type
45
48
  }
46
49
 
47
- return RENDERERS[type || 'text'] || ListSelect
50
+ return RENDERERS[type || 'text'] || FilterSelect
48
51
  }
package/src/types.ts CHANGED
@@ -1,13 +1,12 @@
1
- import { TemplateResult } from 'lit-html'
2
-
3
1
  import { DataCardField } from './data-card/data-card-field'
4
2
  import { DataCardGutter } from './data-card/data-card-gutter'
5
- import { RecordCard } from './data-card/record-card'
6
3
  import { DataGridField } from './data-grid/data-grid-field'
7
4
  import { DataListField } from './data-list/data-list-field'
8
5
  import { DataListGutter } from './data-list/data-list-gutter'
9
- import { RecordPartial } from './data-list/record-partial'
10
6
  import { DataReportField } from './data-report/data-report-field'
7
+ import { RecordCard } from './data-card/record-card'
8
+ import { RecordPartial } from './data-list/record-partial'
9
+ import { TemplateResult } from 'lit-html'
11
10
 
12
11
  export type GristConfig = {
13
12
  columns: ColumnConfig[]
@@ -19,7 +18,7 @@ export type GristConfig = {
19
18
 
20
19
  export type SorterConfig = { name: string; desc?: boolean }
21
20
  export type SortersConfig = SorterConfig[]
22
- export type FilterConfig = { type: string; options?: { [key: string]: any } }
21
+ export type FilterConfig = { type: string; options?: { [key: string]: any } } | boolean
23
22
 
24
23
  export type PaginationConfig = {
25
24
  page?: number
@@ -1,3 +0,0 @@
1
- import '@operato/popup';
2
- import { FilterSelectRenderer } from '../types';
3
- export declare const ListSelect: FilterSelectRenderer;
@@ -1,12 +0,0 @@
1
- import '@operato/popup';
2
- import { html } from 'lit-html';
3
- export const ListSelect = (column, owner) => {
4
- var _a;
5
- const options = (_a = column.filter) === null || _a === void 0 ? void 0 : _a.options;
6
- return html `
7
- <ox-popup-list .config=${column} multiple attr-selected="checked" popup>
8
- ${options === null || options === void 0 ? void 0 : options.map((option) => html ` <ox-checkbox option value="${option}">${option}</ox-checkbox> `)}
9
- </ox-popup-list>
10
- `;
11
- };
12
- //# sourceMappingURL=list-select.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-select.js","sourceRoot":"","sources":["../../../src/filters/list-select.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,CAAA;AAGvB,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAE/B,MAAM,CAAC,MAAM,UAAU,GAAyB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;;IAChE,MAAM,OAAO,GAAG,MAAA,MAAM,CAAC,MAAM,0CAAE,OAAO,CAAA;IAEtC,OAAO,IAAI,CAAA;6BACgB,MAAM;QAC3B,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,IAAI,CAAA,+BAA+B,MAAM,KAAK,MAAM,iBAAiB,CAAC;;GAE5G,CAAA;AACH,CAAC,CAAA","sourcesContent":["import '@operato/popup'\n\nimport { FilterSelectRenderer } from '../types'\nimport { html } from 'lit-html'\n\nexport const ListSelect: FilterSelectRenderer = (column, owner) => {\n const options = column.filter?.options\n\n return html`\n <ox-popup-list .config=${column} multiple attr-selected=\"checked\" popup>\n ${options?.map((option: string) => html` <ox-checkbox option value=\"${option}\">${option}</ox-checkbox> `)}\n </ox-popup-list>\n `\n}\n"]}
@@ -1,14 +0,0 @@
1
- import '@operato/popup'
2
-
3
- import { FilterSelectRenderer } from '../types'
4
- import { html } from 'lit-html'
5
-
6
- export const ListSelect: FilterSelectRenderer = (column, owner) => {
7
- const options = column.filter?.options
8
-
9
- return html`
10
- <ox-popup-list .config=${column} multiple attr-selected="checked" popup>
11
- ${options?.map((option: string) => html` <ox-checkbox option value="${option}">${option}</ox-checkbox> `)}
12
- </ox-popup-list>
13
- `
14
- }