@web-utils/component 2.0.10 → 2.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/3d28cc08.js +57 -0
- package/dist/chunks/{41a066be.js → 44b78389.js} +8 -8
- package/dist/chunks/5d33812d.js +147 -0
- package/dist/chunks/{61ad06b2.js → 822300f3.js} +3 -3
- package/dist/chunks/9d848bf6.js +99 -0
- package/dist/chunks/a0bb327b.js +96 -0
- package/dist/chunks/a8891d2c.js +30 -0
- package/dist/chunks/c69d5628.js +248 -0
- package/dist/chunks/de9fe802.js +24 -0
- package/dist/chunks/{5a78e0db.js → e1939731.js} +6 -5
- package/dist/components/address-input/index.js +56 -43
- package/dist/components/address-input/style.css +15 -1
- package/dist/components/aside-menu/index.js +36 -30
- package/dist/components/aside-menu/style.css +9 -1
- package/dist/components/awesome-button/index.js +35 -32
- package/dist/components/base.css +66 -1
- package/dist/components/capsule-tab/index.js +33 -27
- package/dist/components/capsule-tab/style.css +32 -1
- package/dist/components/chunk-file-uploader/index.js +88 -54
- package/dist/components/chunk-file-uploader/style.css +4 -1
- package/dist/components/chunk-file-uploader-button/index.js +31 -25
- package/dist/components/chunk-file-uploader-button/style.css +17 -1
- package/dist/components/chunk-file-uploader-drop/index.js +42 -28
- package/dist/components/chunk-file-uploader-drop/style.css +12 -1
- package/dist/components/chunk-file-uploader-file/index.js +212 -134
- package/dist/components/chunk-file-uploader-file/style.css +125 -1
- package/dist/components/chunk-file-uploader-files/index.js +34 -28
- package/dist/components/chunk-file-uploader-files/style.css +9 -1
- package/dist/components/chunk-file-uploader-list/index.js +35 -29
- package/dist/components/chunk-file-uploader-list/style.css +9 -1
- package/dist/components/chunk-file-uploader-un-support/index.js +38 -30
- package/dist/components/chunk-file-uploader-un-support/style.css +6 -1
- package/dist/components/code-mirror-editor/index.js +181 -153
- package/dist/components/code-mirror-editor/style.css +17 -1
- package/dist/components/color-picker/index.js +68 -49
- package/dist/components/confirm-button/index.js +21 -19
- package/dist/components/confirmable/index.js +19 -18
- package/dist/components/context-menu/index.js +130 -108
- package/dist/components/context-menu/style.css +88 -1
- package/dist/components/custom-scrollbar/index.js +67 -49
- package/dist/components/data-table-picker/index.js +81 -62
- package/dist/components/dynamic-table/index.js +113 -89
- package/dist/components/dynamic-table/style.css +30 -1
- package/dist/components/e-charts/index.js +201 -120
- package/dist/components/e-charts/style.css +10 -1
- package/dist/components/editable-progress/index.js +93 -60
- package/dist/components/editable-progress/style.css +37 -1
- package/dist/components/editable-tree/index.js +638 -423
- package/dist/components/editable-tree/style.css +82 -1
- package/dist/components/egd-collapse/index.js +46 -33
- package/dist/components/egd-collapse-item/index.js +76 -60
- package/dist/components/element-dialog/index.js +147 -95
- package/dist/components/element-dialog/style.css +102 -1
- package/dist/components/empty-view/index.js +34 -28
- package/dist/components/empty-view/style.css +17 -1
- package/dist/components/error-view/index.js +32 -26
- package/dist/components/error-view/style.css +17 -1
- package/dist/components/flex-column/index.js +40 -25
- package/dist/components/flex-item/index.js +57 -29
- package/dist/components/flex-row/index.js +40 -25
- package/dist/components/flex-scroller/index.js +32 -26
- package/dist/components/flex-scroller/style.css +20 -1
- package/dist/components/form-button/index.js +38 -34
- package/dist/components/form-cascader/index.js +81 -71
- package/dist/components/form-checkbox-group/index.js +113 -88
- package/dist/components/form-checkbox-group/style.css +51 -1
- package/dist/components/form-date-picker/index.js +132 -70
- package/dist/components/form-holder/index.js +39 -32
- package/dist/components/form-input/index.js +62 -56
- package/dist/components/form-input-email/index.js +60 -48
- package/dist/components/form-input-id-card/index.js +59 -53
- package/dist/components/form-input-number/index.js +68 -61
- package/dist/components/form-input-number/style.css +12 -1
- package/dist/components/form-input-phone-number/index.js +55 -49
- package/dist/components/form-input-time/index.js +59 -53
- package/dist/components/form-item/index.js +123 -80
- package/dist/components/form-item/style.css +11 -1
- package/dist/components/form-item-config-provider/index.js +26 -25
- package/dist/components/form-item-group/index.js +111 -85
- package/dist/components/form-item-group/style.css +30 -1
- package/dist/components/form-radio-group/index.js +104 -85
- package/dist/components/form-radio-group/style.css +53 -1
- package/dist/components/form-select/index.js +91 -76
- package/dist/components/form-switch/index.js +57 -51
- package/dist/components/form-textarea/index.js +57 -51
- package/dist/components/form-view/index.js +232 -165
- package/dist/components/form-view/style.css +158 -1
- package/dist/components/guide-steps/index.js +58 -44
- package/dist/components/guide-steps/style.css +34 -1
- package/dist/components/icon-card/index.js +35 -29
- package/dist/components/icon-card/style.css +56 -1
- package/dist/components/iframe-window/index.js +35 -29
- package/dist/components/iframe-window/style.css +20 -1
- package/dist/components/image-viewer/index.js +66 -48
- package/dist/components/image-viewer/style.css +21 -1
- package/dist/components/input-number/index.js +193 -127
- package/dist/components/input-number/style.css +15 -1
- package/dist/components/input-number-range/index.js +57 -45
- package/dist/components/input-number-range/style.css +12 -1
- package/dist/components/j-s-x-component/index.js +4 -4
- package/dist/components/keep-view-alive/index.js +120 -73
- package/dist/components/loading-view/index.js +32 -26
- package/dist/components/loading-view/style.css +17 -1
- package/dist/components/nav-bar/index.js +37 -27
- package/dist/components/nav-bar/style.css +17 -1
- package/dist/components/not-implement/index.js +31 -23
- package/dist/components/not-implement/style.css +15 -1
- package/dist/components/page/index.js +28 -22
- package/dist/components/page/style.css +12 -1
- package/dist/components/page-header/index.js +36 -30
- package/dist/components/page-header/style.css +14 -1
- package/dist/components/page-index/index.js +83 -62
- package/dist/components/page-index/style.css +23 -1
- package/dist/components/page-index-top/index.js +68 -53
- package/dist/components/page-skeleton/index.js +37 -31
- package/dist/components/page-skeleton/style.css +23 -1
- package/dist/components/page-skeleton-new/index.js +48 -42
- package/dist/components/page-skeleton-new/style.css +42 -1
- package/dist/components/pageable-table/index.js +253 -186
- package/dist/components/pageable-table/style.css +72 -1
- package/dist/components/pageable-view/index.js +199 -129
- package/dist/components/pageable-view/style.css +69 -1
- package/dist/components/photo-swipe/index.js +151 -110
- package/dist/components/photo-swipe/style.css +20 -1
- package/dist/components/resize-observer/index.js +68 -34
- package/dist/components/resize-observer/style.css +31 -1
- package/dist/components/search-popover/index.js +211 -153
- package/dist/components/search-popover/style.css +93 -1
- package/dist/components/sign-panel/index.js +142 -92
- package/dist/components/sign-panel/style.css +97 -1
- package/dist/components/split-pane/index.js +162 -101
- package/dist/components/split-pane/style.css +100 -1
- package/dist/components/stateful/index.js +34 -31
- package/dist/components/stateful/style.css +33 -1
- package/dist/components/static-pageable-table/index.js +44 -37
- package/dist/components/static-pageable-table/style.css +9 -1
- package/dist/components/swiper/index.js +150 -85
- package/dist/components/swiper/style.css +43 -1
- package/dist/components/tab/index.js +72 -54
- package/dist/components/tab/style.css +122 -1
- package/dist/components/tab-item/index.js +35 -30
- package/dist/components/table-column/index.js +32 -30
- package/dist/components/table-view/index.js +227 -156
- package/dist/components/table-view/style.css +95 -1
- package/dist/components/tag-render/index.js +58 -44
- package/dist/components/tag-render/style.css +33 -1
- package/dist/components/tinymce-editor/index.js +95 -79
- package/dist/components/tinymce-editor/style.css +43 -1
- package/dist/components/tinymce-wrapper/index.js +121 -92
- package/dist/components/tinymce-wrapper/style.css +36 -1
- package/dist/components/toolbar/index.js +84 -63
- package/dist/components/toolbar/style.css +39 -1
- package/dist/components/toolbar-button/index.js +48 -41
- package/dist/components/toolbar-button/style.css +21 -1
- package/dist/components/trigger/index.js +36 -29
- package/dist/components/vue-tags-input/index.js +308 -188
- package/dist/components/vue-tags-input/style.css +682 -1
- package/dist/components/watermark/index.js +37 -25
- package/dist/components/watermark/style.css +11 -1
- package/dist/components/x-dialog/index.js +93 -67
- package/dist/components/x-dialog/style.css +15 -1
- package/dist/index.css +1105 -193
- package/dist/index.es.js +7242 -4789
- package/package.json +2 -2
- package/web-types.json +1 -1
- package/dist/chunks/3a79781b.js +0 -75
- package/dist/chunks/5d4282fb.js +0 -30
- package/dist/chunks/76680a03.js +0 -24
- package/dist/chunks/8c0142e0.js +0 -81
- package/dist/chunks/97652d86.js +0 -26
- package/dist/chunks/b4acd3a6.js +0 -126
- package/dist/chunks/f71045fc.js +0 -184
|
@@ -1,200 +1,211 @@
|
|
|
1
|
-
import { hasOwn
|
|
2
|
-
import { n as
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { hasOwn, merge, toStringArray, animate, isInContainer } from "@web-utils/core";
|
|
2
|
+
import { n as normalizeComponent } from "../../chunks/3d28cc08.js";
|
|
3
|
+
var render = function() {
|
|
4
|
+
var _vm = this;
|
|
5
|
+
var _h = _vm.$createElement;
|
|
6
|
+
var _c = _vm._self._c || _h;
|
|
7
|
+
return _c("div", {
|
|
8
|
+
class: ["form-view", _vm.className]
|
|
9
|
+
}, [_vm.showToolbar ? _c("div", {
|
|
8
10
|
directives: [{
|
|
9
11
|
name: "show",
|
|
10
12
|
rawName: "v-show",
|
|
11
|
-
value: !
|
|
13
|
+
value: !_vm.isFormLoading,
|
|
12
14
|
expression: "!isFormLoading"
|
|
13
15
|
}],
|
|
14
16
|
staticClass: "form-view-toolbar"
|
|
15
|
-
}, [
|
|
16
|
-
return [
|
|
17
|
+
}, [_vm._t("form-view-toolbar", function() {
|
|
18
|
+
return [_c("Toolbar", _vm._g(_vm._b({
|
|
17
19
|
on: {
|
|
18
|
-
edit:
|
|
20
|
+
"edit": _vm.onEdit
|
|
19
21
|
},
|
|
20
|
-
scopedSlots:
|
|
22
|
+
scopedSlots: _vm._u([{
|
|
21
23
|
key: "default",
|
|
22
|
-
fn: function(
|
|
23
|
-
var
|
|
24
|
-
return [
|
|
25
|
-
buttons:
|
|
24
|
+
fn: function(_ref) {
|
|
25
|
+
var buttons = _ref.buttons;
|
|
26
|
+
return [_vm._t("toolbar-button", null, {
|
|
27
|
+
"buttons": buttons
|
|
26
28
|
})];
|
|
27
29
|
}
|
|
28
|
-
},
|
|
30
|
+
}, _vm._l(_vm.getToolbarSlotKeys(), function(item) {
|
|
29
31
|
return {
|
|
30
|
-
key:
|
|
32
|
+
key: item,
|
|
31
33
|
fn: function() {
|
|
32
|
-
return [
|
|
34
|
+
return [_vm._t(item)];
|
|
33
35
|
},
|
|
34
|
-
proxy:
|
|
36
|
+
proxy: true
|
|
35
37
|
};
|
|
36
38
|
}), {
|
|
37
39
|
key: "toolbar-right",
|
|
38
40
|
fn: function() {
|
|
39
|
-
return [
|
|
41
|
+
return [_vm._t("toolbar-right")];
|
|
40
42
|
},
|
|
41
|
-
proxy:
|
|
42
|
-
}], null,
|
|
43
|
-
}, "Toolbar", Object.assign({},
|
|
44
|
-
buttons:
|
|
45
|
-
}),
|
|
46
|
-
})], 2) :
|
|
43
|
+
proxy: true
|
|
44
|
+
}], null, true)
|
|
45
|
+
}, "Toolbar", Object.assign({}, _vm.toolbarProps, {
|
|
46
|
+
buttons: _vm.toolbarButtons
|
|
47
|
+
}), false), _vm.toolbarListeners))];
|
|
48
|
+
})], 2) : _vm._e(), _c("div", {
|
|
47
49
|
directives: [{
|
|
48
50
|
name: "show",
|
|
49
51
|
rawName: "v-show",
|
|
50
|
-
value: !
|
|
52
|
+
value: !_vm.isFormLoading,
|
|
51
53
|
expression: "!isFormLoading"
|
|
52
54
|
}],
|
|
53
55
|
staticClass: "form-scroller-wrapper"
|
|
54
|
-
}, [
|
|
56
|
+
}, [_c("div", {
|
|
55
57
|
ref: "formScroller",
|
|
56
|
-
class: ["form-scroller", "absolute-box",
|
|
58
|
+
class: ["form-scroller", "absolute-box", _vm.contentClass],
|
|
57
59
|
on: {
|
|
58
|
-
scroll:
|
|
60
|
+
"scroll": _vm.onFormScroll
|
|
59
61
|
}
|
|
60
|
-
}, [
|
|
62
|
+
}, [_vm.notForm ? _c("div", {
|
|
61
63
|
staticClass: "not-form",
|
|
62
64
|
style: {
|
|
63
|
-
width:
|
|
65
|
+
width: _vm.formWidth
|
|
64
66
|
}
|
|
65
|
-
}, [
|
|
67
|
+
}, [_vm.title ? _c("div", {
|
|
66
68
|
staticClass: "form-view-title"
|
|
67
|
-
}, [
|
|
68
|
-
return [
|
|
69
|
+
}, [_vm._v(" " + _vm._s(_vm.title) + " ")]) : _vm._e(), _vm._t("default", function() {
|
|
70
|
+
return [_c("EmptyView", {
|
|
69
71
|
attrs: {
|
|
70
72
|
"empty-tips": "请添加表单内容"
|
|
71
73
|
}
|
|
72
74
|
})];
|
|
73
|
-
}),
|
|
75
|
+
}), _vm.footerBarButtons.length ? _c("Toolbar", _vm._g(_vm._b({
|
|
74
76
|
attrs: {
|
|
75
|
-
footer: ""
|
|
77
|
+
"footer": ""
|
|
76
78
|
},
|
|
77
|
-
scopedSlots:
|
|
79
|
+
scopedSlots: _vm._u([{
|
|
78
80
|
key: "default",
|
|
79
|
-
fn: function(
|
|
80
|
-
var
|
|
81
|
-
return [
|
|
82
|
-
buttons:
|
|
83
|
-
footer:
|
|
81
|
+
fn: function(_ref2) {
|
|
82
|
+
var buttons = _ref2.buttons, footer = _ref2.footer;
|
|
83
|
+
return [_vm._t("footer-button", null, {
|
|
84
|
+
"buttons": buttons,
|
|
85
|
+
"footer": footer
|
|
84
86
|
})];
|
|
85
87
|
}
|
|
86
|
-
},
|
|
88
|
+
}, _vm._l(_vm.getFooterSlotKeys(), function(item) {
|
|
87
89
|
return {
|
|
88
|
-
key:
|
|
90
|
+
key: _vm.getFooterSlotKey(item),
|
|
89
91
|
fn: function() {
|
|
90
|
-
return [
|
|
92
|
+
return [_vm._t(item)];
|
|
91
93
|
},
|
|
92
|
-
proxy:
|
|
94
|
+
proxy: true
|
|
93
95
|
};
|
|
94
|
-
})], null,
|
|
95
|
-
}, "Toolbar", Object.assign({},
|
|
96
|
-
buttons:
|
|
97
|
-
}),
|
|
96
|
+
})], null, true)
|
|
97
|
+
}, "Toolbar", Object.assign({}, _vm.toolbarProps, {
|
|
98
|
+
buttons: _vm.footerBarButtons
|
|
99
|
+
}), false), _vm.toolbarListeners)) : _vm._e(), _vm.$scopedSlots["form-bottom"] ? _vm._t("form-bottom") : _vm._e()], 2) : _c("div", {
|
|
98
100
|
class: ["form-card", {
|
|
99
|
-
"un-limit":
|
|
101
|
+
"un-limit": _vm.unLimit
|
|
100
102
|
}],
|
|
101
103
|
style: {
|
|
102
|
-
width: `calc(${
|
|
104
|
+
width: `calc(${_vm.formWidth} + 40px)`
|
|
103
105
|
}
|
|
104
|
-
}, [
|
|
106
|
+
}, [_c("div", {
|
|
105
107
|
staticClass: "form-content"
|
|
106
|
-
}, [
|
|
108
|
+
}, [_vm.title ? _c("div", {
|
|
107
109
|
staticClass: "form-view-title"
|
|
108
|
-
}, [
|
|
109
|
-
return [
|
|
110
|
+
}, [_vm._v(" " + _vm._s(_vm.title) + " ")]) : _vm._e(), _vm._t("default", function() {
|
|
111
|
+
return [_c("EmptyView", {
|
|
110
112
|
attrs: {
|
|
111
113
|
"empty-tips": "请添加表单内容"
|
|
112
114
|
}
|
|
113
115
|
})];
|
|
114
|
-
}),
|
|
116
|
+
}), _vm.footerBarButtons.length ? _c("Toolbar", _vm._g(_vm._b({
|
|
115
117
|
attrs: {
|
|
116
|
-
footer: ""
|
|
118
|
+
"footer": ""
|
|
117
119
|
},
|
|
118
|
-
scopedSlots:
|
|
120
|
+
scopedSlots: _vm._u([{
|
|
119
121
|
key: "default",
|
|
120
|
-
fn: function(
|
|
121
|
-
var
|
|
122
|
-
return [
|
|
123
|
-
buttons:
|
|
124
|
-
footer:
|
|
122
|
+
fn: function(_ref3) {
|
|
123
|
+
var buttons = _ref3.buttons, footer = _ref3.footer;
|
|
124
|
+
return [_vm._t("footer-button", null, {
|
|
125
|
+
"buttons": buttons,
|
|
126
|
+
"footer": footer
|
|
125
127
|
})];
|
|
126
128
|
}
|
|
127
|
-
},
|
|
129
|
+
}, _vm._l(_vm.getFooterSlotKeys(), function(item) {
|
|
128
130
|
return {
|
|
129
|
-
key:
|
|
131
|
+
key: _vm.getFooterSlotKey(item),
|
|
130
132
|
fn: function() {
|
|
131
|
-
return [
|
|
133
|
+
return [_vm._t(item)];
|
|
132
134
|
},
|
|
133
|
-
proxy:
|
|
135
|
+
proxy: true
|
|
134
136
|
};
|
|
135
|
-
})], null,
|
|
136
|
-
}, "Toolbar", Object.assign({},
|
|
137
|
-
buttons:
|
|
138
|
-
}),
|
|
137
|
+
})], null, true)
|
|
138
|
+
}, "Toolbar", Object.assign({}, _vm.toolbarProps, {
|
|
139
|
+
buttons: _vm.footerBarButtons
|
|
140
|
+
}), false), _vm.toolbarListeners)) : _vm._e()], 2)]), _vm.$scopedSlots["form-bottom"] || _vm.$parent.$options.flowForm && _vm.flowContext.logs.length ? _c("div", {
|
|
139
141
|
class: ["form-card", {
|
|
140
|
-
"un-limit":
|
|
142
|
+
"un-limit": _vm.unLimit
|
|
141
143
|
}],
|
|
142
144
|
staticStyle: {
|
|
143
145
|
"min-height": "0"
|
|
144
146
|
},
|
|
145
147
|
style: {
|
|
146
|
-
width: `calc(${
|
|
148
|
+
width: `calc(${_vm.formWidth} + 40px)`
|
|
147
149
|
}
|
|
148
|
-
}, [
|
|
150
|
+
}, [_c("div", {
|
|
149
151
|
staticClass: "form-content"
|
|
150
|
-
}, [
|
|
152
|
+
}, [_vm.$parent.$options.flowForm && _vm.flowContext.logs.length ? _c("FormItemGroup", {
|
|
151
153
|
attrs: {
|
|
152
154
|
"block-title": "流程日志"
|
|
153
155
|
}
|
|
154
|
-
}, [
|
|
156
|
+
}, [_c("FlowLog", {
|
|
155
157
|
staticClass: "flow-log",
|
|
156
158
|
attrs: {
|
|
157
|
-
fetch:
|
|
158
|
-
"show-title":
|
|
159
|
-
"business-key":
|
|
159
|
+
"fetch": false,
|
|
160
|
+
"show-title": false,
|
|
161
|
+
"business-key": _vm.$parent.bizKey
|
|
160
162
|
}
|
|
161
|
-
})], 1) :
|
|
163
|
+
})], 1) : _vm._e(), _vm._t("form-bottom")], 2)]) : _vm._e()]), _c("ResizeObserver", {
|
|
162
164
|
on: {
|
|
163
|
-
notify:
|
|
165
|
+
"notify": _vm.onFormResize
|
|
164
166
|
}
|
|
165
|
-
})], 1),
|
|
167
|
+
})], 1), _vm.formNav && !_vm.isFormLoading && _vm.showNav && _vm.groups.length ? _c("div", {
|
|
166
168
|
staticClass: "form-nav"
|
|
167
|
-
}, [
|
|
169
|
+
}, [_c("div", {
|
|
168
170
|
staticClass: "form-nav-header"
|
|
169
|
-
}, [
|
|
171
|
+
}, [_vm._v(" 表单导航 ")]), _c("ul", {
|
|
170
172
|
staticClass: "form-nav-list"
|
|
171
|
-
},
|
|
172
|
-
return
|
|
173
|
-
key:
|
|
173
|
+
}, _vm._l(_vm.groups, function(item, index) {
|
|
174
|
+
return _c("li", {
|
|
175
|
+
key: item.blockTitle,
|
|
174
176
|
class: ["form-nav-item", {
|
|
175
|
-
active:
|
|
177
|
+
active: _vm.activeIndex === index
|
|
176
178
|
}],
|
|
177
179
|
on: {
|
|
178
|
-
click: function(
|
|
179
|
-
return
|
|
180
|
+
"click": function($event) {
|
|
181
|
+
return _vm.navItemClick(item, index);
|
|
180
182
|
}
|
|
181
183
|
}
|
|
182
|
-
}, [
|
|
183
|
-
}), 0)]) :
|
|
184
|
+
}, [_vm._v(" " + _vm._s(item.blockTitle) + " ")]);
|
|
185
|
+
}), 0)]) : _vm._e(), _vm.isFormLoading ? _c("LoadingView", {
|
|
184
186
|
attrs: {
|
|
185
187
|
"icon-size": "34px",
|
|
186
188
|
"font-size": "16px"
|
|
187
189
|
}
|
|
188
|
-
}) :
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
190
|
+
}) : _vm._e()], 1);
|
|
191
|
+
};
|
|
192
|
+
var staticRenderFns = [];
|
|
193
|
+
const FormView_vue_vue_type_style_index_0_lang = "";
|
|
194
|
+
const builtInButtons = ["back", "create", "save", "withdraw", "edit", "submit", "publish", "agree", "disagree", "reject", "finish", "cancel", "enable", "exp", "imp", "del", "disabled", "reload", "slot"];
|
|
195
|
+
const footerButtons = builtInButtons.map((value) => `${value}-down`);
|
|
196
|
+
const topButtons = ["back", "withdraw", "edit"];
|
|
197
|
+
const bottomButtons = ["save", "submit", "", "publish", "agree", "disagree", "reject", "finish", "cancel"];
|
|
198
|
+
const findParent = (el, selector) => {
|
|
199
|
+
if (el.classList.contains(selector)) {
|
|
200
|
+
return el;
|
|
201
|
+
}
|
|
202
|
+
let parent = el.parentNode;
|
|
203
|
+
while (parent && !parent.classList.contains(selector)) {
|
|
204
|
+
parent = parent.parentNode;
|
|
205
|
+
}
|
|
206
|
+
return parent.classList.contains(selector) ? parent : null;
|
|
207
|
+
};
|
|
208
|
+
const __vue2_script = {
|
|
198
209
|
name: "FormView",
|
|
199
210
|
inject: {
|
|
200
211
|
flowContext: {
|
|
@@ -228,116 +239,172 @@ const u = ["back", "create", "save", "withdraw", "edit", "submit", "publish", "a
|
|
|
228
239
|
},
|
|
229
240
|
showToolbar: {
|
|
230
241
|
type: Boolean,
|
|
231
|
-
default:
|
|
242
|
+
default: true
|
|
232
243
|
},
|
|
233
244
|
formNav: {
|
|
234
245
|
type: Boolean,
|
|
235
|
-
default:
|
|
246
|
+
default: true
|
|
236
247
|
}
|
|
237
248
|
},
|
|
238
249
|
data() {
|
|
239
250
|
return {
|
|
240
251
|
groups: [],
|
|
241
252
|
activeIndex: -1,
|
|
242
|
-
tryByClick:
|
|
243
|
-
showNav:
|
|
253
|
+
tryByClick: false,
|
|
254
|
+
showNav: false
|
|
244
255
|
};
|
|
245
256
|
},
|
|
246
257
|
computed: {
|
|
247
258
|
isFormLoading() {
|
|
248
|
-
return this.loading ||
|
|
259
|
+
return this.loading || hasOwn(this.$parent, "isFormLoaded") ? !this.$parent.isFormLoaded : false;
|
|
249
260
|
},
|
|
250
261
|
toolbarProps() {
|
|
251
|
-
var
|
|
252
|
-
const
|
|
253
|
-
|
|
262
|
+
var _a;
|
|
263
|
+
const defaultProps = {};
|
|
264
|
+
const buttons = ((_a = this.toolbarAttrs) == null ? void 0 : _a.buttons) || this.$parent.buttons;
|
|
265
|
+
const toolbarAttrs = merge({}, this.toolbarAttrs, defaultProps);
|
|
266
|
+
toolbarAttrs.buttons = buttons || ["back"];
|
|
267
|
+
toolbarAttrs.buttons = toStringArray(toolbarAttrs.buttons);
|
|
268
|
+
return toolbarAttrs;
|
|
254
269
|
},
|
|
255
270
|
toolbarButtons() {
|
|
256
|
-
return this.toolbarProps.buttons.filter((
|
|
271
|
+
return this.toolbarProps.buttons.filter((value) => !bottomButtons.includes(value) && value.indexOf(":down") < 0).map((value) => value.replace(":up", ""));
|
|
257
272
|
},
|
|
258
273
|
footerBarButtons() {
|
|
259
|
-
let
|
|
260
|
-
|
|
274
|
+
let footerBarButtons = this.toolbarProps.buttons.filter((value) => !topButtons.includes(value) && (bottomButtons.includes(value) || value.indexOf(":down") > -1)).map((value) => value.replace(":down", ""));
|
|
275
|
+
footerBarButtons = footerBarButtons || [];
|
|
276
|
+
if (this.$parent.isEnabled && !footerBarButtons.includes("cancel")) {
|
|
277
|
+
footerBarButtons.push("cancel");
|
|
278
|
+
}
|
|
279
|
+
return footerBarButtons;
|
|
261
280
|
}
|
|
262
281
|
},
|
|
263
282
|
created() {
|
|
264
|
-
this.$on("FormView.addGroup", (
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
const
|
|
272
|
-
|
|
283
|
+
this.$on("FormView.addGroup", (group) => {
|
|
284
|
+
if (group) {
|
|
285
|
+
if (this.activeIndex === -1) {
|
|
286
|
+
this.activeIndex = 0;
|
|
287
|
+
}
|
|
288
|
+
this.groups.push(group);
|
|
289
|
+
this.groups = this.groups.sort((aTab, bTab) => {
|
|
290
|
+
const formCardA = findParent(aTab.$el, "form-card");
|
|
291
|
+
const formCardB = findParent(bTab.$el, "form-card");
|
|
292
|
+
if (formCardA === formCardB) {
|
|
293
|
+
const aIndex = [].indexOf.call(aTab.$el.parentNode.children, aTab.$el);
|
|
294
|
+
const bIndex = [].indexOf.call(bTab.$el.parentNode.children, bTab.$el);
|
|
295
|
+
return aIndex - bIndex;
|
|
296
|
+
} else {
|
|
297
|
+
const formScroller = findParent(formCardA, "form-scroller");
|
|
298
|
+
const aBlockIndex = [].indexOf.call(formScroller.children, formCardA);
|
|
299
|
+
const bBlockIndex = [].indexOf.call(formScroller.children, formCardB);
|
|
300
|
+
return aBlockIndex - bBlockIndex;
|
|
301
|
+
}
|
|
302
|
+
});
|
|
303
|
+
if (group.active) {
|
|
304
|
+
this.activeIndex = this.groups.indexOf(group);
|
|
305
|
+
this.navItemClick(group, this.activeIndex);
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
});
|
|
309
|
+
this.$on("FormView.removeGroup", (tab) => {
|
|
310
|
+
if (tab) {
|
|
311
|
+
const index = this.groups.indexOf(tab);
|
|
312
|
+
this.groups.splice(index, 1);
|
|
313
|
+
if (this.activeIndex > this.groups.length - 1) {
|
|
314
|
+
this.activeIndex = 0;
|
|
273
315
|
}
|
|
274
|
-
}), t.active && (this.activeIndex = this.groups.indexOf(t), this.navItemClick(t, this.activeIndex)));
|
|
275
|
-
}), this.$on("FormView.removeGroup", (t) => {
|
|
276
|
-
if (t) {
|
|
277
|
-
const e = this.groups.indexOf(t);
|
|
278
|
-
this.groups.splice(e, 1), this.activeIndex > this.groups.length - 1 && (this.activeIndex = 0);
|
|
279
316
|
}
|
|
280
|
-
})
|
|
317
|
+
});
|
|
318
|
+
this.onFormResize({ width: window.document.body.clientWidth });
|
|
281
319
|
},
|
|
282
320
|
async activated() {
|
|
283
|
-
this.$refs.formScroller
|
|
321
|
+
if (this.$refs.formScroller) {
|
|
322
|
+
await this.$nextTick();
|
|
323
|
+
this.scrollTo(this.formScrollTop, this.formScrollLeft);
|
|
324
|
+
}
|
|
284
325
|
},
|
|
285
326
|
methods: {
|
|
286
327
|
getToolbarSlotKeys() {
|
|
287
|
-
return Object.keys(this.$scopedSlots).filter((
|
|
328
|
+
return Object.keys(this.$scopedSlots).filter((value) => builtInButtons.includes(value));
|
|
288
329
|
},
|
|
289
330
|
getFooterSlotKeys() {
|
|
290
|
-
return Object.keys(this.$scopedSlots).filter((
|
|
331
|
+
return Object.keys(this.$scopedSlots).filter((value) => footerButtons.includes(value));
|
|
291
332
|
},
|
|
292
|
-
getFooterSlotKey(
|
|
293
|
-
return
|
|
333
|
+
getFooterSlotKey(key) {
|
|
334
|
+
return key.replace("-down", "");
|
|
294
335
|
},
|
|
295
|
-
onFormResize({ width
|
|
296
|
-
this.showNav =
|
|
336
|
+
onFormResize({ width }) {
|
|
337
|
+
this.showNav = width > 1500;
|
|
297
338
|
},
|
|
298
339
|
onEdit() {
|
|
299
|
-
!this.toolbarListeners.edit &&
|
|
340
|
+
if (!this.toolbarListeners.edit && hasOwn(this.$parent, "disabled")) {
|
|
341
|
+
this.$parent.disabled = false;
|
|
342
|
+
}
|
|
300
343
|
},
|
|
301
|
-
async navItemClick(
|
|
302
|
-
|
|
344
|
+
async navItemClick(item, index) {
|
|
345
|
+
if (!this.showNav) {
|
|
346
|
+
return;
|
|
347
|
+
}
|
|
348
|
+
await this.$nextTick();
|
|
349
|
+
this.activeFormItemGroup(item, index);
|
|
350
|
+
if (!item.expand) {
|
|
351
|
+
item.open();
|
|
352
|
+
}
|
|
303
353
|
},
|
|
304
|
-
activeFormItemGroup(
|
|
305
|
-
this.$refs.formScroller.scrollTop =
|
|
354
|
+
activeFormItemGroup(tab, index) {
|
|
355
|
+
this.$refs.formScroller.scrollTop = tab.$el.offsetTop - 10;
|
|
356
|
+
animate(tab.$el, "breathe-indicator-animation");
|
|
357
|
+
this.tryByClick = true;
|
|
358
|
+
this.activeIndex = index;
|
|
306
359
|
},
|
|
307
360
|
async tryActive() {
|
|
308
|
-
if (this.showNav) {
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
361
|
+
if (!this.showNav) {
|
|
362
|
+
return;
|
|
363
|
+
}
|
|
364
|
+
for (let i = 0; i < this.groups.length; i++) {
|
|
365
|
+
if (isInContainer(this.groups[i].$el, this.$refs.formScroller, { bottomOffset: 10 })) {
|
|
366
|
+
this.activeIndex = i;
|
|
367
|
+
break;
|
|
368
|
+
}
|
|
314
369
|
}
|
|
315
370
|
},
|
|
316
371
|
onFormScroll() {
|
|
317
|
-
this.formScrollTop = this.$refs.formScroller.scrollTop
|
|
372
|
+
this.formScrollTop = this.$refs.formScroller.scrollTop;
|
|
373
|
+
this.formScrollLeft = this.$refs.formScroller.scrollLeft;
|
|
374
|
+
if (!this.tryByClick && this.groups.length) {
|
|
375
|
+
window.requestAnimationFrame(this.tryActive);
|
|
376
|
+
}
|
|
377
|
+
this.tryByClick = false;
|
|
318
378
|
},
|
|
319
|
-
scrollTo(
|
|
320
|
-
|
|
379
|
+
scrollTo(top, left) {
|
|
380
|
+
if (top) {
|
|
381
|
+
this.$refs.formScroller.scrollTop = top;
|
|
382
|
+
}
|
|
383
|
+
if (left) {
|
|
384
|
+
this.$refs.formScroller.scrollLeft = left;
|
|
385
|
+
}
|
|
321
386
|
}
|
|
322
387
|
}
|
|
323
|
-
}
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
388
|
+
};
|
|
389
|
+
const __cssModules = {};
|
|
390
|
+
var __component__ = /* @__PURE__ */ normalizeComponent(
|
|
391
|
+
__vue2_script,
|
|
392
|
+
render,
|
|
393
|
+
staticRenderFns,
|
|
394
|
+
false,
|
|
395
|
+
__vue2_injectStyles,
|
|
330
396
|
null,
|
|
331
397
|
null,
|
|
332
398
|
null
|
|
333
399
|
);
|
|
334
|
-
function
|
|
335
|
-
for (let
|
|
336
|
-
this[
|
|
400
|
+
function __vue2_injectStyles(context) {
|
|
401
|
+
for (let o in __cssModules) {
|
|
402
|
+
this[o] = __cssModules[o];
|
|
403
|
+
}
|
|
337
404
|
}
|
|
338
|
-
const
|
|
339
|
-
return
|
|
405
|
+
const FormView = /* @__PURE__ */ function() {
|
|
406
|
+
return __component__.exports;
|
|
340
407
|
}();
|
|
341
408
|
export {
|
|
342
|
-
|
|
409
|
+
FormView as default
|
|
343
410
|
};
|