@liuzengwei/element-ui 2.15.5-xn.52 → 2.15.5-xn.54
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/lib/alert.js +2 -2
- package/lib/area-picker.js +2 -2
- package/lib/aside.js +2 -2
- package/lib/backtop.js +2 -2
- package/lib/badge.js +2 -2
- package/lib/breadcrumb-item.js +2 -2
- package/lib/breadcrumb.js +2 -2
- package/lib/button-group.js +2 -2
- package/lib/button.js +2 -2
- package/lib/calendar.js +2 -2
- package/lib/card.js +2 -2
- package/lib/carousel-item.js +2 -2
- package/lib/carousel.js +2 -2
- package/lib/cascader-panel.js +2 -2
- package/lib/cascader.js +4 -4
- package/lib/checkbox-button.js +2 -2
- package/lib/checkbox-group.js +2 -2
- package/lib/checkbox.js +2 -2
- package/lib/collapse-item.js +2 -2
- package/lib/collapse.js +2 -2
- package/lib/color-picker.js +4 -4
- package/lib/container.js +2 -2
- package/lib/date-picker.js +5 -5
- package/lib/dialog.js +2 -2
- package/lib/divider.js +2 -2
- package/lib/drawer.js +423 -23
- package/lib/dropdown-item.js +2 -2
- package/lib/dropdown-menu.js +2 -2
- package/lib/element-ui.common.js +393 -14
- package/lib/footer.js +2 -2
- package/lib/form.js +2 -2
- package/lib/header.js +2 -2
- package/lib/icon.js +2 -2
- package/lib/image.js +2 -2
- package/lib/index.js +1 -1
- package/lib/input-number.js +2 -2
- package/lib/link.js +2 -2
- package/lib/loading.js +2 -2
- package/lib/main.js +2 -2
- package/lib/menu-item-group.js +2 -2
- package/lib/menu-item.js +2 -2
- package/lib/message-box.js +4 -4
- package/lib/message.js +2 -2
- package/lib/notification.js +2 -2
- package/lib/option-group.js +2 -2
- package/lib/page-header.js +2 -2
- package/lib/pagination.js +2 -2
- package/lib/popover.js +2 -2
- package/lib/progress.js +2 -2
- package/lib/radio-button.js +2 -2
- package/lib/radio-group.js +2 -2
- package/lib/radio.js +9 -9
- package/lib/rate.js +2 -2
- package/lib/select.js +2 -2
- package/lib/spinner.js +2 -2
- package/lib/step.js +2 -2
- package/lib/steps.js +2 -2
- package/lib/switch.js +2 -2
- package/lib/tab-pane.js +2 -2
- package/lib/table.js +4 -4
- package/lib/time-picker.js +5 -5
- package/lib/time-select.js +2 -2
- package/lib/timeline-item.js +2 -2
- package/lib/tooltip.js +2 -2
- package/lib/transfer.js +2 -2
- package/lib/trigger.js +5 -5
- package/lib/upload.js +8 -8
- package/package.json +1 -1
- package/packages/drawer/src/main.vue +184 -9
- package/src/index.js +1 -1
package/lib/element-ui.common.js
CHANGED
|
@@ -113,19 +113,19 @@ module.exports = require("@liuzengwei/element-ui/lib/mixins/emitter");
|
|
|
113
113
|
/* 4 */
|
|
114
114
|
/***/ (function(module, exports) {
|
|
115
115
|
|
|
116
|
-
module.exports = require("
|
|
116
|
+
module.exports = require("vue");
|
|
117
117
|
|
|
118
118
|
/***/ }),
|
|
119
119
|
/* 5 */
|
|
120
120
|
/***/ (function(module, exports) {
|
|
121
121
|
|
|
122
|
-
module.exports = require("@liuzengwei/element-ui/lib/
|
|
122
|
+
module.exports = require("@liuzengwei/element-ui/lib/utils/vue-popper");
|
|
123
123
|
|
|
124
124
|
/***/ }),
|
|
125
125
|
/* 6 */
|
|
126
126
|
/***/ (function(module, exports) {
|
|
127
127
|
|
|
128
|
-
module.exports = require("
|
|
128
|
+
module.exports = require("@liuzengwei/element-ui/lib/mixins/locale");
|
|
129
129
|
|
|
130
130
|
/***/ }),
|
|
131
131
|
/* 7 */
|
|
@@ -810,7 +810,7 @@ var input_ = __webpack_require__(8);
|
|
|
810
810
|
var input_default = /*#__PURE__*/__webpack_require__.n(input_);
|
|
811
811
|
|
|
812
812
|
// EXTERNAL MODULE: external "@liuzengwei/element-ui/lib/mixins/locale"
|
|
813
|
-
var locale_ = __webpack_require__(
|
|
813
|
+
var locale_ = __webpack_require__(6);
|
|
814
814
|
var locale_default = /*#__PURE__*/__webpack_require__.n(locale_);
|
|
815
815
|
|
|
816
816
|
// EXTERNAL MODULE: external "@liuzengwei/element-ui/lib/utils/util"
|
|
@@ -1850,7 +1850,7 @@ autocomplete_suggestionsvue_type_template_id_cd10dcf0_render._withStripped = tru
|
|
|
1850
1850
|
// CONCATENATED MODULE: ./packages/autocomplete/src/autocomplete-suggestions.vue?vue&type=template&id=cd10dcf0&
|
|
1851
1851
|
|
|
1852
1852
|
// EXTERNAL MODULE: external "@liuzengwei/element-ui/lib/utils/vue-popper"
|
|
1853
|
-
var vue_popper_ = __webpack_require__(
|
|
1853
|
+
var vue_popper_ = __webpack_require__(5);
|
|
1854
1854
|
var vue_popper_default = /*#__PURE__*/__webpack_require__.n(vue_popper_);
|
|
1855
1855
|
|
|
1856
1856
|
// EXTERNAL MODULE: external "@liuzengwei/element-ui/lib/scrollbar"
|
|
@@ -10428,7 +10428,7 @@ var mousewheel_mousewheel = function mousewheel(element, callback) {
|
|
|
10428
10428
|
}
|
|
10429
10429
|
});
|
|
10430
10430
|
// EXTERNAL MODULE: external "vue"
|
|
10431
|
-
var external_vue_ = __webpack_require__(
|
|
10431
|
+
var external_vue_ = __webpack_require__(4);
|
|
10432
10432
|
var external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_);
|
|
10433
10433
|
|
|
10434
10434
|
// CONCATENATED MODULE: ./packages/table/src/util.js
|
|
@@ -41940,6 +41940,7 @@ var mainvue_type_template_id_a4885264_render = function() {
|
|
|
41940
41940
|
class: _vm.referenceMode
|
|
41941
41941
|
? "el-drawer__wrapper-reference"
|
|
41942
41942
|
: "el-drawer__wrapper",
|
|
41943
|
+
style: _vm.wrapperStyle,
|
|
41943
41944
|
attrs: { tabindex: "-1" }
|
|
41944
41945
|
},
|
|
41945
41946
|
[
|
|
@@ -42044,6 +42045,203 @@ mainvue_type_template_id_a4885264_render._withStripped = true
|
|
|
42044
42045
|
|
|
42045
42046
|
// CONCATENATED MODULE: ./packages/drawer/src/main.vue?vue&type=template&id=a4885264&
|
|
42046
42047
|
|
|
42048
|
+
// CONCATENATED MODULE: ./src/utils/popup/popup-manager.js
|
|
42049
|
+
|
|
42050
|
+
|
|
42051
|
+
|
|
42052
|
+
var hasModal = false;
|
|
42053
|
+
var hasInitZIndex = false;
|
|
42054
|
+
var popup_manager_zIndex = void 0;
|
|
42055
|
+
|
|
42056
|
+
var popup_manager_getModal = function getModal() {
|
|
42057
|
+
if (external_vue_default.a.prototype.$isServer) return;
|
|
42058
|
+
var modalDom = popup_manager_PopupManager.modalDom;
|
|
42059
|
+
if (modalDom) {
|
|
42060
|
+
hasModal = true;
|
|
42061
|
+
} else {
|
|
42062
|
+
hasModal = false;
|
|
42063
|
+
modalDom = document.createElement('div');
|
|
42064
|
+
popup_manager_PopupManager.modalDom = modalDom;
|
|
42065
|
+
|
|
42066
|
+
modalDom.addEventListener('touchmove', function (event) {
|
|
42067
|
+
event.preventDefault();
|
|
42068
|
+
event.stopPropagation();
|
|
42069
|
+
});
|
|
42070
|
+
|
|
42071
|
+
modalDom.addEventListener('click', function () {
|
|
42072
|
+
popup_manager_PopupManager.doOnModalClick && popup_manager_PopupManager.doOnModalClick();
|
|
42073
|
+
});
|
|
42074
|
+
}
|
|
42075
|
+
|
|
42076
|
+
return modalDom;
|
|
42077
|
+
};
|
|
42078
|
+
|
|
42079
|
+
var popup_manager_instances = {};
|
|
42080
|
+
|
|
42081
|
+
var popup_manager_PopupManager = {
|
|
42082
|
+
modalFade: true,
|
|
42083
|
+
|
|
42084
|
+
getInstance: function getInstance(id) {
|
|
42085
|
+
return popup_manager_instances[id];
|
|
42086
|
+
},
|
|
42087
|
+
|
|
42088
|
+
register: function register(id, instance) {
|
|
42089
|
+
if (id && instance) {
|
|
42090
|
+
popup_manager_instances[id] = instance;
|
|
42091
|
+
}
|
|
42092
|
+
},
|
|
42093
|
+
|
|
42094
|
+
deregister: function deregister(id) {
|
|
42095
|
+
if (id) {
|
|
42096
|
+
popup_manager_instances[id] = null;
|
|
42097
|
+
delete popup_manager_instances[id];
|
|
42098
|
+
}
|
|
42099
|
+
},
|
|
42100
|
+
|
|
42101
|
+
nextZIndex: function nextZIndex() {
|
|
42102
|
+
return popup_manager_PopupManager.zIndex++;
|
|
42103
|
+
},
|
|
42104
|
+
|
|
42105
|
+
modalStack: [],
|
|
42106
|
+
|
|
42107
|
+
doOnModalClick: function doOnModalClick() {
|
|
42108
|
+
var topItem = popup_manager_PopupManager.modalStack[popup_manager_PopupManager.modalStack.length - 1];
|
|
42109
|
+
if (!topItem) return;
|
|
42110
|
+
|
|
42111
|
+
var instance = popup_manager_PopupManager.getInstance(topItem.id);
|
|
42112
|
+
if (instance && instance.closeOnClickModal) {
|
|
42113
|
+
instance.close();
|
|
42114
|
+
}
|
|
42115
|
+
},
|
|
42116
|
+
|
|
42117
|
+
openModal: function openModal(id, zIndex, dom, modalClass, modalFade) {
|
|
42118
|
+
if (external_vue_default.a.prototype.$isServer) return;
|
|
42119
|
+
if (!id || zIndex === undefined) return;
|
|
42120
|
+
this.modalFade = modalFade;
|
|
42121
|
+
|
|
42122
|
+
var modalStack = this.modalStack;
|
|
42123
|
+
|
|
42124
|
+
for (var i = 0, j = modalStack.length; i < j; i++) {
|
|
42125
|
+
var item = modalStack[i];
|
|
42126
|
+
if (item.id === id) {
|
|
42127
|
+
return;
|
|
42128
|
+
}
|
|
42129
|
+
}
|
|
42130
|
+
|
|
42131
|
+
var modalDom = popup_manager_getModal();
|
|
42132
|
+
|
|
42133
|
+
Object(dom_["addClass"])(modalDom, 'v-modal');
|
|
42134
|
+
if (this.modalFade && !hasModal) {
|
|
42135
|
+
Object(dom_["addClass"])(modalDom, 'v-modal-enter');
|
|
42136
|
+
}
|
|
42137
|
+
if (modalClass) {
|
|
42138
|
+
var classArr = modalClass.trim().split(/\s+/);
|
|
42139
|
+
classArr.forEach(function (item) {
|
|
42140
|
+
return Object(dom_["addClass"])(modalDom, item);
|
|
42141
|
+
});
|
|
42142
|
+
}
|
|
42143
|
+
setTimeout(function () {
|
|
42144
|
+
Object(dom_["removeClass"])(modalDom, 'v-modal-enter');
|
|
42145
|
+
}, 200);
|
|
42146
|
+
|
|
42147
|
+
if (dom && dom.parentNode && dom.parentNode.nodeType !== 11) {
|
|
42148
|
+
dom.parentNode.appendChild(modalDom);
|
|
42149
|
+
} else {
|
|
42150
|
+
document.body.appendChild(modalDom);
|
|
42151
|
+
}
|
|
42152
|
+
|
|
42153
|
+
if (zIndex) {
|
|
42154
|
+
modalDom.style.zIndex = zIndex;
|
|
42155
|
+
}
|
|
42156
|
+
modalDom.tabIndex = 0;
|
|
42157
|
+
modalDom.style.display = '';
|
|
42158
|
+
|
|
42159
|
+
this.modalStack.push({ id: id, zIndex: zIndex, modalClass: modalClass });
|
|
42160
|
+
},
|
|
42161
|
+
|
|
42162
|
+
closeModal: function closeModal(id) {
|
|
42163
|
+
var modalStack = this.modalStack;
|
|
42164
|
+
var modalDom = popup_manager_getModal();
|
|
42165
|
+
|
|
42166
|
+
if (modalStack.length > 0) {
|
|
42167
|
+
var topItem = modalStack[modalStack.length - 1];
|
|
42168
|
+
if (topItem.id === id) {
|
|
42169
|
+
if (topItem.modalClass) {
|
|
42170
|
+
var classArr = topItem.modalClass.trim().split(/\s+/);
|
|
42171
|
+
classArr.forEach(function (item) {
|
|
42172
|
+
return Object(dom_["removeClass"])(modalDom, item);
|
|
42173
|
+
});
|
|
42174
|
+
}
|
|
42175
|
+
|
|
42176
|
+
modalStack.pop();
|
|
42177
|
+
if (modalStack.length > 0) {
|
|
42178
|
+
modalDom.style.zIndex = modalStack[modalStack.length - 1].zIndex;
|
|
42179
|
+
}
|
|
42180
|
+
} else {
|
|
42181
|
+
for (var i = modalStack.length - 1; i >= 0; i--) {
|
|
42182
|
+
if (modalStack[i].id === id) {
|
|
42183
|
+
modalStack.splice(i, 1);
|
|
42184
|
+
break;
|
|
42185
|
+
}
|
|
42186
|
+
}
|
|
42187
|
+
}
|
|
42188
|
+
}
|
|
42189
|
+
|
|
42190
|
+
if (modalStack.length === 0) {
|
|
42191
|
+
if (this.modalFade) {
|
|
42192
|
+
Object(dom_["addClass"])(modalDom, 'v-modal-leave');
|
|
42193
|
+
}
|
|
42194
|
+
setTimeout(function () {
|
|
42195
|
+
if (modalStack.length === 0) {
|
|
42196
|
+
if (modalDom.parentNode) modalDom.parentNode.removeChild(modalDom);
|
|
42197
|
+
modalDom.style.display = 'none';
|
|
42198
|
+
popup_manager_PopupManager.modalDom = undefined;
|
|
42199
|
+
}
|
|
42200
|
+
Object(dom_["removeClass"])(modalDom, 'v-modal-leave');
|
|
42201
|
+
}, 200);
|
|
42202
|
+
}
|
|
42203
|
+
}
|
|
42204
|
+
};
|
|
42205
|
+
|
|
42206
|
+
Object.defineProperty(popup_manager_PopupManager, 'zIndex', {
|
|
42207
|
+
configurable: true,
|
|
42208
|
+
get: function get() {
|
|
42209
|
+
if (!hasInitZIndex) {
|
|
42210
|
+
popup_manager_zIndex = popup_manager_zIndex || (external_vue_default.a.prototype.$ELEMENT || {}).zIndex || 2000;
|
|
42211
|
+
hasInitZIndex = true;
|
|
42212
|
+
}
|
|
42213
|
+
return popup_manager_zIndex;
|
|
42214
|
+
},
|
|
42215
|
+
set: function set(value) {
|
|
42216
|
+
popup_manager_zIndex = value;
|
|
42217
|
+
}
|
|
42218
|
+
});
|
|
42219
|
+
|
|
42220
|
+
var popup_manager_getTopPopup = function getTopPopup() {
|
|
42221
|
+
if (external_vue_default.a.prototype.$isServer) return;
|
|
42222
|
+
if (popup_manager_PopupManager.modalStack.length > 0) {
|
|
42223
|
+
var topPopup = popup_manager_PopupManager.modalStack[popup_manager_PopupManager.modalStack.length - 1];
|
|
42224
|
+
if (!topPopup) return;
|
|
42225
|
+
var instance = popup_manager_PopupManager.getInstance(topPopup.id);
|
|
42226
|
+
|
|
42227
|
+
return instance;
|
|
42228
|
+
}
|
|
42229
|
+
};
|
|
42230
|
+
|
|
42231
|
+
if (!external_vue_default.a.prototype.$isServer) {
|
|
42232
|
+
// handle `esc` key when the popup is shown
|
|
42233
|
+
window.addEventListener('keydown', function (event) {
|
|
42234
|
+
if (event.keyCode === 27) {
|
|
42235
|
+
var topPopup = popup_manager_getTopPopup();
|
|
42236
|
+
|
|
42237
|
+
if (topPopup && topPopup.closeOnPressEscape) {
|
|
42238
|
+
topPopup.handleClose ? topPopup.handleClose() : topPopup.handleAction ? topPopup.handleAction('cancel') : topPopup.close();
|
|
42239
|
+
}
|
|
42240
|
+
}
|
|
42241
|
+
});
|
|
42242
|
+
}
|
|
42243
|
+
|
|
42244
|
+
/* harmony default export */ var popup_manager = (popup_manager_PopupManager);
|
|
42047
42245
|
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/drawer/src/main.vue?vue&type=script&lang=js&
|
|
42048
42246
|
var mainvue_type_script_lang_js_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
|
42049
42247
|
|
|
@@ -42095,6 +42293,9 @@ var mainvue_type_script_lang_js_extends = Object.assign || function (target) { f
|
|
|
42095
42293
|
//
|
|
42096
42294
|
//
|
|
42097
42295
|
//
|
|
42296
|
+
//
|
|
42297
|
+
|
|
42298
|
+
|
|
42098
42299
|
|
|
42099
42300
|
|
|
42100
42301
|
|
|
@@ -42161,7 +42362,7 @@ var mainvue_type_script_lang_js_extends = Object.assign || function (target) { f
|
|
|
42161
42362
|
default: true
|
|
42162
42363
|
},
|
|
42163
42364
|
reference: {
|
|
42164
|
-
type: [String, Object],
|
|
42365
|
+
type: [String, Object, typeof window !== 'undefined' ? window.HTMLElement : Object],
|
|
42165
42366
|
default: null
|
|
42166
42367
|
},
|
|
42167
42368
|
placement: {
|
|
@@ -42199,6 +42400,13 @@ var mainvue_type_script_lang_js_extends = Object.assign || function (target) { f
|
|
|
42199
42400
|
}
|
|
42200
42401
|
return this.direction;
|
|
42201
42402
|
},
|
|
42403
|
+
wrapperStyle: function wrapperStyle() {
|
|
42404
|
+
// 在 reference 模式下,将 z-index 设置在 wrapper 上,与全局模式保持一致
|
|
42405
|
+
if (this.referenceMode && this.drawerZIndex) {
|
|
42406
|
+
return { zIndex: this.drawerZIndex };
|
|
42407
|
+
}
|
|
42408
|
+
return null;
|
|
42409
|
+
},
|
|
42202
42410
|
drawerStyle: function drawerStyle() {
|
|
42203
42411
|
if (this.referenceMode) {
|
|
42204
42412
|
var style = mainvue_type_script_lang_js_extends({}, this.position);
|
|
@@ -42217,7 +42425,9 @@ var mainvue_type_script_lang_js_extends = Object.assign || function (target) { f
|
|
|
42217
42425
|
return {
|
|
42218
42426
|
closed: false,
|
|
42219
42427
|
prevActiveElement: null,
|
|
42220
|
-
position: {}
|
|
42428
|
+
position: {},
|
|
42429
|
+
drawerZIndex: null,
|
|
42430
|
+
modalZIndex: null
|
|
42221
42431
|
};
|
|
42222
42432
|
},
|
|
42223
42433
|
|
|
@@ -42229,19 +42439,36 @@ var mainvue_type_script_lang_js_extends = Object.assign || function (target) { f
|
|
|
42229
42439
|
this.closed = false;
|
|
42230
42440
|
this.$emit('open');
|
|
42231
42441
|
if (this.referenceMode) {
|
|
42442
|
+
// z-index 已经通过 drawerStyle computed 属性设置
|
|
42232
42443
|
var referenceEl = this.getReferenceElement();
|
|
42233
42444
|
if (referenceEl) {
|
|
42234
42445
|
referenceEl.appendChild(this.$el);
|
|
42235
42446
|
}
|
|
42236
|
-
|
|
42237
|
-
document.body.appendChild(this.$el);
|
|
42238
|
-
}
|
|
42239
|
-
this.prevActiveElement = document.activeElement;
|
|
42240
|
-
if (this.referenceMode) {
|
|
42447
|
+
// 在 drawer 挂载后创建 modal
|
|
42241
42448
|
this.$nextTick(function () {
|
|
42449
|
+
// drawer 的 z-index 已经在 appendChild 前设置
|
|
42450
|
+
|
|
42451
|
+
// 创建/显示 modal(使用预分配的较低值)
|
|
42452
|
+
if (_this.modal) {
|
|
42453
|
+
_this.createReferenceModal({
|
|
42454
|
+
modalClass: _this.modalClass,
|
|
42455
|
+
modalFade: _this.modalFade
|
|
42456
|
+
});
|
|
42457
|
+
}
|
|
42458
|
+
|
|
42459
|
+
// 更新位置
|
|
42242
42460
|
_this.updatePosition();
|
|
42461
|
+
|
|
42462
|
+
// 清理可能被 PopupManager 创建的全局 modal
|
|
42463
|
+
// 延迟执行,确保全局 modal 已经被创建后再移除
|
|
42464
|
+
setTimeout(function () {
|
|
42465
|
+
_this.removeGlobalModal();
|
|
42466
|
+
}, 300);
|
|
42243
42467
|
});
|
|
42468
|
+
} else if (this.appendToBody) {
|
|
42469
|
+
document.body.appendChild(this.$el);
|
|
42244
42470
|
}
|
|
42471
|
+
this.prevActiveElement = document.activeElement;
|
|
42245
42472
|
} else {
|
|
42246
42473
|
if (!this.closed) {
|
|
42247
42474
|
this.$emit('close');
|
|
@@ -42249,6 +42476,10 @@ var mainvue_type_script_lang_js_extends = Object.assign || function (target) { f
|
|
|
42249
42476
|
this.rendered = false;
|
|
42250
42477
|
}
|
|
42251
42478
|
}
|
|
42479
|
+
// 关闭 reference 模式的 modal
|
|
42480
|
+
if (this.referenceMode) {
|
|
42481
|
+
this.closeReferenceModal();
|
|
42482
|
+
}
|
|
42252
42483
|
this.$nextTick(function () {
|
|
42253
42484
|
if (_this.prevActiveElement) {
|
|
42254
42485
|
_this.prevActiveElement.focus();
|
|
@@ -42258,6 +42489,122 @@ var mainvue_type_script_lang_js_extends = Object.assign || function (target) { f
|
|
|
42258
42489
|
}
|
|
42259
42490
|
},
|
|
42260
42491
|
methods: {
|
|
42492
|
+
doOpen: function doOpen(props) {
|
|
42493
|
+
// 在 reference 模式下,需要让遮罩层挂载到参考元素而不是 body
|
|
42494
|
+
if (this.referenceMode) {
|
|
42495
|
+
// 手动实现 doOpen 的逻辑,但将 modal 挂载到 reference 元素
|
|
42496
|
+
if (this.$isServer) return;
|
|
42497
|
+
if (this.willOpen && !this.willOpen()) return;
|
|
42498
|
+
if (this.opened) return;
|
|
42499
|
+
|
|
42500
|
+
this._opening = true;
|
|
42501
|
+
|
|
42502
|
+
var dom = this.$el;
|
|
42503
|
+
var zIndex = props.zIndex;
|
|
42504
|
+
|
|
42505
|
+
if (zIndex) {
|
|
42506
|
+
popup_manager.zIndex = zIndex;
|
|
42507
|
+
}
|
|
42508
|
+
|
|
42509
|
+
// modal 的创建已经移到 watch visible 中,在 drawer 挂载后执行
|
|
42510
|
+
// 这里预先分配 z-index,确保 modal 和 drawer 的层级关系正确
|
|
42511
|
+
// 每次打开都重新分配,避免复用时的 z-index 错乱
|
|
42512
|
+
this.modalZIndex = popup_manager.nextZIndex();
|
|
42513
|
+
this.drawerZIndex = popup_manager.nextZIndex();
|
|
42514
|
+
|
|
42515
|
+
if (Object(dom_["getStyle"])(dom, 'position') === 'static') {
|
|
42516
|
+
dom.style.position = 'absolute';
|
|
42517
|
+
}
|
|
42518
|
+
|
|
42519
|
+
// z-index 的设置已经移到 watch visible 中,在 modal 创建后设置
|
|
42520
|
+
this.opened = true;
|
|
42521
|
+
|
|
42522
|
+
this.onOpen && this.onOpen();
|
|
42523
|
+
|
|
42524
|
+
this.doAfterOpen();
|
|
42525
|
+
} else {
|
|
42526
|
+
// 非 reference 模式,使用原始的 doOpen
|
|
42527
|
+
this.$options.mixins[0].methods.doOpen.call(this, props);
|
|
42528
|
+
}
|
|
42529
|
+
},
|
|
42530
|
+
createReferenceModal: function createReferenceModal(props) {
|
|
42531
|
+
var _this2 = this;
|
|
42532
|
+
|
|
42533
|
+
// 创建并挂载 modal 到 reference 元素
|
|
42534
|
+
var referenceEl = this.getReferenceElement();
|
|
42535
|
+
if (!referenceEl) return;
|
|
42536
|
+
|
|
42537
|
+
// 创建或复用 modal DOM
|
|
42538
|
+
var modalDom = this._referenceModalDom;
|
|
42539
|
+
if (!modalDom) {
|
|
42540
|
+
modalDom = document.createElement('div');
|
|
42541
|
+
modalDom.className = 'v-modal';
|
|
42542
|
+
modalDom.tabIndex = 0;
|
|
42543
|
+
|
|
42544
|
+
// 使用预先分配的 modal z-index,确保 drawer 已经有更高的 z-index
|
|
42545
|
+
var modalZIndex = this.modalZIndex || popup_manager.nextZIndex();
|
|
42546
|
+
modalDom.style.zIndex = modalZIndex;
|
|
42547
|
+
|
|
42548
|
+
// 关键:在 reference 模式下使用 absolute 定位,而不是 fixed
|
|
42549
|
+
modalDom.style.position = 'absolute';
|
|
42550
|
+
modalDom.style.left = '0';
|
|
42551
|
+
modalDom.style.top = '0';
|
|
42552
|
+
modalDom.style.width = '100%';
|
|
42553
|
+
modalDom.style.height = '100%';
|
|
42554
|
+
|
|
42555
|
+
if (props.modalClass) {
|
|
42556
|
+
var classArr = props.modalClass.trim().split(/\s+/);
|
|
42557
|
+
classArr.forEach(function (cls) {
|
|
42558
|
+
return modalDom.classList.add(cls);
|
|
42559
|
+
});
|
|
42560
|
+
}
|
|
42561
|
+
|
|
42562
|
+
// 添加淡入动画
|
|
42563
|
+
if (props.modalFade) {
|
|
42564
|
+
modalDom.classList.add('v-modal-enter');
|
|
42565
|
+
setTimeout(function () {
|
|
42566
|
+
modalDom.classList.remove('v-modal-enter');
|
|
42567
|
+
}, 200);
|
|
42568
|
+
}
|
|
42569
|
+
|
|
42570
|
+
// 直接挂载到 reference 元素内部
|
|
42571
|
+
referenceEl.appendChild(modalDom);
|
|
42572
|
+
|
|
42573
|
+
// 点击 modal 时的处理
|
|
42574
|
+
modalDom.addEventListener('click', function () {
|
|
42575
|
+
if (_this2.closeOnClickModal) {
|
|
42576
|
+
_this2.closeDrawer();
|
|
42577
|
+
}
|
|
42578
|
+
});
|
|
42579
|
+
|
|
42580
|
+
// 保存引用以便后续清理
|
|
42581
|
+
this._referenceModalDom = modalDom;
|
|
42582
|
+
} else {
|
|
42583
|
+
// 复用 modal 时,使用预分配的 z-index
|
|
42584
|
+
modalDom.style.display = '';
|
|
42585
|
+
modalDom.style.zIndex = this.modalZIndex || popup_manager.nextZIndex();
|
|
42586
|
+
}
|
|
42587
|
+
},
|
|
42588
|
+
closeReferenceModal: function closeReferenceModal() {
|
|
42589
|
+
// 关闭 reference 模式的 modal
|
|
42590
|
+
if (this._referenceModalDom) {
|
|
42591
|
+
this._referenceModalDom.style.display = 'none';
|
|
42592
|
+
}
|
|
42593
|
+
},
|
|
42594
|
+
removeGlobalModal: function removeGlobalModal() {
|
|
42595
|
+
// 移除 PopupManager 可能创建的全局 modal(在 body 下的)
|
|
42596
|
+
// 只在 reference 模式下调用此方法
|
|
42597
|
+
if (this.referenceMode) {
|
|
42598
|
+
// 查找并移除 body 下与此 drawer 关联的 modal
|
|
42599
|
+
var globalModals = document.body.querySelectorAll('.v-modal');
|
|
42600
|
+
globalModals.forEach(function (modal) {
|
|
42601
|
+
// 移除 body 下的所有 modal(它们不应该存在)
|
|
42602
|
+
if (modal.parentNode === document.body) {
|
|
42603
|
+
document.body.removeChild(modal);
|
|
42604
|
+
}
|
|
42605
|
+
});
|
|
42606
|
+
}
|
|
42607
|
+
},
|
|
42261
42608
|
afterEnter: function afterEnter() {
|
|
42262
42609
|
this.$emit('opened');
|
|
42263
42610
|
},
|
|
@@ -42361,6 +42708,16 @@ var mainvue_type_script_lang_js_extends = Object.assign || function (target) { f
|
|
|
42361
42708
|
}
|
|
42362
42709
|
}
|
|
42363
42710
|
},
|
|
42711
|
+
beforeMount: function beforeMount() {
|
|
42712
|
+
// 在 reference 模式下,我们不使用 PopupManager 的 modal
|
|
42713
|
+
// 设置一个内部标志来阻止 PopupManager 创建 modal
|
|
42714
|
+
if (this.referenceMode) {
|
|
42715
|
+
// 保存原始的 modal 属性
|
|
42716
|
+
this._originalModal = this.modal;
|
|
42717
|
+
// 临时将 modal 设为 false,这样 Popup mixin 的逻辑不会调用 PopupManager.openModal
|
|
42718
|
+
// 注意:这个技巧可能不work,因为 modal 是 prop
|
|
42719
|
+
}
|
|
42720
|
+
},
|
|
42364
42721
|
mounted: function mounted() {
|
|
42365
42722
|
if (this.visible) {
|
|
42366
42723
|
this.rendered = true;
|
|
@@ -42379,6 +42736,23 @@ var mainvue_type_script_lang_js_extends = Object.assign || function (target) { f
|
|
|
42379
42736
|
window.addEventListener('resize', this.handleResize);
|
|
42380
42737
|
}
|
|
42381
42738
|
},
|
|
42739
|
+
beforeDestroy: function beforeDestroy() {
|
|
42740
|
+
// 在 reference 模式下,不使用 PopupManager 管理 modal
|
|
42741
|
+
// 所以需要阻止 Popup mixin 的 beforeDestroy 调用 PopupManager.closeModal
|
|
42742
|
+
if (!this.referenceMode) {
|
|
42743
|
+
// 非 reference 模式,调用 mixin 的 beforeDestroy
|
|
42744
|
+
if (this.$options.mixins && this.$options.mixins[0].beforeDestroy) {
|
|
42745
|
+
this.$options.mixins[0].beforeDestroy.call(this);
|
|
42746
|
+
}
|
|
42747
|
+
} else {
|
|
42748
|
+
// reference 模式,只执行必要的清理
|
|
42749
|
+
if (this._popupId) {
|
|
42750
|
+
popup_manager.deregister(this._popupId);
|
|
42751
|
+
// 不调用 PopupManager.closeModal,因为我们用的是自定义 modal
|
|
42752
|
+
}
|
|
42753
|
+
this.restoreBodyStyle();
|
|
42754
|
+
}
|
|
42755
|
+
},
|
|
42382
42756
|
destroyed: function destroyed() {
|
|
42383
42757
|
// if appendToBody is true, remove DOM node after destroy
|
|
42384
42758
|
if (this.appendToBody && this.$el && this.$el.parentNode) {
|
|
@@ -42387,6 +42761,11 @@ var mainvue_type_script_lang_js_extends = Object.assign || function (target) { f
|
|
|
42387
42761
|
if (this.referenceMode && this.$el && this.$el.parentNode) {
|
|
42388
42762
|
this.$el.parentNode.removeChild(this.$el);
|
|
42389
42763
|
}
|
|
42764
|
+
// 清理 reference modal
|
|
42765
|
+
if (this.referenceMode && this._referenceModalDom && this._referenceModalDom.parentNode) {
|
|
42766
|
+
this._referenceModalDom.parentNode.removeChild(this._referenceModalDom);
|
|
42767
|
+
this._referenceModalDom = null;
|
|
42768
|
+
}
|
|
42390
42769
|
if (this.referenceMode) {
|
|
42391
42770
|
window.removeEventListener('scroll', this.handleScroll, true);
|
|
42392
42771
|
window.removeEventListener('resize', this.handleResize);
|
|
@@ -51952,7 +52331,7 @@ if (typeof window !== 'undefined' && window.Vue) {
|
|
|
51952
52331
|
}
|
|
51953
52332
|
|
|
51954
52333
|
/* harmony default export */ var src_0 = __webpack_exports__["default"] = ({
|
|
51955
|
-
version: '2.15.5-xn.
|
|
52334
|
+
version: '2.15.5-xn.54',
|
|
51956
52335
|
locale: lib_locale_default.a.use,
|
|
51957
52336
|
i18n: lib_locale_default.a.i18n,
|
|
51958
52337
|
install: src_install,
|
package/lib/footer.js
CHANGED
|
@@ -82,7 +82,7 @@ module.exports =
|
|
|
82
82
|
/******/
|
|
83
83
|
/******/
|
|
84
84
|
/******/ // Load entry module and return exports
|
|
85
|
-
/******/ return __webpack_require__(__webpack_require__.s =
|
|
85
|
+
/******/ return __webpack_require__(__webpack_require__.s = 132);
|
|
86
86
|
/******/ })
|
|
87
87
|
/************************************************************************/
|
|
88
88
|
/******/ ({
|
|
@@ -189,7 +189,7 @@ function normalizeComponent (
|
|
|
189
189
|
|
|
190
190
|
/***/ }),
|
|
191
191
|
|
|
192
|
-
/***/
|
|
192
|
+
/***/ 132:
|
|
193
193
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
194
194
|
|
|
195
195
|
"use strict";
|
package/lib/form.js
CHANGED
|
@@ -82,7 +82,7 @@ module.exports =
|
|
|
82
82
|
/******/
|
|
83
83
|
/******/
|
|
84
84
|
/******/ // Load entry module and return exports
|
|
85
|
-
/******/ return __webpack_require__(__webpack_require__.s =
|
|
85
|
+
/******/ return __webpack_require__(__webpack_require__.s = 112);
|
|
86
86
|
/******/ })
|
|
87
87
|
/************************************************************************/
|
|
88
88
|
/******/ ({
|
|
@@ -189,7 +189,7 @@ function normalizeComponent (
|
|
|
189
189
|
|
|
190
190
|
/***/ }),
|
|
191
191
|
|
|
192
|
-
/***/
|
|
192
|
+
/***/ 112:
|
|
193
193
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
194
194
|
|
|
195
195
|
"use strict";
|
package/lib/header.js
CHANGED
|
@@ -82,7 +82,7 @@ module.exports =
|
|
|
82
82
|
/******/
|
|
83
83
|
/******/
|
|
84
84
|
/******/ // Load entry module and return exports
|
|
85
|
-
/******/ return __webpack_require__(__webpack_require__.s =
|
|
85
|
+
/******/ return __webpack_require__(__webpack_require__.s = 129);
|
|
86
86
|
/******/ })
|
|
87
87
|
/************************************************************************/
|
|
88
88
|
/******/ ({
|
|
@@ -189,7 +189,7 @@ function normalizeComponent (
|
|
|
189
189
|
|
|
190
190
|
/***/ }),
|
|
191
191
|
|
|
192
|
-
/***/
|
|
192
|
+
/***/ 129:
|
|
193
193
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
194
194
|
|
|
195
195
|
"use strict";
|
package/lib/icon.js
CHANGED
|
@@ -82,7 +82,7 @@ module.exports =
|
|
|
82
82
|
/******/
|
|
83
83
|
/******/
|
|
84
84
|
/******/ // Load entry module and return exports
|
|
85
|
-
/******/ return __webpack_require__(__webpack_require__.s =
|
|
85
|
+
/******/ return __webpack_require__(__webpack_require__.s = 115);
|
|
86
86
|
/******/ })
|
|
87
87
|
/************************************************************************/
|
|
88
88
|
/******/ ({
|
|
@@ -189,7 +189,7 @@ function normalizeComponent (
|
|
|
189
189
|
|
|
190
190
|
/***/ }),
|
|
191
191
|
|
|
192
|
-
/***/
|
|
192
|
+
/***/ 115:
|
|
193
193
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
194
194
|
|
|
195
195
|
"use strict";
|
package/lib/image.js
CHANGED
|
@@ -224,7 +224,7 @@ module.exports = require("@liuzengwei/element-ui/lib/utils/util");
|
|
|
224
224
|
|
|
225
225
|
/***/ }),
|
|
226
226
|
|
|
227
|
-
/***/
|
|
227
|
+
/***/ 7:
|
|
228
228
|
/***/ (function(module, exports) {
|
|
229
229
|
|
|
230
230
|
module.exports = require("@liuzengwei/element-ui/lib/mixins/locale");
|
|
@@ -828,7 +828,7 @@ if (false) { var api; }
|
|
|
828
828
|
component.options.__file = "packages/image/src/image-viewer.vue"
|
|
829
829
|
/* harmony default export */ var image_viewer = (component.exports);
|
|
830
830
|
// EXTERNAL MODULE: external "@liuzengwei/element-ui/lib/mixins/locale"
|
|
831
|
-
var locale_ = __webpack_require__(
|
|
831
|
+
var locale_ = __webpack_require__(7);
|
|
832
832
|
var locale_default = /*#__PURE__*/__webpack_require__.n(locale_);
|
|
833
833
|
|
|
834
834
|
// EXTERNAL MODULE: external "@liuzengwei/element-ui/lib/utils/types"
|