@operato/app 2.0.0-alpha.23 → 2.0.0-alpha.24
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/dist/src/filters-form/filter-resource-select.js +13 -16
- package/dist/src/filters-form/filter-resource-select.js.map +1 -1
- package/dist/src/selector/ox-selector-resource-object.d.ts +1 -1
- package/dist/src/selector/ox-selector-resource-object.js +1 -1
- package/dist/src/selector/ox-selector-resource-object.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/src/filters-form/filter-resource-select.ts +27 -26
- package/src/selector/ox-selector-resource-object.ts +2 -2
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@operato/app",
|
|
3
3
|
"description": "WebApplication production supporting components following open-wc recommendations",
|
|
4
4
|
"author": "heartyoh",
|
|
5
|
-
"version": "2.0.0-alpha.
|
|
5
|
+
"version": "2.0.0-alpha.24",
|
|
6
6
|
"main": "dist/src/index.js",
|
|
7
7
|
"module": "dist/src/index.js",
|
|
8
8
|
"exports": {
|
|
@@ -139,7 +139,7 @@
|
|
|
139
139
|
"@operato/attachment": "^2.0.0-alpha.23",
|
|
140
140
|
"@operato/data-grist": "^2.0.0-alpha.23",
|
|
141
141
|
"@operato/font": "^2.0.0-alpha.23",
|
|
142
|
-
"@operato/form": "^2.0.0-alpha.
|
|
142
|
+
"@operato/form": "^2.0.0-alpha.24",
|
|
143
143
|
"@operato/graphql": "^2.0.0-alpha.0",
|
|
144
144
|
"@operato/i18n": "^2.0.0-alpha.0",
|
|
145
145
|
"@operato/input": "^2.0.0-alpha.20",
|
|
@@ -189,5 +189,5 @@
|
|
|
189
189
|
"prettier --write"
|
|
190
190
|
]
|
|
191
191
|
},
|
|
192
|
-
"gitHead": "
|
|
192
|
+
"gitHead": "f94620593af2557943d20c34162d0e9ccc084c2c"
|
|
193
193
|
}
|
|
@@ -6,22 +6,16 @@ import { html } from 'lit-html'
|
|
|
6
6
|
import { FilterConfig, FilterSelectRenderer } from '@operato/form'
|
|
7
7
|
import { i18next } from '@operato/i18n'
|
|
8
8
|
import { openPopup } from '@operato/layout'
|
|
9
|
+
import { GristRecord } from '@operato/data-grist'
|
|
9
10
|
|
|
10
|
-
type SelectedCallback = (value
|
|
11
|
+
type SelectedCallback = (value?: Partial<GristRecord>) => void
|
|
11
12
|
|
|
12
13
|
function openResourceSelector(filter: FilterConfig, value: any, confirmCallback: SelectedCallback) {
|
|
13
14
|
const { queryName, select, list, basicArgs, valueField = 'id', title } = filter.options || {}
|
|
14
15
|
|
|
15
|
-
var actualValue
|
|
16
|
-
if (typeof valueField === 'function') {
|
|
17
|
-
actualValue = valueField(value)
|
|
18
|
-
} else {
|
|
19
|
-
actualValue = value?.[valueField]
|
|
20
|
-
}
|
|
21
|
-
|
|
22
16
|
var template = html`
|
|
23
17
|
<ox-selector-resource-object
|
|
24
|
-
.value=${
|
|
18
|
+
.value=${value}
|
|
25
19
|
.confirmCallback=${confirmCallback}
|
|
26
20
|
.queryName=${queryName}
|
|
27
21
|
.columns=${select}
|
|
@@ -53,9 +47,9 @@ function openResourceSelector(filter: FilterConfig, value: any, confirmCallback:
|
|
|
53
47
|
|
|
54
48
|
export const FilterResourceSelect: FilterSelectRenderer = (filter, value, owner: any) => {
|
|
55
49
|
const { name, operator = 'like' } = filter
|
|
56
|
-
var { idField = 'id', nameField = 'name', descriptionField = 'description' } = filter.options || {}
|
|
57
|
-
const hideValue = value ? value[idField] : ''
|
|
58
|
-
const text = value ? value[nameField] : ''
|
|
50
|
+
var { idField = 'id', nameField = 'name', descriptionField = 'description' } = filter.options || {}
|
|
51
|
+
const hideValue = value ? value[idField] : ''
|
|
52
|
+
const text = value ? value[nameField] : ''
|
|
59
53
|
|
|
60
54
|
return operator === 'like'
|
|
61
55
|
? html` <input
|
|
@@ -87,26 +81,33 @@ export const FilterResourceSelect: FilterSelectRenderer = (filter, value, owner:
|
|
|
87
81
|
name='${name}_disp'
|
|
88
82
|
.value=${text}
|
|
89
83
|
readonly
|
|
84
|
+
@change=${() => false}
|
|
90
85
|
@click=${(e: Event) => {
|
|
91
86
|
e.stopPropagation()
|
|
92
|
-
|
|
87
|
+
|
|
88
|
+
const input = e.target as HTMLInputElement
|
|
89
|
+
const codeInput =
|
|
90
|
+
owner.tagName.toLowerCase() == 'ox-grid-header'
|
|
91
|
+
? owner.renderRoot.querySelector(`[name="${name}"]`)
|
|
92
|
+
: owner.renderRoot.querySelector(`form [name="${name}"]`)
|
|
93
93
|
|
|
94
94
|
const confirmCallback = (selected?: { [field: string]: any }) => {
|
|
95
|
-
let disp = selected ? selected[idField] : ''
|
|
95
|
+
let disp = selected ? selected[idField] : ''
|
|
96
96
|
|
|
97
|
-
if(selected && nameField){
|
|
98
|
-
disp = selected[nameField]
|
|
97
|
+
if (selected && nameField) {
|
|
98
|
+
disp = selected[nameField]
|
|
99
99
|
}
|
|
100
|
-
input.value = disp
|
|
101
|
-
|
|
102
|
-
let codeInput = owner.tagName.toLowerCase() == 'ox-grid-header'
|
|
103
|
-
? owner.renderRoot.querySelector(`[name="${name}"]`)
|
|
104
|
-
: owner.renderRoot.querySelector(`form [name="${name}"]`);
|
|
100
|
+
input.value = disp
|
|
105
101
|
|
|
106
|
-
const
|
|
107
|
-
codeInput.value =
|
|
102
|
+
const value = selected ? selected[idField] : ''
|
|
103
|
+
codeInput.value = value
|
|
108
104
|
|
|
109
|
-
|
|
105
|
+
codeInput.dispatchEvent(
|
|
106
|
+
new Event('change', {
|
|
107
|
+
bubbles: true,
|
|
108
|
+
composed: true
|
|
109
|
+
})
|
|
110
|
+
)
|
|
110
111
|
|
|
111
112
|
owner.dispatchEvent(
|
|
112
113
|
new CustomEvent('filter-change', {
|
|
@@ -115,13 +116,13 @@ export const FilterResourceSelect: FilterSelectRenderer = (filter, value, owner:
|
|
|
115
116
|
detail: {
|
|
116
117
|
name: name,
|
|
117
118
|
operator,
|
|
118
|
-
value
|
|
119
|
+
value
|
|
119
120
|
}
|
|
120
121
|
})
|
|
121
122
|
)
|
|
122
123
|
}
|
|
123
124
|
|
|
124
|
-
openResourceSelector(filter, value, confirmCallback)
|
|
125
|
+
openResourceSelector(filter, codeInput.value, confirmCallback)
|
|
125
126
|
}}
|
|
126
127
|
/>
|
|
127
128
|
`
|
|
@@ -61,7 +61,7 @@ export class OxSelectorResourceObject extends LitElement {
|
|
|
61
61
|
@property({ type: String }) queryName!: string
|
|
62
62
|
@property({ type: Object }) basicArgs: any
|
|
63
63
|
@property({ type: String }) inherited?: InheritedValueType = InheritedValueType.Include
|
|
64
|
-
@property({ type: Object }) confirmCallback?: (record?: GristRecord
|
|
64
|
+
@property({ type: Object }) confirmCallback?: (record?: Partial<GristRecord>) => void
|
|
65
65
|
@property({ type: Array }) selectedRecords: GristRecord[] = []
|
|
66
66
|
|
|
67
67
|
@property({ type: Array }) searchFields: any
|
|
@@ -114,7 +114,7 @@ export class OxSelectorResourceObject extends LitElement {
|
|
|
114
114
|
}
|
|
115
115
|
|
|
116
116
|
onEmpty() {
|
|
117
|
-
this.confirmCallback && this.confirmCallback(
|
|
117
|
+
this.confirmCallback && this.confirmCallback()
|
|
118
118
|
closePopup(this)
|
|
119
119
|
}
|
|
120
120
|
|