bm-admin-ui 1.0.82-alpha → 1.0.84-alpha

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.
Files changed (41) hide show
  1. package/es/components/attachment/index.js +273 -0
  2. package/es/components/breadcrumb/index.js +158 -0
  3. package/es/components/button/index.js +49 -0
  4. package/es/components/edit-form/index.js +1186 -0
  5. package/es/components/editor/index.js +12554 -0
  6. package/es/components/feedback/index.js +295 -0
  7. package/es/components/float-table/index.js +3511 -0
  8. package/es/components/flow-designer/index.js +1317 -0
  9. package/es/components/form-create/index.js +20978 -0
  10. package/es/components/form-designer/index.js +4514 -0
  11. package/es/components/index.js +19 -0
  12. package/es/components/input-tags-display/index.js +226 -0
  13. package/es/components/over-tooltips/index.js +133 -0
  14. package/es/components/search-filter/index.js +449 -0
  15. package/es/components/select-all/index.js +172 -0
  16. package/es/components/shops-filter/index.js +453 -0
  17. package/es/components/staffs-selector/index.js +728 -0
  18. package/es/components/timeline/index.js +168 -0
  19. package/es/components/upload/index.js +909 -0
  20. package/es/components/videoView/index.js +100 -0
  21. package/lib/components/attachment/index.js +278 -0
  22. package/lib/components/breadcrumb/index.js +168 -0
  23. package/lib/components/button/index.js +58 -0
  24. package/lib/components/edit-form/index.js +1195 -0
  25. package/lib/components/editor/index.js +12559 -0
  26. package/lib/components/feedback/index.js +309 -0
  27. package/lib/components/float-table/index.js +3516 -0
  28. package/lib/components/flow-designer/index.js +1329 -0
  29. package/lib/components/form-create/index.js +20990 -0
  30. package/lib/components/form-designer/index.js +4525 -0
  31. package/lib/components/index.js +140 -0
  32. package/lib/components/input-tags-display/index.js +237 -0
  33. package/lib/components/over-tooltips/index.js +138 -0
  34. package/lib/components/search-filter/index.js +459 -0
  35. package/lib/components/select-all/index.js +181 -0
  36. package/lib/components/shops-filter/index.js +465 -0
  37. package/lib/components/staffs-selector/index.js +733 -0
  38. package/lib/components/timeline/index.js +174 -0
  39. package/lib/components/upload/index.js +914 -0
  40. package/lib/components/videoView/index.js +105 -0
  41. package/package.json +1 -1
@@ -0,0 +1,273 @@
1
+ import { withInstall } from 'bm-admin-ui/es/utils/with-install';
2
+ import { reactive, onBeforeUnmount, ref, watch, nextTick, toRefs, resolveComponent, openBlock, createBlock, withCtx, renderSlot, createElementVNode, normalizeStyle, normalizeClass, createTextVNode, toDisplayString, defineComponent, computed, createElementBlock, Fragment, createVNode, unref, createCommentVNode } from 'vue';
3
+ import { DownloadOutlined, EyeOutlined } from '@ant-design/icons-vue';
4
+
5
+ var _export_sfc = (sfc, props) => {
6
+ const target = sfc.__vccOpts || sfc;
7
+ for (const [key, val] of props) {
8
+ target[key] = val;
9
+ }
10
+ return target;
11
+ };
12
+
13
+ const _sfc_main$1 = {
14
+ name: "BmOverTooltips",
15
+ props: {
16
+ title: {
17
+ type: String,
18
+ default: void 0
19
+ },
20
+ labelTitle: {
21
+ type: String,
22
+ default: void 0
23
+ },
24
+ line: {
25
+ type: Number,
26
+ default: 1
27
+ },
28
+ width: {
29
+ type: [Number, String],
30
+ default: 0
31
+ },
32
+ showAlways: {
33
+ type: Boolean,
34
+ default: false
35
+ }
36
+ },
37
+ setup(props, context) {
38
+ const state = reactive({
39
+ mSlots: {},
40
+ isShow: false,
41
+ openShow: false
42
+ });
43
+ const observer = new IntersectionObserver(
44
+ (entries) => {
45
+ entries.forEach((item) => {
46
+ if (item.intersectionRatio > 0.3) {
47
+ observerDom();
48
+ observer.disconnect();
49
+ }
50
+ });
51
+ },
52
+ {
53
+ threshold: 0.3
54
+ }
55
+ );
56
+ function observerDom() {
57
+ if (props.line === 1) {
58
+ if (mySelf.value.scrollWidth > mySelf.value.clientWidth) {
59
+ state.openShow = true;
60
+ }
61
+ } else if (props.line > 1) {
62
+ if (mySelf.value.scrollHeight > mySelf.value.clientHeight) {
63
+ state.openShow = true;
64
+ }
65
+ }
66
+ }
67
+ onBeforeUnmount(function() {
68
+ observer.disconnect();
69
+ });
70
+ let mySelf = ref();
71
+ watch(
72
+ () => props.showAlways,
73
+ function(showAlways) {
74
+ if (showAlways)
75
+ state.openShow = showAlways;
76
+ mySelf.value && observer.unobserve(mySelf.value);
77
+ nextTick(function() {
78
+ mySelf.value && observer.observe(mySelf.value);
79
+ });
80
+ },
81
+ {
82
+ immediate: true
83
+ }
84
+ );
85
+ const handleVisibleChange = (val) => {
86
+ state.isShow = !state.openShow ? false : val;
87
+ };
88
+ const getPopupContainer = () => {
89
+ return document.body;
90
+ };
91
+ return {
92
+ ...toRefs(state),
93
+ mySelf,
94
+ handleVisibleChange,
95
+ getPopupContainer
96
+ };
97
+ }
98
+ };
99
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
100
+ const _component_a_tooltip = resolveComponent("a-tooltip");
101
+ return openBlock(), createBlock(_component_a_tooltip, {
102
+ visible: _ctx.isShow,
103
+ "onUpdate:visible": _cache[0] || (_cache[0] = ($event) => _ctx.isShow = $event),
104
+ title: $props.labelTitle || $props.title,
105
+ "get-popup-container": $setup.getPopupContainer,
106
+ onVisibleChange: $setup.handleVisibleChange
107
+ }, {
108
+ title: withCtx(() => [
109
+ renderSlot(_ctx.$slots, "title")
110
+ ]),
111
+ default: withCtx(() => [
112
+ createElementVNode("div", {
113
+ ref: "mySelf",
114
+ style: normalizeStyle({
115
+ width: $props.width ? $props.width + "px" : "100%",
116
+ WebkitLineClamp: $props.line
117
+ }),
118
+ class: normalizeClass($props.line === 1 ? `bm-over-tooltip` : `bm-over-tooltip-multi`)
119
+ }, [
120
+ renderSlot(_ctx.$slots, "default", {}, () => [
121
+ renderSlot(_ctx.$slots, "title", {}, () => [
122
+ createTextVNode(toDisplayString($props.title), 1)
123
+ ])
124
+ ])
125
+ ], 6)
126
+ ]),
127
+ _: 3
128
+ }, 8, ["visible", "title", "get-popup-container", "onVisibleChange"]);
129
+ }
130
+ var OverTooltips = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render], ["__file", "over-tooltips.vue"]]);
131
+
132
+ const BmOverTooltips = withInstall(OverTooltips);
133
+ var BmOverTooltips$1 = BmOverTooltips;
134
+
135
+ const _hoisted_1 = { class: "file_block" };
136
+ const _hoisted_2 = { class: "file_name" };
137
+ const _hoisted_3 = { class: "file_info" };
138
+ const _hoisted_4 = { class: "icon_text" };
139
+ const _hoisted_5 = /* @__PURE__ */ createElementVNode("span", { class: "icon_text" }, "\u5728\u7EBF\u67E5\u770B", -1);
140
+ const __default__ = {
141
+ name: "BmAttachment"
142
+ };
143
+ const _sfc_main = /* @__PURE__ */ defineComponent({
144
+ ...__default__,
145
+ props: {
146
+ file: {
147
+ type: Object,
148
+ default: () => {
149
+ }
150
+ }
151
+ },
152
+ emits: ["preview", "download"],
153
+ setup(__props, { emit }) {
154
+ const props = __props;
155
+ const visible = ref(false);
156
+ const data = reactive({
157
+ fileType: computed(() => {
158
+ const getFileType = (file) => {
159
+ const index = file.lastIndexOf(".");
160
+ return file.substr(index + 1);
161
+ };
162
+ return getFileType(props.file.fileName);
163
+ }),
164
+ nonsupportPreview: computed(() => {
165
+ return ["zip", "rar"].includes(data.fileType);
166
+ }),
167
+ pictureFileTypes: [
168
+ "img",
169
+ "image",
170
+ "png",
171
+ "PNG",
172
+ "image/png",
173
+ "jpg",
174
+ "JPG",
175
+ "jpeg",
176
+ "JPEG",
177
+ "image/jpeg",
178
+ "gif",
179
+ "GIF",
180
+ "image/gif"
181
+ ],
182
+ openViewImage: ""
183
+ });
184
+ const renderSize = (size) => {
185
+ const pow1024 = (num) => {
186
+ return Math.pow(1024, num);
187
+ };
188
+ if (!size)
189
+ return "0KB";
190
+ if (size < pow1024(1))
191
+ return `${size.toFixed(2)}KB`;
192
+ if (size < pow1024(2))
193
+ return `${(size / pow1024(1)).toFixed(2)}MB`;
194
+ if (size < pow1024(3))
195
+ return `${(size / pow1024(2)).toFixed(2)}GB`;
196
+ return `${(size / pow1024(3)).toFixed(2)}TB`;
197
+ };
198
+ const setVisible = (value) => {
199
+ visible.value = value;
200
+ };
201
+ const preview = (item) => {
202
+ if (data.pictureFileTypes.indexOf(data.fileType) > -1) {
203
+ setVisible(true);
204
+ data.openViewImage = item.filePath;
205
+ return;
206
+ }
207
+ window.open(item.filePath);
208
+ };
209
+ const download = (item) => {
210
+ emit("download", { file: item });
211
+ };
212
+ return (_ctx, _cache) => {
213
+ const _component_a_image = resolveComponent("a-image");
214
+ return openBlock(), createElementBlock(Fragment, null, [
215
+ createElementVNode("div", _hoisted_1, [
216
+ createElementVNode("i", {
217
+ class: normalizeClass({
218
+ file_icon: true,
219
+ icon_excel: data.fileType === "xlsx",
220
+ icon_ppt: ["ppt", "pptx"].indexOf(data.fileType) > -1,
221
+ icon_word: ["docx", "doc"].indexOf(data.fileType) > -1,
222
+ icon_image: ["png", "jpg", "jpeg", "gif"].indexOf(data.fileType) > -1,
223
+ icon_video: data.fileType === "mp4",
224
+ icon_pdf: data.fileType === "pdf",
225
+ icon_compress: ["rar", "zip"].indexOf(data.fileType) > -1,
226
+ icon_others: true
227
+ })
228
+ }, null, 2),
229
+ createElementVNode("div", null, [
230
+ createElementVNode("div", _hoisted_2, [
231
+ createVNode(unref(BmOverTooltips$1), {
232
+ placement: "topLeft",
233
+ title: __props.file.fileName || ""
234
+ }, null, 8, ["title"])
235
+ ]),
236
+ createElementVNode("div", _hoisted_3, [
237
+ __props.file.isAllowDownload ? (openBlock(), createElementBlock("div", {
238
+ key: 0,
239
+ class: "file_size",
240
+ onClick: download
241
+ }, [
242
+ createVNode(unref(DownloadOutlined)),
243
+ createTextVNode(),
244
+ createElementVNode("span", _hoisted_4, toDisplayString(renderSize(__props.file.fileSize)), 1)
245
+ ])) : createCommentVNode("v-if", true),
246
+ !data.nonsupportPreview ? (openBlock(), createElementBlock("div", {
247
+ key: 1,
248
+ class: "file_preview",
249
+ onClick: _cache[0] || (_cache[0] = ($event) => preview(__props.file))
250
+ }, [
251
+ createVNode(unref(EyeOutlined)),
252
+ _hoisted_5
253
+ ])) : createCommentVNode("v-if", true)
254
+ ])
255
+ ])
256
+ ]),
257
+ createVNode(_component_a_image, {
258
+ style: { display: "none" },
259
+ preview: {
260
+ visible: visible.value,
261
+ onVisibleChange: setVisible
262
+ },
263
+ src: data.openViewImage
264
+ }, null, 8, ["preview", "src"])
265
+ ], 64);
266
+ };
267
+ }
268
+ });
269
+ var Attachment = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "attachment.vue"]]);
270
+
271
+ const BmAttachment = withInstall(Attachment);
272
+
273
+ export { BmAttachment, BmAttachment as default };
@@ -0,0 +1,158 @@
1
+ import { withInstall } from 'bm-admin-ui/es/utils/with-install';
2
+ import { inject, defineComponent, openBlock, createBlock, unref, withCtx, createElementBlock, Fragment, renderList, toDisplayString } from 'vue';
3
+ import ABreadcrumb from 'ant-design-vue/lib/breadcrumb';
4
+ import ABreadcrumbItem from 'ant-design-vue/lib/breadcrumb/BreadcrumbItem';
5
+ import '@vue/devtools-api';
6
+
7
+ /*!
8
+ * vue-router v4.1.6
9
+ * (c) 2022 Eduardo San Martin Morote
10
+ * @license MIT
11
+ */
12
+
13
+ var NavigationType;
14
+ (function (NavigationType) {
15
+ NavigationType["pop"] = "pop";
16
+ NavigationType["push"] = "push";
17
+ })(NavigationType || (NavigationType = {}));
18
+ var NavigationDirection;
19
+ (function (NavigationDirection) {
20
+ NavigationDirection["back"] = "back";
21
+ NavigationDirection["forward"] = "forward";
22
+ NavigationDirection["unknown"] = "";
23
+ })(NavigationDirection || (NavigationDirection = {}));
24
+
25
+ Symbol((process.env.NODE_ENV !== 'production') ? 'navigation failure' : '');
26
+ /**
27
+ * Enumeration with all possible types for navigation failures. Can be passed to
28
+ * {@link isNavigationFailure} to check for specific failures.
29
+ */
30
+ var NavigationFailureType;
31
+ (function (NavigationFailureType) {
32
+ /**
33
+ * An aborted navigation is a navigation that failed because a navigation
34
+ * guard returned `false` or called `next(false)`
35
+ */
36
+ NavigationFailureType[NavigationFailureType["aborted"] = 4] = "aborted";
37
+ /**
38
+ * A cancelled navigation is a navigation that failed because a more recent
39
+ * navigation finished started (not necessarily finished).
40
+ */
41
+ NavigationFailureType[NavigationFailureType["cancelled"] = 8] = "cancelled";
42
+ /**
43
+ * A duplicated navigation is a navigation that failed because it was
44
+ * initiated while already being at the exact same location.
45
+ */
46
+ NavigationFailureType[NavigationFailureType["duplicated"] = 16] = "duplicated";
47
+ })(NavigationFailureType || (NavigationFailureType = {}));
48
+
49
+ /**
50
+ * RouteRecord being rendered by the closest ancestor Router View. Used for
51
+ * `onBeforeRouteUpdate` and `onBeforeRouteLeave`. rvlm stands for Router View
52
+ * Location Matched
53
+ *
54
+ * @internal
55
+ */
56
+ Symbol((process.env.NODE_ENV !== 'production') ? 'router view location matched' : '');
57
+ /**
58
+ * Allows overriding the router view depth to control which component in
59
+ * `matched` is rendered. rvd stands for Router View Depth
60
+ *
61
+ * @internal
62
+ */
63
+ Symbol((process.env.NODE_ENV !== 'production') ? 'router view depth' : '');
64
+ /**
65
+ * Allows overriding the router instance returned by `useRouter` in tests. r
66
+ * stands for router
67
+ *
68
+ * @internal
69
+ */
70
+ const routerKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router' : '');
71
+ /**
72
+ * Allows overriding the current route returned by `useRoute` in tests. rl
73
+ * stands for route location
74
+ *
75
+ * @internal
76
+ */
77
+ Symbol((process.env.NODE_ENV !== 'production') ? 'route location' : '');
78
+ /**
79
+ * Allows overriding the current route used by router-view. Internally this is
80
+ * used when the `route` prop is passed.
81
+ *
82
+ * @internal
83
+ */
84
+ Symbol((process.env.NODE_ENV !== 'production') ? 'router view location' : '');
85
+
86
+ /**
87
+ * Returns the router instance. Equivalent to using `$router` inside
88
+ * templates.
89
+ */
90
+ function useRouter() {
91
+ return inject(routerKey);
92
+ }
93
+
94
+ var _export_sfc = (sfc, props) => {
95
+ const target = sfc.__vccOpts || sfc;
96
+ for (const [key, val] of props) {
97
+ target[key] = val;
98
+ }
99
+ return target;
100
+ };
101
+
102
+ const _hoisted_1 = ["onClick"];
103
+ const _hoisted_2 = {
104
+ key: 1,
105
+ class: "link"
106
+ };
107
+ const __default__ = {
108
+ name: "BmBreadcrumb"
109
+ };
110
+ const _sfc_main = /* @__PURE__ */ defineComponent({
111
+ ...__default__,
112
+ props: {
113
+ path: {
114
+ type: Array,
115
+ required: true
116
+ }
117
+ },
118
+ emits: ["back"],
119
+ setup(__props, { emit }) {
120
+ const props = __props;
121
+ const router = useRouter();
122
+ const handleJump = (path, backFn) => {
123
+ console.log(path);
124
+ if (!path)
125
+ return;
126
+ if (backFn)
127
+ return emit("back", path);
128
+ console.log(path);
129
+ router.push(path);
130
+ };
131
+ return (_ctx, _cache) => {
132
+ return openBlock(), createBlock(unref(ABreadcrumb), { class: "breadcrumb" }, {
133
+ default: withCtx(() => [
134
+ (openBlock(true), createElementBlock(Fragment, null, renderList(props.path, (item, index) => {
135
+ return openBlock(), createBlock(unref(ABreadcrumbItem), {
136
+ key: item.url
137
+ }, {
138
+ default: withCtx(() => [
139
+ index < __props.path.length - 1 ? (openBlock(), createElementBlock("span", {
140
+ key: 0,
141
+ class: "link",
142
+ onClick: ($event) => handleJump(item.url, item.backFn)
143
+ }, toDisplayString(item.name), 9, _hoisted_1)) : (openBlock(), createElementBlock("span", _hoisted_2, toDisplayString(item.name), 1))
144
+ ]),
145
+ _: 2
146
+ }, 1024);
147
+ }), 128))
148
+ ]),
149
+ _: 1
150
+ });
151
+ };
152
+ }
153
+ });
154
+ var Breadcrumb = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "breadcrumb.vue"]]);
155
+
156
+ const BmBreadcrumb = withInstall(Breadcrumb);
157
+
158
+ export { BmBreadcrumb, BmBreadcrumb as default };
@@ -0,0 +1,49 @@
1
+ import { withInstall } from 'bm-admin-ui/es/utils/with-install';
2
+ import { defineComponent, openBlock, createBlock, unref, withCtx, renderSlot } from 'vue';
3
+ import AButton from 'ant-design-vue/lib/button';
4
+
5
+ const buttonProps = {
6
+ size: {
7
+ type: String,
8
+ default: 'middle',
9
+ },
10
+ type: {
11
+ type: String,
12
+ default: 'bm-primary',
13
+ },
14
+ };
15
+
16
+ var _export_sfc = (sfc, props) => {
17
+ const target = sfc.__vccOpts || sfc;
18
+ for (const [key, val] of props) {
19
+ target[key] = val;
20
+ }
21
+ return target;
22
+ };
23
+
24
+ const __default__ = {
25
+ name: "BmButton"
26
+ };
27
+ const _sfc_main = /* @__PURE__ */ defineComponent({
28
+ ...__default__,
29
+ props: buttonProps,
30
+ setup(__props) {
31
+ const props = __props;
32
+ return (_ctx, _cache) => {
33
+ return openBlock(), createBlock(unref(AButton), {
34
+ size: props.size,
35
+ type: props.type
36
+ }, {
37
+ default: withCtx(() => [
38
+ renderSlot(_ctx.$slots, "default")
39
+ ]),
40
+ _: 3
41
+ }, 8, ["size", "type"]);
42
+ };
43
+ }
44
+ });
45
+ var Button = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "button.vue"]]);
46
+
47
+ const BmButton = withInstall(Button);
48
+
49
+ export { BmButton, BmButton as default };