@operato/app 2.0.0-alpha.13 → 2.0.0-alpha.131

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 +701 -0
  2. package/demo/data-grist-test.html +25 -14
  3. package/demo/index.html +13 -2
  4. package/dist/src/filters-form/filter-resource-select.js +13 -16
  5. package/dist/src/filters-form/filter-resource-select.js.map +1 -1
  6. package/dist/src/grist-editor/ox-grist-editor-code.d.ts +1 -1
  7. package/dist/src/grist-editor/ox-grist-editor-json.d.ts +1 -1
  8. package/dist/src/grist-editor/ox-grist-editor-privilege.d.ts +1 -1
  9. package/dist/src/grist-editor/ox-grist-editor-resource-code.d.ts +2 -2
  10. package/dist/src/grist-editor/ox-grist-editor-resource-code.js +2 -2
  11. package/dist/src/grist-editor/ox-grist-editor-resource-code.js.map +1 -1
  12. package/dist/src/grist-editor/ox-grist-editor-resource-id.d.ts +2 -2
  13. package/dist/src/grist-editor/ox-grist-editor-resource-id.js +2 -2
  14. package/dist/src/grist-editor/ox-grist-editor-resource-id.js.map +1 -1
  15. package/dist/src/grist-editor/ox-grist-renderer-resource-code.d.ts +1 -1
  16. package/dist/src/grist-editor/ox-popup-code-input.d.ts +2 -1
  17. package/dist/src/grist-editor/ox-popup-code-input.js +7 -8
  18. package/dist/src/grist-editor/ox-popup-code-input.js.map +1 -1
  19. package/dist/src/grist-editor/ox-popup-privilege-input.d.ts +2 -1
  20. package/dist/src/grist-editor/ox-popup-privilege-input.js +8 -15
  21. package/dist/src/grist-editor/ox-popup-privilege-input.js.map +1 -1
  22. package/dist/src/input/ox-input-background-pattern.d.ts +1 -1
  23. package/dist/src/input/ox-input-background-pattern.js +8 -8
  24. package/dist/src/input/ox-input-background-pattern.js.map +1 -1
  25. package/dist/src/input/ox-input-fill-style.d.ts +1 -1
  26. package/dist/src/input/ox-input-graphql.d.ts +1 -0
  27. package/dist/src/input/ox-input-graphql.js +6 -2
  28. package/dist/src/input/ox-input-graphql.js.map +1 -1
  29. package/dist/src/selector/ox-selector-resource-id.d.ts +2 -1
  30. package/dist/src/selector/ox-selector-resource-id.js +8 -9
  31. package/dist/src/selector/ox-selector-resource-id.js.map +1 -1
  32. package/dist/src/selector/ox-selector-resource-object-legacy.d.ts +4 -3
  33. package/dist/src/selector/ox-selector-resource-object-legacy.js +8 -9
  34. package/dist/src/selector/ox-selector-resource-object-legacy.js.map +1 -1
  35. package/dist/src/selector/ox-selector-resource-object.d.ts +3 -2
  36. package/dist/src/selector/ox-selector-resource-object.js +9 -10
  37. package/dist/src/selector/ox-selector-resource-object.js.map +1 -1
  38. package/dist/stories/graphql-client.stories.d.ts +26 -0
  39. package/dist/stories/graphql-client.stories.js +55 -0
  40. package/dist/stories/graphql-client.stories.js.map +1 -0
  41. package/dist/stories/ox-input-graphql.stories.js +13 -1
  42. package/dist/stories/ox-input-graphql.stories.js.map +1 -1
  43. package/dist/stories/ox-selector-resource-object.stories.d.ts +29 -0
  44. package/dist/stories/ox-selector-resource-object.stories.js +80 -0
  45. package/dist/stories/ox-selector-resource-object.stories.js.map +1 -0
  46. package/dist/tsconfig.tsbuildinfo +1 -1
  47. package/package.json +27 -30
  48. package/src/filters-form/filter-resource-select.ts +32 -31
  49. package/src/grist-editor/ox-grist-editor-resource-code.ts +2 -2
  50. package/src/grist-editor/ox-grist-editor-resource-id.ts +2 -2
  51. package/src/grist-editor/ox-popup-code-input.ts +7 -8
  52. package/src/grist-editor/ox-popup-privilege-input.ts +8 -15
  53. package/src/input/ox-input-background-pattern.ts +8 -8
  54. package/src/input/ox-input-graphql.ts +3 -2
  55. package/src/selector/ox-selector-resource-id.ts +8 -9
  56. package/src/selector/ox-selector-resource-object-legacy.ts +16 -17
  57. package/src/selector/ox-selector-resource-object.ts +10 -11
  58. package/stories/graphql-client.stories.ts +73 -0
  59. package/stories/ox-input-graphql.stories.ts +13 -1
  60. package/stories/ox-selector-resource-object.stories.ts +98 -0
  61. package/themes/app-theme.css +10 -0
  62. package/themes/grist-theme.css +2 -0
@@ -0,0 +1,55 @@
1
+ import { setClientLink, createMockLink } from '@operato/graphql/graphql-env.js';
2
+ import '@operato/graphql/graphql-client.js';
3
+ import '../src/input/ox-input-graphql.js';
4
+ // TODO cm6-graphql에서 사용하는 nullthrows 관련 모듈 오류로 스토리북 테스트가 안됨.
5
+ import { html } from 'lit';
6
+ setClientLink(createMockLink({
7
+ request: {
8
+ query: ''
9
+ },
10
+ result: {
11
+ data: {
12
+ viewer: null
13
+ }
14
+ }
15
+ }));
16
+ export default {
17
+ title: 'graphql-client',
18
+ component: 'graphql-client',
19
+ argTypes: {
20
+ value: { control: 'text' },
21
+ name: { control: 'text' }
22
+ }
23
+ };
24
+ const Template = ({ name = 'code', value = '' }) => html `
25
+ <style>
26
+ body {
27
+ }
28
+ </style>
29
+
30
+ <ox-input-graphql
31
+ @change=${(e) => {
32
+ console.log(e.target.value);
33
+ }}
34
+ name=${name}
35
+ .value=${value}
36
+ >
37
+ </ox-input-graphql>
38
+ `;
39
+ export const Regular = Template.bind({});
40
+ Regular.args = {
41
+ name: 'code',
42
+ value: `
43
+ query privileges {
44
+ privileges {
45
+ items {
46
+ privilege
47
+ category
48
+ description
49
+ }
50
+ total
51
+ }
52
+ }
53
+ `
54
+ };
55
+ //# sourceMappingURL=graphql-client.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphql-client.stories.js","sourceRoot":"","sources":["../../stories/graphql-client.stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAC/E,OAAO,oCAAoC,CAAA;AAC3C,OAAO,kCAAkC,CAAA;AAEzC,6DAA6D;AAE7D,OAAO,EAAE,IAAI,EAAkB,MAAM,KAAK,CAAA;AAE1C,aAAa,CACX,cAAc,CAAC;IACb,OAAO,EAAE;QACP,KAAK,EAAE,EAAE;KACV;IACD,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,MAAM,EAAE,IAAI;SACb;KACF;CACF,CAAC,CACH,CAAA;AAED,eAAe;IACb,KAAK,EAAE,gBAAgB;IACvB,SAAS,EAAE,gBAAgB;IAC3B,QAAQ,EAAE;QACR,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;QAC1B,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;KAC1B;CACF,CAAA;AAaD,MAAM,QAAQ,GAAoB,CAAC,EAAE,IAAI,GAAG,MAAM,EAAE,KAAK,GAAG,EAAE,EAAY,EAAE,EAAE,CAAC,IAAI,CAAA;;;;;;;cAOrE,CAAC,CAAQ,EAAE,EAAE;IACrB,OAAO,CAAC,GAAG,CAAE,CAAC,CAAC,MAA2B,CAAC,KAAK,CAAC,CAAA;AACnD,CAAC;WACM,IAAI;aACF,KAAK;;;CAGjB,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACxC,OAAO,CAAC,IAAI,GAAG;IACb,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE;;;;;;;;;;;CAWR;CACA,CAAA","sourcesContent":["import { setClientLink, createMockLink } from '@operato/graphql/graphql-env.js'\nimport '@operato/graphql/graphql-client.js'\nimport '../src/input/ox-input-graphql.js'\n\n// TODO cm6-graphql에서 사용하는 nullthrows 관련 모듈 오류로 스토리북 테스트가 안됨.\n\nimport { html, TemplateResult } from 'lit'\n\nsetClientLink(\n createMockLink({\n request: {\n query: ''\n },\n result: {\n data: {\n viewer: null\n }\n }\n })\n)\n\nexport default {\n title: 'graphql-client',\n component: 'graphql-client',\n argTypes: {\n value: { control: 'text' },\n name: { control: 'text' }\n }\n}\n\ninterface Story<T> {\n (args: T): TemplateResult\n args?: Partial<T>\n argTypes?: Record<string, unknown>\n}\n\ninterface ArgTypes {\n name?: string\n value?: string\n}\n\nconst Template: Story<ArgTypes> = ({ name = 'code', value = '' }: ArgTypes) => html`\n <style>\n body {\n }\n </style>\n\n <ox-input-graphql\n @change=${(e: Event) => {\n console.log((e.target as HTMLInputElement).value)\n }}\n name=${name}\n .value=${value}\n >\n </ox-input-graphql>\n`\n\nexport const Regular = Template.bind({})\nRegular.args = {\n name: 'code',\n value: `\nquery privileges {\n privileges {\n items {\n privilege\n category\n description\n }\n total\n }\n}\n`\n}\n"]}
@@ -10,7 +10,19 @@ export default {
10
10
  };
11
11
  const Template = ({ name = 'code', value = '' }) => html `
12
12
  <link href="/themes/app-theme.css" rel="stylesheet" />
13
- <link href="https://fonts.googleapis.com/css?family=Material+Icons&display=block" rel="stylesheet" />
13
+ <link
14
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1"
15
+ rel="stylesheet"
16
+ />
17
+ <link
18
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,100..700,0..1"
19
+ rel="stylesheet"
20
+ />
21
+ <link
22
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Sharp:opsz,wght,FILL@20..48,100..700,0..1"
23
+ rel="stylesheet"
24
+ />
25
+
14
26
  <style>
15
27
  body {
16
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ox-input-graphql.stories.js","sourceRoot":"","sources":["../../stories/ox-input-graphql.stories.ts"],"names":[],"mappings":"AAAA,OAAO,kCAAkC,CAAA;AAEzC,OAAO,EAAE,IAAI,EAAkB,MAAM,KAAK,CAAA;AAE1C,eAAe;IACb,KAAK,EAAE,kBAAkB;IACzB,SAAS,EAAE,kBAAkB;IAC7B,QAAQ,EAAE;QACR,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;QAC1B,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;KAC1B;CACF,CAAA;AAaD,MAAM,QAAQ,GAAoB,CAAC,EAAE,IAAI,GAAG,MAAM,EAAE,KAAK,GAAG,EAAE,EAAY,EAAE,EAAE,CAAC,IAAI,CAAA;;;;;;;;;cASrE,CAAC,CAAQ,EAAE,EAAE;IACrB,OAAO,CAAC,GAAG,CAAE,CAAC,CAAC,MAA2B,CAAC,KAAK,CAAC,CAAA;AACnD,CAAC;WACM,IAAI;aACF,KAAK;;;CAGjB,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACxC,OAAO,CAAC,IAAI,GAAG;IACb,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE;;;;;;;;;;;CAWR;CACA,CAAA","sourcesContent":["import '../src/input/ox-input-graphql.js'\n\nimport { html, TemplateResult } from 'lit'\n\nexport default {\n title: 'ox-input-graphql',\n component: 'ox-input-graphql',\n argTypes: {\n value: { control: 'text' },\n name: { control: 'text' }\n }\n}\n\ninterface Story<T> {\n (args: T): TemplateResult\n args?: Partial<T>\n argTypes?: Record<string, unknown>\n}\n\ninterface ArgTypes {\n name?: string\n value?: string\n}\n\nconst Template: Story<ArgTypes> = ({ name = 'code', value = '' }: ArgTypes) => html`\n <link href=\"/themes/app-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-input-graphql\n @change=${(e: Event) => {\n console.log((e.target as HTMLInputElement).value)\n }}\n name=${name}\n .value=${value}\n >\n </ox-input-graphql>\n`\n\nexport const Regular = Template.bind({})\nRegular.args = {\n name: 'code',\n value: `\nquery privileges {\n privileges {\n items {\n privilege\n category\n description\n }\n total\n }\n}\n`\n}\n"]}
1
+ {"version":3,"file":"ox-input-graphql.stories.js","sourceRoot":"","sources":["../../stories/ox-input-graphql.stories.ts"],"names":[],"mappings":"AAAA,OAAO,kCAAkC,CAAA;AAEzC,OAAO,EAAE,IAAI,EAAkB,MAAM,KAAK,CAAA;AAE1C,eAAe;IACb,KAAK,EAAE,kBAAkB;IACzB,SAAS,EAAE,kBAAkB;IAC7B,QAAQ,EAAE;QACR,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;QAC1B,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;KAC1B;CACF,CAAA;AAaD,MAAM,QAAQ,GAAoB,CAAC,EAAE,IAAI,GAAG,MAAM,EAAE,KAAK,GAAG,EAAE,EAAY,EAAE,EAAE,CAAC,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;cAqBrE,CAAC,CAAQ,EAAE,EAAE;IACrB,OAAO,CAAC,GAAG,CAAE,CAAC,CAAC,MAA2B,CAAC,KAAK,CAAC,CAAA;AACnD,CAAC;WACM,IAAI;aACF,KAAK;;;CAGjB,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACxC,OAAO,CAAC,IAAI,GAAG;IACb,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE;;;;;;;;;;;CAWR;CACA,CAAA","sourcesContent":["import '../src/input/ox-input-graphql.js'\n\nimport { html, TemplateResult } from 'lit'\n\nexport default {\n title: 'ox-input-graphql',\n component: 'ox-input-graphql',\n argTypes: {\n value: { control: 'text' },\n name: { control: 'text' }\n }\n}\n\ninterface Story<T> {\n (args: T): TemplateResult\n args?: Partial<T>\n argTypes?: Record<string, unknown>\n}\n\ninterface ArgTypes {\n name?: string\n value?: string\n}\n\nconst Template: Story<ArgTypes> = ({ name = 'code', value = '' }: ArgTypes) => html`\n <link href=\"/themes/app-theme.css\" rel=\"stylesheet\" />\n <link\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1\"\n rel=\"stylesheet\"\n />\n <link\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,100..700,0..1\"\n rel=\"stylesheet\"\n />\n <link\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Sharp:opsz,wght,FILL@20..48,100..700,0..1\"\n rel=\"stylesheet\"\n />\n\n <style>\n body {\n }\n </style>\n\n <ox-input-graphql\n @change=${(e: Event) => {\n console.log((e.target as HTMLInputElement).value)\n }}\n name=${name}\n .value=${value}\n >\n </ox-input-graphql>\n`\n\nexport const Regular = Template.bind({})\nRegular.args = {\n name: 'code',\n value: `\nquery privileges {\n privileges {\n items {\n privilege\n category\n description\n }\n total\n }\n}\n`\n}\n"]}
@@ -0,0 +1,29 @@
1
+ import { TemplateResult } from 'lit';
2
+ import '../src/selector/ox-selector-resource-object';
3
+ declare const _default: {
4
+ title: string;
5
+ component: string;
6
+ argTypes: {
7
+ queryName: {
8
+ control: string;
9
+ };
10
+ value: {
11
+ control: string;
12
+ };
13
+ valueField: {
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
+ queryName: string;
26
+ value?: string;
27
+ valueField?: string;
28
+ }
29
+ export declare const Regular: Story<ArgTypes>;
@@ -0,0 +1,80 @@
1
+ import { html } from 'lit';
2
+ import { ifDefined } from 'lit/directives/if-defined.js';
3
+ import { setClientLink, createMockLink } from '@operato/graphql/graphql-env.js';
4
+ import '../src/selector/ox-selector-resource-object';
5
+ setClientLink(createMockLink({
6
+ request: {
7
+ query: ''
8
+ },
9
+ result: {
10
+ data: {
11
+ viewer: null
12
+ }
13
+ }
14
+ }));
15
+ export default {
16
+ title: 'ox-selector-resource-object',
17
+ component: 'ox-selector-resource-object',
18
+ argTypes: {
19
+ queryName: { control: 'string' },
20
+ value: { control: 'string' },
21
+ valueField: { control: 'string' }
22
+ }
23
+ };
24
+ const Template = ({ value = '', queryName, valueField }) => html `
25
+ <style>
26
+ body {
27
+ }
28
+ </style>
29
+
30
+ <script>
31
+ const select = ['name', 'description']
32
+ </script>
33
+
34
+ <ox-selector-resource-object
35
+ @change=${(e) => {
36
+ console.log(e.target.value);
37
+ }}
38
+ name=${name}
39
+ value=${ifDefined(value)}
40
+ valueField=${ifDefined(valueField)}
41
+ .queryName=${queryName}
42
+ .confirmCallback=${(record) => console.log('confirm', record)}
43
+ .columns=${[
44
+ {
45
+ type: 'string',
46
+ name: 'id',
47
+ header: 'id',
48
+ hidden: true,
49
+ width: 100,
50
+ queryName: ''
51
+ },
52
+ {
53
+ type: 'string',
54
+ name: 'name',
55
+ header: 'name',
56
+ hidden: false,
57
+ width: 150,
58
+ queryName: ''
59
+ },
60
+ {
61
+ type: 'string',
62
+ name: 'description',
63
+ header: 'description',
64
+ hidden: false,
65
+ width: 150,
66
+ queryName: ''
67
+ }
68
+ ]}
69
+ .list=${['name', 'description']}
70
+ .basicArgs=${''}
71
+ >
72
+ </ox-selector-resource-object>
73
+ `;
74
+ export const Regular = Template.bind({});
75
+ Regular.args = {
76
+ value: '',
77
+ queryName: 'entity',
78
+ valueField: 'id'
79
+ };
80
+ //# sourceMappingURL=ox-selector-resource-object.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ox-selector-resource-object.stories.js","sourceRoot":"","sources":["../../stories/ox-selector-resource-object.stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAkB,MAAM,KAAK,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAExD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAC/E,OAAO,6CAA6C,CAAA;AAEpD,aAAa,CACX,cAAc,CAAC;IACb,OAAO,EAAE;QACP,KAAK,EAAE,EAAE;KACV;IACD,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,MAAM,EAAE,IAAI;SACb;KACF;CACF,CAAC,CACH,CAAA;AAED,eAAe;IACb,KAAK,EAAE,6BAA6B;IACpC,SAAS,EAAE,6BAA6B;IACxC,QAAQ,EAAE;QACR,SAAS,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;QAChC,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;QAC5B,UAAU,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;KAClC;CACF,CAAA;AAcD,MAAM,QAAQ,GAAoB,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE,SAAS,EAAE,UAAU,EAAY,EAAE,EAAE,CAAC,IAAI,CAAA;;;;;;;;;;;cAW7E,CAAC,CAAQ,EAAE,EAAE;IACrB,OAAO,CAAC,GAAG,CAAE,CAAC,CAAC,MAA2B,CAAC,KAAK,CAAC,CAAA;AACnD,CAAC;WACM,IAAI;YACH,SAAS,CAAC,KAAK,CAAC;iBACX,SAAS,CAAC,UAAU,CAAC;iBACrB,SAAS;uBACH,CAAC,MAAW,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC;eACvD;IACT;QACE,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,GAAG;QACV,SAAS,EAAE,EAAE;KACd;IACD;QACE,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,GAAG;QACV,SAAS,EAAE,EAAE;KACd;IACD;QACE,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,aAAa;QACrB,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,GAAG;QACV,SAAS,EAAE,EAAE;KACd;CACF;YACO,CAAC,MAAM,EAAE,aAAa,CAAC;iBAClB,EAAE;;;CAGlB,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACxC,OAAO,CAAC,IAAI,GAAG;IACb,KAAK,EAAE,EAAE;IACT,SAAS,EAAE,QAAQ;IACnB,UAAU,EAAE,IAAI;CACjB,CAAA","sourcesContent":["import { html, TemplateResult } from 'lit'\nimport { ifDefined } from 'lit/directives/if-defined.js'\n\nimport { setClientLink, createMockLink } from '@operato/graphql/graphql-env.js'\nimport '../src/selector/ox-selector-resource-object'\n\nsetClientLink(\n createMockLink({\n request: {\n query: ''\n },\n result: {\n data: {\n viewer: null\n }\n }\n })\n)\n\nexport default {\n title: 'ox-selector-resource-object',\n component: 'ox-selector-resource-object',\n argTypes: {\n queryName: { control: 'string' },\n value: { control: 'string' },\n valueField: { control: 'string' }\n }\n}\n\ninterface Story<T> {\n (args: T): TemplateResult\n args?: Partial<T>\n argTypes?: Record<string, unknown>\n}\n\ninterface ArgTypes {\n queryName: string\n value?: string\n valueField?: string\n}\n\nconst Template: Story<ArgTypes> = ({ value = '', queryName, valueField }: ArgTypes) => html`\n <style>\n body {\n }\n </style>\n\n <script>\n const select = ['name', 'description']\n </script>\n\n <ox-selector-resource-object\n @change=${(e: Event) => {\n console.log((e.target as HTMLInputElement).value)\n }}\n name=${name}\n value=${ifDefined(value)}\n valueField=${ifDefined(valueField)}\n .queryName=${queryName}\n .confirmCallback=${(record: any) => console.log('confirm', record)}\n .columns=${[\n {\n type: 'string',\n name: 'id',\n header: 'id',\n hidden: true,\n width: 100,\n queryName: ''\n },\n {\n type: 'string',\n name: 'name',\n header: 'name',\n hidden: false,\n width: 150,\n queryName: ''\n },\n {\n type: 'string',\n name: 'description',\n header: 'description',\n hidden: false,\n width: 150,\n queryName: ''\n }\n ]}\n .list=${['name', 'description']}\n .basicArgs=${''}\n >\n </ox-selector-resource-object>\n`\n\nexport const Regular = Template.bind({})\nRegular.args = {\n value: '',\n queryName: 'entity',\n valueField: 'id'\n}\n"]}