@operato/app 2.0.0-alpha.147 → 2.0.0-alpha.148
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/CHANGELOG.md +9 -0
- package/demo/data-grist-test.html +1 -1
- package/dist/src/filter-renderer/filter-resource-select.js +9 -9
- package/dist/src/filter-renderer/filter-resource-select.js.map +1 -1
- package/dist/src/filters-form/filter-resource-select.js +10 -10
- package/dist/src/filters-form/filter-resource-select.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +12 -12
- package/src/filter-renderer/filter-resource-select.ts +53 -52
- package/src/filters-form/filter-resource-select.ts +44 -44
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,15 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [2.0.0-alpha.148](https://github.com/hatiolab/operato/compare/v2.0.0-alpha.147...v2.0.0-alpha.148) (2024-05-30)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### :rocket: New Features
|
|
10
|
+
|
|
11
|
+
* md3 ([55b7496](https://github.com/hatiolab/operato/commit/55b7496ea46a6b65ac6ab71bc1be7c89d1ba91e5))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
6
15
|
## [2.0.0-alpha.147](https://github.com/hatiolab/operato/compare/v2.0.0-alpha.146...v2.0.0-alpha.147) (2024-05-30)
|
|
7
16
|
|
|
8
17
|
**Note:** Version bump only for package @operato/app
|
|
@@ -70,13 +70,13 @@ export const FilterResourceSelect = (column, value, owner) => {
|
|
|
70
70
|
? html ``
|
|
71
71
|
: operator === 'eq'
|
|
72
72
|
? html `
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
73
|
+
<input name="${column.name}" .value=${hideValue} type="text" hidden />
|
|
74
|
+
<input
|
|
75
|
+
type="text"
|
|
76
|
+
name="${column.name}_disp"
|
|
77
|
+
.value=${text}
|
|
78
|
+
readonly
|
|
79
|
+
@click=${(e) => {
|
|
80
80
|
e.stopPropagation();
|
|
81
81
|
const input = e.target;
|
|
82
82
|
const confirmCallback = (selected) => {
|
|
@@ -103,8 +103,8 @@ export const FilterResourceSelect = (column, value, owner) => {
|
|
|
103
103
|
};
|
|
104
104
|
openResourceSelector(column, value, confirmCallback);
|
|
105
105
|
}}
|
|
106
|
-
|
|
107
|
-
|
|
106
|
+
/>
|
|
107
|
+
`
|
|
108
108
|
: html ``;
|
|
109
109
|
};
|
|
110
110
|
//# sourceMappingURL=filter-resource-select.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-resource-select.js","sourceRoot":"","sources":["../../../src/filter-renderer/filter-resource-select.ts"],"names":[],"mappings":"AAAA,OAAO,+BAA+B,CAAA;AACtC,OAAO,qCAAqC,CAAA;AAE5C,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAG/B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAI3C,SAAS,oBAAoB,CAAC,MAAoB,EAAE,KAAU,EAAE,eAAiC;IAC/F,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,GAAG,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAA;IAE9F,IAAI,WAAW,CAAA;IACf,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE,CAAC;QACrC,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IACjC,CAAC;SAAM,CAAC;QACN,WAAW,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,UAAU,CAAC,CAAA;IACnC,CAAC;IAED,IAAI,QAAQ,GAAG,IAAI,CAAA;;eAEN,WAAW;yBACD,eAAe;mBACrB,SAAS;iBACX,MAAM;cACT,IAAI;mBACC,SAAS;oBACR,UAAU;;GAE3B,CAAA;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,EAAE;QAChC,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,OAAO;QACb,MAAM,EAAE;YACN,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC;YACpD,OAAO,EAAE,CAAC,QAAa,EAAE,KAAU,EAAE,EAAE;gBACrC,iCAAiC;gBACjC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;YAC5B,CAAC;SACF;QACD,MAAM,EAAE;YACN,OAAO,EAAE,CAAC,QAAa,EAAE,EAAE;gBACzB,iCAAiC;gBACjC,QAAQ,CAAC,YAAY,EAAE,CAAA;YACzB,CAAC;SACF;KACF,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAyB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAU,EAAE,EAAE;IACtF,MAAM,MAAM,GAAG,MAAM,CAAC,MAA4B,CAAA;IAClD,MAAM,EAAE,QAAQ,GAAG,MAAM,EAAE,GAAG,MAAM,CAAA;IACpC,IAAI,EAAE,OAAO,GAAG,IAAI,EAAE,SAAS,GAAG,MAAM,EAAE,gBAAgB,GAAG,aAAa,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"filter-resource-select.js","sourceRoot":"","sources":["../../../src/filter-renderer/filter-resource-select.ts"],"names":[],"mappings":"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","sourcesContent":["import '@operato/input/ox-checkbox.js'\nimport '../selector/ox-selector-resource-id'\n\nimport { html } from 'lit-html'\n\nimport { ColumnConfig, FilterConfigObject, FilterSelectRenderer } from '@operato/data-grist'\nimport { i18next } from '@operato/i18n'\nimport { openPopup } from '@operato/layout'\n\ntype SelectedCallback = (value: { id: string; name: string; description: string }) => void\n\nfunction openResourceSelector(column: ColumnConfig, value: any, confirmCallback: SelectedCallback) {\n const { queryName, select, list, basicArgs, valueField = 'id', title } = column.record.options\n\n var actualValue\n if (typeof valueField === 'function') {\n actualValue = valueField(value)\n } else {\n actualValue = value?.[valueField]\n }\n\n var template = html`\n <ox-selector-resource-object\n .value=${actualValue}\n .confirmCallback=${confirmCallback}\n .queryName=${queryName}\n .columns=${select}\n .list=${list}\n .basicArgs=${basicArgs}\n .valueField=${valueField}\n ></ox-selector-resource-object>\n `\n\n const popup = openPopup(template, {\n backdrop: true,\n size: 'large',\n search: {\n autofocus: true,\n placeholder: title || i18next.t('title.select_item'),\n handler: (instance: any, value: any) => {\n /* instance: template instance */\n instance.searchText(value)\n }\n },\n filter: {\n handler: (instance: any) => {\n /* instance: template instance */\n instance.toggleFilter()\n }\n }\n })\n}\n\nexport const FilterResourceSelect: FilterSelectRenderer = (column, value, owner: any) => {\n const filter = column.filter as FilterConfigObject\n const { operator = 'like' } = filter\n var { idField = 'id', nameField = 'name', descriptionField = 'description' } = column.record.options || {}\n const hideValue = value ? value[idField] : ''\n const text = value ? value[nameField] : ''\n\n return operator === 'like'\n ? html` <input\n type=\"text\"\n name=${column.name}\n .value=${text}\n @change=${(e: CustomEvent) => {\n const input = e.target as HTMLInputElement\n input.dispatchEvent(\n new CustomEvent('filter-change', {\n bubbles: true,\n composed: true,\n detail: {\n name: column.name,\n operator,\n value: input.value\n }\n })\n )\n }}\n />`\n : operator == 'in'\n ? html``\n : operator === 'eq'\n ? html`\n <input name=\"${column.name}\" .value=${hideValue} type=\"text\" hidden />\n <input\n type=\"text\"\n name=\"${column.name}_disp\"\n .value=${text}\n readonly\n @click=${(e: Event) => {\n e.stopPropagation()\n\n const input = e.target as HTMLInputElement\n\n const confirmCallback = (selected?: { [field: string]: any }) => {\n let disp = selected ? selected[idField] : ''\n\n if (selected && nameField) {\n disp = selected[nameField]\n }\n\n input.value = disp\n\n let codeInput =\n owner.tagName.toLowerCase() == 'ox-grid-header'\n ? owner.renderRoot.querySelector(`[name=\"${column.name}\"]`)\n : owner.renderRoot.querySelector(`form [name=\"${column.name}\"]`)\n\n const objectValue = selected ? selected[idField] : ''\n codeInput.value = objectValue\n\n input.dispatchEvent(new Event('change', { bubbles: true }))\n\n owner.dispatchEvent(\n new CustomEvent('filter-change', {\n bubbles: true,\n composed: true,\n detail: {\n name: column.name,\n operator,\n value: objectValue\n }\n })\n )\n }\n\n openResourceSelector(column, value, confirmCallback)\n }}\n />\n `\n : html``\n}\n"]}
|
|
@@ -62,14 +62,14 @@ export const FilterResourceSelect = (filter, value, owner) => {
|
|
|
62
62
|
? html ``
|
|
63
63
|
: operator === 'eq'
|
|
64
64
|
? html `
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
65
|
+
<input name="${name}" .value=${hideValue} type="text" hidden />
|
|
66
|
+
<input
|
|
67
|
+
type="text"
|
|
68
|
+
name="${name}_disp"
|
|
69
|
+
.value=${text}
|
|
70
|
+
readonly
|
|
71
|
+
@change=${() => false}
|
|
72
|
+
@click=${(e) => {
|
|
73
73
|
e.stopPropagation();
|
|
74
74
|
const input = e.target;
|
|
75
75
|
const codeInput = owner.tagName.toLowerCase() == 'ox-grid-header'
|
|
@@ -99,8 +99,8 @@ export const FilterResourceSelect = (filter, value, owner) => {
|
|
|
99
99
|
};
|
|
100
100
|
openResourceSelector(filter, codeInput.value, confirmCallback);
|
|
101
101
|
}}
|
|
102
|
-
|
|
103
|
-
|
|
102
|
+
/>
|
|
103
|
+
`
|
|
104
104
|
: html ``;
|
|
105
105
|
};
|
|
106
106
|
//# sourceMappingURL=filter-resource-select.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-resource-select.js","sourceRoot":"","sources":["../../../src/filters-form/filter-resource-select.ts"],"names":[],"mappings":"AAAA,OAAO,+BAA+B,CAAA;AACtC,OAAO,yCAAyC,CAAA;AAEhD,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAG/B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAK3C,SAAS,oBAAoB,CAAC,MAAoB,EAAE,KAAU,EAAE,eAAiC;IAC/F,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,GAAG,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,OAAO,IAAK,EAAU,CAAA;IAEtG,IAAI,QAAQ,GAAG,IAAI,CAAA;;eAEN,KAAK;yBACK,eAAe;mBACrB,SAAS;iBACX,MAAM;cACT,IAAI;mBACC,SAAS;oBACR,UAAU;;GAE3B,CAAA;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,EAAE;QAChC,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,OAAO;QACb,MAAM,EAAE;YACN,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC;YACpD,OAAO,EAAE,CAAC,QAAa,EAAE,KAAU,EAAE,EAAE;gBACrC,iCAAiC;gBACjC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;YAC5B,CAAC;SACF;QACD,MAAM,EAAE;YACN,OAAO,EAAE,CAAC,QAAa,EAAE,EAAE;gBACzB,iCAAiC;gBACjC,QAAQ,CAAC,YAAY,EAAE,CAAA;YACzB,CAAC;SACF;KACF,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAyB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAU,EAAE,EAAE;IACtF,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,EAAE,GAAG,MAAM,CAAA;IAC1C,IAAI,EAAE,OAAO,GAAG,IAAI,EAAE,SAAS,GAAG,MAAM,EAAE,gBAAgB,GAAG,aAAa,EAAE,GAAG,MAAM,CAAC,OAAO,IAAK,EAAU,CAAA;IAC5G,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAE1C,OAAO,QAAQ,KAAK,MAAM;QACxB,CAAC,CAAC,IAAI,CAAA;;eAEK,IAAI;iBACF,IAAI;kBACH,CAAC,CAAc,EAAE,EAAE;YAC3B,MAAM,KAAK,GAAG,CAAC,CAAC,MAA0B,CAAA;YAC1C,KAAK,CAAC,aAAa,CACjB,IAAI,WAAW,CAAC,eAAe,EAAE;gBAC/B,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE;oBACN,IAAI;oBACJ,QAAQ;oBACR,KAAK,EAAE,KAAK,CAAC,KAAK;iBACnB;aACF,CAAC,CACH,CAAA;QACH,CAAC;SACA;QACL,CAAC,CAAC,QAAQ,IAAI,IAAI;YAChB,CAAC,CAAC,IAAI,CAAA,EAAE;YACR,CAAC,CAAC,QAAQ,KAAK,IAAI;gBACjB,CAAC,CAAC,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"filter-resource-select.js","sourceRoot":"","sources":["../../../src/filters-form/filter-resource-select.ts"],"names":[],"mappings":"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","sourcesContent":["import '@operato/input/ox-checkbox.js'\nimport '../selector/ox-selector-resource-object'\n\nimport { html } from 'lit-html'\n\nimport { FilterConfig, FilterSelectRenderer } from '@operato/form'\nimport { i18next } from '@operato/i18n'\nimport { openPopup } from '@operato/layout'\nimport { GristRecord } from '@operato/data-grist'\n\ntype SelectedCallback = (value?: Partial<GristRecord>) => void\n\nfunction openResourceSelector(filter: FilterConfig, value: any, confirmCallback: SelectedCallback) {\n const { queryName, select, list, basicArgs, valueField = 'id', title } = filter.options || ({} as any)\n\n var template = html`\n <ox-selector-resource-object\n .value=${value}\n .confirmCallback=${confirmCallback}\n .queryName=${queryName}\n .columns=${select}\n .list=${list}\n .basicArgs=${basicArgs}\n .valueField=${valueField}\n ></ox-selector-resource-object>\n `\n\n const popup = openPopup(template, {\n backdrop: true,\n size: 'large',\n search: {\n autofocus: true,\n placeholder: title || i18next.t('title.select_item'),\n handler: (instance: any, value: any) => {\n /* instance: template instance */\n instance.searchText(value)\n }\n },\n filter: {\n handler: (instance: any) => {\n /* instance: template instance */\n instance.toggleFilter()\n }\n }\n })\n}\n\nexport const FilterResourceSelect: FilterSelectRenderer = (filter, value, owner: any) => {\n const { name, operator = 'like' } = filter\n var { idField = 'id', nameField = 'name', descriptionField = 'description' } = filter.options || ({} as any)\n const hideValue = value ? value[idField] : ''\n const text = value ? value[nameField] : ''\n\n return operator === 'like'\n ? html` <input\n type=\"text\"\n name=${name}\n .value=${text}\n @change=${(e: CustomEvent) => {\n const input = e.target as HTMLInputElement\n input.dispatchEvent(\n new CustomEvent('filter-change', {\n bubbles: true,\n composed: true,\n detail: {\n name,\n operator,\n value: input.value\n }\n })\n )\n }}\n />`\n : operator == 'in'\n ? html``\n : operator === 'eq'\n ? html`\n <input name=\"${name}\" .value=${hideValue} type=\"text\" hidden />\n <input\n type=\"text\"\n name=\"${name}_disp\"\n .value=${text}\n readonly\n @change=${() => false}\n @click=${(e: Event) => {\n e.stopPropagation()\n\n const input = e.target as HTMLInputElement\n const codeInput =\n owner.tagName.toLowerCase() == 'ox-grid-header'\n ? owner.renderRoot.querySelector(`[name=\"${name}\"]`)\n : owner.renderRoot.querySelector(`form [name=\"${name}\"]`)\n\n const confirmCallback = (selected?: { [field: string]: any }) => {\n let disp = selected ? selected[idField] : ''\n\n if (selected && nameField) {\n disp = selected[nameField]\n }\n input.value = disp\n\n const value = selected ? selected[idField] : ''\n codeInput.value = value\n\n codeInput.dispatchEvent(\n new Event('change', {\n bubbles: true,\n composed: true\n })\n )\n\n owner.dispatchEvent(\n new CustomEvent('filter-change', {\n bubbles: true,\n composed: true,\n detail: {\n name: name,\n operator,\n value\n }\n })\n )\n }\n\n openResourceSelector(filter, codeInput.value, confirmCallback)\n }}\n />\n `\n : html``\n}\n"]}
|