@whitesev/pops 1.5.9 → 1.6.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/index.amd.js +70 -33
- package/dist/index.amd.js.map +1 -1
- package/dist/index.cjs.js +70 -33
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +70 -33
- package/dist/index.esm.js.map +1 -1
- package/dist/index.iife.js +70 -33
- package/dist/index.iife.js.map +1 -1
- package/dist/index.system.js +70 -33
- package/dist/index.system.js.map +1 -1
- package/dist/index.umd.js +70 -33
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/components/panel/index.ts +82 -36
package/dist/index.system.js
CHANGED
|
@@ -8330,6 +8330,10 @@ System.register('pops', [], (function (exports) {
|
|
|
8330
8330
|
panelSelect: liElement.querySelector(".pops-panel-select"),
|
|
8331
8331
|
select: liElement.querySelector(".pops-panel-select select"),
|
|
8332
8332
|
},
|
|
8333
|
+
$eleKey: {
|
|
8334
|
+
disable: "__disable__",
|
|
8335
|
+
value: "__value__",
|
|
8336
|
+
},
|
|
8333
8337
|
$data: {
|
|
8334
8338
|
defaultValue: formConfig.getValue(),
|
|
8335
8339
|
},
|
|
@@ -8341,6 +8345,24 @@ System.register('pops', [], (function (exports) {
|
|
|
8341
8345
|
this.disable();
|
|
8342
8346
|
}
|
|
8343
8347
|
},
|
|
8348
|
+
/**
|
|
8349
|
+
* 给option元素设置属性
|
|
8350
|
+
* @param $ele
|
|
8351
|
+
* @param key
|
|
8352
|
+
* @param value
|
|
8353
|
+
*/
|
|
8354
|
+
setNodeValue($ele, key, value) {
|
|
8355
|
+
Reflect.set($ele, key, value);
|
|
8356
|
+
},
|
|
8357
|
+
/**
|
|
8358
|
+
* 获取option元素上设置的属性
|
|
8359
|
+
* @param $ele
|
|
8360
|
+
* @param value
|
|
8361
|
+
* @param key
|
|
8362
|
+
*/
|
|
8363
|
+
getNodeValue($ele, key) {
|
|
8364
|
+
return Reflect.get($ele, key);
|
|
8365
|
+
},
|
|
8344
8366
|
disable() {
|
|
8345
8367
|
this.$ele.select.setAttribute("disabled", "true");
|
|
8346
8368
|
this.$ele.panelSelect.classList.add("pops-panel-select-disable");
|
|
@@ -8355,9 +8377,10 @@ System.register('pops', [], (function (exports) {
|
|
|
8355
8377
|
},
|
|
8356
8378
|
initOption() {
|
|
8357
8379
|
formConfig.data.forEach((dataItem) => {
|
|
8380
|
+
// 初始化默认选中
|
|
8358
8381
|
let optionElement = document.createElement("option");
|
|
8359
|
-
optionElement
|
|
8360
|
-
optionElement
|
|
8382
|
+
this.setNodeValue(optionElement, this.$eleKey.value, dataItem.value);
|
|
8383
|
+
this.setNodeValue(optionElement, this.$eleKey.disable, dataItem.disable);
|
|
8361
8384
|
if (dataItem.value === this.$data.defaultValue) {
|
|
8362
8385
|
optionElement.setAttribute("selected", "true");
|
|
8363
8386
|
}
|
|
@@ -8365,6 +8388,7 @@ System.register('pops', [], (function (exports) {
|
|
|
8365
8388
|
this.$ele.select.appendChild(optionElement);
|
|
8366
8389
|
});
|
|
8367
8390
|
},
|
|
8391
|
+
/** 检测所有option并设置禁用状态 */
|
|
8368
8392
|
setSelectOptionsDisableStatus() {
|
|
8369
8393
|
if (this.$ele.select.options && this.$ele.select.options.length) {
|
|
8370
8394
|
Array.from(this.$ele.select.options).forEach((optionItem) => {
|
|
@@ -8372,16 +8396,30 @@ System.register('pops', [], (function (exports) {
|
|
|
8372
8396
|
});
|
|
8373
8397
|
}
|
|
8374
8398
|
},
|
|
8399
|
+
/** 设置禁用状态 */
|
|
8375
8400
|
setOptionDisableStatus(optionElement) {
|
|
8376
|
-
|
|
8377
|
-
|
|
8378
|
-
|
|
8379
|
-
|
|
8380
|
-
|
|
8381
|
-
|
|
8382
|
-
|
|
8383
|
-
|
|
8401
|
+
let disable = false;
|
|
8402
|
+
let optionDisableAttr = this.getNodeValue(optionElement, this.$eleKey.disable);
|
|
8403
|
+
if (optionDisableAttr === "function") {
|
|
8404
|
+
let value = this.getNodeValue(optionElement, this.$eleKey.value);
|
|
8405
|
+
disable = Boolean(optionDisableAttr(value));
|
|
8406
|
+
}
|
|
8407
|
+
if (disable) {
|
|
8408
|
+
optionElement.setAttribute("disabled", "true");
|
|
8384
8409
|
}
|
|
8410
|
+
else {
|
|
8411
|
+
optionElement.removeAttribute("disabled");
|
|
8412
|
+
}
|
|
8413
|
+
},
|
|
8414
|
+
/** 获取option上的信息 */
|
|
8415
|
+
getSelectOptionInfo($option) {
|
|
8416
|
+
let optionValue = this.getNodeValue($option, this.$eleKey.value);
|
|
8417
|
+
let optionText = $option.innerText || $option.textContent;
|
|
8418
|
+
return {
|
|
8419
|
+
value: optionValue,
|
|
8420
|
+
text: optionText,
|
|
8421
|
+
$option: $option,
|
|
8422
|
+
};
|
|
8385
8423
|
},
|
|
8386
8424
|
/**
|
|
8387
8425
|
* 监听选择内容改变
|
|
@@ -8390,10 +8428,9 @@ System.register('pops', [], (function (exports) {
|
|
|
8390
8428
|
popsDOMUtils.on(this.$ele.select, "change", void 0, (event) => {
|
|
8391
8429
|
this.setSelectOptionsDisableStatus();
|
|
8392
8430
|
if (typeof formConfig.callback === "function") {
|
|
8393
|
-
let isSelectedElement = event.target[event.target.selectedIndex];
|
|
8394
|
-
let
|
|
8395
|
-
|
|
8396
|
-
formConfig.callback(event, isSelectedValue, isSelectedText);
|
|
8431
|
+
let $isSelectedElement = event.target[event.target.selectedIndex];
|
|
8432
|
+
let selectInfo = this.getSelectOptionInfo($isSelectedElement);
|
|
8433
|
+
formConfig.callback(event, selectInfo.value, selectInfo.text);
|
|
8397
8434
|
}
|
|
8398
8435
|
});
|
|
8399
8436
|
},
|
|
@@ -8461,6 +8498,24 @@ System.register('pops', [], (function (exports) {
|
|
|
8461
8498
|
this.disable();
|
|
8462
8499
|
}
|
|
8463
8500
|
},
|
|
8501
|
+
/**
|
|
8502
|
+
* 给option元素设置属性
|
|
8503
|
+
* @param $ele
|
|
8504
|
+
* @param key
|
|
8505
|
+
* @param value
|
|
8506
|
+
*/
|
|
8507
|
+
setNodeValue($ele, key, value) {
|
|
8508
|
+
Reflect.set($ele, key, value);
|
|
8509
|
+
},
|
|
8510
|
+
/**
|
|
8511
|
+
* 获取option元素上设置的属性
|
|
8512
|
+
* @param $ele
|
|
8513
|
+
* @param value
|
|
8514
|
+
* @param key
|
|
8515
|
+
*/
|
|
8516
|
+
getNodeValue($ele, key) {
|
|
8517
|
+
return Reflect.get($ele, key);
|
|
8518
|
+
},
|
|
8464
8519
|
/** 禁用 */
|
|
8465
8520
|
disable() {
|
|
8466
8521
|
this.$ele.select.setAttribute("disabled", "true");
|
|
@@ -8483,31 +8538,13 @@ System.register('pops', [], (function (exports) {
|
|
|
8483
8538
|
let optionElement = document.createElement("option");
|
|
8484
8539
|
this.setNodeValue(optionElement, this.$eleKey.value, dataItem.value);
|
|
8485
8540
|
this.setNodeValue(optionElement, this.$eleKey.disable, dataItem.disable);
|
|
8486
|
-
if (
|
|
8541
|
+
if (this.$data.defaultValue.includes(dataItem.value)) {
|
|
8487
8542
|
optionElement.setAttribute("selected", "true");
|
|
8488
8543
|
}
|
|
8489
8544
|
optionElement.innerText = dataItem.text;
|
|
8490
8545
|
this.$ele.select.appendChild(optionElement);
|
|
8491
8546
|
});
|
|
8492
8547
|
},
|
|
8493
|
-
/**
|
|
8494
|
-
* 给option元素设置属性
|
|
8495
|
-
* @param $ele
|
|
8496
|
-
* @param key
|
|
8497
|
-
* @param value
|
|
8498
|
-
*/
|
|
8499
|
-
setNodeValue($ele, key, value) {
|
|
8500
|
-
Reflect.set($ele, key, value);
|
|
8501
|
-
},
|
|
8502
|
-
/**
|
|
8503
|
-
* 获取option元素上设置的属性
|
|
8504
|
-
* @param $ele
|
|
8505
|
-
* @param value
|
|
8506
|
-
* @param key
|
|
8507
|
-
*/
|
|
8508
|
-
getNodeValue($ele, key) {
|
|
8509
|
-
return Reflect.get($ele, key);
|
|
8510
|
-
},
|
|
8511
8548
|
/** 检测所有option并设置禁用状态 */
|
|
8512
8549
|
setSelectOptionsDisableStatus() {
|
|
8513
8550
|
if (this.$ele.select.options && this.$ele.select.options.length) {
|