@vipl520/dk-ui 1.0.19 → 1.0.20
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/attributes.json +16 -0
- package/dist/index.css +1 -1
- package/dist/index.js +1186 -630
- package/dist/index.min.js +7 -7
- package/dist/index.min.js.map +1 -1
- package/dist/index.min.mjs +7 -7
- package/dist/index.min.mjs.map +1 -1
- package/dist/index.mjs +1176 -624
- package/dist/tags.json +14 -0
- package/dist/web-types.json +69 -1
- package/es/animate-select/index.d.ts +19 -0
- package/es/animate-select/index.mjs +8 -0
- package/es/animate-select/index.mjs.map +1 -0
- package/es/animate-select/src/animate-select.vue.d.ts +18 -0
- package/es/animate-select/src/animate-select.vue.mjs +7 -0
- package/es/animate-select/src/animate-select.vue.mjs.map +1 -0
- package/es/animate-select/src/animate-select.vue2.mjs +168 -0
- package/es/animate-select/src/animate-select.vue2.mjs.map +1 -0
- package/es/animate-select/src/animates.d.ts +9 -0
- package/es/animate-select/src/animates.mjs +98 -0
- package/es/animate-select/src/animates.mjs.map +1 -0
- package/es/animate-select/src/props.d.ts +11 -0
- package/es/animate-select/src/props.mjs +11 -0
- package/es/animate-select/src/props.mjs.map +1 -0
- package/es/animate-select/style/index.css +1 -0
- package/es/animate-select/style/index.scss +41 -0
- package/es/audio-input/index.d.ts +4 -4
- package/es/audio-input/src/audio-input.vue.d.ts +4 -4
- package/es/audio-list-input/index.d.ts +3 -3
- package/es/audio-list-input/src/audio-list-input.vue.d.ts +3 -3
- package/es/box-size-input/index.d.ts +1 -1
- package/es/box-size-input/src/box-size-input.vue.d.ts +1 -1
- package/es/color-input/index.d.ts +3 -3
- package/es/color-input/src/color-input.vue.d.ts +3 -3
- package/es/dialog/index.d.ts +11 -11
- package/es/dialog/src/dialog.vue.d.ts +3 -3
- package/es/file-input/index.d.ts +4 -4
- package/es/file-input/src/file-input.vue.d.ts +4 -4
- package/es/file-list-input/index.d.ts +4 -4
- package/es/file-list-input/src/file-list-input.vue.d.ts +4 -4
- package/es/form/index.d.ts +10 -10
- package/es/form/src/form.vue.d.ts +2 -2
- package/es/group/index.d.ts +6 -6
- package/es/group/src/group.vue.d.ts +6 -6
- package/es/icon/index.d.ts +3 -3
- package/es/icon-input/index.d.ts +5 -5
- package/es/icon-input/src/icon-content.vue.d.ts +1 -1
- package/es/icon-input/src/icon-dialog.vue.d.ts +1 -1
- package/es/icon-input/src/icon-input.vue.d.ts +3 -3
- package/es/image-input/index.d.ts +4 -4
- package/es/image-input/src/image-input.vue.d.ts +4 -4
- package/es/image-list-input/index.d.ts +3 -3
- package/es/image-list-input/src/image-list-input.vue.d.ts +3 -3
- package/es/index.d.ts +2 -0
- package/es/index.mjs +9 -1
- package/es/index.mjs.map +1 -1
- package/es/index.scss +14 -0
- package/es/page-diy/index.d.ts +70 -4
- package/es/page-diy/src/components/DragTool.vue.d.ts +2 -1
- package/es/page-diy/src/components/DragTool.vue.mjs +12 -15
- package/es/page-diy/src/components/DragTool.vue.mjs.map +1 -1
- package/es/page-diy/src/components/PreviewPhone.vue2.mjs +74 -2
- package/es/page-diy/src/components/PreviewPhone.vue2.mjs.map +1 -1
- package/es/page-diy/src/config/base/dkSetting.d.ts +68 -2
- package/es/page-diy/src/config/base/dkSetting.mjs +83 -0
- package/es/page-diy/src/config/base/dkSetting.mjs.map +1 -1
- package/es/page-diy/src/page-diy.vue.d.ts +70 -4
- package/es/page-diy/src/views/min/DkMinSwiperImage.vue.d.ts +1 -1
- package/es/page-diy/src/views/min/DkMinTitle.vue.d.ts +1 -1
- package/es/page-diy/src/views/web/DkViewCommonBtn.vue.d.ts +2 -2
- package/es/page-diy/src/views/web/DkViewDialog.vue.d.ts +2 -2
- package/es/page-diy/src/views/web/DkViewGridCellList.vue.d.ts +1 -1
- package/es/page-diy/src/views/web/DkViewImage.vue.d.ts +2 -2
- package/es/page-diy/src/views/web/DkViewNoticeBar.vue.d.ts +2 -2
- package/es/page-diy/src/views/web/DkViewSwipe.vue.d.ts +1 -1
- package/es/page-diy/src/views/web/DkViewTitle.vue.d.ts +2 -2
- package/es/page-diy/style/drag-tool.css +1 -1
- package/es/page-diy/style/drag-tool.scss +1 -1
- package/es/page-diy/style/index.css +1 -1
- package/es/poster-input/index.d.ts +6 -6
- package/es/poster-input/src/component/poster.vue.d.ts +3 -3
- package/es/poster-input/src/poster-input.vue.d.ts +3 -3
- package/es/select/src/select.vue.d.ts +3 -3
- package/es/style-animation-input/index.d.ts +25 -0
- package/es/style-animation-input/index.mjs +8 -0
- package/es/style-animation-input/index.mjs.map +1 -0
- package/es/style-animation-input/src/props.d.ts +15 -0
- package/es/style-animation-input/src/props.mjs +16 -0
- package/es/style-animation-input/src/props.mjs.map +1 -0
- package/es/style-animation-input/src/style-animation-input.vue.d.ts +24 -0
- package/es/style-animation-input/src/style-animation-input.vue.mjs +7 -0
- package/es/style-animation-input/src/style-animation-input.vue.mjs.map +1 -0
- package/es/style-animation-input/src/style-animation-input.vue2.mjs +116 -0
- package/es/style-animation-input/src/style-animation-input.vue2.mjs.map +1 -0
- package/es/style-animation-input/style/index.css +1 -0
- package/es/style-animation-input/style/index.scss +14 -0
- package/es/style-box-input/index.d.ts +1 -1
- package/es/style-box-input/src/style-box-input.vue.d.ts +1 -1
- package/es/style-input/index.d.ts +1 -1
- package/es/style-input/src/style-input.vue.d.ts +1 -1
- package/es/style-number-input/index.d.ts +1 -1
- package/es/style-number-input/src/style-number-input.vue.d.ts +1 -1
- package/es/style-shadow-input/index.d.ts +2 -2
- package/es/style-shadow-input/src/style-shadow-content.vue.d.ts +1 -1
- package/es/style-shadow-input/src/style-shadow-input.vue.d.ts +1 -1
- package/es/table/index.d.ts +2 -2
- package/es/tiny-editor/index.d.ts +4 -4
- package/es/tiny-editor/src/tiny-editor.vue.d.ts +4 -4
- package/es/video-input/index.d.ts +4 -4
- package/es/video-input/src/video-input.vue.d.ts +4 -4
- package/es/video-list-input/index.d.ts +3 -3
- package/es/video-list-input/src/video-list-input.vue.d.ts +3 -3
- package/lib/animate-select/index.d.ts +19 -0
- package/lib/animate-select/index.js +14 -0
- package/lib/animate-select/index.js.map +1 -0
- package/lib/animate-select/src/animate-select.vue.d.ts +18 -0
- package/lib/animate-select/src/animate-select.vue.js +11 -0
- package/lib/animate-select/src/animate-select.vue.js.map +1 -0
- package/lib/animate-select/src/animate-select.vue2.js +172 -0
- package/lib/animate-select/src/animate-select.vue2.js.map +1 -0
- package/lib/animate-select/src/animates.d.ts +9 -0
- package/lib/animate-select/src/animates.js +102 -0
- package/lib/animate-select/src/animates.js.map +1 -0
- package/lib/animate-select/src/props.d.ts +11 -0
- package/lib/animate-select/src/props.js +13 -0
- package/lib/animate-select/src/props.js.map +1 -0
- package/lib/animate-select/style/index.css +1 -0
- package/lib/animate-select/style/index.scss +41 -0
- package/lib/audio-input/index.d.ts +4 -4
- package/lib/audio-input/src/audio-input.vue.d.ts +4 -4
- package/lib/audio-list-input/index.d.ts +3 -3
- package/lib/audio-list-input/src/audio-list-input.vue.d.ts +3 -3
- package/lib/box-size-input/index.d.ts +1 -1
- package/lib/box-size-input/src/box-size-input.vue.d.ts +1 -1
- package/lib/color-input/index.d.ts +3 -3
- package/lib/color-input/src/color-input.vue.d.ts +3 -3
- package/lib/dialog/index.d.ts +11 -11
- package/lib/dialog/src/dialog.vue.d.ts +3 -3
- package/lib/file-input/index.d.ts +4 -4
- package/lib/file-input/src/file-input.vue.d.ts +4 -4
- package/lib/file-list-input/index.d.ts +4 -4
- package/lib/file-list-input/src/file-list-input.vue.d.ts +4 -4
- package/lib/form/index.d.ts +10 -10
- package/lib/form/src/form.vue.d.ts +2 -2
- package/lib/group/index.d.ts +6 -6
- package/lib/group/src/group.vue.d.ts +6 -6
- package/lib/icon/index.d.ts +3 -3
- package/lib/icon-input/index.d.ts +5 -5
- package/lib/icon-input/src/icon-content.vue.d.ts +1 -1
- package/lib/icon-input/src/icon-dialog.vue.d.ts +1 -1
- package/lib/icon-input/src/icon-input.vue.d.ts +3 -3
- package/lib/image-input/index.d.ts +4 -4
- package/lib/image-input/src/image-input.vue.d.ts +4 -4
- package/lib/image-list-input/index.d.ts +3 -3
- package/lib/image-list-input/src/image-list-input.vue.d.ts +3 -3
- package/lib/index.d.ts +2 -0
- package/lib/index.js +14 -2
- package/lib/index.js.map +1 -1
- package/lib/index.scss +14 -0
- package/lib/page-diy/index.d.ts +70 -4
- package/lib/page-diy/src/components/DragTool.vue.d.ts +2 -1
- package/lib/page-diy/src/components/DragTool.vue.js +12 -15
- package/lib/page-diy/src/components/DragTool.vue.js.map +1 -1
- package/lib/page-diy/src/components/PreviewPhone.vue2.js +73 -1
- package/lib/page-diy/src/components/PreviewPhone.vue2.js.map +1 -1
- package/lib/page-diy/src/config/base/dkSetting.d.ts +68 -2
- package/lib/page-diy/src/config/base/dkSetting.js +83 -0
- package/lib/page-diy/src/config/base/dkSetting.js.map +1 -1
- package/lib/page-diy/src/page-diy.vue.d.ts +70 -4
- package/lib/page-diy/src/views/min/DkMinSwiperImage.vue.d.ts +1 -1
- package/lib/page-diy/src/views/min/DkMinTitle.vue.d.ts +1 -1
- package/lib/page-diy/src/views/web/DkViewCommonBtn.vue.d.ts +2 -2
- package/lib/page-diy/src/views/web/DkViewDialog.vue.d.ts +2 -2
- package/lib/page-diy/src/views/web/DkViewGridCellList.vue.d.ts +1 -1
- package/lib/page-diy/src/views/web/DkViewImage.vue.d.ts +2 -2
- package/lib/page-diy/src/views/web/DkViewNoticeBar.vue.d.ts +2 -2
- package/lib/page-diy/src/views/web/DkViewSwipe.vue.d.ts +1 -1
- package/lib/page-diy/src/views/web/DkViewTitle.vue.d.ts +2 -2
- package/lib/page-diy/style/drag-tool.css +1 -1
- package/lib/page-diy/style/drag-tool.scss +1 -1
- package/lib/page-diy/style/index.css +1 -1
- package/lib/poster-input/index.d.ts +6 -6
- package/lib/poster-input/src/component/poster.vue.d.ts +3 -3
- package/lib/poster-input/src/poster-input.vue.d.ts +3 -3
- package/lib/select/src/select.vue.d.ts +3 -3
- package/lib/style-animation-input/index.d.ts +25 -0
- package/lib/style-animation-input/index.js +14 -0
- package/lib/style-animation-input/index.js.map +1 -0
- package/lib/style-animation-input/src/props.d.ts +15 -0
- package/lib/style-animation-input/src/props.js +18 -0
- package/lib/style-animation-input/src/props.js.map +1 -0
- package/lib/style-animation-input/src/style-animation-input.vue.d.ts +24 -0
- package/lib/style-animation-input/src/style-animation-input.vue.js +11 -0
- package/lib/style-animation-input/src/style-animation-input.vue.js.map +1 -0
- package/lib/style-animation-input/src/style-animation-input.vue2.js +120 -0
- package/lib/style-animation-input/src/style-animation-input.vue2.js.map +1 -0
- package/lib/style-animation-input/style/index.css +1 -0
- package/lib/style-animation-input/style/index.scss +14 -0
- package/lib/style-box-input/index.d.ts +1 -1
- package/lib/style-box-input/src/style-box-input.vue.d.ts +1 -1
- package/lib/style-input/index.d.ts +1 -1
- package/lib/style-input/src/style-input.vue.d.ts +1 -1
- package/lib/style-number-input/index.d.ts +1 -1
- package/lib/style-number-input/src/style-number-input.vue.d.ts +1 -1
- package/lib/style-shadow-input/index.d.ts +2 -2
- package/lib/style-shadow-input/src/style-shadow-content.vue.d.ts +1 -1
- package/lib/style-shadow-input/src/style-shadow-input.vue.d.ts +1 -1
- package/lib/table/index.d.ts +2 -2
- package/lib/tiny-editor/index.d.ts +4 -4
- package/lib/tiny-editor/src/tiny-editor.vue.d.ts +4 -4
- package/lib/video-input/index.d.ts +4 -4
- package/lib/video-input/src/video-input.vue.d.ts +4 -4
- package/lib/video-list-input/index.d.ts +3 -3
- package/lib/video-list-input/src/video-list-input.vue.d.ts +3 -3
- package/package.json +4 -4
package/lib/index.scss
CHANGED
@@ -22,6 +22,8 @@
|
|
22
22
|
@import './table/style/index.scss';
|
23
23
|
@import './poster-input/style/index.scss';
|
24
24
|
@import './hot-area-input/style/index.scss';
|
25
|
+
@import './animate-select/style/index.scss';
|
26
|
+
@import './style-animation-input/style/index.scss';
|
25
27
|
|
26
28
|
//
|
27
29
|
::-webkit-scrollbar {
|
@@ -46,4 +48,16 @@
|
|
46
48
|
*::after {
|
47
49
|
box-sizing: border-box;
|
48
50
|
}
|
51
|
+
|
52
|
+
.cl:after {
|
53
|
+
content: '.';
|
54
|
+
display: block;
|
55
|
+
height: 0;
|
56
|
+
clear: both;
|
57
|
+
visibility: hidden;
|
58
|
+
}
|
59
|
+
|
60
|
+
.cl {
|
61
|
+
zoom: 1;
|
62
|
+
}
|
49
63
|
/* stylelint-enable */
|
package/lib/page-diy/index.d.ts
CHANGED
@@ -148,7 +148,7 @@ export declare const PageDiy: import("@vipl520/utils").WithInstall<import("vue")
|
|
148
148
|
};
|
149
149
|
}>;
|
150
150
|
dkSettingForm: import("vue").Ref<{
|
151
|
-
rule: {
|
151
|
+
rule: ({
|
152
152
|
type: string;
|
153
153
|
props: {
|
154
154
|
modelValue: string;
|
@@ -182,7 +182,73 @@ export declare const PageDiy: import("@vipl520/utils").WithInstall<import("vue")
|
|
182
182
|
};
|
183
183
|
})[];
|
184
184
|
}[];
|
185
|
-
}
|
185
|
+
} | {
|
186
|
+
type: string;
|
187
|
+
props: {
|
188
|
+
modelValue: string;
|
189
|
+
};
|
190
|
+
style: string;
|
191
|
+
children: {
|
192
|
+
type: string;
|
193
|
+
props: {
|
194
|
+
name: string;
|
195
|
+
};
|
196
|
+
children: ({
|
197
|
+
type: string;
|
198
|
+
slot: string;
|
199
|
+
style: string;
|
200
|
+
children: ({
|
201
|
+
type: string;
|
202
|
+
style: string;
|
203
|
+
children?: undefined;
|
204
|
+
} | {
|
205
|
+
type: string;
|
206
|
+
children: any[];
|
207
|
+
style?: undefined;
|
208
|
+
})[];
|
209
|
+
} | {
|
210
|
+
type: string;
|
211
|
+
field: string;
|
212
|
+
value: string;
|
213
|
+
title: string;
|
214
|
+
control: ({
|
215
|
+
handle: (val: any) => boolean;
|
216
|
+
rule: {
|
217
|
+
type: string;
|
218
|
+
field: string;
|
219
|
+
title: string;
|
220
|
+
value: {
|
221
|
+
animationDelay: string;
|
222
|
+
animationDuration: string;
|
223
|
+
animationIterationCount: string;
|
224
|
+
};
|
225
|
+
}[];
|
226
|
+
} | {
|
227
|
+
handle: (val: any) => boolean;
|
228
|
+
rule: {
|
229
|
+
type: string;
|
230
|
+
field: string;
|
231
|
+
title: string;
|
232
|
+
value: {
|
233
|
+
animationDelay: string;
|
234
|
+
animationDuration: string;
|
235
|
+
animationIterationCount: number;
|
236
|
+
};
|
237
|
+
}[];
|
238
|
+
})[];
|
239
|
+
effect?: undefined;
|
240
|
+
} | {
|
241
|
+
type: string;
|
242
|
+
field: string;
|
243
|
+
title: string;
|
244
|
+
value: boolean;
|
245
|
+
effect: {
|
246
|
+
help: string;
|
247
|
+
};
|
248
|
+
control?: undefined;
|
249
|
+
})[];
|
250
|
+
}[];
|
251
|
+
})[];
|
186
252
|
api: {};
|
187
253
|
options: {
|
188
254
|
form: {
|
@@ -290,10 +356,10 @@ export declare const PageDiy: import("@vipl520/utils").WithInstall<import("vue")
|
|
290
356
|
};
|
291
357
|
}>>, {
|
292
358
|
type: string;
|
293
|
-
config: Record<string, any>;
|
294
|
-
loading: boolean;
|
295
359
|
menu: Record<string, any>;
|
296
360
|
mask: string;
|
361
|
+
config: Record<string, any>;
|
362
|
+
loading: boolean;
|
297
363
|
height: string;
|
298
364
|
rightAsideWidth: string;
|
299
365
|
leftAsideWidth: string;
|
@@ -22,10 +22,11 @@ declare const _default: import("vue").DefineComponent<{
|
|
22
22
|
}, {
|
23
23
|
id: import("vue").ComputedRef<string | number>;
|
24
24
|
state: any;
|
25
|
+
previewSetting: any;
|
25
26
|
}, any, {
|
26
27
|
pageConfig(): {};
|
27
28
|
_style(): any;
|
28
|
-
_animate():
|
29
|
+
_animate(): string;
|
29
30
|
}, {
|
30
31
|
active(): void;
|
31
32
|
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
@@ -34,9 +34,11 @@ const _sfc_main = vue.defineComponent({
|
|
34
34
|
const { unique } = vue.toRefs(props);
|
35
35
|
const id = vue.computed(() => unique.value || uni++);
|
36
36
|
const state = vue.inject('fcx');
|
37
|
+
const previewSetting = vue.inject('previewSetting');
|
37
38
|
return {
|
38
39
|
id,
|
39
40
|
state,
|
41
|
+
previewSetting,
|
40
42
|
}
|
41
43
|
},
|
42
44
|
computed: {
|
@@ -44,26 +46,21 @@ const _sfc_main = vue.defineComponent({
|
|
44
46
|
return {}
|
45
47
|
},
|
46
48
|
_style() {
|
49
|
+
let style = { ...this.setting.style, ...this.setting.animation };
|
47
50
|
if (this.setting.is_position) {
|
48
|
-
|
49
|
-
...this.setting.style,
|
51
|
+
style = Object.assign(style, {
|
50
52
|
...this.setting.position,
|
51
53
|
position: 'absolute',
|
52
|
-
}
|
53
|
-
} else {
|
54
|
-
return {
|
55
|
-
...this.setting.style,
|
56
|
-
}
|
54
|
+
});
|
57
55
|
}
|
56
|
+
return style
|
58
57
|
},
|
59
58
|
_animate() {
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
return ''
|
66
|
-
// }
|
59
|
+
if (this.setting.animation_preview !== false && this.setting.animate && !this.previewSetting.closeAnimate) {
|
60
|
+
return 'animate__' + this.setting.animate
|
61
|
+
} else {
|
62
|
+
return ''
|
63
|
+
}
|
67
64
|
},
|
68
65
|
},
|
69
66
|
beforeUnmount() {
|
@@ -88,7 +85,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
88
85
|
const _component_dk_icon = vue.resolveComponent("dk-icon");
|
89
86
|
|
90
87
|
return (vue.openBlock(), vue.createElementBlock("div", {
|
91
|
-
class: vue.normalizeClass(["drag-tool animate__animated", { active: _ctx.state.active === _ctx.id }]),
|
88
|
+
class: vue.normalizeClass(["drag-tool animate__animated", [{ active: _ctx.state.active === _ctx.id }, _ctx._animate]]),
|
92
89
|
style: vue.normalizeStyle(_ctx._style),
|
93
90
|
onClick: _cache[4] || (_cache[4] = vue.withModifiers((...args) => (_ctx.active && _ctx.active(...args)), ["stop"]))
|
94
91
|
}, [
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DragTool.vue.js","sources":["../../../../src/page-diy/src/components/DragTool.vue"],"sourcesContent":["<template>\n <div\n class=\"drag-tool animate__animated\"\n :class=\"{ active: state.active === id }\"\n :style=\"_style\"\n @click.stop=\"active\"\n >\n <div v-if=\"mask\" class=\"drag-mask\"></div>\n <div class=\"drag-r\">\n <div class=\"drag-btn\" title=\"添加当前组件\" @click=\"$emit('create')\">\n <dk-icon icon=\"CirclePlus\"></dk-icon>\n </div>\n <div class=\"drag-btn\" title=\"复制当前组件\" @click=\"$emit('copy')\">\n <dk-icon icon=\"CopyDocument\"></dk-icon>\n </div>\n <div v-if=\"children\" class=\"drag-btn\" title=\"添加子组件\" @click=\"$emit('addChild')\">\n <dk-icon icon=\"fluent:tab-add-20-regular\"></dk-icon>\n </div>\n <div class=\"drag-btn drag-btn-danger\" title=\"删除组件\" @click=\"$emit('delete')\">\n <dk-icon icon=\"Close\"></dk-icon>\n </div>\n </div>\n <slot name=\"default\"></slot>\n </div>\n</template>\n\n<script>\nimport { computed, inject, toRefs, defineComponent } from 'vue'\
|
1
|
+
{"version":3,"file":"DragTool.vue.js","sources":["../../../../src/page-diy/src/components/DragTool.vue"],"sourcesContent":["<template>\n <div\n class=\"drag-tool animate__animated\"\n :class=\"[{ active: state.active === id }, _animate]\"\n :style=\"_style\"\n @click.stop=\"active\"\n >\n <div v-if=\"mask\" class=\"drag-mask\"></div>\n <div class=\"drag-r\">\n <div class=\"drag-btn\" title=\"添加当前组件\" @click=\"$emit('create')\">\n <dk-icon icon=\"CirclePlus\"></dk-icon>\n </div>\n <div class=\"drag-btn\" title=\"复制当前组件\" @click=\"$emit('copy')\">\n <dk-icon icon=\"CopyDocument\"></dk-icon>\n </div>\n <div v-if=\"children\" class=\"drag-btn\" title=\"添加子组件\" @click=\"$emit('addChild')\">\n <dk-icon icon=\"fluent:tab-add-20-regular\"></dk-icon>\n </div>\n <div class=\"drag-btn drag-btn-danger\" title=\"删除组件\" @click=\"$emit('delete')\">\n <dk-icon icon=\"Close\"></dk-icon>\n </div>\n </div>\n <slot name=\"default\"></slot>\n </div>\n</template>\n\n<script>\nimport { computed, inject, toRefs, defineComponent } from 'vue'\nlet uni = 1\nexport default defineComponent({\n name: 'DragTool',\n props: {\n dragBtn: {\n default: false,\n type: Boolean,\n },\n children: {\n default: '',\n type: String,\n },\n unique: {\n default: '',\n type: String,\n },\n mask: {\n default: false,\n type: Boolean,\n },\n setting: {\n default: () => {},\n type: [Object],\n },\n },\n setup(props) {\n const { unique } = toRefs(props)\n const id = computed(() => unique.value || uni++)\n const state = inject('fcx')\n const previewSetting = inject('previewSetting')\n return {\n id,\n state,\n previewSetting,\n }\n },\n computed: {\n pageConfig() {\n return {}\n },\n _style() {\n let style = { ...this.setting.style, ...this.setting.animation }\n if (this.setting.is_position) {\n style = Object.assign(style, {\n ...this.setting.position,\n position: 'absolute',\n })\n }\n return style\n },\n _animate() {\n if (this.setting.animation_preview !== false && this.setting.animate && !this.previewSetting.closeAnimate) {\n return 'animate__' + this.setting.animate\n } else {\n return ''\n }\n },\n },\n beforeUnmount() {\n this.state = {}\n },\n methods: {\n active() {\n if (this.state.active === this.id) return\n this.state.active = this.id\n this.$emit('active')\n },\n },\n})\n</script>\n"],"names":["defineComponent","toRefs","computed","inject","_createElementBlock","_normalizeClass","_openBlock","_createElementVNode","_createVNode","_renderSlot"],"mappings":"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"}
|
@@ -60,8 +60,10 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
60
60
|
const form = vue.ref({
|
61
61
|
showLine: cache.showLine || false,
|
62
62
|
margin: cache.margin || 0,
|
63
|
-
preview: cache.preview || false
|
63
|
+
preview: cache.preview || false,
|
64
|
+
closeAnimate: cache.closeAnimate || false
|
64
65
|
});
|
66
|
+
vue.provide("previewSetting", form);
|
65
67
|
const changeForm = () => {
|
66
68
|
utils.storage.set(key, JSON.stringify(form.value));
|
67
69
|
};
|
@@ -95,9 +97,11 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
95
97
|
if (form.value.preview) {
|
96
98
|
line["--padding"] = "0";
|
97
99
|
line["--overflow"] = "hidden";
|
100
|
+
line["--minHeight"] = "0px";
|
98
101
|
} else {
|
99
102
|
line["--padding"] = "2px 0";
|
100
103
|
line["--overflow"] = "initial";
|
104
|
+
line["--minHeight"] = "30px";
|
101
105
|
}
|
102
106
|
return {
|
103
107
|
...props.pageConfig.style,
|
@@ -116,6 +120,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
116
120
|
const _component_el_dropdown_item = vue.resolveComponent("el-dropdown-item");
|
117
121
|
const _component_el_dropdown_menu = vue.resolveComponent("el-dropdown-menu");
|
118
122
|
const _component_el_dropdown = vue.resolveComponent("el-dropdown");
|
123
|
+
const _component_el_tooltip = vue.resolveComponent("el-tooltip");
|
119
124
|
const _component_el_switch = vue.resolveComponent("el-switch");
|
120
125
|
const _component_el_form_item = vue.resolveComponent("el-form-item");
|
121
126
|
const _component_el_slider = vue.resolveComponent("el-slider");
|
@@ -209,6 +214,20 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
209
214
|
]),
|
210
215
|
default: vue.withCtx(() => [
|
211
216
|
vue.createVNode(_component_el_form_item, { label: "\u663E\u793A\u7F51\u683C" }, {
|
217
|
+
label: vue.withCtx(() => [
|
218
|
+
vue.createVNode(_component_el_tooltip, {
|
219
|
+
class: "box-item",
|
220
|
+
effect: "dark",
|
221
|
+
content: "\u663E\u793A\u7EC4\u4EF6\u7F51\u683C\u7EBF",
|
222
|
+
placement: "right-start"
|
223
|
+
}, {
|
224
|
+
default: vue.withCtx(() => [
|
225
|
+
vue.createTextVNode(" \u663E\u793A\u7F51\u683C ")
|
226
|
+
]),
|
227
|
+
_: 1
|
228
|
+
/* STABLE */
|
229
|
+
})
|
230
|
+
]),
|
212
231
|
default: vue.withCtx(() => [
|
213
232
|
vue.createVNode(_component_el_switch, {
|
214
233
|
modelValue: form.value.showLine,
|
@@ -220,6 +239,20 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
220
239
|
/* STABLE */
|
221
240
|
}),
|
222
241
|
vue.createVNode(_component_el_form_item, { label: "\u7F51\u683C\u95F4\u8DDD" }, {
|
242
|
+
label: vue.withCtx(() => [
|
243
|
+
vue.createVNode(_component_el_tooltip, {
|
244
|
+
class: "box-item",
|
245
|
+
effect: "dark",
|
246
|
+
content: "\u8BBE\u7F6E\u7EC4\u4EF6\u4E4B\u95F4\u7684\u7F51\u683C\u95F4\u8DDD",
|
247
|
+
placement: "right-start"
|
248
|
+
}, {
|
249
|
+
default: vue.withCtx(() => [
|
250
|
+
vue.createTextVNode(" \u7F51\u683C\u95F4\u8DDD ")
|
251
|
+
]),
|
252
|
+
_: 1
|
253
|
+
/* STABLE */
|
254
|
+
})
|
255
|
+
]),
|
223
256
|
default: vue.withCtx(() => [
|
224
257
|
vue.createVNode(_component_el_slider, {
|
225
258
|
modelValue: form.value.margin,
|
@@ -235,6 +268,20 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
235
268
|
/* STABLE */
|
236
269
|
}),
|
237
270
|
vue.createVNode(_component_el_form_item, { label: "\u6548\u679C\u9884\u89C8" }, {
|
271
|
+
label: vue.withCtx(() => [
|
272
|
+
vue.createVNode(_component_el_tooltip, {
|
273
|
+
class: "box-item",
|
274
|
+
effect: "dark",
|
275
|
+
content: "\u6E05\u9664\u6240\u6709\u7F51\u683C\u3001\u95F4\u8DDD\u6548\u679C\uFF0C\u5927\u81F4\u548C\u771F\u5B9E\u5DEE\u4E0D\u591A",
|
276
|
+
placement: "right-start"
|
277
|
+
}, {
|
278
|
+
default: vue.withCtx(() => [
|
279
|
+
vue.createTextVNode(" \u6548\u679C\u9884\u89C8 ")
|
280
|
+
]),
|
281
|
+
_: 1
|
282
|
+
/* STABLE */
|
283
|
+
})
|
284
|
+
]),
|
238
285
|
default: vue.withCtx(() => [
|
239
286
|
vue.createVNode(_component_el_switch, {
|
240
287
|
modelValue: form.value.preview,
|
@@ -244,6 +291,31 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
244
291
|
]),
|
245
292
|
_: 1
|
246
293
|
/* STABLE */
|
294
|
+
}),
|
295
|
+
vue.createVNode(_component_el_form_item, { label: "\u5173\u95ED\u52A8\u753B" }, {
|
296
|
+
label: vue.withCtx(() => [
|
297
|
+
vue.createVNode(_component_el_tooltip, {
|
298
|
+
class: "box-item",
|
299
|
+
effect: "dark",
|
300
|
+
content: "\u5173\u95ED\u6240\u6709\u9884\u89C8\u7684\u52A8\u753B\u6548\u679C",
|
301
|
+
placement: "right-start"
|
302
|
+
}, {
|
303
|
+
default: vue.withCtx(() => [
|
304
|
+
vue.createTextVNode(" \u5173\u95ED\u52A8\u753B ")
|
305
|
+
]),
|
306
|
+
_: 1
|
307
|
+
/* STABLE */
|
308
|
+
})
|
309
|
+
]),
|
310
|
+
default: vue.withCtx(() => [
|
311
|
+
vue.createVNode(_component_el_switch, {
|
312
|
+
modelValue: form.value.closeAnimate,
|
313
|
+
"onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => form.value.closeAnimate = $event),
|
314
|
+
onChange: _cache[9] || (_cache[9] = ($event) => changeForm())
|
315
|
+
}, null, 8, ["modelValue"])
|
316
|
+
]),
|
317
|
+
_: 1
|
318
|
+
/* STABLE */
|
247
319
|
})
|
248
320
|
]),
|
249
321
|
_: 1
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"PreviewPhone.vue2.js","sources":["../../../../src/page-diy/src/components/PreviewPhone.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'PreviewPhone',\n});\n</script>\n<template>\n <div class=\"preview-phone\">\n <div class=\"phone\">\n <div class=\"phone-header\">\n <div class=\"phone-header-top\">\n <div class=\"phone-time\">\n <span>{{ time }}</span>\n <van-icon name=\"wechat\" color=\"#2ddd71\" />\n </div>\n <div />\n <div class=\"phone-battery\">\n <span class=\"m-r-4px\">100%</span>\n <dk-icon icon=\"gg:battery-full\" :size=\"18\" color=\"#555\" hover-color=\"#f00\"></dk-icon>\n </div>\n </div>\n <div class=\"phone-title\">\n <div class=\"phone-title-icon\">\n <el-dropdown trigger=\"click\" placement=\"bottom-start\">\n <dk-icon icon=\"Close\" hover-color=\"var(--el-color-primary)\" :size=\"20\" style=\"cursor: pointer\"></dk-icon>\n <template #dropdown>\n <el-dropdown-menu>\n <el-dropdown-item @click=\"clear('rule')\">清除组件</el-dropdown-item>\n <el-dropdown-item @click=\"clear('page')\">清除页面</el-dropdown-item>\n </el-dropdown-menu>\n </template>\n </el-dropdown>\n </div>\n <div>页面标题</div>\n <div class=\"phone-title-icon\">\n <el-popover placement=\"bottom\" :width=\"200\" trigger=\"click\">\n <template #reference>\n <dk-icon icon=\"MoreFilled\" :size=\"20\" hover-color=\"var(--el-color-primary)\" style=\"cursor: pointer\" />\n </template>\n <el-form-item label=\"显示网格\">\n <el-switch v-model=\"form.showLine\" @change=\"changeForm()\" />\n </el-form-item>\n <el-form-item label=\"网格间距\">\n <el-slider v-model=\"form.margin\" :min=\"0\" :step=\"1\" show-stops :max=\"20\" @change=\"changeForm()\" />\n </el-form-item>\n <el-form-item label=\"效果预览\">\n <el-switch v-model=\"form.preview\" @change=\"changeForm()\" />\n </el-form-item>\n </el-popover>\n </div>\n </div>\n </div>\n <div class=\"phone-body _fc-m-drag\" :style=\"_style\">\n <slot />\n </div>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed, inject } from 'vue'\nimport { storage } from '@vipl520/utils'\nimport { ElMessage, ElMessageBox } from 'element-plus'\n\nconst diy: any = inject('diy')\nconst props = defineProps({\n value: {\n default: '',\n type: String,\n },\n pageConfig: {\n default: () => {},\n type: [Object],\n },\n})\n\nconst key = 'preview-phone'\nconst cache: any = JSON.parse(storage.get(key) || '{}')\n\nconst form = ref({\n showLine: cache.showLine || false,\n margin: cache.margin || 0,\n preview: cache.preview || false,\n})\n\nconst changeForm = () => {\n storage.set(key, JSON.stringify(form.value))\n}\nconst clear = (type = '') => {\n const { proxy } = diy\n const typeName: any = {\n rule: '组件',\n config: '配置',\n }\n ElMessageBox.confirm('当前要清除' + typeName[type] + ',是否继续?', '警告', {\n confirmButtonText: '确定',\n cancelButtonText: '取消',\n type: 'warning',\n })\n .then(() => {\n proxy.clear(type)\n ElMessage.success('清除成功')\n })\n .catch(() => {})\n}\nconst _style = computed(() => {\n let line: any = {\n '--padding': '0',\n '--overflow': 'initial',\n }\n if (form.value.showLine && !form.value.preview) {\n line = {\n '--margin': form.value.margin + 'px',\n '--showDashed': '1px',\n }\n }\n if (form.value.preview) {\n line['--padding'] = '0'\n line['--overflow'] = 'hidden'\n } else {\n line['--padding'] = '2px 0'\n line['--overflow'] = 'initial'\n }\n return {\n ...props.pageConfig.style,\n ...line,\n }\n})\n\nconst time = computed(() => {\n const d = new Date()\n const hour = d.getHours() // 得到小时数\n const minute = d.getMinutes() // 得到分钟数\n return hour + ':' + minute\n})\n</script>\n"],"names":["__MACROS_defineComponent","inject","storage","ref","ElMessageBox","ElMessage","computed"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,MAA6B,cAAAA,mBAAyB,CAAA;AAAA,EACpD,IAAM,EAAA,cAAA;AACR,CAAC,CAAA,CAAA;;;;;;;;;;;;;;;;
|
1
|
+
{"version":3,"file":"PreviewPhone.vue2.js","sources":["../../../../src/page-diy/src/components/PreviewPhone.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'PreviewPhone',\n});\n</script>\n<template>\n <div class=\"preview-phone\">\n <div class=\"phone\">\n <div class=\"phone-header\">\n <div class=\"phone-header-top\">\n <div class=\"phone-time\">\n <span>{{ time }}</span>\n <van-icon name=\"wechat\" color=\"#2ddd71\" />\n </div>\n <div />\n <div class=\"phone-battery\">\n <span class=\"m-r-4px\">100%</span>\n <dk-icon icon=\"gg:battery-full\" :size=\"18\" color=\"#555\" hover-color=\"#f00\"></dk-icon>\n </div>\n </div>\n <div class=\"phone-title\">\n <div class=\"phone-title-icon\">\n <el-dropdown trigger=\"click\" placement=\"bottom-start\">\n <dk-icon icon=\"Close\" hover-color=\"var(--el-color-primary)\" :size=\"20\" style=\"cursor: pointer\"></dk-icon>\n <template #dropdown>\n <el-dropdown-menu>\n <el-dropdown-item @click=\"clear('rule')\">清除组件</el-dropdown-item>\n <el-dropdown-item @click=\"clear('page')\">清除页面</el-dropdown-item>\n </el-dropdown-menu>\n </template>\n </el-dropdown>\n </div>\n <div>页面标题</div>\n <div class=\"phone-title-icon\">\n <el-popover placement=\"bottom\" :width=\"200\" trigger=\"click\">\n <template #reference>\n <dk-icon icon=\"MoreFilled\" :size=\"20\" hover-color=\"var(--el-color-primary)\" style=\"cursor: pointer\" />\n </template>\n <el-form-item label=\"显示网格\">\n <template #label>\n <el-tooltip class=\"box-item\" effect=\"dark\" content=\"显示组件网格线\" placement=\"right-start\">\n 显示网格\n </el-tooltip>\n </template>\n <el-switch v-model=\"form.showLine\" @change=\"changeForm()\" />\n </el-form-item>\n <el-form-item label=\"网格间距\">\n <template #label>\n <el-tooltip class=\"box-item\" effect=\"dark\" content=\"设置组件之间的网格间距\" placement=\"right-start\">\n 网格间距\n </el-tooltip>\n </template>\n <el-slider v-model=\"form.margin\" :min=\"0\" :step=\"1\" show-stops :max=\"20\" @change=\"changeForm()\" />\n </el-form-item>\n <el-form-item label=\"效果预览\">\n <template #label>\n <el-tooltip\n class=\"box-item\"\n effect=\"dark\"\n content=\"清除所有网格、间距效果,大致和真实差不多\"\n placement=\"right-start\"\n >\n 效果预览\n </el-tooltip>\n </template>\n <el-switch v-model=\"form.preview\" @change=\"changeForm()\" />\n </el-form-item>\n <el-form-item label=\"关闭动画\">\n <template #label>\n <el-tooltip class=\"box-item\" effect=\"dark\" content=\"关闭所有预览的动画效果\" placement=\"right-start\">\n 关闭动画\n </el-tooltip>\n </template>\n <el-switch v-model=\"form.closeAnimate\" @change=\"changeForm()\" />\n </el-form-item>\n </el-popover>\n </div>\n </div>\n </div>\n <div class=\"phone-body _fc-m-drag\" :style=\"_style\">\n <slot />\n </div>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed, inject, provide } from 'vue'\nimport { storage } from '@vipl520/utils'\nimport { ElMessage, ElMessageBox } from 'element-plus'\n\nconst diy: any = inject('diy')\nconst props = defineProps({\n value: {\n default: '',\n type: String,\n },\n pageConfig: {\n default: () => {},\n type: [Object],\n },\n})\n\nconst key = 'preview-phone'\nconst cache: any = JSON.parse(storage.get(key) || '{}')\n\nconst form = ref({\n showLine: cache.showLine || false,\n margin: cache.margin || 0,\n preview: cache.preview || false,\n closeAnimate: cache.closeAnimate || false,\n})\n\nprovide('previewSetting', form)\n\nconst changeForm = () => {\n storage.set(key, JSON.stringify(form.value))\n}\nconst clear = (type = '') => {\n const { proxy } = diy\n const typeName: any = {\n rule: '组件',\n config: '配置',\n }\n ElMessageBox.confirm('当前要清除' + typeName[type] + ',是否继续?', '警告', {\n confirmButtonText: '确定',\n cancelButtonText: '取消',\n type: 'warning',\n })\n .then(() => {\n proxy.clear(type)\n ElMessage.success('清除成功')\n })\n .catch(() => {})\n}\nconst _style = computed(() => {\n let line: any = {\n '--padding': '0',\n '--overflow': 'initial',\n }\n if (form.value.showLine && !form.value.preview) {\n line = {\n '--margin': form.value.margin + 'px',\n '--showDashed': '1px',\n }\n }\n if (form.value.preview) {\n line['--padding'] = '0'\n line['--overflow'] = 'hidden'\n line['--minHeight'] = '0px'\n } else {\n line['--padding'] = '2px 0'\n line['--overflow'] = 'initial'\n line['--minHeight'] = '30px'\n }\n return {\n ...props.pageConfig.style,\n ...line,\n }\n})\n\nconst time = computed(() => {\n const d = new Date()\n const hour = d.getHours() // 得到小时数\n const minute = d.getMinutes() // 得到分钟数\n return hour + ':' + minute\n})\n</script>\n"],"names":["__MACROS_defineComponent","inject","storage","ref","provide","ElMessageBox","ElMessage","computed"],"mappings":"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"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
export default function dkSetting(rule?: null): {
|
1
|
+
export default function dkSetting(rule?: null): ({
|
2
2
|
type: string;
|
3
3
|
props: {
|
4
4
|
modelValue: string;
|
@@ -32,4 +32,70 @@ export default function dkSetting(rule?: null): {
|
|
32
32
|
};
|
33
33
|
})[];
|
34
34
|
}[];
|
35
|
-
}
|
35
|
+
} | {
|
36
|
+
type: string;
|
37
|
+
props: {
|
38
|
+
modelValue: string;
|
39
|
+
};
|
40
|
+
style: string;
|
41
|
+
children: {
|
42
|
+
type: string;
|
43
|
+
props: {
|
44
|
+
name: string;
|
45
|
+
};
|
46
|
+
children: ({
|
47
|
+
type: string;
|
48
|
+
slot: string;
|
49
|
+
style: string;
|
50
|
+
children: ({
|
51
|
+
type: string;
|
52
|
+
style: string;
|
53
|
+
children?: undefined;
|
54
|
+
} | {
|
55
|
+
type: string;
|
56
|
+
children: any[];
|
57
|
+
style?: undefined;
|
58
|
+
})[];
|
59
|
+
} | {
|
60
|
+
type: string;
|
61
|
+
field: string;
|
62
|
+
value: string;
|
63
|
+
title: string;
|
64
|
+
control: ({
|
65
|
+
handle: (val: any) => boolean;
|
66
|
+
rule: {
|
67
|
+
type: string;
|
68
|
+
field: string;
|
69
|
+
title: string;
|
70
|
+
value: {
|
71
|
+
animationDelay: string;
|
72
|
+
animationDuration: string;
|
73
|
+
animationIterationCount: string;
|
74
|
+
};
|
75
|
+
}[];
|
76
|
+
} | {
|
77
|
+
handle: (val: any) => boolean;
|
78
|
+
rule: {
|
79
|
+
type: string;
|
80
|
+
field: string;
|
81
|
+
title: string;
|
82
|
+
value: {
|
83
|
+
animationDelay: string;
|
84
|
+
animationDuration: string;
|
85
|
+
animationIterationCount: number;
|
86
|
+
};
|
87
|
+
}[];
|
88
|
+
})[];
|
89
|
+
effect?: undefined;
|
90
|
+
} | {
|
91
|
+
type: string;
|
92
|
+
field: string;
|
93
|
+
title: string;
|
94
|
+
value: boolean;
|
95
|
+
effect: {
|
96
|
+
help: string;
|
97
|
+
};
|
98
|
+
control?: undefined;
|
99
|
+
})[];
|
100
|
+
}[];
|
101
|
+
})[];
|
@@ -2,6 +2,8 @@
|
|
2
2
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
4
4
|
|
5
|
+
var animates = require('../../../../animate-select/src/animates.js');
|
6
|
+
|
5
7
|
function createTitle(title) {
|
6
8
|
return {
|
7
9
|
type: "h2",
|
@@ -16,6 +18,15 @@ function createTitle(title) {
|
|
16
18
|
]
|
17
19
|
};
|
18
20
|
}
|
21
|
+
function inLoop(val) {
|
22
|
+
const animate = animates.default[0].animate;
|
23
|
+
for (let i = 0; i < animate.length; i++) {
|
24
|
+
if (animate[i].value === val) {
|
25
|
+
return true;
|
26
|
+
}
|
27
|
+
}
|
28
|
+
return false;
|
29
|
+
}
|
19
30
|
function dkSetting(rule = null) {
|
20
31
|
const form = [
|
21
32
|
{
|
@@ -41,6 +52,78 @@ function dkSetting(rule = null) {
|
|
41
52
|
]
|
42
53
|
}
|
43
54
|
]
|
55
|
+
},
|
56
|
+
{
|
57
|
+
type: "el-collapse",
|
58
|
+
props: {
|
59
|
+
modelValue: "base"
|
60
|
+
},
|
61
|
+
style: "width:100%",
|
62
|
+
children: [
|
63
|
+
// 基础配置
|
64
|
+
{
|
65
|
+
type: "el-collapse-item",
|
66
|
+
props: { name: "base" },
|
67
|
+
children: [
|
68
|
+
createTitle("\u52A8\u753B\u914D\u7F6E"),
|
69
|
+
{
|
70
|
+
type: "DkAnimateSelect",
|
71
|
+
field: "animate",
|
72
|
+
value: "",
|
73
|
+
title: "\u9009\u62E9\u52A8\u753B",
|
74
|
+
control: [
|
75
|
+
{
|
76
|
+
handle: function(val) {
|
77
|
+
if (!val)
|
78
|
+
return false;
|
79
|
+
return inLoop(val);
|
80
|
+
},
|
81
|
+
rule: [
|
82
|
+
{
|
83
|
+
type: "dk-style-animation-input",
|
84
|
+
field: "animation",
|
85
|
+
title: "",
|
86
|
+
value: {
|
87
|
+
animationDelay: "0s",
|
88
|
+
animationDuration: "1s",
|
89
|
+
animationIterationCount: "infinite"
|
90
|
+
}
|
91
|
+
}
|
92
|
+
]
|
93
|
+
},
|
94
|
+
{
|
95
|
+
handle: function(val) {
|
96
|
+
if (!val)
|
97
|
+
return false;
|
98
|
+
return !inLoop(val);
|
99
|
+
},
|
100
|
+
rule: [
|
101
|
+
{
|
102
|
+
type: "dk-style-animation-input",
|
103
|
+
field: "animation",
|
104
|
+
title: "",
|
105
|
+
value: {
|
106
|
+
animationDelay: "0s",
|
107
|
+
animationDuration: "1s",
|
108
|
+
animationIterationCount: 1
|
109
|
+
}
|
110
|
+
}
|
111
|
+
]
|
112
|
+
}
|
113
|
+
]
|
114
|
+
},
|
115
|
+
{
|
116
|
+
type: "switch",
|
117
|
+
field: "animation_preview",
|
118
|
+
title: "\u5B9E\u65F6\u9884\u89C8",
|
119
|
+
value: true,
|
120
|
+
effect: {
|
121
|
+
help: "\u8BBE\u7F6E\u5F53\u524D\u7EC4\u4EF6\u5FAA\u73AF\u52A8\u753B\u5B9E\u65F6\u9884\u89C8\uFF0C\u5F53\u524D\u4EC5\u4E3A\u8C03\u8BD5\u9879"
|
122
|
+
}
|
123
|
+
}
|
124
|
+
]
|
125
|
+
}
|
126
|
+
]
|
44
127
|
}
|
45
128
|
];
|
46
129
|
if (rule) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"dkSetting.js","sources":["../../../../../src/page-diy/src/config/base/dkSetting.js"],"sourcesContent":["
|
1
|
+
{"version":3,"file":"dkSetting.js","sources":["../../../../../src/page-diy/src/config/base/dkSetting.js"],"sourcesContent":["import Animates from '../../../../animate-select/src/animates'\n\nfunction createTitle(title) {\n return {\n type: 'h2',\n slot: 'title',\n style: 'display: flex;align-items: center;font-size: 14px;font-weight: 600;margin:0;padding:0',\n children: [\n {\n type: 'em',\n style: 'width: 6px; height: 18px; background: rgb(64, 158, 255); display: block; margin-right: 5px;',\n },\n { type: 'span', children: [title] },\n ],\n }\n}\n\nfunction inLoop(val) {\n const animate = Animates[0].animate\n for (let i = 0; i < animate.length; i++) {\n if (animate[i].value === val) {\n return true\n }\n }\n return false\n}\n\nexport default function dkSetting(rule = null) {\n const form = [\n {\n type: 'el-collapse',\n props: {\n modelValue: 'base',\n },\n style: 'width:100%',\n children: [\n // 基础配置\n {\n type: 'el-collapse-item',\n props: { name: 'base' },\n\n children: [\n createTitle('基础配置'),\n {\n type: 'DkStyleInput',\n field: 'style',\n value: {},\n title: '',\n props: { height: 180 },\n },\n ],\n },\n ],\n },\n {\n type: 'el-collapse',\n props: {\n modelValue: 'base',\n },\n style: 'width:100%',\n children: [\n // 基础配置\n {\n type: 'el-collapse-item',\n props: { name: 'base' },\n\n children: [\n createTitle('动画配置'),\n {\n type: 'DkAnimateSelect',\n field: 'animate',\n value: '',\n title: '选择动画',\n control: [\n {\n handle: function (val) {\n if (!val) return false\n return inLoop(val)\n },\n rule: [\n {\n type: 'dk-style-animation-input',\n field: 'animation',\n title: '',\n value: {\n animationDelay: '0s',\n animationDuration: '1s',\n animationIterationCount: 'infinite',\n },\n },\n ],\n },\n {\n handle: function (val) {\n if (!val) return false\n return !inLoop(val)\n },\n rule: [\n {\n type: 'dk-style-animation-input',\n field: 'animation',\n title: '',\n value: {\n animationDelay: '0s',\n animationDuration: '1s',\n animationIterationCount: 1,\n },\n },\n ],\n },\n ],\n },\n {\n type: 'switch',\n field: 'animation_preview',\n title: '实时预览',\n value: true,\n effect: {\n help: '设置当前组件循环动画实时预览,当前仅为调试项',\n },\n },\n ],\n },\n ],\n },\n ]\n // 判断是否允许开启悬浮\n if (rule) {\n if (rule.config.config.rule().fixed) {\n const fixedChildren = [\n createTitle('悬浮配置'),\n {\n type: 'switch',\n field: 'is_position',\n value: false,\n title: '开启悬浮',\n effect: {\n help: '设置组件是否开启悬浮',\n },\n control: [\n {\n value: true,\n rule: [\n {\n type: 'DkStylePositionInput',\n field: 'position',\n value: {},\n title: '',\n },\n ],\n },\n ],\n },\n ]\n const collapseFixed = {\n type: 'el-collapse-item',\n props: { name: 'fixed' },\n children: fixedChildren,\n }\n form[0].children.push(collapseFixed)\n }\n }\n return form\n}\n"],"names":["Animates"],"mappings":"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"}
|