@whitesev/pops 2.1.3 → 2.1.4

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.esm.js CHANGED
@@ -327,8 +327,7 @@ class PopsUtils {
327
327
  if (target === PopsCore.self) {
328
328
  return true;
329
329
  }
330
- if (typeof unsafeWindow !== "undefined" &&
331
- target === unsafeWindow) {
330
+ if (typeof unsafeWindow !== "undefined" && target === unsafeWindow) {
332
331
  return true;
333
332
  }
334
333
  if (target?.Math?.toString() !== "[object Math]") {
@@ -7075,6 +7074,8 @@ const PanelHandleContentDetails = () => {
7075
7074
  * 元素
7076
7075
  */
7077
7076
  $el: {
7077
+ /** pops主元素 */
7078
+ $pops: null,
7078
7079
  /** 内容 */
7079
7080
  $content: null,
7080
7081
  /** 左侧容器 */
@@ -7087,8 +7088,6 @@ const PanelHandleContentDetails = () => {
7087
7088
  * @param details
7088
7089
  */
7089
7090
  init(details) {
7090
- // @ts-ignore
7091
- this.$el = null;
7092
7091
  this.$el = {
7093
7092
  ...details.$el,
7094
7093
  };
@@ -7151,11 +7150,12 @@ const PanelHandleContentDetails = () => {
7151
7150
  * 清空container容器的元素
7152
7151
  */
7153
7152
  clearContainer() {
7153
+ Reflect.deleteProperty(this.$el.$contentSectionContainer, "__formConfig__");
7154
7154
  PopsSafeUtils.setSafeHTML(this.sectionContainerHeaderULElement, "");
7155
7155
  PopsSafeUtils.setSafeHTML(this.sectionContainerULElement, "");
7156
7156
  this.$el.$content
7157
7157
  ?.querySelectorAll("section.pops-panel-deepMenu-container")
7158
- .forEach((ele) => ele.remove());
7158
+ .forEach(($el) => $el.remove());
7159
7159
  },
7160
7160
  /**
7161
7161
  * 清空左侧容器已访问记录
@@ -7163,8 +7163,8 @@ const PanelHandleContentDetails = () => {
7163
7163
  clearAsideItemIsVisited() {
7164
7164
  this.$el.$contentAside
7165
7165
  .querySelectorAll(".pops-is-visited")
7166
- .forEach((element) => {
7167
- popsDOMUtils.removeClassName(element, "pops-is-visited");
7166
+ .forEach(($el) => {
7167
+ popsDOMUtils.removeClassName($el, "pops-is-visited");
7168
7168
  });
7169
7169
  },
7170
7170
  /**
@@ -7241,34 +7241,33 @@ const PanelHandleContentDetails = () => {
7241
7241
  * @param asideConfig
7242
7242
  */
7243
7243
  createAsideItem(asideConfig) {
7244
- let liElement = document.createElement("li");
7245
- liElement.id = asideConfig.id;
7246
- // @ts-ignore
7247
- liElement["__forms__"] = asideConfig.forms;
7248
- PopsSafeUtils.setSafeHTML(liElement, asideConfig.title);
7244
+ let $li = document.createElement("li");
7245
+ $li.id = asideConfig.id;
7246
+ Reflect.set($li, "__forms__", asideConfig.forms);
7247
+ PopsSafeUtils.setSafeHTML($li, asideConfig.title);
7249
7248
  /* 处理className */
7250
- this.setElementClassName(liElement, asideConfig.className);
7251
- this.setElementAttributes(liElement, asideConfig.attributes);
7252
- this.setElementProps(liElement, asideConfig.props);
7253
- return liElement;
7249
+ this.setElementClassName($li, asideConfig.className);
7250
+ this.setElementAttributes($li, asideConfig.attributes);
7251
+ this.setElementProps($li, asideConfig.props);
7252
+ return $li;
7254
7253
  },
7255
7254
  /**
7256
- * 创建中间容器的元素<li>
7257
7255
  * type ==> switch
7256
+ * 创建中间容器的元素<li>
7258
7257
  * @param formConfig
7259
7258
  */
7260
7259
  createSectionContainerItem_switch(formConfig) {
7261
- let liElement = document.createElement("li");
7262
- liElement["__formConfig__"] = formConfig;
7263
- this.setElementClassName(liElement, formConfig.className);
7264
- this.setElementAttributes(liElement, formConfig.attributes);
7265
- this.setElementProps(liElement, formConfig.props);
7260
+ let $li = document.createElement("li");
7261
+ Reflect.set($li, "__formConfig__", formConfig);
7262
+ this.setElementClassName($li, formConfig.className);
7263
+ this.setElementAttributes($li, formConfig.attributes);
7264
+ this.setElementProps($li, formConfig.props);
7266
7265
  /* 左边底部的描述的文字 */
7267
7266
  let leftDescriptionText = "";
7268
7267
  if (Boolean(formConfig.description)) {
7269
7268
  leftDescriptionText = /*html*/ `<p class="pops-panel-item-left-desc-text">${formConfig.description}</p>`;
7270
7269
  }
7271
- PopsSafeUtils.setSafeHTML(liElement,
7270
+ PopsSafeUtils.setSafeHTML($li,
7272
7271
  /*html*/ `
7273
7272
  <div class="pops-panel-item-left-text">
7274
7273
  <p class="pops-panel-item-left-main-text">${formConfig.text}</p>${leftDescriptionText}</div>
@@ -7285,9 +7284,9 @@ const PanelHandleContentDetails = () => {
7285
7284
  value: Boolean(formConfig.getValue()),
7286
7285
  },
7287
7286
  $ele: {
7288
- switch: liElement.querySelector(".pops-panel-switch"),
7289
- input: liElement.querySelector(".pops-panel-switch__input"),
7290
- core: liElement.querySelector(".pops-panel-switch__core"),
7287
+ switch: $li.querySelector(".pops-panel-switch"),
7288
+ input: $li.querySelector(".pops-panel-switch__input"),
7289
+ core: $li.querySelector(".pops-panel-switch__core"),
7291
7290
  },
7292
7291
  init() {
7293
7292
  this.setStatus(this.$data.value);
@@ -7349,26 +7348,26 @@ const PanelHandleContentDetails = () => {
7349
7348
  },
7350
7349
  };
7351
7350
  PopsPanelSwitch.init();
7352
- liElement["data-switch"] = PopsPanelSwitch;
7353
- return liElement;
7351
+ Reflect.set($li, "data-switch", PopsPanelSwitch);
7352
+ return $li;
7354
7353
  },
7355
7354
  /**
7356
- * 获取中间容器的元素<li>
7357
7355
  * type ==> slider
7356
+ * 获取中间容器的元素<li>
7358
7357
  * @param formConfig
7359
7358
  */
7360
7359
  createSectionContainerItem_slider(formConfig) {
7361
- let liElement = document.createElement("li");
7362
- liElement["__formConfig__"] = formConfig;
7363
- this.setElementClassName(liElement, formConfig.className);
7364
- this.setElementAttributes(liElement, formConfig.attributes);
7365
- this.setElementProps(liElement, formConfig.props);
7360
+ let $li = document.createElement("li");
7361
+ Reflect.set($li, "__formConfig__", formConfig);
7362
+ this.setElementClassName($li, formConfig.className);
7363
+ this.setElementAttributes($li, formConfig.attributes);
7364
+ this.setElementProps($li, formConfig.props);
7366
7365
  /* 左边底部的描述的文字 */
7367
7366
  let leftDescriptionText = "";
7368
7367
  if (Boolean(formConfig.description)) {
7369
7368
  leftDescriptionText = `<p class="pops-panel-item-left-desc-text">${formConfig.description}</p>`;
7370
7369
  }
7371
- PopsSafeUtils.setSafeHTML(liElement,
7370
+ PopsSafeUtils.setSafeHTML($li,
7372
7371
  /*html*/ `
7373
7372
  <div class="pops-panel-item-left-text">
7374
7373
  <p class="pops-panel-item-left-main-text">${formConfig.text}</p>${leftDescriptionText}</div>
@@ -7376,11 +7375,11 @@ const PanelHandleContentDetails = () => {
7376
7375
  <input type="range" min="${formConfig.min}" max="${formConfig.max}">
7377
7376
  </div>
7378
7377
  `);
7379
- let rangeInputElement = liElement.querySelector(".pops-panel-slider input[type=range]");
7378
+ let $rangeInput = $li.querySelector(".pops-panel-slider input[type=range]");
7380
7379
  if (formConfig.step) {
7381
- rangeInputElement.setAttribute("step", formConfig.step.toString());
7380
+ $rangeInput.setAttribute("step", formConfig.step.toString());
7382
7381
  }
7383
- rangeInputElement.value = formConfig.getValue().toString();
7382
+ $rangeInput.value = formConfig.getValue().toString();
7384
7383
  /**
7385
7384
  * 获取提示的内容
7386
7385
  * @param value
@@ -7394,9 +7393,9 @@ const PanelHandleContentDetails = () => {
7394
7393
  }
7395
7394
  };
7396
7395
  let tooltip = PopsTooltip.init({
7397
- target: rangeInputElement.parentElement,
7396
+ target: $rangeInput.parentElement,
7398
7397
  content: () => {
7399
- return getToolTipContent(rangeInputElement.value);
7398
+ return getToolTipContent($rangeInput.value);
7400
7399
  },
7401
7400
  zIndex: () => {
7402
7401
  return PopsInstanceUtils.getPopsMaxZIndex().zIndex;
@@ -7407,32 +7406,31 @@ const PanelHandleContentDetails = () => {
7407
7406
  position: "top",
7408
7407
  arrowDistance: 10,
7409
7408
  });
7410
- popsDOMUtils.on(rangeInputElement, ["input", "propertychange"], void 0, function (event) {
7411
- tooltip.toolTip.changeContent(getToolTipContent(rangeInputElement.value));
7409
+ popsDOMUtils.on($rangeInput, ["input", "propertychange"], void 0, function (event) {
7410
+ tooltip.toolTip.changeContent(getToolTipContent($rangeInput.value));
7412
7411
  if (typeof formConfig.callback === "function") {
7413
- formConfig.callback(event, event.target.value);
7412
+ formConfig.callback(event, $rangeInput.valueAsNumber);
7414
7413
  }
7415
7414
  });
7416
- return liElement;
7415
+ return $li;
7417
7416
  },
7418
7417
  /**
7419
- * 获取中间容器的元素<li>
7420
7418
  * type ==> slider
7419
+ * 获取中间容器的元素<li>
7421
7420
  * @param formConfig
7422
7421
  */
7423
7422
  createSectionContainerItem_slider_new(formConfig) {
7424
- let liElement = document.createElement("li");
7425
- // @ts-ignore
7426
- liElement["__formConfig__"] = formConfig;
7427
- this.setElementClassName(liElement, formConfig.className);
7428
- this.setElementAttributes(liElement, formConfig.attributes);
7429
- this.setElementProps(liElement, formConfig.props);
7423
+ let $li = document.createElement("li");
7424
+ Reflect.set($li, "__formConfig__", formConfig);
7425
+ this.setElementClassName($li, formConfig.className);
7426
+ this.setElementAttributes($li, formConfig.attributes);
7427
+ this.setElementProps($li, formConfig.props);
7430
7428
  /* 左边底部的描述的文字 */
7431
7429
  let leftDescriptionText = "";
7432
7430
  if (Boolean(formConfig.description)) {
7433
7431
  leftDescriptionText = /*html*/ `<p class="pops-panel-item-left-desc-text">${formConfig.description}</p>`;
7434
7432
  }
7435
- PopsSafeUtils.setSafeHTML(liElement,
7433
+ PopsSafeUtils.setSafeHTML($li,
7436
7434
  /*html*/ `
7437
7435
  <div class="pops-panel-item-left-text" style="flex: 1;">
7438
7436
  <p class="pops-panel-item-left-main-text">${formConfig.text}</p>${leftDescriptionText}</div>
@@ -7507,11 +7505,11 @@ const PanelHandleContentDetails = () => {
7507
7505
  tooltip: null,
7508
7506
  },
7509
7507
  $ele: {
7510
- slider: liElement.querySelector(".pops-slider"),
7511
- runAway: liElement.querySelector(".pops-slider__runway"),
7512
- bar: liElement.querySelector(".pops-slider__bar"),
7513
- buttonWrapper: liElement.querySelector(".pops-slider__button-wrapper"),
7514
- button: liElement.querySelector(".pops-slider__button"),
7508
+ slider: $li.querySelector(".pops-slider"),
7509
+ runAway: $li.querySelector(".pops-slider__runway"),
7510
+ bar: $li.querySelector(".pops-slider__bar"),
7511
+ buttonWrapper: $li.querySelector(".pops-slider__button-wrapper"),
7512
+ button: $li.querySelector(".pops-slider__button"),
7515
7513
  },
7516
7514
  $interval: {
7517
7515
  isCheck: false,
@@ -7577,14 +7575,10 @@ const PanelHandleContentDetails = () => {
7577
7575
  this.$ele.slider.setAttribute("data-max", this.max.toString());
7578
7576
  this.$ele.slider.setAttribute("data-value", this.value.toString());
7579
7577
  this.$ele.slider.setAttribute("data-step", this.step.toString());
7580
- // @ts-ignore
7581
- this.$ele.slider["data-min"] = this.min;
7582
- // @ts-ignore
7583
- this.$ele.slider["data-max"] = this.max;
7584
- // @ts-ignore
7585
- this.$ele.slider["data-value"] = this.value;
7586
- // @ts-ignore
7587
- this.$ele.slider["data-step"] = this.step;
7578
+ Reflect.set(this.$ele.slider, "data-min", this.min);
7579
+ Reflect.set(this.$ele.slider, "data-max", this.max);
7580
+ Reflect.set(this.$ele.slider, "data-value", this.value);
7581
+ Reflect.set(this.$ele.slider, "data-step", this.step);
7588
7582
  },
7589
7583
  /**
7590
7584
  * 初始化滑块的总长度的数据(px)
@@ -7604,7 +7598,7 @@ const PanelHandleContentDetails = () => {
7604
7598
  let widthPx = 0;
7605
7599
  for (let stepValue = this.min; stepValue <= this.max; stepValue += this.step) {
7606
7600
  let value = this.formatValue(stepValue);
7607
- let info = {};
7601
+ let info;
7608
7602
  if (value === this.min) {
7609
7603
  /* 起始 */
7610
7604
  info = {
@@ -7647,7 +7641,7 @@ const PanelHandleContentDetails = () => {
7647
7641
  let widthPx = 0;
7648
7642
  for (let stepValue = this.min; stepValue <= this.max; stepValue = PopsMathFloatUtils.add(stepValue, this.step)) {
7649
7643
  let value = this.formatValue(stepValue);
7650
- let info = {};
7644
+ let info;
7651
7645
  if (value === this.min) {
7652
7646
  /* 起始 */
7653
7647
  info = {
@@ -7805,7 +7799,7 @@ const PanelHandleContentDetails = () => {
7805
7799
  event.target !== this.$ele.bar) {
7806
7800
  return;
7807
7801
  }
7808
- let clickX = parseFloat(event.offsetX);
7802
+ let clickX = parseFloat(event.offsetX.toString());
7809
7803
  this.dragStartCallBack();
7810
7804
  this.dragMoveCallBack(event, clickX, this.value);
7811
7805
  this.dragEndCallBack(clickX);
@@ -7958,7 +7952,7 @@ const PanelHandleContentDetails = () => {
7958
7952
  return formConfig.getToolTipContent(PopsPanelSlider.value);
7959
7953
  }
7960
7954
  else {
7961
- return PopsPanelSlider.value;
7955
+ return PopsPanelSlider.value.toString();
7962
7956
  }
7963
7957
  }
7964
7958
  let tooltip = PopsTooltip.init({
@@ -8002,20 +7996,20 @@ const PanelHandleContentDetails = () => {
8002
7996
  },
8003
7997
  };
8004
7998
  PopsPanelSlider.init();
8005
- liElement["data-slider"] = PopsPanelSlider;
8006
- return liElement;
7999
+ Reflect.set($li, "data-slider", PopsPanelSlider);
8000
+ return $li;
8007
8001
  },
8008
8002
  /**
8009
- * 获取中间容器的元素<li>
8010
8003
  * type ==> input
8004
+ * 获取中间容器的元素<li>
8011
8005
  * @param formConfig
8012
8006
  */
8013
8007
  createSectionContainerItem_input(formConfig) {
8014
- let liElement = document.createElement("li");
8015
- liElement["__formConfig__"] = formConfig;
8016
- this.setElementClassName(liElement, formConfig.className);
8017
- this.setElementAttributes(liElement, formConfig.attributes);
8018
- this.setElementProps(liElement, formConfig.props);
8008
+ let $li = document.createElement("li");
8009
+ Reflect.set($li, "__formConfig__", formConfig);
8010
+ this.setElementClassName($li, formConfig.className);
8011
+ this.setElementAttributes($li, formConfig.attributes);
8012
+ this.setElementProps($li, formConfig.props);
8019
8013
  let inputType = "text";
8020
8014
  if (formConfig.isPassword) {
8021
8015
  inputType = "password";
@@ -8028,7 +8022,7 @@ const PanelHandleContentDetails = () => {
8028
8022
  if (Boolean(formConfig.description)) {
8029
8023
  leftDescriptionText = `<p class="pops-panel-item-left-desc-text">${formConfig.description}</p>`;
8030
8024
  }
8031
- PopsSafeUtils.setSafeHTML(liElement,
8025
+ PopsSafeUtils.setSafeHTML($li,
8032
8026
  /*html*/ `
8033
8027
  <div class="pops-panel-item-left-text">
8034
8028
  <p class="pops-panel-item-left-main-text">${formConfig.text}</p>${leftDescriptionText}</div>
@@ -8039,8 +8033,8 @@ const PanelHandleContentDetails = () => {
8039
8033
  const PopsPanelInput = {
8040
8034
  [Symbol.toStringTag]: "PopsPanelInput",
8041
8035
  $ele: {
8042
- panelInput: liElement.querySelector(".pops-panel-input"),
8043
- input: liElement.querySelector("input"),
8036
+ panelInput: $li.querySelector(".pops-panel-input"),
8037
+ input: $li.querySelector("input"),
8044
8038
  inputSpanIcon: document.createElement("span"),
8045
8039
  inputSpanIconInner: null,
8046
8040
  icon: null,
@@ -8069,7 +8063,7 @@ const PanelHandleContentDetails = () => {
8069
8063
  this.disable();
8070
8064
  }
8071
8065
  if (typeof formConfig.handlerCallBack === "function") {
8072
- formConfig.handlerCallBack(liElement, this.$ele.input);
8066
+ formConfig.handlerCallBack($li, this.$ele.input);
8073
8067
  }
8074
8068
  },
8075
8069
  /**
@@ -8204,26 +8198,26 @@ const PanelHandleContentDetails = () => {
8204
8198
  },
8205
8199
  };
8206
8200
  PopsPanelInput.init();
8207
- liElement["data-input"] = PopsPanelInput;
8208
- return liElement;
8201
+ Reflect.set($li, "data-input", PopsPanelInput);
8202
+ return $li;
8209
8203
  },
8210
8204
  /**
8211
- * 获取中间容器的元素<li>
8212
8205
  * type ==> textarea
8206
+ * 获取中间容器的元素<li>
8213
8207
  * @param formConfig
8214
8208
  */
8215
8209
  createSectionContainerItem_textarea(formConfig) {
8216
- let liElement = document.createElement("li");
8217
- liElement["__formConfig__"] = formConfig;
8218
- this.setElementClassName(liElement, formConfig.className);
8219
- this.setElementAttributes(liElement, formConfig.attributes);
8220
- this.setElementProps(liElement, formConfig.props);
8210
+ let $li = document.createElement("li");
8211
+ Reflect.set($li, "__formConfig__", formConfig);
8212
+ this.setElementClassName($li, formConfig.className);
8213
+ this.setElementAttributes($li, formConfig.attributes);
8214
+ this.setElementProps($li, formConfig.props);
8221
8215
  /* 左边底部的描述的文字 */
8222
8216
  let leftDescriptionText = "";
8223
8217
  if (Boolean(formConfig.description)) {
8224
8218
  leftDescriptionText = `<p class="pops-panel-item-left-desc-text">${formConfig.description}</p>`;
8225
8219
  }
8226
- PopsSafeUtils.setSafeHTML(liElement,
8220
+ PopsSafeUtils.setSafeHTML($li,
8227
8221
  /*html*/ `
8228
8222
  <div class="pops-panel-item-left-text">
8229
8223
  <p class="pops-panel-item-left-main-text">${formConfig.text}</p>${leftDescriptionText}</div>
@@ -8234,8 +8228,8 @@ const PanelHandleContentDetails = () => {
8234
8228
  const PopsPanelTextArea = {
8235
8229
  [Symbol.toStringTag]: "PopsPanelTextArea",
8236
8230
  $ele: {
8237
- panelTextarea: liElement.querySelector(".pops-panel-textarea"),
8238
- textarea: liElement.querySelector(".pops-panel-textarea textarea"),
8231
+ panelTextarea: $li.querySelector(".pops-panel-textarea"),
8232
+ textarea: $li.querySelector(".pops-panel-textarea textarea"),
8239
8233
  },
8240
8234
  $data: {
8241
8235
  value: formConfig.getValue(),
@@ -8267,35 +8261,36 @@ const PanelHandleContentDetails = () => {
8267
8261
  */
8268
8262
  setChangeEvent() {
8269
8263
  popsDOMUtils.on(this.$ele.textarea, ["input", "propertychange"], void 0, (event) => {
8270
- this.$data.value = event.target.value;
8264
+ let value = this.$ele.textarea.value;
8265
+ this.$data.value = value;
8271
8266
  if (typeof formConfig.callback === "function") {
8272
- formConfig.callback(event, event.target.value);
8267
+ formConfig.callback(event, value);
8273
8268
  }
8274
8269
  });
8275
8270
  },
8276
8271
  };
8277
8272
  PopsPanelTextArea.init();
8278
- liElement["data-textarea"] = PopsPanelTextArea;
8279
- return liElement;
8273
+ Reflect.set($li, "data-textarea", PopsPanelTextArea);
8274
+ return $li;
8280
8275
  },
8281
8276
  /**
8282
- * 获取中间容器的元素<li>
8283
8277
  * type ==> select
8278
+ * 获取中间容器的元素<li>
8284
8279
  * @param formConfig
8285
8280
  */
8286
8281
  createSectionContainerItem_select(formConfig) {
8287
8282
  const that = this;
8288
- let liElement = document.createElement("li");
8289
- liElement["__formConfig__"] = formConfig;
8290
- this.setElementClassName(liElement, formConfig.className);
8291
- this.setElementAttributes(liElement, formConfig.attributes);
8292
- this.setElementProps(liElement, formConfig.props);
8283
+ let $li = document.createElement("li");
8284
+ Reflect.set($li, "__formConfig__", formConfig);
8285
+ this.setElementClassName($li, formConfig.className);
8286
+ this.setElementAttributes($li, formConfig.attributes);
8287
+ this.setElementProps($li, formConfig.props);
8293
8288
  /* 左边底部的描述的文字 */
8294
8289
  let leftDescriptionText = "";
8295
8290
  if (Boolean(formConfig.description)) {
8296
8291
  leftDescriptionText = /*html*/ `<p class="pops-panel-item-left-desc-text">${formConfig.description}</p>`;
8297
8292
  }
8298
- PopsSafeUtils.setSafeHTML(liElement,
8293
+ PopsSafeUtils.setSafeHTML($li,
8299
8294
  /*html*/ `
8300
8295
  <div class="pops-panel-item-left-text">
8301
8296
  <p class="pops-panel-item-left-main-text">${formConfig.text}</p>${leftDescriptionText}</div>
@@ -8306,8 +8301,8 @@ const PanelHandleContentDetails = () => {
8306
8301
  const PopsPanelSelect = {
8307
8302
  [Symbol.toStringTag]: "PopsPanelSelect",
8308
8303
  $ele: {
8309
- panelSelect: liElement.querySelector(".pops-panel-select"),
8310
- select: liElement.querySelector(".pops-panel-select select"),
8304
+ panelSelect: $li.querySelector(".pops-panel-select"),
8305
+ select: $li.querySelector(".pops-panel-select select"),
8311
8306
  },
8312
8307
  $eleKey: {
8313
8308
  disable: "__disable__",
@@ -8427,7 +8422,7 @@ const PanelHandleContentDetails = () => {
8427
8422
  */
8428
8423
  setChangeEvent() {
8429
8424
  popsDOMUtils.on(this.$ele.select, "change", void 0, (event) => {
8430
- let $isSelectedElement = event.target[event.target.selectedIndex];
8425
+ let $isSelectedElement = this.$ele.select[this.$ele.select.selectedIndex];
8431
8426
  let selectInfo = this.getSelectOptionInfo($isSelectedElement);
8432
8427
  this.setSelectOptionsDisableStatus();
8433
8428
  if (typeof formConfig.callback === "function") {
@@ -8440,9 +8435,9 @@ const PanelHandleContentDetails = () => {
8440
8435
  /* 如果成功创建,加入到中间容器中 */
8441
8436
  let childUListClassName = "pops-panel-select-child-forms";
8442
8437
  // 移除旧的元素
8443
- while (liElement.nextElementSibling) {
8444
- if (liElement.nextElementSibling.classList.contains(childUListClassName)) {
8445
- liElement.nextElementSibling.remove();
8438
+ while ($li.nextElementSibling) {
8439
+ if ($li.nextElementSibling.classList.contains(childUListClassName)) {
8440
+ $li.nextElementSibling.remove();
8446
8441
  }
8447
8442
  else {
8448
8443
  break;
@@ -8450,7 +8445,7 @@ const PanelHandleContentDetails = () => {
8450
8445
  }
8451
8446
  let $childUList = document.createElement("ul");
8452
8447
  $childUList.className = childUListClassName;
8453
- popsDOMUtils.after(liElement, $childUList);
8448
+ popsDOMUtils.after($li, $childUList);
8454
8449
  that.uListContainerAddItem(formConfig, {
8455
8450
  ulElement: $childUList,
8456
8451
  });
@@ -8470,26 +8465,26 @@ const PanelHandleContentDetails = () => {
8470
8465
  },
8471
8466
  };
8472
8467
  PopsPanelSelect.init();
8473
- Reflect.set(liElement, "data-select", PopsPanelSelect);
8474
- return liElement;
8468
+ Reflect.set($li, "data-select", PopsPanelSelect);
8469
+ return $li;
8475
8470
  },
8476
8471
  /**
8477
- * 获取中间容器的元素<li>
8478
8472
  * type ==> select-multiple
8473
+ * 获取中间容器的元素<li>
8479
8474
  * @param formConfig
8480
8475
  */
8481
8476
  createSectionContainerItem_select_multiple_new(formConfig) {
8482
- let liElement = document.createElement("li");
8483
- Reflect.set(liElement, "__formConfig__", formConfig);
8484
- this.setElementClassName(liElement, formConfig.className);
8485
- this.setElementAttributes(liElement, formConfig.attributes);
8486
- this.setElementProps(liElement, formConfig.props);
8477
+ let $li = document.createElement("li");
8478
+ Reflect.set($li, "__formConfig__", formConfig);
8479
+ this.setElementClassName($li, formConfig.className);
8480
+ this.setElementAttributes($li, formConfig.attributes);
8481
+ this.setElementProps($li, formConfig.props);
8487
8482
  /* 左边底部的描述的文字 */
8488
8483
  let leftDescriptionText = "";
8489
8484
  if (Boolean(formConfig.description)) {
8490
8485
  leftDescriptionText = /*html*/ `<p class="pops-panel-item-left-desc-text">${formConfig.description}</p>`;
8491
8486
  }
8492
- PopsSafeUtils.setSafeHTML(liElement,
8487
+ PopsSafeUtils.setSafeHTML($li,
8493
8488
  /*html*/ `
8494
8489
  <div class="pops-panel-item-left-text">
8495
8490
  <p class="pops-panel-item-left-main-text">${formConfig.text}</p>${leftDescriptionText}</div>
@@ -8564,15 +8559,14 @@ const PanelHandleContentDetails = () => {
8564
8559
  },
8565
8560
  /** 初始化$el变量 */
8566
8561
  inintEl() {
8567
- this.$el.$container = liElement.querySelector(".pops-panel-select-multiple");
8568
- this.$el.$wrapper = liElement.querySelector(".el-select__wrapper");
8569
- this.$el.$section = liElement.querySelector(".el-select__selection");
8570
- this.$el.$selectedInputWrapper = liElement.querySelector(".el-select__selected-item.el-select__input-wrapper");
8571
- this.$el.$selectedPlaceHolderWrapper =
8572
- liElement.querySelector(".el-select__selected-item.el-select__placeholder");
8562
+ this.$el.$container = $li.querySelector(".pops-panel-select-multiple");
8563
+ this.$el.$wrapper = $li.querySelector(".el-select__wrapper");
8564
+ this.$el.$section = $li.querySelector(".el-select__selection");
8565
+ this.$el.$selectedInputWrapper = $li.querySelector(".el-select__selected-item.el-select__input-wrapper");
8566
+ this.$el.$selectedPlaceHolderWrapper = $li.querySelector(".el-select__selected-item.el-select__placeholder");
8573
8567
  this.$el.$suffix =
8574
- liElement.querySelector(".el-select__suffix");
8575
- this.$el.$suffixIcon = liElement.querySelector(".el-select__suffix .el-icon");
8568
+ $li.querySelector(".el-select__suffix");
8569
+ this.$el.$suffixIcon = $li.querySelector(".el-select__suffix .el-icon");
8576
8570
  // 先把手动输入框隐藏
8577
8571
  this.hideInputWrapper();
8578
8572
  },
@@ -9130,26 +9124,26 @@ const PanelHandleContentDetails = () => {
9130
9124
  },
9131
9125
  };
9132
9126
  PopsPanelSelectMultiple.init();
9133
- Reflect.set(liElement, "data-select-multiple", PopsPanelSelectMultiple);
9134
- return liElement;
9127
+ Reflect.set($li, "data-select-multiple", PopsPanelSelectMultiple);
9128
+ return $li;
9135
9129
  },
9136
9130
  /**
9137
- * 获取中间容器的元素<li>
9138
9131
  * type ==> button
9132
+ * 获取中间容器的元素<li>
9139
9133
  * @param formConfig
9140
9134
  */
9141
9135
  createSectionContainerItem_button(formConfig) {
9142
- let liElement = document.createElement("li");
9143
- liElement["__formConfig__"] = formConfig;
9144
- this.setElementClassName(liElement, formConfig.className);
9145
- this.setElementAttributes(liElement, formConfig.attributes);
9146
- this.setElementProps(liElement, formConfig.props);
9136
+ let $li = document.createElement("li");
9137
+ Reflect.set($li, "__formConfig__", formConfig);
9138
+ this.setElementClassName($li, formConfig.className);
9139
+ this.setElementAttributes($li, formConfig.attributes);
9140
+ this.setElementProps($li, formConfig.props);
9147
9141
  /* 左边底部的描述的文字 */
9148
9142
  let leftDescriptionText = "";
9149
9143
  if (Boolean(formConfig.description)) {
9150
9144
  leftDescriptionText = /*html*/ `<p class="pops-panel-item-left-desc-text">${formConfig.description}</p>`;
9151
9145
  }
9152
- PopsSafeUtils.setSafeHTML(liElement,
9146
+ PopsSafeUtils.setSafeHTML($li,
9153
9147
  /*html*/ `
9154
9148
  <div class="pops-panel-item-left-text">
9155
9149
  <p class="pops-panel-item-left-main-text">${formConfig.text}</p>${leftDescriptionText}</div>
@@ -9163,10 +9157,10 @@ const PanelHandleContentDetails = () => {
9163
9157
  const PopsPanelButton = {
9164
9158
  [Symbol.toStringTag]: "PopsPanelButton",
9165
9159
  $ele: {
9166
- panelButton: liElement.querySelector(".pops-panel-button"),
9167
- button: liElement.querySelector(".pops-panel-button .pops-panel-button_inner"),
9168
- icon: liElement.querySelector(".pops-panel-button .pops-bottom-icon"),
9169
- spanText: liElement.querySelector(".pops-panel-button .pops-panel-button-text"),
9160
+ panelButton: $li.querySelector(".pops-panel-button"),
9161
+ button: $li.querySelector(".pops-panel-button .pops-panel-button_inner"),
9162
+ icon: $li.querySelector(".pops-panel-button .pops-bottom-icon"),
9163
+ spanText: $li.querySelector(".pops-panel-button .pops-panel-button-text"),
9170
9164
  },
9171
9165
  $data: {},
9172
9166
  init() {
@@ -9279,10 +9273,11 @@ const PanelHandleContentDetails = () => {
9279
9273
  },
9280
9274
  };
9281
9275
  PopsPanelButton.init();
9282
- liElement["data-button"] = PopsPanelButton;
9283
- return liElement;
9276
+ Reflect.set($li, "data-button", PopsPanelButton);
9277
+ return $li;
9284
9278
  },
9285
9279
  /**
9280
+ * type ==> deepMenu
9286
9281
  * 获取深层容器的元素<li>
9287
9282
  * @param formConfig
9288
9283
  */
@@ -9290,7 +9285,7 @@ const PanelHandleContentDetails = () => {
9290
9285
  let that = this;
9291
9286
  let $li = document.createElement("li");
9292
9287
  $li.classList.add("pops-panel-deepMenu-nav-item");
9293
- $li["__formConfig__"] = formConfig;
9288
+ Reflect.set($li, "__formConfig__", formConfig);
9294
9289
  this.setElementClassName($li, formConfig.className);
9295
9290
  // 设置属性
9296
9291
  this.setElementAttributes($li, formConfig.attributes);
@@ -9426,6 +9421,7 @@ const PanelHandleContentDetails = () => {
9426
9421
  let $deepMenuContainer = popsDOMUtils.createElement("section", {
9427
9422
  className: "pops-panel-container pops-panel-deepMenu-container",
9428
9423
  });
9424
+ Reflect.set($deepMenuContainer, "__formConfig__", formConfig);
9429
9425
  let $deepMenuHeaderUL = popsDOMUtils.createElement("ul", {
9430
9426
  className: "pops-panel-deepMenu-container-header-ul",
9431
9427
  });
@@ -9440,13 +9436,13 @@ const PanelHandleContentDetails = () => {
9440
9436
  className: "pops-panel-deepMenu-container-left-arrow-icon",
9441
9437
  innerHTML: PopsIcon.getIcon("arrowLeft"),
9442
9438
  });
9443
- popsDOMUtils.on($headerLeftArrow, "click", void 0, (event) => {
9444
- event?.preventDefault();
9445
- event?.stopPropagation();
9439
+ popsDOMUtils.on($headerLeftArrow, "click", (event) => {
9440
+ popsDOMUtils.preventEvent(event);
9446
9441
  // 返回上一层菜单
9447
- let $prev = $deepMenuContainer.previousElementSibling;
9442
+ let $prev = ($deepMenuContainer.previousElementSibling);
9448
9443
  popsDOMUtils.cssShow($prev);
9449
9444
  $deepMenuContainer.remove();
9445
+ that.triggerRenderRightContainer($prev);
9450
9446
  }, {
9451
9447
  once: true,
9452
9448
  });
@@ -9469,6 +9465,7 @@ const PanelHandleContentDetails = () => {
9469
9465
  sectionBodyContainer: $deepMenuBodyUL,
9470
9466
  });
9471
9467
  }
9468
+ that.triggerRenderRightContainer($deepMenuContainer);
9472
9469
  },
9473
9470
  /** 设置项的点击事件 */
9474
9471
  setLiClickEvent() {
@@ -9484,22 +9481,22 @@ const PanelHandleContentDetails = () => {
9484
9481
  },
9485
9482
  };
9486
9483
  PopsPanelDeepMenu.init();
9487
- $li["data-deepMenu"] = PopsPanelDeepMenu;
9484
+ Reflect.set($li, "data-deepMenu", PopsPanelDeepMenu);
9488
9485
  return $li;
9489
9486
  },
9490
9487
  /**
9491
- * 获取中间容器的元素<li>
9492
9488
  * type ===> own
9489
+ * 获取中间容器的元素<li>
9493
9490
  * @param formConfig
9494
9491
  */
9495
9492
  createSectionContainerItem_own(formConfig) {
9496
- let liElement = document.createElement("li");
9497
- liElement["__formConfig__"] = formConfig;
9493
+ let $li = document.createElement("li");
9494
+ Reflect.set($li, "__formConfig__", formConfig);
9498
9495
  if (formConfig.className) {
9499
- liElement.className = formConfig.className;
9496
+ $li.className = formConfig.className;
9500
9497
  }
9501
- liElement = formConfig.getLiElementCallBack(liElement);
9502
- return liElement;
9498
+ $li = formConfig.getLiElementCallBack($li);
9499
+ return $li;
9503
9500
  },
9504
9501
  /**
9505
9502
  * 获取中间容器的元素<li>
@@ -9620,6 +9617,17 @@ const PanelHandleContentDetails = () => {
9620
9617
  });
9621
9618
  }
9622
9619
  },
9620
+ /**
9621
+ * 触发触发渲染右侧容器的事件
9622
+ */
9623
+ triggerRenderRightContainer($container) {
9624
+ let __formConfig__ = Reflect.get($container, "__formConfig__");
9625
+ this.$el.$pops.dispatchEvent(new CustomEvent("pops:renderRightContainer", {
9626
+ detail: {
9627
+ formConfig: __formConfig__,
9628
+ },
9629
+ }));
9630
+ },
9623
9631
  /**
9624
9632
  *
9625
9633
  * @param formConfig
@@ -9646,6 +9654,8 @@ const PanelHandleContentDetails = () => {
9646
9654
  const that = this;
9647
9655
  popsDOMUtils.on(asideLiElement, "click", void 0, (event) => {
9648
9656
  this.clearContainer();
9657
+ let rightContainerFormConfig = Reflect.get(asideLiElement, "__forms__");
9658
+ Reflect.set(that.$el.$contentSectionContainer, "__formConfig__", rightContainerFormConfig);
9649
9659
  popsDOMUtils.cssShow(that.$el.$contentSectionContainer);
9650
9660
  this.clearAsideItemIsVisited();
9651
9661
  this.setAsideItemIsVisited(asideLiElement);
@@ -9653,20 +9663,19 @@ const PanelHandleContentDetails = () => {
9653
9663
  let headerTitleText = asideConfig.headerTitle ?? asideConfig.title;
9654
9664
  if (typeof headerTitleText === "string" &&
9655
9665
  headerTitleText.trim() !== "") {
9656
- let containerHeaderTitleLIElement = document.createElement("li");
9657
- containerHeaderTitleLIElement["__asideConfig__"] =
9658
- asideConfig;
9659
- PopsSafeUtils.setSafeHTML(containerHeaderTitleLIElement, headerTitleText);
9660
- this.sectionContainerHeaderULElement.appendChild(containerHeaderTitleLIElement);
9661
- }
9662
- let __forms__ = asideLiElement["__forms__"];
9663
- __forms__.forEach((formConfig) => {
9666
+ let $containerHeaderTitle = document.createElement("li");
9667
+ Reflect.set($containerHeaderTitle, "__asideConfig__", asideConfig);
9668
+ PopsSafeUtils.setSafeHTML($containerHeaderTitle, headerTitleText);
9669
+ this.sectionContainerHeaderULElement.appendChild($containerHeaderTitle);
9670
+ }
9671
+ rightContainerFormConfig.forEach((formConfig) => {
9664
9672
  this.createSectionContainerItem_forms(formConfig);
9665
9673
  });
9666
9674
  if (typeof asideConfig.callback === "function") {
9667
9675
  /* 执行回调 */
9668
9676
  asideConfig.callback(event, this.sectionContainerHeaderULElement, this.sectionContainerULElement);
9669
9677
  }
9678
+ that.triggerRenderRightContainer(that.$el.$contentSectionContainer);
9670
9679
  });
9671
9680
  },
9672
9681
  };
@@ -9763,6 +9772,7 @@ const PopsPanel = {
9763
9772
  panelHandleContentDetails.init({
9764
9773
  config: config,
9765
9774
  $el: {
9775
+ $pops: $pops,
9766
9776
  $content: $content,
9767
9777
  $contentAside: $contentAside,
9768
9778
  $contentSectionContainer: $contentSectionContainer,
@@ -9787,7 +9797,15 @@ const PopsPanel = {
9787
9797
  });
9788
9798
  }
9789
9799
  let result = PopsHandler.handleResultDetails(eventDetails);
9790
- return result;
9800
+ return {
9801
+ ...result,
9802
+ addEventListener: (event, listener, options) => {
9803
+ $pops.addEventListener(event, listener, options);
9804
+ },
9805
+ removeEventListener: (event, listener, options) => {
9806
+ $pops.removeEventListener(event, listener, options);
9807
+ },
9808
+ };
9791
9809
  },
9792
9810
  };
9793
9811
 
@@ -11031,7 +11049,7 @@ class Pops {
11031
11049
  /** 配置 */
11032
11050
  config = {
11033
11051
  /** 版本号 */
11034
- version: "2025.6.18",
11052
+ version: "2025.6.25",
11035
11053
  cssText: PopsCSS,
11036
11054
  /** icon图标的svg代码 */
11037
11055
  iconSVG: PopsIcon.$data,