@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
package/crop/index.js
ADDED
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
import _typeof from "@babel/runtime/helpers/typeof";
|
|
2
|
+
import { on, off } from '@opentiny/vue-renderless/common/deps/dom';
|
|
3
|
+
import { toFileSize } from '@opentiny/vue-renderless/common/string';
|
|
4
|
+
export var computedCropImages = function computedCropImages(_ref) {
|
|
5
|
+
var constants = _ref.constants,
|
|
6
|
+
t = _ref.t;
|
|
7
|
+
return function () {
|
|
8
|
+
return t(constants.CROP_IMAGE);
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
export var watchImageSrc = function watchImageSrc(state) {
|
|
12
|
+
return function (value) {
|
|
13
|
+
return state.src = value;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
export var watchAlt = function watchAlt(state) {
|
|
17
|
+
return function (value) {
|
|
18
|
+
return state.alt = value || 'image';
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
export var watchVisible = function watchVisible(_ref2) {
|
|
22
|
+
var api = _ref2.api,
|
|
23
|
+
state = _ref2.state;
|
|
24
|
+
return function (value) {
|
|
25
|
+
if (value) {
|
|
26
|
+
on(document.body, 'keydown', api.shortcutKeys);
|
|
27
|
+
} else {
|
|
28
|
+
off(document.body, 'keydown', api.shortcutKeys);
|
|
29
|
+
}
|
|
30
|
+
state.cropvisible = value;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
export var shortcutKeys = function shortcutKeys(api) {
|
|
34
|
+
return function (e) {
|
|
35
|
+
if (e.keyCode == 187 && e.ctrlKey) {
|
|
36
|
+
e.preventDefault();
|
|
37
|
+
api.zoom(0.1);
|
|
38
|
+
}
|
|
39
|
+
if (e.keyCode == 189 && e.ctrlKey) {
|
|
40
|
+
e.preventDefault();
|
|
41
|
+
api.zoom(-0.1);
|
|
42
|
+
}
|
|
43
|
+
if (e.keyCode == 38 && e.ctrlKey) {
|
|
44
|
+
e.preventDefault();
|
|
45
|
+
api.move(0, 1);
|
|
46
|
+
}
|
|
47
|
+
if (e.keyCode == 40 && e.ctrlKey) {
|
|
48
|
+
e.preventDefault();
|
|
49
|
+
api.move(0, -1);
|
|
50
|
+
}
|
|
51
|
+
if (e.keyCode == 37 && e.ctrlKey) {
|
|
52
|
+
e.preventDefault();
|
|
53
|
+
api.move(1, 0);
|
|
54
|
+
}
|
|
55
|
+
if (e.keyCode == 39 && e.ctrlKey) {
|
|
56
|
+
e.preventDefault();
|
|
57
|
+
api.move(-1, 0);
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
export var closeCrop = function closeCrop(_ref3) {
|
|
62
|
+
var emit = _ref3.emit,
|
|
63
|
+
state = _ref3.state;
|
|
64
|
+
return function () {
|
|
65
|
+
emit('update:cropvisible', false);
|
|
66
|
+
emit('update:visible', false);
|
|
67
|
+
state.cropImg = '';
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
export var createCrop = function createCrop(_ref4) {
|
|
71
|
+
var emit = _ref4.emit,
|
|
72
|
+
props = _ref4.props,
|
|
73
|
+
refs = _ref4.refs,
|
|
74
|
+
state = _ref4.state;
|
|
75
|
+
return function () {
|
|
76
|
+
var Cropper = props.plugin;
|
|
77
|
+
var cropImage = refs.cropImage;
|
|
78
|
+
state.cropper = new Cropper(cropImage, {
|
|
79
|
+
modal: props.modal,
|
|
80
|
+
guides: props.guides,
|
|
81
|
+
center: props.center,
|
|
82
|
+
movable: props.movable,
|
|
83
|
+
restore: props.restore,
|
|
84
|
+
viewMode: props.viewMode,
|
|
85
|
+
zoomable: props.zoomable,
|
|
86
|
+
autoCrop: props.autoCrop,
|
|
87
|
+
dragMode: props.dragMode,
|
|
88
|
+
rotatable: props.rotatable,
|
|
89
|
+
responsive: props.responsive,
|
|
90
|
+
background: props.background,
|
|
91
|
+
aspectRatio: props.aspectRatio,
|
|
92
|
+
zoomOnWheel: props.zoomOnWheel,
|
|
93
|
+
autoCropArea: props.autoCropArea,
|
|
94
|
+
wheelZoomRatio: props.wheelZoomRatio,
|
|
95
|
+
minCropBoxWidth: props.minCropBoxWidth,
|
|
96
|
+
minCropBoxHeight: props.minCropBoxHeight,
|
|
97
|
+
minContainerWidth: props.minContainerWidth,
|
|
98
|
+
minContainerHeight: props.minContainerHeight,
|
|
99
|
+
preview: document.querySelectorAll('.croppreview'),
|
|
100
|
+
ready: function ready() {
|
|
101
|
+
emit('ready');
|
|
102
|
+
},
|
|
103
|
+
cropstart: function cropstart(e) {
|
|
104
|
+
emit('cropstart', e);
|
|
105
|
+
},
|
|
106
|
+
cropmove: function cropmove(e) {
|
|
107
|
+
emit('cropmove', e);
|
|
108
|
+
},
|
|
109
|
+
cropend: function cropend(e) {
|
|
110
|
+
emit('cropend', e);
|
|
111
|
+
},
|
|
112
|
+
crop: function crop(e) {
|
|
113
|
+
emit('crop', e);
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
};
|
|
117
|
+
};
|
|
118
|
+
export var closeCropArea = function closeCropArea(api) {
|
|
119
|
+
return function () {
|
|
120
|
+
return api.clear();
|
|
121
|
+
};
|
|
122
|
+
};
|
|
123
|
+
export var clear = function clear(state) {
|
|
124
|
+
return function () {
|
|
125
|
+
return state.cropper.clear();
|
|
126
|
+
};
|
|
127
|
+
};
|
|
128
|
+
export var cropImage = function cropImage(_ref5) {
|
|
129
|
+
var api = _ref5.api,
|
|
130
|
+
emit = _ref5.emit,
|
|
131
|
+
props = _ref5.props,
|
|
132
|
+
state = _ref5.state;
|
|
133
|
+
return function () {
|
|
134
|
+
state.cropImg = api.getCroppedCanvas().toDataURL('image/jpeg', props.quality);
|
|
135
|
+
if (props.cropType.toLowerCase() === 'base64') {
|
|
136
|
+
emit('cropdata', api.getCroppedCanvas().toDataURL('image/jpeg', props.quality));
|
|
137
|
+
} else if (props.cropType.toLowerCase() === 'blob') {
|
|
138
|
+
var canvas = api.getCroppedCanvas();
|
|
139
|
+
canvas.toBlob(function (blobObj) {
|
|
140
|
+
emit('cropdata', blobObj);
|
|
141
|
+
}, 'image/jpeg', props.quality);
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
};
|
|
145
|
+
export var getCroppedCanvas = function getCroppedCanvas(state) {
|
|
146
|
+
return function () {
|
|
147
|
+
return state.cropper.getCroppedCanvas();
|
|
148
|
+
};
|
|
149
|
+
};
|
|
150
|
+
export var getCropBoxData = function getCropBoxData(state) {
|
|
151
|
+
return function () {
|
|
152
|
+
return state.cropper.getCropBoxData();
|
|
153
|
+
};
|
|
154
|
+
};
|
|
155
|
+
export var getData = function getData(state) {
|
|
156
|
+
return function (rounded) {
|
|
157
|
+
return state.cropper.getData(!!rounded);
|
|
158
|
+
};
|
|
159
|
+
};
|
|
160
|
+
export var move = function move(state) {
|
|
161
|
+
return function (offsetX, offsetY) {
|
|
162
|
+
return state.cropper.move(offsetX, offsetY);
|
|
163
|
+
};
|
|
164
|
+
};
|
|
165
|
+
export var reset = function reset(state) {
|
|
166
|
+
return function () {
|
|
167
|
+
return state.cropper.reset();
|
|
168
|
+
};
|
|
169
|
+
};
|
|
170
|
+
export var setCropBoxData = function setCropBoxData(state) {
|
|
171
|
+
return function (_ref6) {
|
|
172
|
+
var left = _ref6.left,
|
|
173
|
+
top = _ref6.top,
|
|
174
|
+
width = _ref6.width,
|
|
175
|
+
height = _ref6.height;
|
|
176
|
+
return state.cropper.setCropBoxData({
|
|
177
|
+
left: left,
|
|
178
|
+
top: top,
|
|
179
|
+
width: width,
|
|
180
|
+
height: height
|
|
181
|
+
});
|
|
182
|
+
};
|
|
183
|
+
};
|
|
184
|
+
export var setData = function setData(state) {
|
|
185
|
+
return function (data) {
|
|
186
|
+
return data !== null && _typeof(data) === 'object' && state.cropper.setData(data);
|
|
187
|
+
};
|
|
188
|
+
};
|
|
189
|
+
export var disable = function disable(state) {
|
|
190
|
+
return function () {
|
|
191
|
+
return state.cropper.disable();
|
|
192
|
+
};
|
|
193
|
+
};
|
|
194
|
+
export var enable = function enable(state) {
|
|
195
|
+
return function () {
|
|
196
|
+
return state.cropper.enable();
|
|
197
|
+
};
|
|
198
|
+
};
|
|
199
|
+
export var destroy = function destroy(state) {
|
|
200
|
+
return function () {
|
|
201
|
+
return state.cropper.destroy();
|
|
202
|
+
};
|
|
203
|
+
};
|
|
204
|
+
export var scale = function scale(state) {
|
|
205
|
+
return function (scaleX, scaleY) {
|
|
206
|
+
return state.cropper.scale(scaleX, scaleY);
|
|
207
|
+
};
|
|
208
|
+
};
|
|
209
|
+
export var scaleX = function scaleX(state) {
|
|
210
|
+
return function (x) {
|
|
211
|
+
return state.cropper.scaleX(x);
|
|
212
|
+
};
|
|
213
|
+
};
|
|
214
|
+
export var scaleY = function scaleY(state) {
|
|
215
|
+
return function (x) {
|
|
216
|
+
return state.cropper.scaleY(x);
|
|
217
|
+
};
|
|
218
|
+
};
|
|
219
|
+
export var getContainerData = function getContainerData(state) {
|
|
220
|
+
return function () {
|
|
221
|
+
return state.cropper.getContainerData();
|
|
222
|
+
};
|
|
223
|
+
};
|
|
224
|
+
export var getImageData = function getImageData(state) {
|
|
225
|
+
return function () {
|
|
226
|
+
return state.cropper.getImageData();
|
|
227
|
+
};
|
|
228
|
+
};
|
|
229
|
+
export var getCanvasData = function getCanvasData(state) {
|
|
230
|
+
return function () {
|
|
231
|
+
return state.cropper.getCanvasData();
|
|
232
|
+
};
|
|
233
|
+
};
|
|
234
|
+
export var setAspectRatio = function setAspectRatio(state) {
|
|
235
|
+
return function (s) {
|
|
236
|
+
return state.cropper.setAspectRatio(s);
|
|
237
|
+
};
|
|
238
|
+
};
|
|
239
|
+
export var setDragMode = function setDragMode(state) {
|
|
240
|
+
return function (s) {
|
|
241
|
+
return state.cropper.setDragMode(s);
|
|
242
|
+
};
|
|
243
|
+
};
|
|
244
|
+
export var setCanvasData = function setCanvasData(state) {
|
|
245
|
+
return function (_ref7) {
|
|
246
|
+
var width = _ref7.width,
|
|
247
|
+
height = _ref7.height,
|
|
248
|
+
left = _ref7.left,
|
|
249
|
+
top = _ref7.top;
|
|
250
|
+
return state.cropper.setCanvasData({
|
|
251
|
+
width: width,
|
|
252
|
+
height: height,
|
|
253
|
+
left: left,
|
|
254
|
+
top: top
|
|
255
|
+
});
|
|
256
|
+
};
|
|
257
|
+
};
|
|
258
|
+
export var rotate = function rotate(state) {
|
|
259
|
+
return function (deg) {
|
|
260
|
+
return state.cropper.rotate(deg);
|
|
261
|
+
};
|
|
262
|
+
};
|
|
263
|
+
export var setImage = function setImage(_ref8) {
|
|
264
|
+
var api = _ref8.api,
|
|
265
|
+
state = _ref8.state,
|
|
266
|
+
props = _ref8.props;
|
|
267
|
+
return function (e) {
|
|
268
|
+
var file = e.target.files[0];
|
|
269
|
+
var unit = props.maxSize.match(/[a-zA-Z]+/gi);
|
|
270
|
+
unit = unit && (unit[0].length > 1 ? unit[0] : unit[0] + 'B');
|
|
271
|
+
var size = toFileSize(Number(props.maxSize.match(/[0-9]+/gi)[0]), 'B', unit || 'B');
|
|
272
|
+
if (file === undefined || file.type.indexOf('image/') === -1 || Number(file.size) > Number(size.split('B')[0])) {
|
|
273
|
+
return;
|
|
274
|
+
}
|
|
275
|
+
var reader = new FileReader();
|
|
276
|
+
reader.onload = function (event) {
|
|
277
|
+
state.src = event.target.result;
|
|
278
|
+
api.replace(event.target.result);
|
|
279
|
+
};
|
|
280
|
+
reader.readAsDataURL(file);
|
|
281
|
+
};
|
|
282
|
+
};
|
|
283
|
+
export var replace = function replace(state) {
|
|
284
|
+
return function (url) {
|
|
285
|
+
return state.cropper.replace(url);
|
|
286
|
+
};
|
|
287
|
+
};
|
|
288
|
+
export var showFileChooser = function showFileChooser(refs) {
|
|
289
|
+
return function () {
|
|
290
|
+
return refs.cropInput.click();
|
|
291
|
+
};
|
|
292
|
+
};
|
|
293
|
+
export var zoom = function zoom(state) {
|
|
294
|
+
return function (percent) {
|
|
295
|
+
return state.cropper.zoom(percent);
|
|
296
|
+
};
|
|
297
|
+
};
|
package/crop/vue.js
ADDED
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import { watchImageSrc, shortcutKeys, watchVisible, clear, replace, computedCropImages, watchAlt, getCroppedCanvas, setCanvasData, setDragMode, setAspectRatio, getImageData, getCanvasData, scale, scaleY, getContainerData, scaleX, destroy, disable, enable, closeCropArea, closeCrop, createCrop, setImage, cropImage, getCropBoxData, getData, move, reset, rotate, setCropBoxData, setData, showFileChooser, zoom } from './index';
|
|
2
|
+
export var api = ['state', 'clear', 'replace', 'getCroppedCanvas', 'setCanvasData', 'setDragMode', 'setAspectRatio', 'getCanvasData', 'getImageData', 'getContainerData', 'scaleY', 'scale', 'scaleX', 'destroy', 'enable', 'closeCropArea', 'disable', 'closeCrop', 'getCropBoxData', 'getData', 'move', 'reset', 'rotate', 'setCropBoxData', 'setData', 'showFileChooser', 'setImage', 'cropImage', 'zoom'];
|
|
3
|
+
var initRenderIcon = function initRenderIcon(api) {
|
|
4
|
+
var renderIcon = [{
|
|
5
|
+
method: function method() {
|
|
6
|
+
return api.showFileChooser();
|
|
7
|
+
},
|
|
8
|
+
icon: 'IconNew'
|
|
9
|
+
}, {
|
|
10
|
+
method: function method() {
|
|
11
|
+
return api.zoom(0.1);
|
|
12
|
+
},
|
|
13
|
+
icon: 'IconZoomIn'
|
|
14
|
+
}, {
|
|
15
|
+
method: function method() {
|
|
16
|
+
return api.zoom(-0.1);
|
|
17
|
+
},
|
|
18
|
+
icon: 'IconZoomOut'
|
|
19
|
+
}, {
|
|
20
|
+
method: function method() {
|
|
21
|
+
return api.rotate(-45);
|
|
22
|
+
},
|
|
23
|
+
icon: 'IconRepeat'
|
|
24
|
+
}, {
|
|
25
|
+
method: function method() {
|
|
26
|
+
return api.rotate(45);
|
|
27
|
+
},
|
|
28
|
+
icon: 'IconRefres'
|
|
29
|
+
}, {
|
|
30
|
+
method: function method() {
|
|
31
|
+
return api.closeCropArea();
|
|
32
|
+
},
|
|
33
|
+
icon: 'IconCrop'
|
|
34
|
+
}, {
|
|
35
|
+
method: function method() {
|
|
36
|
+
return api.reset();
|
|
37
|
+
},
|
|
38
|
+
icon: 'IconConmentRefresh'
|
|
39
|
+
}, {
|
|
40
|
+
method: function method() {
|
|
41
|
+
return api.cropImage();
|
|
42
|
+
},
|
|
43
|
+
icon: 'IconYes'
|
|
44
|
+
}, {
|
|
45
|
+
method: function method() {
|
|
46
|
+
return api.closeCrop();
|
|
47
|
+
},
|
|
48
|
+
icon: 'IconClose'
|
|
49
|
+
}];
|
|
50
|
+
return renderIcon;
|
|
51
|
+
};
|
|
52
|
+
var initState = function initState(_ref) {
|
|
53
|
+
var reactive = _ref.reactive,
|
|
54
|
+
props = _ref.props,
|
|
55
|
+
computed = _ref.computed,
|
|
56
|
+
api = _ref.api;
|
|
57
|
+
var state = reactive({
|
|
58
|
+
src: props.src,
|
|
59
|
+
cropImg: '',
|
|
60
|
+
cropper: '',
|
|
61
|
+
alt: props.alt,
|
|
62
|
+
data: null,
|
|
63
|
+
cropvisible: props.cropvisible,
|
|
64
|
+
renderIcon: initRenderIcon(api),
|
|
65
|
+
previewShow: props.previewShow,
|
|
66
|
+
cropImages: computed(function () {
|
|
67
|
+
return api.computedCropImages();
|
|
68
|
+
})
|
|
69
|
+
});
|
|
70
|
+
return state;
|
|
71
|
+
};
|
|
72
|
+
var initApi = function initApi(_ref2) {
|
|
73
|
+
var api = _ref2.api,
|
|
74
|
+
state = _ref2.state,
|
|
75
|
+
emit = _ref2.emit,
|
|
76
|
+
refs = _ref2.refs,
|
|
77
|
+
props = _ref2.props,
|
|
78
|
+
constants = _ref2.constants,
|
|
79
|
+
t = _ref2.t;
|
|
80
|
+
Object.assign(api, {
|
|
81
|
+
state: state,
|
|
82
|
+
zoom: zoom(state),
|
|
83
|
+
move: move(state),
|
|
84
|
+
clear: clear(state),
|
|
85
|
+
reset: reset(state),
|
|
86
|
+
scale: scale(state),
|
|
87
|
+
rotate: rotate(state),
|
|
88
|
+
enable: enable(state),
|
|
89
|
+
scaleX: scaleX(state),
|
|
90
|
+
scaleY: scaleY(state),
|
|
91
|
+
replace: replace(state),
|
|
92
|
+
setData: setData(state),
|
|
93
|
+
getData: getData(state),
|
|
94
|
+
disable: disable(state),
|
|
95
|
+
destroy: destroy(state),
|
|
96
|
+
watchAlt: watchAlt(state),
|
|
97
|
+
setDragMode: setDragMode(state),
|
|
98
|
+
getImageData: getImageData(state),
|
|
99
|
+
watchImageSrc: watchImageSrc(state),
|
|
100
|
+
setCanvasData: setCanvasData(state),
|
|
101
|
+
getCanvasData: getCanvasData(state),
|
|
102
|
+
closeCrop: closeCrop({
|
|
103
|
+
emit: emit,
|
|
104
|
+
state: state
|
|
105
|
+
}),
|
|
106
|
+
setCropBoxData: setCropBoxData(state),
|
|
107
|
+
setAspectRatio: setAspectRatio(state),
|
|
108
|
+
getCropBoxData: getCropBoxData(state),
|
|
109
|
+
showFileChooser: showFileChooser(refs),
|
|
110
|
+
getCroppedCanvas: getCroppedCanvas(state),
|
|
111
|
+
getContainerData: getContainerData(state),
|
|
112
|
+
createCrop: createCrop({
|
|
113
|
+
emit: emit,
|
|
114
|
+
props: props,
|
|
115
|
+
refs: refs,
|
|
116
|
+
state: state
|
|
117
|
+
}),
|
|
118
|
+
computedCropImages: computedCropImages({
|
|
119
|
+
constants: constants,
|
|
120
|
+
t: t
|
|
121
|
+
}),
|
|
122
|
+
shortcutKeys: shortcutKeys(api),
|
|
123
|
+
closeCropArea: closeCropArea(api),
|
|
124
|
+
setImage: setImage({
|
|
125
|
+
api: api,
|
|
126
|
+
state: state,
|
|
127
|
+
props: props
|
|
128
|
+
}),
|
|
129
|
+
cropImage: cropImage({
|
|
130
|
+
api: api,
|
|
131
|
+
emit: emit,
|
|
132
|
+
props: props,
|
|
133
|
+
state: state
|
|
134
|
+
}),
|
|
135
|
+
watchVisible: watchVisible({
|
|
136
|
+
api: api,
|
|
137
|
+
state: state
|
|
138
|
+
})
|
|
139
|
+
});
|
|
140
|
+
};
|
|
141
|
+
var initWatch = function initWatch(_ref3) {
|
|
142
|
+
var watch = _ref3.watch,
|
|
143
|
+
props = _ref3.props,
|
|
144
|
+
api = _ref3.api;
|
|
145
|
+
watch(function () {
|
|
146
|
+
return props.cropvisible;
|
|
147
|
+
}, api.watchVisible);
|
|
148
|
+
watch(function () {
|
|
149
|
+
return props.src;
|
|
150
|
+
}, api.watchImageSrc, {
|
|
151
|
+
immediate: true
|
|
152
|
+
});
|
|
153
|
+
watch(function () {
|
|
154
|
+
return props.alt;
|
|
155
|
+
}, api.watchAlt, {
|
|
156
|
+
immediate: true
|
|
157
|
+
});
|
|
158
|
+
};
|
|
159
|
+
export var renderless = function renderless(props, _ref4, _ref5) {
|
|
160
|
+
var computed = _ref4.computed,
|
|
161
|
+
onMounted = _ref4.onMounted,
|
|
162
|
+
reactive = _ref4.reactive,
|
|
163
|
+
watch = _ref4.watch;
|
|
164
|
+
var t = _ref5.t,
|
|
165
|
+
emit = _ref5.emit,
|
|
166
|
+
refs = _ref5.refs,
|
|
167
|
+
constants = _ref5.constants;
|
|
168
|
+
var api = {};
|
|
169
|
+
var state = initState({
|
|
170
|
+
reactive: reactive,
|
|
171
|
+
props: props,
|
|
172
|
+
computed: computed,
|
|
173
|
+
api: api
|
|
174
|
+
});
|
|
175
|
+
initApi({
|
|
176
|
+
api: api,
|
|
177
|
+
state: state,
|
|
178
|
+
emit: emit,
|
|
179
|
+
refs: refs,
|
|
180
|
+
props: props,
|
|
181
|
+
constants: constants,
|
|
182
|
+
t: t
|
|
183
|
+
});
|
|
184
|
+
onMounted(api.createCrop);
|
|
185
|
+
initWatch({
|
|
186
|
+
watch: watch,
|
|
187
|
+
props: props,
|
|
188
|
+
api: api
|
|
189
|
+
});
|
|
190
|
+
return api;
|
|
191
|
+
};
|