eoss 0.1.0-alpha.20 → 0.1.0-alpha.21
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/account-login.js +1943 -1890
- package/lib/alert.js +4 -4
- package/lib/aside.js +4 -4
- package/lib/autocomplete.js +4936 -4834
- package/lib/avatar.js +4 -4
- package/lib/backtop.js +4 -4
- package/lib/badge.js +4 -4
- package/lib/breadcrumb-item.js +6 -6
- package/lib/breadcrumb.js +7 -7
- package/lib/button-group.js +11 -14
- package/lib/button.js +6 -6
- package/lib/ca-login.js +2480 -2382
- package/lib/calendar.js +798 -798
- package/lib/card.js +4 -4
- package/lib/carousel-item.js +911 -813
- package/lib/carousel.js +1646 -1548
- package/lib/cascader-panel.js +2556 -2458
- package/lib/cascader.js +4546 -4444
- package/lib/checkbox-button.js +4 -4
- package/lib/checkbox-group.js +2894 -2841
- package/lib/checkbox.js +4 -4
- package/lib/col.js +2 -2
- package/lib/collapse-item.js +35159 -2572
- package/lib/collapse.js +35410 -2762
- package/lib/color-picker.js +494 -490
- package/lib/config/api.js +15 -1
- package/lib/container.js +4 -4
- package/lib/cron.js +4 -4
- package/lib/data-table.js +1895 -1842
- package/lib/date-picker.js +6422 -6320
- package/lib/dialog.js +2912 -2806
- package/lib/divider.js +4 -4
- package/lib/drawer.js +311 -299
- package/lib/dropdown-item.js +6 -6
- package/lib/dropdown-menu.js +539 -535
- package/lib/dropdown.js +2270 -2172
- package/lib/email-login.js +1783 -1730
- package/lib/empty.js +723 -0
- package/lib/eoss.common.js +63680 -56193
- package/lib/flip.js +4 -4
- package/lib/flow-group.js +2985 -2887
- package/lib/flow.js +28067 -28022
- package/lib/footer.js +4 -4
- package/lib/form-item.js +1935 -1837
- package/lib/form.js +9230 -9092
- package/lib/header.js +4 -4
- package/lib/icon.js +1708 -1590
- package/lib/icons.js +4 -4
- package/lib/image-viewer.js +1660 -1562
- package/lib/image.js +162 -162
- package/lib/index.js +1 -1
- package/lib/infinite-scroll.js +76 -76
- package/lib/input-number.js +172 -172
- package/lib/input.js +1362 -1264
- package/lib/link.js +4 -4
- package/lib/loading.js +321 -317
- package/lib/login.js +3306 -3300
- package/lib/lowcode.js +13320 -0
- package/lib/main.js +14465 -14339
- package/lib/marquee.js +1237 -1139
- package/lib/menu-item-group.js +119 -119
- package/lib/menu-item.js +114 -114
- package/lib/menu.js +6193 -6091
- package/lib/message-box.js +3582 -3480
- package/lib/message.js +2265 -2163
- package/lib/notification.js +2430 -2328
- package/lib/option-group.js +4 -4
- package/lib/option.js +842 -744
- package/lib/page-header.js +4 -4
- package/lib/pagination.js +1916 -1815
- package/lib/phone-login.js +1788 -1735
- package/lib/popconfirm.js +8 -8
- package/lib/popover.js +4559 -4457
- package/lib/progress.js +4 -4
- package/lib/qr-code.js +9 -9
- package/lib/qrcode-login.js +1600 -1543
- package/lib/radio-button.js +6 -6
- package/lib/radio-group.js +2142 -2089
- package/lib/radio.js +6 -6
- package/lib/rate.js +1226 -1128
- package/lib/row.js +2 -2
- package/lib/scrollbar.js +2695 -2597
- package/lib/select.js +5985 -5961
- package/lib/selector-panel.js +5239 -5186
- package/lib/selector.js +1712 -1659
- package/lib/slider.js +16 -16
- package/lib/step.js +35836 -2736
- package/lib/steps.js +1281 -1183
- package/lib/submenu.js +461 -457
- package/lib/switch.js +1010 -912
- package/lib/tab-pane.js +4 -4
- package/lib/table-column.js +2595 -2497
- package/lib/table.js +9225 -9239
- package/lib/tabs.js +2414 -2320
- package/lib/tag.js +4 -4
- package/lib/theme-chalk/account-login.css +1 -1
- package/lib/theme-chalk/autocomplete.css +1 -1
- package/lib/theme-chalk/base.css +1 -1
- package/lib/theme-chalk/cascader.css +1 -1
- package/lib/theme-chalk/date-picker.css +1 -1
- package/lib/theme-chalk/empty.css +1 -0
- package/lib/theme-chalk/fonts/iconfont.ttf +0 -0
- package/lib/theme-chalk/fonts/iconfont.woff +0 -0
- package/lib/theme-chalk/form.css +1 -1
- package/lib/theme-chalk/icon.css +1 -1
- package/lib/theme-chalk/index.css +1 -1
- package/lib/theme-chalk/input-number.css +1 -1
- package/lib/theme-chalk/input.css +1 -1
- package/lib/theme-chalk/login.css +1 -1
- package/lib/theme-chalk/lowcode.css +1 -0
- package/lib/theme-chalk/main.css +1 -1
- package/lib/theme-chalk/message-box.css +1 -1
- package/lib/theme-chalk/pagination.css +1 -1
- package/lib/theme-chalk/qrcode-login.css +1 -1
- package/lib/theme-chalk/select.css +1 -1
- package/lib/theme-chalk/slider.css +1 -1
- package/lib/theme-chalk/tabs.css +1 -1
- package/lib/theme-chalk/time-picker.css +1 -1
- package/lib/theme-chalk/transfer.css +1 -1
- package/lib/time-picker.js +5823 -5819
- package/lib/time-select.js +3578 -3574
- package/lib/timeline-item.js +4 -4
- package/lib/timeline.js +4 -4
- package/lib/tips.js +1633 -1580
- package/lib/toolbar.js +213 -213
- package/lib/tooltip.js +4441 -4339
- package/lib/transfer.js +938 -840
- package/lib/tree-group.js +1875 -1757
- package/lib/tree.js +2626 -2573
- package/lib/upload.js +7209 -7156
- package/lib/utils/ajax.js +185 -243
- package/lib/utils/bus.js +2 -2
- package/lib/utils/popup/index.js +5 -1
- package/lib/utils/util.js +108 -11
- package/package.json +2 -2
- package/packages/button/src/button-group.vue +1 -4
- package/packages/collapse/src/collapse-item.vue +47 -33
- package/packages/dialog/src/dialog.vue +4 -1
- package/packages/drawer/src/drawer.vue +12 -4
- package/packages/empty/index.js +7 -0
- package/packages/empty/src/img-empty.vue +132 -0
- package/packages/empty/src/index.vue +49 -0
- package/packages/form/src/form-item-render.vue +16 -18
- package/packages/form/src/form.vue +27 -5
- package/packages/icons/src/icon.json +1 -1
- package/packages/login/src/login.vue +19 -21
- package/packages/login/src/mixins.js +2 -1
- package/packages/lowcode/index.js +5 -0
- package/packages/lowcode/src/aside.vue +331 -0
- package/packages/lowcode/src/attribute/bind.vue +441 -0
- package/packages/lowcode/src/attribute/dependency.vue +325 -0
- package/packages/lowcode/src/attribute/function.vue +112 -0
- package/packages/lowcode/src/attribute/property.vue +331 -0
- package/packages/lowcode/src/attribute/styles.vue +318 -0
- package/packages/lowcode/src/attribute.vue +135 -0
- package/packages/lowcode/src/canvas.vue +296 -0
- package/packages/lowcode/src/json.vue +32 -0
- package/packages/lowcode/src/lowcode.vue +539 -0
- package/packages/lowcode/src/modules.vue +93 -0
- package/packages/lowcode/src/pages.vue +91 -0
- package/packages/lowcode/src/render.vue +247 -0
- package/packages/lowcode/src/source.vue +32 -0
- package/packages/lowcode/src/toolbar.vue +162 -0
- package/packages/main/src/components/pages.vue +28 -2
- package/packages/main/src/components/set-menus.vue +3 -3
- package/packages/main/src/components/user.vue +6 -1
- package/packages/main/src/early.vue +2 -2
- package/packages/main/src/gzw.vue +55 -61
- package/packages/main/src/minxs.js +113 -36
- package/packages/pagination/src/pager.vue +2 -2
- package/packages/pagination/src/pagination.js +4 -1
- package/packages/qrcode-login/src/qrcode-login.vue +6 -2
- package/packages/select/src/select.vue +28 -6
- package/packages/steps/src/step.vue +7 -5
- package/packages/tabs/src/tab-nav.vue +1 -0
- package/packages/tabs/src/tabs.vue +0 -2
- package/packages/theme-chalk/dist/fonts/iconfont.ttf +0 -0
- package/packages/theme-chalk/dist/fonts/iconfont.woff +0 -0
- package/packages/theme-chalk/gulpfile.js +3 -0
- package/packages/theme-chalk/src/account-login.scss +1 -0
- package/packages/theme-chalk/src/base.scss +1 -1
- package/packages/theme-chalk/src/common/var.scss +16 -0
- package/packages/theme-chalk/src/empty.scss +45 -0
- package/packages/theme-chalk/src/fonts/iconfont.ttf +0 -0
- package/packages/theme-chalk/src/fonts/iconfont.woff +0 -0
- package/packages/theme-chalk/src/form.scss +1 -8
- package/packages/theme-chalk/src/icon.scss +30 -1
- package/packages/theme-chalk/src/index.scss +2 -0
- package/packages/theme-chalk/src/input-number.scss +0 -4
- package/packages/theme-chalk/src/input.scss +9 -0
- package/packages/theme-chalk/src/login.scss +32 -29
- package/packages/theme-chalk/src/lowcode.scss +461 -0
- package/packages/theme-chalk/src/main.scss +28 -65
- package/packages/theme-chalk/src/pagination.scss +4 -55
- package/packages/theme-chalk/src/qrcode-login.scss +3 -1
- package/packages/theme-chalk/src/tabs.scss +81 -50
- package/src/config/api.js +13 -0
- package/src/index.js +17 -4
- package/src/utils/ajax.js +61 -65
- package/src/utils/bus.js +2 -2
- package/src/utils/popup/index.js +5 -1
- package/src/utils/util.js +104 -7
- package/lib/index_/345/211/257/346/234/254.js +0 -583
- package/packages/dialog copy/index.js +0 -8
- package/packages/dialog copy/src/dialog.vue +0 -615
- package/src/index_/345/211/257/346/234/254.js +0 -359
- /package/{packages/form/src → src/components}/field-render.vue +0 -0
package/lib/dropdown-menu.js
CHANGED
|
@@ -82,41 +82,283 @@ 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 = 196);
|
|
86
86
|
/******/ })
|
|
87
87
|
/************************************************************************/
|
|
88
88
|
/******/ ({
|
|
89
89
|
|
|
90
|
-
/***/
|
|
91
|
-
/***/ (function(module,
|
|
90
|
+
/***/ 12:
|
|
91
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
92
92
|
|
|
93
|
-
|
|
93
|
+
"use strict";
|
|
94
|
+
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4);
|
|
95
|
+
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);
|
|
96
|
+
/* harmony import */ var eoss_src_utils_popup__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(23);
|
|
94
97
|
|
|
95
|
-
/***/ }),
|
|
96
98
|
|
|
97
|
-
/***/ 18:
|
|
98
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
99
99
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
100
|
+
var PopperJS = vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer ? function () {} : __webpack_require__(41);
|
|
101
|
+
var stopPropagation = function stopPropagation(e) {
|
|
102
|
+
return e.stopPropagation();
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* @param {HTMLElement} [reference=$refs.reference] - The reference element used to position the popper.
|
|
107
|
+
* @param {HTMLElement} [popper=$refs.popper] - The HTML element used as popper, or a configuration used to generate the popper.
|
|
108
|
+
* @param {String} [placement=button] - Placement of the popper accepted values: top(-start, -end), right(-start, -end), bottom(-start, -end), left(-start, -end)
|
|
109
|
+
* @param {Number} [offset=0] - Amount of pixels the popper will be shifted (can be negative).
|
|
110
|
+
* @param {Boolean} [visible=false] Visibility of the popup element.
|
|
111
|
+
* @param {Boolean} [visible-arrow=false] Visibility of the arrow, no style.
|
|
112
|
+
*/
|
|
113
|
+
/* harmony default export */ __webpack_exports__["a"] = ({
|
|
114
|
+
props: {
|
|
115
|
+
transformOrigin: {
|
|
116
|
+
type: [Boolean, String],
|
|
117
|
+
default: true
|
|
118
|
+
},
|
|
119
|
+
placement: {
|
|
120
|
+
type: String,
|
|
121
|
+
default: 'bottom'
|
|
122
|
+
},
|
|
123
|
+
boundariesPadding: {
|
|
124
|
+
type: Number,
|
|
125
|
+
default: 5
|
|
126
|
+
},
|
|
127
|
+
reference: { type: Object },
|
|
128
|
+
popper: { type: Object },
|
|
129
|
+
offset: {
|
|
130
|
+
type: Number,
|
|
131
|
+
default: 0
|
|
132
|
+
},
|
|
133
|
+
value: { type: Boolean },
|
|
134
|
+
visibleArrow: { type: Boolean },
|
|
135
|
+
arrowOffset: {
|
|
136
|
+
type: Number,
|
|
137
|
+
default: 35
|
|
138
|
+
},
|
|
139
|
+
appendToBody: {
|
|
140
|
+
type: Boolean,
|
|
141
|
+
default: true
|
|
142
|
+
},
|
|
143
|
+
popperOptions: {
|
|
144
|
+
type: Object,
|
|
145
|
+
default: function _default() {
|
|
146
|
+
return {
|
|
147
|
+
gpuAcceleration: false
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
},
|
|
151
|
+
queryParent: { type: Boolean }
|
|
152
|
+
},
|
|
153
|
+
|
|
154
|
+
data: function data() {
|
|
155
|
+
return {
|
|
156
|
+
showPopper: false,
|
|
157
|
+
currentPlacement: ''
|
|
158
|
+
};
|
|
159
|
+
},
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
watch: {
|
|
163
|
+
value: {
|
|
164
|
+
immediate: true,
|
|
165
|
+
handler: function handler(val) {
|
|
166
|
+
this.showPopper = val;
|
|
167
|
+
this.$emit('input', val);
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
|
|
171
|
+
showPopper: function showPopper(val) {
|
|
172
|
+
if (this.disabled) return;
|
|
173
|
+
val ? this.updatePopper() : this.destroyPopper();
|
|
174
|
+
this.$emit('input', val);
|
|
175
|
+
}
|
|
176
|
+
},
|
|
177
|
+
|
|
178
|
+
methods: {
|
|
179
|
+
getBoundingClientRect: function getBoundingClientRect(element) {
|
|
180
|
+
var rect = element.getBoundingClientRect();
|
|
181
|
+
|
|
182
|
+
// whether the IE version is lower than 11
|
|
183
|
+
var isIE = /MSIE|Trident/.test(navigator.userAgent);
|
|
184
|
+
|
|
185
|
+
// fix ie document bounding top always 0 bug
|
|
186
|
+
var rectTop = isIE && element.tagName === 'HTML' ? -element.scrollTop : rect.top;
|
|
187
|
+
return {
|
|
188
|
+
left: rect.left,
|
|
189
|
+
top: rectTop,
|
|
190
|
+
right: rect.right,
|
|
191
|
+
bottom: rect.bottom,
|
|
192
|
+
width: rect.right - rect.left,
|
|
193
|
+
height: rect.bottom - rectTop
|
|
194
|
+
};
|
|
195
|
+
},
|
|
196
|
+
createPopper: function createPopper() {
|
|
197
|
+
var _this = this;
|
|
198
|
+
|
|
199
|
+
if (this.$isServer) return;
|
|
200
|
+
this.currentPlacement = this.currentPlacement || this.placement;
|
|
201
|
+
|
|
202
|
+
// Validate placement format
|
|
203
|
+
if (!/^(top|bottom|left|right)(-start|-end)?$/g.test(this.currentPlacement)) {
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
var options = this.popperOptions;
|
|
208
|
+
var popper = this.popperElm = this.popperElm || this.popper || this.$refs.popper;
|
|
209
|
+
var reference = this.referenceElm = this.referenceElm || this.reference || this.$refs.reference;
|
|
210
|
+
|
|
211
|
+
// Find reference element in different ways
|
|
212
|
+
if (!reference && this.$slots.reference && this.$slots.reference[0]) {
|
|
213
|
+
reference = this.referenceElm = this.$slots.reference[0].elm;
|
|
214
|
+
}
|
|
215
|
+
if (!reference && this.queryParent) {
|
|
216
|
+
reference = this.referenceElm = this.$parent.$el;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
// Ensure both elements exist
|
|
220
|
+
if (!popper || !reference) return;
|
|
221
|
+
|
|
222
|
+
// Append arrow if needed
|
|
223
|
+
if (this.visibleArrow) this.appendArrow(popper);
|
|
224
|
+
|
|
225
|
+
// Append to body if required
|
|
226
|
+
if (this.appendToBody) {
|
|
227
|
+
document.body.appendChild(this.popperElm);
|
|
228
|
+
|
|
229
|
+
// Handle height limitation
|
|
230
|
+
if (this.popperElm.offsetHeight > document.body.offsetHeight) {
|
|
231
|
+
var _getBoundingClientRec = this.getBoundingClientRect(reference),
|
|
232
|
+
top = _getBoundingClientRec.top;
|
|
233
|
+
|
|
234
|
+
this.popperElm.style.height = document.body.offsetHeight - top + 'px';
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
// Clean up previous instance if exists
|
|
239
|
+
if (this.popperJS && typeof this.popperJS.destroy === 'function') {
|
|
240
|
+
this.popperJS.destroy();
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
// Configure and create new popper instance
|
|
244
|
+
options.placement = this.currentPlacement;
|
|
245
|
+
options.offset = this.offset;
|
|
246
|
+
options.arrowOffset = this.arrowOffset;
|
|
247
|
+
|
|
248
|
+
this.popperJS = new PopperJS(reference, popper, options);
|
|
249
|
+
|
|
250
|
+
// Set up callbacks
|
|
251
|
+
this.popperJS.onCreate(function () {
|
|
252
|
+
_this.$emit('created', _this);
|
|
253
|
+
_this.resetTransformOrigin();
|
|
254
|
+
_this.$nextTick(_this.updatePopper);
|
|
255
|
+
});
|
|
256
|
+
|
|
257
|
+
if (typeof options.onUpdate === 'function') {
|
|
258
|
+
this.popperJS.onUpdate(options.onUpdate);
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
// Set z-index and prevent click propagation
|
|
262
|
+
this.popperJS._popper.style.zIndex = eoss_src_utils_popup__WEBPACK_IMPORTED_MODULE_1__[/* PopupManager */ "a"].nextZIndex();
|
|
263
|
+
this.popperElm.addEventListener('click', stopPropagation);
|
|
264
|
+
},
|
|
265
|
+
updatePopper: function updatePopper() {
|
|
266
|
+
if (this.popperJS) {
|
|
267
|
+
this.popperJS.update();
|
|
268
|
+
if (this.popperJS._popper) {
|
|
269
|
+
this.popperJS._popper.style.zIndex = eoss_src_utils_popup__WEBPACK_IMPORTED_MODULE_1__[/* PopupManager */ "a"].nextZIndex();
|
|
270
|
+
}
|
|
271
|
+
} else {
|
|
272
|
+
this.createPopper();
|
|
273
|
+
}
|
|
274
|
+
},
|
|
275
|
+
doDestroy: function doDestroy() {
|
|
276
|
+
var forceDestroy = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
277
|
+
|
|
278
|
+
/* istanbul ignore if */
|
|
279
|
+
if (!this.popperJS || this.showPopper && !forceDestroy) return;
|
|
280
|
+
|
|
281
|
+
this.popperJS.destroy();
|
|
282
|
+
this.popperJS = null;
|
|
283
|
+
},
|
|
284
|
+
destroyPopper: function destroyPopper() {
|
|
285
|
+
if (this.popperJS) {
|
|
286
|
+
this.resetTransformOrigin();
|
|
287
|
+
}
|
|
288
|
+
},
|
|
289
|
+
resetTransformOrigin: function resetTransformOrigin() {
|
|
290
|
+
if (!this.transformOrigin || !this.popperJS || !this.popperJS._popper) return;
|
|
291
|
+
|
|
292
|
+
var placementMap = {
|
|
293
|
+
top: 'bottom',
|
|
294
|
+
bottom: 'top',
|
|
295
|
+
left: 'right',
|
|
296
|
+
right: 'left'
|
|
297
|
+
};
|
|
298
|
+
|
|
299
|
+
var placementAttr = this.popperJS._popper.getAttribute('x-placement');
|
|
300
|
+
if (!placementAttr) return;
|
|
301
|
+
|
|
302
|
+
var placement = placementAttr.split('-')[0];
|
|
303
|
+
var origin = placementMap[placement];
|
|
304
|
+
|
|
305
|
+
this.popperJS._popper.style.transformOrigin = typeof this.transformOrigin === 'string' ? this.transformOrigin : ['top', 'bottom'].indexOf(placement) > -1 ? 'center ' + origin : origin + ' center';
|
|
306
|
+
},
|
|
307
|
+
appendArrow: function appendArrow(element) {
|
|
308
|
+
// Skip if already appended
|
|
309
|
+
if (this.appended) {
|
|
310
|
+
return;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
this.appended = true;
|
|
314
|
+
|
|
315
|
+
// Find Vue hash attribute
|
|
316
|
+
var hash = void 0;
|
|
317
|
+
for (var i = 0; i < element.attributes.length; i++) {
|
|
318
|
+
var attr = element.attributes[i];
|
|
319
|
+
if (/^_v-/.test(attr.name)) {
|
|
320
|
+
hash = attr.name;
|
|
321
|
+
break;
|
|
109
322
|
}
|
|
110
323
|
}
|
|
324
|
+
|
|
325
|
+
// Create arrow element
|
|
326
|
+
var arrow = document.createElement('div');
|
|
327
|
+
|
|
328
|
+
// Copy Vue hash attribute if exists
|
|
329
|
+
if (hash) {
|
|
330
|
+
arrow.setAttribute(hash, '');
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
// Set arrow attributes
|
|
334
|
+
arrow.setAttribute('x-arrow', '');
|
|
335
|
+
arrow.className = 'popper__arrow';
|
|
336
|
+
|
|
337
|
+
// Append to element
|
|
338
|
+
element.appendChild(arrow);
|
|
339
|
+
}
|
|
340
|
+
},
|
|
341
|
+
|
|
342
|
+
beforeDestroy: function beforeDestroy() {
|
|
343
|
+
this.doDestroy(true);
|
|
344
|
+
|
|
345
|
+
// Clean up DOM elements and event listeners
|
|
346
|
+
if (this.popperElm && this.popperElm.parentNode === document.body) {
|
|
347
|
+
this.popperElm.removeEventListener('click', stopPropagation);
|
|
348
|
+
document.body.removeChild(this.popperElm);
|
|
111
349
|
}
|
|
112
|
-
}
|
|
350
|
+
},
|
|
113
351
|
|
|
114
|
-
|
|
115
|
-
|
|
352
|
+
|
|
353
|
+
// call destroy in keep-alive mode
|
|
354
|
+
deactivated: function deactivated() {
|
|
355
|
+
this.$options.beforeDestroy[0].call(this);
|
|
356
|
+
}
|
|
357
|
+
});
|
|
116
358
|
|
|
117
359
|
/***/ }),
|
|
118
360
|
|
|
119
|
-
/***/
|
|
361
|
+
/***/ 15:
|
|
120
362
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
121
363
|
|
|
122
364
|
"use strict";
|
|
@@ -124,7 +366,7 @@ module.exports = require("eoss/lib/dropdown-item");
|
|
|
124
366
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return scrollIntoView; });
|
|
125
367
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getScrollSize; });
|
|
126
368
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return scrollMove; });
|
|
127
|
-
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
369
|
+
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4);
|
|
128
370
|
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);
|
|
129
371
|
|
|
130
372
|
|
|
@@ -261,7 +503,29 @@ function scrollMove(wrap) {
|
|
|
261
503
|
|
|
262
504
|
/***/ }),
|
|
263
505
|
|
|
264
|
-
/***/
|
|
506
|
+
/***/ 16:
|
|
507
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
508
|
+
|
|
509
|
+
"use strict";
|
|
510
|
+
/* harmony default export */ __webpack_exports__["a"] = (function (target) {
|
|
511
|
+
for (var i = 1, j = arguments.length; i < j; i++) {
|
|
512
|
+
var source = arguments[i] || {};
|
|
513
|
+
for (var prop in source) {
|
|
514
|
+
if (source.hasOwnProperty(prop)) {
|
|
515
|
+
var value = source[prop];
|
|
516
|
+
if (value !== undefined) {
|
|
517
|
+
target[prop] = value;
|
|
518
|
+
}
|
|
519
|
+
}
|
|
520
|
+
}
|
|
521
|
+
}
|
|
522
|
+
|
|
523
|
+
return target;
|
|
524
|
+
});;
|
|
525
|
+
|
|
526
|
+
/***/ }),
|
|
527
|
+
|
|
528
|
+
/***/ 196:
|
|
265
529
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
266
530
|
|
|
267
531
|
"use strict";
|
|
@@ -332,10 +596,10 @@ render._withStripped = true
|
|
|
332
596
|
// CONCATENATED MODULE: ./packages/dropdown/src/dropdown-menu.vue?vue&type=template&id=cdb28bee&
|
|
333
597
|
|
|
334
598
|
// EXTERNAL MODULE: ./src/utils/vue-popper.js
|
|
335
|
-
var vue_popper = __webpack_require__(
|
|
599
|
+
var vue_popper = __webpack_require__(12);
|
|
336
600
|
|
|
337
601
|
// EXTERNAL MODULE: external "eoss/lib/dropdown-item"
|
|
338
|
-
var dropdown_item_ = __webpack_require__(
|
|
602
|
+
var dropdown_item_ = __webpack_require__(95);
|
|
339
603
|
var dropdown_item_default = /*#__PURE__*/__webpack_require__.n(dropdown_item_);
|
|
340
604
|
|
|
341
605
|
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/dropdown/src/dropdown-menu.vue?vue&type=script&lang=js&
|
|
@@ -466,446 +730,168 @@ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in ob
|
|
|
466
730
|
mt: 0,
|
|
467
731
|
// 缓存处理后的item对象,避免重复渲染
|
|
468
732
|
itemCache: new Map()
|
|
469
|
-
};
|
|
470
|
-
},
|
|
471
|
-
created: function created() {
|
|
472
|
-
var _this = this;
|
|
473
|
-
|
|
474
|
-
this.$on('updatePopper', function () {
|
|
475
|
-
if (_this.showPopper) _this.updatePopper();
|
|
476
|
-
});
|
|
477
|
-
this.$on('visible', function (val) {
|
|
478
|
-
_this.showPopper = val;
|
|
479
|
-
_this.$nextTick(function () {
|
|
480
|
-
_this.init();
|
|
481
|
-
_this.getStyle('margin-top');
|
|
482
|
-
// 确保Popper位置更新
|
|
483
|
-
if (val) {
|
|
484
|
-
_this.$nextTick(function () {
|
|
485
|
-
_this.updatePopper();
|
|
486
|
-
});
|
|
487
|
-
}
|
|
488
|
-
});
|
|
489
|
-
});
|
|
490
|
-
},
|
|
491
|
-
mounted: function mounted() {
|
|
492
|
-
this.init();
|
|
493
|
-
this.dropdown.popperElm = this.popperElm = this.$el;
|
|
494
|
-
this.referenceElm = this.dropdown.$el;
|
|
495
|
-
this.dropdown.initDomOperation();
|
|
496
|
-
},
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
watch: {
|
|
500
|
-
/**
|
|
501
|
-
* 监听 placement 变化
|
|
502
|
-
*/
|
|
503
|
-
'dropdown.placement': {
|
|
504
|
-
immediate: true,
|
|
505
|
-
handler: function handler(val) {
|
|
506
|
-
this.currentPlacement = val;
|
|
507
|
-
}
|
|
508
|
-
},
|
|
509
|
-
/**
|
|
510
|
-
* 监听 showPopper 状态,当变为false时重置滚动条到顶部
|
|
511
|
-
*/
|
|
512
|
-
showPopper: function showPopper(newVal) {
|
|
513
|
-
var _this2 = this;
|
|
514
|
-
|
|
515
|
-
if (!newVal && this.$refs.scrollbar) {
|
|
516
|
-
// 在下一个tick中执行,确保DOM已经更新
|
|
517
|
-
this.$nextTick(function () {
|
|
518
|
-
_this2.$refs.scrollbar.wrap.scrollTo({ top: 0 });
|
|
519
|
-
});
|
|
520
|
-
}
|
|
521
|
-
}
|
|
522
|
-
},
|
|
523
|
-
methods: {
|
|
524
|
-
/**
|
|
525
|
-
* 初始化菜单高度计算
|
|
526
|
-
*/
|
|
527
|
-
init: function init() {
|
|
528
|
-
// 当maxHeight未定义或为0时,计算基于可视区域的最大高度
|
|
529
|
-
if (this.maxHeight === undefined || this.maxHeight === 0) {
|
|
530
|
-
var _$parent$$el$getBound = this.$parent.$el.getBoundingClientRect(),
|
|
531
|
-
top = _$parent$$el$getBound.top,
|
|
532
|
-
height = _$parent$$el$getBound.height;
|
|
533
|
-
|
|
534
|
-
var h = window.innerHeight; // 使用可视区域高度而不是文档高度
|
|
535
|
-
var mt = this.getStyle('margin-top') || 0;
|
|
536
|
-
var mb = this.getStyle('margin-bottom') || 0;
|
|
537
|
-
var pt = this.getStyle('padding-top') || 0;
|
|
538
|
-
var pb = this.getStyle('padding-bottom') || 0;
|
|
539
|
-
if (this.$parent.placement.indexOf('bottom') > -1) {
|
|
540
|
-
this.max = h - top - height - this.difference - 7 - parseInt(mt, 10) - parseInt(mb, 10) - parseInt(pt, 10) - parseInt(pb, 10);
|
|
541
|
-
} else {
|
|
542
|
-
this.max = top - this.difference - 7 - parseInt(mt, 10) - parseInt(mb, 10) - parseInt(pt, 10) - parseInt(pb, 10);
|
|
543
|
-
}
|
|
544
|
-
} else {
|
|
545
|
-
this.max = 'auto';
|
|
546
|
-
}
|
|
547
|
-
},
|
|
548
|
-
|
|
549
|
-
/**
|
|
550
|
-
* 处理item对象,移除event属性并缓存结果
|
|
551
|
-
* @param {Object} item - 按钮配置项
|
|
552
|
-
* @param {number} index - 索引值
|
|
553
|
-
* @returns {Object} - 处理后的item对象
|
|
554
|
-
*/
|
|
555
|
-
getProps: function getProps(item, index) {
|
|
556
|
-
var key = item.key || item.id || index;
|
|
557
|
-
// 检查缓存中是否已有处理结果
|
|
558
|
-
if (this.itemCache.has(key)) {
|
|
559
|
-
return this.itemCache.get(key);
|
|
560
|
-
}
|
|
561
|
-
|
|
562
|
-
var event = item.event,
|
|
563
|
-
props = _objectWithoutProperties(item, ['event']);
|
|
564
|
-
|
|
565
|
-
if (this._labelKey && !props.text) {
|
|
566
|
-
props.text = item[this._labelKey];
|
|
567
|
-
}
|
|
568
|
-
// 缓存处理结果
|
|
569
|
-
this.itemCache.set(key, props);
|
|
570
|
-
return props;
|
|
571
|
-
},
|
|
572
|
-
|
|
573
|
-
/**
|
|
574
|
-
* 获取样式值
|
|
575
|
-
* @param {string} attr - 样式属性名
|
|
576
|
-
*/
|
|
577
|
-
getStyle: function getStyle(attr) {
|
|
578
|
-
// 使用现代浏览器API获取计算样式,简化实现
|
|
579
|
-
return window.getComputedStyle(this.$el)[attr];
|
|
580
|
-
},
|
|
581
|
-
|
|
582
|
-
/**
|
|
583
|
-
* 菜单项创建时的处理
|
|
584
|
-
* @param {Element} res - 菜单项元素
|
|
585
|
-
* @param {boolean} flag - 是否为分隔项
|
|
586
|
-
*/
|
|
587
|
-
menuItemCreate: function menuItemCreate(res, flag) {
|
|
588
|
-
this.height += parseInt(getComputedStyle(res).height, 10);
|
|
589
|
-
this.mt += parseInt(getComputedStyle(res).marginTop, 10) + (flag ? 1 : 0);
|
|
590
|
-
}
|
|
591
|
-
}
|
|
592
|
-
});
|
|
593
|
-
// CONCATENATED MODULE: ./packages/dropdown/src/dropdown-menu.vue?vue&type=script&lang=js&
|
|
594
|
-
/* harmony default export */ var src_dropdown_menuvue_type_script_lang_js_ = (dropdown_menuvue_type_script_lang_js_);
|
|
595
|
-
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
|
|
596
|
-
var componentNormalizer = __webpack_require__(5);
|
|
597
|
-
|
|
598
|
-
// CONCATENATED MODULE: ./packages/dropdown/src/dropdown-menu.vue
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
/* normalize component */
|
|
605
|
-
|
|
606
|
-
var component = Object(componentNormalizer["a" /* default */])(
|
|
607
|
-
src_dropdown_menuvue_type_script_lang_js_,
|
|
608
|
-
render,
|
|
609
|
-
staticRenderFns,
|
|
610
|
-
false,
|
|
611
|
-
null,
|
|
612
|
-
null,
|
|
613
|
-
null
|
|
614
|
-
|
|
615
|
-
)
|
|
616
|
-
|
|
617
|
-
/* harmony default export */ var dropdown_menu = (component.exports);
|
|
618
|
-
// CONCATENATED MODULE: ./packages/dropdown-menu/index.js
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
/* istanbul ignore next */
|
|
622
|
-
dropdown_menu.install = function (Vue) {
|
|
623
|
-
Vue.component(dropdown_menu.name, dropdown_menu);
|
|
624
|
-
};
|
|
625
|
-
|
|
626
|
-
/* harmony default export */ var packages_dropdown_menu = __webpack_exports__["default"] = (dropdown_menu);
|
|
627
|
-
|
|
628
|
-
/***/ }),
|
|
629
|
-
|
|
630
|
-
/***/ 2:
|
|
631
|
-
/***/ (function(module, exports) {
|
|
632
|
-
|
|
633
|
-
module.exports = require("vue");
|
|
634
|
-
|
|
635
|
-
/***/ }),
|
|
636
|
-
|
|
637
|
-
/***/ 20:
|
|
638
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
639
|
-
|
|
640
|
-
"use strict";
|
|
641
|
-
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
|
|
642
|
-
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);
|
|
643
|
-
/* harmony import */ var eoss_src_utils_popup__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(22);
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
var PopperJS = vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer ? function () {} : __webpack_require__(37);
|
|
648
|
-
var stopPropagation = function stopPropagation(e) {
|
|
649
|
-
return e.stopPropagation();
|
|
650
|
-
};
|
|
651
|
-
|
|
652
|
-
/**
|
|
653
|
-
* @param {HTMLElement} [reference=$refs.reference] - The reference element used to position the popper.
|
|
654
|
-
* @param {HTMLElement} [popper=$refs.popper] - The HTML element used as popper, or a configuration used to generate the popper.
|
|
655
|
-
* @param {String} [placement=button] - Placement of the popper accepted values: top(-start, -end), right(-start, -end), bottom(-start, -end), left(-start, -end)
|
|
656
|
-
* @param {Number} [offset=0] - Amount of pixels the popper will be shifted (can be negative).
|
|
657
|
-
* @param {Boolean} [visible=false] Visibility of the popup element.
|
|
658
|
-
* @param {Boolean} [visible-arrow=false] Visibility of the arrow, no style.
|
|
659
|
-
*/
|
|
660
|
-
/* harmony default export */ __webpack_exports__["a"] = ({
|
|
661
|
-
props: {
|
|
662
|
-
transformOrigin: {
|
|
663
|
-
type: [Boolean, String],
|
|
664
|
-
default: true
|
|
665
|
-
},
|
|
666
|
-
placement: {
|
|
667
|
-
type: String,
|
|
668
|
-
default: 'bottom'
|
|
669
|
-
},
|
|
670
|
-
boundariesPadding: {
|
|
671
|
-
type: Number,
|
|
672
|
-
default: 5
|
|
673
|
-
},
|
|
674
|
-
reference: { type: Object },
|
|
675
|
-
popper: { type: Object },
|
|
676
|
-
offset: {
|
|
677
|
-
type: Number,
|
|
678
|
-
default: 0
|
|
679
|
-
},
|
|
680
|
-
value: { type: Boolean },
|
|
681
|
-
visibleArrow: { type: Boolean },
|
|
682
|
-
arrowOffset: {
|
|
683
|
-
type: Number,
|
|
684
|
-
default: 35
|
|
685
|
-
},
|
|
686
|
-
appendToBody: {
|
|
687
|
-
type: Boolean,
|
|
688
|
-
default: true
|
|
689
|
-
},
|
|
690
|
-
popperOptions: {
|
|
691
|
-
type: Object,
|
|
692
|
-
default: function _default() {
|
|
693
|
-
return {
|
|
694
|
-
gpuAcceleration: false
|
|
695
|
-
};
|
|
696
|
-
}
|
|
697
|
-
},
|
|
698
|
-
queryParent: { type: Boolean }
|
|
733
|
+
};
|
|
699
734
|
},
|
|
735
|
+
created: function created() {
|
|
736
|
+
var _this = this;
|
|
700
737
|
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
738
|
+
this.$on('updatePopper', function () {
|
|
739
|
+
if (_this.showPopper) _this.updatePopper();
|
|
740
|
+
});
|
|
741
|
+
this.$on('visible', function (val) {
|
|
742
|
+
_this.showPopper = val;
|
|
743
|
+
_this.$nextTick(function () {
|
|
744
|
+
_this.init();
|
|
745
|
+
_this.getStyle('margin-top');
|
|
746
|
+
// 确保Popper位置更新
|
|
747
|
+
if (val) {
|
|
748
|
+
_this.$nextTick(function () {
|
|
749
|
+
_this.updatePopper();
|
|
750
|
+
});
|
|
751
|
+
}
|
|
752
|
+
});
|
|
753
|
+
});
|
|
754
|
+
},
|
|
755
|
+
mounted: function mounted() {
|
|
756
|
+
this.init();
|
|
757
|
+
this.dropdown.popperElm = this.popperElm = this.$el;
|
|
758
|
+
this.referenceElm = this.dropdown.$el;
|
|
759
|
+
this.dropdown.initDomOperation();
|
|
706
760
|
},
|
|
707
761
|
|
|
708
762
|
|
|
709
763
|
watch: {
|
|
710
|
-
|
|
764
|
+
/**
|
|
765
|
+
* 监听 placement 变化
|
|
766
|
+
*/
|
|
767
|
+
'dropdown.placement': {
|
|
711
768
|
immediate: true,
|
|
712
769
|
handler: function handler(val) {
|
|
713
|
-
this.
|
|
714
|
-
this.$emit('input', val);
|
|
770
|
+
this.currentPlacement = val;
|
|
715
771
|
}
|
|
716
772
|
},
|
|
773
|
+
/**
|
|
774
|
+
* 监听 showPopper 状态,当变为false时重置滚动条到顶部
|
|
775
|
+
*/
|
|
776
|
+
showPopper: function showPopper(newVal) {
|
|
777
|
+
var _this2 = this;
|
|
717
778
|
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
779
|
+
if (!newVal && this.$refs.scrollbar) {
|
|
780
|
+
// 在下一个tick中执行,确保DOM已经更新
|
|
781
|
+
this.$nextTick(function () {
|
|
782
|
+
_this2.$refs.scrollbar.wrap.scrollTo({ top: 0 });
|
|
783
|
+
});
|
|
784
|
+
}
|
|
722
785
|
}
|
|
723
786
|
},
|
|
724
|
-
|
|
725
787
|
methods: {
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
left: rect.left,
|
|
736
|
-
top: rectTop,
|
|
737
|
-
right: rect.right,
|
|
738
|
-
bottom: rect.bottom,
|
|
739
|
-
width: rect.right - rect.left,
|
|
740
|
-
height: rect.bottom - rectTop
|
|
741
|
-
};
|
|
742
|
-
},
|
|
743
|
-
createPopper: function createPopper() {
|
|
744
|
-
var _this = this;
|
|
745
|
-
|
|
746
|
-
if (this.$isServer) return;
|
|
747
|
-
this.currentPlacement = this.currentPlacement || this.placement;
|
|
748
|
-
|
|
749
|
-
// Validate placement format
|
|
750
|
-
if (!/^(top|bottom|left|right)(-start|-end)?$/g.test(this.currentPlacement)) {
|
|
751
|
-
return;
|
|
752
|
-
}
|
|
753
|
-
|
|
754
|
-
var options = this.popperOptions;
|
|
755
|
-
var popper = this.popperElm = this.popperElm || this.popper || this.$refs.popper;
|
|
756
|
-
var reference = this.referenceElm = this.referenceElm || this.reference || this.$refs.reference;
|
|
757
|
-
|
|
758
|
-
// Find reference element in different ways
|
|
759
|
-
if (!reference && this.$slots.reference && this.$slots.reference[0]) {
|
|
760
|
-
reference = this.referenceElm = this.$slots.reference[0].elm;
|
|
761
|
-
}
|
|
762
|
-
if (!reference && this.queryParent) {
|
|
763
|
-
reference = this.referenceElm = this.$parent.$el;
|
|
764
|
-
}
|
|
765
|
-
|
|
766
|
-
// Ensure both elements exist
|
|
767
|
-
if (!popper || !reference) return;
|
|
768
|
-
|
|
769
|
-
// Append arrow if needed
|
|
770
|
-
if (this.visibleArrow) this.appendArrow(popper);
|
|
771
|
-
|
|
772
|
-
// Append to body if required
|
|
773
|
-
if (this.appendToBody) {
|
|
774
|
-
document.body.appendChild(this.popperElm);
|
|
775
|
-
|
|
776
|
-
// Handle height limitation
|
|
777
|
-
if (this.popperElm.offsetHeight > document.body.offsetHeight) {
|
|
778
|
-
var _getBoundingClientRec = this.getBoundingClientRect(reference),
|
|
779
|
-
top = _getBoundingClientRec.top;
|
|
780
|
-
|
|
781
|
-
this.popperElm.style.height = document.body.offsetHeight - top + 'px';
|
|
782
|
-
}
|
|
783
|
-
}
|
|
784
|
-
|
|
785
|
-
// Clean up previous instance if exists
|
|
786
|
-
if (this.popperJS && typeof this.popperJS.destroy === 'function') {
|
|
787
|
-
this.popperJS.destroy();
|
|
788
|
-
}
|
|
789
|
-
|
|
790
|
-
// Configure and create new popper instance
|
|
791
|
-
options.placement = this.currentPlacement;
|
|
792
|
-
options.offset = this.offset;
|
|
793
|
-
options.arrowOffset = this.arrowOffset;
|
|
794
|
-
|
|
795
|
-
this.popperJS = new PopperJS(reference, popper, options);
|
|
796
|
-
|
|
797
|
-
// Set up callbacks
|
|
798
|
-
this.popperJS.onCreate(function () {
|
|
799
|
-
_this.$emit('created', _this);
|
|
800
|
-
_this.resetTransformOrigin();
|
|
801
|
-
_this.$nextTick(_this.updatePopper);
|
|
802
|
-
});
|
|
803
|
-
|
|
804
|
-
if (typeof options.onUpdate === 'function') {
|
|
805
|
-
this.popperJS.onUpdate(options.onUpdate);
|
|
806
|
-
}
|
|
788
|
+
/**
|
|
789
|
+
* 初始化菜单高度计算
|
|
790
|
+
*/
|
|
791
|
+
init: function init() {
|
|
792
|
+
// 当maxHeight未定义或为0时,计算基于可视区域的最大高度
|
|
793
|
+
if (this.maxHeight === undefined || this.maxHeight === 0) {
|
|
794
|
+
var _$parent$$el$getBound = this.$parent.$el.getBoundingClientRect(),
|
|
795
|
+
top = _$parent$$el$getBound.top,
|
|
796
|
+
height = _$parent$$el$getBound.height;
|
|
807
797
|
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
this.
|
|
798
|
+
var h = window.innerHeight; // 使用可视区域高度而不是文档高度
|
|
799
|
+
var mt = this.getStyle('margin-top') || 0;
|
|
800
|
+
var mb = this.getStyle('margin-bottom') || 0;
|
|
801
|
+
var pt = this.getStyle('padding-top') || 0;
|
|
802
|
+
var pb = this.getStyle('padding-bottom') || 0;
|
|
803
|
+
if (this.$parent.placement.indexOf('bottom') > -1) {
|
|
804
|
+
this.max = h - top - height - this.difference - 7 - parseInt(mt, 10) - parseInt(mb, 10) - parseInt(pt, 10) - parseInt(pb, 10);
|
|
805
|
+
} else {
|
|
806
|
+
this.max = top - this.difference - 7 - parseInt(mt, 10) - parseInt(mb, 10) - parseInt(pt, 10) - parseInt(pb, 10);
|
|
817
807
|
}
|
|
818
808
|
} else {
|
|
819
|
-
this.
|
|
809
|
+
this.max = 'auto';
|
|
820
810
|
}
|
|
821
811
|
},
|
|
822
|
-
doDestroy: function doDestroy() {
|
|
823
|
-
var forceDestroy = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
824
|
-
|
|
825
|
-
/* istanbul ignore if */
|
|
826
|
-
if (!this.popperJS || this.showPopper && !forceDestroy) return;
|
|
827
812
|
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
813
|
+
/**
|
|
814
|
+
* 处理item对象,移除event属性并缓存结果
|
|
815
|
+
* @param {Object} item - 按钮配置项
|
|
816
|
+
* @param {number} index - 索引值
|
|
817
|
+
* @returns {Object} - 处理后的item对象
|
|
818
|
+
*/
|
|
819
|
+
getProps: function getProps(item, index) {
|
|
820
|
+
var key = item.key || item.id || index;
|
|
821
|
+
// 检查缓存中是否已有处理结果
|
|
822
|
+
if (this.itemCache.has(key)) {
|
|
823
|
+
return this.itemCache.get(key);
|
|
834
824
|
}
|
|
835
|
-
},
|
|
836
|
-
resetTransformOrigin: function resetTransformOrigin() {
|
|
837
|
-
if (!this.transformOrigin || !this.popperJS || !this.popperJS._popper) return;
|
|
838
|
-
|
|
839
|
-
var placementMap = {
|
|
840
|
-
top: 'bottom',
|
|
841
|
-
bottom: 'top',
|
|
842
|
-
left: 'right',
|
|
843
|
-
right: 'left'
|
|
844
|
-
};
|
|
845
825
|
|
|
846
|
-
var
|
|
847
|
-
|
|
826
|
+
var event = item.event,
|
|
827
|
+
props = _objectWithoutProperties(item, ['event']);
|
|
848
828
|
|
|
849
|
-
|
|
850
|
-
|
|
829
|
+
if (this._labelKey && !props.text) {
|
|
830
|
+
props.text = item[this._labelKey];
|
|
831
|
+
}
|
|
832
|
+
// 缓存处理结果
|
|
833
|
+
this.itemCache.set(key, props);
|
|
834
|
+
return props;
|
|
835
|
+
},
|
|
851
836
|
|
|
852
|
-
|
|
837
|
+
/**
|
|
838
|
+
* 获取样式值
|
|
839
|
+
* @param {string} attr - 样式属性名
|
|
840
|
+
*/
|
|
841
|
+
getStyle: function getStyle(attr) {
|
|
842
|
+
// 使用现代浏览器API获取计算样式,简化实现
|
|
843
|
+
return window.getComputedStyle(this.$el)[attr];
|
|
853
844
|
},
|
|
854
|
-
appendArrow: function appendArrow(element) {
|
|
855
|
-
// Skip if already appended
|
|
856
|
-
if (this.appended) {
|
|
857
|
-
return;
|
|
858
|
-
}
|
|
859
845
|
|
|
860
|
-
|
|
846
|
+
/**
|
|
847
|
+
* 菜单项创建时的处理
|
|
848
|
+
* @param {Element} res - 菜单项元素
|
|
849
|
+
* @param {boolean} flag - 是否为分隔项
|
|
850
|
+
*/
|
|
851
|
+
menuItemCreate: function menuItemCreate(res, flag) {
|
|
852
|
+
this.height += parseInt(getComputedStyle(res).height, 10);
|
|
853
|
+
this.mt += parseInt(getComputedStyle(res).marginTop, 10) + (flag ? 1 : 0);
|
|
854
|
+
}
|
|
855
|
+
}
|
|
856
|
+
});
|
|
857
|
+
// CONCATENATED MODULE: ./packages/dropdown/src/dropdown-menu.vue?vue&type=script&lang=js&
|
|
858
|
+
/* harmony default export */ var src_dropdown_menuvue_type_script_lang_js_ = (dropdown_menuvue_type_script_lang_js_);
|
|
859
|
+
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
|
|
860
|
+
var componentNormalizer = __webpack_require__(3);
|
|
861
861
|
|
|
862
|
-
|
|
863
|
-
var hash = void 0;
|
|
864
|
-
for (var i = 0; i < element.attributes.length; i++) {
|
|
865
|
-
var attr = element.attributes[i];
|
|
866
|
-
if (/^_v-/.test(attr.name)) {
|
|
867
|
-
hash = attr.name;
|
|
868
|
-
break;
|
|
869
|
-
}
|
|
870
|
-
}
|
|
862
|
+
// CONCATENATED MODULE: ./packages/dropdown/src/dropdown-menu.vue
|
|
871
863
|
|
|
872
|
-
// Create arrow element
|
|
873
|
-
var arrow = document.createElement('div');
|
|
874
864
|
|
|
875
|
-
// Copy Vue hash attribute if exists
|
|
876
|
-
if (hash) {
|
|
877
|
-
arrow.setAttribute(hash, '');
|
|
878
|
-
}
|
|
879
865
|
|
|
880
|
-
// Set arrow attributes
|
|
881
|
-
arrow.setAttribute('x-arrow', '');
|
|
882
|
-
arrow.className = 'popper__arrow';
|
|
883
866
|
|
|
884
|
-
// Append to element
|
|
885
|
-
element.appendChild(arrow);
|
|
886
|
-
}
|
|
887
|
-
},
|
|
888
867
|
|
|
889
|
-
|
|
890
|
-
this.doDestroy(true);
|
|
868
|
+
/* normalize component */
|
|
891
869
|
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
870
|
+
var component = Object(componentNormalizer["a" /* default */])(
|
|
871
|
+
src_dropdown_menuvue_type_script_lang_js_,
|
|
872
|
+
render,
|
|
873
|
+
staticRenderFns,
|
|
874
|
+
false,
|
|
875
|
+
null,
|
|
876
|
+
null,
|
|
877
|
+
null
|
|
878
|
+
|
|
879
|
+
)
|
|
880
|
+
|
|
881
|
+
/* harmony default export */ var dropdown_menu = (component.exports);
|
|
882
|
+
// CONCATENATED MODULE: ./packages/dropdown-menu/index.js
|
|
898
883
|
|
|
899
884
|
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
885
|
+
/* istanbul ignore next */
|
|
886
|
+
dropdown_menu.install = function (Vue) {
|
|
887
|
+
Vue.component(dropdown_menu.name, dropdown_menu);
|
|
888
|
+
};
|
|
889
|
+
|
|
890
|
+
/* harmony default export */ var packages_dropdown_menu = __webpack_exports__["default"] = (dropdown_menu);
|
|
905
891
|
|
|
906
892
|
/***/ }),
|
|
907
893
|
|
|
908
|
-
/***/
|
|
894
|
+
/***/ 23:
|
|
909
895
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
910
896
|
|
|
911
897
|
"use strict";
|
|
@@ -914,14 +900,14 @@ var stopPropagation = function stopPropagation(e) {
|
|
|
914
900
|
__webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ popup_manager; });
|
|
915
901
|
|
|
916
902
|
// EXTERNAL MODULE: external "vue"
|
|
917
|
-
var external_vue_ = __webpack_require__(
|
|
903
|
+
var external_vue_ = __webpack_require__(4);
|
|
918
904
|
var external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_);
|
|
919
905
|
|
|
920
906
|
// EXTERNAL MODULE: ./src/utils/merge.js
|
|
921
|
-
var merge = __webpack_require__(
|
|
907
|
+
var merge = __webpack_require__(16);
|
|
922
908
|
|
|
923
909
|
// EXTERNAL MODULE: ./src/utils/dom.js
|
|
924
|
-
var utils_dom = __webpack_require__(
|
|
910
|
+
var utils_dom = __webpack_require__(5);
|
|
925
911
|
|
|
926
912
|
// CONCATENATED MODULE: ./src/utils/popup/popup-manager.js
|
|
927
913
|
|
|
@@ -1130,7 +1116,7 @@ if (!external_vue_default.a.prototype.$isServer) {
|
|
|
1130
1116
|
|
|
1131
1117
|
/* harmony default export */ var popup_manager = (PopupManager);
|
|
1132
1118
|
// EXTERNAL MODULE: ./src/utils/scrollbar.js
|
|
1133
|
-
var scrollbar = __webpack_require__(
|
|
1119
|
+
var scrollbar = __webpack_require__(15);
|
|
1134
1120
|
|
|
1135
1121
|
// CONCATENATED MODULE: ./src/utils/popup/index.js
|
|
1136
1122
|
|
|
@@ -1176,6 +1162,10 @@ var scrollBarWidth = void 0;
|
|
|
1176
1162
|
closeOnClickModal: {
|
|
1177
1163
|
type: Boolean,
|
|
1178
1164
|
default: false
|
|
1165
|
+
},
|
|
1166
|
+
lazy: {
|
|
1167
|
+
type: Boolean,
|
|
1168
|
+
default: true
|
|
1179
1169
|
}
|
|
1180
1170
|
},
|
|
1181
1171
|
|
|
@@ -1205,7 +1195,7 @@ var scrollBarWidth = void 0;
|
|
|
1205
1195
|
bodyPaddingRight: null,
|
|
1206
1196
|
computedBodyPaddingRight: 0,
|
|
1207
1197
|
withoutHiddenClass: true,
|
|
1208
|
-
rendered:
|
|
1198
|
+
rendered: !this.lazy
|
|
1209
1199
|
};
|
|
1210
1200
|
},
|
|
1211
1201
|
|
|
@@ -1356,7 +1346,119 @@ var scrollBarWidth = void 0;
|
|
|
1356
1346
|
|
|
1357
1347
|
/***/ }),
|
|
1358
1348
|
|
|
1359
|
-
/***/
|
|
1349
|
+
/***/ 3:
|
|
1350
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
1351
|
+
|
|
1352
|
+
"use strict";
|
|
1353
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; });
|
|
1354
|
+
/* globals __VUE_SSR_CONTEXT__ */
|
|
1355
|
+
|
|
1356
|
+
// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
|
|
1357
|
+
// This module is a runtime utility for cleaner component module output and will
|
|
1358
|
+
// be included in the final webpack user bundle.
|
|
1359
|
+
|
|
1360
|
+
function normalizeComponent(
|
|
1361
|
+
scriptExports,
|
|
1362
|
+
render,
|
|
1363
|
+
staticRenderFns,
|
|
1364
|
+
functionalTemplate,
|
|
1365
|
+
injectStyles,
|
|
1366
|
+
scopeId,
|
|
1367
|
+
moduleIdentifier /* server only */,
|
|
1368
|
+
shadowMode /* vue-cli only */
|
|
1369
|
+
) {
|
|
1370
|
+
// Vue.extend constructor export interop
|
|
1371
|
+
var options =
|
|
1372
|
+
typeof scriptExports === 'function' ? scriptExports.options : scriptExports
|
|
1373
|
+
|
|
1374
|
+
// render functions
|
|
1375
|
+
if (render) {
|
|
1376
|
+
options.render = render
|
|
1377
|
+
options.staticRenderFns = staticRenderFns
|
|
1378
|
+
options._compiled = true
|
|
1379
|
+
}
|
|
1380
|
+
|
|
1381
|
+
// functional template
|
|
1382
|
+
if (functionalTemplate) {
|
|
1383
|
+
options.functional = true
|
|
1384
|
+
}
|
|
1385
|
+
|
|
1386
|
+
// scopedId
|
|
1387
|
+
if (scopeId) {
|
|
1388
|
+
options._scopeId = 'data-v-' + scopeId
|
|
1389
|
+
}
|
|
1390
|
+
|
|
1391
|
+
var hook
|
|
1392
|
+
if (moduleIdentifier) {
|
|
1393
|
+
// server build
|
|
1394
|
+
hook = function (context) {
|
|
1395
|
+
// 2.3 injection
|
|
1396
|
+
context =
|
|
1397
|
+
context || // cached call
|
|
1398
|
+
(this.$vnode && this.$vnode.ssrContext) || // stateful
|
|
1399
|
+
(this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
|
|
1400
|
+
// 2.2 with runInNewContext: true
|
|
1401
|
+
if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
|
|
1402
|
+
context = __VUE_SSR_CONTEXT__
|
|
1403
|
+
}
|
|
1404
|
+
// inject component styles
|
|
1405
|
+
if (injectStyles) {
|
|
1406
|
+
injectStyles.call(this, context)
|
|
1407
|
+
}
|
|
1408
|
+
// register component module identifier for async chunk inferrence
|
|
1409
|
+
if (context && context._registeredComponents) {
|
|
1410
|
+
context._registeredComponents.add(moduleIdentifier)
|
|
1411
|
+
}
|
|
1412
|
+
}
|
|
1413
|
+
// used by ssr in case component is cached and beforeCreate
|
|
1414
|
+
// never gets called
|
|
1415
|
+
options._ssrRegister = hook
|
|
1416
|
+
} else if (injectStyles) {
|
|
1417
|
+
hook = shadowMode
|
|
1418
|
+
? function () {
|
|
1419
|
+
injectStyles.call(
|
|
1420
|
+
this,
|
|
1421
|
+
(options.functional ? this.parent : this).$root.$options.shadowRoot
|
|
1422
|
+
)
|
|
1423
|
+
}
|
|
1424
|
+
: injectStyles
|
|
1425
|
+
}
|
|
1426
|
+
|
|
1427
|
+
if (hook) {
|
|
1428
|
+
if (options.functional) {
|
|
1429
|
+
// for template-only hot-reload because in that case the render fn doesn't
|
|
1430
|
+
// go through the normalizer
|
|
1431
|
+
options._injectStyles = hook
|
|
1432
|
+
// register for functional component in vue file
|
|
1433
|
+
var originalRender = options.render
|
|
1434
|
+
options.render = function renderWithStyleInjection(h, context) {
|
|
1435
|
+
hook.call(context)
|
|
1436
|
+
return originalRender(h, context)
|
|
1437
|
+
}
|
|
1438
|
+
} else {
|
|
1439
|
+
// inject component registration as beforeCreate hook
|
|
1440
|
+
var existing = options.beforeCreate
|
|
1441
|
+
options.beforeCreate = existing ? [].concat(existing, hook) : [hook]
|
|
1442
|
+
}
|
|
1443
|
+
}
|
|
1444
|
+
|
|
1445
|
+
return {
|
|
1446
|
+
exports: scriptExports,
|
|
1447
|
+
options: options
|
|
1448
|
+
}
|
|
1449
|
+
}
|
|
1450
|
+
|
|
1451
|
+
|
|
1452
|
+
/***/ }),
|
|
1453
|
+
|
|
1454
|
+
/***/ 4:
|
|
1455
|
+
/***/ (function(module, exports) {
|
|
1456
|
+
|
|
1457
|
+
module.exports = require("vue");
|
|
1458
|
+
|
|
1459
|
+
/***/ }),
|
|
1460
|
+
|
|
1461
|
+
/***/ 41:
|
|
1360
1462
|
/***/ (function(module, exports, __webpack_require__) {
|
|
1361
1463
|
|
|
1362
1464
|
var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
|
@@ -2787,7 +2889,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
|
|
2787
2889
|
|
|
2788
2890
|
/***/ }),
|
|
2789
2891
|
|
|
2790
|
-
/***/
|
|
2892
|
+
/***/ 5:
|
|
2791
2893
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
2792
2894
|
|
|
2793
2895
|
"use strict";
|
|
@@ -2803,7 +2905,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
|
|
2803
2905
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getScrollContainer; });
|
|
2804
2906
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return isInContainer; });
|
|
2805
2907
|
/* unused harmony export insertAfter */
|
|
2806
|
-
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
2908
|
+
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4);
|
|
2807
2909
|
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);
|
|
2808
2910
|
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
|
2809
2911
|
|
|
@@ -3046,108 +3148,10 @@ function insertAfter(newEl, targetEl) {
|
|
|
3046
3148
|
|
|
3047
3149
|
/***/ }),
|
|
3048
3150
|
|
|
3049
|
-
/***/
|
|
3050
|
-
/***/ (function(module,
|
|
3051
|
-
|
|
3052
|
-
"use strict";
|
|
3053
|
-
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; });
|
|
3054
|
-
/* globals __VUE_SSR_CONTEXT__ */
|
|
3055
|
-
|
|
3056
|
-
// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
|
|
3057
|
-
// This module is a runtime utility for cleaner component module output and will
|
|
3058
|
-
// be included in the final webpack user bundle.
|
|
3059
|
-
|
|
3060
|
-
function normalizeComponent(
|
|
3061
|
-
scriptExports,
|
|
3062
|
-
render,
|
|
3063
|
-
staticRenderFns,
|
|
3064
|
-
functionalTemplate,
|
|
3065
|
-
injectStyles,
|
|
3066
|
-
scopeId,
|
|
3067
|
-
moduleIdentifier /* server only */,
|
|
3068
|
-
shadowMode /* vue-cli only */
|
|
3069
|
-
) {
|
|
3070
|
-
// Vue.extend constructor export interop
|
|
3071
|
-
var options =
|
|
3072
|
-
typeof scriptExports === 'function' ? scriptExports.options : scriptExports
|
|
3073
|
-
|
|
3074
|
-
// render functions
|
|
3075
|
-
if (render) {
|
|
3076
|
-
options.render = render
|
|
3077
|
-
options.staticRenderFns = staticRenderFns
|
|
3078
|
-
options._compiled = true
|
|
3079
|
-
}
|
|
3080
|
-
|
|
3081
|
-
// functional template
|
|
3082
|
-
if (functionalTemplate) {
|
|
3083
|
-
options.functional = true
|
|
3084
|
-
}
|
|
3085
|
-
|
|
3086
|
-
// scopedId
|
|
3087
|
-
if (scopeId) {
|
|
3088
|
-
options._scopeId = 'data-v-' + scopeId
|
|
3089
|
-
}
|
|
3090
|
-
|
|
3091
|
-
var hook
|
|
3092
|
-
if (moduleIdentifier) {
|
|
3093
|
-
// server build
|
|
3094
|
-
hook = function (context) {
|
|
3095
|
-
// 2.3 injection
|
|
3096
|
-
context =
|
|
3097
|
-
context || // cached call
|
|
3098
|
-
(this.$vnode && this.$vnode.ssrContext) || // stateful
|
|
3099
|
-
(this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
|
|
3100
|
-
// 2.2 with runInNewContext: true
|
|
3101
|
-
if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
|
|
3102
|
-
context = __VUE_SSR_CONTEXT__
|
|
3103
|
-
}
|
|
3104
|
-
// inject component styles
|
|
3105
|
-
if (injectStyles) {
|
|
3106
|
-
injectStyles.call(this, context)
|
|
3107
|
-
}
|
|
3108
|
-
// register component module identifier for async chunk inferrence
|
|
3109
|
-
if (context && context._registeredComponents) {
|
|
3110
|
-
context._registeredComponents.add(moduleIdentifier)
|
|
3111
|
-
}
|
|
3112
|
-
}
|
|
3113
|
-
// used by ssr in case component is cached and beforeCreate
|
|
3114
|
-
// never gets called
|
|
3115
|
-
options._ssrRegister = hook
|
|
3116
|
-
} else if (injectStyles) {
|
|
3117
|
-
hook = shadowMode
|
|
3118
|
-
? function () {
|
|
3119
|
-
injectStyles.call(
|
|
3120
|
-
this,
|
|
3121
|
-
(options.functional ? this.parent : this).$root.$options.shadowRoot
|
|
3122
|
-
)
|
|
3123
|
-
}
|
|
3124
|
-
: injectStyles
|
|
3125
|
-
}
|
|
3126
|
-
|
|
3127
|
-
if (hook) {
|
|
3128
|
-
if (options.functional) {
|
|
3129
|
-
// for template-only hot-reload because in that case the render fn doesn't
|
|
3130
|
-
// go through the normalizer
|
|
3131
|
-
options._injectStyles = hook
|
|
3132
|
-
// register for functional component in vue file
|
|
3133
|
-
var originalRender = options.render
|
|
3134
|
-
options.render = function renderWithStyleInjection(h, context) {
|
|
3135
|
-
hook.call(context)
|
|
3136
|
-
return originalRender(h, context)
|
|
3137
|
-
}
|
|
3138
|
-
} else {
|
|
3139
|
-
// inject component registration as beforeCreate hook
|
|
3140
|
-
var existing = options.beforeCreate
|
|
3141
|
-
options.beforeCreate = existing ? [].concat(existing, hook) : [hook]
|
|
3142
|
-
}
|
|
3143
|
-
}
|
|
3144
|
-
|
|
3145
|
-
return {
|
|
3146
|
-
exports: scriptExports,
|
|
3147
|
-
options: options
|
|
3148
|
-
}
|
|
3149
|
-
}
|
|
3151
|
+
/***/ 95:
|
|
3152
|
+
/***/ (function(module, exports) {
|
|
3150
3153
|
|
|
3154
|
+
module.exports = require("eoss/lib/dropdown-item");
|
|
3151
3155
|
|
|
3152
3156
|
/***/ })
|
|
3153
3157
|
|