@penggy/element-ui 2.4.11 → 2.4.12
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/autocomplete.js +8 -8
- package/lib/carousel.js +1 -1
- package/lib/cascader.js +9 -9
- package/lib/checkbox-button.js +1 -1
- package/lib/checkbox-group.js +1 -1
- package/lib/checkbox.js +1 -1
- package/lib/collapse-item.js +3 -3
- package/lib/color-picker.js +6 -6
- package/lib/date-picker.js +17 -17
- package/lib/dialog.js +3 -3
- package/lib/directives/repeat-click.js +1 -1
- package/lib/dropdown-item.js +1 -1
- package/lib/dropdown-menu.js +1 -1
- package/lib/dropdown.js +6 -6
- package/lib/element-ui.common.js +443 -91
- package/lib/form-item.js +3 -3
- package/lib/form.js +1 -1
- package/lib/index.js +1 -1
- package/lib/input-number.js +3 -3
- package/lib/input.js +4 -4
- package/lib/loading.js +4 -4
- package/lib/locale/format.js +11 -11
- package/lib/locale/index.js +1 -1
- package/lib/menu-item.js +2 -2
- package/lib/menu.js +28 -28
- package/lib/message-box.js +9 -9
- package/lib/message.js +2 -2
- package/lib/mixins/locale.js +1 -1
- package/lib/mixins/migrating.js +20 -20
- package/lib/notification.js +2 -2
- package/lib/option-group.js +1 -1
- package/lib/option.js +2 -2
- package/lib/pagination.js +5 -5
- package/lib/popover.js +3 -3
- package/lib/radio-button.js +1 -1
- package/lib/radio-group.js +1 -1
- package/lib/radio.js +1 -1
- package/lib/rate.js +2 -2
- package/lib/scrollbar.js +4 -4
- package/lib/select.js +13 -13
- package/lib/slider.js +3 -3
- package/lib/steps.js +1 -1
- package/lib/submenu.js +3 -3
- package/lib/switch.js +2 -2
- package/lib/table-column.js +4 -4
- package/lib/table.js +14 -14
- package/lib/tabs.js +1 -1
- package/lib/time-picker.js +15 -15
- package/lib/time-select.js +14 -14
- package/lib/tooltip.js +4 -4
- package/lib/transfer.js +7 -7
- package/lib/transitions/collapse-transition.js +1 -1
- package/lib/tree.js +6 -6
- package/lib/upload.js +3 -3
- package/lib/utils/after-leave.js +7 -7
- package/lib/utils/aria-dialog.js +16 -16
- package/lib/utils/aria-utils.js +25 -25
- package/lib/utils/clickoutside.js +8 -8
- package/lib/utils/date.js +37 -37
- package/lib/utils/popper.js +321 -321
- package/lib/utils/popup/index.js +2 -2
- package/lib/utils/popup/popup-manager.js +1 -1
- package/lib/utils/vdom.js +1 -1
- package/lib/utils/vue-popper.js +8 -8
- package/package.json +1 -1
- package/packages/alert/index.js +8 -8
- package/packages/alert/src/main.vue +88 -88
- package/packages/aside/index.js +8 -8
- package/packages/aside/src/main.vue +20 -20
- package/packages/autocomplete/index.js +8 -8
- package/packages/autocomplete/src/autocomplete-suggestions.vue +76 -76
- package/packages/autocomplete/src/autocomplete.vue +269 -269
- package/packages/badge/index.js +8 -8
- package/packages/badge/src/main.vue +53 -53
- package/packages/breadcrumb/index.js +8 -8
- package/packages/breadcrumb/src/breadcrumb-item.vue +41 -41
- package/packages/breadcrumb/src/breadcrumb.vue +34 -34
- package/packages/breadcrumb-item/index.js +8 -8
- package/packages/button/index.js +8 -8
- package/packages/button/src/button-group.vue +10 -10
- package/packages/button/src/button.vue +78 -78
- package/packages/button-group/index.js +8 -8
- package/packages/card/index.js +8 -8
- package/packages/card/src/main.vue +23 -23
- package/packages/carousel/index.js +8 -8
- package/packages/carousel/src/item.vue +114 -114
- package/packages/carousel/src/main.vue +262 -262
- package/packages/carousel-item/index.js +8 -8
- package/packages/cascader/index.js +8 -8
- package/packages/cascader/src/main.vue +456 -456
- package/packages/cascader/src/menu.vue +376 -376
- package/packages/checkbox/index.js +8 -8
- package/packages/checkbox/src/checkbox-button.vue +191 -191
- package/packages/checkbox/src/checkbox-group.vue +48 -48
- package/packages/checkbox/src/checkbox.vue +219 -219
- package/packages/checkbox-button/index.js +8 -8
- package/packages/checkbox-group/index.js +8 -8
- package/packages/col/index.js +9 -9
- package/packages/col/src/col.js +71 -71
- package/packages/collapse/index.js +9 -9
- package/packages/collapse/src/collapse-item.vue +113 -113
- package/packages/collapse/src/collapse.vue +73 -73
- package/packages/collapse-item/index.js +8 -8
- package/packages/color-picker/index.js +8 -8
- package/packages/color-picker/src/color.js +316 -316
- package/packages/color-picker/src/components/alpha-slider.vue +132 -132
- package/packages/color-picker/src/components/hue-slider.vue +123 -123
- package/packages/color-picker/src/components/picker-dropdown.vue +121 -121
- package/packages/color-picker/src/components/predefine.vue +60 -60
- package/packages/color-picker/src/components/sv-panel.vue +100 -100
- package/packages/color-picker/src/draggable.js +36 -36
- package/packages/color-picker/src/main.vue +188 -188
- package/packages/container/index.js +8 -8
- package/packages/container/src/main.vue +33 -33
- package/packages/date-picker/index.js +8 -8
- package/packages/date-picker/src/basic/date-table.vue +437 -437
- package/packages/date-picker/src/basic/month-table.vue +105 -105
- package/packages/date-picker/src/basic/time-spinner.vue +301 -301
- package/packages/date-picker/src/basic/year-table.vue +101 -101
- package/packages/date-picker/src/panel/date-range.vue +640 -640
- package/packages/date-picker/src/panel/date.vue +579 -579
- package/packages/date-picker/src/panel/time-range.vue +248 -248
- package/packages/date-picker/src/panel/time-select.vue +177 -177
- package/packages/date-picker/src/panel/time.vue +186 -186
- package/packages/date-picker/src/picker/date-picker.js +40 -40
- package/packages/date-picker/src/picker/time-picker.js +39 -39
- package/packages/date-picker/src/picker/time-select.js +21 -21
- package/packages/date-picker/src/picker.vue +924 -924
- package/packages/date-picker/src/util/index.js +273 -273
- package/packages/dialog/index.js +8 -8
- package/packages/dialog/src/component.vue +201 -201
- package/packages/dropdown/index.js +8 -8
- package/packages/dropdown/src/dropdown-item.vue +35 -35
- package/packages/dropdown/src/dropdown-menu.vue +60 -60
- package/packages/dropdown/src/dropdown.vue +271 -271
- package/packages/dropdown-item/index.js +8 -8
- package/packages/dropdown-menu/index.js +8 -8
- package/packages/footer/index.js +8 -8
- package/packages/footer/src/main.vue +20 -20
- package/packages/form/index.js +8 -8
- package/packages/form/src/form-item.vue +290 -290
- package/packages/form/src/form.vue +148 -148
- package/packages/form-item/index.js +8 -8
- package/packages/header/index.js +8 -8
- package/packages/header/src/main.vue +20 -20
- package/packages/icon/index.js +8 -8
- package/packages/icon/src/icon.vue +13 -13
- package/packages/input/index.js +8 -8
- package/packages/input/src/calcTextareaHeight.js +104 -104
- package/packages/input/src/input.vue +349 -349
- package/packages/input-number/index.js +8 -8
- package/packages/input-number/src/input-number.vue +255 -255
- package/packages/loading/index.js +11 -11
- package/packages/loading/src/directive.js +128 -128
- package/packages/loading/src/index.js +106 -106
- package/packages/loading/src/loading.vue +41 -41
- package/packages/main/index.js +8 -8
- package/packages/main/src/main.vue +12 -12
- package/packages/menu/index.js +8 -8
- package/packages/menu/src/menu-item-group.vue +45 -45
- package/packages/menu/src/menu-item.vue +112 -112
- package/packages/menu/src/menu-mixin.js +44 -44
- package/packages/menu/src/menu.vue +311 -311
- package/packages/menu/src/submenu.vue +335 -335
- package/packages/menu-item/index.js +8 -8
- package/packages/menu-item-group/index.js +8 -8
- package/packages/message/index.js +2 -2
- package/packages/message/src/main.js +72 -72
- package/packages/message/src/main.vue +112 -112
- package/packages/message-box/index.js +2 -2
- package/packages/message-box/src/main.js +216 -216
- package/packages/message-box/src/main.vue +327 -327
- package/packages/notification/index.js +2 -2
- package/packages/notification/src/main.js +93 -93
- package/packages/notification/src/main.vue +152 -152
- package/packages/option/index.js +8 -8
- package/packages/option-group/index.js +8 -8
- package/packages/pagination/index.js +8 -8
- package/packages/pagination/src/pager.vue +163 -163
- package/packages/pagination/src/pagination.js +430 -430
- package/packages/popover/index.js +14 -14
- package/packages/popover/src/directive.js +20 -20
- package/packages/popover/src/main.vue +207 -207
- package/packages/progress/index.js +8 -8
- package/packages/progress/src/progress.vue +138 -138
- package/packages/radio/index.js +8 -8
- package/packages/radio/src/radio-button.vue +114 -114
- package/packages/radio/src/radio-group.vue +100 -100
- package/packages/radio/src/radio.vue +126 -126
- package/packages/radio-button/index.js +8 -8
- package/packages/radio-group/index.js +8 -8
- package/packages/rate/index.js +8 -8
- package/packages/rate/src/main.vue +350 -350
- package/packages/row/index.js +9 -9
- package/packages/row/src/row.js +47 -47
- package/packages/scrollbar/index.js +8 -8
- package/packages/scrollbar/src/bar.js +88 -88
- package/packages/scrollbar/src/main.js +130 -130
- package/packages/scrollbar/src/util.js +34 -34
- package/packages/select/index.js +8 -8
- package/packages/select/src/navigation-mixin.js +54 -54
- package/packages/select/src/option-group.vue +60 -60
- package/packages/select/src/option.vue +159 -159
- package/packages/select/src/select-dropdown.vue +74 -74
- package/packages/select/src/select.vue +878 -878
- package/packages/slider/index.js +8 -8
- package/packages/slider/src/button.vue +235 -235
- package/packages/slider/src/main.vue +385 -385
- package/packages/spinner/index.js +8 -8
- package/packages/spinner/src/spinner.vue +27 -27
- package/packages/step/index.js +8 -8
- package/packages/steps/index.js +8 -8
- package/packages/steps/src/step.vue +180 -180
- package/packages/steps/src/steps.vue +68 -68
- package/packages/submenu/index.js +8 -8
- package/packages/switch/index.js +9 -9
- package/packages/switch/src/component.vue +163 -163
- package/packages/tab-pane/index.js +8 -8
- package/packages/table/index.js +8 -8
- package/packages/table/src/dropdown.js +28 -28
- package/packages/table/src/filter-panel.vue +203 -203
- package/packages/table/src/layout-observer.js +68 -68
- package/packages/table/src/table-body.js +392 -392
- package/packages/table/src/table-column.js +462 -462
- package/packages/table/src/table-footer.js +147 -147
- package/packages/table/src/table-header.js +522 -522
- package/packages/table/src/table-layout.js +231 -231
- package/packages/table/src/table-store.js +657 -657
- package/packages/table/src/table.vue +660 -660
- package/packages/table/src/util.js +122 -122
- package/packages/table-column/index.js +8 -8
- package/packages/tabs/index.js +8 -8
- package/packages/tabs/src/tab-bar.vue +57 -57
- package/packages/tabs/src/tab-nav.vue +280 -280
- package/packages/tabs/src/tab-pane.vue +58 -58
- package/packages/tabs/src/tabs.vue +185 -185
- package/packages/tag/index.js +8 -8
- package/packages/tag/src/tag.vue +39 -39
- package/packages/time-picker/index.js +8 -8
- package/packages/time-select/index.js +8 -8
- package/packages/tooltip/index.js +8 -8
- package/packages/tooltip/src/main.js +216 -216
- package/packages/transfer/index.js +8 -8
- package/packages/transfer/src/main.vue +231 -231
- package/packages/transfer/src/transfer-panel.vue +251 -251
- package/packages/tree/index.js +8 -8
- package/packages/tree/src/model/node.js +481 -481
- package/packages/tree/src/model/tree-store.js +333 -333
- package/packages/tree/src/model/util.js +27 -27
- package/packages/tree/src/tree-node.vue +277 -277
- package/packages/tree/src/tree.vue +495 -495
- package/packages/upload/index.js +8 -8
- package/packages/upload/src/ajax.js +85 -85
- package/packages/upload/src/index.vue +315 -315
- package/packages/upload/src/upload-dragger.vue +70 -70
- package/packages/upload/src/upload-list.vue +103 -103
- package/packages/upload/src/upload.vue +211 -211
- package/src/directives/mousewheel.js +18 -18
- package/src/directives/repeat-click.js +24 -24
- package/src/index.js +1 -1
- package/src/locale/format.js +46 -46
- package/src/locale/index.js +48 -48
- package/src/locale/lang/af-ZA.js +109 -109
- package/src/locale/lang/ar.js +108 -108
- package/src/locale/lang/bg.js +109 -109
- package/src/locale/lang/ca.js +108 -108
- package/src/locale/lang/cs-CZ.js +111 -111
- package/src/locale/lang/da.js +108 -108
- package/src/locale/lang/de.js +110 -110
- package/src/locale/lang/ee.js +109 -109
- package/src/locale/lang/el.js +109 -109
- package/src/locale/lang/en.js +109 -109
- package/src/locale/lang/es.js +108 -108
- package/src/locale/lang/eu.js +109 -109
- package/src/locale/lang/fa.js +109 -109
- package/src/locale/lang/fi.js +109 -109
- package/src/locale/lang/fr.js +108 -108
- package/src/locale/lang/he.js +109 -109
- package/src/locale/lang/hu.js +108 -108
- package/src/locale/lang/id.js +109 -109
- package/src/locale/lang/it.js +108 -108
- package/src/locale/lang/ja.js +109 -109
- package/src/locale/lang/km.js +109 -109
- package/src/locale/lang/ko.js +109 -109
- package/src/locale/lang/ku.js +109 -109
- package/src/locale/lang/kz.js +109 -109
- package/src/locale/lang/lt.js +109 -109
- package/src/locale/lang/lv.js +109 -109
- package/src/locale/lang/mn.js +109 -109
- package/src/locale/lang/nb-NO.js +108 -108
- package/src/locale/lang/nl.js +109 -109
- package/src/locale/lang/pl.js +109 -109
- package/src/locale/lang/pt-br.js +109 -109
- package/src/locale/lang/pt.js +109 -109
- package/src/locale/lang/ro.js +109 -109
- package/src/locale/lang/ru-RU.js +109 -109
- package/src/locale/lang/sk.js +111 -111
- package/src/locale/lang/sl.js +109 -109
- package/src/locale/lang/sr.js +109 -109
- package/src/locale/lang/sv-SE.js +109 -109
- package/src/locale/lang/ta.js +108 -108
- package/src/locale/lang/th.js +109 -109
- package/src/locale/lang/tk.js +109 -109
- package/src/locale/lang/tr-TR.js +109 -109
- package/src/locale/lang/ua.js +109 -109
- package/src/locale/lang/ug-CN.js +109 -109
- package/src/locale/lang/vi.js +109 -109
- package/src/locale/lang/zh-CN.js +109 -109
- package/src/locale/lang/zh-TW.js +109 -109
- package/src/mixins/emitter.js +33 -33
- package/src/mixins/focus.js +9 -9
- package/src/mixins/locale.js +9 -9
- package/src/mixins/migrating.js +51 -51
- package/src/transitions/collapse-transition.js +77 -77
- package/src/utils/after-leave.js +27 -27
- package/src/utils/aria-dialog.js +90 -90
- package/src/utils/aria-utils.js +121 -121
- package/src/utils/clickoutside.js +76 -76
- package/src/utils/date.js +344 -344
- package/src/utils/dom.js +174 -174
- package/src/utils/menu/aria-menubar.js +14 -14
- package/src/utils/menu/aria-menuitem.js +49 -49
- package/src/utils/menu/aria-submenu.js +59 -59
- package/src/utils/merge.js +15 -15
- package/src/utils/popper.js +1276 -1276
- package/src/utils/popup/index.js +226 -226
- package/src/utils/popup/popup-manager.js +194 -194
- package/src/utils/resize-event.js +35 -35
- package/src/utils/scroll-into-view.js +27 -27
- package/src/utils/scrollbar-width.js +29 -29
- package/src/utils/shared.js +7 -7
- package/src/utils/util.js +122 -122
- package/src/utils/vdom.js +9 -9
- package/src/utils/vue-popper.js +200 -200
package/src/mixins/emitter.js
CHANGED
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
function broadcast(componentName, eventName, params) {
|
|
2
|
-
this.$children.forEach(child => {
|
|
3
|
-
var name = child.$options.componentName;
|
|
4
|
-
|
|
5
|
-
if (name === componentName) {
|
|
6
|
-
child.$emit.apply(child, [eventName].concat(params));
|
|
7
|
-
} else {
|
|
8
|
-
broadcast.apply(child, [componentName, eventName].concat([params]));
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
}
|
|
12
|
-
export default {
|
|
13
|
-
methods: {
|
|
14
|
-
dispatch(componentName, eventName, params) {
|
|
15
|
-
var parent = this.$parent || this.$root;
|
|
16
|
-
var name = parent.$options.componentName;
|
|
17
|
-
|
|
18
|
-
while (parent && (!name || name !== componentName)) {
|
|
19
|
-
parent = parent.$parent;
|
|
20
|
-
|
|
21
|
-
if (parent) {
|
|
22
|
-
name = parent.$options.componentName;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
if (parent) {
|
|
26
|
-
parent.$emit.apply(parent, [eventName].concat(params));
|
|
27
|
-
}
|
|
28
|
-
},
|
|
29
|
-
broadcast(componentName, eventName, params) {
|
|
30
|
-
broadcast.call(this, componentName, eventName, params);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
};
|
|
1
|
+
function broadcast(componentName, eventName, params) {
|
|
2
|
+
this.$children.forEach(child => {
|
|
3
|
+
var name = child.$options.componentName;
|
|
4
|
+
|
|
5
|
+
if (name === componentName) {
|
|
6
|
+
child.$emit.apply(child, [eventName].concat(params));
|
|
7
|
+
} else {
|
|
8
|
+
broadcast.apply(child, [componentName, eventName].concat([params]));
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
export default {
|
|
13
|
+
methods: {
|
|
14
|
+
dispatch(componentName, eventName, params) {
|
|
15
|
+
var parent = this.$parent || this.$root;
|
|
16
|
+
var name = parent.$options.componentName;
|
|
17
|
+
|
|
18
|
+
while (parent && (!name || name !== componentName)) {
|
|
19
|
+
parent = parent.$parent;
|
|
20
|
+
|
|
21
|
+
if (parent) {
|
|
22
|
+
name = parent.$options.componentName;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
if (parent) {
|
|
26
|
+
parent.$emit.apply(parent, [eventName].concat(params));
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
broadcast(componentName, eventName, params) {
|
|
30
|
+
broadcast.call(this, componentName, eventName, params);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
};
|
package/src/mixins/focus.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export default function(ref) {
|
|
2
|
-
return {
|
|
3
|
-
methods: {
|
|
4
|
-
focus() {
|
|
5
|
-
this.$refs[ref].focus();
|
|
6
|
-
}
|
|
7
|
-
}
|
|
8
|
-
};
|
|
9
|
-
};
|
|
1
|
+
export default function(ref) {
|
|
2
|
+
return {
|
|
3
|
+
methods: {
|
|
4
|
+
focus() {
|
|
5
|
+
this.$refs[ref].focus();
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
};
|
|
9
|
+
};
|
package/src/mixins/locale.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { t } from 'element-ui/src/locale';
|
|
2
|
-
|
|
3
|
-
export default {
|
|
4
|
-
methods: {
|
|
5
|
-
t(...args) {
|
|
6
|
-
return t.apply(this, args);
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
};
|
|
1
|
+
import { t } from '@penggy/element-ui/src/locale';
|
|
2
|
+
|
|
3
|
+
export default {
|
|
4
|
+
methods: {
|
|
5
|
+
t(...args) {
|
|
6
|
+
return t.apply(this, args);
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
};
|
package/src/mixins/migrating.js
CHANGED
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Show migrating guide in browser console.
|
|
3
|
-
*
|
|
4
|
-
* Usage:
|
|
5
|
-
* import Migrating from 'element-ui/src/mixins/migrating';
|
|
6
|
-
*
|
|
7
|
-
* mixins: [Migrating]
|
|
8
|
-
*
|
|
9
|
-
* add getMigratingConfig method for your component.
|
|
10
|
-
* getMigratingConfig() {
|
|
11
|
-
* return {
|
|
12
|
-
* props: {
|
|
13
|
-
* 'allow-no-selection': 'allow-no-selection is removed.',
|
|
14
|
-
* 'selection-mode': 'selection-mode is removed.'
|
|
15
|
-
* },
|
|
16
|
-
* events: {
|
|
17
|
-
* selectionchange: 'selectionchange is renamed to selection-change.'
|
|
18
|
-
* }
|
|
19
|
-
* };
|
|
20
|
-
* },
|
|
21
|
-
*/
|
|
22
|
-
export default {
|
|
23
|
-
mounted() {
|
|
24
|
-
if (process.env.NODE_ENV === 'production') return;
|
|
25
|
-
if (!this.$vnode) return;
|
|
26
|
-
const { props = {}, events = {} } = this.getMigratingConfig();
|
|
27
|
-
const { data, componentOptions } = this.$vnode;
|
|
28
|
-
const definedProps = data.attrs || {};
|
|
29
|
-
const definedEvents = componentOptions.listeners || {};
|
|
30
|
-
|
|
31
|
-
for (let propName in definedProps) {
|
|
32
|
-
if (definedProps.hasOwnProperty(propName) && props[propName]) {
|
|
33
|
-
console.warn(`[Element Migrating][${this.$options.name}][Attribute]: ${props[propName]}`);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
for (let eventName in definedEvents) {
|
|
38
|
-
if (definedEvents.hasOwnProperty(eventName) && events[eventName]) {
|
|
39
|
-
console.warn(`[Element Migrating][${this.$options.name}][Event]: ${events[eventName]}`);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
},
|
|
43
|
-
methods: {
|
|
44
|
-
getMigratingConfig() {
|
|
45
|
-
return {
|
|
46
|
-
props: {},
|
|
47
|
-
events: {}
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
};
|
|
1
|
+
/**
|
|
2
|
+
* Show migrating guide in browser console.
|
|
3
|
+
*
|
|
4
|
+
* Usage:
|
|
5
|
+
* import Migrating from '@penggy/element-ui/src/mixins/migrating';
|
|
6
|
+
*
|
|
7
|
+
* mixins: [Migrating]
|
|
8
|
+
*
|
|
9
|
+
* add getMigratingConfig method for your component.
|
|
10
|
+
* getMigratingConfig() {
|
|
11
|
+
* return {
|
|
12
|
+
* props: {
|
|
13
|
+
* 'allow-no-selection': 'allow-no-selection is removed.',
|
|
14
|
+
* 'selection-mode': 'selection-mode is removed.'
|
|
15
|
+
* },
|
|
16
|
+
* events: {
|
|
17
|
+
* selectionchange: 'selectionchange is renamed to selection-change.'
|
|
18
|
+
* }
|
|
19
|
+
* };
|
|
20
|
+
* },
|
|
21
|
+
*/
|
|
22
|
+
export default {
|
|
23
|
+
mounted() {
|
|
24
|
+
if (process.env.NODE_ENV === 'production') return;
|
|
25
|
+
if (!this.$vnode) return;
|
|
26
|
+
const { props = {}, events = {} } = this.getMigratingConfig();
|
|
27
|
+
const { data, componentOptions } = this.$vnode;
|
|
28
|
+
const definedProps = data.attrs || {};
|
|
29
|
+
const definedEvents = componentOptions.listeners || {};
|
|
30
|
+
|
|
31
|
+
for (let propName in definedProps) {
|
|
32
|
+
if (definedProps.hasOwnProperty(propName) && props[propName]) {
|
|
33
|
+
console.warn(`[Element Migrating][${this.$options.name}][Attribute]: ${props[propName]}`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
for (let eventName in definedEvents) {
|
|
38
|
+
if (definedEvents.hasOwnProperty(eventName) && events[eventName]) {
|
|
39
|
+
console.warn(`[Element Migrating][${this.$options.name}][Event]: ${events[eventName]}`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
methods: {
|
|
44
|
+
getMigratingConfig() {
|
|
45
|
+
return {
|
|
46
|
+
props: {},
|
|
47
|
+
events: {}
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
};
|
|
@@ -1,77 +1,77 @@
|
|
|
1
|
-
import { addClass, removeClass } from 'element-ui/src/utils/dom';
|
|
2
|
-
|
|
3
|
-
class Transition {
|
|
4
|
-
beforeEnter(el) {
|
|
5
|
-
addClass(el, 'collapse-transition');
|
|
6
|
-
if (!el.dataset) el.dataset = {};
|
|
7
|
-
|
|
8
|
-
el.dataset.oldPaddingTop = el.style.paddingTop;
|
|
9
|
-
el.dataset.oldPaddingBottom = el.style.paddingBottom;
|
|
10
|
-
|
|
11
|
-
el.style.height = '0';
|
|
12
|
-
el.style.paddingTop = 0;
|
|
13
|
-
el.style.paddingBottom = 0;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
enter(el) {
|
|
17
|
-
el.dataset.oldOverflow = el.style.overflow;
|
|
18
|
-
if (el.scrollHeight !== 0) {
|
|
19
|
-
el.style.height = el.scrollHeight + 'px';
|
|
20
|
-
el.style.paddingTop = el.dataset.oldPaddingTop;
|
|
21
|
-
el.style.paddingBottom = el.dataset.oldPaddingBottom;
|
|
22
|
-
} else {
|
|
23
|
-
el.style.height = '';
|
|
24
|
-
el.style.paddingTop = el.dataset.oldPaddingTop;
|
|
25
|
-
el.style.paddingBottom = el.dataset.oldPaddingBottom;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
el.style.overflow = 'hidden';
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
afterEnter(el) {
|
|
32
|
-
// for safari: remove class then reset height is necessary
|
|
33
|
-
removeClass(el, 'collapse-transition');
|
|
34
|
-
el.style.height = '';
|
|
35
|
-
el.style.overflow = el.dataset.oldOverflow;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
beforeLeave(el) {
|
|
39
|
-
if (!el.dataset) el.dataset = {};
|
|
40
|
-
el.dataset.oldPaddingTop = el.style.paddingTop;
|
|
41
|
-
el.dataset.oldPaddingBottom = el.style.paddingBottom;
|
|
42
|
-
el.dataset.oldOverflow = el.style.overflow;
|
|
43
|
-
|
|
44
|
-
el.style.height = el.scrollHeight + 'px';
|
|
45
|
-
el.style.overflow = 'hidden';
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
leave(el) {
|
|
49
|
-
if (el.scrollHeight !== 0) {
|
|
50
|
-
// for safari: add class after set height, or it will jump to zero height suddenly, weired
|
|
51
|
-
addClass(el, 'collapse-transition');
|
|
52
|
-
el.style.height = 0;
|
|
53
|
-
el.style.paddingTop = 0;
|
|
54
|
-
el.style.paddingBottom = 0;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
afterLeave(el) {
|
|
59
|
-
removeClass(el, 'collapse-transition');
|
|
60
|
-
el.style.height = '';
|
|
61
|
-
el.style.overflow = el.dataset.oldOverflow;
|
|
62
|
-
el.style.paddingTop = el.dataset.oldPaddingTop;
|
|
63
|
-
el.style.paddingBottom = el.dataset.oldPaddingBottom;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
export default {
|
|
68
|
-
name: 'ElCollapseTransition',
|
|
69
|
-
functional: true,
|
|
70
|
-
render(h, { children }) {
|
|
71
|
-
const data = {
|
|
72
|
-
on: new Transition()
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
return h('transition', data, children);
|
|
76
|
-
}
|
|
77
|
-
};
|
|
1
|
+
import { addClass, removeClass } from '@penggy/element-ui/src/utils/dom';
|
|
2
|
+
|
|
3
|
+
class Transition {
|
|
4
|
+
beforeEnter(el) {
|
|
5
|
+
addClass(el, 'collapse-transition');
|
|
6
|
+
if (!el.dataset) el.dataset = {};
|
|
7
|
+
|
|
8
|
+
el.dataset.oldPaddingTop = el.style.paddingTop;
|
|
9
|
+
el.dataset.oldPaddingBottom = el.style.paddingBottom;
|
|
10
|
+
|
|
11
|
+
el.style.height = '0';
|
|
12
|
+
el.style.paddingTop = 0;
|
|
13
|
+
el.style.paddingBottom = 0;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
enter(el) {
|
|
17
|
+
el.dataset.oldOverflow = el.style.overflow;
|
|
18
|
+
if (el.scrollHeight !== 0) {
|
|
19
|
+
el.style.height = el.scrollHeight + 'px';
|
|
20
|
+
el.style.paddingTop = el.dataset.oldPaddingTop;
|
|
21
|
+
el.style.paddingBottom = el.dataset.oldPaddingBottom;
|
|
22
|
+
} else {
|
|
23
|
+
el.style.height = '';
|
|
24
|
+
el.style.paddingTop = el.dataset.oldPaddingTop;
|
|
25
|
+
el.style.paddingBottom = el.dataset.oldPaddingBottom;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
el.style.overflow = 'hidden';
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
afterEnter(el) {
|
|
32
|
+
// for safari: remove class then reset height is necessary
|
|
33
|
+
removeClass(el, 'collapse-transition');
|
|
34
|
+
el.style.height = '';
|
|
35
|
+
el.style.overflow = el.dataset.oldOverflow;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
beforeLeave(el) {
|
|
39
|
+
if (!el.dataset) el.dataset = {};
|
|
40
|
+
el.dataset.oldPaddingTop = el.style.paddingTop;
|
|
41
|
+
el.dataset.oldPaddingBottom = el.style.paddingBottom;
|
|
42
|
+
el.dataset.oldOverflow = el.style.overflow;
|
|
43
|
+
|
|
44
|
+
el.style.height = el.scrollHeight + 'px';
|
|
45
|
+
el.style.overflow = 'hidden';
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
leave(el) {
|
|
49
|
+
if (el.scrollHeight !== 0) {
|
|
50
|
+
// for safari: add class after set height, or it will jump to zero height suddenly, weired
|
|
51
|
+
addClass(el, 'collapse-transition');
|
|
52
|
+
el.style.height = 0;
|
|
53
|
+
el.style.paddingTop = 0;
|
|
54
|
+
el.style.paddingBottom = 0;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
afterLeave(el) {
|
|
59
|
+
removeClass(el, 'collapse-transition');
|
|
60
|
+
el.style.height = '';
|
|
61
|
+
el.style.overflow = el.dataset.oldOverflow;
|
|
62
|
+
el.style.paddingTop = el.dataset.oldPaddingTop;
|
|
63
|
+
el.style.paddingBottom = el.dataset.oldPaddingBottom;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export default {
|
|
68
|
+
name: 'ElCollapseTransition',
|
|
69
|
+
functional: true,
|
|
70
|
+
render(h, { children }) {
|
|
71
|
+
const data = {
|
|
72
|
+
on: new Transition()
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
return h('transition', data, children);
|
|
76
|
+
}
|
|
77
|
+
};
|
package/src/utils/after-leave.js
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Bind after-leave event for vue instance. Make sure after-leave is called in any browsers.
|
|
3
|
-
*
|
|
4
|
-
* @param {Vue} instance Vue instance.
|
|
5
|
-
* @param {Function} callback callback of after-leave event
|
|
6
|
-
* @param {Number} speed the speed of transition, default value is 300ms
|
|
7
|
-
* @param {Boolean} once weather bind after-leave once. default value is false.
|
|
8
|
-
*/
|
|
9
|
-
export default function(instance, callback, speed = 300, once = false) {
|
|
10
|
-
if (!instance || !callback) throw new Error('instance & callback is required');
|
|
11
|
-
let called = false;
|
|
12
|
-
const afterLeaveCallback = function() {
|
|
13
|
-
if (called) return;
|
|
14
|
-
called = true;
|
|
15
|
-
if (callback) {
|
|
16
|
-
callback.apply(null, arguments);
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
if (once) {
|
|
20
|
-
instance.$once('after-leave', afterLeaveCallback);
|
|
21
|
-
} else {
|
|
22
|
-
instance.$on('after-leave', afterLeaveCallback);
|
|
23
|
-
}
|
|
24
|
-
setTimeout(() => {
|
|
25
|
-
afterLeaveCallback();
|
|
26
|
-
}, speed + 100);
|
|
27
|
-
};
|
|
1
|
+
/**
|
|
2
|
+
* Bind after-leave event for vue instance. Make sure after-leave is called in any browsers.
|
|
3
|
+
*
|
|
4
|
+
* @param {Vue} instance Vue instance.
|
|
5
|
+
* @param {Function} callback callback of after-leave event
|
|
6
|
+
* @param {Number} speed the speed of transition, default value is 300ms
|
|
7
|
+
* @param {Boolean} once weather bind after-leave once. default value is false.
|
|
8
|
+
*/
|
|
9
|
+
export default function(instance, callback, speed = 300, once = false) {
|
|
10
|
+
if (!instance || !callback) throw new Error('instance & callback is required');
|
|
11
|
+
let called = false;
|
|
12
|
+
const afterLeaveCallback = function() {
|
|
13
|
+
if (called) return;
|
|
14
|
+
called = true;
|
|
15
|
+
if (callback) {
|
|
16
|
+
callback.apply(null, arguments);
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
if (once) {
|
|
20
|
+
instance.$once('after-leave', afterLeaveCallback);
|
|
21
|
+
} else {
|
|
22
|
+
instance.$on('after-leave', afterLeaveCallback);
|
|
23
|
+
}
|
|
24
|
+
setTimeout(() => {
|
|
25
|
+
afterLeaveCallback();
|
|
26
|
+
}, speed + 100);
|
|
27
|
+
};
|
package/src/utils/aria-dialog.js
CHANGED
|
@@ -1,90 +1,90 @@
|
|
|
1
|
-
import Utils from './aria-utils';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* @constructor
|
|
5
|
-
* @desc Dialog object providing modal focus management.
|
|
6
|
-
*
|
|
7
|
-
* Assumptions: The element serving as the dialog container is present in the
|
|
8
|
-
* DOM and hidden. The dialog container has role='dialog'.
|
|
9
|
-
*
|
|
10
|
-
* @param dialogId
|
|
11
|
-
* The ID of the element serving as the dialog container.
|
|
12
|
-
* @param focusAfterClosed
|
|
13
|
-
* Either the DOM node or the ID of the DOM node to focus when the
|
|
14
|
-
* dialog closes.
|
|
15
|
-
* @param focusFirst
|
|
16
|
-
* Optional parameter containing either the DOM node or the ID of the
|
|
17
|
-
* DOM node to focus when the dialog opens. If not specified, the
|
|
18
|
-
* first focusable element in the dialog will receive focus.
|
|
19
|
-
*/
|
|
20
|
-
var aria = aria || {};
|
|
21
|
-
var tabEvent;
|
|
22
|
-
|
|
23
|
-
aria.Dialog = function(dialog, focusAfterClosed, focusFirst) {
|
|
24
|
-
this.dialogNode = dialog;
|
|
25
|
-
if (this.dialogNode === null || this.dialogNode.getAttribute('role') !== 'dialog') {
|
|
26
|
-
throw new Error('Dialog() requires a DOM element with ARIA role of dialog.');
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
if (typeof focusAfterClosed === 'string') {
|
|
30
|
-
this.focusAfterClosed = document.getElementById(focusAfterClosed);
|
|
31
|
-
} else if (typeof focusAfterClosed === 'object') {
|
|
32
|
-
this.focusAfterClosed = focusAfterClosed;
|
|
33
|
-
} else {
|
|
34
|
-
this.focusAfterClosed = null;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
if (typeof focusFirst === 'string') {
|
|
38
|
-
this.focusFirst = document.getElementById(focusFirst);
|
|
39
|
-
} else if (typeof focusFirst === 'object') {
|
|
40
|
-
this.focusFirst = focusFirst;
|
|
41
|
-
} else {
|
|
42
|
-
this.focusFirst = null;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
if (this.focusFirst) {
|
|
46
|
-
this.focusFirst.focus();
|
|
47
|
-
} else {
|
|
48
|
-
Utils.focusFirstDescendant(this.dialogNode);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
this.lastFocus = document.activeElement;
|
|
52
|
-
tabEvent = (e) => {
|
|
53
|
-
this.trapFocus(e);
|
|
54
|
-
};
|
|
55
|
-
this.addListeners();
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
aria.Dialog.prototype.addListeners = function() {
|
|
59
|
-
document.addEventListener('focus', tabEvent, true);
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
aria.Dialog.prototype.removeListeners = function() {
|
|
63
|
-
document.removeEventListener('focus', tabEvent, true);
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
aria.Dialog.prototype.closeDialog = function() {
|
|
67
|
-
this.removeListeners();
|
|
68
|
-
if (this.focusAfterClosed) {
|
|
69
|
-
setTimeout(() => {
|
|
70
|
-
this.focusAfterClosed.focus();
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
aria.Dialog.prototype.trapFocus = function(event) {
|
|
76
|
-
if (Utils.IgnoreUtilFocusChanges) {
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
if (this.dialogNode.contains(event.target)) {
|
|
80
|
-
this.lastFocus = event.target;
|
|
81
|
-
} else {
|
|
82
|
-
Utils.focusFirstDescendant(this.dialogNode);
|
|
83
|
-
if (this.lastFocus === document.activeElement) {
|
|
84
|
-
Utils.focusLastDescendant(this.dialogNode);
|
|
85
|
-
}
|
|
86
|
-
this.lastFocus = document.activeElement;
|
|
87
|
-
}
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
export default aria.Dialog;
|
|
1
|
+
import Utils from './aria-utils';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @constructor
|
|
5
|
+
* @desc Dialog object providing modal focus management.
|
|
6
|
+
*
|
|
7
|
+
* Assumptions: The element serving as the dialog container is present in the
|
|
8
|
+
* DOM and hidden. The dialog container has role='dialog'.
|
|
9
|
+
*
|
|
10
|
+
* @param dialogId
|
|
11
|
+
* The ID of the element serving as the dialog container.
|
|
12
|
+
* @param focusAfterClosed
|
|
13
|
+
* Either the DOM node or the ID of the DOM node to focus when the
|
|
14
|
+
* dialog closes.
|
|
15
|
+
* @param focusFirst
|
|
16
|
+
* Optional parameter containing either the DOM node or the ID of the
|
|
17
|
+
* DOM node to focus when the dialog opens. If not specified, the
|
|
18
|
+
* first focusable element in the dialog will receive focus.
|
|
19
|
+
*/
|
|
20
|
+
var aria = aria || {};
|
|
21
|
+
var tabEvent;
|
|
22
|
+
|
|
23
|
+
aria.Dialog = function(dialog, focusAfterClosed, focusFirst) {
|
|
24
|
+
this.dialogNode = dialog;
|
|
25
|
+
if (this.dialogNode === null || this.dialogNode.getAttribute('role') !== 'dialog') {
|
|
26
|
+
throw new Error('Dialog() requires a DOM element with ARIA role of dialog.');
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
if (typeof focusAfterClosed === 'string') {
|
|
30
|
+
this.focusAfterClosed = document.getElementById(focusAfterClosed);
|
|
31
|
+
} else if (typeof focusAfterClosed === 'object') {
|
|
32
|
+
this.focusAfterClosed = focusAfterClosed;
|
|
33
|
+
} else {
|
|
34
|
+
this.focusAfterClosed = null;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
if (typeof focusFirst === 'string') {
|
|
38
|
+
this.focusFirst = document.getElementById(focusFirst);
|
|
39
|
+
} else if (typeof focusFirst === 'object') {
|
|
40
|
+
this.focusFirst = focusFirst;
|
|
41
|
+
} else {
|
|
42
|
+
this.focusFirst = null;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
if (this.focusFirst) {
|
|
46
|
+
this.focusFirst.focus();
|
|
47
|
+
} else {
|
|
48
|
+
Utils.focusFirstDescendant(this.dialogNode);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
this.lastFocus = document.activeElement;
|
|
52
|
+
tabEvent = (e) => {
|
|
53
|
+
this.trapFocus(e);
|
|
54
|
+
};
|
|
55
|
+
this.addListeners();
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
aria.Dialog.prototype.addListeners = function() {
|
|
59
|
+
document.addEventListener('focus', tabEvent, true);
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
aria.Dialog.prototype.removeListeners = function() {
|
|
63
|
+
document.removeEventListener('focus', tabEvent, true);
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
aria.Dialog.prototype.closeDialog = function() {
|
|
67
|
+
this.removeListeners();
|
|
68
|
+
if (this.focusAfterClosed) {
|
|
69
|
+
setTimeout(() => {
|
|
70
|
+
this.focusAfterClosed.focus();
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
aria.Dialog.prototype.trapFocus = function(event) {
|
|
76
|
+
if (Utils.IgnoreUtilFocusChanges) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
if (this.dialogNode.contains(event.target)) {
|
|
80
|
+
this.lastFocus = event.target;
|
|
81
|
+
} else {
|
|
82
|
+
Utils.focusFirstDescendant(this.dialogNode);
|
|
83
|
+
if (this.lastFocus === document.activeElement) {
|
|
84
|
+
Utils.focusLastDescendant(this.dialogNode);
|
|
85
|
+
}
|
|
86
|
+
this.lastFocus = document.activeElement;
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
export default aria.Dialog;
|