@opentiny/vue-renderless 3.1.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/action-sheet/index.js +28 -0
- package/action-sheet/vue.js +29 -0
- package/alert/index.js +23 -0
- package/alert/vue.js +37 -0
- package/autocomplete/index.js +175 -0
- package/autocomplete/vue.js +171 -0
- package/avatar/index.js +29 -0
- package/avatar/vue.js +24 -0
- package/badge/index.js +16 -0
- package/badge/vue.js +30 -0
- package/breadcrumb/vue.js +4 -0
- package/breadcrumb-item/vue.js +24 -0
- package/bulletin-board/index.js +21 -0
- package/bulletin-board/vue.js +36 -0
- package/button/index.js +19 -0
- package/button/vue.js +43 -0
- package/button-group/index.js +25 -0
- package/button-group/vue.js +51 -0
- package/calendar/index.js +279 -0
- package/calendar/vue.js +124 -0
- package/card-template/index.js +39 -0
- package/card-template/vue.js +34 -0
- package/carousel/index.js +206 -0
- package/carousel/vue.js +222 -0
- package/carousel-item/index.js +93 -0
- package/carousel-item/vue.js +57 -0
- package/cascader/index.js +511 -0
- package/cascader/vue.js +342 -0
- package/cascader-menu/index.js +41 -0
- package/cascader-menu/vue.js +36 -0
- package/cascader-node/index.js +63 -0
- package/cascader-node/vue.js +62 -0
- package/cascader-panel/index.js +359 -0
- package/cascader-panel/node.js +199 -0
- package/cascader-panel/store.js +80 -0
- package/cascader-panel/vue.js +217 -0
- package/checkbox/index.js +145 -0
- package/checkbox/vue.js +139 -0
- package/checkbox-button/index.js +102 -0
- package/checkbox-button/vue.js +150 -0
- package/checkbox-group/index.js +12 -0
- package/checkbox-group/vue.js +33 -0
- package/col/index.js +132 -0
- package/col/vue.js +34 -0
- package/collapse/index.js +45 -0
- package/collapse/vue.js +35 -0
- package/collapse-item/index.js +38 -0
- package/collapse-item/vue.js +48 -0
- package/common/array.js +120 -0
- package/common/bigInt.js +352 -0
- package/common/browser.js +69 -0
- package/common/dataset/index.js +135 -0
- package/common/date.js +352 -0
- package/common/decimal.js +203 -0
- package/common/deps/ResizeObserver.js +474 -0
- package/common/deps/after-leave.js +25 -0
- package/common/deps/clickoutside.js +61 -0
- package/common/deps/date-util.js +262 -0
- package/common/deps/date.js +308 -0
- package/common/deps/debounce.js +4 -0
- package/common/deps/dom.js +190 -0
- package/common/deps/fullscreen/apis.js +157 -0
- package/common/deps/fullscreen/screenfull.js +106 -0
- package/common/deps/letter-only.js +15 -0
- package/common/deps/memorize.js +149 -0
- package/common/deps/number-only.js +16 -0
- package/common/deps/popper.js +713 -0
- package/common/deps/popup-manager.js +179 -0
- package/common/deps/repeat-click.js +24 -0
- package/common/deps/requestAnimationFrame.js +25 -0
- package/common/deps/resize-event.js +29 -0
- package/common/deps/scroll-into-view.js +29 -0
- package/common/deps/scrollbar-width.js +25 -0
- package/common/deps/throttle.js +34 -0
- package/common/deps/touch.js +33 -0
- package/common/deps/tree-model/node.js +586 -0
- package/common/deps/tree-model/tree-store.js +377 -0
- package/common/deps/tree-model/util.js +14 -0
- package/common/deps/upload-ajax.js +71 -0
- package/common/deps/vue-emitter.js +30 -0
- package/common/deps/vue-popper.js +291 -0
- package/common/deps/vue-popup.js +211 -0
- package/common/event.js +17 -0
- package/common/index.js +288 -0
- package/common/object.js +228 -0
- package/common/runtime.js +52 -0
- package/common/string.js +446 -0
- package/common/type.js +65 -0
- package/common/validate/index.js +6 -0
- package/common/validate/messages.js +68 -0
- package/common/validate/rules/enum.js +8 -0
- package/common/validate/rules/index.js +14 -0
- package/common/validate/rules/pattern.js +16 -0
- package/common/validate/rules/range.js +62 -0
- package/common/validate/rules/required.js +13 -0
- package/common/validate/rules/type.js +110 -0
- package/common/validate/rules/whitespace.js +6 -0
- package/common/validate/schema.js +323 -0
- package/common/validate/util.js +198 -0
- package/common/validate/validations/array.js +25 -0
- package/common/validate/validations/date.js +35 -0
- package/common/validate/validations/enum.js +24 -0
- package/common/validate/validations/float.js +24 -0
- package/common/validate/validations/index.js +42 -0
- package/common/validate/validations/integer.js +24 -0
- package/common/validate/validations/method.js +23 -0
- package/common/validate/validations/number.js +27 -0
- package/common/validate/validations/pattern.js +23 -0
- package/common/validate/validations/required.js +15 -0
- package/common/validate/validations/string.js +29 -0
- package/common/validate/validations/type.js +25 -0
- package/common/xss.js +325 -0
- package/container/index.js +110 -0
- package/container/vue.js +63 -0
- package/credit-card/index.js +107 -0
- package/credit-card/vue.js +117 -0
- package/credit-card-form/index.js +143 -0
- package/credit-card-form/vue.js +150 -0
- package/crop/index.js +297 -0
- package/crop/vue.js +191 -0
- package/date-panel/index.js +584 -0
- package/date-panel/vue.js +319 -0
- package/date-picker/index.js +301 -0
- package/date-picker/vue.js +169 -0
- package/date-range/index.js +463 -0
- package/date-range/vue.js +297 -0
- package/date-table/index.js +457 -0
- package/date-table/vue.js +151 -0
- package/detail-page/index.js +135 -0
- package/detail-page/vue.js +145 -0
- package/dialog-box/index.js +268 -0
- package/dialog-box/vue.js +226 -0
- package/drop-times/index.js +23 -0
- package/drop-times/vue.js +28 -0
- package/dropdown/index.js +259 -0
- package/dropdown/vue.js +107 -0
- package/dropdown-item/index.js +155 -0
- package/dropdown-item/vue.js +124 -0
- package/dropdown-menu/index.js +148 -0
- package/dropdown-menu/vue.js +44 -0
- package/exception/index.js +13 -0
- package/exception/vue.js +25 -0
- package/fall-menu/index.js +121 -0
- package/fall-menu/vue.js +90 -0
- package/file-upload/index.js +1940 -0
- package/file-upload/vue.js +458 -0
- package/floatbar/index.js +10 -0
- package/floatbar/vue.js +17 -0
- package/form/index.js +186 -0
- package/form/vue.js +69 -0
- package/form-item/index.js +364 -0
- package/form-item/vue.js +210 -0
- package/fullscreen/index.js +138 -0
- package/fullscreen/vue.js +77 -0
- package/grid/core/index.js +3 -0
- package/grid/core/interceptor.js +38 -0
- package/grid/core/storeMap.js +19 -0
- package/grid/plugins/export.js +169 -0
- package/grid/plugins/exportExcel.js +749 -0
- package/grid/plugins/header.js +58 -0
- package/grid/plugins/resize.js +82 -0
- package/grid/static/array/arrayEach.js +12 -0
- package/grid/static/array/arrayIndexOf.js +11 -0
- package/grid/static/array/eachTree.js +32 -0
- package/grid/static/array/every.js +2 -0
- package/grid/static/array/filterTree.js +16 -0
- package/grid/static/array/find.js +3 -0
- package/grid/static/array/findTree.js +46 -0
- package/grid/static/array/helperCreateIterateHandle.js +59 -0
- package/grid/static/array/helperCreateTreeFunc.js +18 -0
- package/grid/static/array/includes.js +5 -0
- package/grid/static/array/lastArrayEach.js +6 -0
- package/grid/static/array/map.js +23 -0
- package/grid/static/array/mapTree.js +33 -0
- package/grid/static/array/slice.js +10 -0
- package/grid/static/array/sortBy.js +69 -0
- package/grid/static/array/sum.js +28 -0
- package/grid/static/array/toArray.js +7 -0
- package/grid/static/array/toTreeArray.js +24 -0
- package/grid/static/base/clear.js +44 -0
- package/grid/static/base/clone.js +18 -0
- package/grid/static/base/destructuring.js +18 -0
- package/grid/static/base/each.js +9 -0
- package/grid/static/base/eqNull.js +6 -0
- package/grid/static/base/findIndexOf.js +10 -0
- package/grid/static/base/get.js +42 -0
- package/grid/static/base/has.js +60 -0
- package/grid/static/base/hasOwnProp.js +4 -0
- package/grid/static/base/helperCreateGetObjects.js +26 -0
- package/grid/static/base/helperCreateInInObjectString.js +7 -0
- package/grid/static/base/helperCreateInTypeof.js +6 -0
- package/grid/static/base/helperCreateIndexOf.js +21 -0
- package/grid/static/base/helperCreateiterateIndexOf.js +21 -0
- package/grid/static/base/helperDefaultCompare.js +4 -0
- package/grid/static/base/helperDeleteProperty.js +8 -0
- package/grid/static/base/helperEqualCompare.js +60 -0
- package/grid/static/base/helperGetHGSKeys.js +4 -0
- package/grid/static/base/indexOf.js +3 -0
- package/grid/static/base/isArray.js +3 -0
- package/grid/static/base/isBoolean.js +4 -0
- package/grid/static/base/isDate.js +3 -0
- package/grid/static/base/isEmpty.js +8 -0
- package/grid/static/base/isEqual.js +11 -0
- package/grid/static/base/isFunction.js +4 -0
- package/grid/static/base/isNaN.js +5 -0
- package/grid/static/base/isNull.js +4 -0
- package/grid/static/base/isNumber.js +4 -0
- package/grid/static/base/isObject.js +5 -0
- package/grid/static/base/isPlainObject.js +2 -0
- package/grid/static/base/isRegExp.js +3 -0
- package/grid/static/base/isSet.js +5 -0
- package/grid/static/base/isString.js +4 -0
- package/grid/static/base/isUndefined.js +4 -0
- package/grid/static/base/keys.js +3 -0
- package/grid/static/base/lastEach.js +9 -0
- package/grid/static/base/remove.js +44 -0
- package/grid/static/base/set.js +43 -0
- package/grid/static/base/toJSONString.js +4 -0
- package/grid/static/base/toStringJSON.js +13 -0
- package/grid/static/base/uniqueId.js +5 -0
- package/grid/static/browse/browse.js +54 -0
- package/grid/static/function/property.js +7 -0
- package/grid/static/function/throttle.js +43 -0
- package/grid/static/index.js +55 -0
- package/grid/static/number/helperCreateToNumber.js +12 -0
- package/grid/static/number/toNumber.js +3 -0
- package/grid/static/object/assign.js +41 -0
- package/grid/static/object/extend.js +3 -0
- package/grid/static/object/lastObjectEach.js +8 -0
- package/grid/static/object/objectEach.js +11 -0
- package/grid/static/object/objectMap.js +20 -0
- package/grid/static/object/values.js +9 -0
- package/grid/static/static/staticDocument.js +4 -0
- package/grid/static/static/staticHGKeyRE.js +2 -0
- package/grid/static/static/staticParseInt.js +2 -0
- package/grid/static/static/staticStrUndefined.js +2 -0
- package/grid/static/static/staticWindow.js +4 -0
- package/grid/static/string/template.js +12 -0
- package/grid/static/string/toString.js +12 -0
- package/grid/utils/column.js +72 -0
- package/grid/utils/common.js +155 -0
- package/grid/utils/dom.js +213 -0
- package/grid/utils/event.js +40 -0
- package/grid/utils/index.js +5 -0
- package/image/index.js +187 -0
- package/image/vue.js +142 -0
- package/image-viewer/index.js +469 -0
- package/image-viewer/vue.js +243 -0
- package/input/index.js +319 -0
- package/input/vue.js +319 -0
- package/ip-address/index.js +370 -0
- package/ip-address/vue.js +185 -0
- package/layout/vue.js +4 -0
- package/link/index.js +10 -0
- package/link/vue.js +26 -0
- package/link-menu/index.js +146 -0
- package/link-menu/vue.js +138 -0
- package/list/index.js +13 -0
- package/list/vue.js +17 -0
- package/loading/index.js +29 -0
- package/loading/vue.js +28 -0
- package/milestone/index.js +92 -0
- package/milestone/vue.js +31 -0
- package/mini-picker/index.js +227 -0
- package/mini-picker/vue.js +142 -0
- package/modal/index.js +866 -0
- package/modal/vue.js +130 -0
- package/month-range/index.js +169 -0
- package/month-range/vue.js +104 -0
- package/month-table/index.js +232 -0
- package/month-table/vue.js +72 -0
- package/nav-menu/index.js +457 -0
- package/nav-menu/vue.js +187 -0
- package/notify/index.js +91 -0
- package/notify/vue.js +67 -0
- package/numeric/index.js +419 -0
- package/numeric/vue.js +218 -0
- package/option/index.js +79 -0
- package/option/vue.js +219 -0
- package/option-group/index.js +18 -0
- package/option-group/vue.js +37 -0
- package/package.json +179 -0
- package/pager-item/index.js +122 -0
- package/pager-item/vue.js +52 -0
- package/panel/index.js +30 -0
- package/panel/vue.js +26 -0
- package/picker/index.js +1039 -0
- package/picker/timezone.js +974 -0
- package/picker/vue.js +415 -0
- package/picker-column/index.js +261 -0
- package/picker-column/vue.js +163 -0
- package/pop-upload/index.js +324 -0
- package/pop-upload/vue.js +292 -0
- package/popeditor/index.js +884 -0
- package/popeditor/vue.js +368 -0
- package/popover/index.js +203 -0
- package/popover/vue.js +174 -0
- package/popup/index.js +139 -0
- package/popup/vue.js +129 -0
- package/progress/index.js +174 -0
- package/progress/vue.js +118 -0
- package/pull-refresh/index.js +104 -0
- package/pull-refresh/vue.js +64 -0
- package/radio/index.js +83 -0
- package/radio/vue.js +99 -0
- package/radio-button/index.js +58 -0
- package/radio-button/vue.js +70 -0
- package/radio-group/index.js +51 -0
- package/radio-group/vue.js +34 -0
- package/rate/index.js +254 -0
- package/rate/vue.js +158 -0
- package/row/index.js +19 -0
- package/row/vue.js +24 -0
- package/scroll-text/index.js +24 -0
- package/scroll-text/vue.js +31 -0
- package/scrollbar/index.js +127 -0
- package/scrollbar/vue-bar.js +49 -0
- package/scrollbar/vue.js +43 -0
- package/search/index.js +110 -0
- package/search/vue.js +110 -0
- package/select/index.js +1766 -0
- package/select/vue.js +693 -0
- package/select-dropdown/index.js +23 -0
- package/select-dropdown/vue.js +122 -0
- package/slide-bar/index.js +94 -0
- package/slide-bar/vue.js +58 -0
- package/slider/index.js +434 -0
- package/slider/vue.js +172 -0
- package/split/index.js +122 -0
- package/split/vue.js +131 -0
- package/steps/vue.js +4 -0
- package/switch/index.js +45 -0
- package/switch/vue.js +62 -0
- package/tab-bar/index.js +51 -0
- package/tab-bar/vue.js +16 -0
- package/tab-dropdown/index.js +11 -0
- package/tab-dropdown/vue.js +17 -0
- package/tab-item/index.js +37 -0
- package/tab-item/vue.js +49 -0
- package/tab-nav/index.js +247 -0
- package/tab-nav/vue.js +106 -0
- package/tabbar/index.js +32 -0
- package/tabbar/vue.js +54 -0
- package/tabbar-item/index.js +55 -0
- package/tabbar-item/vue.js +53 -0
- package/table/index.js +111 -0
- package/table/vue.js +66 -0
- package/tabs/index.js +174 -0
- package/tabs/vue.js +141 -0
- package/tag/index.js +14 -0
- package/tag/vue.js +13 -0
- package/tall-storage/index.js +161 -0
- package/tall-storage/vue-storage-box.js +25 -0
- package/tall-storage/vue.js +38 -0
- package/text-popup/index.js +75 -0
- package/text-popup/vue.js +64 -0
- package/time/index.js +121 -0
- package/time/vue.js +124 -0
- package/time-line/index.js +60 -0
- package/time-line/vue.js +49 -0
- package/time-panel/index.js +189 -0
- package/time-panel/scrollIntoView.js +23 -0
- package/time-panel/vue.js +110 -0
- package/time-range/index.js +199 -0
- package/time-range/vue.js +129 -0
- package/time-spinner/index.js +175 -0
- package/time-spinner/vue.js +122 -0
- package/toggle-menu/index.js +104 -0
- package/toggle-menu/vue.js +74 -0
- package/tooltip/index.js +171 -0
- package/tooltip/vue.js +133 -0
- package/top-box/index.js +81 -0
- package/top-box/vue.js +77 -0
- package/transfer/index.js +296 -0
- package/transfer/vue.js +138 -0
- package/transfer-panel/index.js +364 -0
- package/transfer-panel/vue.js +258 -0
- package/tree/index.js +642 -0
- package/tree/vue.js +268 -0
- package/tree-menu/index.js +124 -0
- package/tree-menu/vue.js +60 -0
- package/tree-node/index.js +271 -0
- package/tree-node/vue.js +211 -0
- package/upload/index.js +324 -0
- package/upload/vue.js +93 -0
- package/upload-dragger/index.js +50 -0
- package/upload-dragger/vue.js +27 -0
- package/upload-list/index.js +55 -0
- package/upload-list/vue.js +48 -0
- package/user-contact/index.js +13 -0
- package/user-contact/vue.js +20 -0
- package/user-head/index.js +71 -0
- package/user-head/vue.js +47 -0
- package/wizard/index.js +123 -0
- package/wizard/vue.js +45 -0
- package/year-table/index.js +40 -0
- package/year-table/vue.js +23 -0
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import _typeof from "@babel/runtime/helpers/typeof";
|
|
2
|
+
import { hasOwn, isObject, isNull } from '@opentiny/vue-renderless/common/type';
|
|
3
|
+
var isServer = typeof window === 'undefined';
|
|
4
|
+
var SPECIAL_CHARS_REGEXP = /([:\-_]+(.))/g;
|
|
5
|
+
var MOZ_HACK_REGEXP = /^moz([A-Z])/;
|
|
6
|
+
var ieVersion = isServer ? 0 : Number(document.documentMode);
|
|
7
|
+
var trim = function trim(string) {
|
|
8
|
+
return (string || '').replace(/^[\s\uFEFF]+|[\s\uFEFF]+$/g, '');
|
|
9
|
+
};
|
|
10
|
+
var camelCase = function camelCase(name) {
|
|
11
|
+
return name.replace(SPECIAL_CHARS_REGEXP, function (_, separator, letter, offset) {
|
|
12
|
+
return offset ? letter.toUpperCase() : letter;
|
|
13
|
+
}).replace(MOZ_HACK_REGEXP, 'Moz$1');
|
|
14
|
+
};
|
|
15
|
+
export var on = function () {
|
|
16
|
+
if (!isServer) {
|
|
17
|
+
return function (el, event, handler) {
|
|
18
|
+
if (el && event && handler) {
|
|
19
|
+
el.addEventListener(event, handler, false);
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
} else {
|
|
23
|
+
return function (el, event, handler) {
|
|
24
|
+
if (el && event && handler) {
|
|
25
|
+
el.attachEvent('on' + event, handler);
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
}();
|
|
30
|
+
export var off = function () {
|
|
31
|
+
if (!isServer) {
|
|
32
|
+
return function (el, event, handler) {
|
|
33
|
+
if (el && event) {
|
|
34
|
+
el.removeEventListener(event, handler, false);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
} else {
|
|
38
|
+
return function (el, event, handler) {
|
|
39
|
+
if (el && event) {
|
|
40
|
+
el.detachEvent('on' + event, handler);
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
}();
|
|
45
|
+
export var once = function once(el, event, fn) {
|
|
46
|
+
var listener = function listener() {
|
|
47
|
+
if (fn) {
|
|
48
|
+
fn.apply(this, arguments);
|
|
49
|
+
}
|
|
50
|
+
off(el, event, listener);
|
|
51
|
+
};
|
|
52
|
+
on(el, event, listener);
|
|
53
|
+
};
|
|
54
|
+
export var hasClass = function hasClass(el, clazz) {
|
|
55
|
+
if (!el || !clazz) return false;
|
|
56
|
+
if (clazz.indexOf(' ') !== -1) {
|
|
57
|
+
throw new Error('className should not contain space.');
|
|
58
|
+
}
|
|
59
|
+
if (el.classList) {
|
|
60
|
+
return el.classList.contains(clazz);
|
|
61
|
+
}
|
|
62
|
+
return (' ' + el.className + ' ').indexOf(' ' + clazz + ' ') > -1;
|
|
63
|
+
};
|
|
64
|
+
export var addClass = function addClass(el, clazz) {
|
|
65
|
+
if (!el) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
var classes = (clazz || '').split(' ');
|
|
69
|
+
var curClass = el.className;
|
|
70
|
+
for (var i = 0, len = classes.length; i < len; i++) {
|
|
71
|
+
var clsName = classes[i];
|
|
72
|
+
if (clsName) {
|
|
73
|
+
if (el.classList) {
|
|
74
|
+
el.classList.add(clsName);
|
|
75
|
+
} else if (!hasClass(el, clsName)) {
|
|
76
|
+
curClass += ' ' + clsName;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
if (!el.classList) {
|
|
81
|
+
el.className = curClass;
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
export var removeClass = function removeClass(el, clazz) {
|
|
85
|
+
if (!el || !clazz) {
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
var classes = clazz.split(' ');
|
|
89
|
+
var curClass = ' ' + el.className + ' ';
|
|
90
|
+
for (var i = 0, len = classes.length; i < len; i++) {
|
|
91
|
+
var clsName = classes[i];
|
|
92
|
+
if (clsName) {
|
|
93
|
+
if (el.classList) {
|
|
94
|
+
el.classList.remove(clsName);
|
|
95
|
+
} else if (hasClass(el, clsName)) {
|
|
96
|
+
curClass = curClass.replace(' ' + clsName + ' ', ' ');
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
if (!el.classList) {
|
|
101
|
+
el.className = trim(curClass);
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
export var getStyle = function getStyle(el, styleName) {
|
|
105
|
+
if (isServer) return;
|
|
106
|
+
if (!el || !styleName) return null;
|
|
107
|
+
styleName = camelCase(styleName);
|
|
108
|
+
if (styleName === 'float') {
|
|
109
|
+
styleName = 'cssFloat';
|
|
110
|
+
}
|
|
111
|
+
try {
|
|
112
|
+
var computed = document.defaultView.getComputedStyle(el, '');
|
|
113
|
+
return el.style[styleName] || computed ? computed[styleName] : null;
|
|
114
|
+
} catch (e) {
|
|
115
|
+
return el.style[styleName];
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
export var setStyle = function setStyle(el, name, value) {
|
|
119
|
+
if (!el || !name) {
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
if (_typeof(name) === 'object') {
|
|
123
|
+
for (var prop in name) {
|
|
124
|
+
if (hasOwn.call(name, prop)) {
|
|
125
|
+
setStyle(el, prop, name[prop]);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
} else {
|
|
129
|
+
name = camelCase(name);
|
|
130
|
+
if (name === 'opacity' && ieVersion < 9) {
|
|
131
|
+
el.style.filter = isNaN(value) ? '' : 'alpha(opacity=' + value * 100 + ')';
|
|
132
|
+
} else {
|
|
133
|
+
el.style[name] = value;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
export var isScroll = function isScroll(el, vertical) {
|
|
138
|
+
if (isServer) return;
|
|
139
|
+
var determinedDirection = !isNull(vertical);
|
|
140
|
+
var overflow;
|
|
141
|
+
if (determinedDirection) {
|
|
142
|
+
overflow = vertical ? getStyle(el, 'overflow-y') : getStyle(el, 'overflow-x');
|
|
143
|
+
} else {
|
|
144
|
+
overflow = getStyle(el, 'overflow');
|
|
145
|
+
}
|
|
146
|
+
return overflow.match(/(scroll|auto)/);
|
|
147
|
+
};
|
|
148
|
+
export var getScrollContainer = function getScrollContainer(el, vertical) {
|
|
149
|
+
if (isServer) return;
|
|
150
|
+
var parent = el;
|
|
151
|
+
while (parent) {
|
|
152
|
+
if (~[window, document, document.documentElement].indexOf(parent)) {
|
|
153
|
+
return window;
|
|
154
|
+
}
|
|
155
|
+
if (isScroll(parent, vertical)) {
|
|
156
|
+
return parent;
|
|
157
|
+
}
|
|
158
|
+
parent = parent.parentNode;
|
|
159
|
+
}
|
|
160
|
+
return parent;
|
|
161
|
+
};
|
|
162
|
+
export var isInContainer = function isInContainer(el, container) {
|
|
163
|
+
if (isServer || !el || !container) return false;
|
|
164
|
+
var elRect = el.getBoundingClientRect();
|
|
165
|
+
var containerRect;
|
|
166
|
+
if (~[window, document, document.documentElement].indexOf(container) || isNull(container)) {
|
|
167
|
+
containerRect = {
|
|
168
|
+
top: 0,
|
|
169
|
+
right: window.innerWidth,
|
|
170
|
+
bottom: window.innerHeight,
|
|
171
|
+
left: 0
|
|
172
|
+
};
|
|
173
|
+
} else {
|
|
174
|
+
containerRect = container.getBoundingClientRect();
|
|
175
|
+
}
|
|
176
|
+
return elRect.top < containerRect.bottom && elRect.bottom > containerRect.top && elRect.right > containerRect.left && elRect.left < containerRect.right;
|
|
177
|
+
};
|
|
178
|
+
export var isVNode = function isVNode(node) {
|
|
179
|
+
return node !== null && isObject(node) && hasOwn.call(node, 'componentOptions');
|
|
180
|
+
};
|
|
181
|
+
export var getDomNode = function getDomNode() {
|
|
182
|
+
var documentElement = document.documentElement;
|
|
183
|
+
var bodyElem = document.body;
|
|
184
|
+
return {
|
|
185
|
+
scrollTop: documentElement.scrollTop || bodyElem.scrollTop,
|
|
186
|
+
scrollLeft: documentElement.scrollLeft || bodyElem.scrollLeft,
|
|
187
|
+
visibleHeight: documentElement.clientHeight || bodyElem.clientHeight,
|
|
188
|
+
visibleWidth: documentElement.clientWidth || bodyElem.clientWidth
|
|
189
|
+
};
|
|
190
|
+
};
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
var _this = this;
|
|
2
|
+
import { extend } from '@opentiny/vue-renderless/common/object';
|
|
3
|
+
import { on, off } from '@opentiny/vue-renderless/common/deps/dom';
|
|
4
|
+
import screenfull from '@opentiny/vue-renderless/common/deps/fullscreen/screenfull';
|
|
5
|
+
var defaults = {
|
|
6
|
+
callback: function callback() {
|
|
7
|
+
return undefined;
|
|
8
|
+
},
|
|
9
|
+
fullscreenClass: 'fullscreen',
|
|
10
|
+
pageOnly: false,
|
|
11
|
+
teleport: false
|
|
12
|
+
};
|
|
13
|
+
var token;
|
|
14
|
+
var parentNode;
|
|
15
|
+
var setStyle = function setStyle(element, style) {
|
|
16
|
+
element.style.position = style.position;
|
|
17
|
+
element.style.left = style.left;
|
|
18
|
+
element.style.top = style.top;
|
|
19
|
+
element.style.width = style.width;
|
|
20
|
+
element.style.height = style.height;
|
|
21
|
+
element.style.zIndex = style.zIndex;
|
|
22
|
+
};
|
|
23
|
+
var resetElement = function resetElement(api) {
|
|
24
|
+
var targetEle = api.targetEle;
|
|
25
|
+
if (targetEle) {
|
|
26
|
+
targetEle.classList.remove(api.opts.fullscreenClass);
|
|
27
|
+
if (api.opts.teleport || api.opts.pageOnly) {
|
|
28
|
+
if (api.opts.teleport && parentNode) {
|
|
29
|
+
parentNode.insertBefore(targetEle, token);
|
|
30
|
+
parentNode.removeChild(token);
|
|
31
|
+
}
|
|
32
|
+
if (targetEle.__styleCache) {
|
|
33
|
+
setStyle(targetEle, targetEle.__styleCache);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var setTargetStyle = function setTargetStyle(target, options) {
|
|
39
|
+
var _target$style = target.style,
|
|
40
|
+
position = _target$style.position,
|
|
41
|
+
left = _target$style.left,
|
|
42
|
+
top = _target$style.top,
|
|
43
|
+
width = _target$style.width,
|
|
44
|
+
height = _target$style.height,
|
|
45
|
+
zIndex = _target$style.zIndex;
|
|
46
|
+
target.classList.add(options.fullscreenClass);
|
|
47
|
+
if (options.teleport || options.pageOnly) {
|
|
48
|
+
var style = {
|
|
49
|
+
position: 'fixed',
|
|
50
|
+
left: '0',
|
|
51
|
+
top: '0',
|
|
52
|
+
width: '100%',
|
|
53
|
+
height: '100%'
|
|
54
|
+
};
|
|
55
|
+
target.__styleCache = {
|
|
56
|
+
position: position,
|
|
57
|
+
left: left,
|
|
58
|
+
top: top,
|
|
59
|
+
width: width,
|
|
60
|
+
height: height,
|
|
61
|
+
zIndex: zIndex
|
|
62
|
+
};
|
|
63
|
+
options.zIndex && (style.zIndex = options.zIndex);
|
|
64
|
+
setStyle(target, style);
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
var getOptions = function getOptions(screenfull, options, target) {
|
|
68
|
+
options = extend({}, defaults, options);
|
|
69
|
+
if (target === document.body) {
|
|
70
|
+
options.teleport = false;
|
|
71
|
+
}
|
|
72
|
+
if (!screenfull.isEnabled) {
|
|
73
|
+
options.pageOnly = true;
|
|
74
|
+
}
|
|
75
|
+
return options;
|
|
76
|
+
};
|
|
77
|
+
var api = {
|
|
78
|
+
targetElement: null,
|
|
79
|
+
opts: null,
|
|
80
|
+
isEnabled: screenfull.isEnabled,
|
|
81
|
+
isFullScreen: false,
|
|
82
|
+
toggle: function toggle(target, options, force) {
|
|
83
|
+
if (force === undefined) {
|
|
84
|
+
return !_this.isFullScreen ? _this.request(target, options) : _this.exit();
|
|
85
|
+
}
|
|
86
|
+
return force ? _this.request(target, options) : _this.exit();
|
|
87
|
+
},
|
|
88
|
+
request: function request(targetEle, options) {
|
|
89
|
+
if (_this.isFullScreen) {
|
|
90
|
+
return Promise.resolve();
|
|
91
|
+
}
|
|
92
|
+
if (!targetEle) {
|
|
93
|
+
targetEle = document.body;
|
|
94
|
+
}
|
|
95
|
+
_this.opts = getOptions(screenfull, options, targetEle);
|
|
96
|
+
setTargetStyle(targetEle, _this.opts);
|
|
97
|
+
if (_this.opts.teleport) {
|
|
98
|
+
parentNode = targetEle.parentNode;
|
|
99
|
+
if (parentNode) {
|
|
100
|
+
token = document.createComment('fullscreen-token');
|
|
101
|
+
parentNode.insertBefore(token, targetEle);
|
|
102
|
+
document.body.appendChild(targetEle);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
if (_this.opts.pageOnly) {
|
|
106
|
+
var keypressCallback = function keypressCallback(e) {
|
|
107
|
+
if (e.key === 'Escape') {
|
|
108
|
+
off(document, 'keyup', keypressCallback);
|
|
109
|
+
_this.exit();
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
_this.isFullScreen = true;
|
|
113
|
+
_this.targetElement = targetEle;
|
|
114
|
+
off(document, 'keyup', keypressCallback);
|
|
115
|
+
on(document, 'keyup', keypressCallback);
|
|
116
|
+
if (_this.opts.callback) {
|
|
117
|
+
_this.opts.callback(_this.isFullScreen);
|
|
118
|
+
}
|
|
119
|
+
return Promise.resolve();
|
|
120
|
+
} else {
|
|
121
|
+
var fullScreenCallback = function fullScreenCallback() {
|
|
122
|
+
if (!screenfull.isFullScreen) {
|
|
123
|
+
screenfull.off('change', fullScreenCallback);
|
|
124
|
+
resetElement(_this);
|
|
125
|
+
}
|
|
126
|
+
_this.isFullScreen = screenfull.isFullScreen;
|
|
127
|
+
_this.targetElement = !_this.opts.teleport ? screenfull.targetElement : targetEle || null;
|
|
128
|
+
if (_this.opts.callback) {
|
|
129
|
+
_this.opts.callback(screenfull.isFullScreen);
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
screenfull.on('change', fullScreenCallback);
|
|
133
|
+
return screenfull.request(_this.opts.teleport ? document.body : targetEle);
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
exit: function exit() {
|
|
137
|
+
if (!this.isFullScreen) {
|
|
138
|
+
return Promise.resolve();
|
|
139
|
+
}
|
|
140
|
+
if (this.opts.pageOnly) {
|
|
141
|
+
resetElement(this);
|
|
142
|
+
this.isFullScreen = false;
|
|
143
|
+
this.targetElement = null;
|
|
144
|
+
if (this.opts.callback) {
|
|
145
|
+
this.opts.callback(this.isFullScreen);
|
|
146
|
+
}
|
|
147
|
+
return Promise.resolve();
|
|
148
|
+
}
|
|
149
|
+
return screenfull.exit();
|
|
150
|
+
}
|
|
151
|
+
};
|
|
152
|
+
api.support = api.isEnabled;
|
|
153
|
+
api.getState = function () {
|
|
154
|
+
return api.isFullScreen;
|
|
155
|
+
};
|
|
156
|
+
api.enter = api.request;
|
|
157
|
+
export default api;
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { on as _on, off as _off } from '@opentiny/vue-renderless/common/deps/dom';
|
|
2
|
+
var fullscreenApi = ['fullscreenElement', 'fullscreenEnabled', 'requestFullscreen', 'exitFullscreen', 'fullscreenchange', 'fullscreenerror'];
|
|
3
|
+
var fullscreenApiMoz = ['mozFullScreenElement', 'mozFullScreenEnabled', 'mozRequestFullScreen', 'mozCancelFullScreen', 'mozfullscreenchange', 'mozfullscreenerror'];
|
|
4
|
+
var fullscreenApiWebkit = ['webkitFullscreenElement', 'webkitFullscreenEnabled', 'webkitRequestFullscreen', 'webkitExitFullscreen', 'webkitfullscreenchange', 'webkitfullscreenerror'];
|
|
5
|
+
var fullscreenApiMs = ['msFullscreenElement', 'msFullscreenEnabled', 'msRequestFullscreen', 'msExitFullscreen', 'MSFullscreenChange', 'MSFullscreenError'];
|
|
6
|
+
var fullscreenApiMap = [fullscreenApi, fullscreenApiWebkit, fullscreenApiMoz, fullscreenApiMs];
|
|
7
|
+
var document = typeof window !== 'undefined' && typeof window.document !== 'undefined' ? window.document : {};
|
|
8
|
+
var fullscreenEvents = null;
|
|
9
|
+
var getFullScreenEvents = function getFullScreenEvents() {
|
|
10
|
+
for (var i = 0, len = fullscreenApiMap.length; i < len; i++) {
|
|
11
|
+
var eventName = fullscreenApiMap[i];
|
|
12
|
+
if (eventName && eventName[1] in document) {
|
|
13
|
+
fullscreenEvents = {};
|
|
14
|
+
for (i = 0; i < eventName.length; i++) {
|
|
15
|
+
fullscreenEvents[fullscreenApiMap[0][i]] = eventName[i];
|
|
16
|
+
}
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
getFullScreenEvents();
|
|
22
|
+
var eventNameMap = {
|
|
23
|
+
change: fullscreenEvents && fullscreenEvents.fullscreenchange,
|
|
24
|
+
error: fullscreenEvents && fullscreenEvents.fullscreenerror
|
|
25
|
+
};
|
|
26
|
+
var screenfull = {
|
|
27
|
+
request: function request(element, options) {
|
|
28
|
+
var _this = this;
|
|
29
|
+
return new Promise(function (resolve, reject) {
|
|
30
|
+
var onFullscreenEntered = function onFullscreenEntered() {
|
|
31
|
+
_this.off('change', onFullscreenEntered);
|
|
32
|
+
resolve();
|
|
33
|
+
};
|
|
34
|
+
_this.on('change', onFullscreenEntered);
|
|
35
|
+
element = element || document.documentElement;
|
|
36
|
+
if (element[fullscreenEvents && fullscreenEvents.requestFullscreen]) {
|
|
37
|
+
var promiseReturn = element[fullscreenEvents && fullscreenEvents.requestFullscreen](options);
|
|
38
|
+
if (promiseReturn instanceof Promise) {
|
|
39
|
+
promiseReturn.then(onFullscreenEntered)["catch"](reject);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
},
|
|
44
|
+
exit: function exit() {
|
|
45
|
+
var _this2 = this;
|
|
46
|
+
return new Promise(function (resolve, reject) {
|
|
47
|
+
if (!_this2.isFullscreen) {
|
|
48
|
+
resolve();
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
var onFullscreenExit = function onFullscreenExit() {
|
|
52
|
+
_this2.off('change', onFullscreenExit);
|
|
53
|
+
resolve();
|
|
54
|
+
};
|
|
55
|
+
_this2.on('change', onFullscreenExit);
|
|
56
|
+
if (document[fullscreenEvents && fullscreenEvents.exitFullscreen]) {
|
|
57
|
+
var promiseReturn = document[fullscreenEvents && fullscreenEvents.exitFullscreen]();
|
|
58
|
+
if (promiseReturn instanceof Promise) {
|
|
59
|
+
promiseReturn.then(onFullscreenExit)["catch"](reject);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
},
|
|
64
|
+
toggle: function toggle(element, options) {
|
|
65
|
+
return this.isFullscreen ? this.exit() : this.request(element, options);
|
|
66
|
+
},
|
|
67
|
+
onchange: function onchange(callback) {
|
|
68
|
+
this.on('change', callback);
|
|
69
|
+
},
|
|
70
|
+
onerror: function onerror(callback) {
|
|
71
|
+
this.on('error', callback);
|
|
72
|
+
},
|
|
73
|
+
on: function on(event, callback) {
|
|
74
|
+
var eventName = eventNameMap[event];
|
|
75
|
+
if (eventName) {
|
|
76
|
+
_on(document, eventName, callback);
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
off: function off(event, callback) {
|
|
80
|
+
var eventName = eventNameMap[event];
|
|
81
|
+
if (eventName) {
|
|
82
|
+
_off(document, eventName, callback);
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
raw: fullscreenEvents
|
|
86
|
+
};
|
|
87
|
+
Object.defineProperties(screenfull, {
|
|
88
|
+
isFullscreen: {
|
|
89
|
+
get: function get() {
|
|
90
|
+
return !!document[fullscreenEvents && fullscreenEvents.fullscreenElement];
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
element: {
|
|
94
|
+
enumerable: true,
|
|
95
|
+
get: function get() {
|
|
96
|
+
return document[fullscreenEvents && fullscreenEvents.fullscreenElement];
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
isEnabled: {
|
|
100
|
+
enumerable: true,
|
|
101
|
+
get: function get() {
|
|
102
|
+
return !!document[fullscreenEvents && fullscreenEvents.fullscreenEnabled];
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
export default screenfull;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { on, off } from '@opentiny/vue-renderless/common/deps/dom';
|
|
2
|
+
var checkValue = function checkValue(event) {
|
|
3
|
+
if (event.charCode >= 48 && event.charCode <= 57) {
|
|
4
|
+
event.preventDefault();
|
|
5
|
+
}
|
|
6
|
+
return true;
|
|
7
|
+
};
|
|
8
|
+
export default {
|
|
9
|
+
bind: function bind(element) {
|
|
10
|
+
on(element, 'keypress', checkValue);
|
|
11
|
+
},
|
|
12
|
+
unbind: function unbind(element) {
|
|
13
|
+
off(element, 'keypress', checkValue);
|
|
14
|
+
}
|
|
15
|
+
};
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import _typeof from "@babel/runtime/helpers/typeof";
|
|
2
|
+
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
3
|
+
import _createClass from "@babel/runtime/helpers/createClass";
|
|
4
|
+
var Memorize = function () {
|
|
5
|
+
function Memorize(value) {
|
|
6
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
7
|
+
_classCallCheck(this, Memorize);
|
|
8
|
+
if (value && _typeof(value) === 'object') {
|
|
9
|
+
options = value;
|
|
10
|
+
} else {
|
|
11
|
+
value = [];
|
|
12
|
+
}
|
|
13
|
+
if (typeof options.key !== 'string' || !options.key) {
|
|
14
|
+
throw Error('Memorize Initialization error.');
|
|
15
|
+
}
|
|
16
|
+
this._prefix = 'tiny_memorize_';
|
|
17
|
+
this._customField1 = 'frequency';
|
|
18
|
+
this._customField2 = 'time';
|
|
19
|
+
this._sortBy = (options.sortBy || 'frequency').toUpperCase();
|
|
20
|
+
this._sort = (options.sort || 'desc').toUpperCase();
|
|
21
|
+
this._dataKey = options.dataKey || 'value';
|
|
22
|
+
this._highlightClass = options.highlightClass || 'memorize-highlight';
|
|
23
|
+
this._highlightNum = options.highlightNum || Infinity;
|
|
24
|
+
this._cacheNum = options.cacheNum || Infinity;
|
|
25
|
+
this._serialize = options.serialize || JSON.stringify;
|
|
26
|
+
this._deserialize = options.deserialize || JSON.parse;
|
|
27
|
+
this.setKey(options.key);
|
|
28
|
+
this.assemble(value);
|
|
29
|
+
}
|
|
30
|
+
_createClass(Memorize, [{
|
|
31
|
+
key: "setKey",
|
|
32
|
+
value: function setKey(storeKey) {
|
|
33
|
+
this._storeKey = this._prefix + (storeKey || +new Date());
|
|
34
|
+
}
|
|
35
|
+
}, {
|
|
36
|
+
key: "getValue",
|
|
37
|
+
value: function getValue() {
|
|
38
|
+
var isSort = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
39
|
+
var storeVlue = window.localStorage[this._storeKey] || '';
|
|
40
|
+
if (storeVlue) {
|
|
41
|
+
try {
|
|
42
|
+
var list = this._deserialize(storeVlue);
|
|
43
|
+
return isSort ? this.sort(list) : list;
|
|
44
|
+
} catch (e) {
|
|
45
|
+
return [];
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return [];
|
|
49
|
+
}
|
|
50
|
+
}, {
|
|
51
|
+
key: "setValue",
|
|
52
|
+
value: function setValue(value) {
|
|
53
|
+
try {
|
|
54
|
+
window.localStorage.setItem(this._storeKey, this._serialize(value));
|
|
55
|
+
} catch (e) {
|
|
56
|
+
throw Error('Memorize set localStorage error.');
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}, {
|
|
60
|
+
key: "clear",
|
|
61
|
+
value: function clear() {
|
|
62
|
+
window.localStorage.removeItem(this._storeKey);
|
|
63
|
+
}
|
|
64
|
+
}, {
|
|
65
|
+
key: "add",
|
|
66
|
+
value: function add(dataKey) {
|
|
67
|
+
var list = this.getValue(false);
|
|
68
|
+
var newData = {
|
|
69
|
+
key: dataKey
|
|
70
|
+
};
|
|
71
|
+
newData[this._customField1] = 1;
|
|
72
|
+
newData[this._customField2] = +new Date();
|
|
73
|
+
if (list.length < this._cacheNum) {
|
|
74
|
+
list.push(newData);
|
|
75
|
+
this.setValue(list);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}, {
|
|
79
|
+
key: "updateByKey",
|
|
80
|
+
value: function updateByKey(dataKey) {
|
|
81
|
+
var _this = this;
|
|
82
|
+
var isChanged = false;
|
|
83
|
+
var list = this.getValue(false);
|
|
84
|
+
list.some(function (item) {
|
|
85
|
+
if (item.key === dataKey) {
|
|
86
|
+
item[_this._customField1] = (item[_this._customField1] || 0) + 1;
|
|
87
|
+
item[_this._customField2] = +new Date();
|
|
88
|
+
isChanged = true;
|
|
89
|
+
return true;
|
|
90
|
+
}
|
|
91
|
+
return false;
|
|
92
|
+
});
|
|
93
|
+
isChanged ? this.setValue(list) : this.add(dataKey);
|
|
94
|
+
}
|
|
95
|
+
}, {
|
|
96
|
+
key: "sort",
|
|
97
|
+
value: function sort(list) {
|
|
98
|
+
var _this2 = this;
|
|
99
|
+
if (Array.isArray(list)) {
|
|
100
|
+
return list.sort(function (x, y) {
|
|
101
|
+
var isDesc = _this2._sort === 'DESC';
|
|
102
|
+
var compare = isDesc ? [-1, 1] : [1, -1];
|
|
103
|
+
var sortField = _this2._sortBy === 'FREQUENCY' ? _this2._customField1 : _this2._customField2;
|
|
104
|
+
var xField = x[sortField];
|
|
105
|
+
var yField = y[sortField];
|
|
106
|
+
if (isNaN(xField)) {
|
|
107
|
+
return isDesc ? -1 : 1;
|
|
108
|
+
} else if (isNaN(yField)) {
|
|
109
|
+
return -1;
|
|
110
|
+
}
|
|
111
|
+
return xField > yField ? compare[0] : compare[1];
|
|
112
|
+
});
|
|
113
|
+
} else {
|
|
114
|
+
return list;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}, {
|
|
118
|
+
key: "assemble",
|
|
119
|
+
value: function assemble(list) {
|
|
120
|
+
var _this3 = this;
|
|
121
|
+
var storeValue = this.getValue(true);
|
|
122
|
+
if (!(Array.isArray(list) && list.length) || !storeValue.length) {
|
|
123
|
+
return list;
|
|
124
|
+
}
|
|
125
|
+
var matchCount = 0;
|
|
126
|
+
var handler = function handler(storeItem) {
|
|
127
|
+
return function (listItem, index) {
|
|
128
|
+
if (listItem[_this3._dataKey] === storeItem.key) {
|
|
129
|
+
matchCount++;
|
|
130
|
+
list.splice(index, 1);
|
|
131
|
+
if (matchCount <= _this3._highlightNum) {
|
|
132
|
+
listItem._highlightClass = _this3._highlightClass;
|
|
133
|
+
}
|
|
134
|
+
list.unshift(listItem);
|
|
135
|
+
return true;
|
|
136
|
+
}
|
|
137
|
+
return false;
|
|
138
|
+
};
|
|
139
|
+
};
|
|
140
|
+
for (var i = storeValue.length - 1; i > -1; i--) {
|
|
141
|
+
var storeItem = storeValue[i];
|
|
142
|
+
list.some(handler(storeItem));
|
|
143
|
+
}
|
|
144
|
+
return list;
|
|
145
|
+
}
|
|
146
|
+
}]);
|
|
147
|
+
return Memorize;
|
|
148
|
+
}();
|
|
149
|
+
export default Memorize;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { on, off } from '@opentiny/vue-renderless/common/deps/dom';
|
|
2
|
+
var checkValue = function checkValue(event) {
|
|
3
|
+
event.target.value = event.target.value.replace(/[^0-9]/g, '');
|
|
4
|
+
if (event.charCode >= 48 && event.charCode <= 57) {
|
|
5
|
+
return true;
|
|
6
|
+
}
|
|
7
|
+
event.preventDefault();
|
|
8
|
+
};
|
|
9
|
+
export default {
|
|
10
|
+
bind: function bind(element) {
|
|
11
|
+
on(element, 'keypress', checkValue);
|
|
12
|
+
},
|
|
13
|
+
unbind: function unbind(element) {
|
|
14
|
+
off(element, 'keypress', checkValue);
|
|
15
|
+
}
|
|
16
|
+
};
|