@compas-oscd/open-scd 0.34.46 → 0.34.48
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/dist/foundation.d.ts +1 -0
- package/dist/foundation.js +2 -0
- package/dist/foundation.js.map +1 -1
- package/dist/icons/icons.components.d.ts +88 -0
- package/dist/icons/icons.components.js +266 -0
- package/dist/icons/icons.components.js.map +1 -0
- package/dist/wizard-dialog.js +5 -0
- package/dist/wizard-dialog.js.map +1 -1
- package/dist/wizard-textfield.d.ts +1 -0
- package/dist/wizard-textfield.js +4 -0
- package/dist/wizard-textfield.js.map +1 -1
- package/package.json +3 -2
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { LitElement } from 'lit-element';
|
|
2
|
+
export declare class CustomIconBay extends LitElement {
|
|
3
|
+
render(): import("lit-element").TemplateResult;
|
|
4
|
+
}
|
|
5
|
+
export declare class CustomIconSubstation extends LitElement {
|
|
6
|
+
render(): import("lit-element").TemplateResult;
|
|
7
|
+
}
|
|
8
|
+
export declare class CustomIconVoltageLevel extends LitElement {
|
|
9
|
+
render(): import("lit-element").TemplateResult;
|
|
10
|
+
}
|
|
11
|
+
export declare class CustomIconCircuitBreaker extends LitElement {
|
|
12
|
+
render(): import("lit-element").TemplateResult;
|
|
13
|
+
}
|
|
14
|
+
export declare class CustomIconDisconnector extends LitElement {
|
|
15
|
+
render(): import("lit-element").TemplateResult;
|
|
16
|
+
}
|
|
17
|
+
export declare class CustomIconCurrentTransformer extends LitElement {
|
|
18
|
+
render(): import("lit-element").TemplateResult;
|
|
19
|
+
}
|
|
20
|
+
export declare class CustomIconVoltageTransformer extends LitElement {
|
|
21
|
+
render(): import("lit-element").TemplateResult;
|
|
22
|
+
}
|
|
23
|
+
export declare class CustomIconEarthSwitch extends LitElement {
|
|
24
|
+
render(): import("lit-element").TemplateResult;
|
|
25
|
+
}
|
|
26
|
+
export declare class CustomIconGeneralConductingEquipment extends LitElement {
|
|
27
|
+
render(): import("lit-element").TemplateResult;
|
|
28
|
+
}
|
|
29
|
+
export declare class CustomIconGoose extends LitElement {
|
|
30
|
+
render(): import("lit-element").TemplateResult;
|
|
31
|
+
}
|
|
32
|
+
export declare class CustomIconSmv extends LitElement {
|
|
33
|
+
render(): import("lit-element").TemplateResult;
|
|
34
|
+
}
|
|
35
|
+
export declare class CustomIconLine extends LitElement {
|
|
36
|
+
render(): import("lit-element").TemplateResult;
|
|
37
|
+
}
|
|
38
|
+
export declare class CustomIconProcess extends LitElement {
|
|
39
|
+
render(): import("lit-element").TemplateResult;
|
|
40
|
+
}
|
|
41
|
+
export declare class CustomIconLNodeAutomation extends LitElement {
|
|
42
|
+
render(): import("lit-element").TemplateResult;
|
|
43
|
+
}
|
|
44
|
+
export declare class CustomIconLNodeControl extends LitElement {
|
|
45
|
+
render(): import("lit-element").TemplateResult;
|
|
46
|
+
}
|
|
47
|
+
export declare class CustomIconLNodeFunctional extends LitElement {
|
|
48
|
+
render(): import("lit-element").TemplateResult;
|
|
49
|
+
}
|
|
50
|
+
export declare class CustomIconLNodeFurtherPowerSystemEquipment extends LitElement {
|
|
51
|
+
render(): import("lit-element").TemplateResult;
|
|
52
|
+
}
|
|
53
|
+
export declare class CustomIconLNodeGeneral extends LitElement {
|
|
54
|
+
render(): import("lit-element").TemplateResult;
|
|
55
|
+
}
|
|
56
|
+
export declare class CustomIconLNodeInterfacing extends LitElement {
|
|
57
|
+
render(): import("lit-element").TemplateResult;
|
|
58
|
+
}
|
|
59
|
+
export declare class CustomIconLNodeMeasurement extends LitElement {
|
|
60
|
+
render(): import("lit-element").TemplateResult;
|
|
61
|
+
}
|
|
62
|
+
export declare class CustomIconLNodeNonElectrical extends LitElement {
|
|
63
|
+
render(): import("lit-element").TemplateResult;
|
|
64
|
+
}
|
|
65
|
+
export declare class CustomIconLNodePowerTransformer extends LitElement {
|
|
66
|
+
render(): import("lit-element").TemplateResult;
|
|
67
|
+
}
|
|
68
|
+
export declare class CustomIconLNodeProtection extends LitElement {
|
|
69
|
+
render(): import("lit-element").TemplateResult;
|
|
70
|
+
}
|
|
71
|
+
export declare class CustomIconLNodeProtectionRelated extends LitElement {
|
|
72
|
+
render(): import("lit-element").TemplateResult;
|
|
73
|
+
}
|
|
74
|
+
export declare class CustomIconLNodeQuality extends LitElement {
|
|
75
|
+
render(): import("lit-element").TemplateResult;
|
|
76
|
+
}
|
|
77
|
+
export declare class CustomIconLNodeSupervision extends LitElement {
|
|
78
|
+
render(): import("lit-element").TemplateResult;
|
|
79
|
+
}
|
|
80
|
+
export declare class CustomIconLNodeSwitchgear extends LitElement {
|
|
81
|
+
render(): import("lit-element").TemplateResult;
|
|
82
|
+
}
|
|
83
|
+
export declare class CustomIconLNodeSystem extends LitElement {
|
|
84
|
+
render(): import("lit-element").TemplateResult;
|
|
85
|
+
}
|
|
86
|
+
export declare class CustomIconLNodeTransformer extends LitElement {
|
|
87
|
+
render(): import("lit-element").TemplateResult;
|
|
88
|
+
}
|
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { customElement, html, LitElement, } from 'lit-element';
|
|
3
|
+
import { bayIcon, circuitBreakerIcon, currentTransformerIcon, disconnectorIcon, earthSwitchIcon, generalConductingEquipmentIcon, gooseIcon, lineIcon, processIcon, smvIcon, substationIcon, voltageLevelIcon, voltageTransformerIcon } from './icons.js';
|
|
4
|
+
import { automationLogicalNode, controlLogicalNode, functionalLogicalNode, furtherPowerSystemEquipmentLogicalNode, generalLogicalNode, interfacingLogicalNode, measurementLogicalNode, nonElectricalLogicalNode, powerTransformerLogicalNode, protectionLogicalNode, protectionRelatedLogicalNode, qualityLogicalNode, supervisionLogicalNode, switchgearLogicalNode, systemLogicalNode, transformerLogicalNode, } from './lnode.js';
|
|
5
|
+
let CustomIconBay = class CustomIconBay extends LitElement {
|
|
6
|
+
render() {
|
|
7
|
+
return html `${bayIcon}`;
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
CustomIconBay = __decorate([
|
|
11
|
+
customElement('custom-icon-bay')
|
|
12
|
+
], CustomIconBay);
|
|
13
|
+
export { CustomIconBay };
|
|
14
|
+
let CustomIconSubstation = class CustomIconSubstation extends LitElement {
|
|
15
|
+
render() {
|
|
16
|
+
return html `${substationIcon}`;
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
CustomIconSubstation = __decorate([
|
|
20
|
+
customElement('custom-icon-substation')
|
|
21
|
+
], CustomIconSubstation);
|
|
22
|
+
export { CustomIconSubstation };
|
|
23
|
+
let CustomIconVoltageLevel = class CustomIconVoltageLevel extends LitElement {
|
|
24
|
+
render() {
|
|
25
|
+
return html `${voltageLevelIcon}`;
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
CustomIconVoltageLevel = __decorate([
|
|
29
|
+
customElement('custom-icon-voltagelevel')
|
|
30
|
+
], CustomIconVoltageLevel);
|
|
31
|
+
export { CustomIconVoltageLevel };
|
|
32
|
+
let CustomIconCircuitBreaker = class CustomIconCircuitBreaker extends LitElement {
|
|
33
|
+
render() {
|
|
34
|
+
return html `${circuitBreakerIcon}`;
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
CustomIconCircuitBreaker = __decorate([
|
|
38
|
+
customElement('custom-icon-circuitbreaker')
|
|
39
|
+
], CustomIconCircuitBreaker);
|
|
40
|
+
export { CustomIconCircuitBreaker };
|
|
41
|
+
let CustomIconDisconnector = class CustomIconDisconnector extends LitElement {
|
|
42
|
+
render() {
|
|
43
|
+
return html `${disconnectorIcon}`;
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
CustomIconDisconnector = __decorate([
|
|
47
|
+
customElement('custom-icon-disconnector')
|
|
48
|
+
], CustomIconDisconnector);
|
|
49
|
+
export { CustomIconDisconnector };
|
|
50
|
+
let CustomIconCurrentTransformer = class CustomIconCurrentTransformer extends LitElement {
|
|
51
|
+
render() {
|
|
52
|
+
return html `${currentTransformerIcon}`;
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
CustomIconCurrentTransformer = __decorate([
|
|
56
|
+
customElement('custom-icon-currenttransformer')
|
|
57
|
+
], CustomIconCurrentTransformer);
|
|
58
|
+
export { CustomIconCurrentTransformer };
|
|
59
|
+
let CustomIconVoltageTransformer = class CustomIconVoltageTransformer extends LitElement {
|
|
60
|
+
render() {
|
|
61
|
+
return html `${voltageTransformerIcon}`;
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
CustomIconVoltageTransformer = __decorate([
|
|
65
|
+
customElement('custom-icon-voltagetransformer')
|
|
66
|
+
], CustomIconVoltageTransformer);
|
|
67
|
+
export { CustomIconVoltageTransformer };
|
|
68
|
+
let CustomIconEarthSwitch = class CustomIconEarthSwitch extends LitElement {
|
|
69
|
+
render() {
|
|
70
|
+
return html `${earthSwitchIcon}`;
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
CustomIconEarthSwitch = __decorate([
|
|
74
|
+
customElement('custom-icon-earthswitch')
|
|
75
|
+
], CustomIconEarthSwitch);
|
|
76
|
+
export { CustomIconEarthSwitch };
|
|
77
|
+
let CustomIconGeneralConductingEquipment = class CustomIconGeneralConductingEquipment extends LitElement {
|
|
78
|
+
render() {
|
|
79
|
+
return html `${generalConductingEquipmentIcon}`;
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
CustomIconGeneralConductingEquipment = __decorate([
|
|
83
|
+
customElement('custom-icon-generalconductingequipment')
|
|
84
|
+
], CustomIconGeneralConductingEquipment);
|
|
85
|
+
export { CustomIconGeneralConductingEquipment };
|
|
86
|
+
let CustomIconGoose = class CustomIconGoose extends LitElement {
|
|
87
|
+
render() {
|
|
88
|
+
return html `${gooseIcon}`;
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
CustomIconGoose = __decorate([
|
|
92
|
+
customElement('custom-icon-goose')
|
|
93
|
+
], CustomIconGoose);
|
|
94
|
+
export { CustomIconGoose };
|
|
95
|
+
let CustomIconSmv = class CustomIconSmv extends LitElement {
|
|
96
|
+
render() {
|
|
97
|
+
return html `${smvIcon}`;
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
CustomIconSmv = __decorate([
|
|
101
|
+
customElement('custom-icon-smv')
|
|
102
|
+
], CustomIconSmv);
|
|
103
|
+
export { CustomIconSmv };
|
|
104
|
+
let CustomIconLine = class CustomIconLine extends LitElement {
|
|
105
|
+
render() {
|
|
106
|
+
return html `${lineIcon}`;
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
CustomIconLine = __decorate([
|
|
110
|
+
customElement('custom-icon-line')
|
|
111
|
+
], CustomIconLine);
|
|
112
|
+
export { CustomIconLine };
|
|
113
|
+
let CustomIconProcess = class CustomIconProcess extends LitElement {
|
|
114
|
+
render() {
|
|
115
|
+
return html `${processIcon}`;
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
CustomIconProcess = __decorate([
|
|
119
|
+
customElement('custom-icon-process')
|
|
120
|
+
], CustomIconProcess);
|
|
121
|
+
export { CustomIconProcess };
|
|
122
|
+
let CustomIconLNodeAutomation = class CustomIconLNodeAutomation extends LitElement {
|
|
123
|
+
render() {
|
|
124
|
+
return html `${automationLogicalNode}`;
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
CustomIconLNodeAutomation = __decorate([
|
|
128
|
+
customElement('custom-icon-lnode-automation')
|
|
129
|
+
], CustomIconLNodeAutomation);
|
|
130
|
+
export { CustomIconLNodeAutomation };
|
|
131
|
+
let CustomIconLNodeControl = class CustomIconLNodeControl extends LitElement {
|
|
132
|
+
render() {
|
|
133
|
+
return html `${controlLogicalNode}`;
|
|
134
|
+
}
|
|
135
|
+
};
|
|
136
|
+
CustomIconLNodeControl = __decorate([
|
|
137
|
+
customElement('custom-icon-lnode-control')
|
|
138
|
+
], CustomIconLNodeControl);
|
|
139
|
+
export { CustomIconLNodeControl };
|
|
140
|
+
let CustomIconLNodeFunctional = class CustomIconLNodeFunctional extends LitElement {
|
|
141
|
+
render() {
|
|
142
|
+
return html `${functionalLogicalNode}`;
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
CustomIconLNodeFunctional = __decorate([
|
|
146
|
+
customElement('custom-icon-lnode-functional')
|
|
147
|
+
], CustomIconLNodeFunctional);
|
|
148
|
+
export { CustomIconLNodeFunctional };
|
|
149
|
+
let CustomIconLNodeFurtherPowerSystemEquipment = class CustomIconLNodeFurtherPowerSystemEquipment extends LitElement {
|
|
150
|
+
render() {
|
|
151
|
+
return html `${furtherPowerSystemEquipmentLogicalNode}`;
|
|
152
|
+
}
|
|
153
|
+
};
|
|
154
|
+
CustomIconLNodeFurtherPowerSystemEquipment = __decorate([
|
|
155
|
+
customElement('custom-icon-lnode-furtherpowersystemequipment')
|
|
156
|
+
], CustomIconLNodeFurtherPowerSystemEquipment);
|
|
157
|
+
export { CustomIconLNodeFurtherPowerSystemEquipment };
|
|
158
|
+
let CustomIconLNodeGeneral = class CustomIconLNodeGeneral extends LitElement {
|
|
159
|
+
render() {
|
|
160
|
+
return html `${generalLogicalNode}`;
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
CustomIconLNodeGeneral = __decorate([
|
|
164
|
+
customElement('custom-icon-lnode-general')
|
|
165
|
+
], CustomIconLNodeGeneral);
|
|
166
|
+
export { CustomIconLNodeGeneral };
|
|
167
|
+
let CustomIconLNodeInterfacing = class CustomIconLNodeInterfacing extends LitElement {
|
|
168
|
+
render() {
|
|
169
|
+
return html `${interfacingLogicalNode}`;
|
|
170
|
+
}
|
|
171
|
+
};
|
|
172
|
+
CustomIconLNodeInterfacing = __decorate([
|
|
173
|
+
customElement('custom-icon-lnode-interfacing')
|
|
174
|
+
], CustomIconLNodeInterfacing);
|
|
175
|
+
export { CustomIconLNodeInterfacing };
|
|
176
|
+
let CustomIconLNodeMeasurement = class CustomIconLNodeMeasurement extends LitElement {
|
|
177
|
+
render() {
|
|
178
|
+
return html `${measurementLogicalNode}`;
|
|
179
|
+
}
|
|
180
|
+
};
|
|
181
|
+
CustomIconLNodeMeasurement = __decorate([
|
|
182
|
+
customElement('custom-icon-lnode-measurement')
|
|
183
|
+
], CustomIconLNodeMeasurement);
|
|
184
|
+
export { CustomIconLNodeMeasurement };
|
|
185
|
+
let CustomIconLNodeNonElectrical = class CustomIconLNodeNonElectrical extends LitElement {
|
|
186
|
+
render() {
|
|
187
|
+
return html `${nonElectricalLogicalNode}`;
|
|
188
|
+
}
|
|
189
|
+
};
|
|
190
|
+
CustomIconLNodeNonElectrical = __decorate([
|
|
191
|
+
customElement('custom-icon-lnode-nonelectrical')
|
|
192
|
+
], CustomIconLNodeNonElectrical);
|
|
193
|
+
export { CustomIconLNodeNonElectrical };
|
|
194
|
+
let CustomIconLNodePowerTransformer = class CustomIconLNodePowerTransformer extends LitElement {
|
|
195
|
+
render() {
|
|
196
|
+
return html `${powerTransformerLogicalNode}`;
|
|
197
|
+
}
|
|
198
|
+
};
|
|
199
|
+
CustomIconLNodePowerTransformer = __decorate([
|
|
200
|
+
customElement('custom-icon-lnode-powertransformer')
|
|
201
|
+
], CustomIconLNodePowerTransformer);
|
|
202
|
+
export { CustomIconLNodePowerTransformer };
|
|
203
|
+
let CustomIconLNodeProtection = class CustomIconLNodeProtection extends LitElement {
|
|
204
|
+
render() {
|
|
205
|
+
return html `${protectionLogicalNode}`;
|
|
206
|
+
}
|
|
207
|
+
};
|
|
208
|
+
CustomIconLNodeProtection = __decorate([
|
|
209
|
+
customElement('custom-icon-lnode-protection')
|
|
210
|
+
], CustomIconLNodeProtection);
|
|
211
|
+
export { CustomIconLNodeProtection };
|
|
212
|
+
let CustomIconLNodeProtectionRelated = class CustomIconLNodeProtectionRelated extends LitElement {
|
|
213
|
+
render() {
|
|
214
|
+
return html `${protectionRelatedLogicalNode}`;
|
|
215
|
+
}
|
|
216
|
+
};
|
|
217
|
+
CustomIconLNodeProtectionRelated = __decorate([
|
|
218
|
+
customElement('custom-icon-lnode-protectionrelated')
|
|
219
|
+
], CustomIconLNodeProtectionRelated);
|
|
220
|
+
export { CustomIconLNodeProtectionRelated };
|
|
221
|
+
let CustomIconLNodeQuality = class CustomIconLNodeQuality extends LitElement {
|
|
222
|
+
render() {
|
|
223
|
+
return html `${qualityLogicalNode}`;
|
|
224
|
+
}
|
|
225
|
+
};
|
|
226
|
+
CustomIconLNodeQuality = __decorate([
|
|
227
|
+
customElement('custom-icon-lnode-quality')
|
|
228
|
+
], CustomIconLNodeQuality);
|
|
229
|
+
export { CustomIconLNodeQuality };
|
|
230
|
+
let CustomIconLNodeSupervision = class CustomIconLNodeSupervision extends LitElement {
|
|
231
|
+
render() {
|
|
232
|
+
return html `${supervisionLogicalNode}`;
|
|
233
|
+
}
|
|
234
|
+
};
|
|
235
|
+
CustomIconLNodeSupervision = __decorate([
|
|
236
|
+
customElement('custom-icon-lnode-supervision')
|
|
237
|
+
], CustomIconLNodeSupervision);
|
|
238
|
+
export { CustomIconLNodeSupervision };
|
|
239
|
+
let CustomIconLNodeSwitchgear = class CustomIconLNodeSwitchgear extends LitElement {
|
|
240
|
+
render() {
|
|
241
|
+
return html `${switchgearLogicalNode}`;
|
|
242
|
+
}
|
|
243
|
+
};
|
|
244
|
+
CustomIconLNodeSwitchgear = __decorate([
|
|
245
|
+
customElement('custom-icon-lnode-switchgear')
|
|
246
|
+
], CustomIconLNodeSwitchgear);
|
|
247
|
+
export { CustomIconLNodeSwitchgear };
|
|
248
|
+
let CustomIconLNodeSystem = class CustomIconLNodeSystem extends LitElement {
|
|
249
|
+
render() {
|
|
250
|
+
return html `${systemLogicalNode}`;
|
|
251
|
+
}
|
|
252
|
+
};
|
|
253
|
+
CustomIconLNodeSystem = __decorate([
|
|
254
|
+
customElement('custom-icon-lnode-system')
|
|
255
|
+
], CustomIconLNodeSystem);
|
|
256
|
+
export { CustomIconLNodeSystem };
|
|
257
|
+
let CustomIconLNodeTransformer = class CustomIconLNodeTransformer extends LitElement {
|
|
258
|
+
render() {
|
|
259
|
+
return html `${transformerLogicalNode}`;
|
|
260
|
+
}
|
|
261
|
+
};
|
|
262
|
+
CustomIconLNodeTransformer = __decorate([
|
|
263
|
+
customElement('custom-icon-lnode-transformer')
|
|
264
|
+
], CustomIconLNodeTransformer);
|
|
265
|
+
export { CustomIconLNodeTransformer };
|
|
266
|
+
//# sourceMappingURL=icons.components.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icons.components.js","sourceRoot":"","sources":["../../src/icons/icons.components.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,aAAa,EACb,IAAI,EACJ,UAAU,GACX,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,OAAO,EACP,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EACf,8BAA8B,EAC9B,SAAS,EACT,QAAQ,EACR,WAAW,EACX,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACrB,sCAAsC,EACtC,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,EACxB,2BAA2B,EAC3B,qBAAqB,EACrB,4BAA4B,EAC5B,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAGb,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,UAAU;IAC3C,MAAM;QACJ,OAAO,IAAI,CAAA,GAAG,OAAO,EAAE,CAAC;IAC1B,CAAC;CACF,CAAA;AAJY,aAAa;IADzB,aAAa,CAAC,iBAAiB,CAAC;GACpB,aAAa,CAIzB;SAJY,aAAa;AAOnB,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,UAAU;IAClD,MAAM;QACJ,OAAO,IAAI,CAAA,GAAG,cAAc,EAAE,CAAC;IACjC,CAAC;CACF,CAAA;AAJY,oBAAoB;IADhC,aAAa,CAAC,wBAAwB,CAAC;GAC3B,oBAAoB,CAIhC;SAJY,oBAAoB;AAO1B,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,UAAU;IACpD,MAAM;QACJ,OAAO,IAAI,CAAA,GAAG,gBAAgB,EAAE,CAAC;IACnC,CAAC;CACF,CAAA;AAJY,sBAAsB;IADlC,aAAa,CAAC,0BAA0B,CAAC;GAC7B,sBAAsB,CAIlC;SAJY,sBAAsB;AAO5B,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,UAAU;IACtD,MAAM;QACJ,OAAO,IAAI,CAAA,GAAG,kBAAkB,EAAE,CAAC;IACrC,CAAC;CACF,CAAA;AAJY,wBAAwB;IADpC,aAAa,CAAC,4BAA4B,CAAC;GAC/B,wBAAwB,CAIpC;SAJY,wBAAwB;AAO9B,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,UAAU;IACpD,MAAM;QACJ,OAAO,IAAI,CAAA,GAAG,gBAAgB,EAAE,CAAC;IACnC,CAAC;CACF,CAAA;AAJY,sBAAsB;IADlC,aAAa,CAAC,0BAA0B,CAAC;GAC7B,sBAAsB,CAIlC;SAJY,sBAAsB;AAO5B,IAAM,4BAA4B,GAAlC,MAAM,4BAA6B,SAAQ,UAAU;IAC1D,MAAM;QACJ,OAAO,IAAI,CAAA,GAAG,sBAAsB,EAAE,CAAC;IACzC,CAAC;CACF,CAAA;AAJY,4BAA4B;IADxC,aAAa,CAAC,gCAAgC,CAAC;GACnC,4BAA4B,CAIxC;SAJY,4BAA4B;AAOlC,IAAM,4BAA4B,GAAlC,MAAM,4BAA6B,SAAQ,UAAU;IAC1D,MAAM;QACJ,OAAO,IAAI,CAAA,GAAG,sBAAsB,EAAE,CAAC;IACzC,CAAC;CACF,CAAA;AAJY,4BAA4B;IADxC,aAAa,CAAC,gCAAgC,CAAC;GACnC,4BAA4B,CAIxC;SAJY,4BAA4B;AAOlC,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,UAAU;IACnD,MAAM;QACJ,OAAO,IAAI,CAAA,GAAG,eAAe,EAAE,CAAC;IAClC,CAAC;CACF,CAAA;AAJY,qBAAqB;IADjC,aAAa,CAAC,yBAAyB,CAAC;GAC5B,qBAAqB,CAIjC;SAJY,qBAAqB;AAO3B,IAAM,oCAAoC,GAA1C,MAAM,oCAAqC,SAAQ,UAAU;IAClE,MAAM;QACJ,OAAO,IAAI,CAAA,GAAG,8BAA8B,EAAE,CAAC;IACjD,CAAC;CACF,CAAA;AAJY,oCAAoC;IADhD,aAAa,CAAC,wCAAwC,CAAC;GAC3C,oCAAoC,CAIhD;SAJY,oCAAoC;AAO1C,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,UAAU;IAC7C,MAAM;QACJ,OAAO,IAAI,CAAA,GAAG,SAAS,EAAE,CAAC;IAC5B,CAAC;CACF,CAAA;AAJY,eAAe;IAD3B,aAAa,CAAC,mBAAmB,CAAC;GACtB,eAAe,CAI3B;SAJY,eAAe;AAOrB,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,UAAU;IAC3C,MAAM;QACJ,OAAO,IAAI,CAAA,GAAG,OAAO,EAAE,CAAC;IAC1B,CAAC;CACF,CAAA;AAJY,aAAa;IADzB,aAAa,CAAC,iBAAiB,CAAC;GACpB,aAAa,CAIzB;SAJY,aAAa;AAOnB,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,UAAU;IAC5C,MAAM;QACJ,OAAO,IAAI,CAAA,GAAG,QAAQ,EAAE,CAAC;IAC3B,CAAC;CACF,CAAA;AAJY,cAAc;IAD1B,aAAa,CAAC,kBAAkB,CAAC;GACrB,cAAc,CAI1B;SAJY,cAAc;AAOpB,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,UAAU;IAC/C,MAAM;QACJ,OAAO,IAAI,CAAA,GAAG,WAAW,EAAE,CAAC;IAC9B,CAAC;CACF,CAAA;AAJY,iBAAiB;IAD7B,aAAa,CAAC,qBAAqB,CAAC;GACxB,iBAAiB,CAI7B;SAJY,iBAAiB;AAOvB,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,UAAU;IACvD,MAAM;QACJ,OAAO,IAAI,CAAA,GAAG,qBAAqB,EAAE,CAAC;IACxC,CAAC;CACF,CAAA;AAJY,yBAAyB;IADrC,aAAa,CAAC,8BAA8B,CAAC;GACjC,yBAAyB,CAIrC;SAJY,yBAAyB;AAO/B,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,UAAU;IACpD,MAAM;QACJ,OAAO,IAAI,CAAA,GAAG,kBAAkB,EAAE,CAAC;IACrC,CAAC;CACF,CAAA;AAJY,sBAAsB;IADlC,aAAa,CAAC,2BAA2B,CAAC;GAC9B,sBAAsB,CAIlC;SAJY,sBAAsB;AAO5B,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,UAAU;IACvD,MAAM;QACJ,OAAO,IAAI,CAAA,GAAG,qBAAqB,EAAE,CAAC;IACxC,CAAC;CACF,CAAA;AAJY,yBAAyB;IADrC,aAAa,CAAC,8BAA8B,CAAC;GACjC,yBAAyB,CAIrC;SAJY,yBAAyB;AAO/B,IAAM,0CAA0C,GAAhD,MAAM,0CAA2C,SAAQ,UAAU;IACxE,MAAM;QACJ,OAAO,IAAI,CAAA,GAAG,sCAAsC,EAAE,CAAC;IACzD,CAAC;CACF,CAAA;AAJY,0CAA0C;IADtD,aAAa,CAAC,+CAA+C,CAAC;GAClD,0CAA0C,CAItD;SAJY,0CAA0C;AAOhD,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,UAAU;IACpD,MAAM;QACJ,OAAO,IAAI,CAAA,GAAG,kBAAkB,EAAE,CAAC;IACrC,CAAC;CACF,CAAA;AAJY,sBAAsB;IADlC,aAAa,CAAC,2BAA2B,CAAC;GAC9B,sBAAsB,CAIlC;SAJY,sBAAsB;AAO5B,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,UAAU;IACxD,MAAM;QACJ,OAAO,IAAI,CAAA,GAAG,sBAAsB,EAAE,CAAC;IACzC,CAAC;CACF,CAAA;AAJY,0BAA0B;IADtC,aAAa,CAAC,+BAA+B,CAAC;GAClC,0BAA0B,CAItC;SAJY,0BAA0B;AAOhC,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,UAAU;IACxD,MAAM;QACJ,OAAO,IAAI,CAAA,GAAG,sBAAsB,EAAE,CAAC;IACzC,CAAC;CACF,CAAA;AAJY,0BAA0B;IADtC,aAAa,CAAC,+BAA+B,CAAC;GAClC,0BAA0B,CAItC;SAJY,0BAA0B;AAOhC,IAAM,4BAA4B,GAAlC,MAAM,4BAA6B,SAAQ,UAAU;IAC1D,MAAM;QACJ,OAAO,IAAI,CAAA,GAAG,wBAAwB,EAAE,CAAC;IAC3C,CAAC;CACF,CAAA;AAJY,4BAA4B;IADxC,aAAa,CAAC,iCAAiC,CAAC;GACpC,4BAA4B,CAIxC;SAJY,4BAA4B;AAOlC,IAAM,+BAA+B,GAArC,MAAM,+BAAgC,SAAQ,UAAU;IAC7D,MAAM;QACJ,OAAO,IAAI,CAAA,GAAG,2BAA2B,EAAE,CAAC;IAC9C,CAAC;CACF,CAAA;AAJY,+BAA+B;IAD3C,aAAa,CAAC,oCAAoC,CAAC;GACvC,+BAA+B,CAI3C;SAJY,+BAA+B;AAOrC,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,UAAU;IACvD,MAAM;QACJ,OAAO,IAAI,CAAA,GAAG,qBAAqB,EAAE,CAAC;IACxC,CAAC;CACF,CAAA;AAJY,yBAAyB;IADrC,aAAa,CAAC,8BAA8B,CAAC;GACjC,yBAAyB,CAIrC;SAJY,yBAAyB;AAO/B,IAAM,gCAAgC,GAAtC,MAAM,gCAAiC,SAAQ,UAAU;IAC9D,MAAM;QACJ,OAAO,IAAI,CAAA,GAAG,4BAA4B,EAAE,CAAC;IAC/C,CAAC;CACF,CAAA;AAJY,gCAAgC;IAD5C,aAAa,CAAC,qCAAqC,CAAC;GACxC,gCAAgC,CAI5C;SAJY,gCAAgC;AAOtC,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,UAAU;IACpD,MAAM;QACJ,OAAO,IAAI,CAAA,GAAG,kBAAkB,EAAE,CAAC;IACrC,CAAC;CACF,CAAA;AAJY,sBAAsB;IADlC,aAAa,CAAC,2BAA2B,CAAC;GAC9B,sBAAsB,CAIlC;SAJY,sBAAsB;AAO5B,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,UAAU;IACxD,MAAM;QACJ,OAAO,IAAI,CAAA,GAAG,sBAAsB,EAAE,CAAC;IACzC,CAAC;CACF,CAAA;AAJY,0BAA0B;IADtC,aAAa,CAAC,+BAA+B,CAAC;GAClC,0BAA0B,CAItC;SAJY,0BAA0B;AAOhC,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,UAAU;IACvD,MAAM;QACJ,OAAO,IAAI,CAAA,GAAG,qBAAqB,EAAE,CAAC;IACxC,CAAC;CACF,CAAA;AAJY,yBAAyB;IADrC,aAAa,CAAC,8BAA8B,CAAC;GACjC,yBAAyB,CAIrC;SAJY,yBAAyB;AAO/B,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,UAAU;IACnD,MAAM;QACJ,OAAO,IAAI,CAAA,GAAG,iBAAiB,EAAE,CAAC;IACpC,CAAC;CACF,CAAA;AAJY,qBAAqB;IADjC,aAAa,CAAC,0BAA0B,CAAC;GAC7B,qBAAqB,CAIjC;SAJY,qBAAqB;AAO3B,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,UAAU;IACxD,MAAM;QACJ,OAAO,IAAI,CAAA,GAAG,sBAAsB,EAAE,CAAC;IACzC,CAAC;CACF,CAAA;AAJY,0BAA0B;IADtC,aAAa,CAAC,+BAA+B,CAAC;GAClC,0BAA0B,CAItC;SAJY,0BAA0B","sourcesContent":["import {\n customElement,\n html,\n LitElement,\n} from 'lit-element';\n\nimport {\n bayIcon,\n circuitBreakerIcon,\n currentTransformerIcon,\n disconnectorIcon,\n earthSwitchIcon,\n generalConductingEquipmentIcon,\n gooseIcon,\n lineIcon,\n processIcon,\n smvIcon,\n substationIcon,\n voltageLevelIcon,\n voltageTransformerIcon\n} from './icons.js';\nimport {\n automationLogicalNode,\n controlLogicalNode,\n functionalLogicalNode,\n furtherPowerSystemEquipmentLogicalNode,\n generalLogicalNode,\n interfacingLogicalNode,\n measurementLogicalNode,\n nonElectricalLogicalNode,\n powerTransformerLogicalNode,\n protectionLogicalNode,\n protectionRelatedLogicalNode,\n qualityLogicalNode,\n supervisionLogicalNode,\n switchgearLogicalNode,\n systemLogicalNode,\n transformerLogicalNode,\n} from './lnode.js';\n\n@customElement('custom-icon-bay')\nexport class CustomIconBay extends LitElement {\n render() {\n return html`${bayIcon}`;\n }\n}\n\n@customElement('custom-icon-substation')\nexport class CustomIconSubstation extends LitElement {\n render() {\n return html`${substationIcon}`;\n }\n}\n\n@customElement('custom-icon-voltagelevel')\nexport class CustomIconVoltageLevel extends LitElement {\n render() {\n return html`${voltageLevelIcon}`;\n }\n}\n\n@customElement('custom-icon-circuitbreaker')\nexport class CustomIconCircuitBreaker extends LitElement {\n render() {\n return html`${circuitBreakerIcon}`;\n }\n}\n\n@customElement('custom-icon-disconnector')\nexport class CustomIconDisconnector extends LitElement {\n render() {\n return html`${disconnectorIcon}`;\n }\n}\n\n@customElement('custom-icon-currenttransformer')\nexport class CustomIconCurrentTransformer extends LitElement {\n render() {\n return html`${currentTransformerIcon}`;\n }\n}\n\n@customElement('custom-icon-voltagetransformer')\nexport class CustomIconVoltageTransformer extends LitElement {\n render() {\n return html`${voltageTransformerIcon}`;\n }\n}\n\n@customElement('custom-icon-earthswitch')\nexport class CustomIconEarthSwitch extends LitElement {\n render() {\n return html`${earthSwitchIcon}`;\n }\n}\n\n@customElement('custom-icon-generalconductingequipment')\nexport class CustomIconGeneralConductingEquipment extends LitElement {\n render() {\n return html`${generalConductingEquipmentIcon}`;\n }\n}\n\n@customElement('custom-icon-goose')\nexport class CustomIconGoose extends LitElement {\n render() {\n return html`${gooseIcon}`;\n }\n}\n\n@customElement('custom-icon-smv')\nexport class CustomIconSmv extends LitElement {\n render() {\n return html`${smvIcon}`;\n }\n}\n\n@customElement('custom-icon-line')\nexport class CustomIconLine extends LitElement {\n render() {\n return html`${lineIcon}`;\n }\n}\n\n@customElement('custom-icon-process')\nexport class CustomIconProcess extends LitElement {\n render() {\n return html`${processIcon}`;\n }\n}\n\n@customElement('custom-icon-lnode-automation')\nexport class CustomIconLNodeAutomation extends LitElement {\n render() {\n return html`${automationLogicalNode}`;\n }\n}\n\n@customElement('custom-icon-lnode-control')\nexport class CustomIconLNodeControl extends LitElement {\n render() {\n return html`${controlLogicalNode}`;\n }\n}\n\n@customElement('custom-icon-lnode-functional')\nexport class CustomIconLNodeFunctional extends LitElement {\n render() {\n return html`${functionalLogicalNode}`;\n }\n}\n\n@customElement('custom-icon-lnode-furtherpowersystemequipment')\nexport class CustomIconLNodeFurtherPowerSystemEquipment extends LitElement {\n render() {\n return html`${furtherPowerSystemEquipmentLogicalNode}`;\n }\n}\n\n@customElement('custom-icon-lnode-general')\nexport class CustomIconLNodeGeneral extends LitElement {\n render() {\n return html`${generalLogicalNode}`;\n }\n}\n\n@customElement('custom-icon-lnode-interfacing')\nexport class CustomIconLNodeInterfacing extends LitElement {\n render() {\n return html`${interfacingLogicalNode}`;\n }\n}\n\n@customElement('custom-icon-lnode-measurement')\nexport class CustomIconLNodeMeasurement extends LitElement {\n render() {\n return html`${measurementLogicalNode}`;\n }\n}\n\n@customElement('custom-icon-lnode-nonelectrical')\nexport class CustomIconLNodeNonElectrical extends LitElement {\n render() {\n return html`${nonElectricalLogicalNode}`;\n }\n}\n\n@customElement('custom-icon-lnode-powertransformer')\nexport class CustomIconLNodePowerTransformer extends LitElement {\n render() {\n return html`${powerTransformerLogicalNode}`;\n }\n}\n\n@customElement('custom-icon-lnode-protection')\nexport class CustomIconLNodeProtection extends LitElement {\n render() {\n return html`${protectionLogicalNode}`;\n }\n}\n\n@customElement('custom-icon-lnode-protectionrelated')\nexport class CustomIconLNodeProtectionRelated extends LitElement {\n render() {\n return html`${protectionRelatedLogicalNode}`;\n }\n}\n\n@customElement('custom-icon-lnode-quality')\nexport class CustomIconLNodeQuality extends LitElement {\n render() {\n return html`${qualityLogicalNode}`;\n }\n}\n\n@customElement('custom-icon-lnode-supervision')\nexport class CustomIconLNodeSupervision extends LitElement {\n render() {\n return html`${supervisionLogicalNode}`;\n }\n}\n\n@customElement('custom-icon-lnode-switchgear')\nexport class CustomIconLNodeSwitchgear extends LitElement {\n render() {\n return html`${switchgearLogicalNode}`;\n }\n}\n\n@customElement('custom-icon-lnode-system')\nexport class CustomIconLNodeSystem extends LitElement {\n render() {\n return html`${systemLogicalNode}`;\n }\n}\n\n@customElement('custom-icon-lnode-transformer')\nexport class CustomIconLNodeTransformer extends LitElement {\n render() {\n return html`${transformerLogicalNode}`;\n }\n}\n"]}
|
package/dist/wizard-dialog.js
CHANGED
|
@@ -13,6 +13,7 @@ import 'ace-custom-element';
|
|
|
13
13
|
import './wizard-checkbox.js';
|
|
14
14
|
import './wizard-textfield.js';
|
|
15
15
|
import './wizard-select.js';
|
|
16
|
+
import { WizardTextField } from './wizard-textfield.js';
|
|
16
17
|
import { newActionEvent, } from '@compas-oscd/core';
|
|
17
18
|
import { newWizardEvent, wizardInputSelector, isWizardFactory, checkValidity, reportValidity, identity, } from './foundation.js';
|
|
18
19
|
function renderWizardInput(input) {
|
|
@@ -138,6 +139,10 @@ let WizardDialog = class WizardDialog extends LitElement {
|
|
|
138
139
|
async act(action, primary = true) {
|
|
139
140
|
if (action === undefined)
|
|
140
141
|
return false;
|
|
142
|
+
for (const input of dialogInputs(this.dialog))
|
|
143
|
+
if (input instanceof WizardTextField) {
|
|
144
|
+
input.ensureValueUpdated();
|
|
145
|
+
}
|
|
141
146
|
const wizardInputs = Array.from(this.inputs);
|
|
142
147
|
const wizardList = (this.dialog?.querySelector('filtered-list,mwc-list'));
|
|
143
148
|
if (!this.checkValidity()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wizard-dialog.js","sourceRoot":"","sources":["../src/wizard-dialog.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n customElement,\n css,\n queryAll,\n LitElement,\n property,\n state,\n TemplateResult,\n html,\n query,\n} from 'lit-element';\nimport { ifDefined } from 'lit-html/directives/if-defined.js';\nimport { get } from 'lit-translate';\n\nimport '@material/mwc-button';\nimport '@material/mwc-dialog';\nimport '@material/mwc-icon-button';\nimport '@material/mwc-icon-button-toggle';\nimport '@material/mwc-menu';\nimport { Dialog } from '@material/mwc-dialog';\nimport { IconButton } from '@material/mwc-icon-button';\nimport { List } from '@material/mwc-list';\nimport { Menu } from '@material/mwc-menu';\n\nimport { formatXml } from '@compas-oscd/xml';\n\nimport 'ace-custom-element';\nimport './wizard-checkbox.js';\nimport './wizard-textfield.js';\nimport './wizard-select.js';\n\nimport {\n newActionEvent,\n Delete,\n Create,\n} from '@compas-oscd/core';\nimport {\n Wizard,\n WizardInputElement,\n WizardPage,\n newWizardEvent,\n WizardActor,\n wizardInputSelector,\n isWizardFactory,\n checkValidity,\n reportValidity,\n identity,\n WizardInput,\n WizardMenuActor,\n} from './foundation.js';\n\nfunction renderWizardInput(\n input: TemplateResult | WizardInput\n): TemplateResult {\n if (input instanceof TemplateResult) return input;\n\n if (input.kind === 'Checkbox')\n return html`<wizard-checkbox\n ?nullable=${input.nullable}\n ?defaultChecked=${input.default}\n ?dialogInitialFocus=${input.dialogInitialFocus}\n label=\"${input.label}\"\n helper=\"${ifDefined(input.helper)}\"\n .maybeValue=${input.maybeValue}\n ></wizard-checkbox>`;\n\n if (input.kind === 'Select')\n return html`<wizard-select\n ?nullable=${input.nullable}\n ?dialogInitialFocus=${input.dialogInitialFocus}\n label=\"${input.label}\"\n helper=\"${ifDefined(input.helper)}\"\n defaultValue=\"${ifDefined(input.default)}\"\n validationMessage=\"${ifDefined(input.valadationMessage)}\"\n .maybeValue=${input.maybeValue}\n >${input.values.map(\n value => html`<mwc-list-item value=\"${value}\">${value}</mwc-list-item>`\n )}</wizard-select\n >`;\n\n return html`<wizard-textfield\n ?nullable=${input.nullable}\n ?required=${input.required}\n ?disabled=${input.disabled}\n ?dialogInitialFocus=${input.dialogInitialFocus}\n label=\"${input.label}\"\n defaultValue=\"${ifDefined(input.default)}\"\n helper=\"${ifDefined(input.helper)}\"\n validationMessage=\"${ifDefined(input.helper)}\"\n unit=\"${ifDefined(input.unit)}\"\n .multipliers=${input.multipliers ?? []}\n .multiplier=${input.multiplier ?? null}\n suffix=\"${ifDefined(input.suffix)}\"\n .maybeValue=${input.maybeValue}\n pattern=\"${ifDefined(input.pattern)}\"\n minLength=\"${ifDefined(input.minLength)}\"\n maxLength=\"${ifDefined(input.maxLength)}\"\n type=\"${ifDefined(input.type)}\"\n min=\"${ifDefined(input.min)}\"\n max=\"${ifDefined(input.max)}\"\n ></wizard-textfield>`;\n}\n\nfunction dialogInputs(dialog?: Dialog): WizardInputElement[] {\n return Array.from(dialog?.querySelectorAll(wizardInputSelector) ?? []);\n}\n\nfunction dialogValid(dialog?: Dialog): boolean {\n return dialogInputs(dialog).every(checkValidity);\n}\n\nfunction codeAction(element: Element): WizardActor {\n return inputs => {\n const text = inputs[0].value!;\n if (!text || !element.parentElement) return [];\n const desc = {\n parent: element.parentElement!,\n reference: element.nextSibling,\n element,\n };\n const del: Delete = {\n old: desc,\n checkValidity: () => true,\n };\n const cre: Create = {\n new: {\n ...desc,\n element: new DOMParser().parseFromString(text, 'application/xml')\n .documentElement,\n },\n checkValidity: () => true,\n };\n return [\n {\n actions: [del, cre],\n title: get('code.log', {\n id: identity(element),\n }),\n },\n ];\n };\n}\n\n/** A wizard style dialog consisting of several pages commiting some\n * [[`EditorAction`]] on completion and aborting on dismissal. */\n@customElement('wizard-dialog')\nexport class WizardDialog extends LitElement {\n /** The [[`Wizard`]] implemented by this dialog. */\n @property({ type: Array })\n wizard: Wizard = [];\n /** Index of the currently active [[`WizardPage`]] */\n @state()\n pageIndex = 0;\n\n @queryAll('mwc-dialog') dialogs!: NodeListOf<Dialog>;\n @queryAll(wizardInputSelector) inputs!: NodeListOf<WizardInputElement>;\n @query('.actions-menu') actionsMenu!: Menu;\n @query('mwc-icon-button[icon=\"more_vert\"]') menuButton!: IconButton;\n\n /** The `Dialog` showing the active [[`WizardPage`]]. */\n get dialog(): Dialog | undefined {\n return this.dialogs[this.pageIndex];\n }\n\n get code(): boolean {\n return (\n (this.dialog?.querySelector('mwc-icon-button-toggle')?.on ?? false) &&\n localStorage.getItem('mode') === 'pro'\n );\n }\n\n /** Checks the inputs of all [[`WizardPage`]]s for validity. */\n checkValidity(): boolean {\n return Array.from(this.inputs).every(checkValidity);\n }\n\n private get firstInvalidPage(): number {\n return Array.from(this.dialogs).findIndex(dialog => !dialogValid(dialog));\n }\n\n prev(): void {\n if (this.pageIndex <= 0) return;\n this.pageIndex--;\n this.dialog?.show();\n }\n\n async next(): Promise<void> {\n if (dialogValid(this.dialog)) {\n if (this.wizard.length > this.pageIndex + 1) this.pageIndex++;\n this.dialog?.show();\n } else {\n this.dialog?.show();\n await this.dialog?.updateComplete;\n dialogInputs(this.dialog).map(reportValidity);\n }\n }\n\n /** Commits `action` if all inputs are valid, reports validity otherwise. */\n async act(action?: WizardActor, primary = true): Promise<boolean> {\n if (action === undefined) return false;\n const wizardInputs = Array.from(this.inputs);\n const wizardList = <List | null>(\n this.dialog?.querySelector('filtered-list,mwc-list')\n );\n if (!this.checkValidity()) {\n this.pageIndex = this.firstInvalidPage;\n wizardInputs.map(reportValidity);\n return false;\n }\n\n const wizardActions = action(wizardInputs, this, wizardList);\n if (wizardActions.length > 0) {\n if (primary) this.wizard[this.pageIndex].primary = undefined;\n else this.wizard[this.pageIndex].secondary = undefined;\n this.dispatchEvent(newWizardEvent());\n }\n wizardActions.forEach(wa =>\n isWizardFactory(wa)\n ? this.dispatchEvent(newWizardEvent(wa))\n : this.dispatchEvent(newActionEvent(wa))\n );\n return true;\n }\n\n /** Triggers menu action callback */\n async menuAct(action?: WizardMenuActor): Promise<void> {\n if (!action) return;\n\n action(this);\n }\n\n private onClosed(ae: CustomEvent<{ action: string } | null>): void {\n if (!(ae.target instanceof Dialog && ae.detail?.action)) return;\n if (ae.detail.action === 'close') this.dispatchEvent(newWizardEvent());\n else if (ae.detail.action === 'prev') this.prev();\n else if (ae.detail.action === 'next') this.next();\n }\n\n constructor() {\n super();\n\n this.act = this.act.bind(this);\n this.renderPage = this.renderPage.bind(this);\n }\n\n updated(changedProperties: Map<string | number | symbol, unknown>): void {\n if (changedProperties.has('wizard')) {\n this.pageIndex = 0;\n while (\n this.wizard.findIndex(page => page.initial) > this.pageIndex &&\n dialogValid(this.dialog)\n ) {\n this.dialog?.close();\n this.next();\n }\n this.dialog?.show();\n }\n if (this.wizard[this.pageIndex]?.primary?.auto) {\n this.updateComplete.then(() =>\n this.act(this.wizard[this.pageIndex].primary!.action)\n );\n }\n\n if (this.actionsMenu)\n this.actionsMenu.anchor = <HTMLElement>this.menuButton;\n }\n\n renderMenu(page: WizardPage): TemplateResult {\n const someIconsDefined = page.menuActions?.some(\n menuAction => menuAction.icon\n );\n\n return html` <mwc-icon-button\n icon=\"more_vert\"\n @click=${() => {\n if (!this.actionsMenu.open) this.actionsMenu.show();\n else this.actionsMenu.close();\n }}\n ></mwc-icon-button>\n <mwc-menu class=\"actions-menu\" corner=\"BOTTOM_RIGHT\" menuCorner=\"END\">\n ${page.menuActions!.map(\n menuAction =>\n html`<mwc-list-item\n .graphic=${someIconsDefined ? 'icon' : null}\n @click=${() => this.menuAct(menuAction.action)}\n >\n <span>${menuAction.label}</span>\n ${menuAction.icon\n ? html`<mwc-icon slot=\"graphic\">${menuAction.icon}</mwc-icon>`\n : html``}\n </mwc-list-item>`\n )}\n </mwc-menu>`;\n }\n\n renderPage(page: WizardPage, index: number): TemplateResult {\n const isProMode = localStorage.getItem('mode') === 'pro';\n const hasPageElement = Boolean(page.element);\n const showCodeToggleButton = hasPageElement && isProMode\n\n let extraWidth = 0;\n\n if(showCodeToggleButton && page.menuActions){\n extraWidth = 96;\n }else if(showCodeToggleButton || page.menuActions){\n extraWidth = 48;\n }else{\n extraWidth = 0;\n }\n\n\n return html`<mwc-dialog\n defaultAction=\"next\"\n heading=${page.title}\n @closed=${this.onClosed}\n style=\"--mdc-dialog-min-width:calc(100% + ${extraWidth}px)\"\n >\n ${showCodeToggleButton || page.menuActions\n ? html`<nav>\n ${showCodeToggleButton\n ? html`<mwc-icon-button-toggle\n onicon=\"code\"\n officon=\"code_off\"\n @click=${() => this.requestUpdate()}\n ></mwc-icon-button-toggle>`\n : ''}\n ${page.menuActions ? this.renderMenu(page) : ''}\n </nav>`\n : ''}\n <div id=\"wizard-content\">\n ${this.code && page.element\n ? html`<ace-editor\n base-path=\"/public/ace\"\n wrap\n soft-tabs\n style=\"width: 80vw; height: calc(100vh - 240px);\"\n theme=\"ace/theme/solarized_${localStorage.getItem('theme')}\"\n mode=\"ace/mode/xml\"\n value=\"${formatXml(\n new XMLSerializer().serializeToString(page.element)\n )}\"\n ></ace-editor>`\n : page.content?.map(renderWizardInput)}\n </div>\n ${index > 0\n ? html`<mwc-button\n slot=\"secondaryAction\"\n dialogAction=\"prev\"\n icon=\"navigate_before\"\n label=${this.wizard?.[index - 1].title}\n ></mwc-button>`\n : html``}\n ${page.secondary\n ? html`<mwc-button\n slot=\"secondaryAction\"\n @click=${() => this.act(page.secondary?.action, false)}\n icon=\"${page.secondary.icon}\"\n label=\"${page.secondary.label}\"\n ></mwc-button>`\n : html`<mwc-button\n slot=\"secondaryAction\"\n dialogAction=\"close\"\n label=\"${get('close')}\"\n style=\"--mdc-theme-primary: var(--mdc-theme-error)\"\n ></mwc-button>`}\n ${this.code && page.element\n ? html`<mwc-button\n slot=\"primaryAction\"\n @click=${() => this.act(codeAction(page.element!))}\n icon=\"code\"\n label=\"${get('save')}\"\n trailingIcon\n ></mwc-button>`\n : page.primary\n ? html`<mwc-button\n slot=\"primaryAction\"\n @click=${() => this.act(page.primary?.action)}\n icon=\"${page.primary.icon}\"\n label=\"${page.primary.label}\"\n trailingIcon\n ></mwc-button>`\n : index + 1 < (this.wizard?.length ?? 0)\n ? html`<mwc-button\n slot=\"primaryAction\"\n dialogAction=\"next\"\n icon=\"navigate_next\"\n label=${this.wizard?.[index + 1].title}\n trailingicon\n ></mwc-button>`\n : html``}\n </mwc-dialog>`;\n }\n\n render(): TemplateResult {\n return html`${this.wizard.map(this.renderPage)}`;\n }\n\n static styles = css`\n mwc-dialog {\n --mdc-dialog-max-width: 92vw;\n }\n\n mwc-dialog > nav {\n position: absolute;\n top: 8px;\n right: 14px;\n color: var(--base00);\n }\n\n mwc-dialog > nav > mwc-icon-button-toggle[on] {\n color: var(--mdc-theme-primary);\n }\n\n #wizard-content {\n display: flex;\n flex-direction: column;\n }\n\n #wizard-content > * {\n display: block;\n margin-top: 16px;\n }\n\n *[iconTrailing='search'] {\n --mdc-shape-small: 28px;\n }\n `;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"wizard-dialog.js","sourceRoot":"","sources":["../src/wizard-dialog.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n customElement,\n css,\n queryAll,\n LitElement,\n property,\n state,\n TemplateResult,\n html,\n query,\n} from 'lit-element';\nimport { ifDefined } from 'lit-html/directives/if-defined.js';\nimport { get } from 'lit-translate';\n\nimport '@material/mwc-button';\nimport '@material/mwc-dialog';\nimport '@material/mwc-icon-button';\nimport '@material/mwc-icon-button-toggle';\nimport '@material/mwc-menu';\nimport { Dialog } from '@material/mwc-dialog';\nimport { IconButton } from '@material/mwc-icon-button';\nimport { List } from '@material/mwc-list';\nimport { Menu } from '@material/mwc-menu';\n\nimport { formatXml } from '@compas-oscd/xml';\n\nimport 'ace-custom-element';\nimport './wizard-checkbox.js';\nimport './wizard-textfield.js';\nimport './wizard-select.js';\nimport { WizardTextField } from './wizard-textfield.js';\n\nimport {\n newActionEvent,\n Delete,\n Create,\n} from '@compas-oscd/core';\nimport {\n Wizard,\n WizardInputElement,\n WizardPage,\n newWizardEvent,\n WizardActor,\n wizardInputSelector,\n isWizardFactory,\n checkValidity,\n reportValidity,\n identity,\n WizardInput,\n WizardMenuActor,\n} from './foundation.js';\n\nfunction renderWizardInput(\n input: TemplateResult | WizardInput\n): TemplateResult {\n if (input instanceof TemplateResult) return input;\n\n if (input.kind === 'Checkbox')\n return html`<wizard-checkbox\n ?nullable=${input.nullable}\n ?defaultChecked=${input.default}\n ?dialogInitialFocus=${input.dialogInitialFocus}\n label=\"${input.label}\"\n helper=\"${ifDefined(input.helper)}\"\n .maybeValue=${input.maybeValue}\n ></wizard-checkbox>`;\n\n if (input.kind === 'Select')\n return html`<wizard-select\n ?nullable=${input.nullable}\n ?dialogInitialFocus=${input.dialogInitialFocus}\n label=\"${input.label}\"\n helper=\"${ifDefined(input.helper)}\"\n defaultValue=\"${ifDefined(input.default)}\"\n validationMessage=\"${ifDefined(input.valadationMessage)}\"\n .maybeValue=${input.maybeValue}\n >${input.values.map(\n value => html`<mwc-list-item value=\"${value}\">${value}</mwc-list-item>`\n )}</wizard-select\n >`;\n\n return html`<wizard-textfield\n ?nullable=${input.nullable}\n ?required=${input.required}\n ?disabled=${input.disabled}\n ?dialogInitialFocus=${input.dialogInitialFocus}\n label=\"${input.label}\"\n defaultValue=\"${ifDefined(input.default)}\"\n helper=\"${ifDefined(input.helper)}\"\n validationMessage=\"${ifDefined(input.helper)}\"\n unit=\"${ifDefined(input.unit)}\"\n .multipliers=${input.multipliers ?? []}\n .multiplier=${input.multiplier ?? null}\n suffix=\"${ifDefined(input.suffix)}\"\n .maybeValue=${input.maybeValue}\n pattern=\"${ifDefined(input.pattern)}\"\n minLength=\"${ifDefined(input.minLength)}\"\n maxLength=\"${ifDefined(input.maxLength)}\"\n type=\"${ifDefined(input.type)}\"\n min=\"${ifDefined(input.min)}\"\n max=\"${ifDefined(input.max)}\"\n ></wizard-textfield>`;\n}\n\nfunction dialogInputs(dialog?: Dialog): WizardInputElement[] {\n return Array.from(dialog?.querySelectorAll(wizardInputSelector) ?? []);\n}\n\nfunction dialogValid(dialog?: Dialog): boolean {\n return dialogInputs(dialog).every(checkValidity);\n}\n\nfunction codeAction(element: Element): WizardActor {\n return inputs => {\n const text = inputs[0].value!;\n if (!text || !element.parentElement) return [];\n const desc = {\n parent: element.parentElement!,\n reference: element.nextSibling,\n element,\n };\n const del: Delete = {\n old: desc,\n checkValidity: () => true,\n };\n const cre: Create = {\n new: {\n ...desc,\n element: new DOMParser().parseFromString(text, 'application/xml')\n .documentElement,\n },\n checkValidity: () => true,\n };\n return [\n {\n actions: [del, cre],\n title: get('code.log', {\n id: identity(element),\n }),\n },\n ];\n };\n}\n\n/** A wizard style dialog consisting of several pages commiting some\n * [[`EditorAction`]] on completion and aborting on dismissal. */\n@customElement('wizard-dialog')\nexport class WizardDialog extends LitElement {\n /** The [[`Wizard`]] implemented by this dialog. */\n @property({ type: Array })\n wizard: Wizard = [];\n /** Index of the currently active [[`WizardPage`]] */\n @state()\n pageIndex = 0;\n\n @queryAll('mwc-dialog') dialogs!: NodeListOf<Dialog>;\n @queryAll(wizardInputSelector) inputs!: NodeListOf<WizardInputElement>;\n @query('.actions-menu') actionsMenu!: Menu;\n @query('mwc-icon-button[icon=\"more_vert\"]') menuButton!: IconButton;\n\n /** The `Dialog` showing the active [[`WizardPage`]]. */\n get dialog(): Dialog | undefined {\n return this.dialogs[this.pageIndex];\n }\n\n get code(): boolean {\n return (\n (this.dialog?.querySelector('mwc-icon-button-toggle')?.on ?? false) &&\n localStorage.getItem('mode') === 'pro'\n );\n }\n\n /** Checks the inputs of all [[`WizardPage`]]s for validity. */\n checkValidity(): boolean {\n return Array.from(this.inputs).every(checkValidity);\n }\n\n private get firstInvalidPage(): number {\n return Array.from(this.dialogs).findIndex(dialog => !dialogValid(dialog));\n }\n\n prev(): void {\n if (this.pageIndex <= 0) return;\n this.pageIndex--;\n this.dialog?.show();\n }\n\n async next(): Promise<void> {\n if (dialogValid(this.dialog)) {\n if (this.wizard.length > this.pageIndex + 1) this.pageIndex++;\n this.dialog?.show();\n } else {\n this.dialog?.show();\n await this.dialog?.updateComplete;\n dialogInputs(this.dialog).map(reportValidity);\n }\n }\n\n /** Commits `action` if all inputs are valid, reports validity otherwise. */\n async act(action?: WizardActor, primary = true): Promise<boolean> {\n if (action === undefined) return false;\n\n for (const input of dialogInputs(this.dialog))\n if(input instanceof WizardTextField) {\n input.ensureValueUpdated();\n }\n\n const wizardInputs = Array.from(this.inputs);\n const wizardList = <List | null>(\n this.dialog?.querySelector('filtered-list,mwc-list')\n );\n if (!this.checkValidity()) {\n this.pageIndex = this.firstInvalidPage;\n wizardInputs.map(reportValidity);\n return false;\n }\n\n const wizardActions = action(wizardInputs, this, wizardList);\n if (wizardActions.length > 0) {\n if (primary) this.wizard[this.pageIndex].primary = undefined;\n else this.wizard[this.pageIndex].secondary = undefined;\n this.dispatchEvent(newWizardEvent());\n }\n wizardActions.forEach(wa =>\n isWizardFactory(wa)\n ? this.dispatchEvent(newWizardEvent(wa))\n : this.dispatchEvent(newActionEvent(wa))\n );\n return true;\n }\n\n /** Triggers menu action callback */\n async menuAct(action?: WizardMenuActor): Promise<void> {\n if (!action) return;\n\n action(this);\n }\n\n private onClosed(ae: CustomEvent<{ action: string } | null>): void {\n if (!(ae.target instanceof Dialog && ae.detail?.action)) return;\n if (ae.detail.action === 'close') this.dispatchEvent(newWizardEvent());\n else if (ae.detail.action === 'prev') this.prev();\n else if (ae.detail.action === 'next') this.next();\n }\n\n constructor() {\n super();\n\n this.act = this.act.bind(this);\n this.renderPage = this.renderPage.bind(this);\n }\n\n updated(changedProperties: Map<string | number | symbol, unknown>): void {\n if (changedProperties.has('wizard')) {\n this.pageIndex = 0;\n while (\n this.wizard.findIndex(page => page.initial) > this.pageIndex &&\n dialogValid(this.dialog)\n ) {\n this.dialog?.close();\n this.next();\n }\n this.dialog?.show();\n }\n if (this.wizard[this.pageIndex]?.primary?.auto) {\n this.updateComplete.then(() =>\n this.act(this.wizard[this.pageIndex].primary!.action)\n );\n }\n\n if (this.actionsMenu)\n this.actionsMenu.anchor = <HTMLElement>this.menuButton;\n }\n\n renderMenu(page: WizardPage): TemplateResult {\n const someIconsDefined = page.menuActions?.some(\n menuAction => menuAction.icon\n );\n\n return html` <mwc-icon-button\n icon=\"more_vert\"\n @click=${() => {\n if (!this.actionsMenu.open) this.actionsMenu.show();\n else this.actionsMenu.close();\n }}\n ></mwc-icon-button>\n <mwc-menu class=\"actions-menu\" corner=\"BOTTOM_RIGHT\" menuCorner=\"END\">\n ${page.menuActions!.map(\n menuAction =>\n html`<mwc-list-item\n .graphic=${someIconsDefined ? 'icon' : null}\n @click=${() => this.menuAct(menuAction.action)}\n >\n <span>${menuAction.label}</span>\n ${menuAction.icon\n ? html`<mwc-icon slot=\"graphic\">${menuAction.icon}</mwc-icon>`\n : html``}\n </mwc-list-item>`\n )}\n </mwc-menu>`;\n }\n\n renderPage(page: WizardPage, index: number): TemplateResult {\n const isProMode = localStorage.getItem('mode') === 'pro';\n const hasPageElement = Boolean(page.element);\n const showCodeToggleButton = hasPageElement && isProMode\n\n let extraWidth = 0;\n\n if(showCodeToggleButton && page.menuActions){\n extraWidth = 96;\n }else if(showCodeToggleButton || page.menuActions){\n extraWidth = 48;\n }else{\n extraWidth = 0;\n }\n\n\n return html`<mwc-dialog\n defaultAction=\"next\"\n heading=${page.title}\n @closed=${this.onClosed}\n style=\"--mdc-dialog-min-width:calc(100% + ${extraWidth}px)\"\n >\n ${showCodeToggleButton || page.menuActions\n ? html`<nav>\n ${showCodeToggleButton\n ? html`<mwc-icon-button-toggle\n onicon=\"code\"\n officon=\"code_off\"\n @click=${() => this.requestUpdate()}\n ></mwc-icon-button-toggle>`\n : ''}\n ${page.menuActions ? this.renderMenu(page) : ''}\n </nav>`\n : ''}\n <div id=\"wizard-content\">\n ${this.code && page.element\n ? html`<ace-editor\n base-path=\"/public/ace\"\n wrap\n soft-tabs\n style=\"width: 80vw; height: calc(100vh - 240px);\"\n theme=\"ace/theme/solarized_${localStorage.getItem('theme')}\"\n mode=\"ace/mode/xml\"\n value=\"${formatXml(\n new XMLSerializer().serializeToString(page.element)\n )}\"\n ></ace-editor>`\n : page.content?.map(renderWizardInput)}\n </div>\n ${index > 0\n ? html`<mwc-button\n slot=\"secondaryAction\"\n dialogAction=\"prev\"\n icon=\"navigate_before\"\n label=${this.wizard?.[index - 1].title}\n ></mwc-button>`\n : html``}\n ${page.secondary\n ? html`<mwc-button\n slot=\"secondaryAction\"\n @click=${() => this.act(page.secondary?.action, false)}\n icon=\"${page.secondary.icon}\"\n label=\"${page.secondary.label}\"\n ></mwc-button>`\n : html`<mwc-button\n slot=\"secondaryAction\"\n dialogAction=\"close\"\n label=\"${get('close')}\"\n style=\"--mdc-theme-primary: var(--mdc-theme-error)\"\n ></mwc-button>`}\n ${this.code && page.element\n ? html`<mwc-button\n slot=\"primaryAction\"\n @click=${() => this.act(codeAction(page.element!))}\n icon=\"code\"\n label=\"${get('save')}\"\n trailingIcon\n ></mwc-button>`\n : page.primary\n ? html`<mwc-button\n slot=\"primaryAction\"\n @click=${() => this.act(page.primary?.action)}\n icon=\"${page.primary.icon}\"\n label=\"${page.primary.label}\"\n trailingIcon\n ></mwc-button>`\n : index + 1 < (this.wizard?.length ?? 0)\n ? html`<mwc-button\n slot=\"primaryAction\"\n dialogAction=\"next\"\n icon=\"navigate_next\"\n label=${this.wizard?.[index + 1].title}\n trailingicon\n ></mwc-button>`\n : html``}\n </mwc-dialog>`;\n }\n\n render(): TemplateResult {\n return html`${this.wizard.map(this.renderPage)}`;\n }\n\n static styles = css`\n mwc-dialog {\n --mdc-dialog-max-width: 92vw;\n }\n\n mwc-dialog > nav {\n position: absolute;\n top: 8px;\n right: 14px;\n color: var(--base00);\n }\n\n mwc-dialog > nav > mwc-icon-button-toggle[on] {\n color: var(--mdc-theme-primary);\n }\n\n #wizard-content {\n display: flex;\n flex-direction: column;\n }\n\n #wizard-content > * {\n display: block;\n margin-top: 16px;\n }\n\n *[iconTrailing='search'] {\n --mdc-shape-small: 28px;\n }\n `;\n}\n"]}
|
package/dist/wizard-textfield.js
CHANGED
|
@@ -72,6 +72,10 @@ let WizardTextField = class WizardTextField extends LitElement {
|
|
|
72
72
|
this.multiplierMenu.anchor =
|
|
73
73
|
this.multiplierButton ?? null;
|
|
74
74
|
}
|
|
75
|
+
ensureValueUpdated() {
|
|
76
|
+
if (this.textfield)
|
|
77
|
+
this.value = this.textfield.value;
|
|
78
|
+
}
|
|
75
79
|
checkValidity() {
|
|
76
80
|
if (this.reservedValues &&
|
|
77
81
|
this.reservedValues.some(array => array === this.value)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wizard-textfield.js","sourceRoot":"","sources":["../src/wizard-textfield.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n customElement,\n html,\n state,\n property,\n query,\n TemplateResult,\n LitElement,\n} from 'lit-element';\nimport { get } from 'lit-translate';\nimport { ifDefined } from 'lit-html/directives/if-defined.js';\n\nimport '@material/mwc-icon-button';\nimport '@material/mwc-list/mwc-list-item';\nimport '@material/mwc-menu';\nimport '@material/mwc-switch';\nimport '@material/mwc-textfield';\nimport { IconButton } from '@material/mwc-icon-button';\nimport { Menu } from '@material/mwc-menu';\nimport { SingleSelectedEvent } from '@material/mwc-list/mwc-list-foundation';\nimport { Switch } from '@material/mwc-switch';\nimport { TextField } from '@material/mwc-textfield';\n\n/** A potentially `nullable` `TextField` that allows for selection of an SI\n * `multiplier` if an SI `unit` is given.\n *\n * NB: Use `maybeValue: string | null` instead of `value` if `nullable`!*/\n@customElement('wizard-textfield')\nexport class WizardTextField extends LitElement {\n /** Whether [[`maybeValue`]] may be `null` */\n @property({ type: Boolean })\n nullable = false;\n /** Selectable SI multipliers for a non-empty [[`unit`]]. */\n @property({ type: Array })\n multipliers = [null, ''];\n private multiplierIndex = 0;\n\n @property({ type: String })\n value = '';\n @property({ type: String })\n suffix = '';\n @property({ type: Boolean })\n helperPersistent = false;\n @property({ type: Boolean })\n disabled = false;\n @property({ type: Boolean })\n required = false;\n @property({ type: String })\n label = '';\n @property({ type: Boolean })\n dialogInitialFocus = false;\n @property({ type: String })\n helper: string | undefined;\n @property({ type: String })\n validationMessage: string | undefined;\n @property({ type: String })\n pattern: string | undefined;\n @property({ type: Number })\n minLength: number | undefined;\n @property({ type: Number })\n maxLength: number | undefined;\n @property({ type: String })\n type: string | undefined;\n @property({ type: Number })\n min: number | undefined;\n @property({ type: Number })\n max: number | undefined;\n\n @property({ type: String })\n get multiplier(): string | null {\n if (this.unit == '') return null;\n return (\n this.multipliers[this.multiplierIndex] ?? this.multipliers[0] ?? null\n );\n }\n set multiplier(value: string | null) {\n const index = this.multipliers.indexOf(value);\n if (index >= 0) this.multiplierIndex = index;\n this.suffix = (this.multiplier ?? '') + this.unit;\n }\n /** SI Unit, must be non-empty to allow for selecting a [[`multiplier`]].\n * Overrides `suffix`. */\n @property({ type: String })\n unit = '';\n private isNull = false;\n @state()\n private get null(): boolean {\n return this.nullable && this.isNull;\n }\n private set null(value: boolean) {\n if (!this.nullable || value === this.isNull) return;\n this.isNull = value;\n if (this.null) this.disable();\n else this.enable();\n }\n /** Replacement for `value`, can only be `null` if [[`nullable`]]. */\n @property({ type: String })\n get maybeValue(): string | null {\n return this.null ? null : this.value;\n }\n set maybeValue(value: string | null) {\n if (value === null) this.null = true;\n else {\n this.null = false;\n this.value = value;\n }\n }\n /** The default `value` displayed if [[`maybeValue`]] is `null`. */\n @property({ type: String })\n defaultValue = '';\n /** Additional values that cause validation to fail. */\n @property({ type: Array })\n reservedValues: string[] = [];\n\n // FIXME: workaround to allow disable of the whole component - need basic refactor\n private disabledSwitch = false;\n\n @query('mwc-textfield') textfield!: TextField;\n @query('mwc-switch') nullSwitch?: Switch;\n @query('mwc-menu') multiplierMenu?: Menu;\n @query('mwc-icon-button') multiplierButton?: IconButton;\n\n private nulled: string | null = null;\n\n private selectMultiplier(se: SingleSelectedEvent): void {\n this.multiplier = this.multipliers[se.detail.index];\n }\n\n private enable(): void {\n if (this.nulled === null) return;\n this.value = this.nulled;\n this.nulled = null;\n this.helperPersistent = false;\n this.disabled = false;\n }\n\n private disable(): void {\n if (this.nulled !== null) return;\n this.nulled = this.value;\n this.value = this.defaultValue;\n this.helperPersistent = true;\n this.disabled = true;\n }\n\n firstUpdated(): void {\n // await super.firstUpdated();\n if (this.multiplierMenu)\n this.multiplierMenu.anchor =\n (this.multiplierButton as HTMLElement) ?? null;\n }\n\n checkValidity(): boolean {\n if (\n this.reservedValues &&\n this.reservedValues.some(array => array === this.value)\n ) {\n this.textfield.setCustomValidity(get('textfield.unique'));\n return false;\n }\n this.textfield.setCustomValidity(''); //Reset. Otherwise super.checkValidity always falseM\n return this.textfield.checkValidity();\n }\n\n reportValidity(): boolean {\n return this.textfield.reportValidity();\n }\n\n constructor() {\n super();\n\n this.disabledSwitch = this.hasAttribute('disabled');\n }\n\n renderUnitSelector(): TemplateResult {\n if (this.multipliers.length && this.unit)\n return html`<div style=\"position:relative;\">\n <mwc-icon-button\n style=\"margin:5px;\"\n icon=\"more\"\n ?disabled=${this.null || this.disabledSwitch}\n @click=${() => this.multiplierMenu?.show()}\n ></mwc-icon-button>\n <mwc-menu\n @selected=${this.selectMultiplier}\n fixed\n .anchor=${this.multiplierButton ?? null}\n >${this.renderMulplierList()}</mwc-menu\n >\n </div>`;\n else return html``;\n }\n\n renderMulplierList(): TemplateResult {\n return html`${this.multipliers.map(\n multiplier =>\n html`<mwc-list-item ?selected=${multiplier === this.multiplier}\n >${multiplier === null\n ? get('textfield.noMultiplier')\n : multiplier}</mwc-list-item\n >`\n )}`;\n }\n\n renderSwitch(): TemplateResult {\n if (this.nullable) {\n return html`<mwc-switch\n style=\"margin-left: 12px;\"\n ?checked=${!this.null}\n ?disabled=${this.disabledSwitch}\n @change=${() => {\n this.null = !this.nullSwitch!.checked;\n }}\n ></mwc-switch>`;\n }\n return html``;\n }\n\n render(): TemplateResult {\n return html`\n <div style=\"display: flex; flex-direction: row;\">\n <mwc-textfield style=\"flex: auto;\"\n .value=${this.value}\n .suffix=${this.suffix}\n .helperPersistent=${this.helperPersistent}\n .disabled=${this.disabled}\n .required=${this.required}\n label=${this.label}\n helper=\"${ifDefined(this.helper)}\"\n validationMessage=\"${ifDefined(this.helper)}\"\n pattern=\"${ifDefined(this.pattern)}\"\n minLength=\"${ifDefined(this.minLength)}\"\n maxLength=\"${ifDefined(this.maxLength)}\"\n type=\"${ifDefined(this.type)}\"\n min=\"${ifDefined(this.min)}\"\n max=\"${ifDefined(this.max)}\"\n @change=\"${(e: Event) => this.value = (e.target as HTMLInputElement).value}\">\n </mwc-textfield>\n ${this.renderUnitSelector()}\n <div style=\"display: flex; align-items: center; height: 56px;\">\n ${this.renderSwitch()}\n </div>\n </div>\n `;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"wizard-textfield.js","sourceRoot":"","sources":["../src/wizard-textfield.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n customElement,\n html,\n state,\n property,\n query,\n TemplateResult,\n LitElement,\n} from 'lit-element';\nimport { get } from 'lit-translate';\nimport { ifDefined } from 'lit-html/directives/if-defined.js';\n\nimport '@material/mwc-icon-button';\nimport '@material/mwc-list/mwc-list-item';\nimport '@material/mwc-menu';\nimport '@material/mwc-switch';\nimport '@material/mwc-textfield';\nimport { IconButton } from '@material/mwc-icon-button';\nimport { Menu } from '@material/mwc-menu';\nimport { SingleSelectedEvent } from '@material/mwc-list/mwc-list-foundation';\nimport { Switch } from '@material/mwc-switch';\nimport { TextField } from '@material/mwc-textfield';\n\n/** A potentially `nullable` `TextField` that allows for selection of an SI\n * `multiplier` if an SI `unit` is given.\n *\n * NB: Use `maybeValue: string | null` instead of `value` if `nullable`!*/\n@customElement('wizard-textfield')\nexport class WizardTextField extends LitElement {\n /** Whether [[`maybeValue`]] may be `null` */\n @property({ type: Boolean })\n nullable = false;\n /** Selectable SI multipliers for a non-empty [[`unit`]]. */\n @property({ type: Array })\n multipliers = [null, ''];\n private multiplierIndex = 0;\n\n @property({ type: String })\n value = '';\n @property({ type: String })\n suffix = '';\n @property({ type: Boolean })\n helperPersistent = false;\n @property({ type: Boolean })\n disabled = false;\n @property({ type: Boolean })\n required = false;\n @property({ type: String })\n label = '';\n @property({ type: Boolean })\n dialogInitialFocus = false;\n @property({ type: String })\n helper: string | undefined;\n @property({ type: String })\n validationMessage: string | undefined;\n @property({ type: String })\n pattern: string | undefined;\n @property({ type: Number })\n minLength: number | undefined;\n @property({ type: Number })\n maxLength: number | undefined;\n @property({ type: String })\n type: string | undefined;\n @property({ type: Number })\n min: number | undefined;\n @property({ type: Number })\n max: number | undefined;\n\n @property({ type: String })\n get multiplier(): string | null {\n if (this.unit == '') return null;\n return (\n this.multipliers[this.multiplierIndex] ?? this.multipliers[0] ?? null\n );\n }\n set multiplier(value: string | null) {\n const index = this.multipliers.indexOf(value);\n if (index >= 0) this.multiplierIndex = index;\n this.suffix = (this.multiplier ?? '') + this.unit;\n }\n /** SI Unit, must be non-empty to allow for selecting a [[`multiplier`]].\n * Overrides `suffix`. */\n @property({ type: String })\n unit = '';\n private isNull = false;\n @state()\n private get null(): boolean {\n return this.nullable && this.isNull;\n }\n private set null(value: boolean) {\n if (!this.nullable || value === this.isNull) return;\n this.isNull = value;\n if (this.null) this.disable();\n else this.enable();\n }\n /** Replacement for `value`, can only be `null` if [[`nullable`]]. */\n @property({ type: String })\n get maybeValue(): string | null {\n return this.null ? null : this.value;\n }\n set maybeValue(value: string | null) {\n if (value === null) this.null = true;\n else {\n this.null = false;\n this.value = value;\n }\n }\n /** The default `value` displayed if [[`maybeValue`]] is `null`. */\n @property({ type: String })\n defaultValue = '';\n /** Additional values that cause validation to fail. */\n @property({ type: Array })\n reservedValues: string[] = [];\n\n // FIXME: workaround to allow disable of the whole component - need basic refactor\n private disabledSwitch = false;\n\n @query('mwc-textfield') textfield!: TextField;\n @query('mwc-switch') nullSwitch?: Switch;\n @query('mwc-menu') multiplierMenu?: Menu;\n @query('mwc-icon-button') multiplierButton?: IconButton;\n\n private nulled: string | null = null;\n\n private selectMultiplier(se: SingleSelectedEvent): void {\n this.multiplier = this.multipliers[se.detail.index];\n }\n\n private enable(): void {\n if (this.nulled === null) return;\n this.value = this.nulled;\n this.nulled = null;\n this.helperPersistent = false;\n this.disabled = false;\n }\n\n private disable(): void {\n if (this.nulled !== null) return;\n this.nulled = this.value;\n this.value = this.defaultValue;\n this.helperPersistent = true;\n this.disabled = true;\n }\n\n firstUpdated(): void {\n // await super.firstUpdated();\n if (this.multiplierMenu)\n this.multiplierMenu.anchor =\n (this.multiplierButton as HTMLElement) ?? null;\n }\n\n ensureValueUpdated(): void {\n if (this.textfield) this.value = this.textfield.value;\n }\n\n checkValidity(): boolean {\n if (\n this.reservedValues &&\n this.reservedValues.some(array => array === this.value)\n ) {\n this.textfield.setCustomValidity(get('textfield.unique'));\n return false;\n }\n this.textfield.setCustomValidity(''); //Reset. Otherwise super.checkValidity always falseM\n return this.textfield.checkValidity();\n }\n\n reportValidity(): boolean {\n return this.textfield.reportValidity();\n }\n\n constructor() {\n super();\n\n this.disabledSwitch = this.hasAttribute('disabled');\n }\n\n renderUnitSelector(): TemplateResult {\n if (this.multipliers.length && this.unit)\n return html`<div style=\"position:relative;\">\n <mwc-icon-button\n style=\"margin:5px;\"\n icon=\"more\"\n ?disabled=${this.null || this.disabledSwitch}\n @click=${() => this.multiplierMenu?.show()}\n ></mwc-icon-button>\n <mwc-menu\n @selected=${this.selectMultiplier}\n fixed\n .anchor=${this.multiplierButton ?? null}\n >${this.renderMulplierList()}</mwc-menu\n >\n </div>`;\n else return html``;\n }\n\n renderMulplierList(): TemplateResult {\n return html`${this.multipliers.map(\n multiplier =>\n html`<mwc-list-item ?selected=${multiplier === this.multiplier}\n >${multiplier === null\n ? get('textfield.noMultiplier')\n : multiplier}</mwc-list-item\n >`\n )}`;\n }\n\n renderSwitch(): TemplateResult {\n if (this.nullable) {\n return html`<mwc-switch\n style=\"margin-left: 12px;\"\n ?checked=${!this.null}\n ?disabled=${this.disabledSwitch}\n @change=${() => {\n this.null = !this.nullSwitch!.checked;\n }}\n ></mwc-switch>`;\n }\n return html``;\n }\n\n render(): TemplateResult {\n return html`\n <div style=\"display: flex; flex-direction: row;\">\n <mwc-textfield style=\"flex: auto;\"\n .value=${this.value}\n .suffix=${this.suffix}\n .helperPersistent=${this.helperPersistent}\n .disabled=${this.disabled}\n .required=${this.required}\n label=${this.label}\n helper=\"${ifDefined(this.helper)}\"\n validationMessage=\"${ifDefined(this.helper)}\"\n pattern=\"${ifDefined(this.pattern)}\"\n minLength=\"${ifDefined(this.minLength)}\"\n maxLength=\"${ifDefined(this.maxLength)}\"\n type=\"${ifDefined(this.type)}\"\n min=\"${ifDefined(this.min)}\"\n max=\"${ifDefined(this.max)}\"\n @change=\"${(e: Event) => this.value = (e.target as HTMLInputElement).value}\">\n </mwc-textfield>\n ${this.renderUnitSelector()}\n <div style=\"display: flex; align-items: center; height: 56px;\">\n ${this.renderSwitch()}\n </div>\n </div>\n `;\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@compas-oscd/open-scd",
|
|
3
|
-
"version": "0.34.
|
|
3
|
+
"version": "0.34.48",
|
|
4
4
|
"repository": "https://github.com/openscd/open-scd.git",
|
|
5
5
|
"directory": "packages/openscd",
|
|
6
6
|
"description": "A bottom-up substation configuration designer for projects described using SCL `IEC 61850-6` Edition 2 or greater.",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"./dist/action-pane.js": "./dist/action-pane.js",
|
|
40
40
|
"./dist/action-icon.js": "./dist/action-icon.js",
|
|
41
41
|
"./dist/plain-compare-list.js": "./dist/plain-compare-list.js",
|
|
42
|
-
"./filtered-list.js": "./dist/filtered-list.js",
|
|
42
|
+
"./dist/filtered-list.js": "./dist/filtered-list.js",
|
|
43
43
|
"./dist/finder-list.js": "./dist/finder-list.js",
|
|
44
44
|
"./dist/foundation/dai.js": "./dist/foundation/dai.js",
|
|
45
45
|
"./dist/wizard-textfield.js": "./dist/wizard-textfield.js",
|
|
@@ -57,6 +57,7 @@
|
|
|
57
57
|
"./dist/foundation/scl.js": "./dist/foundation/scl.js",
|
|
58
58
|
"./dist/icons/icons.js": "./dist/icons/icons.js",
|
|
59
59
|
"./dist/icons/ied-icons.js": "./dist/icons/ied-icons.js",
|
|
60
|
+
"./dist/icons/icons.components.js": "./dist/icons/icons.components.js",
|
|
60
61
|
"./dist/icons/lnode.js": "./dist/icons/lnode.js"
|
|
61
62
|
},
|
|
62
63
|
"dependencies": {
|