@gzmjs/form 0.1.0
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/040-input/00-common.d.ts +18 -0
- package/dist/040-input/01-input.d.ts +122 -0
- package/dist/040-input/03-label.d.ts +38 -0
- package/dist/040-input/06-text.d.ts +57 -0
- package/dist/040-input/09-cal.d.ts +65 -0
- package/dist/040-input/12-check.d.ts +33 -0
- package/dist/040-input/15-num.d.ts +50 -0
- package/dist/040-input/18-color.d.ts +41 -0
- package/dist/040-input/21-lines.d.ts +53 -0
- package/dist/040-input/24-comboItem.d.ts +31 -0
- package/dist/040-input/25-comboList.d.ts +27 -0
- package/dist/040-input/26-combo.d.ts +40 -0
- package/dist/040-input/27-checklist.d.ts +36 -0
- package/dist/040-input/30-search-list.d.ts +50 -0
- package/dist/040-input/94.form.d.ts +15 -0
- package/dist/040-input/95-form-input.d.ts +51 -0
- package/dist/040-input/96-form-group.d.ts +39 -0
- package/dist/040-input/97-form-list.d.ts +38 -0
- package/dist/form.es.js +3137 -0
- package/dist/form.es.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/package.json +30 -0
package/dist/form.es.js
ADDED
|
@@ -0,0 +1,3137 @@
|
|
|
1
|
+
import { createStyleSheet, getElementRules, generateId, strAttr, boolAttr, defineElement, baseStyle, saAttr, GT, intAttr, iconCache, iconTagName, createTxtBtn, utilityStyle, CornerHelper, xy, createText, gzmHeader } from "@gzmjs/ui-basic";
|
|
2
|
+
import { ObjMember, onModelEvent, offModelEvent, ViewElement, ObjValue, handleModelEvent, ViewListElement, ListSource, multipleSubscribers } from "@gzmjs/mvvm";
|
|
3
|
+
const inputAutoComplete = ["", "on", "off"];
|
|
4
|
+
function getInputIdForLabel($ipt) {
|
|
5
|
+
if (!$ipt.id) {
|
|
6
|
+
$ipt.id = `input-${generateId()}`;
|
|
7
|
+
}
|
|
8
|
+
return $ipt.id;
|
|
9
|
+
}
|
|
10
|
+
function getHiddenValueFromDataValue(dv) {
|
|
11
|
+
if (!dv && dv !== 0 && dv !== 0n) {
|
|
12
|
+
return "";
|
|
13
|
+
}
|
|
14
|
+
if (Array.isArray(dv)) {
|
|
15
|
+
return dv.map((x) => getHiddenValueFromDataValue(x)).join("");
|
|
16
|
+
}
|
|
17
|
+
const ret = String(dv);
|
|
18
|
+
if (ret.length > 0) {
|
|
19
|
+
const regex = /^,+$/;
|
|
20
|
+
if (regex.test(ret)) {
|
|
21
|
+
return "";
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return ret;
|
|
25
|
+
}
|
|
26
|
+
const ZWCs = [
|
|
27
|
+
"",
|
|
28
|
+
//零宽空格
|
|
29
|
+
"",
|
|
30
|
+
//零宽非连接符
|
|
31
|
+
"",
|
|
32
|
+
//零宽连接符
|
|
33
|
+
"",
|
|
34
|
+
//左向标记
|
|
35
|
+
"",
|
|
36
|
+
//右向标记
|
|
37
|
+
"",
|
|
38
|
+
//左到右嵌入
|
|
39
|
+
"",
|
|
40
|
+
//右到左嵌入
|
|
41
|
+
"",
|
|
42
|
+
//取消嵌入
|
|
43
|
+
"",
|
|
44
|
+
//左到右覆盖
|
|
45
|
+
"",
|
|
46
|
+
//右到左覆盖
|
|
47
|
+
"",
|
|
48
|
+
//单词连接符
|
|
49
|
+
"\uFEFF"
|
|
50
|
+
//零宽非换行空格
|
|
51
|
+
];
|
|
52
|
+
function removeZWC(s) {
|
|
53
|
+
for (let i = 0; i < ZWCs.length; i++) {
|
|
54
|
+
const zwc = ZWCs[i];
|
|
55
|
+
s = s.replaceAll(zwc, "");
|
|
56
|
+
}
|
|
57
|
+
return s;
|
|
58
|
+
}
|
|
59
|
+
function toDateStr(d) {
|
|
60
|
+
const year = d.getFullYear();
|
|
61
|
+
let month = d.getMonth() + 1;
|
|
62
|
+
if (month < 10) {
|
|
63
|
+
month = "0" + month;
|
|
64
|
+
}
|
|
65
|
+
let day = d.getDate();
|
|
66
|
+
if (day < 10) {
|
|
67
|
+
day = "0" + day;
|
|
68
|
+
}
|
|
69
|
+
return year + "-" + month + "-" + day;
|
|
70
|
+
}
|
|
71
|
+
function toMonthStr(d) {
|
|
72
|
+
const year = d.getFullYear();
|
|
73
|
+
let month = d.getMonth() + 1;
|
|
74
|
+
if (month < 10) {
|
|
75
|
+
month = "0" + month;
|
|
76
|
+
}
|
|
77
|
+
return year + "-" + month;
|
|
78
|
+
}
|
|
79
|
+
function weekOfYear(date) {
|
|
80
|
+
if (isNaN(date.getTime())) {
|
|
81
|
+
throw new Error("无效的 Date 对象,请传入合法的日期");
|
|
82
|
+
}
|
|
83
|
+
const cloneDate = new Date(date);
|
|
84
|
+
cloneDate.setHours(0, 0, 0, 0);
|
|
85
|
+
const dayOfWeek = cloneDate.getDay();
|
|
86
|
+
const isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;
|
|
87
|
+
const thursdayOffset = 4 - isoDayOfWeek;
|
|
88
|
+
const thursday = new Date(cloneDate);
|
|
89
|
+
thursday.setDate(cloneDate.getDate() + thursdayOffset);
|
|
90
|
+
const isoYear = thursday.getFullYear();
|
|
91
|
+
const firstDayOfYear = new Date(isoYear, 0, 1);
|
|
92
|
+
const firstDayOfYearWeekday = firstDayOfYear.getDay();
|
|
93
|
+
const firstThursdayOffset = firstDayOfYearWeekday <= 4 ? 4 - firstDayOfYearWeekday : 4 - firstDayOfYearWeekday + 7;
|
|
94
|
+
const firstThursday = new Date(isoYear, 0, 1 + firstThursdayOffset);
|
|
95
|
+
const timeDiff = thursday.getTime() - firstThursday.getTime();
|
|
96
|
+
const dayDiff = Math.floor(timeDiff / (24 * 60 * 60 * 1e3));
|
|
97
|
+
const isoWeek = Math.floor(dayDiff / 7) + 1;
|
|
98
|
+
return {
|
|
99
|
+
isoYear,
|
|
100
|
+
isoWeek
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
function toWeekStr(d) {
|
|
104
|
+
const { isoYear, isoWeek } = weekOfYear(d);
|
|
105
|
+
const paddedWeek = isoWeek.toString().padStart(2, "0");
|
|
106
|
+
return `${isoYear}-W${paddedWeek}`;
|
|
107
|
+
}
|
|
108
|
+
function toTimeStr(d) {
|
|
109
|
+
let h = d.getHours();
|
|
110
|
+
if (h < 10) {
|
|
111
|
+
h = "0" + h;
|
|
112
|
+
}
|
|
113
|
+
let m = d.getMinutes();
|
|
114
|
+
if (m < 10) {
|
|
115
|
+
m = "0" + m;
|
|
116
|
+
}
|
|
117
|
+
return `${h}:${m}`;
|
|
118
|
+
}
|
|
119
|
+
const iptStyle = createStyleSheet({
|
|
120
|
+
":host": `
|
|
121
|
+
display: inline-flex;
|
|
122
|
+
overflow: hidden;
|
|
123
|
+
`,
|
|
124
|
+
/* flex-direction: column 为了显示 validation-message 在 .ipt 的下方 */
|
|
125
|
+
":host > label": `
|
|
126
|
+
flex: auto;
|
|
127
|
+
display: flex;
|
|
128
|
+
flex-direction: column;
|
|
129
|
+
max-width: 100%;
|
|
130
|
+
`,
|
|
131
|
+
".ipt": `
|
|
132
|
+
flex: auto;
|
|
133
|
+
color: inherit;
|
|
134
|
+
background-color: transparent;
|
|
135
|
+
outline-width: 0px;
|
|
136
|
+
border-radius: 0.375rem;
|
|
137
|
+
padding-inline: 0.25rem;
|
|
138
|
+
resize: none; /*针对 textarea*/
|
|
139
|
+
min-width: 0px; /* 破除 input 默认的最小宽度 */
|
|
140
|
+
`,
|
|
141
|
+
".ipt:invalid": `
|
|
142
|
+
outline-style: dashed;
|
|
143
|
+
outline-width: 2px;
|
|
144
|
+
outline-color: var(--gzm-error-txt-color);
|
|
145
|
+
`,
|
|
146
|
+
[`label::after`]: `
|
|
147
|
+
content: "";
|
|
148
|
+
display: none;
|
|
149
|
+
`,
|
|
150
|
+
[`label:has(.ipt:invalid)::after`]: `
|
|
151
|
+
content: attr(validation-message);
|
|
152
|
+
font-size: 0.75rem;
|
|
153
|
+
color: var(--gzm-error-txt-color);
|
|
154
|
+
display: block;
|
|
155
|
+
`,
|
|
156
|
+
"input, textarea": getElementRules("input", "font")
|
|
157
|
+
});
|
|
158
|
+
var __create$f = Object.create;
|
|
159
|
+
var __defProp$f = Object.defineProperty;
|
|
160
|
+
var __getOwnPropDesc$f = Object.getOwnPropertyDescriptor;
|
|
161
|
+
var __knownSymbol$f = (name, symbol) => (symbol = Symbol[name]) ? symbol : /* @__PURE__ */ Symbol.for("Symbol." + name);
|
|
162
|
+
var __typeError$f = (msg) => {
|
|
163
|
+
throw TypeError(msg);
|
|
164
|
+
};
|
|
165
|
+
var __defNormalProp$f = (obj, key, value) => key in obj ? __defProp$f(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
166
|
+
var __decoratorStart$f = (base) => [, , , __create$f(base?.[__knownSymbol$f("metadata")] ?? null)];
|
|
167
|
+
var __decoratorStrings$f = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
|
|
168
|
+
var __expectFn$f = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError$f("Function expected") : fn;
|
|
169
|
+
var __decoratorContext$f = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings$f[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError$f("Already initialized") : fns.push(__expectFn$f(fn || null)) });
|
|
170
|
+
var __decoratorMetadata$f = (array, target) => __defNormalProp$f(target, __knownSymbol$f("metadata"), array[3]);
|
|
171
|
+
var __runInitializers$f = (array, flags, self, value) => {
|
|
172
|
+
for (var i = 0, fns = array[flags >> 1], n = fns && fns.length; i < n; i++) flags & 1 ? fns[i].call(self) : value = fns[i].call(self, value);
|
|
173
|
+
return value;
|
|
174
|
+
};
|
|
175
|
+
var __decorateElement$f = (array, flags, name, decorators, target, extra) => {
|
|
176
|
+
var fn, it, done, ctx, access, k = flags & 7, s = false, p = false;
|
|
177
|
+
var j = array.length + 1, key = __decoratorStrings$f[k + 5];
|
|
178
|
+
var initializers = array[j - 1] = [], extraInitializers = array[j] || (array[j] = []);
|
|
179
|
+
var desc = (target = target.prototype, __getOwnPropDesc$f({ get [name]() {
|
|
180
|
+
return __privateGet$f(this, extra);
|
|
181
|
+
}, set [name](x) {
|
|
182
|
+
return __privateSet$f(this, extra, x);
|
|
183
|
+
} }, name));
|
|
184
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
185
|
+
ctx = __decoratorContext$f(k, name, done = {}, array[3], extraInitializers);
|
|
186
|
+
{
|
|
187
|
+
ctx.static = s, ctx.private = p, access = ctx.access = { has: (x) => name in x };
|
|
188
|
+
access.get = (x) => x[name];
|
|
189
|
+
access.set = (x, y) => x[name] = y;
|
|
190
|
+
}
|
|
191
|
+
it = (0, decorators[i])({ get: desc.get, set: desc.set }, ctx), done._ = 1;
|
|
192
|
+
if (it === void 0) __expectFn$f(it) && (desc[key] = it);
|
|
193
|
+
else if (typeof it !== "object" || it === null) __typeError$f("Object expected");
|
|
194
|
+
else __expectFn$f(fn = it.get) && (desc.get = fn), __expectFn$f(fn = it.set) && (desc.set = fn), __expectFn$f(fn = it.init) && initializers.unshift(fn);
|
|
195
|
+
}
|
|
196
|
+
return desc && __defProp$f(target, name, desc), target;
|
|
197
|
+
};
|
|
198
|
+
var __publicField$d = (obj, key, value) => __defNormalProp$f(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
199
|
+
var __accessCheck$f = (obj, member, msg) => member.has(obj) || __typeError$f("Cannot " + msg);
|
|
200
|
+
var __privateGet$f = (obj, member, getter) => (__accessCheck$f(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
201
|
+
var __privateAdd$f = (obj, member, value) => member.has(obj) ? __typeError$f("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
202
|
+
var __privateSet$f = (obj, member, value, setter) => (__accessCheck$f(obj, member, "write to private field"), member.set(obj, value), value);
|
|
203
|
+
var __privateMethod$f = (obj, member, method) => (__accessCheck$f(obj, member, "access private method"), method);
|
|
204
|
+
var _showValidityMessage_dec, _required_dec, _name_dec, _a$f, _dv, _ds$1, _ls, _InputBase_instances, monitorValidity_fn, _onUserInput, _init$f, _name, _required, _showValidityMessage, _b;
|
|
205
|
+
class InputDataSource {
|
|
206
|
+
constructor(o, vm) {
|
|
207
|
+
this.data = o;
|
|
208
|
+
if (!(vm instanceof ObjMember)) {
|
|
209
|
+
vm = new ObjMember(vm);
|
|
210
|
+
}
|
|
211
|
+
this.valueMember = vm;
|
|
212
|
+
}
|
|
213
|
+
data;
|
|
214
|
+
valueMember;
|
|
215
|
+
getValue() {
|
|
216
|
+
return this.valueMember.getObjValue(this.data);
|
|
217
|
+
}
|
|
218
|
+
setValue(v) {
|
|
219
|
+
this.valueMember.setObjValue(this.data, v);
|
|
220
|
+
}
|
|
221
|
+
onDataEvent(listener) {
|
|
222
|
+
const obj = this.data;
|
|
223
|
+
if (obj) {
|
|
224
|
+
return obj[onModelEvent]?.(listener) ?? false;
|
|
225
|
+
}
|
|
226
|
+
return false;
|
|
227
|
+
}
|
|
228
|
+
offDataEvent(listener) {
|
|
229
|
+
const obj = this.data;
|
|
230
|
+
if (obj) {
|
|
231
|
+
return obj[offModelEvent]?.(listener) ?? false;
|
|
232
|
+
}
|
|
233
|
+
return false;
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
const textAlign = ["start", "end", "center"];
|
|
237
|
+
const inputCopyAttributes = {
|
|
238
|
+
name: "$ipt",
|
|
239
|
+
required: "$ipt"
|
|
240
|
+
//disabled: '$ipt', 不需要复制给内部的 $ipt,因为父元素的 disabled 已经足够了。
|
|
241
|
+
};
|
|
242
|
+
class InputBase extends (_b = ViewElement) {
|
|
243
|
+
constructor() {
|
|
244
|
+
super();
|
|
245
|
+
__privateAdd$f(this, _InputBase_instances);
|
|
246
|
+
__publicField$d(this, "ei");
|
|
247
|
+
__publicField$d(this, "$ipt");
|
|
248
|
+
__privateAdd$f(this, _dv);
|
|
249
|
+
__privateAdd$f(this, _ds$1);
|
|
250
|
+
__privateAdd$f(this, _ls);
|
|
251
|
+
__privateAdd$f(this, _onUserInput, () => {
|
|
252
|
+
this._setValidity();
|
|
253
|
+
});
|
|
254
|
+
__privateAdd$f(this, _name, __runInitializers$f(_init$f, 8, this)), __runInitializers$f(_init$f, 11, this);
|
|
255
|
+
__privateAdd$f(this, _required, __runInitializers$f(_init$f, 12, this, false)), __runInitializers$f(_init$f, 15, this);
|
|
256
|
+
__privateAdd$f(this, _showValidityMessage, __runInitializers$f(_init$f, 16, this, false)), __runInitializers$f(_init$f, 19, this);
|
|
257
|
+
this.$ipt = this._createInput();
|
|
258
|
+
__privateMethod$f(this, _InputBase_instances, monitorValidity_fn).call(this);
|
|
259
|
+
this.ei = this.attachInternals();
|
|
260
|
+
}
|
|
261
|
+
//#region 值
|
|
262
|
+
get dataValue() {
|
|
263
|
+
return __privateGet$f(this, _dv);
|
|
264
|
+
}
|
|
265
|
+
set dataValue(val) {
|
|
266
|
+
const old = __privateGet$f(this, _dv);
|
|
267
|
+
__privateSet$f(this, _dv, this._checkValueType(val));
|
|
268
|
+
if (Object.is(__privateGet$f(this, _dv), old)) {
|
|
269
|
+
return;
|
|
270
|
+
}
|
|
271
|
+
this.model?.dataValueChanged?.(__privateGet$f(this, _dv), old);
|
|
272
|
+
this._writeDataSource();
|
|
273
|
+
this._setFormValue();
|
|
274
|
+
this._setIptValue();
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* 在处理与 listSource 相关的操作时需要用到!
|
|
278
|
+
*/
|
|
279
|
+
get dsValue() {
|
|
280
|
+
let vml = 1;
|
|
281
|
+
if (this.dataSource?.valueMember) {
|
|
282
|
+
vml = this.dataSource.valueMember.length;
|
|
283
|
+
}
|
|
284
|
+
return new ObjValue(this.dataValue, vml);
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* 对于定义了 dataType 属性的组件,需要将 #dv 转换为 dataType 指定的类型
|
|
288
|
+
*/
|
|
289
|
+
_checkValueType(dv) {
|
|
290
|
+
const dt = Reflect.get(this, "dataType");
|
|
291
|
+
if (dt) {
|
|
292
|
+
if (!Array.isArray(dt)) {
|
|
293
|
+
return this._changeValue2Type(dv, dt);
|
|
294
|
+
}
|
|
295
|
+
if (dt.length > 0) {
|
|
296
|
+
if (!Array.isArray(dv)) {
|
|
297
|
+
return this._changeValue2Type(dv, dt[0]);
|
|
298
|
+
}
|
|
299
|
+
for (let i = 0; i < dt.length; i++) {
|
|
300
|
+
dv[i] = this._changeValue2Type(dv[i], dt[i]);
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
return dv;
|
|
305
|
+
}
|
|
306
|
+
_changeValue2Type(v, t) {
|
|
307
|
+
return v;
|
|
308
|
+
}
|
|
309
|
+
_writeDataSource() {
|
|
310
|
+
const ds = this.dataSource;
|
|
311
|
+
if (ds) {
|
|
312
|
+
ds.offDataEvent(this);
|
|
313
|
+
ds.setValue(this.dataValue);
|
|
314
|
+
ds.onDataEvent(this);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* form 的值与 #dv 同步
|
|
319
|
+
* @param dv
|
|
320
|
+
* @returns
|
|
321
|
+
*/
|
|
322
|
+
_setFormValue() {
|
|
323
|
+
const name = this.name;
|
|
324
|
+
if (!name) return;
|
|
325
|
+
const om = new ObjMember(name);
|
|
326
|
+
const fd = new FormData();
|
|
327
|
+
const dv = this.dataValue;
|
|
328
|
+
if (!dv && dv !== 0 && dv !== 0n) {
|
|
329
|
+
om.forEach((m) => fd.set(m, ""));
|
|
330
|
+
} else if (Array.isArray(dv)) {
|
|
331
|
+
if (om.length === 1) {
|
|
332
|
+
fd.set(name, JSON.stringify(dv));
|
|
333
|
+
} else if (om.length >= dv.length) {
|
|
334
|
+
om.forEach((m, i) => {
|
|
335
|
+
const v = dv[i];
|
|
336
|
+
if (!v && v !== 0 && v !== 0n) {
|
|
337
|
+
fd.set(m, "");
|
|
338
|
+
} else if (Array.isArray(v)) {
|
|
339
|
+
fd.set(m, JSON.stringify(v));
|
|
340
|
+
} else {
|
|
341
|
+
fd.set(m, v);
|
|
342
|
+
}
|
|
343
|
+
});
|
|
344
|
+
} else {
|
|
345
|
+
throw new Error("InputBase._setFormValue 的 dataValue 数组长度小于字段数量!");
|
|
346
|
+
}
|
|
347
|
+
} else {
|
|
348
|
+
fd.set(name, JSON.stringify(dv));
|
|
349
|
+
}
|
|
350
|
+
this.ei.setFormValue(fd);
|
|
351
|
+
}
|
|
352
|
+
/**
|
|
353
|
+
* $ipt 的值与 #dv 同步。这主要针对 $ipt.hidden = true 的组件,如 CheckList, SearchList。
|
|
354
|
+
* 这些组件的 $ipt 只是用来满足表单验证需求的,并不直接显示数据。而且也只能满足 required 验证需求。
|
|
355
|
+
* 所以这里设置 $ipt 的值不必太复杂。
|
|
356
|
+
*/
|
|
357
|
+
_setIptValue($ipt = this.$ipt) {
|
|
358
|
+
if (!$ipt.hidden) {
|
|
359
|
+
return;
|
|
360
|
+
}
|
|
361
|
+
$ipt.value = getHiddenValueFromDataValue(this.dataValue);
|
|
362
|
+
this._setValidity($ipt);
|
|
363
|
+
}
|
|
364
|
+
//#endregion
|
|
365
|
+
//#region 数据源
|
|
366
|
+
get dataSource() {
|
|
367
|
+
return __privateGet$f(this, _ds$1);
|
|
368
|
+
}
|
|
369
|
+
set dataSource(ds) {
|
|
370
|
+
if (__privateGet$f(this, _ds$1)) {
|
|
371
|
+
__privateGet$f(this, _ds$1).offDataEvent(this);
|
|
372
|
+
__privateSet$f(this, _ds$1, void 0);
|
|
373
|
+
}
|
|
374
|
+
__privateSet$f(this, _ds$1, ds);
|
|
375
|
+
__privateGet$f(this, _ds$1)?.onDataEvent(this);
|
|
376
|
+
this._getValueFromDataSource();
|
|
377
|
+
}
|
|
378
|
+
_getValueFromDataSource() {
|
|
379
|
+
const ds = this.dataSource;
|
|
380
|
+
__privateSet$f(this, _dv, ds?.data ? ds.valueMember.getObjValue(ds.data).value : void 0);
|
|
381
|
+
this._setFormValue();
|
|
382
|
+
this._setIptValue();
|
|
383
|
+
this._showValue();
|
|
384
|
+
}
|
|
385
|
+
[(_a$f = handleModelEvent, _name_dec = [strAttr], _required_dec = [boolAttr], _showValidityMessage_dec = [boolAttr], _a$f)](source, evt) {
|
|
386
|
+
const ds = this.dataSource;
|
|
387
|
+
if (ds && source === ds.data) {
|
|
388
|
+
if (evt.type === "item-update" && evt.isPropertyChanged(...ds.valueMember.member)) {
|
|
389
|
+
this._getValueFromDataSource();
|
|
390
|
+
return true;
|
|
391
|
+
}
|
|
392
|
+
return false;
|
|
393
|
+
}
|
|
394
|
+
return super[handleModelEvent](source, evt);
|
|
395
|
+
}
|
|
396
|
+
//#endregion
|
|
397
|
+
//#region ListSource
|
|
398
|
+
get listSource() {
|
|
399
|
+
return __privateGet$f(this, _ls);
|
|
400
|
+
}
|
|
401
|
+
set listSource(ls) {
|
|
402
|
+
__privateSet$f(this, _ls, ls);
|
|
403
|
+
this._showValue();
|
|
404
|
+
}
|
|
405
|
+
_setActiveItem(...activeItems) {
|
|
406
|
+
const ls = this.listSource;
|
|
407
|
+
if (!ls) return;
|
|
408
|
+
const ds = this.dataSource;
|
|
409
|
+
const vm = ds ? ds.valueMember : ls.valueMember;
|
|
410
|
+
const v = ls.setListItems(activeItems, vm).value;
|
|
411
|
+
this.dataValue = v;
|
|
412
|
+
}
|
|
413
|
+
//#endregion
|
|
414
|
+
//#region list
|
|
415
|
+
/**
|
|
416
|
+
* 对于有 list 属性的组件,需要生成一个 <datalist>
|
|
417
|
+
* <datalist> 的弹出由浏览器自己控制,所以需要有一个 bind 的过程。
|
|
418
|
+
* 对于 input-combo,list 弹出由代码控制,所以就无需重写 _bindList()。
|
|
419
|
+
*/
|
|
420
|
+
_bindList($ipt = this.$ipt) {
|
|
421
|
+
let $dl = $ipt.parentNode.querySelector("DATALIST");
|
|
422
|
+
$dl?.remove();
|
|
423
|
+
const ls = Reflect.get(this, "list");
|
|
424
|
+
if (!ls || !Array.isArray(ls) || !ls.length) {
|
|
425
|
+
$ipt.removeAttribute("list");
|
|
426
|
+
return;
|
|
427
|
+
}
|
|
428
|
+
$dl = document.createElement("DATALIST");
|
|
429
|
+
$dl.id = `datalist-${generateId()}`;
|
|
430
|
+
$ipt.after($dl);
|
|
431
|
+
$ipt.setAttribute("list", $dl.id);
|
|
432
|
+
this._createListItems($dl, ls);
|
|
433
|
+
}
|
|
434
|
+
_createListItems($dl, ls) {
|
|
435
|
+
const $options = ls.map((x) => {
|
|
436
|
+
const $option = document.createElement("option");
|
|
437
|
+
$option.value = x;
|
|
438
|
+
return $option;
|
|
439
|
+
});
|
|
440
|
+
$dl.append(...$options);
|
|
441
|
+
}
|
|
442
|
+
//#endregion
|
|
443
|
+
//#region 方法
|
|
444
|
+
focus() {
|
|
445
|
+
this.$ipt.focus();
|
|
446
|
+
}
|
|
447
|
+
/**
|
|
448
|
+
* 因为这个函数完全是基于 $ipt 的 validity 来设置 ei 的 validity,
|
|
449
|
+
* 所以当 $ipt 的值变化时,必须调用此函数以确保 ei 的 validity 正确。
|
|
450
|
+
* 1 - _showValue() 中调用此函数,以确保 ei 的 validity 正确。
|
|
451
|
+
* 2 - 验证属性变化时(如 required, max, min 等),也需要调用此函数。
|
|
452
|
+
* 3 - 在 oninput onchange 事件中也需要调用此函数。
|
|
453
|
+
*/
|
|
454
|
+
async _setValidity($ipt = this.$ipt) {
|
|
455
|
+
const ret = this.model?.checkValidity?.($ipt);
|
|
456
|
+
if (ret instanceof Promise) {
|
|
457
|
+
await ret;
|
|
458
|
+
}
|
|
459
|
+
this.ei.setValidity($ipt.validity, $ipt.validationMessage, $ipt);
|
|
460
|
+
if (this.showValidityMessage) {
|
|
461
|
+
const $lbl = $ipt.closest("label");
|
|
462
|
+
if ($ipt.validationMessage) {
|
|
463
|
+
$lbl?.setAttribute("validation-message", $ipt.validationMessage);
|
|
464
|
+
} else {
|
|
465
|
+
$lbl?.removeAttribute("validation-message");
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
//#region 浏览器内置的验证属性,这些属性一旦改变就需要调用 _setValidity()
|
|
470
|
+
_required_set() {
|
|
471
|
+
this._setValidity();
|
|
472
|
+
}
|
|
473
|
+
_pattern_set() {
|
|
474
|
+
this._setValidity();
|
|
475
|
+
}
|
|
476
|
+
_min_set() {
|
|
477
|
+
this._setValidity();
|
|
478
|
+
}
|
|
479
|
+
_max_set() {
|
|
480
|
+
this._setValidity();
|
|
481
|
+
}
|
|
482
|
+
_minLength_set() {
|
|
483
|
+
this._setValidity();
|
|
484
|
+
}
|
|
485
|
+
_maxLength_set() {
|
|
486
|
+
this._setValidity();
|
|
487
|
+
}
|
|
488
|
+
_step_set() {
|
|
489
|
+
this._setValidity();
|
|
490
|
+
}
|
|
491
|
+
_type_set() {
|
|
492
|
+
this._setValidity();
|
|
493
|
+
}
|
|
494
|
+
_show_validity_message() {
|
|
495
|
+
this._setValidity();
|
|
496
|
+
}
|
|
497
|
+
//#endregion
|
|
498
|
+
setCustomError(error) {
|
|
499
|
+
const $ipt = this.$ipt;
|
|
500
|
+
$ipt.setCustomValidity(error);
|
|
501
|
+
$ipt.reportValidity();
|
|
502
|
+
this._setValidity($ipt);
|
|
503
|
+
}
|
|
504
|
+
/**
|
|
505
|
+
* 通过 setCustomError() 设置的错误,只能通过此函数才能去掉!
|
|
506
|
+
* @returns
|
|
507
|
+
*/
|
|
508
|
+
clearCustomError() {
|
|
509
|
+
const $ipt = this.$ipt;
|
|
510
|
+
if ($ipt.validity.customError) {
|
|
511
|
+
$ipt.setCustomValidity("");
|
|
512
|
+
this._setValidity($ipt);
|
|
513
|
+
}
|
|
514
|
+
}
|
|
515
|
+
//#endregion
|
|
516
|
+
}
|
|
517
|
+
_init$f = __decoratorStart$f(_b);
|
|
518
|
+
_dv = /* @__PURE__ */ new WeakMap();
|
|
519
|
+
_ds$1 = /* @__PURE__ */ new WeakMap();
|
|
520
|
+
_ls = /* @__PURE__ */ new WeakMap();
|
|
521
|
+
_InputBase_instances = /* @__PURE__ */ new WeakSet();
|
|
522
|
+
monitorValidity_fn = function($ipt = this.$ipt) {
|
|
523
|
+
if (!$ipt.hidden && $ipt.type !== "hidden") {
|
|
524
|
+
$ipt.onchange ??= __privateGet$f(this, _onUserInput);
|
|
525
|
+
$ipt.oninput ??= __privateGet$f(this, _onUserInput);
|
|
526
|
+
}
|
|
527
|
+
};
|
|
528
|
+
_onUserInput = /* @__PURE__ */ new WeakMap();
|
|
529
|
+
_name = /* @__PURE__ */ new WeakMap();
|
|
530
|
+
_required = /* @__PURE__ */ new WeakMap();
|
|
531
|
+
_showValidityMessage = /* @__PURE__ */ new WeakMap();
|
|
532
|
+
__decorateElement$f(_init$f, 4, "name", _name_dec, InputBase, _name);
|
|
533
|
+
__decorateElement$f(_init$f, 4, "required", _required_dec, InputBase, _required);
|
|
534
|
+
__decorateElement$f(_init$f, 4, "showValidityMessage", _showValidityMessage_dec, InputBase, _showValidityMessage);
|
|
535
|
+
__decoratorMetadata$f(_init$f, InputBase);
|
|
536
|
+
var __create$e = Object.create;
|
|
537
|
+
var __defProp$e = Object.defineProperty;
|
|
538
|
+
var __getOwnPropDesc$e = Object.getOwnPropertyDescriptor;
|
|
539
|
+
var __knownSymbol$e = (name, symbol) => (symbol = Symbol[name]) ? symbol : /* @__PURE__ */ Symbol.for("Symbol." + name);
|
|
540
|
+
var __typeError$e = (msg) => {
|
|
541
|
+
throw TypeError(msg);
|
|
542
|
+
};
|
|
543
|
+
var __defNormalProp$e = (obj, key, value) => key in obj ? __defProp$e(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
544
|
+
var __name$e = (target, value) => __defProp$e(target, "name", { value, configurable: true });
|
|
545
|
+
var __decoratorStart$e = (base) => [, , , __create$e(base?.[__knownSymbol$e("metadata")] ?? null)];
|
|
546
|
+
var __decoratorStrings$e = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
|
|
547
|
+
var __expectFn$e = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError$e("Function expected") : fn;
|
|
548
|
+
var __decoratorContext$e = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings$e[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError$e("Already initialized") : fns.push(__expectFn$e(fn || null)) });
|
|
549
|
+
var __decoratorMetadata$e = (array, target) => __defNormalProp$e(target, __knownSymbol$e("metadata"), array[3]);
|
|
550
|
+
var __runInitializers$e = (array, flags, self, value) => {
|
|
551
|
+
for (var i = 0, fns = array[flags >> 1], n = fns && fns.length; i < n; i++) flags & 1 ? fns[i].call(self) : value = fns[i].call(self, value);
|
|
552
|
+
return value;
|
|
553
|
+
};
|
|
554
|
+
var __decorateElement$e = (array, flags, name, decorators, target, extra) => {
|
|
555
|
+
var fn, it, done, ctx, access, k = flags & 7, s = !!(flags & 8), p = !!(flags & 16);
|
|
556
|
+
var j = k > 3 ? array.length + 1 : k ? s ? 1 : 2 : 0, key = __decoratorStrings$e[k + 5];
|
|
557
|
+
var initializers = k > 3 && (array[j - 1] = []), extraInitializers = array[j] || (array[j] = []);
|
|
558
|
+
var desc = k && (!p && !s && (target = target.prototype), k < 5 && (k > 3 || !p) && __getOwnPropDesc$e(k < 4 ? target : { get [name]() {
|
|
559
|
+
return __privateGet$e(this, extra);
|
|
560
|
+
}, set [name](x) {
|
|
561
|
+
return __privateSet$e(this, extra, x);
|
|
562
|
+
} }, name));
|
|
563
|
+
k ? p && k < 4 && __name$e(extra, (k > 2 ? "set " : k > 1 ? "get " : "") + name) : __name$e(target, name);
|
|
564
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
565
|
+
ctx = __decoratorContext$e(k, name, done = {}, array[3], extraInitializers);
|
|
566
|
+
if (k) {
|
|
567
|
+
ctx.static = s, ctx.private = p, access = ctx.access = { has: p ? (x) => __privateIn$e(target, x) : (x) => name in x };
|
|
568
|
+
if (k ^ 3) access.get = p ? (x) => (k ^ 1 ? __privateGet$e : __privateMethod$e)(x, target, k ^ 4 ? extra : desc.get) : (x) => x[name];
|
|
569
|
+
if (k > 2) access.set = p ? (x, y) => __privateSet$e(x, target, y, k ^ 4 ? extra : desc.set) : (x, y) => x[name] = y;
|
|
570
|
+
}
|
|
571
|
+
it = (0, decorators[i])(k ? k < 4 ? p ? extra : desc[key] : k > 4 ? void 0 : { get: desc.get, set: desc.set } : target, ctx), done._ = 1;
|
|
572
|
+
if (k ^ 4 || it === void 0) __expectFn$e(it) && (k > 4 ? initializers.unshift(it) : k ? p ? extra = it : desc[key] = it : target = it);
|
|
573
|
+
else if (typeof it !== "object" || it === null) __typeError$e("Object expected");
|
|
574
|
+
else __expectFn$e(fn = it.get) && (desc.get = fn), __expectFn$e(fn = it.set) && (desc.set = fn), __expectFn$e(fn = it.init) && initializers.unshift(fn);
|
|
575
|
+
}
|
|
576
|
+
return k || __decoratorMetadata$e(array, target), desc && __defProp$e(target, name, desc), p ? k ^ 4 ? extra : desc : target;
|
|
577
|
+
};
|
|
578
|
+
var __publicField$c = (obj, key, value) => __defNormalProp$e(obj, key + "", value);
|
|
579
|
+
var __accessCheck$e = (obj, member, msg) => member.has(obj) || __typeError$e("Cannot " + msg);
|
|
580
|
+
var __privateIn$e = (member, obj) => Object(obj) !== obj ? __typeError$e('Cannot use the "in" operator on this value') : member.has(obj);
|
|
581
|
+
var __privateGet$e = (obj, member, getter) => (__accessCheck$e(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
582
|
+
var __privateAdd$e = (obj, member, value) => member.has(obj) ? __typeError$e("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
583
|
+
var __privateSet$e = (obj, member, value, setter) => (__accessCheck$e(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
584
|
+
var __privateMethod$e = (obj, member, method) => (__accessCheck$e(obj, member, "access private method"), method);
|
|
585
|
+
var _multipleDelimiter_dec$1, _falseText_dec$1, _trueText_dec$1, _textAlign_dec, _a$e, _InputLabel_decorators, _init$e, _textAlign, _trueText$1, _falseText$1, _multipleDelimiter$1;
|
|
586
|
+
const tagName$b = "GZM-INPUT-LABEL";
|
|
587
|
+
const mutableAttributes$e = ["name", "text-align", "true-text", "false-text"];
|
|
588
|
+
const copyAttributes$a = {
|
|
589
|
+
name: "$ipt"
|
|
590
|
+
};
|
|
591
|
+
_InputLabel_decorators = [defineElement({ tagName: tagName$b, mutableAttributes: mutableAttributes$e, copyAttributes: copyAttributes$a })];
|
|
592
|
+
class InputLabel extends (_a$e = InputBase, _textAlign_dec = [strAttr], _trueText_dec$1 = [strAttr], _falseText_dec$1 = [strAttr], _multipleDelimiter_dec$1 = [strAttr], _a$e) {
|
|
593
|
+
constructor() {
|
|
594
|
+
super(...arguments);
|
|
595
|
+
__privateAdd$e(this, _textAlign, __runInitializers$e(_init$e, 8, this, textAlign[0])), __runInitializers$e(_init$e, 11, this);
|
|
596
|
+
__privateAdd$e(this, _trueText$1, __runInitializers$e(_init$e, 12, this)), __runInitializers$e(_init$e, 15, this);
|
|
597
|
+
__privateAdd$e(this, _falseText$1, __runInitializers$e(_init$e, 16, this)), __runInitializers$e(_init$e, 19, this);
|
|
598
|
+
__privateAdd$e(this, _multipleDelimiter$1, __runInitializers$e(_init$e, 20, this, " | ")), __runInitializers$e(_init$e, 23, this);
|
|
599
|
+
}
|
|
600
|
+
/**
|
|
601
|
+
* 不开启 shadowRoot,因为其本质上是在 innerHTML 中显示内容
|
|
602
|
+
* 本来打算在这里放一个 <output> 元素,但阅读了文档后又觉得没有必要:https://devdocs.io/html/element/output。
|
|
603
|
+
*/
|
|
604
|
+
_createInput() {
|
|
605
|
+
const $ipt = document.createElement("input");
|
|
606
|
+
$ipt.setAttribute("type", "hidden");
|
|
607
|
+
return $ipt;
|
|
608
|
+
}
|
|
609
|
+
_showValue() {
|
|
610
|
+
const dv = this.listSource?.getListDisplay(this.dsValue).toString(this) || this.dataValue;
|
|
611
|
+
this.innerHTML = new ObjValue(dv).toString(this) || " ";
|
|
612
|
+
}
|
|
613
|
+
_text_align_set(nv) {
|
|
614
|
+
this.style.textAlign = nv ?? "";
|
|
615
|
+
}
|
|
616
|
+
_true_text_set() {
|
|
617
|
+
this._showValue();
|
|
618
|
+
}
|
|
619
|
+
_false_text_set() {
|
|
620
|
+
this._showValue();
|
|
621
|
+
}
|
|
622
|
+
//用 <br> 的话,需要 display:block;
|
|
623
|
+
//#endregion
|
|
624
|
+
}
|
|
625
|
+
_init$e = __decoratorStart$e(_a$e);
|
|
626
|
+
_textAlign = /* @__PURE__ */ new WeakMap();
|
|
627
|
+
_trueText$1 = /* @__PURE__ */ new WeakMap();
|
|
628
|
+
_falseText$1 = /* @__PURE__ */ new WeakMap();
|
|
629
|
+
_multipleDelimiter$1 = /* @__PURE__ */ new WeakMap();
|
|
630
|
+
__decorateElement$e(_init$e, 4, "textAlign", _textAlign_dec, InputLabel, _textAlign);
|
|
631
|
+
__decorateElement$e(_init$e, 4, "trueText", _trueText_dec$1, InputLabel, _trueText$1);
|
|
632
|
+
__decorateElement$e(_init$e, 4, "falseText", _falseText_dec$1, InputLabel, _falseText$1);
|
|
633
|
+
__decorateElement$e(_init$e, 4, "multipleDelimiter", _multipleDelimiter_dec$1, InputLabel, _multipleDelimiter$1);
|
|
634
|
+
InputLabel = __decorateElement$e(_init$e, 0, "InputLabel", _InputLabel_decorators, InputLabel);
|
|
635
|
+
__publicField$c(InputLabel, "formAssociated", true);
|
|
636
|
+
__runInitializers$e(_init$e, 1, InputLabel);
|
|
637
|
+
var __create$d = Object.create;
|
|
638
|
+
var __defProp$d = Object.defineProperty;
|
|
639
|
+
var __getOwnPropDesc$d = Object.getOwnPropertyDescriptor;
|
|
640
|
+
var __knownSymbol$d = (name, symbol) => (symbol = Symbol[name]) ? symbol : /* @__PURE__ */ Symbol.for("Symbol." + name);
|
|
641
|
+
var __typeError$d = (msg) => {
|
|
642
|
+
throw TypeError(msg);
|
|
643
|
+
};
|
|
644
|
+
var __defNormalProp$d = (obj, key, value) => key in obj ? __defProp$d(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
645
|
+
var __name$d = (target, value) => __defProp$d(target, "name", { value, configurable: true });
|
|
646
|
+
var __decoratorStart$d = (base) => [, , , __create$d(base?.[__knownSymbol$d("metadata")] ?? null)];
|
|
647
|
+
var __decoratorStrings$d = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
|
|
648
|
+
var __expectFn$d = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError$d("Function expected") : fn;
|
|
649
|
+
var __decoratorContext$d = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings$d[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError$d("Already initialized") : fns.push(__expectFn$d(fn || null)) });
|
|
650
|
+
var __decoratorMetadata$d = (array, target) => __defNormalProp$d(target, __knownSymbol$d("metadata"), array[3]);
|
|
651
|
+
var __runInitializers$d = (array, flags, self, value) => {
|
|
652
|
+
for (var i = 0, fns = array[flags >> 1], n = fns && fns.length; i < n; i++) flags & 1 ? fns[i].call(self) : value = fns[i].call(self, value);
|
|
653
|
+
return value;
|
|
654
|
+
};
|
|
655
|
+
var __decorateElement$d = (array, flags, name, decorators, target, extra) => {
|
|
656
|
+
var fn, it, done, ctx, access, k = flags & 7, s = !!(flags & 8), p = !!(flags & 16);
|
|
657
|
+
var j = k > 3 ? array.length + 1 : k ? s ? 1 : 2 : 0, key = __decoratorStrings$d[k + 5];
|
|
658
|
+
var initializers = k > 3 && (array[j - 1] = []), extraInitializers = array[j] || (array[j] = []);
|
|
659
|
+
var desc = k && (!p && !s && (target = target.prototype), k < 5 && (k > 3 || !p) && __getOwnPropDesc$d(k < 4 ? target : { get [name]() {
|
|
660
|
+
return __privateGet$d(this, extra);
|
|
661
|
+
}, set [name](x) {
|
|
662
|
+
return __privateSet$d(this, extra, x);
|
|
663
|
+
} }, name));
|
|
664
|
+
k ? p && k < 4 && __name$d(extra, (k > 2 ? "set " : k > 1 ? "get " : "") + name) : __name$d(target, name);
|
|
665
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
666
|
+
ctx = __decoratorContext$d(k, name, done = {}, array[3], extraInitializers);
|
|
667
|
+
if (k) {
|
|
668
|
+
ctx.static = s, ctx.private = p, access = ctx.access = { has: p ? (x) => __privateIn$d(target, x) : (x) => name in x };
|
|
669
|
+
if (k ^ 3) access.get = p ? (x) => (k ^ 1 ? __privateGet$d : __privateMethod$d)(x, target, k ^ 4 ? extra : desc.get) : (x) => x[name];
|
|
670
|
+
if (k > 2) access.set = p ? (x, y) => __privateSet$d(x, target, y, k ^ 4 ? extra : desc.set) : (x, y) => x[name] = y;
|
|
671
|
+
}
|
|
672
|
+
it = (0, decorators[i])(k ? k < 4 ? p ? extra : desc[key] : k > 4 ? void 0 : { get: desc.get, set: desc.set } : target, ctx), done._ = 1;
|
|
673
|
+
if (k ^ 4 || it === void 0) __expectFn$d(it) && (k > 4 ? initializers.unshift(it) : k ? p ? extra = it : desc[key] = it : target = it);
|
|
674
|
+
else if (typeof it !== "object" || it === null) __typeError$d("Object expected");
|
|
675
|
+
else __expectFn$d(fn = it.get) && (desc.get = fn), __expectFn$d(fn = it.set) && (desc.set = fn), __expectFn$d(fn = it.init) && initializers.unshift(fn);
|
|
676
|
+
}
|
|
677
|
+
return k || __decoratorMetadata$d(array, target), desc && __defProp$d(target, name, desc), p ? k ^ 4 ? extra : desc : target;
|
|
678
|
+
};
|
|
679
|
+
var __publicField$b = (obj, key, value) => __defNormalProp$d(obj, key + "", value);
|
|
680
|
+
var __accessCheck$d = (obj, member, msg) => member.has(obj) || __typeError$d("Cannot " + msg);
|
|
681
|
+
var __privateIn$d = (member, obj) => Object(obj) !== obj ? __typeError$d('Cannot use the "in" operator on this value') : member.has(obj);
|
|
682
|
+
var __privateGet$d = (obj, member, getter) => (__accessCheck$d(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
683
|
+
var __privateAdd$d = (obj, member, value) => member.has(obj) ? __typeError$d("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
684
|
+
var __privateSet$d = (obj, member, value, setter) => (__accessCheck$d(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
685
|
+
var __privateMethod$d = (obj, member, method) => (__accessCheck$d(obj, member, "access private method"), method);
|
|
686
|
+
var _list_dec$3, _placeholder_dec$1, _pattern_dec, _minlength_dec, _maxlength_dec, _autoComplete_dec$1, _type_dec$1, _a$d, _TextInput_decorators, _init$d, _type$1, _autoComplete$1, _maxlength, _minlength, _pattern, _placeholder$1, _list$3;
|
|
687
|
+
const tagName$a = "GZM-INPUT-TEXT";
|
|
688
|
+
const textType = ["text", "password", "email", "tel", "url", "search"];
|
|
689
|
+
const mutableAttributes$d = ["name", "spellcheck", "type", "autocomplete", "maxlength", "minlength", "pattern", "placeholder", "required", "list"];
|
|
690
|
+
const copyAttributes$9 = Object.assign({
|
|
691
|
+
type: "$ipt",
|
|
692
|
+
autocomplete: "$ipt",
|
|
693
|
+
maxlength: "$ipt",
|
|
694
|
+
minlength: "$ipt",
|
|
695
|
+
pattern: "$ipt",
|
|
696
|
+
placeholder: "$ipt",
|
|
697
|
+
spellcheck: "$ipt"
|
|
698
|
+
}, inputCopyAttributes);
|
|
699
|
+
_TextInput_decorators = [defineElement({ tagName: tagName$a, mutableAttributes: mutableAttributes$d, copyAttributes: copyAttributes$9 })];
|
|
700
|
+
class TextInput extends (_a$d = InputBase, _type_dec$1 = [strAttr], _autoComplete_dec$1 = [strAttr], _maxlength_dec = [strAttr], _minlength_dec = [strAttr], _pattern_dec = [strAttr], _placeholder_dec$1 = [strAttr], _list_dec$3 = [saAttr], _a$d) {
|
|
701
|
+
constructor() {
|
|
702
|
+
super(...arguments);
|
|
703
|
+
__privateAdd$d(this, _type$1, __runInitializers$d(_init$d, 8, this, textType[0])), __runInitializers$d(_init$d, 11, this);
|
|
704
|
+
__privateAdd$d(this, _autoComplete$1, __runInitializers$d(_init$d, 12, this, inputAutoComplete[0])), __runInitializers$d(_init$d, 15, this);
|
|
705
|
+
__privateAdd$d(this, _maxlength, __runInitializers$d(_init$d, 16, this)), __runInitializers$d(_init$d, 19, this);
|
|
706
|
+
__privateAdd$d(this, _minlength, __runInitializers$d(_init$d, 20, this)), __runInitializers$d(_init$d, 23, this);
|
|
707
|
+
__privateAdd$d(this, _pattern, __runInitializers$d(_init$d, 24, this)), __runInitializers$d(_init$d, 27, this);
|
|
708
|
+
__privateAdd$d(this, _placeholder$1, __runInitializers$d(_init$d, 28, this)), __runInitializers$d(_init$d, 31, this);
|
|
709
|
+
__privateAdd$d(this, _list$3, __runInitializers$d(_init$d, 32, this)), __runInitializers$d(_init$d, 35, this);
|
|
710
|
+
}
|
|
711
|
+
_createInput() {
|
|
712
|
+
const $ipt = document.createElement("input");
|
|
713
|
+
$ipt.className = "ipt";
|
|
714
|
+
$ipt.type = textType[0];
|
|
715
|
+
$ipt.onchange = () => {
|
|
716
|
+
let val = $ipt.value;
|
|
717
|
+
if (val) val = removeZWC(val);
|
|
718
|
+
this.dataValue = val;
|
|
719
|
+
this._setValidity($ipt);
|
|
720
|
+
};
|
|
721
|
+
const $lbl = document.createElement("label");
|
|
722
|
+
$lbl.appendChild($ipt);
|
|
723
|
+
const sr = this.attachShadow({ mode: "open" });
|
|
724
|
+
sr.adoptedStyleSheets = [baseStyle, iptStyle];
|
|
725
|
+
sr.append($lbl);
|
|
726
|
+
return $ipt;
|
|
727
|
+
}
|
|
728
|
+
_showValue($ipt = this.$ipt) {
|
|
729
|
+
$ipt.value = this.dsValue.toString();
|
|
730
|
+
this._setValidity($ipt);
|
|
731
|
+
}
|
|
732
|
+
_list_set() {
|
|
733
|
+
this._bindList();
|
|
734
|
+
}
|
|
735
|
+
//#endregion
|
|
736
|
+
}
|
|
737
|
+
_init$d = __decoratorStart$d(_a$d);
|
|
738
|
+
_type$1 = /* @__PURE__ */ new WeakMap();
|
|
739
|
+
_autoComplete$1 = /* @__PURE__ */ new WeakMap();
|
|
740
|
+
_maxlength = /* @__PURE__ */ new WeakMap();
|
|
741
|
+
_minlength = /* @__PURE__ */ new WeakMap();
|
|
742
|
+
_pattern = /* @__PURE__ */ new WeakMap();
|
|
743
|
+
_placeholder$1 = /* @__PURE__ */ new WeakMap();
|
|
744
|
+
_list$3 = /* @__PURE__ */ new WeakMap();
|
|
745
|
+
__decorateElement$d(_init$d, 4, "type", _type_dec$1, TextInput, _type$1);
|
|
746
|
+
__decorateElement$d(_init$d, 4, "autoComplete", _autoComplete_dec$1, TextInput, _autoComplete$1);
|
|
747
|
+
__decorateElement$d(_init$d, 4, "maxlength", _maxlength_dec, TextInput, _maxlength);
|
|
748
|
+
__decorateElement$d(_init$d, 4, "minlength", _minlength_dec, TextInput, _minlength);
|
|
749
|
+
__decorateElement$d(_init$d, 4, "pattern", _pattern_dec, TextInput, _pattern);
|
|
750
|
+
__decorateElement$d(_init$d, 4, "placeholder", _placeholder_dec$1, TextInput, _placeholder$1);
|
|
751
|
+
__decorateElement$d(_init$d, 4, "list", _list_dec$3, TextInput, _list$3);
|
|
752
|
+
TextInput = __decorateElement$d(_init$d, 0, "TextInput", _TextInput_decorators, TextInput);
|
|
753
|
+
__publicField$b(TextInput, "formAssociated", true);
|
|
754
|
+
__runInitializers$d(_init$d, 1, TextInput);
|
|
755
|
+
var __create$c = Object.create;
|
|
756
|
+
var __defProp$c = Object.defineProperty;
|
|
757
|
+
var __getOwnPropDesc$c = Object.getOwnPropertyDescriptor;
|
|
758
|
+
var __knownSymbol$c = (name, symbol) => (symbol = Symbol[name]) ? symbol : /* @__PURE__ */ Symbol.for("Symbol." + name);
|
|
759
|
+
var __typeError$c = (msg) => {
|
|
760
|
+
throw TypeError(msg);
|
|
761
|
+
};
|
|
762
|
+
var __defNormalProp$c = (obj, key, value) => key in obj ? __defProp$c(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
763
|
+
var __name$c = (target, value) => __defProp$c(target, "name", { value, configurable: true });
|
|
764
|
+
var __decoratorStart$c = (base) => [, , , __create$c(base?.[__knownSymbol$c("metadata")] ?? null)];
|
|
765
|
+
var __decoratorStrings$c = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
|
|
766
|
+
var __expectFn$c = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError$c("Function expected") : fn;
|
|
767
|
+
var __decoratorContext$c = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings$c[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError$c("Already initialized") : fns.push(__expectFn$c(fn || null)) });
|
|
768
|
+
var __decoratorMetadata$c = (array, target) => __defNormalProp$c(target, __knownSymbol$c("metadata"), array[3]);
|
|
769
|
+
var __runInitializers$c = (array, flags, self, value) => {
|
|
770
|
+
for (var i = 0, fns = array[flags >> 1], n = fns && fns.length; i < n; i++) flags & 1 ? fns[i].call(self) : value = fns[i].call(self, value);
|
|
771
|
+
return value;
|
|
772
|
+
};
|
|
773
|
+
var __decorateElement$c = (array, flags, name, decorators, target, extra) => {
|
|
774
|
+
var fn, it, done, ctx, access, k = flags & 7, s = !!(flags & 8), p = !!(flags & 16);
|
|
775
|
+
var j = k > 3 ? array.length + 1 : k ? s ? 1 : 2 : 0, key = __decoratorStrings$c[k + 5];
|
|
776
|
+
var initializers = k > 3 && (array[j - 1] = []), extraInitializers = array[j] || (array[j] = []);
|
|
777
|
+
var desc = k && (!p && !s && (target = target.prototype), k < 5 && (k > 3 || !p) && __getOwnPropDesc$c(k < 4 ? target : { get [name]() {
|
|
778
|
+
return __privateGet$c(this, extra);
|
|
779
|
+
}, set [name](x) {
|
|
780
|
+
return __privateSet$c(this, extra, x);
|
|
781
|
+
} }, name));
|
|
782
|
+
k ? p && k < 4 && __name$c(extra, (k > 2 ? "set " : k > 1 ? "get " : "") + name) : __name$c(target, name);
|
|
783
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
784
|
+
ctx = __decoratorContext$c(k, name, done = {}, array[3], extraInitializers);
|
|
785
|
+
if (k) {
|
|
786
|
+
ctx.static = s, ctx.private = p, access = ctx.access = { has: p ? (x) => __privateIn$c(target, x) : (x) => name in x };
|
|
787
|
+
if (k ^ 3) access.get = p ? (x) => (k ^ 1 ? __privateGet$c : __privateMethod$c)(x, target, k ^ 4 ? extra : desc.get) : (x) => x[name];
|
|
788
|
+
if (k > 2) access.set = p ? (x, y) => __privateSet$c(x, target, y, k ^ 4 ? extra : desc.set) : (x, y) => x[name] = y;
|
|
789
|
+
}
|
|
790
|
+
it = (0, decorators[i])(k ? k < 4 ? p ? extra : desc[key] : k > 4 ? void 0 : { get: desc.get, set: desc.set } : target, ctx), done._ = 1;
|
|
791
|
+
if (k ^ 4 || it === void 0) __expectFn$c(it) && (k > 4 ? initializers.unshift(it) : k ? p ? extra = it : desc[key] = it : target = it);
|
|
792
|
+
else if (typeof it !== "object" || it === null) __typeError$c("Object expected");
|
|
793
|
+
else __expectFn$c(fn = it.get) && (desc.get = fn), __expectFn$c(fn = it.set) && (desc.set = fn), __expectFn$c(fn = it.init) && initializers.unshift(fn);
|
|
794
|
+
}
|
|
795
|
+
return k || __decoratorMetadata$c(array, target), desc && __defProp$c(target, name, desc), p ? k ^ 4 ? extra : desc : target;
|
|
796
|
+
};
|
|
797
|
+
var __publicField$a = (obj, key, value) => __defNormalProp$c(obj, key + "", value);
|
|
798
|
+
var __accessCheck$c = (obj, member, msg) => member.has(obj) || __typeError$c("Cannot " + msg);
|
|
799
|
+
var __privateIn$c = (member, obj) => Object(obj) !== obj ? __typeError$c('Cannot use the "in" operator on this value') : member.has(obj);
|
|
800
|
+
var __privateGet$c = (obj, member, getter) => (__accessCheck$c(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
801
|
+
var __privateAdd$c = (obj, member, value) => member.has(obj) ? __typeError$c("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
802
|
+
var __privateSet$c = (obj, member, value, setter) => (__accessCheck$c(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
803
|
+
var __privateMethod$c = (obj, member, method) => (__accessCheck$c(obj, member, "access private method"), method);
|
|
804
|
+
var _list_dec$2, _Step_dec, _min_dec$1, _max_dec$1, _autocomplete_dec$1, _dataType_dec$4, _type_dec, _a$c, _CalInput_decorators, _CalInput_instances, changeType_fn, _init$c, _type, _dataType$4, _autocomplete$1, _max$1, _min$1, _Step, _list$2;
|
|
805
|
+
const tagName$9 = "GZM-INPUT-CAL";
|
|
806
|
+
const calType = ["date", "time", "datetime-local", "month", "week"];
|
|
807
|
+
const calDataType = ["string", "date", "number"];
|
|
808
|
+
const mutableAttributes$c = ["name", "type", "autocomplete", "max", "min", "step", "required", "list"];
|
|
809
|
+
const copyAttributes$8 = Object.assign({
|
|
810
|
+
type: "$ipt",
|
|
811
|
+
autocomplete: "$ipt",
|
|
812
|
+
max: "$ipt",
|
|
813
|
+
min: "$ipt",
|
|
814
|
+
step: "$ipt"
|
|
815
|
+
}, inputCopyAttributes);
|
|
816
|
+
_CalInput_decorators = [defineElement({ tagName: tagName$9, mutableAttributes: mutableAttributes$c, copyAttributes: copyAttributes$8 })];
|
|
817
|
+
class CalInput extends (_a$c = InputBase, _type_dec = [strAttr], _dataType_dec$4 = [strAttr], _autocomplete_dec$1 = [strAttr], _max_dec$1 = [strAttr], _min_dec$1 = [strAttr], _Step_dec = [strAttr], _list_dec$2 = [saAttr], _a$c) {
|
|
818
|
+
constructor() {
|
|
819
|
+
super(...arguments);
|
|
820
|
+
__privateAdd$c(this, _CalInput_instances);
|
|
821
|
+
__privateAdd$c(this, _type, __runInitializers$c(_init$c, 8, this, calType[0])), __runInitializers$c(_init$c, 11, this);
|
|
822
|
+
__privateAdd$c(this, _dataType$4, __runInitializers$c(_init$c, 12, this, calDataType[0])), __runInitializers$c(_init$c, 15, this);
|
|
823
|
+
__privateAdd$c(this, _autocomplete$1, __runInitializers$c(_init$c, 16, this, inputAutoComplete[0])), __runInitializers$c(_init$c, 19, this);
|
|
824
|
+
__privateAdd$c(this, _max$1, __runInitializers$c(_init$c, 20, this)), __runInitializers$c(_init$c, 23, this);
|
|
825
|
+
__privateAdd$c(this, _min$1, __runInitializers$c(_init$c, 24, this)), __runInitializers$c(_init$c, 27, this);
|
|
826
|
+
__privateAdd$c(this, _Step, __runInitializers$c(_init$c, 28, this)), __runInitializers$c(_init$c, 31, this);
|
|
827
|
+
__privateAdd$c(this, _list$2, __runInitializers$c(_init$c, 32, this)), __runInitializers$c(_init$c, 35, this);
|
|
828
|
+
}
|
|
829
|
+
_createInput() {
|
|
830
|
+
const $ipt = document.createElement("input");
|
|
831
|
+
$ipt.className = "ipt";
|
|
832
|
+
$ipt.type = calType[0];
|
|
833
|
+
$ipt.onchange = () => {
|
|
834
|
+
this.dataValue = $ipt.value || void 0;
|
|
835
|
+
this._setValidity($ipt);
|
|
836
|
+
};
|
|
837
|
+
const $lbl = document.createElement("label");
|
|
838
|
+
$lbl.appendChild($ipt);
|
|
839
|
+
const sr = this.attachShadow({ mode: "open" });
|
|
840
|
+
sr.adoptedStyleSheets = [baseStyle, iptStyle];
|
|
841
|
+
sr.append($lbl);
|
|
842
|
+
return $ipt;
|
|
843
|
+
}
|
|
844
|
+
/**
|
|
845
|
+
* number -> Date -> string
|
|
846
|
+
* 为了提高可用性,这里没有判断 dataType,而是根据实际的数据类型来处理。
|
|
847
|
+
*/
|
|
848
|
+
_showValue($ipt = this.$ipt) {
|
|
849
|
+
let dv = this.dataValue;
|
|
850
|
+
if (!dv && dv !== 0) {
|
|
851
|
+
$ipt.value = "";
|
|
852
|
+
this._setValidity($ipt);
|
|
853
|
+
return;
|
|
854
|
+
}
|
|
855
|
+
if (typeof dv === "string") {
|
|
856
|
+
$ipt.value = dv;
|
|
857
|
+
this._setValidity($ipt);
|
|
858
|
+
return;
|
|
859
|
+
}
|
|
860
|
+
if (typeof dv === "number") {
|
|
861
|
+
if (Number.isNaN(dv)) {
|
|
862
|
+
$ipt.value = "";
|
|
863
|
+
this._setValidity($ipt);
|
|
864
|
+
return;
|
|
865
|
+
}
|
|
866
|
+
dv = new Date(dv);
|
|
867
|
+
}
|
|
868
|
+
if (!(dv instanceof Date)) {
|
|
869
|
+
$ipt.value = "";
|
|
870
|
+
this._setValidity($ipt);
|
|
871
|
+
return;
|
|
872
|
+
}
|
|
873
|
+
$ipt.value = date2str(dv, this.type);
|
|
874
|
+
this._setValidity($ipt);
|
|
875
|
+
}
|
|
876
|
+
/**
|
|
877
|
+
* 对于这个 input 而言,值就是一个字符串。当 t === string,无需进行任何转换。
|
|
878
|
+
* 所以只需要处理 date 或者 number, string -> Date -> number。
|
|
879
|
+
*/
|
|
880
|
+
_changeValue2Type(v, t) {
|
|
881
|
+
if (!v && v !== 0) {
|
|
882
|
+
return void 0;
|
|
883
|
+
}
|
|
884
|
+
if (typeof v === "string") {
|
|
885
|
+
const d = str2date(v, this.type);
|
|
886
|
+
return __privateMethod$c(this, _CalInput_instances, changeType_fn).call(this, d, t);
|
|
887
|
+
}
|
|
888
|
+
if (typeof v === "number") {
|
|
889
|
+
const d = Number.isNaN(v) ? void 0 : new Date(v);
|
|
890
|
+
return __privateMethod$c(this, _CalInput_instances, changeType_fn).call(this, d, t);
|
|
891
|
+
}
|
|
892
|
+
if (v instanceof Date) {
|
|
893
|
+
const d = Number.isNaN(v.getTime()) ? void 0 : v;
|
|
894
|
+
return __privateMethod$c(this, _CalInput_instances, changeType_fn).call(this, d, t);
|
|
895
|
+
}
|
|
896
|
+
return void 0;
|
|
897
|
+
}
|
|
898
|
+
_list_set() {
|
|
899
|
+
this._bindList();
|
|
900
|
+
}
|
|
901
|
+
//#endregion
|
|
902
|
+
}
|
|
903
|
+
_init$c = __decoratorStart$c(_a$c);
|
|
904
|
+
_CalInput_instances = /* @__PURE__ */ new WeakSet();
|
|
905
|
+
changeType_fn = function(d, t) {
|
|
906
|
+
if (!d) {
|
|
907
|
+
return void 0;
|
|
908
|
+
} else if (t === "number") {
|
|
909
|
+
return d.valueOf();
|
|
910
|
+
} else if (t === "string") {
|
|
911
|
+
return date2str(d, this.type);
|
|
912
|
+
} else {
|
|
913
|
+
return d;
|
|
914
|
+
}
|
|
915
|
+
};
|
|
916
|
+
_type = /* @__PURE__ */ new WeakMap();
|
|
917
|
+
_dataType$4 = /* @__PURE__ */ new WeakMap();
|
|
918
|
+
_autocomplete$1 = /* @__PURE__ */ new WeakMap();
|
|
919
|
+
_max$1 = /* @__PURE__ */ new WeakMap();
|
|
920
|
+
_min$1 = /* @__PURE__ */ new WeakMap();
|
|
921
|
+
_Step = /* @__PURE__ */ new WeakMap();
|
|
922
|
+
_list$2 = /* @__PURE__ */ new WeakMap();
|
|
923
|
+
__decorateElement$c(_init$c, 4, "type", _type_dec, CalInput, _type);
|
|
924
|
+
__decorateElement$c(_init$c, 4, "dataType", _dataType_dec$4, CalInput, _dataType$4);
|
|
925
|
+
__decorateElement$c(_init$c, 4, "autocomplete", _autocomplete_dec$1, CalInput, _autocomplete$1);
|
|
926
|
+
__decorateElement$c(_init$c, 4, "max", _max_dec$1, CalInput, _max$1);
|
|
927
|
+
__decorateElement$c(_init$c, 4, "min", _min_dec$1, CalInput, _min$1);
|
|
928
|
+
__decorateElement$c(_init$c, 4, "Step", _Step_dec, CalInput, _Step);
|
|
929
|
+
__decorateElement$c(_init$c, 4, "list", _list_dec$2, CalInput, _list$2);
|
|
930
|
+
CalInput = __decorateElement$c(_init$c, 0, "CalInput", _CalInput_decorators, CalInput);
|
|
931
|
+
__publicField$a(CalInput, "formAssociated", true);
|
|
932
|
+
__runInitializers$c(_init$c, 1, CalInput);
|
|
933
|
+
function date2str(d, type) {
|
|
934
|
+
switch (type) {
|
|
935
|
+
case "date":
|
|
936
|
+
return toDateStr(d);
|
|
937
|
+
case "time":
|
|
938
|
+
return toTimeStr(d);
|
|
939
|
+
case "datetime-local":
|
|
940
|
+
return `${toDateStr(d)}T${toTimeStr(d)}`;
|
|
941
|
+
case "month":
|
|
942
|
+
return toMonthStr(d);
|
|
943
|
+
case "week":
|
|
944
|
+
return toWeekStr(d);
|
|
945
|
+
}
|
|
946
|
+
}
|
|
947
|
+
function str2date(s, type) {
|
|
948
|
+
switch (type) {
|
|
949
|
+
case "datetime-local": {
|
|
950
|
+
const n = Date.parse(s);
|
|
951
|
+
return Number.isNaN(n) ? void 0 : new Date(n);
|
|
952
|
+
}
|
|
953
|
+
case "date": {
|
|
954
|
+
s = s + "T00:00";
|
|
955
|
+
const n = Date.parse(s);
|
|
956
|
+
return Number.isNaN(n) ? void 0 : new Date(n);
|
|
957
|
+
}
|
|
958
|
+
case "time": {
|
|
959
|
+
s = "1970-01-01T" + s;
|
|
960
|
+
const n = Date.parse(s);
|
|
961
|
+
return Number.isNaN(n) ? void 0 : new Date(n);
|
|
962
|
+
}
|
|
963
|
+
case "month": {
|
|
964
|
+
s = s + "-01T00:00";
|
|
965
|
+
const n = Date.parse(s);
|
|
966
|
+
return Number.isNaN(n) ? void 0 : new Date(n);
|
|
967
|
+
}
|
|
968
|
+
case "week": {
|
|
969
|
+
const ret = parseWeekString(s);
|
|
970
|
+
if (!ret) {
|
|
971
|
+
return void 0;
|
|
972
|
+
}
|
|
973
|
+
return getFirstDayOfWeekX(ret.year, ret.week);
|
|
974
|
+
}
|
|
975
|
+
}
|
|
976
|
+
}
|
|
977
|
+
function parseWeekString(weekString) {
|
|
978
|
+
const year = weekString.slice(0, 4);
|
|
979
|
+
const week = weekString.slice(6);
|
|
980
|
+
const y = Number.parseInt(year);
|
|
981
|
+
const w = Number.parseInt(week);
|
|
982
|
+
if (Number.isNaN(y) || Number.isNaN(w)) {
|
|
983
|
+
return void 0;
|
|
984
|
+
}
|
|
985
|
+
return { year: y, week: w };
|
|
986
|
+
}
|
|
987
|
+
function getFirstDayOfWeekX(year, weekNumber) {
|
|
988
|
+
const date = new Date(year, 0, 1);
|
|
989
|
+
const day = date.getDay();
|
|
990
|
+
const diff = day <= 4 ? 1 - day : 8 - day;
|
|
991
|
+
date.setDate(1 + diff);
|
|
992
|
+
const daysToAdd = (weekNumber - 1) * 7;
|
|
993
|
+
date.setDate(date.getDate() + daysToAdd);
|
|
994
|
+
if (Number.isNaN(date.getTime())) {
|
|
995
|
+
return void 0;
|
|
996
|
+
}
|
|
997
|
+
return date;
|
|
998
|
+
}
|
|
999
|
+
var __create$b = Object.create;
|
|
1000
|
+
var __defProp$b = Object.defineProperty;
|
|
1001
|
+
var __getOwnPropDesc$b = Object.getOwnPropertyDescriptor;
|
|
1002
|
+
var __knownSymbol$b = (name, symbol) => (symbol = Symbol[name]) ? symbol : /* @__PURE__ */ Symbol.for("Symbol." + name);
|
|
1003
|
+
var __typeError$b = (msg) => {
|
|
1004
|
+
throw TypeError(msg);
|
|
1005
|
+
};
|
|
1006
|
+
var __defNormalProp$b = (obj, key, value) => key in obj ? __defProp$b(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
1007
|
+
var __name$b = (target, value) => __defProp$b(target, "name", { value, configurable: true });
|
|
1008
|
+
var __decoratorStart$b = (base) => [, , , __create$b(base?.[__knownSymbol$b("metadata")] ?? null)];
|
|
1009
|
+
var __decoratorStrings$b = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
|
|
1010
|
+
var __expectFn$b = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError$b("Function expected") : fn;
|
|
1011
|
+
var __decoratorContext$b = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings$b[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError$b("Already initialized") : fns.push(__expectFn$b(fn || null)) });
|
|
1012
|
+
var __decoratorMetadata$b = (array, target) => __defNormalProp$b(target, __knownSymbol$b("metadata"), array[3]);
|
|
1013
|
+
var __runInitializers$b = (array, flags, self, value) => {
|
|
1014
|
+
for (var i = 0, fns = array[flags >> 1], n = fns && fns.length; i < n; i++) flags & 1 ? fns[i].call(self) : value = fns[i].call(self, value);
|
|
1015
|
+
return value;
|
|
1016
|
+
};
|
|
1017
|
+
var __decorateElement$b = (array, flags, name, decorators, target, extra) => {
|
|
1018
|
+
var fn, it, done, ctx, access, k = flags & 7, s = !!(flags & 8), p = !!(flags & 16);
|
|
1019
|
+
var j = k > 3 ? array.length + 1 : k ? s ? 1 : 2 : 0, key = __decoratorStrings$b[k + 5];
|
|
1020
|
+
var initializers = k > 3 && (array[j - 1] = []), extraInitializers = array[j] || (array[j] = []);
|
|
1021
|
+
var desc = k && (!p && !s && (target = target.prototype), k < 5 && (k > 3 || !p) && __getOwnPropDesc$b(k < 4 ? target : { get [name]() {
|
|
1022
|
+
return __privateGet$b(this, extra);
|
|
1023
|
+
}, set [name](x) {
|
|
1024
|
+
return __privateSet$b(this, extra, x);
|
|
1025
|
+
} }, name));
|
|
1026
|
+
k ? p && k < 4 && __name$b(extra, (k > 2 ? "set " : k > 1 ? "get " : "") + name) : __name$b(target, name);
|
|
1027
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
1028
|
+
ctx = __decoratorContext$b(k, name, done = {}, array[3], extraInitializers);
|
|
1029
|
+
if (k) {
|
|
1030
|
+
ctx.static = s, ctx.private = p, access = ctx.access = { has: p ? (x) => __privateIn$b(target, x) : (x) => name in x };
|
|
1031
|
+
if (k ^ 3) access.get = p ? (x) => (k ^ 1 ? __privateGet$b : __privateMethod$b)(x, target, k ^ 4 ? extra : desc.get) : (x) => x[name];
|
|
1032
|
+
if (k > 2) access.set = p ? (x, y) => __privateSet$b(x, target, y, k ^ 4 ? extra : desc.set) : (x, y) => x[name] = y;
|
|
1033
|
+
}
|
|
1034
|
+
it = (0, decorators[i])(k ? k < 4 ? p ? extra : desc[key] : k > 4 ? void 0 : { get: desc.get, set: desc.set } : target, ctx), done._ = 1;
|
|
1035
|
+
if (k ^ 4 || it === void 0) __expectFn$b(it) && (k > 4 ? initializers.unshift(it) : k ? p ? extra = it : desc[key] = it : target = it);
|
|
1036
|
+
else if (typeof it !== "object" || it === null) __typeError$b("Object expected");
|
|
1037
|
+
else __expectFn$b(fn = it.get) && (desc.get = fn), __expectFn$b(fn = it.set) && (desc.set = fn), __expectFn$b(fn = it.init) && initializers.unshift(fn);
|
|
1038
|
+
}
|
|
1039
|
+
return k || __decoratorMetadata$b(array, target), desc && __defProp$b(target, name, desc), p ? k ^ 4 ? extra : desc : target;
|
|
1040
|
+
};
|
|
1041
|
+
var __publicField$9 = (obj, key, value) => __defNormalProp$b(obj, key + "", value);
|
|
1042
|
+
var __accessCheck$b = (obj, member, msg) => member.has(obj) || __typeError$b("Cannot " + msg);
|
|
1043
|
+
var __privateIn$b = (member, obj) => Object(obj) !== obj ? __typeError$b('Cannot use the "in" operator on this value') : member.has(obj);
|
|
1044
|
+
var __privateGet$b = (obj, member, getter) => (__accessCheck$b(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
1045
|
+
var __privateAdd$b = (obj, member, value) => member.has(obj) ? __typeError$b("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
1046
|
+
var __privateSet$b = (obj, member, value, setter) => (__accessCheck$b(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
1047
|
+
var __privateMethod$b = (obj, member, method) => (__accessCheck$b(obj, member, "access private method"), method);
|
|
1048
|
+
var _falseText_dec, _trueText_dec, _dataType_dec$3, _a$b, _CheckInput_decorators, _init$b, _dataType$3, _trueText, _falseText;
|
|
1049
|
+
const tagName$8 = "GZM-INPUT-CHECK";
|
|
1050
|
+
const styleSheet$6 = createStyleSheet({
|
|
1051
|
+
":host": `
|
|
1052
|
+
display: inline-flex;
|
|
1053
|
+
vertical-align: middle;
|
|
1054
|
+
justify-content: space-around;
|
|
1055
|
+
`,
|
|
1056
|
+
":host::before": `
|
|
1057
|
+
content: attr(false-text);
|
|
1058
|
+
opacity: 0.75;
|
|
1059
|
+
`,
|
|
1060
|
+
":host::after": `
|
|
1061
|
+
content: attr(true-text);
|
|
1062
|
+
opacity: 0.75;
|
|
1063
|
+
`,
|
|
1064
|
+
":host:has(> input:not(:checked))::before": `
|
|
1065
|
+
font-weight: bolder;
|
|
1066
|
+
opacity: 1;
|
|
1067
|
+
`,
|
|
1068
|
+
":host:has(> input:checked)::after": `
|
|
1069
|
+
font-weight: bolder;
|
|
1070
|
+
opacity: 1;
|
|
1071
|
+
`,
|
|
1072
|
+
".switch": `
|
|
1073
|
+
/* width: 2.5em; 同时会改变高度,导致滑槽无法覆盖,所以改为使用 margin-inline */
|
|
1074
|
+
margin-inline: 1em; /*至少要与滑块的宽度相同。*/
|
|
1075
|
+
position: relative;
|
|
1076
|
+
`,
|
|
1077
|
+
".switch::before": (
|
|
1078
|
+
/*滑槽,且遮挡方框*/
|
|
1079
|
+
`
|
|
1080
|
+
content: "";
|
|
1081
|
+
position: absolute;
|
|
1082
|
+
background-color: var(--gzm-switch-background);
|
|
1083
|
+
|
|
1084
|
+
width: 2.5em;
|
|
1085
|
+
height: 1.5em;/*算下来正好24px,没有小数。且与方框高度相同。*/
|
|
1086
|
+
border-radius: 0.75em;
|
|
1087
|
+
|
|
1088
|
+
top: 50%; /*与下面 -50% 结合,使其垂直居中*/
|
|
1089
|
+
left: 50%; /*与下面 -50% 结合,使其水平居中*/
|
|
1090
|
+
transform: translate(-50%, -50%);
|
|
1091
|
+
`
|
|
1092
|
+
),
|
|
1093
|
+
".switch::after": (
|
|
1094
|
+
/*滑块,在滑槽之上(z-index)*/
|
|
1095
|
+
`
|
|
1096
|
+
content: "";
|
|
1097
|
+
position: absolute;
|
|
1098
|
+
|
|
1099
|
+
/*因为 0.6 透明度,白色混合 before 的灰色*/
|
|
1100
|
+
background: #fff;
|
|
1101
|
+
opacity: 0.6;
|
|
1102
|
+
|
|
1103
|
+
width: 1em;
|
|
1104
|
+
height: 1em;
|
|
1105
|
+
border-radius: 1em;
|
|
1106
|
+
|
|
1107
|
+
top: 50%; /*与下面 -50% 结合,使其垂直居中*/
|
|
1108
|
+
left: 50%;
|
|
1109
|
+
transform: translate(-0.8em, -50%);
|
|
1110
|
+
transition: all .4s;
|
|
1111
|
+
`
|
|
1112
|
+
),
|
|
1113
|
+
".switch:checked::before": `
|
|
1114
|
+
background-color: var(--gzm-switch-check-background);
|
|
1115
|
+
`,
|
|
1116
|
+
".switch:checked::after": `
|
|
1117
|
+
opacity: 1;
|
|
1118
|
+
transform: translate(-0.2em, -50%);
|
|
1119
|
+
`
|
|
1120
|
+
});
|
|
1121
|
+
const checkDataType = ["boolean", "string", "number"];
|
|
1122
|
+
const mutableAttributes$b = [
|
|
1123
|
+
"name"
|
|
1124
|
+
/*'required'*/
|
|
1125
|
+
];
|
|
1126
|
+
const copyAttributes$7 = {
|
|
1127
|
+
name: "$ipt"
|
|
1128
|
+
};
|
|
1129
|
+
_CheckInput_decorators = [defineElement({ tagName: tagName$8, mutableAttributes: mutableAttributes$b, copyAttributes: copyAttributes$7 })];
|
|
1130
|
+
class CheckInput extends (_a$b = InputBase, _dataType_dec$3 = [strAttr], _trueText_dec = [strAttr], _falseText_dec = [strAttr], _a$b) {
|
|
1131
|
+
constructor() {
|
|
1132
|
+
super(...arguments);
|
|
1133
|
+
__privateAdd$b(this, _dataType$3, __runInitializers$b(_init$b, 8, this, checkDataType[0])), __runInitializers$b(_init$b, 11, this);
|
|
1134
|
+
__privateAdd$b(this, _trueText, __runInitializers$b(_init$b, 12, this)), __runInitializers$b(_init$b, 15, this);
|
|
1135
|
+
__privateAdd$b(this, _falseText, __runInitializers$b(_init$b, 16, this)), __runInitializers$b(_init$b, 19, this);
|
|
1136
|
+
}
|
|
1137
|
+
_createInput() {
|
|
1138
|
+
const $ipt = document.createElement("input");
|
|
1139
|
+
$ipt.type = "checkbox";
|
|
1140
|
+
$ipt.className = "switch";
|
|
1141
|
+
$ipt.onchange = () => {
|
|
1142
|
+
this.dataValue = $ipt.checked;
|
|
1143
|
+
this._setValidity($ipt);
|
|
1144
|
+
};
|
|
1145
|
+
const sr = this.attachShadow({ mode: "open" });
|
|
1146
|
+
sr.adoptedStyleSheets = [baseStyle, styleSheet$6];
|
|
1147
|
+
sr.append($ipt);
|
|
1148
|
+
return $ipt;
|
|
1149
|
+
}
|
|
1150
|
+
_showValue($ipt = this.$ipt) {
|
|
1151
|
+
let dv = this.dataValue;
|
|
1152
|
+
if (typeof dv === "string") {
|
|
1153
|
+
dv = dv === "0" ? false : true;
|
|
1154
|
+
}
|
|
1155
|
+
dv = !!dv;
|
|
1156
|
+
$ipt.checked = dv;
|
|
1157
|
+
this._setValidity($ipt);
|
|
1158
|
+
}
|
|
1159
|
+
_changeValue2Type(v, t) {
|
|
1160
|
+
let b = false;
|
|
1161
|
+
if (v) {
|
|
1162
|
+
if (typeof v === "string") {
|
|
1163
|
+
if (v === "1") {
|
|
1164
|
+
b = true;
|
|
1165
|
+
}
|
|
1166
|
+
} else {
|
|
1167
|
+
b = true;
|
|
1168
|
+
}
|
|
1169
|
+
}
|
|
1170
|
+
switch (t) {
|
|
1171
|
+
case "boolean":
|
|
1172
|
+
return b;
|
|
1173
|
+
case "string":
|
|
1174
|
+
return b ? "1" : "0";
|
|
1175
|
+
case "number":
|
|
1176
|
+
return b ? 1 : 0;
|
|
1177
|
+
}
|
|
1178
|
+
}
|
|
1179
|
+
//#endregion
|
|
1180
|
+
}
|
|
1181
|
+
_init$b = __decoratorStart$b(_a$b);
|
|
1182
|
+
_dataType$3 = /* @__PURE__ */ new WeakMap();
|
|
1183
|
+
_trueText = /* @__PURE__ */ new WeakMap();
|
|
1184
|
+
_falseText = /* @__PURE__ */ new WeakMap();
|
|
1185
|
+
__decorateElement$b(_init$b, 4, "dataType", _dataType_dec$3, CheckInput, _dataType$3);
|
|
1186
|
+
__decorateElement$b(_init$b, 4, "trueText", _trueText_dec, CheckInput, _trueText);
|
|
1187
|
+
__decorateElement$b(_init$b, 4, "falseText", _falseText_dec, CheckInput, _falseText);
|
|
1188
|
+
CheckInput = __decorateElement$b(_init$b, 0, "CheckInput", _CheckInput_decorators, CheckInput);
|
|
1189
|
+
__publicField$9(CheckInput, "formAssociated", true);
|
|
1190
|
+
__runInitializers$b(_init$b, 1, CheckInput);
|
|
1191
|
+
var __create$a = Object.create;
|
|
1192
|
+
var __defProp$a = Object.defineProperty;
|
|
1193
|
+
var __getOwnPropDesc$a = Object.getOwnPropertyDescriptor;
|
|
1194
|
+
var __knownSymbol$a = (name, symbol) => (symbol = Symbol[name]) ? symbol : /* @__PURE__ */ Symbol.for("Symbol." + name);
|
|
1195
|
+
var __typeError$a = (msg) => {
|
|
1196
|
+
throw TypeError(msg);
|
|
1197
|
+
};
|
|
1198
|
+
var __defNormalProp$a = (obj, key, value) => key in obj ? __defProp$a(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
1199
|
+
var __name$a = (target, value) => __defProp$a(target, "name", { value, configurable: true });
|
|
1200
|
+
var __decoratorStart$a = (base) => [, , , __create$a(base?.[__knownSymbol$a("metadata")] ?? null)];
|
|
1201
|
+
var __decoratorStrings$a = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
|
|
1202
|
+
var __expectFn$a = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError$a("Function expected") : fn;
|
|
1203
|
+
var __decoratorContext$a = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings$a[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError$a("Already initialized") : fns.push(__expectFn$a(fn || null)) });
|
|
1204
|
+
var __decoratorMetadata$a = (array, target) => __defNormalProp$a(target, __knownSymbol$a("metadata"), array[3]);
|
|
1205
|
+
var __runInitializers$a = (array, flags, self, value) => {
|
|
1206
|
+
for (var i = 0, fns = array[flags >> 1], n = fns && fns.length; i < n; i++) flags & 1 ? fns[i].call(self) : value = fns[i].call(self, value);
|
|
1207
|
+
return value;
|
|
1208
|
+
};
|
|
1209
|
+
var __decorateElement$a = (array, flags, name, decorators, target, extra) => {
|
|
1210
|
+
var fn, it, done, ctx, access, k = flags & 7, s = !!(flags & 8), p = !!(flags & 16);
|
|
1211
|
+
var j = k > 3 ? array.length + 1 : k ? s ? 1 : 2 : 0, key = __decoratorStrings$a[k + 5];
|
|
1212
|
+
var initializers = k > 3 && (array[j - 1] = []), extraInitializers = array[j] || (array[j] = []);
|
|
1213
|
+
var desc = k && (!p && !s && (target = target.prototype), k < 5 && (k > 3 || !p) && __getOwnPropDesc$a(k < 4 ? target : { get [name]() {
|
|
1214
|
+
return __privateGet$a(this, extra);
|
|
1215
|
+
}, set [name](x) {
|
|
1216
|
+
return __privateSet$a(this, extra, x);
|
|
1217
|
+
} }, name));
|
|
1218
|
+
k ? p && k < 4 && __name$a(extra, (k > 2 ? "set " : k > 1 ? "get " : "") + name) : __name$a(target, name);
|
|
1219
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
1220
|
+
ctx = __decoratorContext$a(k, name, done = {}, array[3], extraInitializers);
|
|
1221
|
+
if (k) {
|
|
1222
|
+
ctx.static = s, ctx.private = p, access = ctx.access = { has: p ? (x) => __privateIn$a(target, x) : (x) => name in x };
|
|
1223
|
+
if (k ^ 3) access.get = p ? (x) => (k ^ 1 ? __privateGet$a : __privateMethod$a)(x, target, k ^ 4 ? extra : desc.get) : (x) => x[name];
|
|
1224
|
+
if (k > 2) access.set = p ? (x, y) => __privateSet$a(x, target, y, k ^ 4 ? extra : desc.set) : (x, y) => x[name] = y;
|
|
1225
|
+
}
|
|
1226
|
+
it = (0, decorators[i])(k ? k < 4 ? p ? extra : desc[key] : k > 4 ? void 0 : { get: desc.get, set: desc.set } : target, ctx), done._ = 1;
|
|
1227
|
+
if (k ^ 4 || it === void 0) __expectFn$a(it) && (k > 4 ? initializers.unshift(it) : k ? p ? extra = it : desc[key] = it : target = it);
|
|
1228
|
+
else if (typeof it !== "object" || it === null) __typeError$a("Object expected");
|
|
1229
|
+
else __expectFn$a(fn = it.get) && (desc.get = fn), __expectFn$a(fn = it.set) && (desc.set = fn), __expectFn$a(fn = it.init) && initializers.unshift(fn);
|
|
1230
|
+
}
|
|
1231
|
+
return k || __decoratorMetadata$a(array, target), desc && __defProp$a(target, name, desc), p ? k ^ 4 ? extra : desc : target;
|
|
1232
|
+
};
|
|
1233
|
+
var __publicField$8 = (obj, key, value) => __defNormalProp$a(obj, key + "", value);
|
|
1234
|
+
var __accessCheck$a = (obj, member, msg) => member.has(obj) || __typeError$a("Cannot " + msg);
|
|
1235
|
+
var __privateIn$a = (member, obj) => Object(obj) !== obj ? __typeError$a('Cannot use the "in" operator on this value') : member.has(obj);
|
|
1236
|
+
var __privateGet$a = (obj, member, getter) => (__accessCheck$a(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
1237
|
+
var __privateAdd$a = (obj, member, value) => member.has(obj) ? __typeError$a("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
1238
|
+
var __privateSet$a = (obj, member, value, setter) => (__accessCheck$a(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
1239
|
+
var __privateMethod$a = (obj, member, method) => (__accessCheck$a(obj, member, "access private method"), method);
|
|
1240
|
+
var _list_dec$1, _placeholder_dec, _step_dec, _min_dec, _max_dec, _autoComplete_dec, _dataType_dec$2, _a$a, _NumInput_decorators, _init$a, _dataType$2, _autoComplete, _max, _min, _step, _placeholder, _list$1;
|
|
1241
|
+
const tagName$7 = "GZM-INPUT-NUM";
|
|
1242
|
+
const numDataType = ["number", "int", "currency"];
|
|
1243
|
+
const mutableAttributes$a = ["name", "data-type", "autocomplete", "max", "min", "step", "placeholder", "list", "required"];
|
|
1244
|
+
const copyAttributes$6 = Object.assign({
|
|
1245
|
+
autocomplete: "$ipt",
|
|
1246
|
+
max: "$ipt",
|
|
1247
|
+
min: "$ipt",
|
|
1248
|
+
step: "$ipt",
|
|
1249
|
+
placeholder: "$ipt"
|
|
1250
|
+
}, inputCopyAttributes);
|
|
1251
|
+
_NumInput_decorators = [defineElement({ tagName: tagName$7, mutableAttributes: mutableAttributes$a, copyAttributes: copyAttributes$6 })];
|
|
1252
|
+
class NumInput extends (_a$a = InputBase, _dataType_dec$2 = [strAttr], _autoComplete_dec = [strAttr], _max_dec = [strAttr], _min_dec = [strAttr], _step_dec = [strAttr], _placeholder_dec = [strAttr], _list_dec$1 = [saAttr], _a$a) {
|
|
1253
|
+
constructor() {
|
|
1254
|
+
super(...arguments);
|
|
1255
|
+
__privateAdd$a(this, _dataType$2, __runInitializers$a(_init$a, 8, this, numDataType[0])), __runInitializers$a(_init$a, 11, this);
|
|
1256
|
+
__privateAdd$a(this, _autoComplete, __runInitializers$a(_init$a, 12, this, inputAutoComplete[0])), __runInitializers$a(_init$a, 15, this);
|
|
1257
|
+
__privateAdd$a(this, _max, __runInitializers$a(_init$a, 16, this)), __runInitializers$a(_init$a, 19, this);
|
|
1258
|
+
__privateAdd$a(this, _min, __runInitializers$a(_init$a, 20, this)), __runInitializers$a(_init$a, 23, this);
|
|
1259
|
+
__privateAdd$a(this, _step, __runInitializers$a(_init$a, 24, this)), __runInitializers$a(_init$a, 27, this);
|
|
1260
|
+
__privateAdd$a(this, _placeholder, __runInitializers$a(_init$a, 28, this)), __runInitializers$a(_init$a, 31, this);
|
|
1261
|
+
__privateAdd$a(this, _list$1, __runInitializers$a(_init$a, 32, this)), __runInitializers$a(_init$a, 35, this);
|
|
1262
|
+
}
|
|
1263
|
+
_createInput() {
|
|
1264
|
+
const $ipt = document.createElement("input");
|
|
1265
|
+
$ipt.className = "ipt";
|
|
1266
|
+
$ipt.type = "number";
|
|
1267
|
+
$ipt.step = "any";
|
|
1268
|
+
$ipt.onchange = () => {
|
|
1269
|
+
const v = $ipt.valueAsNumber;
|
|
1270
|
+
this.dataValue = v;
|
|
1271
|
+
this._setValidity($ipt);
|
|
1272
|
+
};
|
|
1273
|
+
const $lbl = document.createElement("label");
|
|
1274
|
+
$lbl.appendChild($ipt);
|
|
1275
|
+
const sr = this.attachShadow({ mode: "open" });
|
|
1276
|
+
sr.adoptedStyleSheets = [baseStyle, iptStyle];
|
|
1277
|
+
sr.append($lbl);
|
|
1278
|
+
return $ipt;
|
|
1279
|
+
}
|
|
1280
|
+
_showValue($ipt = this.$ipt) {
|
|
1281
|
+
const dv = this.dataValue;
|
|
1282
|
+
if (!dv) {
|
|
1283
|
+
if (dv === 0) {
|
|
1284
|
+
$ipt.valueAsNumber = 0;
|
|
1285
|
+
} else {
|
|
1286
|
+
$ipt.value = "";
|
|
1287
|
+
}
|
|
1288
|
+
} else {
|
|
1289
|
+
$ipt.valueAsNumber = Number(dv);
|
|
1290
|
+
}
|
|
1291
|
+
this._setValidity($ipt);
|
|
1292
|
+
}
|
|
1293
|
+
_changeValue2Type(v, t) {
|
|
1294
|
+
if (!v && v !== 0) {
|
|
1295
|
+
return void 0;
|
|
1296
|
+
}
|
|
1297
|
+
let n;
|
|
1298
|
+
switch (t) {
|
|
1299
|
+
case "number": {
|
|
1300
|
+
n = Number(v);
|
|
1301
|
+
break;
|
|
1302
|
+
}
|
|
1303
|
+
case "int": {
|
|
1304
|
+
if (Number.isInteger(v)) {
|
|
1305
|
+
n = v;
|
|
1306
|
+
} else {
|
|
1307
|
+
n = Math.round(Number(v));
|
|
1308
|
+
}
|
|
1309
|
+
break;
|
|
1310
|
+
}
|
|
1311
|
+
case "currency": {
|
|
1312
|
+
n = Math.round(Number(v) * 100) / 100;
|
|
1313
|
+
break;
|
|
1314
|
+
}
|
|
1315
|
+
}
|
|
1316
|
+
return Number.isNaN(n) ? void 0 : n;
|
|
1317
|
+
}
|
|
1318
|
+
_list_set() {
|
|
1319
|
+
this._bindList();
|
|
1320
|
+
}
|
|
1321
|
+
_data_type_set() {
|
|
1322
|
+
let step = this.step;
|
|
1323
|
+
if (!step) {
|
|
1324
|
+
switch (this.dataType) {
|
|
1325
|
+
case "int":
|
|
1326
|
+
step = "1";
|
|
1327
|
+
break;
|
|
1328
|
+
case "currency":
|
|
1329
|
+
step = "0.01";
|
|
1330
|
+
break;
|
|
1331
|
+
case "number":
|
|
1332
|
+
default:
|
|
1333
|
+
step = "any";
|
|
1334
|
+
break;
|
|
1335
|
+
}
|
|
1336
|
+
const $ipt = this.$ipt;
|
|
1337
|
+
$ipt.step = step;
|
|
1338
|
+
this._setValidity($ipt);
|
|
1339
|
+
}
|
|
1340
|
+
}
|
|
1341
|
+
//#endregion
|
|
1342
|
+
}
|
|
1343
|
+
_init$a = __decoratorStart$a(_a$a);
|
|
1344
|
+
_dataType$2 = /* @__PURE__ */ new WeakMap();
|
|
1345
|
+
_autoComplete = /* @__PURE__ */ new WeakMap();
|
|
1346
|
+
_max = /* @__PURE__ */ new WeakMap();
|
|
1347
|
+
_min = /* @__PURE__ */ new WeakMap();
|
|
1348
|
+
_step = /* @__PURE__ */ new WeakMap();
|
|
1349
|
+
_placeholder = /* @__PURE__ */ new WeakMap();
|
|
1350
|
+
_list$1 = /* @__PURE__ */ new WeakMap();
|
|
1351
|
+
__decorateElement$a(_init$a, 4, "dataType", _dataType_dec$2, NumInput, _dataType$2);
|
|
1352
|
+
__decorateElement$a(_init$a, 4, "autoComplete", _autoComplete_dec, NumInput, _autoComplete);
|
|
1353
|
+
__decorateElement$a(_init$a, 4, "max", _max_dec, NumInput, _max);
|
|
1354
|
+
__decorateElement$a(_init$a, 4, "min", _min_dec, NumInput, _min);
|
|
1355
|
+
__decorateElement$a(_init$a, 4, "step", _step_dec, NumInput, _step);
|
|
1356
|
+
__decorateElement$a(_init$a, 4, "placeholder", _placeholder_dec, NumInput, _placeholder);
|
|
1357
|
+
__decorateElement$a(_init$a, 4, "list", _list_dec$1, NumInput, _list$1);
|
|
1358
|
+
NumInput = __decorateElement$a(_init$a, 0, "NumInput", _NumInput_decorators, NumInput);
|
|
1359
|
+
__publicField$8(NumInput, "formAssociated", true);
|
|
1360
|
+
__runInitializers$a(_init$a, 1, NumInput);
|
|
1361
|
+
var __create$9 = Object.create;
|
|
1362
|
+
var __defProp$9 = Object.defineProperty;
|
|
1363
|
+
var __getOwnPropDesc$9 = Object.getOwnPropertyDescriptor;
|
|
1364
|
+
var __knownSymbol$9 = (name, symbol) => (symbol = Symbol[name]) ? symbol : /* @__PURE__ */ Symbol.for("Symbol." + name);
|
|
1365
|
+
var __typeError$9 = (msg) => {
|
|
1366
|
+
throw TypeError(msg);
|
|
1367
|
+
};
|
|
1368
|
+
var __defNormalProp$9 = (obj, key, value) => key in obj ? __defProp$9(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
1369
|
+
var __name$9 = (target, value) => __defProp$9(target, "name", { value, configurable: true });
|
|
1370
|
+
var __decoratorStart$9 = (base) => [, , , __create$9(base?.[__knownSymbol$9("metadata")] ?? null)];
|
|
1371
|
+
var __decoratorStrings$9 = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
|
|
1372
|
+
var __expectFn$9 = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError$9("Function expected") : fn;
|
|
1373
|
+
var __decoratorContext$9 = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings$9[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError$9("Already initialized") : fns.push(__expectFn$9(fn || null)) });
|
|
1374
|
+
var __decoratorMetadata$9 = (array, target) => __defNormalProp$9(target, __knownSymbol$9("metadata"), array[3]);
|
|
1375
|
+
var __runInitializers$9 = (array, flags, self, value) => {
|
|
1376
|
+
for (var i = 0, fns = array[flags >> 1], n = fns && fns.length; i < n; i++) flags & 1 ? fns[i].call(self) : value = fns[i].call(self, value);
|
|
1377
|
+
return value;
|
|
1378
|
+
};
|
|
1379
|
+
var __decorateElement$9 = (array, flags, name, decorators, target, extra) => {
|
|
1380
|
+
var fn, it, done, ctx, access, k = flags & 7, s = !!(flags & 8), p = !!(flags & 16);
|
|
1381
|
+
var j = k > 3 ? array.length + 1 : k ? s ? 1 : 2 : 0, key = __decoratorStrings$9[k + 5];
|
|
1382
|
+
var initializers = k > 3 && (array[j - 1] = []), extraInitializers = array[j] || (array[j] = []);
|
|
1383
|
+
var desc = k && (!p && !s && (target = target.prototype), k < 5 && (k > 3 || !p) && __getOwnPropDesc$9(k < 4 ? target : { get [name]() {
|
|
1384
|
+
return __privateGet$9(this, extra);
|
|
1385
|
+
}, set [name](x) {
|
|
1386
|
+
return __privateSet$9(this, extra, x);
|
|
1387
|
+
} }, name));
|
|
1388
|
+
k ? p && k < 4 && __name$9(extra, (k > 2 ? "set " : k > 1 ? "get " : "") + name) : __name$9(target, name);
|
|
1389
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
1390
|
+
ctx = __decoratorContext$9(k, name, done = {}, array[3], extraInitializers);
|
|
1391
|
+
if (k) {
|
|
1392
|
+
ctx.static = s, ctx.private = p, access = ctx.access = { has: p ? (x) => __privateIn$9(target, x) : (x) => name in x };
|
|
1393
|
+
if (k ^ 3) access.get = p ? (x) => (k ^ 1 ? __privateGet$9 : __privateMethod$9)(x, target, k ^ 4 ? extra : desc.get) : (x) => x[name];
|
|
1394
|
+
if (k > 2) access.set = p ? (x, y) => __privateSet$9(x, target, y, k ^ 4 ? extra : desc.set) : (x, y) => x[name] = y;
|
|
1395
|
+
}
|
|
1396
|
+
it = (0, decorators[i])(k ? k < 4 ? p ? extra : desc[key] : k > 4 ? void 0 : { get: desc.get, set: desc.set } : target, ctx), done._ = 1;
|
|
1397
|
+
if (k ^ 4 || it === void 0) __expectFn$9(it) && (k > 4 ? initializers.unshift(it) : k ? p ? extra = it : desc[key] = it : target = it);
|
|
1398
|
+
else if (typeof it !== "object" || it === null) __typeError$9("Object expected");
|
|
1399
|
+
else __expectFn$9(fn = it.get) && (desc.get = fn), __expectFn$9(fn = it.set) && (desc.set = fn), __expectFn$9(fn = it.init) && initializers.unshift(fn);
|
|
1400
|
+
}
|
|
1401
|
+
return k || __decoratorMetadata$9(array, target), desc && __defProp$9(target, name, desc), p ? k ^ 4 ? extra : desc : target;
|
|
1402
|
+
};
|
|
1403
|
+
var __publicField$7 = (obj, key, value) => __defNormalProp$9(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
1404
|
+
var __accessCheck$9 = (obj, member, msg) => member.has(obj) || __typeError$9("Cannot " + msg);
|
|
1405
|
+
var __privateIn$9 = (member, obj) => Object(obj) !== obj ? __typeError$9('Cannot use the "in" operator on this value') : member.has(obj);
|
|
1406
|
+
var __privateGet$9 = (obj, member, getter) => (__accessCheck$9(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
1407
|
+
var __privateAdd$9 = (obj, member, value) => member.has(obj) ? __typeError$9("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
1408
|
+
var __privateSet$9 = (obj, member, value, setter) => (__accessCheck$9(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
1409
|
+
var __privateMethod$9 = (obj, member, method) => (__accessCheck$9(obj, member, "access private method"), method);
|
|
1410
|
+
var _list_dec, _autocomplete_dec, _dataType_dec$1, _a$9, _ColorInput_decorators, _ColorInput_instances, showValueOnLabel_fn, _init$9, _dataType$1, _autocomplete, _list;
|
|
1411
|
+
const tagName$6 = "GZM-INPUT-COLOR";
|
|
1412
|
+
const styleSheet$5 = createStyleSheet({
|
|
1413
|
+
"div": `
|
|
1414
|
+
position: relative;
|
|
1415
|
+
display: inline-flex;
|
|
1416
|
+
`,
|
|
1417
|
+
"div > label": `
|
|
1418
|
+
position: absolute;
|
|
1419
|
+
left: 0;
|
|
1420
|
+
right: 0;
|
|
1421
|
+
top: 50%;
|
|
1422
|
+
transform: translate(0, -50%);
|
|
1423
|
+
background: transparent;
|
|
1424
|
+
text-align: center;
|
|
1425
|
+
`
|
|
1426
|
+
});
|
|
1427
|
+
const colorDataType = ["string", "int"];
|
|
1428
|
+
const mutableAttributes$9 = ["name", "autocomplete", "list", "required"];
|
|
1429
|
+
const copyAttributes$5 = Object.assign({
|
|
1430
|
+
autocomplete: "$ipt"
|
|
1431
|
+
}, inputCopyAttributes);
|
|
1432
|
+
_ColorInput_decorators = [defineElement({ tagName: tagName$6, mutableAttributes: mutableAttributes$9, copyAttributes: copyAttributes$5 })];
|
|
1433
|
+
class ColorInput extends (_a$9 = InputBase, _dataType_dec$1 = [strAttr], _autocomplete_dec = [strAttr], _list_dec = [saAttr], _a$9) {
|
|
1434
|
+
constructor() {
|
|
1435
|
+
super();
|
|
1436
|
+
__privateAdd$9(this, _ColorInput_instances);
|
|
1437
|
+
__publicField$7(this, "$lbl");
|
|
1438
|
+
__privateAdd$9(this, _dataType$1, __runInitializers$9(_init$9, 8, this, colorDataType[0])), __runInitializers$9(_init$9, 11, this);
|
|
1439
|
+
__privateAdd$9(this, _autocomplete, __runInitializers$9(_init$9, 12, this, inputAutoComplete[0])), __runInitializers$9(_init$9, 15, this);
|
|
1440
|
+
__privateAdd$9(this, _list, __runInitializers$9(_init$9, 16, this)), __runInitializers$9(_init$9, 19, this);
|
|
1441
|
+
const $ipt = this.$ipt;
|
|
1442
|
+
if (usePicker($ipt)) {
|
|
1443
|
+
this.$lbl = createLabel($ipt);
|
|
1444
|
+
}
|
|
1445
|
+
}
|
|
1446
|
+
_createInput() {
|
|
1447
|
+
const $ipt = document.createElement("input");
|
|
1448
|
+
$ipt.className = "ipt";
|
|
1449
|
+
$ipt.type = "color";
|
|
1450
|
+
const $div = document.createElement("div");
|
|
1451
|
+
$div.append($ipt);
|
|
1452
|
+
const $lbl = document.createElement("label");
|
|
1453
|
+
$lbl.appendChild($div);
|
|
1454
|
+
const sr = this.attachShadow({ mode: "open" });
|
|
1455
|
+
sr.adoptedStyleSheets = [baseStyle, iptStyle, styleSheet$5];
|
|
1456
|
+
sr.append($lbl);
|
|
1457
|
+
$ipt.oninput = () => {
|
|
1458
|
+
__privateMethod$9(this, _ColorInput_instances, showValueOnLabel_fn).call(this);
|
|
1459
|
+
this.dataValue = $ipt.value;
|
|
1460
|
+
if (this.required) {
|
|
1461
|
+
$ipt.setCustomValidity("");
|
|
1462
|
+
}
|
|
1463
|
+
this._setValidity($ipt);
|
|
1464
|
+
};
|
|
1465
|
+
return $ipt;
|
|
1466
|
+
}
|
|
1467
|
+
_showValue($ipt = this.$ipt) {
|
|
1468
|
+
let dv = this.dataValue;
|
|
1469
|
+
if (typeof dv === "number") {
|
|
1470
|
+
dv = num2color(dv);
|
|
1471
|
+
}
|
|
1472
|
+
$ipt.value = dv || "#000000";
|
|
1473
|
+
__privateMethod$9(this, _ColorInput_instances, showValueOnLabel_fn).call(this, $ipt);
|
|
1474
|
+
if (this.required && !dv) {
|
|
1475
|
+
$ipt.setCustomValidity(GT.valueMissing);
|
|
1476
|
+
}
|
|
1477
|
+
this._setValidity($ipt);
|
|
1478
|
+
}
|
|
1479
|
+
_changeValue2Type(v, t) {
|
|
1480
|
+
const vt = typeof v;
|
|
1481
|
+
if (vt !== "string" && vt !== "number") {
|
|
1482
|
+
return void 0;
|
|
1483
|
+
}
|
|
1484
|
+
if (t === "int") {
|
|
1485
|
+
if (vt === "number") {
|
|
1486
|
+
return v;
|
|
1487
|
+
}
|
|
1488
|
+
return color2num(v);
|
|
1489
|
+
} else if (t === "string") {
|
|
1490
|
+
if (vt === "string") {
|
|
1491
|
+
return v;
|
|
1492
|
+
}
|
|
1493
|
+
return num2color(v);
|
|
1494
|
+
}
|
|
1495
|
+
}
|
|
1496
|
+
_list_set() {
|
|
1497
|
+
this._bindList();
|
|
1498
|
+
}
|
|
1499
|
+
//#endregion
|
|
1500
|
+
}
|
|
1501
|
+
_init$9 = __decoratorStart$9(_a$9);
|
|
1502
|
+
_ColorInput_instances = /* @__PURE__ */ new WeakSet();
|
|
1503
|
+
showValueOnLabel_fn = function($ipt = this.$ipt) {
|
|
1504
|
+
const $lbl = this.$lbl;
|
|
1505
|
+
if (!$lbl) return;
|
|
1506
|
+
const v = $ipt.value;
|
|
1507
|
+
$lbl.textContent = v;
|
|
1508
|
+
const i = color2num(v);
|
|
1509
|
+
const u = toUnsigned(i);
|
|
1510
|
+
const c = num2color(~u);
|
|
1511
|
+
$lbl.style.color = c;
|
|
1512
|
+
};
|
|
1513
|
+
_dataType$1 = /* @__PURE__ */ new WeakMap();
|
|
1514
|
+
_autocomplete = /* @__PURE__ */ new WeakMap();
|
|
1515
|
+
_list = /* @__PURE__ */ new WeakMap();
|
|
1516
|
+
__decorateElement$9(_init$9, 4, "dataType", _dataType_dec$1, ColorInput, _dataType$1);
|
|
1517
|
+
__decorateElement$9(_init$9, 4, "autocomplete", _autocomplete_dec, ColorInput, _autocomplete);
|
|
1518
|
+
__decorateElement$9(_init$9, 4, "list", _list_dec, ColorInput, _list);
|
|
1519
|
+
ColorInput = __decorateElement$9(_init$9, 0, "ColorInput", _ColorInput_decorators, ColorInput);
|
|
1520
|
+
__publicField$7(ColorInput, "formAssociated", true);
|
|
1521
|
+
__runInitializers$9(_init$9, 1, ColorInput);
|
|
1522
|
+
function toUnsigned(num) {
|
|
1523
|
+
num = num & 16777215;
|
|
1524
|
+
return num;
|
|
1525
|
+
}
|
|
1526
|
+
function toSigned(num) {
|
|
1527
|
+
num = ~num;
|
|
1528
|
+
num = num + 1;
|
|
1529
|
+
num = -num;
|
|
1530
|
+
return num;
|
|
1531
|
+
}
|
|
1532
|
+
function color2num(colorStr) {
|
|
1533
|
+
colorStr = colorStr.substr(1);
|
|
1534
|
+
let tmp = "";
|
|
1535
|
+
for (let i = 0; i < 6 - colorStr.length; i++) {
|
|
1536
|
+
tmp += "0";
|
|
1537
|
+
}
|
|
1538
|
+
colorStr = tmp + colorStr;
|
|
1539
|
+
colorStr = "FF" + colorStr;
|
|
1540
|
+
const c = parseInt(colorStr, 16);
|
|
1541
|
+
return toSigned(c);
|
|
1542
|
+
}
|
|
1543
|
+
function num2color(num) {
|
|
1544
|
+
num = toUnsigned(num);
|
|
1545
|
+
let color = num.toString(16).toUpperCase();
|
|
1546
|
+
if (color.length <= 6) {
|
|
1547
|
+
let tmp = "";
|
|
1548
|
+
for (let i = 0; i < 6 - color.length; i++) {
|
|
1549
|
+
tmp += "0";
|
|
1550
|
+
}
|
|
1551
|
+
color = "#" + tmp + color;
|
|
1552
|
+
} else {
|
|
1553
|
+
color = "#" + color.substr(color.length - 6);
|
|
1554
|
+
}
|
|
1555
|
+
return color;
|
|
1556
|
+
}
|
|
1557
|
+
function usePicker($ipt) {
|
|
1558
|
+
let isPicker = true;
|
|
1559
|
+
const sh = () => {
|
|
1560
|
+
isPicker = false;
|
|
1561
|
+
};
|
|
1562
|
+
$ipt.onselect = sh;
|
|
1563
|
+
$ipt.select();
|
|
1564
|
+
$ipt.onselect = null;
|
|
1565
|
+
return isPicker;
|
|
1566
|
+
}
|
|
1567
|
+
function createLabel($ipt) {
|
|
1568
|
+
const $lbl = document.createElement("label");
|
|
1569
|
+
$lbl.setAttribute("for", getInputIdForLabel($ipt));
|
|
1570
|
+
$ipt.after($lbl);
|
|
1571
|
+
return $lbl;
|
|
1572
|
+
}
|
|
1573
|
+
var __create$8 = Object.create;
|
|
1574
|
+
var __defProp$8 = Object.defineProperty;
|
|
1575
|
+
var __getOwnPropDesc$8 = Object.getOwnPropertyDescriptor;
|
|
1576
|
+
var __knownSymbol$8 = (name, symbol) => (symbol = Symbol[name]) ? symbol : /* @__PURE__ */ Symbol.for("Symbol." + name);
|
|
1577
|
+
var __typeError$8 = (msg) => {
|
|
1578
|
+
throw TypeError(msg);
|
|
1579
|
+
};
|
|
1580
|
+
var __defNormalProp$8 = (obj, key, value) => key in obj ? __defProp$8(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
1581
|
+
var __name$8 = (target, value) => __defProp$8(target, "name", { value, configurable: true });
|
|
1582
|
+
var __decoratorStart$8 = (base) => [, , , __create$8(base?.[__knownSymbol$8("metadata")] ?? null)];
|
|
1583
|
+
var __decoratorStrings$8 = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
|
|
1584
|
+
var __expectFn$8 = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError$8("Function expected") : fn;
|
|
1585
|
+
var __decoratorContext$8 = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings$8[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError$8("Already initialized") : fns.push(__expectFn$8(fn || null)) });
|
|
1586
|
+
var __decoratorMetadata$8 = (array, target) => __defNormalProp$8(target, __knownSymbol$8("metadata"), array[3]);
|
|
1587
|
+
var __runInitializers$8 = (array, flags, self, value) => {
|
|
1588
|
+
for (var i = 0, fns = array[flags >> 1], n = fns && fns.length; i < n; i++) flags & 1 ? fns[i].call(self) : value = fns[i].call(self, value);
|
|
1589
|
+
return value;
|
|
1590
|
+
};
|
|
1591
|
+
var __decorateElement$8 = (array, flags, name, decorators, target, extra) => {
|
|
1592
|
+
var fn, it, done, ctx, access, k = flags & 7, s = !!(flags & 8), p = !!(flags & 16);
|
|
1593
|
+
var j = k > 3 ? array.length + 1 : k ? s ? 1 : 2 : 0, key = __decoratorStrings$8[k + 5];
|
|
1594
|
+
var initializers = k > 3 && (array[j - 1] = []), extraInitializers = array[j] || (array[j] = []);
|
|
1595
|
+
var desc = k && (!p && !s && (target = target.prototype), k < 5 && (k > 3 || !p) && __getOwnPropDesc$8(k < 4 ? target : { get [name]() {
|
|
1596
|
+
return __privateGet$8(this, extra);
|
|
1597
|
+
}, set [name](x) {
|
|
1598
|
+
return __privateSet$8(this, extra, x);
|
|
1599
|
+
} }, name));
|
|
1600
|
+
k ? p && k < 4 && __name$8(extra, (k > 2 ? "set " : k > 1 ? "get " : "") + name) : __name$8(target, name);
|
|
1601
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
1602
|
+
ctx = __decoratorContext$8(k, name, done = {}, array[3], extraInitializers);
|
|
1603
|
+
if (k) {
|
|
1604
|
+
ctx.static = s, ctx.private = p, access = ctx.access = { has: p ? (x) => __privateIn$8(target, x) : (x) => name in x };
|
|
1605
|
+
if (k ^ 3) access.get = p ? (x) => (k ^ 1 ? __privateGet$8 : __privateMethod$8)(x, target, k ^ 4 ? extra : desc.get) : (x) => x[name];
|
|
1606
|
+
if (k > 2) access.set = p ? (x, y) => __privateSet$8(x, target, y, k ^ 4 ? extra : desc.set) : (x, y) => x[name] = y;
|
|
1607
|
+
}
|
|
1608
|
+
it = (0, decorators[i])(k ? k < 4 ? p ? extra : desc[key] : k > 4 ? void 0 : { get: desc.get, set: desc.set } : target, ctx), done._ = 1;
|
|
1609
|
+
if (k ^ 4 || it === void 0) __expectFn$8(it) && (k > 4 ? initializers.unshift(it) : k ? p ? extra = it : desc[key] = it : target = it);
|
|
1610
|
+
else if (typeof it !== "object" || it === null) __typeError$8("Object expected");
|
|
1611
|
+
else __expectFn$8(fn = it.get) && (desc.get = fn), __expectFn$8(fn = it.set) && (desc.set = fn), __expectFn$8(fn = it.init) && initializers.unshift(fn);
|
|
1612
|
+
}
|
|
1613
|
+
return k || __decoratorMetadata$8(array, target), desc && __defProp$8(target, name, desc), p ? k ^ 4 ? extra : desc : target;
|
|
1614
|
+
};
|
|
1615
|
+
var __publicField$6 = (obj, key, value) => __defNormalProp$8(obj, key + "", value);
|
|
1616
|
+
var __accessCheck$8 = (obj, member, msg) => member.has(obj) || __typeError$8("Cannot " + msg);
|
|
1617
|
+
var __privateIn$8 = (member, obj) => Object(obj) !== obj ? __typeError$8('Cannot use the "in" operator on this value') : member.has(obj);
|
|
1618
|
+
var __privateGet$8 = (obj, member, getter) => (__accessCheck$8(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
1619
|
+
var __privateAdd$8 = (obj, member, value) => member.has(obj) ? __typeError$8("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
1620
|
+
var __privateSet$8 = (obj, member, value, setter) => (__accessCheck$8(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
1621
|
+
var __privateMethod$8 = (obj, member, method) => (__accessCheck$8(obj, member, "access private method"), method);
|
|
1622
|
+
var _ignoreRows_dec, _rows_dec, _dataType_dec, _a$8, _LinesInput_decorators, _init$8, _dataType, _rows, _ignoreRows;
|
|
1623
|
+
const tagName$5 = "GZM-INPUT-LINES";
|
|
1624
|
+
const styleSheet$4 = createStyleSheet({
|
|
1625
|
+
/*因为有 array-split,所以不能自动换行!每一行代表一项数据!*/
|
|
1626
|
+
"textarea[data-type=array]": `
|
|
1627
|
+
white-space: pre;
|
|
1628
|
+
`,
|
|
1629
|
+
"textarea[ignore-rows]": `
|
|
1630
|
+
height: 100%;
|
|
1631
|
+
`
|
|
1632
|
+
});
|
|
1633
|
+
const linesDataType = ["string", "array"];
|
|
1634
|
+
const mutableAttributes$8 = ["name", "spellcheck", "rows", "required", "data-type", "ignore-rows"];
|
|
1635
|
+
const copyAttributes$4 = Object.assign({
|
|
1636
|
+
rows: "$ipt",
|
|
1637
|
+
spellcheck: "$ipt",
|
|
1638
|
+
//下面2个属性要复制为了样式能够起作用!
|
|
1639
|
+
"data-type": "$ipt",
|
|
1640
|
+
"ignore-rows": "$ipt"
|
|
1641
|
+
}, inputCopyAttributes);
|
|
1642
|
+
_LinesInput_decorators = [defineElement({ tagName: tagName$5, mutableAttributes: mutableAttributes$8, copyAttributes: copyAttributes$4 })];
|
|
1643
|
+
class LinesInput extends (_a$8 = InputBase, _dataType_dec = [strAttr], _rows_dec = [intAttr], _ignoreRows_dec = [boolAttr], _a$8) {
|
|
1644
|
+
constructor() {
|
|
1645
|
+
super(...arguments);
|
|
1646
|
+
__privateAdd$8(this, _dataType, __runInitializers$8(_init$8, 8, this, linesDataType[0])), __runInitializers$8(_init$8, 11, this);
|
|
1647
|
+
__privateAdd$8(this, _rows, __runInitializers$8(_init$8, 12, this)), __runInitializers$8(_init$8, 15, this);
|
|
1648
|
+
__privateAdd$8(this, _ignoreRows, __runInitializers$8(_init$8, 16, this, false)), __runInitializers$8(_init$8, 19, this);
|
|
1649
|
+
}
|
|
1650
|
+
_createInput() {
|
|
1651
|
+
const $ipt = document.createElement("textarea");
|
|
1652
|
+
$ipt.className = "ipt";
|
|
1653
|
+
$ipt.onchange = () => {
|
|
1654
|
+
let val = $ipt.value;
|
|
1655
|
+
if (val) val = removeZWC(val);
|
|
1656
|
+
this.dataValue = val;
|
|
1657
|
+
this._setValidity($ipt);
|
|
1658
|
+
};
|
|
1659
|
+
const $lbl = document.createElement("label");
|
|
1660
|
+
$lbl.appendChild($ipt);
|
|
1661
|
+
const sr = this.attachShadow({ mode: "open" });
|
|
1662
|
+
sr.adoptedStyleSheets = [baseStyle, iptStyle, styleSheet$4];
|
|
1663
|
+
sr.append($lbl);
|
|
1664
|
+
return $ipt;
|
|
1665
|
+
}
|
|
1666
|
+
_showValue($ipt = this.$ipt) {
|
|
1667
|
+
let dv = this.dataValue;
|
|
1668
|
+
if (Array.isArray(dv)) {
|
|
1669
|
+
dv = dv.join(arraySplit);
|
|
1670
|
+
}
|
|
1671
|
+
$ipt.value = dv ?? "";
|
|
1672
|
+
this._setValidity($ipt);
|
|
1673
|
+
$ipt.selectionStart = 0;
|
|
1674
|
+
$ipt.selectionEnd = 0;
|
|
1675
|
+
}
|
|
1676
|
+
_changeValue2Type(v, t) {
|
|
1677
|
+
if (!v) {
|
|
1678
|
+
return void 0;
|
|
1679
|
+
}
|
|
1680
|
+
if (Array.isArray(v)) {
|
|
1681
|
+
if (t === "array") {
|
|
1682
|
+
return v;
|
|
1683
|
+
}
|
|
1684
|
+
return v.join(arraySplit);
|
|
1685
|
+
}
|
|
1686
|
+
if (typeof v !== "string") {
|
|
1687
|
+
v = String(v);
|
|
1688
|
+
}
|
|
1689
|
+
const s = v;
|
|
1690
|
+
if (t === "string") {
|
|
1691
|
+
return s;
|
|
1692
|
+
}
|
|
1693
|
+
return s.split(arraySplit);
|
|
1694
|
+
}
|
|
1695
|
+
//#endregion
|
|
1696
|
+
}
|
|
1697
|
+
_init$8 = __decoratorStart$8(_a$8);
|
|
1698
|
+
_dataType = /* @__PURE__ */ new WeakMap();
|
|
1699
|
+
_rows = /* @__PURE__ */ new WeakMap();
|
|
1700
|
+
_ignoreRows = /* @__PURE__ */ new WeakMap();
|
|
1701
|
+
__decorateElement$8(_init$8, 4, "dataType", _dataType_dec, LinesInput, _dataType);
|
|
1702
|
+
__decorateElement$8(_init$8, 4, "rows", _rows_dec, LinesInput, _rows);
|
|
1703
|
+
__decorateElement$8(_init$8, 4, "ignoreRows", _ignoreRows_dec, LinesInput, _ignoreRows);
|
|
1704
|
+
LinesInput = __decorateElement$8(_init$8, 0, "LinesInput", _LinesInput_decorators, LinesInput);
|
|
1705
|
+
__publicField$6(LinesInput, "formAssociated", true);
|
|
1706
|
+
__runInitializers$8(_init$8, 1, LinesInput);
|
|
1707
|
+
const arraySplit = "\n";
|
|
1708
|
+
var __create$7 = Object.create;
|
|
1709
|
+
var __defProp$7 = Object.defineProperty;
|
|
1710
|
+
var __getOwnPropDesc$7 = Object.getOwnPropertyDescriptor;
|
|
1711
|
+
var __knownSymbol$7 = (name, symbol) => (symbol = Symbol[name]) ? symbol : /* @__PURE__ */ Symbol.for("Symbol." + name);
|
|
1712
|
+
var __typeError$7 = (msg) => {
|
|
1713
|
+
throw TypeError(msg);
|
|
1714
|
+
};
|
|
1715
|
+
var __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$7(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
1716
|
+
var __name$7 = (target, value) => __defProp$7(target, "name", { value, configurable: true });
|
|
1717
|
+
var __decoratorStart$7 = (base) => [, , , __create$7(base?.[__knownSymbol$7("metadata")] ?? null)];
|
|
1718
|
+
var __decoratorStrings$7 = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
|
|
1719
|
+
var __expectFn$7 = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError$7("Function expected") : fn;
|
|
1720
|
+
var __decoratorContext$7 = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings$7[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError$7("Already initialized") : fns.push(__expectFn$7(fn || null)) });
|
|
1721
|
+
var __decoratorMetadata$7 = (array, target) => __defNormalProp$7(target, __knownSymbol$7("metadata"), array[3]);
|
|
1722
|
+
var __runInitializers$7 = (array, flags, self, value) => {
|
|
1723
|
+
for (var i = 0, fns = array[flags >> 1], n = fns && fns.length; i < n; i++) flags & 1 ? fns[i].call(self) : value = fns[i].call(self, value);
|
|
1724
|
+
return value;
|
|
1725
|
+
};
|
|
1726
|
+
var __decorateElement$7 = (array, flags, name, decorators, target, extra) => {
|
|
1727
|
+
var fn, it, done, ctx, access, k = flags & 7, s = !!(flags & 8), p = !!(flags & 16);
|
|
1728
|
+
var j = k > 3 ? array.length + 1 : k ? s ? 1 : 2 : 0, key = __decoratorStrings$7[k + 5];
|
|
1729
|
+
var initializers = k > 3 && (array[j - 1] = []), extraInitializers = array[j] || (array[j] = []);
|
|
1730
|
+
var desc = k && (!p && !s && (target = target.prototype), k < 5 && (k > 3 || !p) && __getOwnPropDesc$7(k < 4 ? target : { get [name]() {
|
|
1731
|
+
return __privateGet$7(this, extra);
|
|
1732
|
+
}, set [name](x) {
|
|
1733
|
+
return __privateSet$7(this, extra, x);
|
|
1734
|
+
} }, name));
|
|
1735
|
+
k ? p && k < 4 && __name$7(extra, (k > 2 ? "set " : k > 1 ? "get " : "") + name) : __name$7(target, name);
|
|
1736
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
1737
|
+
ctx = __decoratorContext$7(k, name, done = {}, array[3], extraInitializers);
|
|
1738
|
+
if (k) {
|
|
1739
|
+
ctx.static = s, ctx.private = p, access = ctx.access = { has: p ? (x) => __privateIn$7(target, x) : (x) => name in x };
|
|
1740
|
+
if (k ^ 3) access.get = p ? (x) => (k ^ 1 ? __privateGet$7 : __privateMethod$7)(x, target, k ^ 4 ? extra : desc.get) : (x) => x[name];
|
|
1741
|
+
if (k > 2) access.set = p ? (x, y) => __privateSet$7(x, target, y, k ^ 4 ? extra : desc.set) : (x, y) => x[name] = y;
|
|
1742
|
+
}
|
|
1743
|
+
it = (0, decorators[i])(k ? k < 4 ? p ? extra : desc[key] : k > 4 ? void 0 : { get: desc.get, set: desc.set } : target, ctx), done._ = 1;
|
|
1744
|
+
if (k ^ 4 || it === void 0) __expectFn$7(it) && (k > 4 ? initializers.unshift(it) : k ? p ? extra = it : desc[key] = it : target = it);
|
|
1745
|
+
else if (typeof it !== "object" || it === null) __typeError$7("Object expected");
|
|
1746
|
+
else __expectFn$7(fn = it.get) && (desc.get = fn), __expectFn$7(fn = it.set) && (desc.set = fn), __expectFn$7(fn = it.init) && initializers.unshift(fn);
|
|
1747
|
+
}
|
|
1748
|
+
return k || __decoratorMetadata$7(array, target), desc && __defProp$7(target, name, desc), p ? k ^ 4 ? extra : desc : target;
|
|
1749
|
+
};
|
|
1750
|
+
var __accessCheck$7 = (obj, member, msg) => member.has(obj) || __typeError$7("Cannot " + msg);
|
|
1751
|
+
var __privateIn$7 = (member, obj) => Object(obj) !== obj ? __typeError$7('Cannot use the "in" operator on this value') : member.has(obj);
|
|
1752
|
+
var __privateGet$7 = (obj, member, getter) => (__accessCheck$7(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
1753
|
+
var __privateAdd$7 = (obj, member, value) => member.has(obj) ? __typeError$7("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
1754
|
+
var __privateSet$7 = (obj, member, value, setter) => (__accessCheck$7(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
1755
|
+
var __privateMethod$7 = (obj, member, method) => (__accessCheck$7(obj, member, "access private method"), method);
|
|
1756
|
+
var _active_dec, _a$7, _ComboItem_decorators, _icon, _values, _labels, _init$7, _active;
|
|
1757
|
+
const tagName$4 = "GZM-COMBO-ITEM";
|
|
1758
|
+
const mutableAttributes$7 = ["active"];
|
|
1759
|
+
_ComboItem_decorators = [defineElement({ tagName: tagName$4, mutableAttributes: mutableAttributes$7 })];
|
|
1760
|
+
class ComboItem extends (_a$7 = ViewElement, _active_dec = [boolAttr], _a$7) {
|
|
1761
|
+
constructor() {
|
|
1762
|
+
super(...arguments);
|
|
1763
|
+
__privateAdd$7(this, _icon);
|
|
1764
|
+
__privateAdd$7(this, _values);
|
|
1765
|
+
__privateAdd$7(this, _labels);
|
|
1766
|
+
__privateAdd$7(this, _active, __runInitializers$7(_init$7, 8, this, false)), __runInitializers$7(_init$7, 11, this);
|
|
1767
|
+
}
|
|
1768
|
+
//#region 元素
|
|
1769
|
+
get $list() {
|
|
1770
|
+
const sr = this.getRootNode();
|
|
1771
|
+
return sr.host;
|
|
1772
|
+
}
|
|
1773
|
+
get multiple() {
|
|
1774
|
+
return this.$list.model?.listSource.multiple ?? false;
|
|
1775
|
+
}
|
|
1776
|
+
/**
|
|
1777
|
+
* 无论是单选还是多选,都只在选中 active 状态下才显示勾
|
|
1778
|
+
* 注意:这个只是 icon 的容器,且只有这个用 div,其他显示文本的都用 span。
|
|
1779
|
+
*/
|
|
1780
|
+
get $icon() {
|
|
1781
|
+
if (!__privateGet$7(this, _icon)) {
|
|
1782
|
+
__privateSet$7(this, _icon, document.createElement(iconTagName));
|
|
1783
|
+
this.prepend(__privateGet$7(this, _icon));
|
|
1784
|
+
}
|
|
1785
|
+
return __privateGet$7(this, _icon);
|
|
1786
|
+
}
|
|
1787
|
+
//#endregion
|
|
1788
|
+
//#region 属性
|
|
1789
|
+
set values(v) {
|
|
1790
|
+
const $va = __privateGet$7(this, _values) ?? __privateSet$7(this, _values, []);
|
|
1791
|
+
for (let i = 0; i < v.length; i++) {
|
|
1792
|
+
let $v = $va[i];
|
|
1793
|
+
if (!$v) {
|
|
1794
|
+
$v = $va[i] = document.createElement("span");
|
|
1795
|
+
if (i === 0) {
|
|
1796
|
+
this.$icon.after($v);
|
|
1797
|
+
} else {
|
|
1798
|
+
$va[i - 1].after($v);
|
|
1799
|
+
}
|
|
1800
|
+
}
|
|
1801
|
+
$v.textContent = v[i] ?? "";
|
|
1802
|
+
}
|
|
1803
|
+
while ($va.length > v.length) {
|
|
1804
|
+
$va.pop()?.remove();
|
|
1805
|
+
}
|
|
1806
|
+
}
|
|
1807
|
+
set labels(v) {
|
|
1808
|
+
const $la = __privateGet$7(this, _labels) ?? __privateSet$7(this, _labels, []);
|
|
1809
|
+
for (let i = 0; i < v.length; i++) {
|
|
1810
|
+
let $l = $la[i];
|
|
1811
|
+
if (!$l) {
|
|
1812
|
+
$l = $la[i] = document.createElement("span");
|
|
1813
|
+
this.append($l);
|
|
1814
|
+
}
|
|
1815
|
+
$l.textContent = v[i] ?? "";
|
|
1816
|
+
}
|
|
1817
|
+
while ($la.length > v.length) {
|
|
1818
|
+
$la.pop()?.remove();
|
|
1819
|
+
}
|
|
1820
|
+
}
|
|
1821
|
+
_active_set() {
|
|
1822
|
+
if (!this.active) {
|
|
1823
|
+
this.$icon.icon = void 0;
|
|
1824
|
+
return;
|
|
1825
|
+
}
|
|
1826
|
+
const name = this.multiple ? checkboxChecked : radioChecked;
|
|
1827
|
+
this.$icon.icon = name;
|
|
1828
|
+
}
|
|
1829
|
+
//#endregion
|
|
1830
|
+
}
|
|
1831
|
+
_init$7 = __decoratorStart$7(_a$7);
|
|
1832
|
+
_icon = /* @__PURE__ */ new WeakMap();
|
|
1833
|
+
_values = /* @__PURE__ */ new WeakMap();
|
|
1834
|
+
_labels = /* @__PURE__ */ new WeakMap();
|
|
1835
|
+
_active = /* @__PURE__ */ new WeakMap();
|
|
1836
|
+
__decorateElement$7(_init$7, 4, "active", _active_dec, ComboItem, _active);
|
|
1837
|
+
ComboItem = __decorateElement$7(_init$7, 0, "ComboItem", _ComboItem_decorators, ComboItem);
|
|
1838
|
+
__runInitializers$7(_init$7, 1, ComboItem);
|
|
1839
|
+
const radioChecked = "gzm-menu-item-radio-checked";
|
|
1840
|
+
const checkboxChecked = "gzm-menu-item-checkbox-checked";
|
|
1841
|
+
iconCache[checkboxChecked] = `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
|
1842
|
+
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
|
1843
|
+
<path d="M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.666c0 1.96 -1.537 3.56 -3.472 3.662l-.195 .005h-12.666a3.667 3.667 0 0 1 -3.662 -3.472l-.005 -.195v-12.666c0 -1.96 1.537 -3.56 3.472 -3.662l.195 -.005h12.666zm-2.626 7.293a1 1 0 0 0 -1.414 0l-3.293 3.292l-1.293 -1.292l-.094 -.083a1 1 0 0 0 -1.32 1.497l2 2l.094 .083a1 1 0 0 0 1.32 -.083l4 -4l.083 -.094a1 1 0 0 0 -.083 -1.32z" stroke-width="0" fill="currentColor"></path>
|
|
1844
|
+
</svg>`;
|
|
1845
|
+
iconCache[radioChecked] = `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
|
1846
|
+
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
|
1847
|
+
<path d="M17 3.34a10 10 0 1 1 -14.995 8.984l-.005 -.324l.005 -.324a10 10 0 0 1 14.995 -8.336zm-1.293 5.953a1 1 0 0 0 -1.32 -.083l-.094 .083l-3.293 3.292l-1.293 -1.292l-.094 -.083a1 1 0 0 0 -1.403 1.403l.083 .094l2 2l.094 .083a1 1 0 0 0 1.226 0l.094 -.083l4 -4l.083 -.094a1 1 0 0 0 -.083 -1.32z" stroke-width="0" fill="currentColor"></path>
|
|
1848
|
+
</svg>`;
|
|
1849
|
+
var __create$6 = Object.create;
|
|
1850
|
+
var __defProp$6 = Object.defineProperty;
|
|
1851
|
+
var __getOwnPropDesc$6 = Object.getOwnPropertyDescriptor;
|
|
1852
|
+
var __knownSymbol$6 = (name, symbol) => (symbol = Symbol[name]) ? symbol : /* @__PURE__ */ Symbol.for("Symbol." + name);
|
|
1853
|
+
var __typeError$6 = (msg) => {
|
|
1854
|
+
throw TypeError(msg);
|
|
1855
|
+
};
|
|
1856
|
+
var __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$6(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
1857
|
+
var __name$6 = (target, value) => __defProp$6(target, "name", { value, configurable: true });
|
|
1858
|
+
var __decoratorStart$6 = (base) => [, , , __create$6(base?.[__knownSymbol$6("metadata")] ?? null)];
|
|
1859
|
+
var __decoratorStrings$6 = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
|
|
1860
|
+
var __expectFn$6 = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError$6("Function expected") : fn;
|
|
1861
|
+
var __decoratorContext$6 = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings$6[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError$6("Already initialized") : fns.push(__expectFn$6(fn || null)) });
|
|
1862
|
+
var __decoratorMetadata$6 = (array, target) => __defNormalProp$6(target, __knownSymbol$6("metadata"), array[3]);
|
|
1863
|
+
var __runInitializers$6 = (array, flags, self, value) => {
|
|
1864
|
+
for (var i = 0, fns = array[flags >> 1], n = fns && fns.length; i < n; i++) flags & 1 ? fns[i].call(self) : value = fns[i].call(self, value);
|
|
1865
|
+
return value;
|
|
1866
|
+
};
|
|
1867
|
+
var __decorateElement$6 = (array, flags, name, decorators, target, extra) => {
|
|
1868
|
+
var fn, it, done, ctx, access, k = flags & 7, s = !!(flags & 8), p = !!(flags & 16);
|
|
1869
|
+
var j = k > 3 ? array.length + 1 : k ? s ? 1 : 2 : 0, key = __decoratorStrings$6[k + 5];
|
|
1870
|
+
var initializers = k > 3 && (array[j - 1] = []), extraInitializers = array[j] || (array[j] = []);
|
|
1871
|
+
var desc = k && (!p && !s && (target = target.prototype), k < 5 && (k > 3 || !p) && __getOwnPropDesc$6(k < 4 ? target : { get [name]() {
|
|
1872
|
+
return __privateGet$6(this, extra);
|
|
1873
|
+
}, set [name](x) {
|
|
1874
|
+
return __privateSet$6(this, extra, x);
|
|
1875
|
+
} }, name));
|
|
1876
|
+
k ? p && k < 4 && __name$6(extra, (k > 2 ? "set " : k > 1 ? "get " : "") + name) : __name$6(target, name);
|
|
1877
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
1878
|
+
ctx = __decoratorContext$6(k, name, done = {}, array[3], extraInitializers);
|
|
1879
|
+
if (k) {
|
|
1880
|
+
ctx.static = s, ctx.private = p, access = ctx.access = { has: p ? (x) => __privateIn$6(target, x) : (x) => name in x };
|
|
1881
|
+
if (k ^ 3) access.get = p ? (x) => (k ^ 1 ? __privateGet$6 : __privateMethod$6)(x, target, k ^ 4 ? extra : desc.get) : (x) => x[name];
|
|
1882
|
+
if (k > 2) access.set = p ? (x, y) => __privateSet$6(x, target, y, k ^ 4 ? extra : desc.set) : (x, y) => x[name] = y;
|
|
1883
|
+
}
|
|
1884
|
+
it = (0, decorators[i])(k ? k < 4 ? p ? extra : desc[key] : k > 4 ? void 0 : { get: desc.get, set: desc.set } : target, ctx), done._ = 1;
|
|
1885
|
+
if (k ^ 4 || it === void 0) __expectFn$6(it) && (k > 4 ? initializers.unshift(it) : k ? p ? extra = it : desc[key] = it : target = it);
|
|
1886
|
+
else if (typeof it !== "object" || it === null) __typeError$6("Object expected");
|
|
1887
|
+
else __expectFn$6(fn = it.get) && (desc.get = fn), __expectFn$6(fn = it.set) && (desc.set = fn), __expectFn$6(fn = it.init) && initializers.unshift(fn);
|
|
1888
|
+
}
|
|
1889
|
+
return k || __decoratorMetadata$6(array, target), desc && __defProp$6(target, name, desc), p ? k ^ 4 ? extra : desc : target;
|
|
1890
|
+
};
|
|
1891
|
+
var __publicField$5 = (obj, key, value) => __defNormalProp$6(obj, key + "", value);
|
|
1892
|
+
var __accessCheck$6 = (obj, member, msg) => member.has(obj) || __typeError$6("Cannot " + msg);
|
|
1893
|
+
var __privateIn$6 = (member, obj) => Object(obj) !== obj ? __typeError$6('Cannot use the "in" operator on this value') : member.has(obj);
|
|
1894
|
+
var __privateGet$6 = (obj, member, getter) => (__accessCheck$6(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
1895
|
+
var __privateAdd$6 = (obj, member, value) => member.has(obj) ? __typeError$6("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
1896
|
+
var __privateSet$6 = (obj, member, value, setter) => (__accessCheck$6(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
1897
|
+
var __privateMethod$6 = (obj, member, method) => (__accessCheck$6(obj, member, "access private method"), method);
|
|
1898
|
+
var _emptyTip_dec$3, _a$6, _ComboList_decorators, _onclick, _ComboList_instances, scrollIntoView_fn, _init$6, _emptyTip$3;
|
|
1899
|
+
const tagName$3 = "GZM-COMBO-LIST";
|
|
1900
|
+
const styleSheet$3 = createStyleSheet({
|
|
1901
|
+
":host": `
|
|
1902
|
+
overflow: hidden;
|
|
1903
|
+
max-height: 50vh; /* 只是限定最大高度,无法使 section 显示滚动条*/
|
|
1904
|
+
display: flex; /*利用 flex 限定 section 的高度,溢出显示滚动栏*/
|
|
1905
|
+
flex-direction: column;
|
|
1906
|
+
`,
|
|
1907
|
+
["section"]: `
|
|
1908
|
+
display: grid;
|
|
1909
|
+
overflow: auto;
|
|
1910
|
+
flex: auto;
|
|
1911
|
+
`,
|
|
1912
|
+
//无论是动态过滤,还是一个 item 子元素都没有,要显示一些告知操作员。
|
|
1913
|
+
//firefox 对 :host 支持不好。如果写成 :host > section::after,则 firefox 不显示内容。
|
|
1914
|
+
"section::after": `
|
|
1915
|
+
content: attr(empty-tip, "---EMPTY---");
|
|
1916
|
+
`,
|
|
1917
|
+
[`section:has(${tagName$4}:not([hidden]))::after`]: `
|
|
1918
|
+
content: "";
|
|
1919
|
+
display: none;
|
|
1920
|
+
`,
|
|
1921
|
+
//item
|
|
1922
|
+
[tagName$4]: `
|
|
1923
|
+
cursor: pointer;
|
|
1924
|
+
display: contents;
|
|
1925
|
+
`,
|
|
1926
|
+
[`${tagName$4}>*`]: `
|
|
1927
|
+
border:1px solid transparent;
|
|
1928
|
+
padding-inline: 0.5rem;
|
|
1929
|
+
`,
|
|
1930
|
+
[`${tagName$4}>*:not(:last-child)`]: `
|
|
1931
|
+
border-right:0;
|
|
1932
|
+
`,
|
|
1933
|
+
[`${tagName$4}>*:not(:first-child)`]: `
|
|
1934
|
+
border-left:0;
|
|
1935
|
+
`,
|
|
1936
|
+
[`${tagName$4}:active>*, ${tagName$4}[active]>*`]: {
|
|
1937
|
+
color: "var(--gzm-a-btn-txt-color)",
|
|
1938
|
+
background: "var(--gzm-a-btn-background)",
|
|
1939
|
+
border: "var(--gzm-a-btn-border)"
|
|
1940
|
+
},
|
|
1941
|
+
[`${tagName$4}:hover>*`]: {
|
|
1942
|
+
background: "var(--gzm-h-btn-background)",
|
|
1943
|
+
border: "var(--gzm-h-btn-border)",
|
|
1944
|
+
color: "var(--gzm-h-btn-txt-color)"
|
|
1945
|
+
}
|
|
1946
|
+
});
|
|
1947
|
+
const mutableAttributes$6 = ["empty-tip"];
|
|
1948
|
+
const copyAttributes$3 = {
|
|
1949
|
+
"empty-tip": "$section"
|
|
1950
|
+
};
|
|
1951
|
+
_ComboList_decorators = [defineElement({ tagName: tagName$3, mutableAttributes: mutableAttributes$6, copyAttributes: copyAttributes$3 })];
|
|
1952
|
+
class ComboList extends (_a$6 = ViewListElement, _emptyTip_dec$3 = [strAttr], _a$6) {
|
|
1953
|
+
constructor() {
|
|
1954
|
+
super();
|
|
1955
|
+
__privateAdd$6(this, _ComboList_instances);
|
|
1956
|
+
__privateAdd$6(this, _onclick, (e) => {
|
|
1957
|
+
const $t = e.target;
|
|
1958
|
+
const $item = $t.closest(tagName$4);
|
|
1959
|
+
if (!$item) return;
|
|
1960
|
+
const data = $item.model?.data;
|
|
1961
|
+
if (!data) return;
|
|
1962
|
+
const ls = this.model?.listSource;
|
|
1963
|
+
if (!ls) return;
|
|
1964
|
+
const a = !$item.active;
|
|
1965
|
+
const s = this.model.activeItems;
|
|
1966
|
+
if (ls.multiple) {
|
|
1967
|
+
if (a) {
|
|
1968
|
+
s.add(data);
|
|
1969
|
+
} else {
|
|
1970
|
+
s.delete(data);
|
|
1971
|
+
}
|
|
1972
|
+
$item.setModelProperty("active", a);
|
|
1973
|
+
} else {
|
|
1974
|
+
this.$viewItems.filter(($i) => $i.active).forEach(($i) => $i.setModelProperty("active", false));
|
|
1975
|
+
s.clear();
|
|
1976
|
+
if (a) {
|
|
1977
|
+
s.add(data);
|
|
1978
|
+
$item.setModelProperty("active", true);
|
|
1979
|
+
}
|
|
1980
|
+
}
|
|
1981
|
+
this.model?.activeItemsChanged?.(s);
|
|
1982
|
+
});
|
|
1983
|
+
__publicField$5(this, "$section", document.createElement("section"));
|
|
1984
|
+
__privateAdd$6(this, _emptyTip$3, __runInitializers$6(_init$6, 8, this)), __runInitializers$6(_init$6, 11, this);
|
|
1985
|
+
const sr = this.attachShadow({ mode: "open" });
|
|
1986
|
+
sr.adoptedStyleSheets = [baseStyle, styleSheet$3];
|
|
1987
|
+
sr.appendChild(this.$section);
|
|
1988
|
+
this.$section.onclick = __privateGet$6(this, _onclick);
|
|
1989
|
+
}
|
|
1990
|
+
//#region ViewListElement
|
|
1991
|
+
_getViewItemTagName() {
|
|
1992
|
+
return tagName$4;
|
|
1993
|
+
}
|
|
1994
|
+
get $viewItemsContainer() {
|
|
1995
|
+
return this.$section;
|
|
1996
|
+
}
|
|
1997
|
+
//#endregion
|
|
1998
|
+
//#region 属性
|
|
1999
|
+
set listSource(l) {
|
|
2000
|
+
if (!l) {
|
|
2001
|
+
this.setModelProperty("modelList", []);
|
|
2002
|
+
return;
|
|
2003
|
+
}
|
|
2004
|
+
const items = l.getStrArray();
|
|
2005
|
+
this.setModelProperty("modelList", items);
|
|
2006
|
+
const str = new Array(l.valueMember.length + l.labelMember.length + 1).fill("auto").join(" ");
|
|
2007
|
+
this.$section.style.gridTemplateColumns = str;
|
|
2008
|
+
}
|
|
2009
|
+
set activeItems(items) {
|
|
2010
|
+
if (!items) {
|
|
2011
|
+
return;
|
|
2012
|
+
}
|
|
2013
|
+
const $items = this.$viewItems;
|
|
2014
|
+
let $lastItem = null;
|
|
2015
|
+
for (const $item of $items) {
|
|
2016
|
+
const active = items.has($item.model.data);
|
|
2017
|
+
$item.setModelProperty("active", active);
|
|
2018
|
+
if (active) {
|
|
2019
|
+
$lastItem = $item;
|
|
2020
|
+
}
|
|
2021
|
+
}
|
|
2022
|
+
if ($lastItem?.isConnected) {
|
|
2023
|
+
__privateMethod$6(this, _ComboList_instances, scrollIntoView_fn).call(this, $lastItem);
|
|
2024
|
+
}
|
|
2025
|
+
}
|
|
2026
|
+
//#endregion
|
|
2027
|
+
}
|
|
2028
|
+
_init$6 = __decoratorStart$6(_a$6);
|
|
2029
|
+
_onclick = /* @__PURE__ */ new WeakMap();
|
|
2030
|
+
_ComboList_instances = /* @__PURE__ */ new WeakSet();
|
|
2031
|
+
scrollIntoView_fn = function($item) {
|
|
2032
|
+
const $s = this.$section;
|
|
2033
|
+
if ($s.offsetHeight >= $s.scrollHeight) {
|
|
2034
|
+
return;
|
|
2035
|
+
}
|
|
2036
|
+
const $icon = $item.$icon;
|
|
2037
|
+
if ($icon.offsetParent !== $s.offsetParent) {
|
|
2038
|
+
return;
|
|
2039
|
+
}
|
|
2040
|
+
const iconPos = $icon.offsetTop + $icon.offsetHeight;
|
|
2041
|
+
const diff = iconPos - $s.scrollTop - $s.offsetTop - $s.clientHeight;
|
|
2042
|
+
if (diff > 0) {
|
|
2043
|
+
$s.scrollTo(0, $s.scrollTop + diff);
|
|
2044
|
+
}
|
|
2045
|
+
};
|
|
2046
|
+
_emptyTip$3 = /* @__PURE__ */ new WeakMap();
|
|
2047
|
+
__decorateElement$6(_init$6, 4, "emptyTip", _emptyTip_dec$3, ComboList, _emptyTip$3);
|
|
2048
|
+
ComboList = __decorateElement$6(_init$6, 0, "ComboList", _ComboList_decorators, ComboList);
|
|
2049
|
+
__runInitializers$6(_init$6, 1, ComboList);
|
|
2050
|
+
var __create$5 = Object.create;
|
|
2051
|
+
var __defProp$5 = Object.defineProperty;
|
|
2052
|
+
var __getOwnPropDesc$5 = Object.getOwnPropertyDescriptor;
|
|
2053
|
+
var __knownSymbol$5 = (name, symbol) => (symbol = Symbol[name]) ? symbol : /* @__PURE__ */ Symbol.for("Symbol." + name);
|
|
2054
|
+
var __typeError$5 = (msg) => {
|
|
2055
|
+
throw TypeError(msg);
|
|
2056
|
+
};
|
|
2057
|
+
var __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
2058
|
+
var __name$5 = (target, value) => __defProp$5(target, "name", { value, configurable: true });
|
|
2059
|
+
var __decoratorStart$5 = (base) => [, , , __create$5(base?.[__knownSymbol$5("metadata")] ?? null)];
|
|
2060
|
+
var __decoratorStrings$5 = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
|
|
2061
|
+
var __expectFn$5 = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError$5("Function expected") : fn;
|
|
2062
|
+
var __decoratorContext$5 = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings$5[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError$5("Already initialized") : fns.push(__expectFn$5(fn || null)) });
|
|
2063
|
+
var __decoratorMetadata$5 = (array, target) => __defNormalProp$5(target, __knownSymbol$5("metadata"), array[3]);
|
|
2064
|
+
var __runInitializers$5 = (array, flags, self, value) => {
|
|
2065
|
+
for (var i = 0, fns = array[flags >> 1], n = fns && fns.length; i < n; i++) flags & 1 ? fns[i].call(self) : value = fns[i].call(self, value);
|
|
2066
|
+
return value;
|
|
2067
|
+
};
|
|
2068
|
+
var __decorateElement$5 = (array, flags, name, decorators, target, extra) => {
|
|
2069
|
+
var fn, it, done, ctx, access, k = flags & 7, s = !!(flags & 8), p = !!(flags & 16);
|
|
2070
|
+
var j = k > 3 ? array.length + 1 : k ? s ? 1 : 2 : 0, key = __decoratorStrings$5[k + 5];
|
|
2071
|
+
var initializers = k > 3 && (array[j - 1] = []), extraInitializers = array[j] || (array[j] = []);
|
|
2072
|
+
var desc = k && (!p && !s && (target = target.prototype), k < 5 && (k > 3 || !p) && __getOwnPropDesc$5(k < 4 ? target : { get [name]() {
|
|
2073
|
+
return __privateGet$5(this, extra);
|
|
2074
|
+
}, set [name](x) {
|
|
2075
|
+
return __privateSet$5(this, extra, x);
|
|
2076
|
+
} }, name));
|
|
2077
|
+
k ? p && k < 4 && __name$5(extra, (k > 2 ? "set " : k > 1 ? "get " : "") + name) : __name$5(target, name);
|
|
2078
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
2079
|
+
ctx = __decoratorContext$5(k, name, done = {}, array[3], extraInitializers);
|
|
2080
|
+
if (k) {
|
|
2081
|
+
ctx.static = s, ctx.private = p, access = ctx.access = { has: p ? (x) => __privateIn$5(target, x) : (x) => name in x };
|
|
2082
|
+
if (k ^ 3) access.get = p ? (x) => (k ^ 1 ? __privateGet$5 : __privateMethod$5)(x, target, k ^ 4 ? extra : desc.get) : (x) => x[name];
|
|
2083
|
+
if (k > 2) access.set = p ? (x, y) => __privateSet$5(x, target, y, k ^ 4 ? extra : desc.set) : (x, y) => x[name] = y;
|
|
2084
|
+
}
|
|
2085
|
+
it = (0, decorators[i])(k ? k < 4 ? p ? extra : desc[key] : k > 4 ? void 0 : { get: desc.get, set: desc.set } : target, ctx), done._ = 1;
|
|
2086
|
+
if (k ^ 4 || it === void 0) __expectFn$5(it) && (k > 4 ? initializers.unshift(it) : k ? p ? extra = it : desc[key] = it : target = it);
|
|
2087
|
+
else if (typeof it !== "object" || it === null) __typeError$5("Object expected");
|
|
2088
|
+
else __expectFn$5(fn = it.get) && (desc.get = fn), __expectFn$5(fn = it.set) && (desc.set = fn), __expectFn$5(fn = it.init) && initializers.unshift(fn);
|
|
2089
|
+
}
|
|
2090
|
+
return k || __decoratorMetadata$5(array, target), desc && __defProp$5(target, name, desc), p ? k ^ 4 ? extra : desc : target;
|
|
2091
|
+
};
|
|
2092
|
+
var __publicField$4 = (obj, key, value) => __defNormalProp$5(obj, key + "", value);
|
|
2093
|
+
var __accessCheck$5 = (obj, member, msg) => member.has(obj) || __typeError$5("Cannot " + msg);
|
|
2094
|
+
var __privateIn$5 = (member, obj) => Object(obj) !== obj ? __typeError$5('Cannot use the "in" operator on this value') : member.has(obj);
|
|
2095
|
+
var __privateGet$5 = (obj, member, getter) => (__accessCheck$5(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
2096
|
+
var __privateAdd$5 = (obj, member, value) => member.has(obj) ? __typeError$5("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
2097
|
+
var __privateSet$5 = (obj, member, value, setter) => (__accessCheck$5(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
2098
|
+
var __privateMethod$5 = (obj, member, method) => (__accessCheck$5(obj, member, "access private method"), method);
|
|
2099
|
+
var _emptyTip_dec$2, _multipleDelimiter_dec, _a$5, _ComboInput_decorators, _ComboInput_instances, filterItems_fn, checkTxt_fn, showList_fn, _currentList, _init$5, _multipleDelimiter, _emptyTip$2;
|
|
2100
|
+
const tagName$2 = "GZM-INPUT-COMBO";
|
|
2101
|
+
const mutableAttributes$5 = ["name", "required", "multiple-delimiter"];
|
|
2102
|
+
const copyAttributes$2 = inputCopyAttributes;
|
|
2103
|
+
_ComboInput_decorators = [defineElement({ tagName: tagName$2, mutableAttributes: mutableAttributes$5, copyAttributes: copyAttributes$2 })];
|
|
2104
|
+
class ComboInput extends (_a$5 = InputBase, _multipleDelimiter_dec = [strAttr], _emptyTip_dec$2 = [strAttr], _a$5) {
|
|
2105
|
+
constructor() {
|
|
2106
|
+
super(...arguments);
|
|
2107
|
+
__privateAdd$5(this, _ComboInput_instances);
|
|
2108
|
+
__privateAdd$5(this, _currentList);
|
|
2109
|
+
__privateAdd$5(this, _multipleDelimiter, __runInitializers$5(_init$5, 8, this, " | ")), __runInitializers$5(_init$5, 11, this);
|
|
2110
|
+
__privateAdd$5(this, _emptyTip$2, __runInitializers$5(_init$5, 12, this)), __runInitializers$5(_init$5, 15, this);
|
|
2111
|
+
}
|
|
2112
|
+
_createInput() {
|
|
2113
|
+
const $ipt = document.createElement("input");
|
|
2114
|
+
$ipt.className = "ipt";
|
|
2115
|
+
$ipt.type = "text";
|
|
2116
|
+
$ipt.oninput = () => __privateMethod$5(this, _ComboInput_instances, filterItems_fn).call(this);
|
|
2117
|
+
$ipt.onchange = () => __privateMethod$5(this, _ComboInput_instances, checkTxt_fn).call(this);
|
|
2118
|
+
const $btn = createTxtBtn("⋮");
|
|
2119
|
+
$btn.onclick = () => {
|
|
2120
|
+
if (!this.disabled) {
|
|
2121
|
+
__privateMethod$5(this, _ComboInput_instances, showList_fn).call(this);
|
|
2122
|
+
}
|
|
2123
|
+
};
|
|
2124
|
+
const $div = document.createElement("div");
|
|
2125
|
+
$div.style.display = "flex";
|
|
2126
|
+
$div.append($ipt, $btn);
|
|
2127
|
+
const $lbl = document.createElement("label");
|
|
2128
|
+
$lbl.appendChild($div);
|
|
2129
|
+
const sr = this.attachShadow({ mode: "open" });
|
|
2130
|
+
sr.adoptedStyleSheets = [baseStyle, utilityStyle, iptStyle];
|
|
2131
|
+
sr.append($lbl);
|
|
2132
|
+
return $ipt;
|
|
2133
|
+
}
|
|
2134
|
+
_showValue($ipt = this.$ipt) {
|
|
2135
|
+
const nv = this.listSource?.getListDisplay(this.dsValue).toString(this) ?? "";
|
|
2136
|
+
if ($ipt.value === nv) return;
|
|
2137
|
+
$ipt.value = nv;
|
|
2138
|
+
this._setValidity($ipt);
|
|
2139
|
+
}
|
|
2140
|
+
get $currentList() {
|
|
2141
|
+
return __privateGet$5(this, _currentList)?.deref();
|
|
2142
|
+
}
|
|
2143
|
+
_multiple_delimiter_set() {
|
|
2144
|
+
this._showValue();
|
|
2145
|
+
}
|
|
2146
|
+
//#endregion
|
|
2147
|
+
}
|
|
2148
|
+
_init$5 = __decoratorStart$5(_a$5);
|
|
2149
|
+
_ComboInput_instances = /* @__PURE__ */ new WeakSet();
|
|
2150
|
+
filterItems_fn = function() {
|
|
2151
|
+
const $list = this.$currentList ?? __privateMethod$5(this, _ComboInput_instances, showList_fn).call(this);
|
|
2152
|
+
if ($list) {
|
|
2153
|
+
const txt = this.$ipt.value;
|
|
2154
|
+
$list.$viewItems.forEach(($i) => $i.setModelProperty("hidden", !$i.innerText.includes(txt)));
|
|
2155
|
+
}
|
|
2156
|
+
};
|
|
2157
|
+
checkTxt_fn = function($ipt = this.$ipt) {
|
|
2158
|
+
const txt = $ipt.value;
|
|
2159
|
+
const ls = this.listSource;
|
|
2160
|
+
if (!txt || !ls) {
|
|
2161
|
+
this.dataValue = void 0;
|
|
2162
|
+
$ipt.value = "";
|
|
2163
|
+
this._setValidity($ipt);
|
|
2164
|
+
return;
|
|
2165
|
+
}
|
|
2166
|
+
if (txt === ls.getListDisplay(this.dsValue).toString(this)) {
|
|
2167
|
+
return;
|
|
2168
|
+
}
|
|
2169
|
+
if (ls.multiple) {
|
|
2170
|
+
const sa = txt.split(this.multipleDelimiter);
|
|
2171
|
+
const oa = ls.findMultiple(sa);
|
|
2172
|
+
if (oa.length === 0) {
|
|
2173
|
+
this.dataValue = void 0;
|
|
2174
|
+
} else {
|
|
2175
|
+
this._setActiveItem(...oa);
|
|
2176
|
+
}
|
|
2177
|
+
} else {
|
|
2178
|
+
const o = ls.find(txt);
|
|
2179
|
+
if (o) {
|
|
2180
|
+
this._setActiveItem(o);
|
|
2181
|
+
} else {
|
|
2182
|
+
this.dataValue = void 0;
|
|
2183
|
+
}
|
|
2184
|
+
}
|
|
2185
|
+
this._showValue();
|
|
2186
|
+
};
|
|
2187
|
+
showList_fn = function(ls = this.listSource) {
|
|
2188
|
+
this.$currentList?.remove();
|
|
2189
|
+
__privateSet$5(this, _currentList, void 0);
|
|
2190
|
+
if (!ls) {
|
|
2191
|
+
return;
|
|
2192
|
+
}
|
|
2193
|
+
const $list = document.createElement(tagName$3);
|
|
2194
|
+
$list.setAttribute("popover", "auto");
|
|
2195
|
+
$list.className = "gzm-frame";
|
|
2196
|
+
$list.ontoggle = (e) => {
|
|
2197
|
+
if (e.newState === "closed") {
|
|
2198
|
+
$list.remove();
|
|
2199
|
+
__privateSet$5(this, _currentList, void 0);
|
|
2200
|
+
}
|
|
2201
|
+
};
|
|
2202
|
+
$list.model = {
|
|
2203
|
+
modelList: [],
|
|
2204
|
+
listSource: ls,
|
|
2205
|
+
activeItems: new Set(ls.getListItems(this.dsValue)),
|
|
2206
|
+
emptyTip: this.emptyTip,
|
|
2207
|
+
activeItemsChanged: (activeItems) => {
|
|
2208
|
+
this._setActiveItem(...activeItems);
|
|
2209
|
+
this._showValue();
|
|
2210
|
+
if (!ls.multiple) {
|
|
2211
|
+
$list.remove();
|
|
2212
|
+
__privateSet$5(this, _currentList, void 0);
|
|
2213
|
+
}
|
|
2214
|
+
}
|
|
2215
|
+
};
|
|
2216
|
+
__privateSet$5(this, _currentList, new WeakRef($list));
|
|
2217
|
+
new CornerHelper($list, xy.rightTop, this, xy.rightBottom).pos();
|
|
2218
|
+
return $list;
|
|
2219
|
+
};
|
|
2220
|
+
_currentList = /* @__PURE__ */ new WeakMap();
|
|
2221
|
+
_multipleDelimiter = /* @__PURE__ */ new WeakMap();
|
|
2222
|
+
_emptyTip$2 = /* @__PURE__ */ new WeakMap();
|
|
2223
|
+
__decorateElement$5(_init$5, 4, "multipleDelimiter", _multipleDelimiter_dec, ComboInput, _multipleDelimiter);
|
|
2224
|
+
__decorateElement$5(_init$5, 4, "emptyTip", _emptyTip_dec$2, ComboInput, _emptyTip$2);
|
|
2225
|
+
ComboInput = __decorateElement$5(_init$5, 0, "ComboInput", _ComboInput_decorators, ComboInput);
|
|
2226
|
+
__publicField$4(ComboInput, "formAssociated", true);
|
|
2227
|
+
__runInitializers$5(_init$5, 1, ComboInput);
|
|
2228
|
+
var __create$4 = Object.create;
|
|
2229
|
+
var __defProp$4 = Object.defineProperty;
|
|
2230
|
+
var __getOwnPropDesc$4 = Object.getOwnPropertyDescriptor;
|
|
2231
|
+
var __knownSymbol$4 = (name, symbol) => (symbol = Symbol[name]) ? symbol : /* @__PURE__ */ Symbol.for("Symbol." + name);
|
|
2232
|
+
var __typeError$4 = (msg) => {
|
|
2233
|
+
throw TypeError(msg);
|
|
2234
|
+
};
|
|
2235
|
+
var __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$4(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
2236
|
+
var __name$4 = (target, value) => __defProp$4(target, "name", { value, configurable: true });
|
|
2237
|
+
var __decoratorStart$4 = (base) => [, , , __create$4(base?.[__knownSymbol$4("metadata")] ?? null)];
|
|
2238
|
+
var __decoratorStrings$4 = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
|
|
2239
|
+
var __expectFn$4 = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError$4("Function expected") : fn;
|
|
2240
|
+
var __decoratorContext$4 = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings$4[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError$4("Already initialized") : fns.push(__expectFn$4(fn || null)) });
|
|
2241
|
+
var __decoratorMetadata$4 = (array, target) => __defNormalProp$4(target, __knownSymbol$4("metadata"), array[3]);
|
|
2242
|
+
var __runInitializers$4 = (array, flags, self, value) => {
|
|
2243
|
+
for (var i = 0, fns = array[flags >> 1], n = fns && fns.length; i < n; i++) flags & 1 ? fns[i].call(self) : value = fns[i].call(self, value);
|
|
2244
|
+
return value;
|
|
2245
|
+
};
|
|
2246
|
+
var __decorateElement$4 = (array, flags, name, decorators, target, extra) => {
|
|
2247
|
+
var fn, it, done, ctx, access, k = flags & 7, s = !!(flags & 8), p = !!(flags & 16);
|
|
2248
|
+
var j = k > 3 ? array.length + 1 : k ? s ? 1 : 2 : 0, key = __decoratorStrings$4[k + 5];
|
|
2249
|
+
var initializers = k > 3 && (array[j - 1] = []), extraInitializers = array[j] || (array[j] = []);
|
|
2250
|
+
var desc = k && (!p && !s && (target = target.prototype), k < 5 && (k > 3 || !p) && __getOwnPropDesc$4(k < 4 ? target : { get [name]() {
|
|
2251
|
+
return __privateGet$4(this, extra);
|
|
2252
|
+
}, set [name](x) {
|
|
2253
|
+
return __privateSet$4(this, extra, x);
|
|
2254
|
+
} }, name));
|
|
2255
|
+
k ? p && k < 4 && __name$4(extra, (k > 2 ? "set " : k > 1 ? "get " : "") + name) : __name$4(target, name);
|
|
2256
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
2257
|
+
ctx = __decoratorContext$4(k, name, done = {}, array[3], extraInitializers);
|
|
2258
|
+
if (k) {
|
|
2259
|
+
ctx.static = s, ctx.private = p, access = ctx.access = { has: p ? (x) => __privateIn$4(target, x) : (x) => name in x };
|
|
2260
|
+
if (k ^ 3) access.get = p ? (x) => (k ^ 1 ? __privateGet$4 : __privateMethod$4)(x, target, k ^ 4 ? extra : desc.get) : (x) => x[name];
|
|
2261
|
+
if (k > 2) access.set = p ? (x, y) => __privateSet$4(x, target, y, k ^ 4 ? extra : desc.set) : (x, y) => x[name] = y;
|
|
2262
|
+
}
|
|
2263
|
+
it = (0, decorators[i])(k ? k < 4 ? p ? extra : desc[key] : k > 4 ? void 0 : { get: desc.get, set: desc.set } : target, ctx), done._ = 1;
|
|
2264
|
+
if (k ^ 4 || it === void 0) __expectFn$4(it) && (k > 4 ? initializers.unshift(it) : k ? p ? extra = it : desc[key] = it : target = it);
|
|
2265
|
+
else if (typeof it !== "object" || it === null) __typeError$4("Object expected");
|
|
2266
|
+
else __expectFn$4(fn = it.get) && (desc.get = fn), __expectFn$4(fn = it.set) && (desc.set = fn), __expectFn$4(fn = it.init) && initializers.unshift(fn);
|
|
2267
|
+
}
|
|
2268
|
+
return k || __decoratorMetadata$4(array, target), desc && __defProp$4(target, name, desc), p ? k ^ 4 ? extra : desc : target;
|
|
2269
|
+
};
|
|
2270
|
+
var __publicField$3 = (obj, key, value) => __defNormalProp$4(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
2271
|
+
var __accessCheck$4 = (obj, member, msg) => member.has(obj) || __typeError$4("Cannot " + msg);
|
|
2272
|
+
var __privateIn$4 = (member, obj) => Object(obj) !== obj ? __typeError$4('Cannot use the "in" operator on this value') : member.has(obj);
|
|
2273
|
+
var __privateGet$4 = (obj, member, getter) => (__accessCheck$4(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
2274
|
+
var __privateAdd$4 = (obj, member, value) => member.has(obj) ? __typeError$4("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
2275
|
+
var __privateSet$4 = (obj, member, value, setter) => (__accessCheck$4(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
2276
|
+
var __privateMethod$4 = (obj, member, method) => (__accessCheck$4(obj, member, "access private method"), method);
|
|
2277
|
+
var _emptyTip_dec$1, _a$4, _CheckList_decorators, _init$4, _emptyTip$1;
|
|
2278
|
+
const tagName$1 = "GZM-CHECK-LIST";
|
|
2279
|
+
const styleSheet$2 = createStyleSheet({
|
|
2280
|
+
":host": `
|
|
2281
|
+
display: inline-flex;
|
|
2282
|
+
flex-direction: column-reverse;
|
|
2283
|
+
`,
|
|
2284
|
+
[tagName$3]: `
|
|
2285
|
+
flex: auto;
|
|
2286
|
+
background-color: transparent;
|
|
2287
|
+
outline-width: 0px;
|
|
2288
|
+
border-radius: 0.375rem;
|
|
2289
|
+
padding: 0.25rem;
|
|
2290
|
+
`,
|
|
2291
|
+
//为了这里 + 即相邻的兄弟元素,布局方向为 column-reverse。
|
|
2292
|
+
[`label:has(input:invalid) + ${tagName$3}`]: `
|
|
2293
|
+
outline-style: dashed;
|
|
2294
|
+
outline-width: 2px;
|
|
2295
|
+
outline-color: var(--gzm-error-txt-color);
|
|
2296
|
+
`,
|
|
2297
|
+
[`label:has(input:invalid)::after`]: `
|
|
2298
|
+
content: attr(validation-message);
|
|
2299
|
+
font-size: 0.75rem;
|
|
2300
|
+
padding: 0.125rem;
|
|
2301
|
+
color: var(--gzm-error-txt-color);
|
|
2302
|
+
`
|
|
2303
|
+
});
|
|
2304
|
+
const mutableAttributes$4 = ["name", "required", "empty-tip"];
|
|
2305
|
+
const copyAttributes$1 = Object.assign({
|
|
2306
|
+
"empty-tip": "$list"
|
|
2307
|
+
}, inputCopyAttributes);
|
|
2308
|
+
_CheckList_decorators = [defineElement({ tagName: tagName$1, mutableAttributes: mutableAttributes$4, copyAttributes: copyAttributes$1 })];
|
|
2309
|
+
class CheckList extends (_a$4 = InputBase, _emptyTip_dec$1 = [strAttr], _a$4) {
|
|
2310
|
+
constructor() {
|
|
2311
|
+
super();
|
|
2312
|
+
__publicField$3(this, "$list");
|
|
2313
|
+
__privateAdd$4(this, _emptyTip$1, __runInitializers$4(_init$4, 8, this)), __runInitializers$4(_init$4, 11, this);
|
|
2314
|
+
this.$list = document.createElement(tagName$3);
|
|
2315
|
+
this.shadowRoot.append(this.$list);
|
|
2316
|
+
}
|
|
2317
|
+
_createInput() {
|
|
2318
|
+
const $ipt = document.createElement("input");
|
|
2319
|
+
$ipt.hidden = true;
|
|
2320
|
+
$ipt.title = "for :invalid only";
|
|
2321
|
+
const $lbl = document.createElement("label");
|
|
2322
|
+
$lbl.appendChild($ipt);
|
|
2323
|
+
const sr = this.attachShadow({ mode: "open" });
|
|
2324
|
+
sr.adoptedStyleSheets = [baseStyle, styleSheet$2];
|
|
2325
|
+
sr.append($lbl);
|
|
2326
|
+
return $ipt;
|
|
2327
|
+
}
|
|
2328
|
+
_showValue() {
|
|
2329
|
+
const $l = this.$list;
|
|
2330
|
+
const ls = this.listSource;
|
|
2331
|
+
if (!ls) {
|
|
2332
|
+
$l.model = void 0;
|
|
2333
|
+
return;
|
|
2334
|
+
}
|
|
2335
|
+
const activeItems = new Set(ls.getListItems(this.dsValue));
|
|
2336
|
+
if (!$l.model) {
|
|
2337
|
+
$l.model = {
|
|
2338
|
+
modelList: [],
|
|
2339
|
+
listSource: ls,
|
|
2340
|
+
activeItems,
|
|
2341
|
+
activeItemsChanged: (activeItems2) => {
|
|
2342
|
+
this._setActiveItem(...activeItems2);
|
|
2343
|
+
}
|
|
2344
|
+
};
|
|
2345
|
+
} else {
|
|
2346
|
+
$l.setModelProperty("listSource", ls);
|
|
2347
|
+
$l.setModelProperty("activeItems", activeItems);
|
|
2348
|
+
}
|
|
2349
|
+
}
|
|
2350
|
+
//#endregion
|
|
2351
|
+
}
|
|
2352
|
+
_init$4 = __decoratorStart$4(_a$4);
|
|
2353
|
+
_emptyTip$1 = /* @__PURE__ */ new WeakMap();
|
|
2354
|
+
__decorateElement$4(_init$4, 4, "emptyTip", _emptyTip_dec$1, CheckList, _emptyTip$1);
|
|
2355
|
+
CheckList = __decorateElement$4(_init$4, 0, "CheckList", _CheckList_decorators, CheckList);
|
|
2356
|
+
__publicField$3(CheckList, "formAssociated", true);
|
|
2357
|
+
__runInitializers$4(_init$4, 1, CheckList);
|
|
2358
|
+
var __create$3 = Object.create;
|
|
2359
|
+
var __defProp$3 = Object.defineProperty;
|
|
2360
|
+
var __getOwnPropDesc$3 = Object.getOwnPropertyDescriptor;
|
|
2361
|
+
var __knownSymbol$3 = (name, symbol) => (symbol = Symbol[name]) ? symbol : /* @__PURE__ */ Symbol.for("Symbol." + name);
|
|
2362
|
+
var __typeError$3 = (msg) => {
|
|
2363
|
+
throw TypeError(msg);
|
|
2364
|
+
};
|
|
2365
|
+
var __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
2366
|
+
var __name$3 = (target, value) => __defProp$3(target, "name", { value, configurable: true });
|
|
2367
|
+
var __decoratorStart$3 = (base) => [, , , __create$3(base?.[__knownSymbol$3("metadata")] ?? null)];
|
|
2368
|
+
var __decoratorStrings$3 = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
|
|
2369
|
+
var __expectFn$3 = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError$3("Function expected") : fn;
|
|
2370
|
+
var __decoratorContext$3 = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings$3[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError$3("Already initialized") : fns.push(__expectFn$3(fn || null)) });
|
|
2371
|
+
var __decoratorMetadata$3 = (array, target) => __defNormalProp$3(target, __knownSymbol$3("metadata"), array[3]);
|
|
2372
|
+
var __runInitializers$3 = (array, flags, self, value) => {
|
|
2373
|
+
for (var i = 0, fns = array[flags >> 1], n = fns && fns.length; i < n; i++) flags & 1 ? fns[i].call(self) : value = fns[i].call(self, value);
|
|
2374
|
+
return value;
|
|
2375
|
+
};
|
|
2376
|
+
var __decorateElement$3 = (array, flags, name, decorators, target, extra) => {
|
|
2377
|
+
var fn, it, done, ctx, access, k = flags & 7, s = !!(flags & 8), p = !!(flags & 16);
|
|
2378
|
+
var j = k > 3 ? array.length + 1 : k ? s ? 1 : 2 : 0, key = __decoratorStrings$3[k + 5];
|
|
2379
|
+
var initializers = k > 3 && (array[j - 1] = []), extraInitializers = array[j] || (array[j] = []);
|
|
2380
|
+
var desc = k && (!p && !s && (target = target.prototype), k < 5 && (k > 3 || !p) && __getOwnPropDesc$3(k < 4 ? target : { get [name]() {
|
|
2381
|
+
return __privateGet$3(this, extra);
|
|
2382
|
+
}, set [name](x) {
|
|
2383
|
+
return __privateSet$3(this, extra, x);
|
|
2384
|
+
} }, name));
|
|
2385
|
+
k ? p && k < 4 && __name$3(extra, (k > 2 ? "set " : k > 1 ? "get " : "") + name) : __name$3(target, name);
|
|
2386
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
2387
|
+
ctx = __decoratorContext$3(k, name, done = {}, array[3], extraInitializers);
|
|
2388
|
+
if (k) {
|
|
2389
|
+
ctx.static = s, ctx.private = p, access = ctx.access = { has: p ? (x) => __privateIn$3(target, x) : (x) => name in x };
|
|
2390
|
+
if (k ^ 3) access.get = p ? (x) => (k ^ 1 ? __privateGet$3 : __privateMethod$3)(x, target, k ^ 4 ? extra : desc.get) : (x) => x[name];
|
|
2391
|
+
if (k > 2) access.set = p ? (x, y) => __privateSet$3(x, target, y, k ^ 4 ? extra : desc.set) : (x, y) => x[name] = y;
|
|
2392
|
+
}
|
|
2393
|
+
it = (0, decorators[i])(k ? k < 4 ? p ? extra : desc[key] : k > 4 ? void 0 : { get: desc.get, set: desc.set } : target, ctx), done._ = 1;
|
|
2394
|
+
if (k ^ 4 || it === void 0) __expectFn$3(it) && (k > 4 ? initializers.unshift(it) : k ? p ? extra = it : desc[key] = it : target = it);
|
|
2395
|
+
else if (typeof it !== "object" || it === null) __typeError$3("Object expected");
|
|
2396
|
+
else __expectFn$3(fn = it.get) && (desc.get = fn), __expectFn$3(fn = it.set) && (desc.set = fn), __expectFn$3(fn = it.init) && initializers.unshift(fn);
|
|
2397
|
+
}
|
|
2398
|
+
return k || __decoratorMetadata$3(array, target), desc && __defProp$3(target, name, desc), p ? k ^ 4 ? extra : desc : target;
|
|
2399
|
+
};
|
|
2400
|
+
var __publicField$2 = (obj, key, value) => __defNormalProp$3(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
2401
|
+
var __accessCheck$3 = (obj, member, msg) => member.has(obj) || __typeError$3("Cannot " + msg);
|
|
2402
|
+
var __privateIn$3 = (member, obj) => Object(obj) !== obj ? __typeError$3('Cannot use the "in" operator on this value') : member.has(obj);
|
|
2403
|
+
var __privateGet$3 = (obj, member, getter) => (__accessCheck$3(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
2404
|
+
var __privateAdd$3 = (obj, member, value) => member.has(obj) ? __typeError$3("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
2405
|
+
var __privateSet$3 = (obj, member, value, setter) => (__accessCheck$3(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
2406
|
+
var __privateMethod$3 = (obj, member, method) => (__accessCheck$3(obj, member, "access private method"), method);
|
|
2407
|
+
var _emptyTip_dec, _a$3, _SearchList_decorators, _SearchList_instances, doSearch_fn, searchListSource_fn, afterSearch_fn, removeDuplicated_fn, equal_fn, showNoRecordInfo_fn, _init$3, _emptyTip;
|
|
2408
|
+
const zh = {
|
|
2409
|
+
qbPlaceholder: "输入文本,按回车搜索",
|
|
2410
|
+
noListSource: "无效的选择列表,无法搜索",
|
|
2411
|
+
noRecord: "未搜索到记录"
|
|
2412
|
+
};
|
|
2413
|
+
const texts = {
|
|
2414
|
+
zh
|
|
2415
|
+
};
|
|
2416
|
+
const tagName = "GZM-SEARCH-LIST";
|
|
2417
|
+
const styleSheet$1 = createStyleSheet({
|
|
2418
|
+
":host": `
|
|
2419
|
+
display: inline-flex;
|
|
2420
|
+
flex-direction: column-reverse;
|
|
2421
|
+
`,
|
|
2422
|
+
"input[type=search]": `
|
|
2423
|
+
min-width: 0px;
|
|
2424
|
+
outline-width: 0px;
|
|
2425
|
+
background-color: transparent;
|
|
2426
|
+
border-bottom: var(--gzm-btn-border);
|
|
2427
|
+
border-bottom-width: 2px;
|
|
2428
|
+
text-align: center;
|
|
2429
|
+
margin-inline: 0.5rem;
|
|
2430
|
+
margin-bottom: 0.25rem;
|
|
2431
|
+
`,
|
|
2432
|
+
//查询过程中的错误信息
|
|
2433
|
+
"input[type=search] ~ p": `
|
|
2434
|
+
text-align: center;
|
|
2435
|
+
color: var(--gzm-error-txt-color);
|
|
2436
|
+
font-size: 75%;
|
|
2437
|
+
`,
|
|
2438
|
+
[tagName$3]: `
|
|
2439
|
+
flex: auto;
|
|
2440
|
+
background-color: transparent;
|
|
2441
|
+
outline-width: 0px;
|
|
2442
|
+
border-radius: 0.375rem;
|
|
2443
|
+
padding: 0.25rem;
|
|
2444
|
+
`,
|
|
2445
|
+
//为了这里 + 即相邻的兄弟元素,布局方向为 column-reverse。
|
|
2446
|
+
[`label:has(input:invalid) + ${tagName$3}`]: `
|
|
2447
|
+
outline-style: dashed;
|
|
2448
|
+
outline-width: 2px;
|
|
2449
|
+
outline-color: var(--gzm-error-txt-color);
|
|
2450
|
+
`,
|
|
2451
|
+
[`label:has(input:invalid)::after`]: `
|
|
2452
|
+
content: attr(validation-message);
|
|
2453
|
+
font-size: 0.75rem;
|
|
2454
|
+
padding: 0.125rem;
|
|
2455
|
+
color: var(--gzm-error-txt-color);
|
|
2456
|
+
`
|
|
2457
|
+
});
|
|
2458
|
+
const mutableAttributes$3 = ["name", "required", "empty-tip"];
|
|
2459
|
+
const copyAttributes = Object.assign({
|
|
2460
|
+
"empty-tip": "$list"
|
|
2461
|
+
}, inputCopyAttributes);
|
|
2462
|
+
_SearchList_decorators = [defineElement({ tagName, mutableAttributes: mutableAttributes$3, copyAttributes })];
|
|
2463
|
+
class SearchList extends (_a$3 = InputBase, _emptyTip_dec = [strAttr], _a$3) {
|
|
2464
|
+
constructor() {
|
|
2465
|
+
super();
|
|
2466
|
+
__privateAdd$3(this, _SearchList_instances);
|
|
2467
|
+
__publicField$2(this, "$list");
|
|
2468
|
+
__publicField$2(this, "$qb");
|
|
2469
|
+
__privateAdd$3(this, _emptyTip, __runInitializers$3(_init$3, 8, this)), __runInitializers$3(_init$3, 11, this);
|
|
2470
|
+
__publicField$2(this, "T", createText(texts).bindHtmlElement(this));
|
|
2471
|
+
const $qb = this.$qb = document.createElement("input");
|
|
2472
|
+
$qb.type = "search";
|
|
2473
|
+
$qb.id = generateId();
|
|
2474
|
+
$qb.placeholder = this.T.qbPlaceholder;
|
|
2475
|
+
$qb.addEventListener("search", () => __privateMethod$3(this, _SearchList_instances, doSearch_fn).call(this));
|
|
2476
|
+
this.$list = document.createElement(tagName$3);
|
|
2477
|
+
this.shadowRoot.append(this.$list, $qb);
|
|
2478
|
+
}
|
|
2479
|
+
_createInput() {
|
|
2480
|
+
const $ipt = document.createElement("input");
|
|
2481
|
+
$ipt.hidden = true;
|
|
2482
|
+
$ipt.title = "for :invalid only";
|
|
2483
|
+
const $lbl = document.createElement("label");
|
|
2484
|
+
$lbl.appendChild($ipt);
|
|
2485
|
+
const sr = this.attachShadow({ mode: "open" });
|
|
2486
|
+
sr.adoptedStyleSheets = [baseStyle, styleSheet$1];
|
|
2487
|
+
sr.append($lbl);
|
|
2488
|
+
return $ipt;
|
|
2489
|
+
}
|
|
2490
|
+
_showValue() {
|
|
2491
|
+
const $l = this.$list;
|
|
2492
|
+
const ls = this.listSource;
|
|
2493
|
+
if (!ls) {
|
|
2494
|
+
$l.model = void 0;
|
|
2495
|
+
return;
|
|
2496
|
+
}
|
|
2497
|
+
const activeItems = new Set(ls.getListItems(this.dsValue));
|
|
2498
|
+
if (!$l.model) {
|
|
2499
|
+
$l.model = {
|
|
2500
|
+
modelList: [],
|
|
2501
|
+
listSource: ls,
|
|
2502
|
+
activeItems,
|
|
2503
|
+
activeItemsChanged: (activeItems2) => {
|
|
2504
|
+
this._setActiveItem(...activeItems2);
|
|
2505
|
+
}
|
|
2506
|
+
};
|
|
2507
|
+
} else {
|
|
2508
|
+
$l.setModelProperty("listSource", ls);
|
|
2509
|
+
$l.setModelProperty("activeItems", activeItems);
|
|
2510
|
+
}
|
|
2511
|
+
}
|
|
2512
|
+
}
|
|
2513
|
+
_init$3 = __decoratorStart$3(_a$3);
|
|
2514
|
+
_SearchList_instances = /* @__PURE__ */ new WeakSet();
|
|
2515
|
+
doSearch_fn = async function() {
|
|
2516
|
+
const txt = this.$qb.value;
|
|
2517
|
+
if (!txt) return;
|
|
2518
|
+
const ls = this.listSource;
|
|
2519
|
+
if (!ls) {
|
|
2520
|
+
__privateMethod$3(this, _SearchList_instances, showNoRecordInfo_fn).call(this, this.T.noListSource);
|
|
2521
|
+
return;
|
|
2522
|
+
}
|
|
2523
|
+
let ret = this.model?.search?.(txt) ?? __privateMethod$3(this, _SearchList_instances, searchListSource_fn).call(this, txt);
|
|
2524
|
+
if (ret instanceof Promise) {
|
|
2525
|
+
ret = await ret;
|
|
2526
|
+
}
|
|
2527
|
+
if (!ret.length) {
|
|
2528
|
+
__privateMethod$3(this, _SearchList_instances, showNoRecordInfo_fn).call(this);
|
|
2529
|
+
} else {
|
|
2530
|
+
__privateMethod$3(this, _SearchList_instances, afterSearch_fn).call(this, ret, ls);
|
|
2531
|
+
}
|
|
2532
|
+
};
|
|
2533
|
+
searchListSource_fn = function(txt) {
|
|
2534
|
+
const ls = this.listSource;
|
|
2535
|
+
if (!ls) return [];
|
|
2536
|
+
return ls.search(txt);
|
|
2537
|
+
};
|
|
2538
|
+
afterSearch_fn = function(newItems, ls = this.listSource) {
|
|
2539
|
+
const activeItems = ls.getListItems(this.dsValue);
|
|
2540
|
+
if (activeItems.length) {
|
|
2541
|
+
newItems = __privateMethod$3(this, _SearchList_instances, removeDuplicated_fn).call(this, newItems, activeItems, ls.valueMember);
|
|
2542
|
+
}
|
|
2543
|
+
this.listSource = new ListSource(newItems, ls.valueMember, ls.labelMember, ls.multiple);
|
|
2544
|
+
};
|
|
2545
|
+
removeDuplicated_fn = function(newItems, ais, vm) {
|
|
2546
|
+
for (let i = newItems.length - 1; i >= 0; i--) {
|
|
2547
|
+
const ni = newItems[i];
|
|
2548
|
+
if (!ni || ais.some((ai) => __privateMethod$3(this, _SearchList_instances, equal_fn).call(this, ni, ai, vm))) {
|
|
2549
|
+
newItems.splice(i, 1);
|
|
2550
|
+
}
|
|
2551
|
+
}
|
|
2552
|
+
return ais.concat(newItems);
|
|
2553
|
+
};
|
|
2554
|
+
equal_fn = function(ni, ai, vm) {
|
|
2555
|
+
const nov = vm.getObjValue(ni);
|
|
2556
|
+
const aov = vm.getObjValue(ai);
|
|
2557
|
+
return nov.equals(aov);
|
|
2558
|
+
};
|
|
2559
|
+
showNoRecordInfo_fn = function(tc = this.T.noRecord) {
|
|
2560
|
+
const $p = document.createElement("p");
|
|
2561
|
+
$p.textContent = tc;
|
|
2562
|
+
this.$qb.after($p);
|
|
2563
|
+
window.setTimeout(() => $p.remove(), 2e3);
|
|
2564
|
+
};
|
|
2565
|
+
_emptyTip = /* @__PURE__ */ new WeakMap();
|
|
2566
|
+
__decorateElement$3(_init$3, 4, "emptyTip", _emptyTip_dec, SearchList, _emptyTip);
|
|
2567
|
+
SearchList = __decorateElement$3(_init$3, 0, "SearchList", _SearchList_decorators, SearchList);
|
|
2568
|
+
__publicField$2(SearchList, "formAssociated", true);
|
|
2569
|
+
__runInitializers$3(_init$3, 1, SearchList);
|
|
2570
|
+
const formInputTagName = "GZM-FORM-INPUT";
|
|
2571
|
+
const formGroupTagName = "GZM-INPUT-GROUP";
|
|
2572
|
+
const formListTagName = "GZM-FORM";
|
|
2573
|
+
const styleSheet = createStyleSheet({
|
|
2574
|
+
":host": `
|
|
2575
|
+
display: flex;
|
|
2576
|
+
overflow: hidden;
|
|
2577
|
+
`,
|
|
2578
|
+
"form": `
|
|
2579
|
+
display: flex;
|
|
2580
|
+
flex-direction: column;
|
|
2581
|
+
flex-wrap: wrap;
|
|
2582
|
+
gap: 1rem;
|
|
2583
|
+
max-height: 100%;
|
|
2584
|
+
max-width: 100%;
|
|
2585
|
+
overflow: auto;
|
|
2586
|
+
`,
|
|
2587
|
+
/*分为 3 列*/
|
|
2588
|
+
/*81-4个中文,113-6个中文*/
|
|
2589
|
+
/*120px日期输入能够显示完整*/
|
|
2590
|
+
[formGroupTagName]: `
|
|
2591
|
+
display: grid;
|
|
2592
|
+
grid-template-columns: min-content minmax(auto,113px) minmax(120px,auto);
|
|
2593
|
+
`,
|
|
2594
|
+
[formGroupTagName + " > span"]: `
|
|
2595
|
+
text-align: center;
|
|
2596
|
+
padding: 0.25rem;
|
|
2597
|
+
` + gzmHeader,
|
|
2598
|
+
//显示 label
|
|
2599
|
+
[formGroupTagName + " > span:nth-of-type(2)"]: `
|
|
2600
|
+
grid-column: 2 / span 2;
|
|
2601
|
+
border-left-width: 0px;
|
|
2602
|
+
padding-inline: 0.5rem;
|
|
2603
|
+
`,
|
|
2604
|
+
[formGroupTagName + " > section"]: `
|
|
2605
|
+
display: contents;
|
|
2606
|
+
`,
|
|
2607
|
+
//单个 input
|
|
2608
|
+
[formInputTagName]: `
|
|
2609
|
+
display: contents;
|
|
2610
|
+
`,
|
|
2611
|
+
//行头
|
|
2612
|
+
[formInputTagName + "> div"]: `
|
|
2613
|
+
padding: 0.5rem 0.25rem;
|
|
2614
|
+
text-align: center;
|
|
2615
|
+
` + gzmHeader,
|
|
2616
|
+
[formInputTagName + "> *:not(:first-child)"]: `
|
|
2617
|
+
border: var(--gzm-header-border);
|
|
2618
|
+
border-left-width: 0px;
|
|
2619
|
+
padding: 0.5rem 0.25rem;
|
|
2620
|
+
`,
|
|
2621
|
+
/*不显示上边框,这样就不会和上一行的下边框重叠。不过 group 的头可能不显示,所以要排除第一个。*/
|
|
2622
|
+
[formInputTagName + ":not(:first-of-type) > *"]: `
|
|
2623
|
+
border-top-width: 0px !important;
|
|
2624
|
+
`,
|
|
2625
|
+
// label 如果同时有 title 属性,则显示为 details
|
|
2626
|
+
[formInputTagName + "> label > details > summary"]: `
|
|
2627
|
+
list-style-type: none;
|
|
2628
|
+
text-decoration: underline dashed;
|
|
2629
|
+
cursor: help;
|
|
2630
|
+
`
|
|
2631
|
+
});
|
|
2632
|
+
function checkDataSource(ds, model) {
|
|
2633
|
+
if (ds !== model?.dataSource) {
|
|
2634
|
+
return;
|
|
2635
|
+
}
|
|
2636
|
+
if (multipleSubscribers in model) {
|
|
2637
|
+
if (model[multipleSubscribers] !== true) {
|
|
2638
|
+
throw new Error("dataSource 的原型必须为 null,请调用 createDataSource() 创建 dataSource 对象。");
|
|
2639
|
+
}
|
|
2640
|
+
}
|
|
2641
|
+
}
|
|
2642
|
+
var __create$2 = Object.create;
|
|
2643
|
+
var __defProp$2 = Object.defineProperty;
|
|
2644
|
+
var __getOwnPropDesc$2 = Object.getOwnPropertyDescriptor;
|
|
2645
|
+
var __knownSymbol$2 = (name, symbol) => (symbol = Symbol[name]) ? symbol : /* @__PURE__ */ Symbol.for("Symbol." + name);
|
|
2646
|
+
var __typeError$2 = (msg) => {
|
|
2647
|
+
throw TypeError(msg);
|
|
2648
|
+
};
|
|
2649
|
+
var __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
2650
|
+
var __name$2 = (target, value) => __defProp$2(target, "name", { value, configurable: true });
|
|
2651
|
+
var __decoratorStart$2 = (base) => [, , , __create$2(base?.[__knownSymbol$2("metadata")] ?? null)];
|
|
2652
|
+
var __decoratorStrings$2 = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
|
|
2653
|
+
var __expectFn$2 = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError$2("Function expected") : fn;
|
|
2654
|
+
var __decoratorContext$2 = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings$2[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError$2("Already initialized") : fns.push(__expectFn$2(fn || null)) });
|
|
2655
|
+
var __decoratorMetadata$2 = (array, target) => __defNormalProp$2(target, __knownSymbol$2("metadata"), array[3]);
|
|
2656
|
+
var __runInitializers$2 = (array, flags, self, value) => {
|
|
2657
|
+
for (var i = 0, fns = array[flags >> 1], n = fns && fns.length; i < n; i++) flags & 1 ? fns[i].call(self) : value = fns[i].call(self, value);
|
|
2658
|
+
return value;
|
|
2659
|
+
};
|
|
2660
|
+
var __decorateElement$2 = (array, flags, name, decorators, target, extra) => {
|
|
2661
|
+
var fn, it, done, ctx, access, k = flags & 7, s = !!(flags & 8), p = !!(flags & 16);
|
|
2662
|
+
var j = k > 3 ? array.length + 1 : k ? s ? 1 : 2 : 0, key = __decoratorStrings$2[k + 5];
|
|
2663
|
+
var initializers = k > 3 && (array[j - 1] = []), extraInitializers = array[j] || (array[j] = []);
|
|
2664
|
+
var desc = k && (!p && !s && (target = target.prototype), k < 5 && (k > 3 || !p) && __getOwnPropDesc$2(k < 4 ? target : { get [name]() {
|
|
2665
|
+
return __privateGet$2(this, extra);
|
|
2666
|
+
}, set [name](x) {
|
|
2667
|
+
return __privateSet$2(this, extra, x);
|
|
2668
|
+
} }, name));
|
|
2669
|
+
k ? p && k < 4 && __name$2(extra, (k > 2 ? "set " : k > 1 ? "get " : "") + name) : __name$2(target, name);
|
|
2670
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
2671
|
+
ctx = __decoratorContext$2(k, name, done = {}, array[3], extraInitializers);
|
|
2672
|
+
if (k) {
|
|
2673
|
+
ctx.static = s, ctx.private = p, access = ctx.access = { has: p ? (x) => __privateIn$2(target, x) : (x) => name in x };
|
|
2674
|
+
if (k ^ 3) access.get = p ? (x) => (k ^ 1 ? __privateGet$2 : __privateMethod$2)(x, target, k ^ 4 ? extra : desc.get) : (x) => x[name];
|
|
2675
|
+
if (k > 2) access.set = p ? (x, y) => __privateSet$2(x, target, y, k ^ 4 ? extra : desc.set) : (x, y) => x[name] = y;
|
|
2676
|
+
}
|
|
2677
|
+
it = (0, decorators[i])(k ? k < 4 ? p ? extra : desc[key] : k > 4 ? void 0 : { get: desc.get, set: desc.set } : target, ctx), done._ = 1;
|
|
2678
|
+
if (k ^ 4 || it === void 0) __expectFn$2(it) && (k > 4 ? initializers.unshift(it) : k ? p ? extra = it : desc[key] = it : target = it);
|
|
2679
|
+
else if (typeof it !== "object" || it === null) __typeError$2("Object expected");
|
|
2680
|
+
else __expectFn$2(fn = it.get) && (desc.get = fn), __expectFn$2(fn = it.set) && (desc.set = fn), __expectFn$2(fn = it.init) && initializers.unshift(fn);
|
|
2681
|
+
}
|
|
2682
|
+
return k || __decoratorMetadata$2(array, target), desc && __defProp$2(target, name, desc), p ? k ^ 4 ? extra : desc : target;
|
|
2683
|
+
};
|
|
2684
|
+
var __publicField$1 = (obj, key, value) => __defNormalProp$2(obj, key + "", value);
|
|
2685
|
+
var __accessCheck$2 = (obj, member, msg) => member.has(obj) || __typeError$2("Cannot " + msg);
|
|
2686
|
+
var __privateIn$2 = (member, obj) => Object(obj) !== obj ? __typeError$2('Cannot use the "in" operator on this value') : member.has(obj);
|
|
2687
|
+
var __privateGet$2 = (obj, member, getter) => (__accessCheck$2(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
2688
|
+
var __privateAdd$2 = (obj, member, value) => member.has(obj) ? __typeError$2("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
2689
|
+
var __privateSet$2 = (obj, member, value, setter) => (__accessCheck$2(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
2690
|
+
var __privateMethod$2 = (obj, member, method) => (__accessCheck$2(obj, member, "access private method"), method);
|
|
2691
|
+
var _label_dec$1, _a$2, _FormInput_decorators, _head$1, _label$1, _FormInput_instances, createLabel_fn, createInput_fn, _iptValue, monitorDataValue_fn, checkValueChange_fn, showChangedMark_fn, _init$2, _label2, showLabelAndTitle_fn, _ds, _inputModel;
|
|
2692
|
+
const mutableAttributes$2 = ["label", "title"];
|
|
2693
|
+
_FormInput_decorators = [defineElement({ tagName: formInputTagName, mutableAttributes: mutableAttributes$2 })];
|
|
2694
|
+
class FormInput extends (_a$2 = ViewElement, _label_dec$1 = [strAttr], _a$2) {
|
|
2695
|
+
constructor() {
|
|
2696
|
+
super(...arguments);
|
|
2697
|
+
__privateAdd$2(this, _FormInput_instances);
|
|
2698
|
+
__privateAdd$2(this, _head$1);
|
|
2699
|
+
__privateAdd$2(this, _label$1);
|
|
2700
|
+
__publicField$1(this, "$ipt");
|
|
2701
|
+
__privateAdd$2(this, _iptValue);
|
|
2702
|
+
__privateAdd$2(this, _label2, __runInitializers$2(_init$2, 8, this)), __runInitializers$2(_init$2, 11, this);
|
|
2703
|
+
__privateAdd$2(this, _ds);
|
|
2704
|
+
__privateAdd$2(this, _inputModel);
|
|
2705
|
+
}
|
|
2706
|
+
//#region 子元素
|
|
2707
|
+
get $head() {
|
|
2708
|
+
if (!__privateGet$2(this, _head$1)) {
|
|
2709
|
+
__privateSet$2(this, _head$1, document.createElement("div"));
|
|
2710
|
+
__privateGet$2(this, _head$1).innerHTML = '<span style="visibility:hidden;">✶</span>';
|
|
2711
|
+
this.prepend(__privateGet$2(this, _head$1));
|
|
2712
|
+
}
|
|
2713
|
+
return __privateGet$2(this, _head$1);
|
|
2714
|
+
}
|
|
2715
|
+
get $label() {
|
|
2716
|
+
if (!__privateGet$2(this, _label$1)) {
|
|
2717
|
+
__privateSet$2(this, _label$1, document.createElement("label"));
|
|
2718
|
+
this.$head.after(__privateGet$2(this, _label$1));
|
|
2719
|
+
}
|
|
2720
|
+
return __privateGet$2(this, _label$1);
|
|
2721
|
+
}
|
|
2722
|
+
/**
|
|
2723
|
+
* 在录入组件和 label 之间切换,其实就是用来生成 $ipt。
|
|
2724
|
+
* @param readonly - 必须是所属组的 readonly,所以请等到 connectedCallback() 后再调用!
|
|
2725
|
+
*/
|
|
2726
|
+
switchLabel(readonly = this.$group?.readonly ?? false) {
|
|
2727
|
+
let $ipt = this.$ipt;
|
|
2728
|
+
if (readonly) {
|
|
2729
|
+
if (!$ipt) {
|
|
2730
|
+
$ipt = __privateMethod$2(this, _FormInput_instances, createLabel_fn).call(this);
|
|
2731
|
+
this.append($ipt);
|
|
2732
|
+
} else if ($ipt.tagName !== tagName$b) {
|
|
2733
|
+
$ipt.replaceWith(__privateMethod$2(this, _FormInput_instances, createLabel_fn).call(this));
|
|
2734
|
+
}
|
|
2735
|
+
} else {
|
|
2736
|
+
if (!$ipt) {
|
|
2737
|
+
$ipt = __privateMethod$2(this, _FormInput_instances, createInput_fn).call(this);
|
|
2738
|
+
this.append($ipt);
|
|
2739
|
+
} else if ($ipt.tagName !== this.input?.tagName) {
|
|
2740
|
+
$ipt.replaceWith(__privateMethod$2(this, _FormInput_instances, createInput_fn).call(this));
|
|
2741
|
+
}
|
|
2742
|
+
}
|
|
2743
|
+
if (__privateGet$2(this, _ds)) {
|
|
2744
|
+
this.dataSource = __privateGet$2(this, _ds);
|
|
2745
|
+
}
|
|
2746
|
+
}
|
|
2747
|
+
//#endregion
|
|
2748
|
+
//#region group
|
|
2749
|
+
get $group() {
|
|
2750
|
+
return this.closest(formGroupTagName);
|
|
2751
|
+
}
|
|
2752
|
+
connectedCallback() {
|
|
2753
|
+
this.switchLabel();
|
|
2754
|
+
}
|
|
2755
|
+
_label_set() {
|
|
2756
|
+
__privateMethod$2(this, _FormInput_instances, showLabelAndTitle_fn).call(this);
|
|
2757
|
+
}
|
|
2758
|
+
_title_set() {
|
|
2759
|
+
__privateMethod$2(this, _FormInput_instances, showLabelAndTitle_fn).call(this);
|
|
2760
|
+
}
|
|
2761
|
+
get dataSource() {
|
|
2762
|
+
return __privateGet$2(this, _ds);
|
|
2763
|
+
}
|
|
2764
|
+
set dataSource(ds) {
|
|
2765
|
+
checkDataSource(ds, this.model);
|
|
2766
|
+
__privateSet$2(this, _ds, ds);
|
|
2767
|
+
const $ipt = this.$ipt;
|
|
2768
|
+
if (!$ipt) return;
|
|
2769
|
+
const old = $ipt.dataSource;
|
|
2770
|
+
const nds = old ? new InputDataSource(ds, old.valueMember) : new InputDataSource(ds, $ipt.name);
|
|
2771
|
+
$ipt.setModelProperty("dataSource", nds);
|
|
2772
|
+
__privateSet$2(this, _iptValue, $ipt.dataValue);
|
|
2773
|
+
__privateMethod$2(this, _FormInput_instances, showChangedMark_fn).call(this, false);
|
|
2774
|
+
}
|
|
2775
|
+
get input() {
|
|
2776
|
+
return __privateGet$2(this, _inputModel);
|
|
2777
|
+
}
|
|
2778
|
+
set input(v) {
|
|
2779
|
+
__privateSet$2(this, _inputModel, v);
|
|
2780
|
+
this.$ipt?.remove();
|
|
2781
|
+
if (v && this.isConnected) {
|
|
2782
|
+
this.switchLabel();
|
|
2783
|
+
}
|
|
2784
|
+
}
|
|
2785
|
+
//#endregion
|
|
2786
|
+
}
|
|
2787
|
+
_init$2 = __decoratorStart$2(_a$2);
|
|
2788
|
+
_head$1 = /* @__PURE__ */ new WeakMap();
|
|
2789
|
+
_label$1 = /* @__PURE__ */ new WeakMap();
|
|
2790
|
+
_FormInput_instances = /* @__PURE__ */ new WeakSet();
|
|
2791
|
+
createLabel_fn = function() {
|
|
2792
|
+
const $ret = document.createElement(tagName$b);
|
|
2793
|
+
$ret.model = this.input;
|
|
2794
|
+
return this.$ipt = $ret;
|
|
2795
|
+
};
|
|
2796
|
+
createInput_fn = function(input = this.input) {
|
|
2797
|
+
if (!input?.tagName) {
|
|
2798
|
+
throw new Error("no input model tagName");
|
|
2799
|
+
}
|
|
2800
|
+
const $ret = document.createElement(input.tagName);
|
|
2801
|
+
$ret.model = input;
|
|
2802
|
+
this.$ipt = $ret;
|
|
2803
|
+
this.$ipt.setModelProperty("showValidityMessage", true);
|
|
2804
|
+
__privateMethod$2(this, _FormInput_instances, monitorDataValue_fn).call(this);
|
|
2805
|
+
return this.$ipt;
|
|
2806
|
+
};
|
|
2807
|
+
_iptValue = /* @__PURE__ */ new WeakMap();
|
|
2808
|
+
monitorDataValue_fn = function() {
|
|
2809
|
+
const input = this.input;
|
|
2810
|
+
let original = input.dataValueChanged;
|
|
2811
|
+
if (original) {
|
|
2812
|
+
original = original.bind(input);
|
|
2813
|
+
}
|
|
2814
|
+
input.dataValueChanged = (newValue, oldValue) => {
|
|
2815
|
+
__privateMethod$2(this, _FormInput_instances, checkValueChange_fn).call(this);
|
|
2816
|
+
original?.(newValue, oldValue);
|
|
2817
|
+
};
|
|
2818
|
+
};
|
|
2819
|
+
checkValueChange_fn = function($ipt = this.$ipt) {
|
|
2820
|
+
if (!$ipt) {
|
|
2821
|
+
return;
|
|
2822
|
+
}
|
|
2823
|
+
const dv = $ipt.dataValue;
|
|
2824
|
+
const changed = dv !== __privateGet$2(this, _iptValue) && !!(dv || __privateGet$2(this, _iptValue));
|
|
2825
|
+
__privateMethod$2(this, _FormInput_instances, showChangedMark_fn).call(this, changed);
|
|
2826
|
+
};
|
|
2827
|
+
showChangedMark_fn = function(changed) {
|
|
2828
|
+
const $fec = this.$head.firstElementChild;
|
|
2829
|
+
$fec.style.visibility = changed ? "visible" : "hidden";
|
|
2830
|
+
};
|
|
2831
|
+
_label2 = /* @__PURE__ */ new WeakMap();
|
|
2832
|
+
showLabelAndTitle_fn = function() {
|
|
2833
|
+
const t = this.title;
|
|
2834
|
+
if (!t) {
|
|
2835
|
+
this.$label.textContent = this.label ?? "";
|
|
2836
|
+
return;
|
|
2837
|
+
}
|
|
2838
|
+
this.$label.innerHTML = "";
|
|
2839
|
+
const $summary = document.createElement("summary");
|
|
2840
|
+
$summary.textContent = this.label ?? "";
|
|
2841
|
+
const $small = document.createElement("small");
|
|
2842
|
+
$small.innerHTML = t.replaceAll("\n", "<br>");
|
|
2843
|
+
const $details = document.createElement("details");
|
|
2844
|
+
$details.append($summary, $small);
|
|
2845
|
+
this.$label.appendChild($details);
|
|
2846
|
+
};
|
|
2847
|
+
_ds = /* @__PURE__ */ new WeakMap();
|
|
2848
|
+
_inputModel = /* @__PURE__ */ new WeakMap();
|
|
2849
|
+
__decorateElement$2(_init$2, 4, "label", _label_dec$1, FormInput, _label2);
|
|
2850
|
+
FormInput = __decorateElement$2(_init$2, 0, "FormInput", _FormInput_decorators, FormInput);
|
|
2851
|
+
__runInitializers$2(_init$2, 1, FormInput);
|
|
2852
|
+
var __create$1 = Object.create;
|
|
2853
|
+
var __defProp$1 = Object.defineProperty;
|
|
2854
|
+
var __getOwnPropDesc$1 = Object.getOwnPropertyDescriptor;
|
|
2855
|
+
var __knownSymbol$1 = (name, symbol) => (symbol = Symbol[name]) ? symbol : /* @__PURE__ */ Symbol.for("Symbol." + name);
|
|
2856
|
+
var __typeError$1 = (msg) => {
|
|
2857
|
+
throw TypeError(msg);
|
|
2858
|
+
};
|
|
2859
|
+
var __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
2860
|
+
var __name$1 = (target, value) => __defProp$1(target, "name", { value, configurable: true });
|
|
2861
|
+
var __decoratorStart$1 = (base) => [, , , __create$1(base?.[__knownSymbol$1("metadata")] ?? null)];
|
|
2862
|
+
var __decoratorStrings$1 = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
|
|
2863
|
+
var __expectFn$1 = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError$1("Function expected") : fn;
|
|
2864
|
+
var __decoratorContext$1 = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings$1[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError$1("Already initialized") : fns.push(__expectFn$1(fn || null)) });
|
|
2865
|
+
var __decoratorMetadata$1 = (array, target) => __defNormalProp$1(target, __knownSymbol$1("metadata"), array[3]);
|
|
2866
|
+
var __runInitializers$1 = (array, flags, self, value) => {
|
|
2867
|
+
for (var i = 0, fns = array[flags >> 1], n = fns && fns.length; i < n; i++) flags & 1 ? fns[i].call(self) : value = fns[i].call(self, value);
|
|
2868
|
+
return value;
|
|
2869
|
+
};
|
|
2870
|
+
var __decorateElement$1 = (array, flags, name, decorators, target, extra) => {
|
|
2871
|
+
var fn, it, done, ctx, access, k = flags & 7, s = !!(flags & 8), p = !!(flags & 16);
|
|
2872
|
+
var j = k > 3 ? array.length + 1 : k ? s ? 1 : 2 : 0, key = __decoratorStrings$1[k + 5];
|
|
2873
|
+
var initializers = k > 3 && (array[j - 1] = []), extraInitializers = array[j] || (array[j] = []);
|
|
2874
|
+
var desc = k && (!p && !s && (target = target.prototype), k < 5 && (k > 3 || !p) && __getOwnPropDesc$1(k < 4 ? target : { get [name]() {
|
|
2875
|
+
return __privateGet$1(this, extra);
|
|
2876
|
+
}, set [name](x) {
|
|
2877
|
+
return __privateSet$1(this, extra, x);
|
|
2878
|
+
} }, name));
|
|
2879
|
+
k ? p && k < 4 && __name$1(extra, (k > 2 ? "set " : k > 1 ? "get " : "") + name) : __name$1(target, name);
|
|
2880
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
2881
|
+
ctx = __decoratorContext$1(k, name, done = {}, array[3], extraInitializers);
|
|
2882
|
+
if (k) {
|
|
2883
|
+
ctx.static = s, ctx.private = p, access = ctx.access = { has: p ? (x) => __privateIn$1(target, x) : (x) => name in x };
|
|
2884
|
+
if (k ^ 3) access.get = p ? (x) => (k ^ 1 ? __privateGet$1 : __privateMethod$1)(x, target, k ^ 4 ? extra : desc.get) : (x) => x[name];
|
|
2885
|
+
if (k > 2) access.set = p ? (x, y) => __privateSet$1(x, target, y, k ^ 4 ? extra : desc.set) : (x, y) => x[name] = y;
|
|
2886
|
+
}
|
|
2887
|
+
it = (0, decorators[i])(k ? k < 4 ? p ? extra : desc[key] : k > 4 ? void 0 : { get: desc.get, set: desc.set } : target, ctx), done._ = 1;
|
|
2888
|
+
if (k ^ 4 || it === void 0) __expectFn$1(it) && (k > 4 ? initializers.unshift(it) : k ? p ? extra = it : desc[key] = it : target = it);
|
|
2889
|
+
else if (typeof it !== "object" || it === null) __typeError$1("Object expected");
|
|
2890
|
+
else __expectFn$1(fn = it.get) && (desc.get = fn), __expectFn$1(fn = it.set) && (desc.set = fn), __expectFn$1(fn = it.init) && initializers.unshift(fn);
|
|
2891
|
+
}
|
|
2892
|
+
return k || __decoratorMetadata$1(array, target), desc && __defProp$1(target, name, desc), p ? k ^ 4 ? extra : desc : target;
|
|
2893
|
+
};
|
|
2894
|
+
var __accessCheck$1 = (obj, member, msg) => member.has(obj) || __typeError$1("Cannot " + msg);
|
|
2895
|
+
var __privateIn$1 = (member, obj) => Object(obj) !== obj ? __typeError$1('Cannot use the "in" operator on this value') : member.has(obj);
|
|
2896
|
+
var __privateGet$1 = (obj, member, getter) => (__accessCheck$1(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
2897
|
+
var __privateAdd$1 = (obj, member, value) => member.has(obj) ? __typeError$1("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
2898
|
+
var __privateSet$1 = (obj, member, value, setter) => (__accessCheck$1(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
2899
|
+
var __privateMethod$1 = (obj, member, method) => (__accessCheck$1(obj, member, "access private method"), method);
|
|
2900
|
+
var _readonly_dec$1, _collapsed_dec, _label_dec, _a$1, _FormInputGroup_decorators, _head, _icn, _lbl, _section, _init$1, _label, _FormInputGroup_instances, showLabel_fn, _collapsed, _readonly$1;
|
|
2901
|
+
const mutableAttributes$1 = ["label", "collapsed", "readonly"];
|
|
2902
|
+
_FormInputGroup_decorators = [defineElement({ tagName: formGroupTagName, mutableAttributes: mutableAttributes$1 })];
|
|
2903
|
+
class FormInputGroup extends (_a$1 = ViewListElement, _label_dec = [strAttr], _collapsed_dec = [boolAttr], _readonly_dec$1 = [boolAttr], _a$1) {
|
|
2904
|
+
constructor() {
|
|
2905
|
+
super(...arguments);
|
|
2906
|
+
__privateAdd$1(this, _FormInputGroup_instances);
|
|
2907
|
+
__privateAdd$1(this, _head);
|
|
2908
|
+
__privateAdd$1(this, _icn);
|
|
2909
|
+
__privateAdd$1(this, _lbl);
|
|
2910
|
+
__privateAdd$1(this, _section);
|
|
2911
|
+
__privateAdd$1(this, _label, __runInitializers$1(_init$1, 8, this)), __runInitializers$1(_init$1, 11, this);
|
|
2912
|
+
__privateAdd$1(this, _collapsed, __runInitializers$1(_init$1, 12, this, false)), __runInitializers$1(_init$1, 15, this);
|
|
2913
|
+
__privateAdd$1(this, _readonly$1, __runInitializers$1(_init$1, 16, this, false)), __runInitializers$1(_init$1, 19, this);
|
|
2914
|
+
}
|
|
2915
|
+
//#region 子元素
|
|
2916
|
+
get $head() {
|
|
2917
|
+
if (!__privateGet$1(this, _head)) {
|
|
2918
|
+
const $hd = document.createElement("span");
|
|
2919
|
+
$hd.onclick = (e) => {
|
|
2920
|
+
this.setModelProperty("collapsed", !this.collapsed);
|
|
2921
|
+
e.stopPropagation();
|
|
2922
|
+
};
|
|
2923
|
+
this.prepend($hd);
|
|
2924
|
+
__privateSet$1(this, _head, $hd);
|
|
2925
|
+
if (!__privateGet$1(this, _icn)) {
|
|
2926
|
+
__privateSet$1(this, _icn, createTxtBtn(iconExpanded));
|
|
2927
|
+
$hd.append(__privateGet$1(this, _icn));
|
|
2928
|
+
}
|
|
2929
|
+
}
|
|
2930
|
+
return __privateGet$1(this, _head);
|
|
2931
|
+
}
|
|
2932
|
+
get $icn() {
|
|
2933
|
+
if (!__privateGet$1(this, _icn)) {
|
|
2934
|
+
__privateSet$1(this, _icn, createTxtBtn(iconExpanded));
|
|
2935
|
+
this.$head.append(__privateGet$1(this, _icn));
|
|
2936
|
+
}
|
|
2937
|
+
return __privateGet$1(this, _icn);
|
|
2938
|
+
}
|
|
2939
|
+
get $lbl() {
|
|
2940
|
+
if (!__privateGet$1(this, _lbl)) {
|
|
2941
|
+
__privateSet$1(this, _lbl, document.createElement("span"));
|
|
2942
|
+
this.$head.after(__privateGet$1(this, _lbl));
|
|
2943
|
+
}
|
|
2944
|
+
return __privateGet$1(this, _lbl);
|
|
2945
|
+
}
|
|
2946
|
+
get $section() {
|
|
2947
|
+
if (!__privateGet$1(this, _section)) {
|
|
2948
|
+
__privateSet$1(this, _section, document.createElement("section"));
|
|
2949
|
+
this.append(__privateGet$1(this, _section));
|
|
2950
|
+
}
|
|
2951
|
+
return __privateGet$1(this, _section);
|
|
2952
|
+
}
|
|
2953
|
+
//#endregion
|
|
2954
|
+
//#region ViewListElement
|
|
2955
|
+
_getViewItemTagName() {
|
|
2956
|
+
return formInputTagName;
|
|
2957
|
+
}
|
|
2958
|
+
get $viewItemsContainer() {
|
|
2959
|
+
return this.$section;
|
|
2960
|
+
}
|
|
2961
|
+
//#endregion
|
|
2962
|
+
//#region 属性
|
|
2963
|
+
set dataSource(ds) {
|
|
2964
|
+
checkDataSource(ds, this.model);
|
|
2965
|
+
this.$viewItems.forEach(($ipt) => $ipt.setModelProperty("dataSource", ds));
|
|
2966
|
+
}
|
|
2967
|
+
_label_set() {
|
|
2968
|
+
__privateMethod$1(this, _FormInputGroup_instances, showLabel_fn).call(this);
|
|
2969
|
+
}
|
|
2970
|
+
_collapsed_set() {
|
|
2971
|
+
this.$icn.textContent = this.collapsed ? iconCollapsed : iconExpanded;
|
|
2972
|
+
this.$section.hidden = this.collapsed;
|
|
2973
|
+
}
|
|
2974
|
+
_readonly_set() {
|
|
2975
|
+
const ro = this.readonly;
|
|
2976
|
+
this.$viewItems.forEach(($ipt) => $ipt.switchLabel(ro));
|
|
2977
|
+
__privateMethod$1(this, _FormInputGroup_instances, showLabel_fn).call(this);
|
|
2978
|
+
}
|
|
2979
|
+
//#endregion
|
|
2980
|
+
}
|
|
2981
|
+
_init$1 = __decoratorStart$1(_a$1);
|
|
2982
|
+
_head = /* @__PURE__ */ new WeakMap();
|
|
2983
|
+
_icn = /* @__PURE__ */ new WeakMap();
|
|
2984
|
+
_lbl = /* @__PURE__ */ new WeakMap();
|
|
2985
|
+
_section = /* @__PURE__ */ new WeakMap();
|
|
2986
|
+
_label = /* @__PURE__ */ new WeakMap();
|
|
2987
|
+
_FormInputGroup_instances = /* @__PURE__ */ new WeakSet();
|
|
2988
|
+
showLabel_fn = function() {
|
|
2989
|
+
let nv = this.label ?? "";
|
|
2990
|
+
if (this.readonly) {
|
|
2991
|
+
nv += ` [${GT.readonly}]`;
|
|
2992
|
+
}
|
|
2993
|
+
this.$lbl.textContent = nv;
|
|
2994
|
+
const hidden = !nv;
|
|
2995
|
+
this.$lbl.hidden = hidden;
|
|
2996
|
+
this.$head.hidden = hidden;
|
|
2997
|
+
};
|
|
2998
|
+
_collapsed = /* @__PURE__ */ new WeakMap();
|
|
2999
|
+
_readonly$1 = /* @__PURE__ */ new WeakMap();
|
|
3000
|
+
__decorateElement$1(_init$1, 4, "label", _label_dec, FormInputGroup, _label);
|
|
3001
|
+
__decorateElement$1(_init$1, 4, "collapsed", _collapsed_dec, FormInputGroup, _collapsed);
|
|
3002
|
+
__decorateElement$1(_init$1, 4, "readonly", _readonly_dec$1, FormInputGroup, _readonly$1);
|
|
3003
|
+
FormInputGroup = __decorateElement$1(_init$1, 0, "FormInputGroup", _FormInputGroup_decorators, FormInputGroup);
|
|
3004
|
+
__runInitializers$1(_init$1, 1, FormInputGroup);
|
|
3005
|
+
const iconCollapsed = "⊞";
|
|
3006
|
+
const iconExpanded = "⊟";
|
|
3007
|
+
var __create = Object.create;
|
|
3008
|
+
var __defProp = Object.defineProperty;
|
|
3009
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3010
|
+
var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : /* @__PURE__ */ Symbol.for("Symbol." + name);
|
|
3011
|
+
var __typeError = (msg) => {
|
|
3012
|
+
throw TypeError(msg);
|
|
3013
|
+
};
|
|
3014
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3015
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3016
|
+
var __decoratorStart = (base) => [, , , __create(base?.[__knownSymbol("metadata")] ?? null)];
|
|
3017
|
+
var __decoratorStrings = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
|
|
3018
|
+
var __expectFn = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError("Function expected") : fn;
|
|
3019
|
+
var __decoratorContext = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError("Already initialized") : fns.push(__expectFn(fn || null)) });
|
|
3020
|
+
var __decoratorMetadata = (array, target) => __defNormalProp(target, __knownSymbol("metadata"), array[3]);
|
|
3021
|
+
var __runInitializers = (array, flags, self, value) => {
|
|
3022
|
+
for (var i = 0, fns = array[flags >> 1], n = fns && fns.length; i < n; i++) flags & 1 ? fns[i].call(self) : value = fns[i].call(self, value);
|
|
3023
|
+
return value;
|
|
3024
|
+
};
|
|
3025
|
+
var __decorateElement = (array, flags, name, decorators, target, extra) => {
|
|
3026
|
+
var fn, it, done, ctx, access, k = flags & 7, s = !!(flags & 8), p = !!(flags & 16);
|
|
3027
|
+
var j = k > 3 ? array.length + 1 : k ? s ? 1 : 2 : 0, key = __decoratorStrings[k + 5];
|
|
3028
|
+
var initializers = k > 3 && (array[j - 1] = []), extraInitializers = array[j] || (array[j] = []);
|
|
3029
|
+
var desc = k && (!p && !s && (target = target.prototype), k < 5 && (k > 3 || !p) && __getOwnPropDesc(k < 4 ? target : { get [name]() {
|
|
3030
|
+
return __privateGet(this, extra);
|
|
3031
|
+
}, set [name](x) {
|
|
3032
|
+
return __privateSet(this, extra, x);
|
|
3033
|
+
} }, name));
|
|
3034
|
+
k ? p && k < 4 && __name(extra, (k > 2 ? "set " : k > 1 ? "get " : "") + name) : __name(target, name);
|
|
3035
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
3036
|
+
ctx = __decoratorContext(k, name, done = {}, array[3], extraInitializers);
|
|
3037
|
+
if (k) {
|
|
3038
|
+
ctx.static = s, ctx.private = p, access = ctx.access = { has: p ? (x) => __privateIn(target, x) : (x) => name in x };
|
|
3039
|
+
if (k ^ 3) access.get = p ? (x) => (k ^ 1 ? __privateGet : __privateMethod)(x, target, k ^ 4 ? extra : desc.get) : (x) => x[name];
|
|
3040
|
+
if (k > 2) access.set = p ? (x, y) => __privateSet(x, target, y, k ^ 4 ? extra : desc.set) : (x, y) => x[name] = y;
|
|
3041
|
+
}
|
|
3042
|
+
it = (0, decorators[i])(k ? k < 4 ? p ? extra : desc[key] : k > 4 ? void 0 : { get: desc.get, set: desc.set } : target, ctx), done._ = 1;
|
|
3043
|
+
if (k ^ 4 || it === void 0) __expectFn(it) && (k > 4 ? initializers.unshift(it) : k ? p ? extra = it : desc[key] = it : target = it);
|
|
3044
|
+
else if (typeof it !== "object" || it === null) __typeError("Object expected");
|
|
3045
|
+
else __expectFn(fn = it.get) && (desc.get = fn), __expectFn(fn = it.set) && (desc.set = fn), __expectFn(fn = it.init) && initializers.unshift(fn);
|
|
3046
|
+
}
|
|
3047
|
+
return k || __decoratorMetadata(array, target), desc && __defProp(target, name, desc), p ? k ^ 4 ? extra : desc : target;
|
|
3048
|
+
};
|
|
3049
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
|
|
3050
|
+
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
3051
|
+
var __privateIn = (member, obj) => Object(obj) !== obj ? __typeError('Cannot use the "in" operator on this value') : member.has(obj);
|
|
3052
|
+
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
3053
|
+
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
3054
|
+
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
3055
|
+
var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
|
|
3056
|
+
var _readonly_dec, _a, _FormList_decorators, _init, _readonly;
|
|
3057
|
+
const mutableAttributes = ["readonly"];
|
|
3058
|
+
_FormList_decorators = [defineElement({ tagName: formListTagName, mutableAttributes })];
|
|
3059
|
+
class FormList extends (_a = ViewListElement, _readonly_dec = [boolAttr], _a) {
|
|
3060
|
+
constructor() {
|
|
3061
|
+
super();
|
|
3062
|
+
__publicField(this, "$form", document.createElement("form"));
|
|
3063
|
+
__privateAdd(this, _readonly, __runInitializers(_init, 8, this, false)), __runInitializers(_init, 11, this);
|
|
3064
|
+
const sr = this.attachShadow({ mode: "open" });
|
|
3065
|
+
sr.adoptedStyleSheets = [baseStyle, utilityStyle, styleSheet];
|
|
3066
|
+
sr.append(this.$form);
|
|
3067
|
+
}
|
|
3068
|
+
//#region 提交
|
|
3069
|
+
getFormData() {
|
|
3070
|
+
return new FormData(this.$form);
|
|
3071
|
+
}
|
|
3072
|
+
submit() {
|
|
3073
|
+
this.$form.submit();
|
|
3074
|
+
}
|
|
3075
|
+
checkValidity() {
|
|
3076
|
+
return this.$form.checkValidity();
|
|
3077
|
+
}
|
|
3078
|
+
//#endregion
|
|
3079
|
+
//#region ViewListElement
|
|
3080
|
+
_getViewItemTagName() {
|
|
3081
|
+
return formGroupTagName;
|
|
3082
|
+
}
|
|
3083
|
+
get $viewItemsContainer() {
|
|
3084
|
+
return this.$form;
|
|
3085
|
+
}
|
|
3086
|
+
_readonly_set() {
|
|
3087
|
+
const ro = this.readonly;
|
|
3088
|
+
this.$viewItems.forEach(($g) => $g.setModelProperty("readonly", ro));
|
|
3089
|
+
}
|
|
3090
|
+
/**
|
|
3091
|
+
* 必须要等到 modelList 处理完毕之后再调用!
|
|
3092
|
+
* 其实还有一种方法:queueMicrotask()
|
|
3093
|
+
*/
|
|
3094
|
+
set dataSource(ds) {
|
|
3095
|
+
checkDataSource(ds, this.model);
|
|
3096
|
+
this.$viewItems.forEach(($g) => $g.setModelProperty("dataSource", ds));
|
|
3097
|
+
}
|
|
3098
|
+
//#endregion
|
|
3099
|
+
}
|
|
3100
|
+
_init = __decoratorStart(_a);
|
|
3101
|
+
_readonly = /* @__PURE__ */ new WeakMap();
|
|
3102
|
+
__decorateElement(_init, 4, "readonly", _readonly_dec, FormList, _readonly);
|
|
3103
|
+
FormList = __decorateElement(_init, 0, "FormList", _FormList_decorators, FormList);
|
|
3104
|
+
__runInitializers(_init, 1, FormList);
|
|
3105
|
+
export {
|
|
3106
|
+
CalInput,
|
|
3107
|
+
CheckInput,
|
|
3108
|
+
CheckList,
|
|
3109
|
+
ColorInput,
|
|
3110
|
+
ComboInput,
|
|
3111
|
+
ComboItem,
|
|
3112
|
+
ComboList,
|
|
3113
|
+
FormInput,
|
|
3114
|
+
FormInputGroup,
|
|
3115
|
+
FormList,
|
|
3116
|
+
InputLabel,
|
|
3117
|
+
LinesInput,
|
|
3118
|
+
NumInput,
|
|
3119
|
+
SearchList,
|
|
3120
|
+
TextInput,
|
|
3121
|
+
tagName$1 as checkListTagName,
|
|
3122
|
+
tagName$4 as comboItemTagName,
|
|
3123
|
+
tagName$3 as comboListTagName,
|
|
3124
|
+
formGroupTagName,
|
|
3125
|
+
formInputTagName,
|
|
3126
|
+
formListTagName,
|
|
3127
|
+
tagName$9 as inputCalTagName,
|
|
3128
|
+
tagName$8 as inputCheckTagName,
|
|
3129
|
+
tagName$6 as inputColorTagName,
|
|
3130
|
+
tagName$2 as inputComboTagName,
|
|
3131
|
+
tagName$b as inputLabelTagName,
|
|
3132
|
+
tagName$5 as inputLinesTagName,
|
|
3133
|
+
tagName$7 as inputNumTagName,
|
|
3134
|
+
tagName$a as inputTextTagName,
|
|
3135
|
+
tagName as searchListTagName
|
|
3136
|
+
};
|
|
3137
|
+
//# sourceMappingURL=form.es.js.map
|