@things-factory/meta-ui 7.0.1-alpha.31 → 7.0.1-alpha.34

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 (53) hide show
  1. package/client/bootstrap.ts +1 -1
  2. package/client/component/filter/filter-form-meta-code-select.ts +99 -0
  3. package/client/component/filter/filter-form-meta-object-select.ts +104 -0
  4. package/client/component/filter/filter-grist-meta-code-select.ts +97 -0
  5. package/client/component/filter/filter-grist-meta-object-select.ts +102 -0
  6. package/client/component/popup/code-input-editor-popup.js +1 -1
  7. package/client/component/popup/{meta-object-selector-popup.js → meta-object-selector-popup.ts} +73 -46
  8. package/client/component/popup/{record-based-code-editor-popup.js → record-based-code-editor-popup.ts} +19 -18
  9. package/client/utils/meta-api.js +13 -1
  10. package/client/utils/meta-ui-util.js +21 -7
  11. package/client/utils/service-util.js +39 -3
  12. package/client/utils/{terms-util.js → terms-util.ts} +13 -13
  13. package/dist-client/bootstrap.js +1 -1
  14. package/dist-client/bootstrap.js.map +1 -1
  15. package/dist-client/component/filter/filter-form-meta-code-select.d.ts +4 -1
  16. package/dist-client/component/filter/filter-form-meta-code-select.js +22 -19
  17. package/dist-client/component/filter/filter-form-meta-code-select.js.map +1 -1
  18. package/dist-client/component/filter/filter-form-meta-object-select.d.ts +4 -1
  19. package/dist-client/component/filter/filter-form-meta-object-select.js +28 -20
  20. package/dist-client/component/filter/filter-form-meta-object-select.js.map +1 -1
  21. package/dist-client/component/filter/filter-grist-meta-code-select.d.ts +3 -1
  22. package/dist-client/component/filter/filter-grist-meta-code-select.js +20 -19
  23. package/dist-client/component/filter/filter-grist-meta-code-select.js.map +1 -1
  24. package/dist-client/component/filter/filter-grist-meta-object-select.d.ts +3 -1
  25. package/dist-client/component/filter/filter-grist-meta-object-select.js +26 -20
  26. package/dist-client/component/filter/filter-grist-meta-object-select.js.map +1 -1
  27. package/dist-client/component/popup/code-input-editor-popup.js +1 -1
  28. package/dist-client/component/popup/code-input-editor-popup.js.map +1 -1
  29. package/dist-client/component/popup/meta-object-selector-popup.d.ts +27 -22
  30. package/dist-client/component/popup/meta-object-selector-popup.js +76 -47
  31. package/dist-client/component/popup/meta-object-selector-popup.js.map +1 -1
  32. package/dist-client/component/popup/record-based-code-editor-popup.d.ts +10 -11
  33. package/dist-client/component/popup/record-based-code-editor-popup.js +59 -17
  34. package/dist-client/component/popup/record-based-code-editor-popup.js.map +1 -1
  35. package/dist-client/pages/history/history-copy-list-popup.d.ts +1 -1
  36. package/dist-client/pages/history/history-json-list-popup.d.ts +1 -1
  37. package/dist-client/tsconfig.tsbuildinfo +1 -1
  38. package/dist-client/utils/meta-api.d.ts +11 -2
  39. package/dist-client/utils/meta-api.js +12 -1
  40. package/dist-client/utils/meta-api.js.map +1 -1
  41. package/dist-client/utils/meta-ui-util.js +18 -7
  42. package/dist-client/utils/meta-ui-util.js.map +1 -1
  43. package/dist-client/utils/service-util.d.ts +11 -1
  44. package/dist-client/utils/service-util.js +37 -3
  45. package/dist-client/utils/service-util.js.map +1 -1
  46. package/dist-client/utils/terms-util.d.ts +7 -7
  47. package/dist-client/utils/terms-util.js +4 -4
  48. package/dist-client/utils/terms-util.js.map +1 -1
  49. package/package.json +9 -8
  50. package/client/component/filter/filter-form-meta-code-select.js +0 -94
  51. package/client/component/filter/filter-form-meta-object-select.js +0 -94
  52. package/client/component/filter/filter-grist-meta-code-select.js +0 -95
  53. package/client/component/filter/filter-grist-meta-object-select.js +0 -95
@@ -1,58 +1,65 @@
1
+ import '@material/web/icon/icon.js';
1
2
  import '../popup/meta-object-selector-popup';
2
3
  import { html } from 'lit-html';
3
4
  import { openPopup } from '@operato/layout';
4
- import { TermsUtil } from './../../utils/terms-util';
5
+ import { TermsUtil } from '../../utils/terms-util';
5
6
  function openMetaObjectSelector(filter, value, confirmCallback) {
6
- var template = html `
7
- <meta-object-selector-popup
8
- .value=${value}
9
- .options=${filter.options}
10
- .confirmCallback=${confirmCallback}
11
- ></meta-object-selector-popup>
12
- `;
7
+ var template = html ` <meta-object-selector-popup .value=${value} .options=${filter.options} .confirmCallback=${confirmCallback}></meta-object-selector-popup> `;
13
8
  openPopup(template, {
14
9
  backdrop: true,
15
10
  size: 'large',
16
- title: filter.options.selectorName ? TermsUtil.tMenu(filter.options.selectorName) : TermsUtil.tTitle('select_item')
11
+ title: filter.options.selectorName ? String(TermsUtil.tMenu(filter.options.selectorName)) : String(TermsUtil.tTitle('select_item'))
17
12
  });
18
13
  }
19
14
  export const FilterFormMetaObjectSelect = (filter, value, owner) => {
20
15
  const options = filter.options;
21
16
  const { operator = 'eq' } = filter;
22
- let hideText = value ? value.id : '';
23
- let text = '';
17
+ const hiddenText = value ? value.id : '';
18
+ var text = '';
24
19
  if (value) {
25
- let fields = options.nameField.split(",");
20
+ let fields = options.nameField.split(',');
26
21
  text = value[fields[0]];
27
22
  if (fields.length > 1) {
28
- text += `(${fields.splice(1).map(field => { return value[field]; }).join(",")})`;
23
+ text += `(${fields
24
+ .splice(1)
25
+ .map(field => {
26
+ return value[field];
27
+ })
28
+ .join(',')})`;
29
29
  }
30
30
  }
31
31
  return operator === 'eq'
32
32
  ? html `
33
- <input name='${filter.name}' .value=${hideText} type="text" hidden></input>
33
+ <input name='${filter.name}' .value=${hiddenText} type="text" hidden></input>
34
34
  <input
35
35
  type="text"
36
36
  readonly
37
37
  name='${filter.name}_disp'
38
38
  .value=${text}
39
- @click=${(e) => {
39
+ @click=${e => {
40
40
  e.stopPropagation();
41
41
  const input = e.target;
42
- const confirmCallback = (selected) => {
42
+ const confirmCallback = selected => {
43
43
  let code = selected ? selected.id : '';
44
44
  let disp = '';
45
45
  if (selected) {
46
- let fields = options.nameField.split(",");
46
+ let fields = options.nameField.split(',');
47
47
  disp = selected[fields[0]];
48
48
  if (fields.length > 1) {
49
- disp += `(${fields.splice(1).map(field => { return selected[field]; }).join(",")})`;
49
+ disp += `(${fields
50
+ .splice(1)
51
+ .map(field => {
52
+ return selected[field];
53
+ })
54
+ .join(',')})`;
50
55
  }
51
56
  }
52
57
  input.value = disp;
53
58
  let codeInput = owner.tagName.toLowerCase() == 'ox-grid-header'
54
- ? owner.renderRoot.querySelector(`[name="${filter.name}"]`)
55
- : owner.renderRoot.querySelector(`form [name="${filter.name}"]`);
59
+ ? //@ts-ignore owner element를 전제하지 않는 방법이 필요할 것이다.
60
+ owner.renderRoot.querySelector(`[name="${filter.name}"]`)
61
+ : //@ts-ignore owner element를 전제하지 않는 방법이 필요할 것이다.
62
+ owner.renderRoot.querySelector(`form [name="${filter.name}"]`);
56
63
  codeInput.value = code;
57
64
  input.dispatchEvent(new Event('change', { bubbles: true }));
58
65
  input.dispatchEvent(new CustomEvent('filter-change', {
@@ -68,6 +75,7 @@ export const FilterFormMetaObjectSelect = (filter, value, owner) => {
68
75
  openMetaObjectSelector(filter, value, confirmCallback);
69
76
  }}
70
77
  />
78
+ <md-icon style="--md-icon-size: 18px;margin-left: -24px;">manage_search</md-icon>
71
79
  `
72
80
  : html ``;
73
81
  };
@@ -1 +1 @@
1
- {"version":3,"file":"filter-form-meta-object-select.js","sourceRoot":"","sources":["../../../client/component/filter/filter-form-meta-object-select.js"],"names":[],"mappings":"AAAA,OAAO,qCAAqC,CAAA;AAE5C,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAEpD,SAAS,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,eAAe;IAE5D,IAAI,QAAQ,GAAG,IAAI,CAAA;;eAEN,KAAK;iBACH,MAAM,CAAC,OAAO;yBACN,eAAe;;GAErC,CAAA;IAED,SAAS,CAAC,QAAQ,EAAE;QAClB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC;KACpH,CAAC,CAAA;AACJ,CAAC;AAGD,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;IACjE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,MAAM,EAAE,QAAQ,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IACnC,IAAI,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACrC,IAAI,IAAI,GAAG,EAAE,CAAC;IAEd,IAAG,KAAK,EAAC;QACP,IAAI,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAExB,IAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAC;YACnB,IAAI,IAAG,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,KAAK,CAAC,KAAK,CAAC,CAAA,CAAA,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAA;SAC9E;KACF;IAED,OAAO,QAAQ,KAAK,IAAI;QACtB,CAAC,CAAC,IAAI,CAAA;uBACa,MAAM,CAAC,IAAI,YAAY,QAAQ;;;;kBAIpC,MAAM,CAAC,IAAI;mBACV,IAAI;mBACJ,CAAC,CAAC,EAAE,EAAE;YACb,CAAC,CAAC,eAAe,EAAE,CAAC;YAEpB,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;YAEvB,MAAM,eAAe,GAAG,CAAC,QAAQ,EAAE,EAAE;gBACnC,IAAI,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvC,IAAI,IAAI,GAAG,EAAE,CAAC;gBAEd,IAAG,QAAQ,EAAC;oBACV,IAAI,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC1C,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;oBAE3B,IAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAC;wBACnB,IAAI,IAAG,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAA,CAAA,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAA;qBACjF;iBACF;gBAED,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;gBAEnB,IAAI,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,gBAAgB;oBACjD,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,MAAM,CAAC,IAAI,IAAI,CAAC;oBAC3D,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,eAAe,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;gBAE/E,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC;gBAEvB,KAAK,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;gBAE3D,KAAK,CAAC,aAAa,CACjB,IAAI,WAAW,CAAC,eAAe,EAAE;oBAC/B,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE;wBACN,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,QAAQ;wBACR,KAAK,EAAE,IAAI;qBACZ;iBACF,CAAC,CACH,CAAA;YACH,CAAC,CAAA;YAED,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,CAAA;QACxD,CAAC;;OAEJ;QACH,CAAC,CAAC,IAAI,CAAA,EAAE,CAAA;AACZ,CAAC,CAAA","sourcesContent":["import '../popup/meta-object-selector-popup'\n\nimport { html } from 'lit-html'\nimport { openPopup } from '@operato/layout'\nimport { TermsUtil } from './../../utils/terms-util'\n\nfunction openMetaObjectSelector(filter, value, confirmCallback) {\n\n var template = html`\n <meta-object-selector-popup\n .value=${value}\n .options=${filter.options}\n .confirmCallback=${confirmCallback}\n ></meta-object-selector-popup>\n `\n\n openPopup(template, {\n backdrop: true,\n size: 'large',\n title: filter.options.selectorName ? TermsUtil.tMenu(filter.options.selectorName) : TermsUtil.tTitle('select_item')\n })\n}\n\n\nexport const FilterFormMetaObjectSelect = (filter, value, owner) =>{\n const options = filter.options;\n const { operator = 'eq' } = filter;\n let hideText = value ? value.id : '';\n let text = '';\n\n if(value){\n let fields = options.nameField.split(\",\");\n text = value[fields[0]];\n\n if(fields.length > 1){\n text+= `(${fields.splice(1).map(field => { return value[field]}).join(\",\")})` \n }\n }\n\n return operator === 'eq'\n ? html`\n <input name='${filter.name}' .value=${hideText} type=\"text\" hidden></input>\n <input\n type=\"text\"\n readonly\n name='${filter.name}_disp'\n .value=${text}\n @click=${(e) => {\n e.stopPropagation();\n\n const input = e.target;\n\n const confirmCallback = (selected) => {\n let code = selected ? selected.id : '';\n let disp = '';\n\n if(selected){\n let fields = options.nameField.split(\",\");\n disp = selected[fields[0]];\n \n if(fields.length > 1){\n disp+= `(${fields.splice(1).map(field => { return selected[field]}).join(\",\")})` \n }\n }\n\n input.value = disp;\n\n let codeInput = owner.tagName.toLowerCase() == 'ox-grid-header' \n ? owner.renderRoot.querySelector(`[name=\"${filter.name}\"]`)\n : owner.renderRoot.querySelector(`form [name=\"${filter.name}\"]`);\n \n codeInput.value = code;\n\n input.dispatchEvent(new Event('change', { bubbles: true })) \n\n input.dispatchEvent(\n new CustomEvent('filter-change', {\n bubbles: true,\n composed: true,\n detail: {\n name: filter.name,\n operator,\n value: code\n }\n })\n )\n }\n\n openMetaObjectSelector(filter, value, confirmCallback)\n }}\n />\n `\n : html``\n}\n"]}
1
+ {"version":3,"file":"filter-form-meta-object-select.js","sourceRoot":"","sources":["../../../client/component/filter/filter-form-meta-object-select.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\nimport '../popup/meta-object-selector-popup'\n\nimport { html } from 'lit-html'\n\nimport { openPopup } from '@operato/layout'\nimport { FilterSelectRenderer } from '@operato/form'\nimport { TermsUtil } from '../../utils/terms-util'\n\nfunction openMetaObjectSelector(filter, value, confirmCallback) {\n var template = html` <meta-object-selector-popup .value=${value} .options=${filter.options} .confirmCallback=${confirmCallback}></meta-object-selector-popup> `\n\n openPopup(template, {\n backdrop: true,\n size: 'large',\n title: filter.options.selectorName ? String(TermsUtil.tMenu(filter.options.selectorName)) : String(TermsUtil.tTitle('select_item'))\n })\n}\n\nexport const FilterFormMetaObjectSelect: FilterSelectRenderer = (filter, value, owner) => {\n const options = filter.options\n const { operator = 'eq' } = filter\n const hiddenText = value ? value.id : ''\n\n var text = ''\n\n if (value) {\n let fields = options!.nameField.split(',')\n text = value[fields[0]]\n\n if (fields.length > 1) {\n text += `(${fields\n .splice(1)\n .map(field => {\n return value[field]\n })\n .join(',')})`\n }\n }\n\n return operator === 'eq'\n ? html`\n <input name='${filter.name}' .value=${hiddenText} type=\"text\" hidden></input>\n <input\n type=\"text\"\n readonly\n name='${filter.name}_disp'\n .value=${text}\n @click=${e => {\n e.stopPropagation()\n\n const input = e.target\n\n const confirmCallback = selected => {\n let code = selected ? selected.id : ''\n let disp = ''\n\n if (selected) {\n let fields = options!.nameField.split(',')\n disp = selected[fields[0]]\n\n if (fields.length > 1) {\n disp += `(${fields\n .splice(1)\n .map(field => {\n return selected[field]\n })\n .join(',')})`\n }\n }\n\n input.value = disp\n\n let codeInput =\n owner.tagName.toLowerCase() == 'ox-grid-header'\n ? //@ts-ignore owner element를 전제하지 않는 방법이 필요할 것이다.\n owner.renderRoot.querySelector(`[name=\"${filter.name}\"]`)\n : //@ts-ignore owner element를 전제하지 않는 방법이 필요할 것이다.\n owner.renderRoot.querySelector(`form [name=\"${filter.name}\"]`)\n\n codeInput.value = code\n\n input.dispatchEvent(new Event('change', { bubbles: true }))\n\n input.dispatchEvent(\n new CustomEvent('filter-change', {\n bubbles: true,\n composed: true,\n detail: {\n name: filter.name,\n operator,\n value: code\n }\n })\n )\n }\n\n openMetaObjectSelector(filter, value, confirmCallback)\n }}\n />\n <md-icon style=\"--md-icon-size: 18px;margin-left: -24px;\">manage_search</md-icon>\n `\n : html``\n}\n"]}
@@ -1 +1,3 @@
1
- export function FilterGristMetaCodeSelect(column: any, value: any, owner: any): import("lit-html").TemplateResult<1>;
1
+ import '../popup/meta-object-selector-popup';
2
+ import { FilterSelectRenderer } from '@operato/data-grist';
3
+ export declare const FilterGristMetaCodeSelect: FilterSelectRenderer;
@@ -1,28 +1,22 @@
1
1
  import '../popup/meta-object-selector-popup';
2
2
  import { html } from 'lit-html';
3
3
  import { openPopup } from '@operato/layout';
4
- import { TermsUtil } from './../../utils/terms-util';
4
+ import { TermsUtil } from '../../utils/terms-util';
5
5
  function openMetaCodeSelector(column, value, confirmCallback) {
6
- var template = html `
7
- <meta-object-selector-popup
8
- .value=${value}
9
- .options=${column.record.options}
10
- .confirmCallback=${confirmCallback}
11
- ></meta-object-selector-popup>
12
- `;
6
+ var template = html ` <meta-object-selector-popup .value=${value} .options=${column.record.options} .confirmCallback=${confirmCallback}></meta-object-selector-popup> `;
13
7
  openPopup(template, {
14
8
  backdrop: true,
15
9
  size: 'large',
16
- title: column.record.options.selectorName ? TermsUtil.tMenu(column.record.options.selectorName) : TermsUtil.tTitle('select_item')
10
+ title: column.record.options.selectorName ? String(TermsUtil.tMenu(column.record.options.selectorName)) : String(TermsUtil.tTitle('select_item'))
17
11
  });
18
12
  }
19
13
  export const FilterGristMetaCodeSelect = (column, value, owner) => {
20
14
  const filter = column.filter;
21
15
  const options = column.record.options;
22
- const codes = (options.codes && options.codes.length > 0) ? options.codes : undefined;
16
+ const codes = options.codes && options.codes.length > 0 ? options.codes : undefined;
23
17
  const { operator = 'eq' } = filter;
24
- let hideText = value ? value : '';
25
- let text = value ? value : '';
18
+ const hiddenText = value ? value : '';
19
+ var text = value ? value : '';
26
20
  if (options.dispField && value && codes) {
27
21
  let dispCode = codes.filter(x => x.value == value);
28
22
  if (dispCode && dispCode.length > 0) {
@@ -31,29 +25,36 @@ export const FilterGristMetaCodeSelect = (column, value, owner) => {
31
25
  }
32
26
  return operator === 'eq'
33
27
  ? html `
34
- <input name='${column.name}' .value=${hideText} type="text" hidden></input>
28
+ <input name='${column.name}' .value=${hiddenText} type="text" hidden></input>
35
29
  <input
36
30
  type="text"
37
31
  readonly
38
32
  name='${column.name}_disp'
39
33
  .value=${text}
40
- @click=${(e) => {
34
+ @click=${e => {
41
35
  e.stopPropagation();
42
36
  const input = e.target;
43
- const confirmCallback = (selected) => {
37
+ const confirmCallback = selected => {
44
38
  let code = selected ? selected[options.codeField] : '';
45
39
  let disp = code;
46
40
  if (selected && options.dispField) {
47
- let fields = options.dispField.split(",");
41
+ let fields = options.dispField.split(',');
48
42
  disp = selected[fields[0]];
49
43
  if (fields.length > 1) {
50
- disp += `(${fields.splice(1).map(field => { return selected[field]; }).join(",")})`;
44
+ disp += `(${fields
45
+ .splice(1)
46
+ .map(field => {
47
+ return selected[field];
48
+ })
49
+ .join(',')})`;
51
50
  }
52
51
  }
53
52
  input.value = disp;
54
53
  let codeInput = owner.tagName.toLowerCase() == 'ox-grid-header'
55
- ? owner.renderRoot.querySelector(`[name="${filter.name}"]`)
56
- : owner.renderRoot.querySelector(`form [name="${filter.name}"]`);
54
+ ? //@ts-ignore owner element를 전제하지 않는 방법이 필요할 것이다.
55
+ owner.renderRoot.querySelector(`[name="${filter.name}"]`)
56
+ : //@ts-ignore owner element를 전제하지 않는 방법이 필요할 것이다.
57
+ owner.renderRoot.querySelector(`form [name="${filter.name}"]`);
57
58
  codeInput.value = code;
58
59
  input.dispatchEvent(new Event('change', { bubbles: true }));
59
60
  input.dispatchEvent(new CustomEvent('filter-change', {
@@ -1 +1 @@
1
- {"version":3,"file":"filter-grist-meta-code-select.js","sourceRoot":"","sources":["../../../client/component/filter/filter-grist-meta-code-select.js"],"names":[],"mappings":"AAAA,OAAO,qCAAqC,CAAA;AAE5C,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAE/B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAGpD,SAAS,oBAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,eAAe;IAE1D,IAAI,QAAQ,GAAG,IAAI,CAAA;;eAEN,KAAK;iBACH,MAAM,CAAC,MAAM,CAAC,OAAO;yBACb,eAAe;;GAErC,CAAA;IAED,SAAS,CAAC,QAAQ,EAAE;QAClB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC;KAClI,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;IAChE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACtF,MAAM,EAAE,QAAQ,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IACnC,IAAI,QAAQ,GAAG,KAAK,CAAA,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACjC,IAAI,IAAI,GAAG,KAAK,CAAA,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAE7B,IAAG,OAAO,CAAC,SAAS,IAAI,KAAK,IAAI,KAAK,EAAC;QACrC,IAAI,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC;QAElD,IAAG,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAC;YACjC,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;SAC5B;KACF;IAED,OAAO,QAAQ,KAAK,IAAI;QACtB,CAAC,CAAC,IAAI,CAAA;uBACa,MAAM,CAAC,IAAI,YAAY,QAAQ;;;;kBAIpC,MAAM,CAAC,IAAI;mBACV,IAAI;mBACJ,CAAC,CAAC,EAAE,EAAE;YACb,CAAC,CAAC,eAAe,EAAE,CAAC;YAEpB,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;YAEvB,MAAM,eAAe,GAAG,CAAC,QAAQ,EAAE,EAAE;gBACnC,IAAI,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,IAAI,IAAI,GAAG,IAAI,CAAC;gBAEhB,IAAG,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAC;oBAC/B,IAAI,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC1C,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;oBAE3B,IAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAC;wBACnB,IAAI,IAAG,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAA,CAAA,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAA;qBACjF;iBACF;gBAED,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;gBAEnB,IAAI,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,gBAAgB;oBACjD,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,MAAM,CAAC,IAAI,IAAI,CAAC;oBAC3D,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,eAAe,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;gBAC/E,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC;gBAEvB,KAAK,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;gBAE3D,KAAK,CAAC,aAAa,CACjB,IAAI,WAAW,CAAC,eAAe,EAAE;oBAC/B,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE;wBACN,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,QAAQ;wBACR,KAAK,EAAE,IAAI;qBACZ;iBACF,CAAC,CACH,CAAA;YACH,CAAC,CAAA;YAED,oBAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,CAAA;QACtD,CAAC;;OAEJ;QACH,CAAC,CAAC,IAAI,CAAA,EAAE,CAAA;AACZ,CAAC,CAAA","sourcesContent":["import '../popup/meta-object-selector-popup'\n\nimport { html } from 'lit-html'\n\nimport { openPopup } from '@operato/layout'\nimport { TermsUtil } from './../../utils/terms-util'\n\n\nfunction openMetaCodeSelector(column, value, confirmCallback) {\n\n var template = html`\n <meta-object-selector-popup\n .value=${value}\n .options=${column.record.options}\n .confirmCallback=${confirmCallback}\n ></meta-object-selector-popup>\n `\n\n openPopup(template, {\n backdrop: true,\n size: 'large',\n title: column.record.options.selectorName ? TermsUtil.tMenu(column.record.options.selectorName) : TermsUtil.tTitle('select_item')\n })\n}\n\nexport const FilterGristMetaCodeSelect = (column, value, owner) => {\n const filter = column.filter;\n const options = column.record.options;\n const codes = (options.codes && options.codes.length > 0) ? options.codes : undefined;\n const { operator = 'eq' } = filter;\n let hideText = value? value : '';\n let text = value? value : '';\n\n if(options.dispField && value && codes){\n let dispCode = codes.filter(x=> x.value == value);\n\n if(dispCode && dispCode.length > 0){\n text = dispCode[0].display;\n }\n }\n\n return operator === 'eq'\n ? html`\n <input name='${column.name}' .value=${hideText} type=\"text\" hidden></input>\n <input\n type=\"text\"\n readonly\n name='${column.name}_disp'\n .value=${text}\n @click=${(e) => {\n e.stopPropagation();\n\n const input = e.target;\n\n const confirmCallback = (selected) => {\n let code = selected ? selected[options.codeField] : '';\n let disp = code;\n\n if(selected && options.dispField){\n let fields = options.dispField.split(\",\");\n disp = selected[fields[0]];\n \n if(fields.length > 1){\n disp+= `(${fields.splice(1).map(field => { return selected[field]}).join(\",\")})` \n }\n }\n\n input.value = disp;\n\n let codeInput = owner.tagName.toLowerCase() == 'ox-grid-header' \n ? owner.renderRoot.querySelector(`[name=\"${filter.name}\"]`)\n : owner.renderRoot.querySelector(`form [name=\"${filter.name}\"]`);\n codeInput.value = code;\n\n input.dispatchEvent(new Event('change', { bubbles: true })) \n\n input.dispatchEvent(\n new CustomEvent('filter-change', {\n bubbles: true,\n composed: true,\n detail: {\n name: column.name,\n operator,\n value: code\n }\n })\n )\n }\n\n openMetaCodeSelector(column, value, confirmCallback)\n }}\n />\n `\n : html``\n}\n"]}
1
+ {"version":3,"file":"filter-grist-meta-code-select.js","sourceRoot":"","sources":["../../../client/component/filter/filter-grist-meta-code-select.ts"],"names":[],"mappings":"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","sourcesContent":["import '../popup/meta-object-selector-popup'\n\nimport { html } from 'lit-html'\n\nimport { openPopup } from '@operato/layout'\nimport { FilterConfigObject, FilterSelectRenderer } from '@operato/data-grist'\nimport { TermsUtil } from '../../utils/terms-util'\n\nfunction openMetaCodeSelector(column, value, confirmCallback) {\n var template = html` <meta-object-selector-popup .value=${value} .options=${column.record.options} .confirmCallback=${confirmCallback}></meta-object-selector-popup> `\n\n openPopup(template, {\n backdrop: true,\n size: 'large',\n title: column.record.options.selectorName ? String(TermsUtil.tMenu(column.record.options.selectorName)) : String(TermsUtil.tTitle('select_item'))\n })\n}\n\nexport const FilterGristMetaCodeSelect: FilterSelectRenderer = (column, value, owner) => {\n const filter = column.filter\n const options = column.record.options\n const codes = options.codes && options.codes.length > 0 ? options.codes : undefined\n const { operator = 'eq' } = filter as FilterConfigObject\n const hiddenText = value ? value : ''\n\n var text = value ? value : ''\n\n if (options.dispField && value && codes) {\n let dispCode = codes.filter(x => x.value == value)\n\n if (dispCode && dispCode.length > 0) {\n text = dispCode[0].display\n }\n }\n\n return operator === 'eq'\n ? html`\n <input name='${column.name}' .value=${hiddenText} type=\"text\" hidden></input>\n <input\n type=\"text\"\n readonly\n name='${column.name}_disp'\n .value=${text}\n @click=${e => {\n e.stopPropagation()\n\n const input = e.target\n\n const confirmCallback = selected => {\n let code = selected ? selected[options.codeField] : ''\n let disp = code\n\n if (selected && options.dispField) {\n let fields = options.dispField.split(',')\n disp = selected[fields[0]]\n\n if (fields.length > 1) {\n disp += `(${fields\n .splice(1)\n .map(field => {\n return selected[field]\n })\n .join(',')})`\n }\n }\n\n input.value = disp\n\n let codeInput =\n owner.tagName.toLowerCase() == 'ox-grid-header'\n ? //@ts-ignore owner element를 전제하지 않는 방법이 필요할 것이다.\n owner.renderRoot.querySelector(`[name=\"${filter.name}\"]`)\n : //@ts-ignore owner element를 전제하지 않는 방법이 필요할 것이다.\n owner.renderRoot.querySelector(`form [name=\"${filter.name}\"]`)\n codeInput.value = code\n\n input.dispatchEvent(new Event('change', { bubbles: true }))\n\n input.dispatchEvent(\n new CustomEvent('filter-change', {\n bubbles: true,\n composed: true,\n detail: {\n name: column.name,\n operator,\n value: code\n }\n })\n )\n }\n\n openMetaCodeSelector(column, value, confirmCallback)\n }}\n />\n `\n : html``\n}\n"]}
@@ -1 +1,3 @@
1
- export function FilterGristMetaObjectSelect(column: any, value: any, owner: any): import("lit-html").TemplateResult<1>;
1
+ import '../popup/meta-object-selector-popup';
2
+ import { FilterSelectRenderer } from '@operato/data-grist';
3
+ export declare const FilterGristMetaObjectSelect: FilterSelectRenderer;
@@ -1,59 +1,65 @@
1
1
  import '../popup/meta-object-selector-popup';
2
2
  import { html } from 'lit-html';
3
3
  import { openPopup } from '@operato/layout';
4
- import { TermsUtil } from './../../utils/terms-util';
4
+ import { TermsUtil } from '../../utils/terms-util';
5
5
  function openMetaObjectSelector(column, value, confirmCallback) {
6
- var template = html `
7
- <meta-object-selector-popup
8
- .value=${value}
9
- .options=${column.record.options}
10
- .confirmCallback=${confirmCallback}
11
- ></meta-object-selector-popup>
12
- `;
6
+ var template = html ` <meta-object-selector-popup .value=${value} .options=${column.record.options} .confirmCallback=${confirmCallback}></meta-object-selector-popup> `;
13
7
  openPopup(template, {
14
8
  backdrop: true,
15
9
  size: 'large',
16
- title: column.record.options.selectorName ? TermsUtil.tMenu(column.record.options.selectorName) : TermsUtil.tTitle('select_item')
10
+ title: column.record.options.selectorName ? String(TermsUtil.tMenu(column.record.options.selectorName)) : String(TermsUtil.tTitle('select_item'))
17
11
  });
18
12
  }
19
13
  export const FilterGristMetaObjectSelect = (column, value, owner) => {
20
14
  const filter = column.filter;
21
15
  const { operator = 'eq' } = filter;
22
16
  const options = column.record.options;
23
- let hideText = value ? value.id : '';
24
- let text = '';
17
+ const hiddenText = value ? value.id : '';
18
+ var text = '';
25
19
  if (value) {
26
- let fields = options.nameField.split(",");
20
+ let fields = options.nameField.split(',');
27
21
  text = value[fields[0]];
28
22
  if (fields.length > 1) {
29
- text += `(${fields.splice(1).map(field => { return value[field]; }).join(",")})`;
23
+ text += `(${fields
24
+ .splice(1)
25
+ .map(field => {
26
+ return value[field];
27
+ })
28
+ .join(',')})`;
30
29
  }
31
30
  }
32
31
  return operator === 'eq'
33
32
  ? html `
34
- <input name='${column.name}' .value=${hideText} type="text" hidden></input>
33
+ <input name='${column.name}' .value=${hiddenText} type="text" hidden></input>
35
34
  <input
36
35
  type="text"
37
36
  readonly
38
37
  name='${column.name}_disp'
39
38
  .value=${text}
40
- @click=${(e) => {
39
+ @click=${e => {
41
40
  e.stopPropagation();
42
41
  const input = e.target;
43
- const confirmCallback = (selected) => {
42
+ const confirmCallback = selected => {
44
43
  let code = selected ? selected.id : '';
45
44
  let disp = '';
46
45
  if (selected) {
47
- let fields = options.nameField.split(",");
46
+ let fields = options.nameField.split(',');
48
47
  disp = selected[fields[0]];
49
48
  if (fields.length > 1) {
50
- disp += `(${fields.splice(1).map(field => { return selected[field]; }).join(",")})`;
49
+ disp += `(${fields
50
+ .splice(1)
51
+ .map(field => {
52
+ return selected[field];
53
+ })
54
+ .join(',')})`;
51
55
  }
52
56
  }
53
57
  input.value = disp;
54
58
  let codeInput = owner.tagName.toLowerCase() == 'ox-grid-header'
55
- ? owner.renderRoot.querySelector(`[name="${filter.name}"]`)
56
- : owner.renderRoot.querySelector(`form [name="${filter.name}"]`);
59
+ ? //@ts-ignore owner element를 전제하지 않는 방법이 필요할 것이다.
60
+ owner.renderRoot.querySelector(`[name="${filter.name}"]`)
61
+ : //@ts-ignore owner element를 전제하지 않는 방법이 필요할 것이다.
62
+ owner.renderRoot.querySelector(`form [name="${filter.name}"]`);
57
63
  codeInput.value = code;
58
64
  input.dispatchEvent(new Event('change', { bubbles: true }));
59
65
  input.dispatchEvent(new CustomEvent('filter-change', {
@@ -1 +1 @@
1
- {"version":3,"file":"filter-grist-meta-object-select.js","sourceRoot":"","sources":["../../../client/component/filter/filter-grist-meta-object-select.js"],"names":[],"mappings":"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","sourcesContent":["import '../popup/meta-object-selector-popup'\n\nimport { html } from 'lit-html'\n\nimport { openPopup } from '@operato/layout'\nimport { TermsUtil } from './../../utils/terms-util'\n\n\nfunction openMetaObjectSelector(column, value, confirmCallback) {\n\n var template = html`\n <meta-object-selector-popup\n .value=${value}\n .options=${column.record.options}\n .confirmCallback=${confirmCallback}\n ></meta-object-selector-popup>\n `\n\n openPopup(template, {\n backdrop: true,\n size: 'large',\n title: column.record.options.selectorName ? TermsUtil.tMenu(column.record.options.selectorName) : TermsUtil.tTitle('select_item')\n })\n}\n\nexport const FilterGristMetaObjectSelect = (column, value, owner) => {\n const filter = column.filter;\n const { operator = 'eq' } = filter;\n const options = column.record.options;\n let hideText = value? value.id : '';\n let text = '';\n\n if(value){\n let fields = options.nameField.split(\",\");\n text = value[fields[0]];\n\n if(fields.length > 1){\n text+= `(${fields.splice(1).map(field => { return value[field]}).join(\",\")})` \n }\n }\n\n return operator === 'eq'\n ? html`\n <input name='${column.name}' .value=${hideText} type=\"text\" hidden></input>\n <input\n type=\"text\"\n readonly\n name='${column.name}_disp'\n .value=${text}\n @click=${(e) => {\n e.stopPropagation();\n\n const input = e.target;\n\n const confirmCallback = (selected) => {\n let code = selected ? selected.id : '';\n let disp = '';\n\n if(selected){\n let fields = options.nameField.split(\",\");\n disp = selected[fields[0]];\n \n if(fields.length > 1){\n disp+= `(${fields.splice(1).map(field => { return selected[field]}).join(\",\")})` \n }\n }\n\n input.value = disp;\n\n let codeInput = owner.tagName.toLowerCase() == 'ox-grid-header' \n ? owner.renderRoot.querySelector(`[name=\"${filter.name}\"]`)\n : owner.renderRoot.querySelector(`form [name=\"${filter.name}\"]`);\n codeInput.value = code;\n\n input.dispatchEvent(new Event('change', { bubbles: true })) \n\n input.dispatchEvent(\n new CustomEvent('filter-change', {\n bubbles: true,\n composed: true,\n detail: {\n name: column.name,\n operator,\n value: code\n }\n })\n )\n }\n\n openMetaObjectSelector(column, value, confirmCallback)\n }}\n />\n `\n : html``\n}\n"]}
1
+ {"version":3,"file":"filter-grist-meta-object-select.js","sourceRoot":"","sources":["../../../client/component/filter/filter-grist-meta-object-select.ts"],"names":[],"mappings":"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","sourcesContent":["import '../popup/meta-object-selector-popup'\n\nimport { html } from 'lit-html'\n\nimport { openPopup } from '@operato/layout'\nimport { FilterConfigObject, FilterSelectRenderer } from '@operato/data-grist'\nimport { TermsUtil } from '../../utils/terms-util'\n\nfunction openMetaObjectSelector(column, value, confirmCallback) {\n var template = html` <meta-object-selector-popup .value=${value} .options=${column.record.options} .confirmCallback=${confirmCallback}></meta-object-selector-popup> `\n\n openPopup(template, {\n backdrop: true,\n size: 'large',\n title: column.record.options.selectorName ? String(TermsUtil.tMenu(column.record.options.selectorName)) : String(TermsUtil.tTitle('select_item'))\n })\n}\n\nexport const FilterGristMetaObjectSelect: FilterSelectRenderer = (column, value, owner) => {\n const filter = column.filter\n const { operator = 'eq' } = filter as FilterConfigObject\n const options = column.record.options\n const hiddenText = value ? value.id : ''\n\n var text = ''\n\n if (value) {\n let fields = options.nameField.split(',')\n text = value[fields[0]]\n\n if (fields.length > 1) {\n text += `(${fields\n .splice(1)\n .map(field => {\n return value[field]\n })\n .join(',')})`\n }\n }\n\n return operator === 'eq'\n ? html`\n <input name='${column.name}' .value=${hiddenText} type=\"text\" hidden></input>\n <input\n type=\"text\"\n readonly\n name='${column.name}_disp'\n .value=${text}\n @click=${e => {\n e.stopPropagation()\n\n const input = e.target\n\n const confirmCallback = selected => {\n let code = selected ? selected.id : ''\n let disp = ''\n\n if (selected) {\n let fields = options.nameField.split(',')\n disp = selected[fields[0]]\n\n if (fields.length > 1) {\n disp += `(${fields\n .splice(1)\n .map(field => {\n return selected[field]\n })\n .join(',')})`\n }\n }\n\n input.value = disp\n\n let codeInput =\n owner.tagName.toLowerCase() == 'ox-grid-header'\n ? //@ts-ignore owner element를 전제하지 않는 방법이 필요할 것이다.\n owner.renderRoot.querySelector(`[name=\"${filter.name}\"]`)\n : //@ts-ignore owner element를 전제하지 않는 방법이 필요할 것이다.\n owner.renderRoot.querySelector(`form [name=\"${filter.name}\"]`)\n codeInput.value = code\n\n input.dispatchEvent(new Event('change', { bubbles: true }))\n\n input.dispatchEvent(\n new CustomEvent('filter-change', {\n bubbles: true,\n composed: true,\n detail: {\n name: column.name,\n operator,\n value: code\n }\n })\n )\n }\n\n openMetaObjectSelector(column, value, confirmCallback)\n }}\n />\n `\n : html``\n}\n"]}
@@ -26,7 +26,7 @@ export class CodeInputEditorPopup extends LitElement {
26
26
  <ox-input-code mode="javascript" value=${this.codeVlaue} tab-size="2" tab-as-space="true"></ox-input-code>
27
27
 
28
28
  <div id="button-container" class="button-container" style="margin-left:unset;">
29
- <button @click=${this.clickEmpty.bind(this)}><md-icon>clear_box_outline_blank</md-icon>${TermsUtil.tButton('empty')}</button>
29
+ <button @click=${this.clickEmpty.bind(this)}><md-icon>check_box_outline_blank</md-icon>${TermsUtil.tButton('empty')}</button>
30
30
  <div filler></div>
31
31
  <button @click=${this.clickCancel.bind(this)}><md-icon>cancel</md-icon>${TermsUtil.tButton('cancel')}</button>
32
32
  <button @click=${this.clickConfirm.bind(this)}><md-icon>done</md-icon>${TermsUtil.tButton('confirm')}</button>
@@ -1 +1 @@
1
- {"version":3,"file":"code-input-editor-popup.js","sourceRoot":"","sources":["../../../client/component/popup/code-input-editor-popup.js"],"names":[],"mappings":"AAAA,OAAO,4BAA4B,CAAA;AAEnC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,iCAAiC,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,UAAU;IAuBlD,KAAK,CAAC,iBAAiB;QACrB,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;YAClC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;SAClD;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAA;SAC5B;QAED,MAAM,KAAK,CAAC,iBAAiB,EAAE,CAAA;IACjC,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,KAAK,CAAC,YAAY,EAAE,CAAA;IAC5B,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;+CACgC,IAAI,CAAC,SAAS;;;yBAGpC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,8CAA8C,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;;yBAElG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,6BAA6B,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC;yBACnF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC;;KAEvG,CAAA;IACH,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,eAAe,CAAC,CAAA;IACvD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,CAAC;QAChB,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;QAClD,UAAU,CAAC,IAAI,CAAC,CAAA;IAClB,CAAC;IACD;;;;OAIG;IACH,KAAK,CAAC,WAAW,CAAC,CAAC;QACjB,UAAU,CAAC,IAAI,CAAC,CAAA;IAClB,CAAC;IACD;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,CAAC;QAClB,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;YAC5C,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAA;YAC7D,OAAM;SACP;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAC1C,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,KAAK;QACtB,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;QACnD,UAAU,CAAC,IAAI,CAAC,CAAA;IAClB,CAAC;;AA3FM,2BAAM,GAAG;IACd,iBAAiB;IACjB,qBAAqB;IACrB,GAAG,CAAA;;;;;;;;;;;;;;;;KAgBF;CACF,CAAA;AA0EH,cAAc,CAAC,MAAM,CAAC,yBAAyB,EAAE,oBAAoB,CAAC,CAAA","sourcesContent":["import '@material/web/icon/icon.js'\n\nimport { css, html, LitElement } from 'lit'\nimport { CommonGristStyles, ButtonContainerStyles } from '@operato/styles'\nimport { TermsUtil } from '../../utils/terms-util'\nimport { MetaApi } from '../../utils/meta-api'\nimport '@operato/input/ox-input-code.js'\nimport { closePopup } from '@operato/popup'\n\n/**\n * 코드 편집기 팝업\n */\nexport class CodeInputEditorPopup extends LitElement {\n static styles = [\n CommonGristStyles,\n ButtonContainerStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n\n background-color: #fff;\n\n width: var(--overlay-center-normal-width, 50%);\n height: var(--overlay-center-normal-height, 50%);\n }\n\n ox-input-code {\n margin: 10px;\n overflow-y: auto;\n flex: 1;\n }\n `\n ]\n\n async connectedCallback() {\n if (typeof this.value === 'object') {\n this.codeVlaue = JSON.stringify(this.value, 0, 2)\n } else {\n this.codeVlaue = this.value\n }\n\n await super.connectedCallback()\n }\n\n async firstUpdated() {\n await super.firstUpdated()\n }\n\n render() {\n return html`\n <ox-input-code mode=\"javascript\" value=${this.codeVlaue} tab-size=\"2\" tab-as-space=\"true\"></ox-input-code>\n\n <div id=\"button-container\" class=\"button-container\" style=\"margin-left:unset;\">\n <button @click=${this.clickEmpty.bind(this)}><md-icon>clear_box_outline_blank</md-icon>${TermsUtil.tButton('empty')}</button>\n <div filler></div>\n <button @click=${this.clickCancel.bind(this)}><md-icon>cancel</md-icon>${TermsUtil.tButton('cancel')}</button>\n <button @click=${this.clickConfirm.bind(this)}><md-icon>done</md-icon>${TermsUtil.tButton('confirm')}</button>\n </div>\n `\n }\n\n get codeEditor() {\n return this.shadowRoot.querySelector('ox-input-code')\n }\n\n /**\n * @description 비우기\n ***************************\n * @returns\n */\n async clickEmpty(e) {\n this.confirmCallback && this.confirmCallback(null)\n closePopup(this)\n }\n /**\n * @description 취소\n ***************************\n * @returns\n */\n async clickCancel(e) {\n closePopup(this)\n }\n /**\n * @description 확인\n ***************************\n * @returns\n */\n async clickConfirm(e) {\n if (this.codeVlaue === this.codeEditor.value) {\n MetaApi.showToast('info', TermsUtil.tText('NOTHING_CHANGED'))\n return\n }\n this.changedValue(this.codeEditor.value)\n }\n\n /**\n * @description 확정\n ***************************\n * @param {*} record\n */\n async changedValue(value) {\n this.confirmCallback && this.confirmCallback(value)\n closePopup(this)\n }\n}\n\ncustomElements.define('code-input-editor-popup', CodeInputEditorPopup)\n"]}
1
+ {"version":3,"file":"code-input-editor-popup.js","sourceRoot":"","sources":["../../../client/component/popup/code-input-editor-popup.js"],"names":[],"mappings":"AAAA,OAAO,4BAA4B,CAAA;AAEnC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,iCAAiC,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,UAAU;IAuBlD,KAAK,CAAC,iBAAiB;QACrB,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;YAClC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;SAClD;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAA;SAC5B;QAED,MAAM,KAAK,CAAC,iBAAiB,EAAE,CAAA;IACjC,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,KAAK,CAAC,YAAY,EAAE,CAAA;IAC5B,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;+CACgC,IAAI,CAAC,SAAS;;;yBAGpC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,8CAA8C,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;;yBAElG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,6BAA6B,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC;yBACnF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC;;KAEvG,CAAA;IACH,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,eAAe,CAAC,CAAA;IACvD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,CAAC;QAChB,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;QAClD,UAAU,CAAC,IAAI,CAAC,CAAA;IAClB,CAAC;IACD;;;;OAIG;IACH,KAAK,CAAC,WAAW,CAAC,CAAC;QACjB,UAAU,CAAC,IAAI,CAAC,CAAA;IAClB,CAAC;IACD;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,CAAC;QAClB,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;YAC5C,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAA;YAC7D,OAAM;SACP;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAC1C,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,KAAK;QACtB,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;QACnD,UAAU,CAAC,IAAI,CAAC,CAAA;IAClB,CAAC;;AA3FM,2BAAM,GAAG;IACd,iBAAiB;IACjB,qBAAqB;IACrB,GAAG,CAAA;;;;;;;;;;;;;;;;KAgBF;CACF,CAAA;AA0EH,cAAc,CAAC,MAAM,CAAC,yBAAyB,EAAE,oBAAoB,CAAC,CAAA","sourcesContent":["import '@material/web/icon/icon.js'\n\nimport { css, html, LitElement } from 'lit'\nimport { CommonGristStyles, ButtonContainerStyles } from '@operato/styles'\nimport { TermsUtil } from '../../utils/terms-util'\nimport { MetaApi } from '../../utils/meta-api'\nimport '@operato/input/ox-input-code.js'\nimport { closePopup } from '@operato/popup'\n\n/**\n * 코드 편집기 팝업\n */\nexport class CodeInputEditorPopup extends LitElement {\n static styles = [\n CommonGristStyles,\n ButtonContainerStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n\n background-color: #fff;\n\n width: var(--overlay-center-normal-width, 50%);\n height: var(--overlay-center-normal-height, 50%);\n }\n\n ox-input-code {\n margin: 10px;\n overflow-y: auto;\n flex: 1;\n }\n `\n ]\n\n async connectedCallback() {\n if (typeof this.value === 'object') {\n this.codeVlaue = JSON.stringify(this.value, 0, 2)\n } else {\n this.codeVlaue = this.value\n }\n\n await super.connectedCallback()\n }\n\n async firstUpdated() {\n await super.firstUpdated()\n }\n\n render() {\n return html`\n <ox-input-code mode=\"javascript\" value=${this.codeVlaue} tab-size=\"2\" tab-as-space=\"true\"></ox-input-code>\n\n <div id=\"button-container\" class=\"button-container\" style=\"margin-left:unset;\">\n <button @click=${this.clickEmpty.bind(this)}><md-icon>check_box_outline_blank</md-icon>${TermsUtil.tButton('empty')}</button>\n <div filler></div>\n <button @click=${this.clickCancel.bind(this)}><md-icon>cancel</md-icon>${TermsUtil.tButton('cancel')}</button>\n <button @click=${this.clickConfirm.bind(this)}><md-icon>done</md-icon>${TermsUtil.tButton('confirm')}</button>\n </div>\n `\n }\n\n get codeEditor() {\n return this.shadowRoot.querySelector('ox-input-code')\n }\n\n /**\n * @description 비우기\n ***************************\n * @returns\n */\n async clickEmpty(e) {\n this.confirmCallback && this.confirmCallback(null)\n closePopup(this)\n }\n /**\n * @description 취소\n ***************************\n * @returns\n */\n async clickCancel(e) {\n closePopup(this)\n }\n /**\n * @description 확인\n ***************************\n * @returns\n */\n async clickConfirm(e) {\n if (this.codeVlaue === this.codeEditor.value) {\n MetaApi.showToast('info', TermsUtil.tText('NOTHING_CHANGED'))\n return\n }\n this.changedValue(this.codeEditor.value)\n }\n\n /**\n * @description 확정\n ***************************\n * @param {*} record\n */\n async changedValue(value) {\n this.confirmCallback && this.confirmCallback(value)\n closePopup(this)\n }\n}\n\ncustomElements.define('code-input-editor-popup', CodeInputEditorPopup)\n"]}
@@ -1,32 +1,38 @@
1
- export class MetaObjectSelectorPopup extends LitElement {
1
+ import '@material/web/icon/icon.js';
2
+ import { LitElement, PropertyValues } from 'lit';
3
+ import { ColumnConfig, FetchOption, FetchResult, GristRecord } from '@operato/data-grist';
4
+ export declare class MetaObjectSelectorPopup extends LitElement {
2
5
  static styles: import("lit").CSSResult[];
6
+ value?: string;
7
+ gridConfig: any;
8
+ basicArgs?: FetchOption;
9
+ options: FetchOption & {
10
+ menu_template?: any;
11
+ filterFields?: any[];
12
+ codeField?: string;
13
+ nameField?: string;
14
+ dispField?: string;
15
+ queryName: string;
16
+ select?: (ColumnConfig & {
17
+ options: any;
18
+ select_opt: any;
19
+ object_opt: any;
20
+ })[];
21
+ };
22
+ confirmCallback?: (record?: Partial<GristRecord>) => void;
23
+ selectedRecords: GristRecord[];
24
+ private grist;
25
+ private foundationFilters;
26
+ private record;
3
27
  connectedCallback(): Promise<void>;
4
- search_hidden_fields: any;
5
- gridConfig: {
6
- rows: any;
7
- pagination: any;
8
- columns: any[];
9
- sorters: any[];
10
- } | undefined;
11
- firstUpdated(): Promise<void>;
28
+ firstUpdated(changes: PropertyValues<this>): Promise<void>;
12
29
  render(): import("lit").TemplateResult<1>;
13
- /**
14
- * @description 그리드 리턴
15
- **************************
16
- * @returns {Object} 그리드
17
- */
18
- get grist(): any;
19
30
  /**
20
31
  * @description 컬럼 조회
21
32
  ***************************
22
33
  * @returns
23
34
  */
24
- fetchHandler({ page, limit, sorters, filters }: {
25
- page?: number | undefined;
26
- limit?: number | undefined;
27
- sorters?: any[] | undefined;
28
- filters?: any[] | undefined;
29
- }): Promise<any[]>;
35
+ fetchHandler({ page, limit, sorters, filters }: FetchOption): Promise<FetchResult>;
30
36
  /**
31
37
  * @description 비우기
32
38
  ***************************
@@ -52,4 +58,3 @@ export class MetaObjectSelectorPopup extends LitElement {
52
58
  */
53
59
  selectRecord(record: any): Promise<void>;
54
60
  }
55
- import { LitElement } from "lit-element/lit-element";