@smallwei/avue 3.8.2 → 3.8.4
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/README.md +206 -86
- package/dist/avue.js +37302 -0
- package/dist/avue.js.map +1 -0
- package/dist/avue.min.js +6 -0
- package/dist/avue.min.mjs +2 -0
- package/dist/avue.mjs +2 -0
- package/dist/index.css +1 -0
- package/es/avue.min.mjs +2 -0
- package/es/avue.min.ts +2 -0
- package/es/avue.mjs +2 -0
- package/es/avue.ts +2 -0
- package/es/core/create.mjs +8 -0
- package/es/core/create.ts +16 -0
- package/es/core/dataformat.mjs +184 -0
- package/es/core/dataformat.ts +190 -0
- package/es/core/detail.mjs +74 -0
- package/es/core/detail.ts +81 -0
- package/es/core/dic.mjs +213 -0
- package/es/core/dic.ts +235 -0
- package/es/core/locale.mjs +8 -0
- package/es/core/locale.ts +9 -0
- package/es/core/packages.mjs +61 -0
- package/es/core/packages.ts +62 -0
- package/es/core/slot.mjs +32 -0
- package/es/core/slot.ts +30 -0
- package/es/global/variable.mjs +80 -0
- package/es/global/variable.ts +84 -0
- package/es/icon.mjs +9 -0
- package/es/icon.ts +11 -0
- package/es/index.mjs +127 -0
- package/es/index.ts +177 -0
- package/es/locale/browser/en.mjs +288 -0
- package/es/locale/browser/zh-cn.mjs +288 -0
- package/es/locale/browser/zh.mjs +288 -0
- package/es/locale/index.mjs +141 -0
- package/es/locale/index.ts +196 -0
- package/es/locale/lang/en.mjs +282 -0
- package/es/locale/lang/en.ts +282 -0
- package/es/locale/lang/zh-cn.mjs +282 -0
- package/es/locale/lang/zh-cn.ts +282 -0
- package/es/locale/lang/zh.mjs +282 -0
- package/es/locale/lang/zh.ts +282 -0
- package/es/packages/core/common/event.mjs +58 -0
- package/es/packages/core/common/event.ts +56 -0
- package/es/packages/core/common/init.mjs +134 -0
- package/es/packages/core/common/init.ts +133 -0
- package/es/packages/core/common/props.mjs +239 -0
- package/es/packages/core/common/props.ts +240 -0
- package/es/packages/core/components/dialog-form/index.mjs +29 -0
- package/es/packages/core/components/dialog-form/index.ts +29 -0
- package/es/packages/core/components/dialog-form/index.vue +108 -0
- package/es/packages/core/components/form/custom.mjs +41 -0
- package/es/packages/core/components/form/custom.ts +41 -0
- package/es/packages/core/components/form/index.vue +176 -0
- package/es/packages/core/components/icon/index.vue +37 -0
- package/es/packages/core/components/image-preview/index.mjs +34 -0
- package/es/packages/core/components/image-preview/index.ts +37 -0
- package/es/packages/core/components/image-preview/index.vue +215 -0
- package/es/packages/core/directive/contextmenu.mjs +92 -0
- package/es/packages/core/directive/contextmenu.ts +103 -0
- package/es/packages/core/directive/permission.mjs +19 -0
- package/es/packages/core/directive/permission.ts +18 -0
- package/es/packages/data/box/index.vue +66 -0
- package/es/packages/data/card/index.vue +62 -0
- package/es/packages/data/cardText/index.vue +56 -0
- package/es/packages/data/countdown/index.vue +81 -0
- package/es/packages/data/dashboard/index.vue +72 -0
- package/es/packages/data/display/index.vue +63 -0
- package/es/packages/data/icons/index.vue +68 -0
- package/es/packages/data/imgText/index.vue +72 -0
- package/es/packages/data/list/index.vue +69 -0
- package/es/packages/data/notice/index.vue +63 -0
- package/es/packages/data/operaText/index.vue +62 -0
- package/es/packages/data/panel/index.vue +62 -0
- package/es/packages/data/pay/index.vue +92 -0
- package/es/packages/data/price/index.vue +55 -0
- package/es/packages/data/product/index.vue +106 -0
- package/es/packages/data/profile/index.vue +91 -0
- package/es/packages/data/progress/index.vue +64 -0
- package/es/packages/data/rank/index.vue +92 -0
- package/es/packages/data/rotate/index.vue +69 -0
- package/es/packages/data/statistic/index.vue +71 -0
- package/es/packages/data/tabs/index.vue +64 -0
- package/es/packages/data/task/index.vue +82 -0
- package/es/packages/data/weather/index.vue +103 -0
- package/es/packages/element-plus/array/index.vue +115 -0
- package/es/packages/element-plus/article/index.vue +73 -0
- package/es/packages/element-plus/card/index.vue +103 -0
- package/es/packages/element-plus/cascader/index.vue +132 -0
- package/es/packages/element-plus/chat/index.vue +513 -0
- package/es/packages/element-plus/checkbox/index.vue +84 -0
- package/es/packages/element-plus/comment/index.vue +76 -0
- package/es/packages/element-plus/count-up/index.vue +109 -0
- package/es/packages/element-plus/crud/column/column-default.vue +128 -0
- package/es/packages/element-plus/crud/column/column-dynamic.vue +86 -0
- package/es/packages/element-plus/crud/column/column-menu.vue +267 -0
- package/es/packages/element-plus/crud/column/column-slot.vue +348 -0
- package/es/packages/element-plus/crud/column/column.vue +119 -0
- package/es/packages/element-plus/crud/column/menu.vue +78 -0
- package/es/packages/element-plus/crud/config.mjs +74 -0
- package/es/packages/element-plus/crud/config.ts +74 -0
- package/es/packages/element-plus/crud/dialog/dialog-column.vue +102 -0
- package/es/packages/element-plus/crud/dialog/dialog-excel.vue +204 -0
- package/es/packages/element-plus/crud/dialog/dialog-filter.vue +159 -0
- package/es/packages/element-plus/crud/dialog/dialog-form.vue +352 -0
- package/es/packages/element-plus/crud/grid/index.vue +271 -0
- package/es/packages/element-plus/crud/grid/item.vue +39 -0
- package/es/packages/element-plus/crud/index.vue +1018 -0
- package/es/packages/element-plus/crud/menu/header-menu.vue +175 -0
- package/es/packages/element-plus/crud/menu/header-search.vue +228 -0
- package/es/packages/element-plus/crud/menu/table-page.vue +108 -0
- package/es/packages/element-plus/date/index.vue +81 -0
- package/es/packages/element-plus/draggable/index.vue +444 -0
- package/es/packages/element-plus/dynamic/index.vue +353 -0
- package/es/packages/element-plus/flow/index.vue +339 -0
- package/es/packages/element-plus/flow/node.vue +84 -0
- package/es/packages/element-plus/form/config.mjs +6 -0
- package/es/packages/element-plus/form/config.ts +6 -0
- package/es/packages/element-plus/form/index.vue +954 -0
- package/es/packages/element-plus/form/menu.vue +63 -0
- package/es/packages/element-plus/group/index.vue +90 -0
- package/es/packages/element-plus/input/index.vue +1264 -0
- package/es/packages/element-plus/input-color/index.vue +70 -0
- package/es/packages/element-plus/input-cron/index.vue +363 -0
- package/es/packages/element-plus/input-icon/index.vue +143 -0
- package/es/packages/element-plus/input-map/index.vue +311 -0
- package/es/packages/element-plus/input-number/index.vue +91 -0
- package/es/packages/element-plus/input-table/index.vue +279 -0
- package/es/packages/element-plus/input-tag/index.vue +79 -0
- package/es/packages/element-plus/input-tree/index.vue +194 -0
- package/es/packages/element-plus/license/index.vue +155 -0
- package/es/packages/element-plus/login/index.vue +203 -0
- package/es/packages/element-plus/mention/index.vue +117 -0
- package/es/packages/element-plus/radio/index.vue +38 -0
- package/es/packages/element-plus/rate/index.vue +51 -0
- package/es/packages/element-plus/search/index.vue +129 -0
- package/es/packages/element-plus/select/index.vue +292 -0
- package/es/packages/element-plus/sign/index.vue +230 -0
- package/es/packages/element-plus/slider/index.vue +66 -0
- package/es/packages/element-plus/switch/index.vue +72 -0
- package/es/packages/element-plus/tabs/index.vue +62 -0
- package/es/packages/element-plus/text-ellipsis/index.vue +104 -0
- package/es/packages/element-plus/time/index.vue +81 -0
- package/es/packages/element-plus/title/index.vue +30 -0
- package/es/packages/element-plus/tree/index.vue +460 -0
- package/es/packages/element-plus/upload/index.vue +728 -0
- package/es/packages/element-plus/verify/index.vue +62 -0
- package/es/packages/element-plus/video/index.vue +90 -0
- package/es/plugin/ali/index.mjs +4 -0
- package/es/plugin/ali/index.ts +6 -0
- package/es/plugin/clipboard/index.mjs +61 -0
- package/es/plugin/clipboard/index.ts +67 -0
- package/es/plugin/export/_blob.mjs +151 -0
- package/es/plugin/export/_blob.ts +176 -0
- package/es/plugin/export/_export2Excel.mjs +141 -0
- package/es/plugin/export/_export2Excel.ts +166 -0
- package/es/plugin/export/index.mjs +263 -0
- package/es/plugin/export/index.ts +274 -0
- package/es/plugin/logs/index.mjs +46 -0
- package/es/plugin/logs/index.ts +66 -0
- package/es/plugin/print/index.mjs +145 -0
- package/es/plugin/print/index.ts +155 -0
- package/es/plugin/qiniu/index.mjs +78 -0
- package/es/plugin/qiniu/index.ts +88 -0
- package/es/plugin/screenshot/index.mjs +8 -0
- package/es/plugin/screenshot/index.ts +9 -0
- package/es/plugin/video/index.mjs +52 -0
- package/es/plugin/video/index.ts +60 -0
- package/es/plugin/watermark/index.mjs +114 -0
- package/es/plugin/watermark/index.ts +127 -0
- package/es/plugin/watermark/watermark.mjs +109 -0
- package/es/plugin/watermark/watermark.ts +121 -0
- package/es/ui/data/index.mjs +49 -0
- package/es/ui/data/index.ts +51 -0
- package/es/ui/element-plus/index.mjs +87 -0
- package/es/ui/element-plus/index.ts +89 -0
- package/es/ui/index.mjs +4 -0
- package/es/ui/index.ts +6 -0
- package/es/utils/bem.mjs +29 -0
- package/es/utils/bem.ts +36 -0
- package/es/utils/mock.mjs +137 -0
- package/es/utils/mock.ts +151 -0
- package/es/utils/util.mjs +370 -0
- package/es/utils/util.ts +392 -0
- package/es/utils/validate.mjs +18 -0
- package/es/utils/validate.ts +23 -0
- package/es/version.mjs +1 -0
- package/es/version.ts +1 -0
- package/lib/avue.js +11 -35880
- package/lib/avue.min.js +11 -6
- package/lib/avue.min.ts +2 -0
- package/lib/avue.ts +2 -0
- package/lib/core/create.js +14 -0
- package/lib/core/create.ts +16 -0
- package/lib/core/dataformat.js +194 -0
- package/lib/core/dataformat.ts +190 -0
- package/lib/core/detail.js +81 -0
- package/lib/core/detail.ts +81 -0
- package/lib/core/dic.js +220 -0
- package/lib/core/dic.ts +235 -0
- package/lib/core/locale.js +10 -0
- package/lib/core/locale.ts +9 -0
- package/lib/core/packages.js +66 -0
- package/lib/core/packages.ts +62 -0
- package/lib/core/slot.js +34 -0
- package/lib/core/slot.ts +30 -0
- package/lib/global/variable.js +83 -0
- package/lib/global/variable.ts +84 -0
- package/lib/icon.js +44 -0
- package/lib/icon.ts +11 -0
- package/lib/index.js +134 -0
- package/lib/index.ts +177 -0
- package/lib/locale/browser/en.js +288 -0
- package/lib/locale/browser/zh-cn.js +288 -0
- package/lib/locale/browser/zh.js +288 -0
- package/lib/locale/index.js +153 -47
- package/lib/locale/index.ts +196 -0
- package/lib/locale/lang/en.js +284 -100
- package/lib/locale/lang/en.ts +282 -0
- package/lib/locale/lang/zh-cn.js +284 -0
- package/lib/locale/lang/zh-cn.ts +282 -0
- package/lib/locale/lang/zh.js +284 -100
- package/lib/locale/lang/zh.ts +282 -0
- package/lib/packages/core/common/event.js +61 -0
- package/lib/packages/core/common/event.ts +56 -0
- package/lib/packages/core/common/init.js +140 -0
- package/lib/packages/core/common/init.ts +133 -0
- package/lib/packages/core/common/props.js +245 -0
- package/lib/packages/core/common/props.ts +240 -0
- package/lib/packages/core/components/dialog-form/index.js +35 -0
- package/lib/packages/core/components/dialog-form/index.ts +29 -0
- package/lib/packages/core/components/dialog-form/index.vue +108 -0
- package/lib/packages/core/components/form/custom.js +43 -0
- package/lib/packages/core/components/form/custom.ts +41 -0
- package/lib/packages/core/components/form/index.vue +176 -0
- package/lib/packages/core/components/icon/index.vue +37 -0
- package/lib/packages/core/components/image-preview/index.js +40 -0
- package/lib/packages/core/components/image-preview/index.ts +37 -0
- package/lib/packages/core/components/image-preview/index.vue +215 -0
- package/lib/packages/core/directive/contextmenu.js +94 -0
- package/lib/packages/core/directive/contextmenu.ts +103 -0
- package/lib/packages/core/directive/permission.js +21 -0
- package/lib/packages/core/directive/permission.ts +18 -0
- package/lib/packages/data/box/index.vue +66 -0
- package/lib/packages/data/card/index.vue +62 -0
- package/lib/packages/data/cardText/index.vue +56 -0
- package/lib/packages/data/countdown/index.vue +81 -0
- package/lib/packages/data/dashboard/index.vue +72 -0
- package/lib/packages/data/display/index.vue +63 -0
- package/lib/packages/data/icons/index.vue +68 -0
- package/lib/packages/data/imgText/index.vue +72 -0
- package/lib/packages/data/list/index.vue +69 -0
- package/lib/packages/data/notice/index.vue +63 -0
- package/lib/packages/data/operaText/index.vue +62 -0
- package/lib/packages/data/panel/index.vue +62 -0
- package/lib/packages/data/pay/index.vue +92 -0
- package/lib/packages/data/price/index.vue +55 -0
- package/lib/packages/data/product/index.vue +106 -0
- package/lib/packages/data/profile/index.vue +91 -0
- package/lib/packages/data/progress/index.vue +64 -0
- package/lib/packages/data/rank/index.vue +92 -0
- package/lib/packages/data/rotate/index.vue +69 -0
- package/lib/packages/data/statistic/index.vue +71 -0
- package/lib/packages/data/tabs/index.vue +64 -0
- package/lib/packages/data/task/index.vue +82 -0
- package/lib/packages/data/weather/index.vue +103 -0
- package/lib/packages/element-plus/array/index.vue +115 -0
- package/lib/packages/element-plus/article/index.vue +73 -0
- package/lib/packages/element-plus/card/index.vue +103 -0
- package/lib/packages/element-plus/cascader/index.vue +132 -0
- package/lib/packages/element-plus/chat/index.vue +513 -0
- package/lib/packages/element-plus/checkbox/index.vue +84 -0
- package/lib/packages/element-plus/comment/index.vue +76 -0
- package/lib/packages/element-plus/count-up/index.vue +109 -0
- package/lib/packages/element-plus/crud/column/column-default.vue +128 -0
- package/lib/packages/element-plus/crud/column/column-dynamic.vue +86 -0
- package/lib/packages/element-plus/crud/column/column-menu.vue +267 -0
- package/lib/packages/element-plus/crud/column/column-slot.vue +348 -0
- package/lib/packages/element-plus/crud/column/column.vue +119 -0
- package/lib/packages/element-plus/crud/column/menu.vue +78 -0
- package/lib/packages/element-plus/crud/config.js +76 -0
- package/lib/packages/element-plus/crud/config.ts +74 -0
- package/lib/packages/element-plus/crud/dialog/dialog-column.vue +102 -0
- package/lib/packages/element-plus/crud/dialog/dialog-excel.vue +204 -0
- package/lib/packages/element-plus/crud/dialog/dialog-filter.vue +159 -0
- package/lib/packages/element-plus/crud/dialog/dialog-form.vue +352 -0
- package/lib/packages/element-plus/crud/grid/index.vue +271 -0
- package/lib/packages/element-plus/crud/grid/item.vue +39 -0
- package/lib/packages/element-plus/crud/index.vue +1018 -0
- package/lib/packages/element-plus/crud/menu/header-menu.vue +175 -0
- package/lib/packages/element-plus/crud/menu/header-search.vue +228 -0
- package/lib/packages/element-plus/crud/menu/table-page.vue +108 -0
- package/lib/packages/element-plus/date/index.vue +81 -0
- package/lib/packages/element-plus/draggable/index.vue +444 -0
- package/lib/packages/element-plus/dynamic/index.vue +353 -0
- package/lib/packages/element-plus/flow/index.vue +339 -0
- package/lib/packages/element-plus/flow/node.vue +84 -0
- package/lib/packages/element-plus/form/config.js +8 -0
- package/lib/packages/element-plus/form/config.ts +6 -0
- package/lib/packages/element-plus/form/index.vue +954 -0
- package/lib/packages/element-plus/form/menu.vue +63 -0
- package/lib/packages/element-plus/group/index.vue +90 -0
- package/lib/packages/element-plus/input/index.vue +1264 -0
- package/lib/packages/element-plus/input-color/index.vue +70 -0
- package/lib/packages/element-plus/input-cron/index.vue +363 -0
- package/lib/packages/element-plus/input-icon/index.vue +143 -0
- package/lib/packages/element-plus/input-map/index.vue +311 -0
- package/lib/packages/element-plus/input-number/index.vue +91 -0
- package/lib/packages/element-plus/input-table/index.vue +279 -0
- package/lib/packages/element-plus/input-tag/index.vue +79 -0
- package/lib/packages/element-plus/input-tree/index.vue +194 -0
- package/lib/packages/element-plus/license/index.vue +155 -0
- package/lib/packages/element-plus/login/index.vue +203 -0
- package/lib/packages/element-plus/mention/index.vue +117 -0
- package/lib/packages/element-plus/radio/index.vue +38 -0
- package/lib/packages/element-plus/rate/index.vue +51 -0
- package/lib/packages/element-plus/search/index.vue +129 -0
- package/lib/packages/element-plus/select/index.vue +292 -0
- package/lib/packages/element-plus/sign/index.vue +230 -0
- package/lib/packages/element-plus/slider/index.vue +66 -0
- package/lib/packages/element-plus/switch/index.vue +72 -0
- package/lib/packages/element-plus/tabs/index.vue +62 -0
- package/lib/packages/element-plus/text-ellipsis/index.vue +104 -0
- package/lib/packages/element-plus/time/index.vue +81 -0
- package/lib/packages/element-plus/title/index.vue +30 -0
- package/lib/packages/element-plus/tree/index.vue +460 -0
- package/lib/packages/element-plus/upload/index.vue +728 -0
- package/lib/packages/element-plus/verify/index.vue +62 -0
- package/lib/packages/element-plus/video/index.vue +90 -0
- package/lib/plugin/ali/index.js +8 -0
- package/lib/plugin/ali/index.ts +6 -0
- package/lib/plugin/clipboard/index.js +64 -0
- package/lib/plugin/clipboard/index.ts +67 -0
- package/lib/plugin/export/_blob.js +151 -0
- package/lib/plugin/export/_blob.ts +176 -0
- package/lib/plugin/export/_export2Excel.js +145 -0
- package/lib/plugin/export/_export2Excel.ts +166 -0
- package/lib/plugin/export/index.js +268 -0
- package/lib/plugin/export/index.ts +274 -0
- package/lib/plugin/logs/index.js +48 -0
- package/lib/plugin/logs/index.ts +66 -0
- package/lib/plugin/print/index.js +147 -0
- package/lib/plugin/print/index.ts +155 -0
- package/lib/plugin/qiniu/index.js +82 -0
- package/lib/plugin/qiniu/index.ts +88 -0
- package/lib/plugin/screenshot/index.js +14 -0
- package/lib/plugin/screenshot/index.ts +9 -0
- package/lib/plugin/video/index.js +55 -0
- package/lib/plugin/video/index.ts +60 -0
- package/lib/plugin/watermark/index.js +121 -0
- package/lib/plugin/watermark/index.ts +127 -0
- package/lib/plugin/watermark/watermark.js +111 -0
- package/lib/plugin/watermark/watermark.ts +121 -0
- package/lib/ui/data/index.js +54 -0
- package/lib/ui/data/index.ts +51 -0
- package/lib/ui/element-plus/index.js +92 -0
- package/lib/ui/element-plus/index.ts +89 -0
- package/lib/ui/index.js +9 -0
- package/lib/ui/index.ts +6 -0
- package/lib/utils/bem.js +31 -0
- package/lib/utils/bem.ts +36 -0
- package/lib/utils/mock.js +142 -0
- package/lib/utils/mock.ts +151 -0
- package/lib/utils/util.js +403 -0
- package/lib/utils/util.ts +392 -0
- package/lib/utils/validate.js +21 -0
- package/lib/utils/validate.ts +23 -0
- package/lib/version.js +4 -0
- package/lib/version.ts +1 -0
- package/package.json +20 -10
- package/types/index.d.ts +139 -47
- package/types/shims-aliases.d.ts +4 -0
- package/lib/avue.js.map +0 -1
- package/lib/locale/format.js +0 -44
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { randomId } from '../../utils/util';
|
|
2
|
+
|
|
3
|
+
class WaterMark {
|
|
4
|
+
CONTAINERID: string;
|
|
5
|
+
option: Record<string, any>;
|
|
6
|
+
styleStr: string;
|
|
7
|
+
isOberserve: boolean;
|
|
8
|
+
|
|
9
|
+
constructor(opt: Record<string, any> = {}) {
|
|
10
|
+
this.CONTAINERID = randomId();
|
|
11
|
+
this.drawCanvas = this.drawCanvas.bind(this);
|
|
12
|
+
this.parentObserver = this.parentObserver.bind(this);
|
|
13
|
+
this.Repaint = this.Repaint.bind(this);
|
|
14
|
+
this.styleStr = '';
|
|
15
|
+
this.isOberserve = false;
|
|
16
|
+
this.init(opt);
|
|
17
|
+
this.drawCanvas();
|
|
18
|
+
this.parentObserver();
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
init(opt: Record<string, any>) {
|
|
22
|
+
this.option = Object.assign(
|
|
23
|
+
{
|
|
24
|
+
width: 400,
|
|
25
|
+
height: 200,
|
|
26
|
+
text: 'avueJS',
|
|
27
|
+
fontSize: '30px',
|
|
28
|
+
fontStyle: 'microsoft yahei',
|
|
29
|
+
textAlign: 'center',
|
|
30
|
+
color: 'rgba(100,100,100,0.15)',
|
|
31
|
+
degree: -20,
|
|
32
|
+
},
|
|
33
|
+
opt
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
drawCanvas() {
|
|
38
|
+
this.isOberserve = true;
|
|
39
|
+
const divContainer = document.createElement('div');
|
|
40
|
+
const canvas = document.createElement('canvas');
|
|
41
|
+
const context = canvas.getContext('2d');
|
|
42
|
+
divContainer.id = this.CONTAINERID;
|
|
43
|
+
|
|
44
|
+
canvas.width = this.option.width;
|
|
45
|
+
canvas.height = this.option.height;
|
|
46
|
+
if (!context) return;
|
|
47
|
+
context.font = `${this.option.fontSize} ${this.option.fontStyle}`;
|
|
48
|
+
context.textAlign = this.option.textAlign;
|
|
49
|
+
context.fillStyle = this.option.color;
|
|
50
|
+
context.translate(canvas.width / 2, canvas.height / 2);
|
|
51
|
+
context.rotate((this.option.degree * Math.PI) / 180);
|
|
52
|
+
context.fillText(this.option.text, 0, 0);
|
|
53
|
+
|
|
54
|
+
const backgroundUrl = canvas.toDataURL('image/png');
|
|
55
|
+
const flag = this.option.id;
|
|
56
|
+
let el: HTMLElement | null = null;
|
|
57
|
+
if (flag) el = document.getElementById(flag);
|
|
58
|
+
this.styleStr = `
|
|
59
|
+
position:${flag ? 'absolute' : 'fixed'};
|
|
60
|
+
top:0;
|
|
61
|
+
left:0;
|
|
62
|
+
width:${flag && el ? el.offsetWidth + 'px' : '100%'};
|
|
63
|
+
height:${flag && el ? el.offsetHeight + 'px' : '100%'};
|
|
64
|
+
z-index:9999;
|
|
65
|
+
pointer-events:none;
|
|
66
|
+
background-repeat:repeat;
|
|
67
|
+
background-image:url('${backgroundUrl}')`;
|
|
68
|
+
divContainer.setAttribute('style', this.styleStr);
|
|
69
|
+
if (flag && el) {
|
|
70
|
+
el.appendChild(divContainer);
|
|
71
|
+
} else {
|
|
72
|
+
document.body.appendChild(divContainer);
|
|
73
|
+
}
|
|
74
|
+
this.wmObserver(divContainer);
|
|
75
|
+
this.isOberserve = false;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
wmObserver(divContainer: HTMLElement) {
|
|
79
|
+
const wmConf = { attributes: true, childList: true, characterData: true };
|
|
80
|
+
const wmObserver = new MutationObserver((mo) => {
|
|
81
|
+
if (!this.isOberserve) {
|
|
82
|
+
const target = mo[0].target as HTMLElement;
|
|
83
|
+
target.setAttribute('style', this.styleStr);
|
|
84
|
+
target.setAttribute('id', this.CONTAINERID);
|
|
85
|
+
wmObserver.takeRecords();
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
wmObserver.observe(divContainer, wmConf);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
parentObserver() {
|
|
92
|
+
const bodyObserver = new MutationObserver(() => {
|
|
93
|
+
if (!this.isOberserve) {
|
|
94
|
+
const wm = document.querySelector<HTMLElement>(`#${this.CONTAINERID}`);
|
|
95
|
+
if (!wm) {
|
|
96
|
+
this.drawCanvas();
|
|
97
|
+
} else if (wm.getAttribute('style') !== this.styleStr) {
|
|
98
|
+
wm.setAttribute('style', this.styleStr);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
const parentNode = document.querySelector<HTMLElement>(`#${this.CONTAINERID}`)?.parentNode;
|
|
103
|
+
if (parentNode) {
|
|
104
|
+
bodyObserver.observe(parentNode, { childList: true });
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
Repaint(opt: Record<string, any> = {}) {
|
|
109
|
+
this.remove();
|
|
110
|
+
this.init(opt);
|
|
111
|
+
this.drawCanvas();
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
remove() {
|
|
115
|
+
this.isOberserve = true;
|
|
116
|
+
const wm = document.querySelector<HTMLElement>(`#${this.CONTAINERID}`);
|
|
117
|
+
wm?.parentNode?.removeChild(wm);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
export default WaterMark;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const index_vue_1 = __importDefault(require("../../packages/data/tabs/index.vue"));
|
|
7
|
+
const index_vue_2 = __importDefault(require("../../packages/data/cardText/index.vue"));
|
|
8
|
+
const index_vue_3 = __importDefault(require("../../packages/data/box/index.vue"));
|
|
9
|
+
const index_vue_4 = __importDefault(require("../../packages/data/progress/index.vue"));
|
|
10
|
+
const index_vue_5 = __importDefault(require("../../packages/data/icons/index.vue"));
|
|
11
|
+
const index_vue_6 = __importDefault(require("../../packages/data/card/index.vue"));
|
|
12
|
+
const index_vue_7 = __importDefault(require("../../packages/data/display/index.vue"));
|
|
13
|
+
const index_vue_8 = __importDefault(require("../../packages/data/imgText/index.vue"));
|
|
14
|
+
const index_vue_9 = __importDefault(require("../../packages/data/operaText/index.vue"));
|
|
15
|
+
const index_vue_10 = __importDefault(require("../../packages/data/rotate/index.vue"));
|
|
16
|
+
const index_vue_11 = __importDefault(require("../../packages/data/pay/index.vue"));
|
|
17
|
+
const index_vue_12 = __importDefault(require("../../packages/data/price/index.vue"));
|
|
18
|
+
const index_vue_13 = __importDefault(require("../../packages/data/panel/index.vue"));
|
|
19
|
+
const index_vue_14 = __importDefault(require("../../packages/data/statistic/index.vue"));
|
|
20
|
+
const index_vue_15 = __importDefault(require("../../packages/data/weather/index.vue"));
|
|
21
|
+
const index_vue_16 = __importDefault(require("../../packages/data/rank/index.vue"));
|
|
22
|
+
const index_vue_17 = __importDefault(require("../../packages/data/profile/index.vue"));
|
|
23
|
+
const index_vue_18 = __importDefault(require("../../packages/data/product/index.vue"));
|
|
24
|
+
const index_vue_19 = __importDefault(require("../../packages/data/countdown/index.vue"));
|
|
25
|
+
const index_vue_20 = __importDefault(require("../../packages/data/notice/index.vue"));
|
|
26
|
+
const index_vue_21 = __importDefault(require("../../packages/data/task/index.vue"));
|
|
27
|
+
const index_vue_22 = __importDefault(require("../../packages/data/list/index.vue"));
|
|
28
|
+
const index_vue_23 = __importDefault(require("../../packages/data/dashboard/index.vue"));
|
|
29
|
+
const dataComponents = {
|
|
30
|
+
DataTabs: index_vue_1.default,
|
|
31
|
+
DataCardText: index_vue_2.default,
|
|
32
|
+
DataBox: index_vue_3.default,
|
|
33
|
+
DataProgress: index_vue_4.default,
|
|
34
|
+
DataIcons: index_vue_5.default,
|
|
35
|
+
DataCard: index_vue_6.default,
|
|
36
|
+
DataDisplay: index_vue_7.default,
|
|
37
|
+
DataImgText: index_vue_8.default,
|
|
38
|
+
DataOperaText: index_vue_9.default,
|
|
39
|
+
DataRotate: index_vue_10.default,
|
|
40
|
+
DataPay: index_vue_11.default,
|
|
41
|
+
DataPrice: index_vue_12.default,
|
|
42
|
+
DataPanel: index_vue_13.default,
|
|
43
|
+
DataStatistic: index_vue_14.default,
|
|
44
|
+
DataWeather: index_vue_15.default,
|
|
45
|
+
DataRank: index_vue_16.default,
|
|
46
|
+
DataProfile: index_vue_17.default,
|
|
47
|
+
DataProduct: index_vue_18.default,
|
|
48
|
+
DataCountdown: index_vue_19.default,
|
|
49
|
+
DataNotice: index_vue_20.default,
|
|
50
|
+
DataTask: index_vue_21.default,
|
|
51
|
+
DataList: index_vue_22.default,
|
|
52
|
+
DataDashboard: index_vue_23.default,
|
|
53
|
+
};
|
|
54
|
+
exports.default = dataComponents;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import DataTabs from '../../packages/data/tabs/index.vue';
|
|
2
|
+
import DataCardText from '../../packages/data/cardText/index.vue';
|
|
3
|
+
import DataBox from '../../packages/data/box/index.vue';
|
|
4
|
+
import DataProgress from '../../packages/data/progress/index.vue';
|
|
5
|
+
import DataIcons from '../../packages/data/icons/index.vue';
|
|
6
|
+
import DataCard from '../../packages/data/card/index.vue';
|
|
7
|
+
import DataDisplay from '../../packages/data/display/index.vue';
|
|
8
|
+
import DataImgText from '../../packages/data/imgText/index.vue';
|
|
9
|
+
import DataOperaText from '../../packages/data/operaText/index.vue';
|
|
10
|
+
import DataRotate from '../../packages/data/rotate/index.vue';
|
|
11
|
+
import DataPay from '../../packages/data/pay/index.vue';
|
|
12
|
+
import DataPrice from '../../packages/data/price/index.vue';
|
|
13
|
+
import DataPanel from '../../packages/data/panel/index.vue';
|
|
14
|
+
import DataStatistic from '../../packages/data/statistic/index.vue';
|
|
15
|
+
import DataWeather from '../../packages/data/weather/index.vue';
|
|
16
|
+
import DataRank from '../../packages/data/rank/index.vue';
|
|
17
|
+
import DataProfile from '../../packages/data/profile/index.vue';
|
|
18
|
+
import DataProduct from '../../packages/data/product/index.vue';
|
|
19
|
+
import DataCountdown from '../../packages/data/countdown/index.vue';
|
|
20
|
+
import DataNotice from '../../packages/data/notice/index.vue';
|
|
21
|
+
import DataTask from '../../packages/data/task/index.vue';
|
|
22
|
+
import DataList from '../../packages/data/list/index.vue';
|
|
23
|
+
import DataDashboard from '../../packages/data/dashboard/index.vue';
|
|
24
|
+
|
|
25
|
+
const dataComponents = {
|
|
26
|
+
DataTabs,
|
|
27
|
+
DataCardText,
|
|
28
|
+
DataBox,
|
|
29
|
+
DataProgress,
|
|
30
|
+
DataIcons,
|
|
31
|
+
DataCard,
|
|
32
|
+
DataDisplay,
|
|
33
|
+
DataImgText,
|
|
34
|
+
DataOperaText,
|
|
35
|
+
DataRotate,
|
|
36
|
+
DataPay,
|
|
37
|
+
DataPrice,
|
|
38
|
+
DataPanel,
|
|
39
|
+
DataStatistic,
|
|
40
|
+
DataWeather,
|
|
41
|
+
DataRank,
|
|
42
|
+
DataProfile,
|
|
43
|
+
DataProduct,
|
|
44
|
+
DataCountdown,
|
|
45
|
+
DataNotice,
|
|
46
|
+
DataTask,
|
|
47
|
+
DataList,
|
|
48
|
+
DataDashboard,
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
export default dataComponents;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const index_vue_1 = __importDefault(require("../../packages/element-plus/count-up/index.vue"));
|
|
7
|
+
const index_vue_2 = __importDefault(require("../../packages/element-plus/article/index.vue"));
|
|
8
|
+
const index_vue_3 = __importDefault(require("../../packages/element-plus/crud/index.vue"));
|
|
9
|
+
const index_vue_4 = __importDefault(require("../../packages/element-plus/card/index.vue"));
|
|
10
|
+
const index_vue_5 = __importDefault(require("../../packages/element-plus/chat/index.vue"));
|
|
11
|
+
const index_vue_6 = __importDefault(require("../../packages/element-plus/comment/index.vue"));
|
|
12
|
+
const index_vue_7 = __importDefault(require("../../packages/element-plus/form/index.vue"));
|
|
13
|
+
const index_vue_8 = __importDefault(require("../../packages/element-plus/checkbox/index.vue"));
|
|
14
|
+
const index_vue_9 = __importDefault(require("../../packages/element-plus/date/index.vue"));
|
|
15
|
+
const index_vue_10 = __importDefault(require("../../packages/element-plus/draggable/index.vue"));
|
|
16
|
+
const index_vue_11 = __importDefault(require("../../packages/element-plus/flow/index.vue"));
|
|
17
|
+
const index_vue_12 = __importDefault(require("../../packages/element-plus/group/index.vue"));
|
|
18
|
+
const index_vue_13 = __importDefault(require("../../packages/element-plus/license/index.vue"));
|
|
19
|
+
const index_vue_14 = __importDefault(require("../../packages/element-plus/time/index.vue"));
|
|
20
|
+
const index_vue_15 = __importDefault(require("../../packages/element-plus/input/index.vue"));
|
|
21
|
+
const index_vue_16 = __importDefault(require("../../packages/element-plus/radio/index.vue"));
|
|
22
|
+
const index_vue_17 = __importDefault(require("../../packages/element-plus/select/index.vue"));
|
|
23
|
+
const index_vue_18 = __importDefault(require("../../packages/element-plus/cascader/index.vue"));
|
|
24
|
+
const index_vue_19 = __importDefault(require("../../packages/element-plus/input-color/index.vue"));
|
|
25
|
+
const index_vue_20 = __importDefault(require("../../packages/element-plus/input-number/index.vue"));
|
|
26
|
+
const index_vue_21 = __importDefault(require("../../packages/element-plus/input-tree/index.vue"));
|
|
27
|
+
const index_vue_22 = __importDefault(require("../../packages/element-plus/input-map/index.vue"));
|
|
28
|
+
const index_vue_23 = __importDefault(require("../../packages/element-plus/input-icon/index.vue"));
|
|
29
|
+
const index_vue_24 = __importDefault(require("../../packages/element-plus/input-tag/index.vue"));
|
|
30
|
+
const index_vue_25 = __importDefault(require("../../packages/element-plus/input-table/index.vue"));
|
|
31
|
+
const index_vue_26 = __importDefault(require("../../packages/element-plus/input-cron/index.vue"));
|
|
32
|
+
const index_vue_27 = __importDefault(require("../../packages/element-plus/mention/index.vue"));
|
|
33
|
+
const index_vue_28 = __importDefault(require("../../packages/element-plus/verify/index.vue"));
|
|
34
|
+
const index_vue_29 = __importDefault(require("../../packages/element-plus/switch/index.vue"));
|
|
35
|
+
const index_vue_30 = __importDefault(require("../../packages/element-plus/rate/index.vue"));
|
|
36
|
+
const index_vue_31 = __importDefault(require("../../packages/element-plus/upload/index.vue"));
|
|
37
|
+
const index_vue_32 = __importDefault(require("../../packages/element-plus/sign/index.vue"));
|
|
38
|
+
const index_vue_33 = __importDefault(require("../../packages/element-plus/slider/index.vue"));
|
|
39
|
+
const index_vue_34 = __importDefault(require("../../packages/element-plus/tree/index.vue"));
|
|
40
|
+
const index_vue_35 = __importDefault(require("../../packages/element-plus/title/index.vue"));
|
|
41
|
+
const index_vue_36 = __importDefault(require("../../packages/element-plus/search/index.vue"));
|
|
42
|
+
const index_vue_37 = __importDefault(require("../../packages/element-plus/tabs/index.vue"));
|
|
43
|
+
const index_vue_38 = __importDefault(require("../../packages/element-plus/dynamic/index.vue"));
|
|
44
|
+
const index_vue_39 = __importDefault(require("../../packages/element-plus/video/index.vue"));
|
|
45
|
+
const index_vue_40 = __importDefault(require("../../packages/element-plus/login/index.vue"));
|
|
46
|
+
const index_vue_41 = __importDefault(require("../../packages/element-plus/array/index.vue"));
|
|
47
|
+
const index_vue_42 = __importDefault(require("../../packages/element-plus/text-ellipsis/index.vue"));
|
|
48
|
+
const elementComponents = {
|
|
49
|
+
Arrays: index_vue_41.default,
|
|
50
|
+
Article: index_vue_2.default,
|
|
51
|
+
Crud: index_vue_3.default,
|
|
52
|
+
Card: index_vue_4.default,
|
|
53
|
+
Chat: index_vue_5.default,
|
|
54
|
+
Comment: index_vue_6.default,
|
|
55
|
+
Form: index_vue_7.default,
|
|
56
|
+
Checkbox: index_vue_8.default,
|
|
57
|
+
Date: index_vue_9.default,
|
|
58
|
+
CountUp: index_vue_1.default,
|
|
59
|
+
Draggable: index_vue_10.default,
|
|
60
|
+
Flow: index_vue_11.default,
|
|
61
|
+
Group: index_vue_12.default,
|
|
62
|
+
License: index_vue_13.default,
|
|
63
|
+
Time: index_vue_14.default,
|
|
64
|
+
Input: index_vue_15.default,
|
|
65
|
+
Radio: index_vue_16.default,
|
|
66
|
+
Select: index_vue_17.default,
|
|
67
|
+
Cascader: index_vue_18.default,
|
|
68
|
+
InputColor: index_vue_19.default,
|
|
69
|
+
InputNumber: index_vue_20.default,
|
|
70
|
+
InputTree: index_vue_21.default,
|
|
71
|
+
InputIcon: index_vue_23.default,
|
|
72
|
+
InputMap: index_vue_22.default,
|
|
73
|
+
InputTag: index_vue_24.default,
|
|
74
|
+
InputTable: index_vue_25.default,
|
|
75
|
+
InputCron: index_vue_26.default,
|
|
76
|
+
Mention: index_vue_27.default,
|
|
77
|
+
Switchs: index_vue_29.default,
|
|
78
|
+
Rate: index_vue_30.default,
|
|
79
|
+
Upload: index_vue_31.default,
|
|
80
|
+
Slider: index_vue_33.default,
|
|
81
|
+
Tree: index_vue_34.default,
|
|
82
|
+
Title: index_vue_35.default,
|
|
83
|
+
Search: index_vue_36.default,
|
|
84
|
+
Tabs: index_vue_37.default,
|
|
85
|
+
Dynamic: index_vue_38.default,
|
|
86
|
+
Video: index_vue_39.default,
|
|
87
|
+
Verifys: index_vue_28.default,
|
|
88
|
+
textEllipsis: index_vue_42.default,
|
|
89
|
+
Sign: index_vue_32.default,
|
|
90
|
+
Login: index_vue_40.default,
|
|
91
|
+
};
|
|
92
|
+
exports.default = elementComponents;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import CountUp from '../../packages/element-plus/count-up/index.vue';
|
|
2
|
+
import Article from '../../packages/element-plus/article/index.vue';
|
|
3
|
+
import Crud from '../../packages/element-plus/crud/index.vue';
|
|
4
|
+
import Card from '../../packages/element-plus/card/index.vue';
|
|
5
|
+
import Chat from '../../packages/element-plus/chat/index.vue';
|
|
6
|
+
import Comment from '../../packages/element-plus/comment/index.vue';
|
|
7
|
+
import Form from '../../packages/element-plus/form/index.vue';
|
|
8
|
+
import Checkbox from '../../packages/element-plus/checkbox/index.vue';
|
|
9
|
+
import Date from '../../packages/element-plus/date/index.vue';
|
|
10
|
+
import Draggable from '../../packages/element-plus/draggable/index.vue';
|
|
11
|
+
import Flow from '../../packages/element-plus/flow/index.vue';
|
|
12
|
+
import Group from '../../packages/element-plus/group/index.vue';
|
|
13
|
+
import License from '../../packages/element-plus/license/index.vue';
|
|
14
|
+
import Time from '../../packages/element-plus/time/index.vue';
|
|
15
|
+
import Input from '../../packages/element-plus/input/index.vue';
|
|
16
|
+
import Radio from '../../packages/element-plus/radio/index.vue';
|
|
17
|
+
import Select from '../../packages/element-plus/select/index.vue';
|
|
18
|
+
import Cascader from '../../packages/element-plus/cascader/index.vue';
|
|
19
|
+
import InputColor from '../../packages/element-plus/input-color/index.vue';
|
|
20
|
+
import InputNumber from '../../packages/element-plus/input-number/index.vue';
|
|
21
|
+
import InputTree from '../../packages/element-plus/input-tree/index.vue';
|
|
22
|
+
import InputMap from '../../packages/element-plus/input-map/index.vue';
|
|
23
|
+
import InputIcon from '../../packages/element-plus/input-icon/index.vue';
|
|
24
|
+
import InputTag from '../../packages/element-plus/input-tag/index.vue';
|
|
25
|
+
import InputTable from '../../packages/element-plus/input-table/index.vue';
|
|
26
|
+
import InputCron from '../../packages/element-plus/input-cron/index.vue';
|
|
27
|
+
import Mention from '../../packages/element-plus/mention/index.vue';
|
|
28
|
+
import Verifys from '../../packages/element-plus/verify/index.vue';
|
|
29
|
+
import Switchs from '../../packages/element-plus/switch/index.vue';
|
|
30
|
+
import Rate from '../../packages/element-plus/rate/index.vue';
|
|
31
|
+
import Upload from '../../packages/element-plus/upload/index.vue';
|
|
32
|
+
import Sign from '../../packages/element-plus/sign/index.vue';
|
|
33
|
+
import Slider from '../../packages/element-plus/slider/index.vue';
|
|
34
|
+
import Tree from '../../packages/element-plus/tree/index.vue';
|
|
35
|
+
import Title from '../../packages/element-plus/title/index.vue';
|
|
36
|
+
import Search from '../../packages/element-plus/search/index.vue';
|
|
37
|
+
import Tabs from '../../packages/element-plus/tabs/index.vue';
|
|
38
|
+
import Dynamic from '../../packages/element-plus/dynamic/index.vue';
|
|
39
|
+
import Video from '../../packages/element-plus/video/index.vue';
|
|
40
|
+
import Login from '../../packages/element-plus/login/index.vue';
|
|
41
|
+
import Arrays from '../../packages/element-plus/array/index.vue';
|
|
42
|
+
import textEllipsis from '../../packages/element-plus/text-ellipsis/index.vue';
|
|
43
|
+
|
|
44
|
+
const elementComponents = {
|
|
45
|
+
Arrays,
|
|
46
|
+
Article,
|
|
47
|
+
Crud,
|
|
48
|
+
Card,
|
|
49
|
+
Chat,
|
|
50
|
+
Comment,
|
|
51
|
+
Form,
|
|
52
|
+
Checkbox,
|
|
53
|
+
Date,
|
|
54
|
+
CountUp,
|
|
55
|
+
Draggable,
|
|
56
|
+
Flow,
|
|
57
|
+
Group,
|
|
58
|
+
License,
|
|
59
|
+
Time,
|
|
60
|
+
Input,
|
|
61
|
+
Radio,
|
|
62
|
+
Select,
|
|
63
|
+
Cascader,
|
|
64
|
+
InputColor,
|
|
65
|
+
InputNumber,
|
|
66
|
+
InputTree,
|
|
67
|
+
InputIcon,
|
|
68
|
+
InputMap,
|
|
69
|
+
InputTag,
|
|
70
|
+
InputTable,
|
|
71
|
+
InputCron,
|
|
72
|
+
Mention,
|
|
73
|
+
Switchs,
|
|
74
|
+
Rate,
|
|
75
|
+
Upload,
|
|
76
|
+
Slider,
|
|
77
|
+
Tree,
|
|
78
|
+
Title,
|
|
79
|
+
Search,
|
|
80
|
+
Tabs,
|
|
81
|
+
Dynamic,
|
|
82
|
+
Video,
|
|
83
|
+
Verifys,
|
|
84
|
+
textEllipsis,
|
|
85
|
+
Sign,
|
|
86
|
+
Login,
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
export default elementComponents;
|
package/lib/ui/index.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const index_js_1 = __importDefault(require("./element-plus/index.js"));
|
|
7
|
+
const index_js_2 = __importDefault(require("./data/index.js"));
|
|
8
|
+
const components = { ...index_js_1.default, ...index_js_2.default };
|
|
9
|
+
exports.default = components;
|
package/lib/ui/index.ts
ADDED
package/lib/utils/bem.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const ELEMENT = '__';
|
|
4
|
+
const MODS = '--';
|
|
5
|
+
const join = (name, el, symbol) => (el ? name + symbol + el : name);
|
|
6
|
+
const prefix = (name, mods) => {
|
|
7
|
+
if (typeof mods === 'string') {
|
|
8
|
+
return join(name, mods, MODS);
|
|
9
|
+
}
|
|
10
|
+
if (Array.isArray(mods)) {
|
|
11
|
+
return mods.map((item) => prefix(name, item));
|
|
12
|
+
}
|
|
13
|
+
const ret = {};
|
|
14
|
+
Object.keys(mods || {}).forEach((key) => {
|
|
15
|
+
ret[name + MODS + key] = mods[key];
|
|
16
|
+
});
|
|
17
|
+
return ret;
|
|
18
|
+
};
|
|
19
|
+
exports.default = {
|
|
20
|
+
methods: {
|
|
21
|
+
b(el, mods) {
|
|
22
|
+
const { name } = this.$options;
|
|
23
|
+
if (el && typeof el !== 'string') {
|
|
24
|
+
mods = el;
|
|
25
|
+
el = '';
|
|
26
|
+
}
|
|
27
|
+
el = join(name, el, ELEMENT);
|
|
28
|
+
return mods ? [el, prefix(el, mods)] : el;
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
};
|
package/lib/utils/bem.ts
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
const ELEMENT = '__';
|
|
2
|
+
const MODS = '--';
|
|
3
|
+
|
|
4
|
+
const join = (name: string, el: string, symbol: string) => (el ? name + symbol + el : name);
|
|
5
|
+
|
|
6
|
+
const prefix = (name: string, mods: any): any => {
|
|
7
|
+
if (typeof mods === 'string') {
|
|
8
|
+
return join(name, mods, MODS);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
if (Array.isArray(mods)) {
|
|
12
|
+
return mods.map((item) => prefix(name, item));
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const ret: Record<string, any> = {};
|
|
16
|
+
Object.keys(mods || {}).forEach((key) => {
|
|
17
|
+
ret[name + MODS + key] = mods[key];
|
|
18
|
+
});
|
|
19
|
+
return ret;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export default {
|
|
23
|
+
methods: {
|
|
24
|
+
b(this: any, el: any, mods: any) {
|
|
25
|
+
const { name } = this.$options;
|
|
26
|
+
|
|
27
|
+
if (el && typeof el !== 'string') {
|
|
28
|
+
mods = el;
|
|
29
|
+
el = '';
|
|
30
|
+
}
|
|
31
|
+
el = join(name, el, ELEMENT);
|
|
32
|
+
|
|
33
|
+
return mods ? [el, prefix(el, mods)] : el;
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
};
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const packages_js_1 = __importDefault(require("../core/packages.js"));
|
|
7
|
+
exports.default = (column, dicData, defaultForm, run) => {
|
|
8
|
+
if (!run)
|
|
9
|
+
return;
|
|
10
|
+
const win = window;
|
|
11
|
+
if (!win.Mock) {
|
|
12
|
+
packages_js_1.default.logs('mock');
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
const mockjs = win.Mock;
|
|
16
|
+
const Random = (mockjs || {}).Random;
|
|
17
|
+
const form = {};
|
|
18
|
+
function createName({ en }) {
|
|
19
|
+
if (en) {
|
|
20
|
+
return Random.name(true);
|
|
21
|
+
}
|
|
22
|
+
return Random.cname();
|
|
23
|
+
}
|
|
24
|
+
function createImage({ size, text, base64 }) {
|
|
25
|
+
const imageSize = size || Random.natural(200, 400);
|
|
26
|
+
const textColor = text ? '#000000' : Random.color();
|
|
27
|
+
const bgColor = text ? '#ffffff' : Random.color();
|
|
28
|
+
if (base64) {
|
|
29
|
+
return Random.dataImage(imageSize, text);
|
|
30
|
+
}
|
|
31
|
+
return Random.image(imageSize, bgColor, textColor, 'png', text || Random.name());
|
|
32
|
+
}
|
|
33
|
+
function createId({ uuid }) {
|
|
34
|
+
if (uuid) {
|
|
35
|
+
return mockjs.mock('@guid');
|
|
36
|
+
}
|
|
37
|
+
return mockjs.mock('@id');
|
|
38
|
+
}
|
|
39
|
+
function createTel() {
|
|
40
|
+
return mockjs.mock(/^1[3-9]\d{9}$/);
|
|
41
|
+
}
|
|
42
|
+
function createNumber({ max, min, precision }) {
|
|
43
|
+
if (precision) {
|
|
44
|
+
const number = Random.float(min, max, precision) + '';
|
|
45
|
+
const index = number.indexOf('.') + 1;
|
|
46
|
+
return Number(number.substring(0, index + precision));
|
|
47
|
+
}
|
|
48
|
+
return Random.integer(min, max);
|
|
49
|
+
}
|
|
50
|
+
function createUrl({ header }) {
|
|
51
|
+
let url = Random.url();
|
|
52
|
+
const index = url.indexOf('://');
|
|
53
|
+
if (header === false) {
|
|
54
|
+
url = url.substring(index + 3);
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
url = 'http://' + url.substring(index + 3);
|
|
58
|
+
}
|
|
59
|
+
return url;
|
|
60
|
+
}
|
|
61
|
+
function createDatetime({ format, now }) {
|
|
62
|
+
if (now) {
|
|
63
|
+
return Random.now(format);
|
|
64
|
+
}
|
|
65
|
+
return Random.datetime(format);
|
|
66
|
+
}
|
|
67
|
+
function createText({ min, max }) {
|
|
68
|
+
return Random.csentence(min, max);
|
|
69
|
+
}
|
|
70
|
+
function createCounty() {
|
|
71
|
+
return Random.county(true);
|
|
72
|
+
}
|
|
73
|
+
function createDic({ dic, props, columnType, multiple }) {
|
|
74
|
+
const value = props.value || 'value';
|
|
75
|
+
const len = dic.length;
|
|
76
|
+
if (len === 0)
|
|
77
|
+
return;
|
|
78
|
+
if (['checkbox'].includes(columnType) || multiple) {
|
|
79
|
+
const number = createNumber({
|
|
80
|
+
min: 1,
|
|
81
|
+
max: len,
|
|
82
|
+
});
|
|
83
|
+
const result = [];
|
|
84
|
+
for (let i = 0; i < number; i++) {
|
|
85
|
+
let flag = true;
|
|
86
|
+
while (flag) {
|
|
87
|
+
const numbers = createNumber({
|
|
88
|
+
min: 0,
|
|
89
|
+
max: len - 1,
|
|
90
|
+
});
|
|
91
|
+
const values = dic[numbers][value];
|
|
92
|
+
if (!result.includes(values)) {
|
|
93
|
+
result.push(values);
|
|
94
|
+
flag = false;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return result;
|
|
99
|
+
}
|
|
100
|
+
const number = createNumber({
|
|
101
|
+
min: 0,
|
|
102
|
+
max: len - 1,
|
|
103
|
+
});
|
|
104
|
+
return dic[number][value];
|
|
105
|
+
}
|
|
106
|
+
function create() {
|
|
107
|
+
Object.keys(column).forEach((index) => {
|
|
108
|
+
const ele = column[index];
|
|
109
|
+
const isObject = typeof ele.mock === 'object';
|
|
110
|
+
const params = isObject ? ele.mock || {} : {};
|
|
111
|
+
params.dic = dicData[ele.prop] || [];
|
|
112
|
+
params.props = ele.props || {};
|
|
113
|
+
params.columnType = ele.type;
|
|
114
|
+
params.multiple = ele.multiple;
|
|
115
|
+
const dataGenerator = {
|
|
116
|
+
name: createName,
|
|
117
|
+
number: createNumber,
|
|
118
|
+
datetime: createDatetime,
|
|
119
|
+
word: createText,
|
|
120
|
+
tel: createTel,
|
|
121
|
+
id: createId,
|
|
122
|
+
image: createImage,
|
|
123
|
+
url: createUrl,
|
|
124
|
+
county: createCounty,
|
|
125
|
+
dic: createDic,
|
|
126
|
+
};
|
|
127
|
+
if (isObject && dataGenerator[params.type]) {
|
|
128
|
+
if (params.array) {
|
|
129
|
+
form[ele.prop] = Array.from({ length: params.array }, () => dataGenerator[params.type](params));
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
form[ele.prop] = dataGenerator[params.type](params);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
else if (ele.mock instanceof Function) {
|
|
136
|
+
form[ele.prop] = ele.mock(defaultForm, mockjs);
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
create();
|
|
141
|
+
return form;
|
|
142
|
+
};
|