@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.
- package/client/bootstrap.ts +1 -1
- package/client/component/filter/filter-form-meta-code-select.ts +99 -0
- package/client/component/filter/filter-form-meta-object-select.ts +104 -0
- package/client/component/filter/filter-grist-meta-code-select.ts +97 -0
- package/client/component/filter/filter-grist-meta-object-select.ts +102 -0
- package/client/component/popup/code-input-editor-popup.js +1 -1
- package/client/component/popup/{meta-object-selector-popup.js → meta-object-selector-popup.ts} +73 -46
- package/client/component/popup/{record-based-code-editor-popup.js → record-based-code-editor-popup.ts} +19 -18
- package/client/utils/meta-api.js +13 -1
- package/client/utils/meta-ui-util.js +21 -7
- package/client/utils/service-util.js +39 -3
- package/client/utils/{terms-util.js → terms-util.ts} +13 -13
- package/dist-client/bootstrap.js +1 -1
- package/dist-client/bootstrap.js.map +1 -1
- package/dist-client/component/filter/filter-form-meta-code-select.d.ts +4 -1
- package/dist-client/component/filter/filter-form-meta-code-select.js +22 -19
- package/dist-client/component/filter/filter-form-meta-code-select.js.map +1 -1
- package/dist-client/component/filter/filter-form-meta-object-select.d.ts +4 -1
- package/dist-client/component/filter/filter-form-meta-object-select.js +28 -20
- package/dist-client/component/filter/filter-form-meta-object-select.js.map +1 -1
- package/dist-client/component/filter/filter-grist-meta-code-select.d.ts +3 -1
- package/dist-client/component/filter/filter-grist-meta-code-select.js +20 -19
- package/dist-client/component/filter/filter-grist-meta-code-select.js.map +1 -1
- package/dist-client/component/filter/filter-grist-meta-object-select.d.ts +3 -1
- package/dist-client/component/filter/filter-grist-meta-object-select.js +26 -20
- package/dist-client/component/filter/filter-grist-meta-object-select.js.map +1 -1
- package/dist-client/component/popup/code-input-editor-popup.js +1 -1
- package/dist-client/component/popup/code-input-editor-popup.js.map +1 -1
- package/dist-client/component/popup/meta-object-selector-popup.d.ts +27 -22
- package/dist-client/component/popup/meta-object-selector-popup.js +76 -47
- package/dist-client/component/popup/meta-object-selector-popup.js.map +1 -1
- package/dist-client/component/popup/record-based-code-editor-popup.d.ts +10 -11
- package/dist-client/component/popup/record-based-code-editor-popup.js +59 -17
- package/dist-client/component/popup/record-based-code-editor-popup.js.map +1 -1
- package/dist-client/pages/history/history-copy-list-popup.d.ts +1 -1
- package/dist-client/pages/history/history-json-list-popup.d.ts +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-client/utils/meta-api.d.ts +11 -2
- package/dist-client/utils/meta-api.js +12 -1
- package/dist-client/utils/meta-api.js.map +1 -1
- package/dist-client/utils/meta-ui-util.js +18 -7
- package/dist-client/utils/meta-ui-util.js.map +1 -1
- package/dist-client/utils/service-util.d.ts +11 -1
- package/dist-client/utils/service-util.js +37 -3
- package/dist-client/utils/service-util.js.map +1 -1
- package/dist-client/utils/terms-util.d.ts +7 -7
- package/dist-client/utils/terms-util.js +4 -4
- package/dist-client/utils/terms-util.js.map +1 -1
- package/package.json +9 -8
- package/client/component/filter/filter-form-meta-code-select.js +0 -94
- package/client/component/filter/filter-form-meta-object-select.js +0 -94
- package/client/component/filter/filter-grist-meta-code-select.js +0 -95
- 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 '
|
|
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
|
-
|
|
23
|
-
|
|
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
|
|
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=${
|
|
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=${
|
|
39
|
+
@click=${e => {
|
|
40
40
|
e.stopPropagation();
|
|
41
41
|
const input = e.target;
|
|
42
|
-
const confirmCallback =
|
|
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
|
|
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
|
|
55
|
-
|
|
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.
|
|
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
|
-
|
|
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 '
|
|
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 =
|
|
16
|
+
const codes = options.codes && options.codes.length > 0 ? options.codes : undefined;
|
|
23
17
|
const { operator = 'eq' } = filter;
|
|
24
|
-
|
|
25
|
-
|
|
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=${
|
|
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=${
|
|
34
|
+
@click=${e => {
|
|
41
35
|
e.stopPropagation();
|
|
42
36
|
const input = e.target;
|
|
43
|
-
const confirmCallback =
|
|
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
|
|
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
|
|
56
|
-
|
|
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.
|
|
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
|
-
|
|
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 '
|
|
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
|
-
|
|
24
|
-
|
|
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
|
|
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=${
|
|
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=${
|
|
39
|
+
@click=${e => {
|
|
41
40
|
e.stopPropagation();
|
|
42
41
|
const input = e.target;
|
|
43
|
-
const confirmCallback =
|
|
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
|
|
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
|
|
56
|
-
|
|
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.
|
|
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>
|
|
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>
|
|
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
|
-
|
|
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
|
-
|
|
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";
|