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