@operato/form 1.0.0-beta.4 → 1.0.0-beta.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 (62) hide show
  1. package/CHANGELOG.md +466 -0
  2. package/demo/index.html +68 -2
  3. package/dist/src/filters/filter-checkbox.d.ts +3 -0
  4. package/dist/src/filters/filter-checkbox.js +26 -0
  5. package/dist/src/filters/filter-checkbox.js.map +1 -0
  6. package/dist/src/filters/filter-input-barcode.d.ts +3 -0
  7. package/dist/src/filters/filter-input-barcode.js +27 -0
  8. package/dist/src/filters/filter-input-barcode.js.map +1 -0
  9. package/dist/src/filters/filter-input.d.ts +2 -0
  10. package/dist/src/filters/filter-input.js +24 -0
  11. package/dist/src/filters/filter-input.js.map +1 -0
  12. package/dist/src/filters/filter-range-date.d.ts +2 -0
  13. package/dist/src/filters/filter-range-date.js +54 -0
  14. package/dist/src/filters/filter-range-date.js.map +1 -0
  15. package/dist/src/filters/filter-range-number.d.ts +2 -0
  16. package/dist/src/filters/filter-range-number.js +53 -0
  17. package/dist/src/filters/filter-range-number.js.map +1 -0
  18. package/dist/src/filters/filter-select.d.ts +3 -0
  19. package/dist/src/filters/filter-select.js +33 -0
  20. package/dist/src/filters/filter-select.js.map +1 -0
  21. package/dist/src/filters/filter-styles.d.ts +1 -0
  22. package/dist/src/filters/filter-styles.js +88 -0
  23. package/dist/src/filters/filter-styles.js.map +1 -0
  24. package/dist/src/filters/index.d.ts +8 -0
  25. package/dist/src/filters/index.js +9 -0
  26. package/dist/src/filters/index.js.map +1 -0
  27. package/dist/src/filters/ox-filters-form-base.d.ts +25 -0
  28. package/dist/src/filters/ox-filters-form-base.js +238 -0
  29. package/dist/src/filters/ox-filters-form-base.js.map +1 -0
  30. package/dist/src/filters/registry.d.ts +7 -0
  31. package/dist/src/filters/registry.js +46 -0
  32. package/dist/src/filters/registry.js.map +1 -0
  33. package/dist/src/filters/types.d.ts +17 -0
  34. package/dist/src/filters/types.js +2 -0
  35. package/dist/src/filters/types.js.map +1 -0
  36. package/dist/src/index.d.ts +1 -0
  37. package/dist/src/index.js +1 -0
  38. package/dist/src/index.js.map +1 -1
  39. package/dist/stories/ox-filter-form-barcode.stories.d.ts +29 -0
  40. package/dist/stories/ox-filter-form-barcode.stories.js +82 -0
  41. package/dist/stories/ox-filter-form-barcode.stories.js.map +1 -0
  42. package/dist/stories/ox-filter-form-base.stories.d.ts +29 -0
  43. package/dist/stories/ox-filter-form-base.stories.js +82 -0
  44. package/dist/stories/ox-filter-form-base.stories.js.map +1 -0
  45. package/dist/tsconfig.tsbuildinfo +1 -1
  46. package/package.json +8 -6
  47. package/src/filters/filter-checkbox.ts +31 -0
  48. package/src/filters/filter-input-barcode.ts +33 -0
  49. package/src/filters/filter-input.ts +29 -0
  50. package/src/filters/filter-range-date.ts +64 -0
  51. package/src/filters/filter-range-number.ts +62 -0
  52. package/src/filters/filter-select.ts +47 -0
  53. package/src/filters/filter-styles.ts +88 -0
  54. package/src/filters/index.ts +10 -0
  55. package/src/filters/ox-filters-form-base.ts +261 -0
  56. package/src/filters/registry.ts +54 -0
  57. package/src/filters/types.ts +47 -0
  58. package/src/index.ts +1 -0
  59. package/stories/ox-filter-form-barcode.stories.ts +97 -0
  60. package/stories/ox-filter-form-base.stories.ts +97 -0
  61. package/themes/app-theme.css +142 -0
  62. /package/{src/themes → themes}/form-theme.css +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/filters/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAGjD,IAAI,SAAS,GAET;IACF,MAAM,EAAE,CAAC,WAAW,CAAC;IACrB,IAAI,EAAE,CAAC,WAAW,CAAC;IACnB,KAAK,EAAE,CAAC,WAAW,CAAC;IACpB,GAAG,EAAE,CAAC,WAAW,CAAC;IAClB,OAAO,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC;IACzC,KAAK,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC;IACvC,MAAM,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC;IACxC,MAAM,EAAE,CAAC,YAAY,CAAC;IACtB,OAAO,EAAE,CAAC,cAAc,CAAC;IACzB,QAAQ,EAAE,CAAC,cAAc,CAAC;IAC1B,KAAK,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;IACrC,IAAI,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;IACpC,IAAI,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;IACpC,IAAI,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;IACpC,QAAQ,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;IACxC,KAAK,EAAE,CAAC,WAAW,CAAC;IACpB,QAAQ,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC;IAC1C,IAAI,EAAE,CAAC,WAAW,CAAC;IACnB,KAAK,EAAE,CAAC,WAAW,CAAC;IACpB,KAAK,EAAE,CAAC,WAAW,CAAC;IACpB,OAAO,EAAE,CAAC,kBAAkB,CAAC;IAC7B,OAAO,EAAE,CAAC,kBAAkB,CAAC;CAC9B,CAAA;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAY,EAAE,QAAgC;IACnF,SAAS,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAA;AAC5B,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAAY;IACnD,OAAO,SAAS,CAAC,IAAI,CAAC,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,EAAE,GAAG,SAAS,EAAE,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,IAAI,OAAO,IAAI,IAAI,UAAU,EAAE;QAC7B,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,SAAS,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;AACnD,CAAC","sourcesContent":["import { FilterCheckbox } from './filter-checkbox.js'\nimport { FilterInputBarcode } from './filter-input-barcode.js'\nimport { FilterInput } from './filter-input.js'\nimport { FilterRangeDate } from './filter-range-date.js'\nimport { FilterRangeNumber } from './filter-range-number.js'\nimport { FilterSelect } from './filter-select.js'\nimport { FilterSelectRenderer } from './types.js'\n\nvar RENDERERS: {\n [name: string]: FilterSelectRenderer[]\n} = {\n string: [FilterInput],\n text: [FilterInput],\n email: [FilterInput],\n tel: [FilterInput],\n integer: [FilterInput, FilterRangeNumber],\n float: [FilterInput, FilterRangeNumber],\n number: [FilterInput, FilterRangeNumber],\n select: [FilterSelect],\n boolean: [FilterCheckbox],\n checkbox: [FilterCheckbox],\n month: [FilterInput, FilterRangeDate],\n week: [FilterInput, FilterRangeDate],\n date: [FilterInput, FilterRangeDate],\n time: [FilterInput, FilterRangeDate],\n datetime: [FilterInput, FilterRangeDate],\n color: [FilterInput],\n progress: [FilterInput, FilterRangeNumber],\n link: [FilterInput],\n image: [FilterInput],\n json5: [FilterInput],\n scanner: [FilterInputBarcode],\n barcode: [FilterInputBarcode]\n}\n\nexport function registerFilterRenderer(type: string, renderer: FilterSelectRenderer[]) {\n RENDERERS[type] = renderer\n}\n\nexport function unregisterFilterRenderer(type: string): void {\n delete RENDERERS[type]\n}\n\nexport function getFilterRenderers(): { [name: string]: FilterSelectRenderer[] } {\n return { ...RENDERERS }\n}\n\nexport function getFilterRenderer(type: string): FilterSelectRenderer[] {\n if (typeof type == 'function') {\n return type\n }\n\n return RENDERERS[type || 'text'] || [FilterInput]\n}\n"]}
@@ -0,0 +1,17 @@
1
+ import { TemplateResult } from 'lit-html';
2
+ export declare type FilterOperator = 'search' | 'eq' | 'between' | 'gte' | 'lte' | 'is_not_true' | 'in' | 'like' | 'i_like' | 'noteq' | 'is_empty_num_id' | 'is_blank' | 'is_present' | 'is_not_false' | 'is_true' | 'is_false' | 'is_not_null' | 'is_null' | 'notin_with_null' | 'notin' | 'gt' | 'lt' | 'i_nlike' | 'nlike';
3
+ export declare type FilterConfig = {
4
+ name: string;
5
+ label: string;
6
+ type: string;
7
+ operator?: FilterOperator;
8
+ options?: {
9
+ [key: string]: any;
10
+ };
11
+ };
12
+ export declare type FilterValue = {
13
+ name: string;
14
+ operator: FilterOperator;
15
+ value: string | number | boolean | string[] | number[] | undefined;
16
+ };
17
+ export declare type FilterSelectRenderer = (filter: FilterConfig, value: string | number | boolean | string[] | number[] | any | undefined, owner: Element) => TemplateResult | string | void;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/filters/types.ts"],"names":[],"mappings":"","sourcesContent":["import { TemplateResult } from 'lit-html'\n\nexport type FilterOperator =\n | 'search'\n | 'eq'\n | 'between'\n | 'gte'\n | 'lte'\n | 'is_not_true'\n | 'in'\n | 'like'\n | 'i_like'\n | 'noteq'\n | 'is_empty_num_id'\n | 'is_blank'\n | 'is_present'\n | 'is_not_false'\n | 'is_true'\n | 'is_false'\n | 'is_not_null'\n | 'is_null'\n | 'notin_with_null'\n | 'notin'\n | 'gt'\n | 'lt'\n | 'i_nlike'\n | 'nlike'\n\nexport type FilterConfig = {\n name: string\n label: string\n type: string\n operator?: FilterOperator\n options?: { [key: string]: any }\n}\n\nexport type FilterValue = {\n name: string\n operator: FilterOperator\n value: string | number | boolean | string[] | number[] | undefined\n}\n\nexport type FilterSelectRenderer = (\n filter: FilterConfig,\n value: string | number | boolean | string[] | number[] | any | undefined,\n owner: Element\n) => TemplateResult | string | void\n"]}
@@ -1,3 +1,4 @@
1
1
  export * from './styles';
2
2
  export * from './components/ox-search-form';
3
3
  export * from './components/ox-file-uploader';
4
+ export * from './filters';
package/dist/src/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './styles';
2
2
  export * from './components/ox-search-form';
3
3
  export * from './components/ox-file-uploader';
4
+ export * from './filters';
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,6BAA6B,CAAA;AAC3C,cAAc,+BAA+B,CAAA","sourcesContent":["export * from './styles'\nexport * from './components/ox-search-form'\nexport * from './components/ox-file-uploader'\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,6BAA6B,CAAA;AAC3C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,WAAW,CAAA","sourcesContent":["export * from './styles'\nexport * from './components/ox-search-form'\nexport * from './components/ox-file-uploader'\nexport * from './filters'\n"]}
@@ -0,0 +1,29 @@
1
+ import '../src/filters/ox-filters-form-base.js';
2
+ import { TemplateResult } from 'lit';
3
+ declare const _default: {
4
+ title: string;
5
+ component: string;
6
+ argTypes: {
7
+ value: {
8
+ control: string;
9
+ };
10
+ filters: {
11
+ control: string;
12
+ };
13
+ urlParamsSensitive: {
14
+ control: string;
15
+ };
16
+ };
17
+ };
18
+ export default _default;
19
+ interface Story<T> {
20
+ (args: T): TemplateResult;
21
+ args?: Partial<T>;
22
+ argTypes?: Record<string, unknown>;
23
+ }
24
+ interface ArgTypes {
25
+ value?: object;
26
+ filters?: object;
27
+ urlParamsSensitive: boolean;
28
+ }
29
+ export declare const Regular: Story<ArgTypes>;
@@ -0,0 +1,82 @@
1
+ import '../src/filters/ox-filters-form-base.js';
2
+ import { html } from 'lit';
3
+ export default {
4
+ title: 'ox-filters-form-barcode',
5
+ component: 'ox-filters-form-barcode',
6
+ argTypes: {
7
+ value: { control: 'object' },
8
+ filters: { control: 'object' },
9
+ urlParamsSensitive: { control: 'boolean' }
10
+ }
11
+ };
12
+ const Template = ({ value, filters, urlParamsSensitive }) => html `
13
+ <link href="/themes/app-theme.css" rel="stylesheet" />
14
+ <link href="/themes/form-theme.css" rel="stylesheet" />
15
+ <link href="https://fonts.googleapis.com/css?family=Material+Icons&display=block" rel="stylesheet" />
16
+ <style>
17
+ body {
18
+ }
19
+ </style>
20
+
21
+ <ox-filters-form-base
22
+ .value=${value}
23
+ .filters=${filters}
24
+ ?url-params-sensitive=${urlParamsSensitive}
25
+ @filters-change=${(e) => {
26
+ console.log('filters changed', e.detail);
27
+ }}
28
+ >
29
+ </ox-filters-form-base>
30
+ `;
31
+ export const Regular = Template.bind({});
32
+ Regular.args = {
33
+ filters: [
34
+ {
35
+ name: 'test',
36
+ type: 'barcode',
37
+ label: 'name',
38
+ operator: 'eq'
39
+ },
40
+ {
41
+ name: 'active',
42
+ type: 'boolean',
43
+ label: 'active',
44
+ operator: 'eq'
45
+ },
46
+ {
47
+ name: 'sss',
48
+ type: 'select',
49
+ label: 'sss',
50
+ operator: 'eq',
51
+ options: () => {
52
+ return [
53
+ {
54
+ display: '',
55
+ value: ''
56
+ },
57
+ {
58
+ display: 'ABC',
59
+ value: 'ABC'
60
+ },
61
+ {
62
+ display: 'DEF',
63
+ value: 'DEF'
64
+ }
65
+ ];
66
+ }
67
+ },
68
+ {
69
+ name: 'range',
70
+ type: 'number',
71
+ label: 'range',
72
+ operator: 'between'
73
+ },
74
+ {
75
+ name: 'date-range',
76
+ type: 'datetime',
77
+ label: 'date',
78
+ operator: 'between'
79
+ }
80
+ ]
81
+ };
82
+ //# sourceMappingURL=ox-filter-form-barcode.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ox-filter-form-barcode.stories.js","sourceRoot":"","sources":["../../stories/ox-filter-form-barcode.stories.ts"],"names":[],"mappings":"AAAA,OAAO,wCAAwC,CAAA;AAE/C,OAAO,EAAE,IAAI,EAAkB,MAAM,KAAK,CAAA;AAE1C,eAAe;IACb,KAAK,EAAE,yBAAyB;IAChC,SAAS,EAAE,yBAAyB;IACpC,QAAQ,EAAE;QACR,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;QAC5B,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;QAC9B,kBAAkB,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE;KAC3C;CACF,CAAA;AAcD,MAAM,QAAQ,GAAoB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAY,EAAE,EAAE,CAAC,IAAI,CAAA;;;;;;;;;;aAU/E,KAAK;eACH,OAAO;4BACM,kBAAkB;sBACxB,CAAC,CAAc,EAAE,EAAE;IACnC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;AAC1C,CAAC;;;CAGJ,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACxC,OAAO,CAAC,IAAI,GAAG;IACb,OAAO,EAAE;QACP;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,GAAG,EAAE;gBACZ,OAAO;oBACL;wBACE,OAAO,EAAE,EAAE;wBACX,KAAK,EAAE,EAAE;qBACV;oBACD;wBACE,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,KAAK;qBACb;oBACD;wBACE,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,KAAK;qBACb;iBACF,CAAA;YACH,CAAC;SACF;QACD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE,SAAS;SACpB;QACD;YACE,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,SAAS;SACpB;KACF;CACF,CAAA","sourcesContent":["import '../src/filters/ox-filters-form-base.js'\n\nimport { html, TemplateResult } from 'lit'\n\nexport default {\n title: 'ox-filters-form-barcode',\n component: 'ox-filters-form-barcode',\n argTypes: {\n value: { control: 'object' },\n filters: { control: 'object' },\n urlParamsSensitive: { control: 'boolean' }\n }\n}\n\ninterface Story<T> {\n (args: T): TemplateResult\n args?: Partial<T>\n argTypes?: Record<string, unknown>\n}\n\ninterface ArgTypes {\n value?: object\n filters?: object\n urlParamsSensitive: boolean\n}\n\nconst Template: Story<ArgTypes> = ({ value, filters, urlParamsSensitive }: ArgTypes) => html`\n <link href=\"/themes/app-theme.css\" rel=\"stylesheet\" />\n <link href=\"/themes/form-theme.css\" rel=\"stylesheet\" />\n <link href=\"https://fonts.googleapis.com/css?family=Material+Icons&display=block\" rel=\"stylesheet\" />\n <style>\n body {\n }\n </style>\n\n <ox-filters-form-base\n .value=${value}\n .filters=${filters}\n ?url-params-sensitive=${urlParamsSensitive}\n @filters-change=${(e: CustomEvent) => {\n console.log('filters changed', e.detail)\n }}\n >\n </ox-filters-form-base>\n`\n\nexport const Regular = Template.bind({})\nRegular.args = {\n filters: [\n {\n name: 'test',\n type: 'barcode',\n label: 'name',\n operator: 'eq'\n },\n {\n name: 'active',\n type: 'boolean',\n label: 'active',\n operator: 'eq'\n },\n {\n name: 'sss',\n type: 'select',\n label: 'sss',\n operator: 'eq',\n options: () => {\n return [\n {\n display: '',\n value: ''\n },\n {\n display: 'ABC',\n value: 'ABC'\n },\n {\n display: 'DEF',\n value: 'DEF'\n }\n ]\n }\n },\n {\n name: 'range',\n type: 'number',\n label: 'range',\n operator: 'between'\n },\n {\n name: 'date-range',\n type: 'datetime',\n label: 'date',\n operator: 'between'\n }\n ]\n}\n"]}
@@ -0,0 +1,29 @@
1
+ import '../src/filters/ox-filters-form-base.js';
2
+ import { TemplateResult } from 'lit';
3
+ declare const _default: {
4
+ title: string;
5
+ component: string;
6
+ argTypes: {
7
+ value: {
8
+ control: string;
9
+ };
10
+ filters: {
11
+ control: string;
12
+ };
13
+ urlParamsSensitive: {
14
+ control: string;
15
+ };
16
+ };
17
+ };
18
+ export default _default;
19
+ interface Story<T> {
20
+ (args: T): TemplateResult;
21
+ args?: Partial<T>;
22
+ argTypes?: Record<string, unknown>;
23
+ }
24
+ interface ArgTypes {
25
+ value?: object;
26
+ filters?: object;
27
+ urlParamsSensitive: boolean;
28
+ }
29
+ export declare const Regular: Story<ArgTypes>;
@@ -0,0 +1,82 @@
1
+ import '../src/filters/ox-filters-form-base.js';
2
+ import { html } from 'lit';
3
+ export default {
4
+ title: 'ox-filters-form-base',
5
+ component: 'ox-filters-form-base',
6
+ argTypes: {
7
+ value: { control: 'object' },
8
+ filters: { control: 'object' },
9
+ urlParamsSensitive: { control: 'boolean' }
10
+ }
11
+ };
12
+ const Template = ({ value, filters, urlParamsSensitive }) => html `
13
+ <link href="/themes/app-theme.css" rel="stylesheet" />
14
+ <link href="/themes/form-theme.css" rel="stylesheet" />
15
+ <link href="https://fonts.googleapis.com/css?family=Material+Icons&display=block" rel="stylesheet" />
16
+ <style>
17
+ body {
18
+ }
19
+ </style>
20
+
21
+ <ox-filters-form-base
22
+ .value=${value}
23
+ .filters=${filters}
24
+ ?url-params-sensitive=${urlParamsSensitive}
25
+ @filters-change=${(e) => {
26
+ console.log('filters changed', e.detail);
27
+ }}
28
+ >
29
+ </ox-filters-form-base>
30
+ `;
31
+ export const Regular = Template.bind({});
32
+ Regular.args = {
33
+ filters: [
34
+ {
35
+ name: 'test',
36
+ type: 'string',
37
+ label: 'name',
38
+ operator: 'eq'
39
+ },
40
+ {
41
+ name: 'active',
42
+ type: 'boolean',
43
+ label: 'active',
44
+ operator: 'eq'
45
+ },
46
+ {
47
+ name: 'sss',
48
+ type: 'select',
49
+ label: 'sss',
50
+ operator: 'eq',
51
+ options: () => {
52
+ return [
53
+ {
54
+ display: '',
55
+ value: ''
56
+ },
57
+ {
58
+ display: 'ABC',
59
+ value: 'ABC'
60
+ },
61
+ {
62
+ display: 'DEF',
63
+ value: 'DEF'
64
+ }
65
+ ];
66
+ }
67
+ },
68
+ {
69
+ name: 'range',
70
+ type: 'number',
71
+ label: 'range',
72
+ operator: 'between'
73
+ },
74
+ {
75
+ name: 'date-range',
76
+ type: 'datetime',
77
+ label: 'date',
78
+ operator: 'between'
79
+ }
80
+ ]
81
+ };
82
+ //# sourceMappingURL=ox-filter-form-base.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ox-filter-form-base.stories.js","sourceRoot":"","sources":["../../stories/ox-filter-form-base.stories.ts"],"names":[],"mappings":"AAAA,OAAO,wCAAwC,CAAA;AAE/C,OAAO,EAAE,IAAI,EAAkB,MAAM,KAAK,CAAA;AAE1C,eAAe;IACb,KAAK,EAAE,sBAAsB;IAC7B,SAAS,EAAE,sBAAsB;IACjC,QAAQ,EAAE;QACR,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;QAC5B,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;QAC9B,kBAAkB,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE;KAC3C;CACF,CAAA;AAcD,MAAM,QAAQ,GAAoB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAY,EAAE,EAAE,CAAC,IAAI,CAAA;;;;;;;;;;aAU/E,KAAK;eACH,OAAO;4BACM,kBAAkB;sBACxB,CAAC,CAAc,EAAE,EAAE;IACnC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;AAC1C,CAAC;;;CAGJ,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACxC,OAAO,CAAC,IAAI,GAAG;IACb,OAAO,EAAE;QACP;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,GAAG,EAAE;gBACZ,OAAO;oBACL;wBACE,OAAO,EAAE,EAAE;wBACX,KAAK,EAAE,EAAE;qBACV;oBACD;wBACE,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,KAAK;qBACb;oBACD;wBACE,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,KAAK;qBACb;iBACF,CAAA;YACH,CAAC;SACF;QACD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE,SAAS;SACpB;QACD;YACE,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,SAAS;SACpB;KACF;CACF,CAAA","sourcesContent":["import '../src/filters/ox-filters-form-base.js'\n\nimport { html, TemplateResult } from 'lit'\n\nexport default {\n title: 'ox-filters-form-base',\n component: 'ox-filters-form-base',\n argTypes: {\n value: { control: 'object' },\n filters: { control: 'object' },\n urlParamsSensitive: { control: 'boolean' }\n }\n}\n\ninterface Story<T> {\n (args: T): TemplateResult\n args?: Partial<T>\n argTypes?: Record<string, unknown>\n}\n\ninterface ArgTypes {\n value?: object\n filters?: object\n urlParamsSensitive: boolean\n}\n\nconst Template: Story<ArgTypes> = ({ value, filters, urlParamsSensitive }: ArgTypes) => html`\n <link href=\"/themes/app-theme.css\" rel=\"stylesheet\" />\n <link href=\"/themes/form-theme.css\" rel=\"stylesheet\" />\n <link href=\"https://fonts.googleapis.com/css?family=Material+Icons&display=block\" rel=\"stylesheet\" />\n <style>\n body {\n }\n </style>\n\n <ox-filters-form-base\n .value=${value}\n .filters=${filters}\n ?url-params-sensitive=${urlParamsSensitive}\n @filters-change=${(e: CustomEvent) => {\n console.log('filters changed', e.detail)\n }}\n >\n </ox-filters-form-base>\n`\n\nexport const Regular = Template.bind({})\nRegular.args = {\n filters: [\n {\n name: 'test',\n type: 'string',\n label: 'name',\n operator: 'eq'\n },\n {\n name: 'active',\n type: 'boolean',\n label: 'active',\n operator: 'eq'\n },\n {\n name: 'sss',\n type: 'select',\n label: 'sss',\n operator: 'eq',\n options: () => {\n return [\n {\n display: '',\n value: ''\n },\n {\n display: 'ABC',\n value: 'ABC'\n },\n {\n display: 'DEF',\n value: 'DEF'\n }\n ]\n }\n },\n {\n name: 'range',\n type: 'number',\n label: 'range',\n operator: 'between'\n },\n {\n name: 'date-range',\n type: 'datetime',\n label: 'date',\n operator: 'between'\n }\n ]\n}\n"]}