bm-admin-ui 1.0.0-alpha → 1.0.3-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 (126) hide show
  1. package/es/components/button/index.d.ts +9 -9
  2. package/es/components/button/index.js +1 -1
  3. package/es/components/button/src/button.vue.d.ts +9 -9
  4. package/es/components/float-table/index.d.ts +70 -0
  5. package/es/components/float-table/index.js +421 -0
  6. package/es/components/float-table/src/float-table.vue.d.ts +69 -0
  7. package/es/components/flow-designer/index.js +1 -1
  8. package/es/components/form-designer/index.js +1 -1
  9. package/es/components/index.d.ts +7 -0
  10. package/es/components/index.js +7 -0
  11. package/es/components/multi-cascader-compose/index.d.ts +164 -0
  12. package/es/components/multi-cascader-compose/index.js +1710 -0
  13. package/es/components/multi-cascader-compose/src/multi-cascader-compose.vue.d.ts +164 -0
  14. package/es/components/multi-cascader-compose/src/props.d.ts +40 -0
  15. package/es/components/multi-cascader-compose/types.d.ts +10 -0
  16. package/es/components/over-tooltips/index.d.ts +35 -0
  17. package/es/components/over-tooltips/index.js +117 -0
  18. package/es/components/over-tooltips/src/over-tooltips.vue.d.ts +34 -0
  19. package/es/components/search-filter/index.js +608 -33
  20. package/es/components/shops-filter/index.d.ts +99 -0
  21. package/es/components/shops-filter/index.js +1614 -0
  22. package/es/components/shops-filter/src/shops-filter.d.ts +25 -0
  23. package/es/components/shops-filter/src/shops-filter.vue.d.ts +98 -0
  24. package/es/components/staffs-selector/index.d.ts +82 -0
  25. package/es/components/staffs-selector/index.js +2025 -0
  26. package/es/components/staffs-selector/src/multipleCmp.vue.d.ts +79 -0
  27. package/es/components/staffs-selector/src/radioCmp.vue.d.ts +31 -0
  28. package/es/components/staffs-selector/src/staffs-selector.vue.d.ts +81 -0
  29. package/es/components/staffs-selector/src/variedCmp.vue.d.ts +62 -0
  30. package/es/components/timeline/index.d.ts +93 -0
  31. package/es/components/timeline/index.js +164 -0
  32. package/es/components/timeline/src/props.d.ts +20 -0
  33. package/es/components/timeline/src/timeline-item.vue.d.ts +51 -0
  34. package/es/components/timeline/src/timeline.vue.d.ts +42 -0
  35. package/es/components/upload/index.d.ts +126 -0
  36. package/es/components/upload/index.js +1839 -0
  37. package/es/components/upload/src/icons.d.ts +13 -0
  38. package/es/components/upload/src/upload.vue.d.ts +125 -0
  39. package/es/components/upload/utils/index.d.ts +7 -0
  40. package/es/utils/vxe-table.d.ts +6 -0
  41. package/es/utils/vxe-table.js +28 -0
  42. package/index.esm.js +28490 -1856
  43. package/index.js +28631 -1989
  44. package/lib/components/button/index.d.ts +9 -9
  45. package/lib/components/button/index.js +1 -1
  46. package/lib/components/button/src/button.vue.d.ts +9 -9
  47. package/lib/components/float-table/index.d.ts +70 -0
  48. package/lib/components/float-table/index.js +426 -0
  49. package/lib/components/float-table/src/float-table.vue.d.ts +69 -0
  50. package/lib/components/flow-designer/index.js +1 -1
  51. package/lib/components/form-designer/index.js +1 -1
  52. package/lib/components/index.d.ts +7 -0
  53. package/lib/components/index.js +49 -0
  54. package/lib/components/multi-cascader-compose/index.d.ts +164 -0
  55. package/lib/components/multi-cascader-compose/index.js +1715 -0
  56. package/lib/components/multi-cascader-compose/src/multi-cascader-compose.vue.d.ts +164 -0
  57. package/lib/components/multi-cascader-compose/src/props.d.ts +40 -0
  58. package/lib/components/multi-cascader-compose/types.d.ts +10 -0
  59. package/lib/components/over-tooltips/index.d.ts +35 -0
  60. package/lib/components/over-tooltips/index.js +122 -0
  61. package/lib/components/over-tooltips/src/over-tooltips.vue.d.ts +34 -0
  62. package/lib/components/search-filter/index.js +607 -32
  63. package/lib/components/shops-filter/index.d.ts +99 -0
  64. package/lib/components/shops-filter/index.js +1626 -0
  65. package/lib/components/shops-filter/src/shops-filter.d.ts +25 -0
  66. package/lib/components/shops-filter/src/shops-filter.vue.d.ts +98 -0
  67. package/lib/components/staffs-selector/index.d.ts +82 -0
  68. package/lib/components/staffs-selector/index.js +2039 -0
  69. package/lib/components/staffs-selector/src/multipleCmp.vue.d.ts +79 -0
  70. package/lib/components/staffs-selector/src/radioCmp.vue.d.ts +31 -0
  71. package/lib/components/staffs-selector/src/staffs-selector.vue.d.ts +81 -0
  72. package/lib/components/staffs-selector/src/variedCmp.vue.d.ts +62 -0
  73. package/lib/components/timeline/index.d.ts +93 -0
  74. package/lib/components/timeline/index.js +170 -0
  75. package/lib/components/timeline/src/props.d.ts +20 -0
  76. package/lib/components/timeline/src/timeline-item.vue.d.ts +51 -0
  77. package/lib/components/timeline/src/timeline.vue.d.ts +42 -0
  78. package/lib/components/upload/index.d.ts +126 -0
  79. package/lib/components/upload/index.js +1844 -0
  80. package/lib/components/upload/src/icons.d.ts +13 -0
  81. package/lib/components/upload/src/upload.vue.d.ts +125 -0
  82. package/lib/components/upload/utils/index.d.ts +7 -0
  83. package/lib/utils/vxe-table.d.ts +6 -0
  84. package/lib/utils/vxe-table.js +33 -0
  85. package/package.json +7 -4
  86. package/theme-chalk/button.css +1 -1
  87. package/theme-chalk/float-table.css +1 -0
  88. package/theme-chalk/floating-vue.css +1 -0
  89. package/theme-chalk/flow-designer.css +1 -1
  90. package/theme-chalk/index.css +1 -1
  91. package/theme-chalk/multi-cascader-compose.css +1 -0
  92. package/theme-chalk/over-tooltips.css +1 -0
  93. package/theme-chalk/search-filter.css +1 -1
  94. package/theme-chalk/shops-filter.css +1 -0
  95. package/theme-chalk/staffs-selector.css +1 -0
  96. package/theme-chalk/timeline.css +1 -0
  97. package/theme-chalk/upload.css +1 -0
  98. package/types/components/button/index.d.ts +9 -9
  99. package/types/components/button/src/button.vue.d.ts +9 -9
  100. package/types/components/float-table/index.d.ts +70 -0
  101. package/types/components/float-table/src/float-table.vue.d.ts +69 -0
  102. package/types/components/index.d.ts +7 -0
  103. package/types/components/multi-cascader-compose/index.d.ts +164 -0
  104. package/types/components/multi-cascader-compose/src/multi-cascader-compose.vue.d.ts +164 -0
  105. package/types/components/multi-cascader-compose/src/props.d.ts +40 -0
  106. package/types/components/multi-cascader-compose/types.d.ts +10 -0
  107. package/types/components/over-tooltips/index.d.ts +35 -0
  108. package/types/components/over-tooltips/src/over-tooltips.vue.d.ts +34 -0
  109. package/types/components/shops-filter/index.d.ts +99 -0
  110. package/types/components/shops-filter/src/shops-filter.d.ts +25 -0
  111. package/types/components/shops-filter/src/shops-filter.vue.d.ts +98 -0
  112. package/types/components/staffs-selector/index.d.ts +82 -0
  113. package/types/components/staffs-selector/src/multipleCmp.vue.d.ts +79 -0
  114. package/types/components/staffs-selector/src/radioCmp.vue.d.ts +31 -0
  115. package/types/components/staffs-selector/src/staffs-selector.vue.d.ts +81 -0
  116. package/types/components/staffs-selector/src/variedCmp.vue.d.ts +62 -0
  117. package/types/components/timeline/index.d.ts +93 -0
  118. package/types/components/timeline/src/props.d.ts +20 -0
  119. package/types/components/timeline/src/timeline-item.vue.d.ts +51 -0
  120. package/types/components/timeline/src/timeline.vue.d.ts +42 -0
  121. package/types/components/upload/index.d.ts +126 -0
  122. package/types/components/upload/src/icons.d.ts +13 -0
  123. package/types/components/upload/src/upload.vue.d.ts +125 -0
  124. package/types/components/upload/utils/index.d.ts +7 -0
  125. package/types/utils/vxe-table.d.ts +6 -0
  126. package/.pnpm-debug.log +0 -16
@@ -27,12 +27,12 @@ declare const BmButton: import("bm-admin-ui/es/utils/with-install").SFCWithInsta
27
27
  $props: Partial<{
28
28
  block: boolean;
29
29
  disabled: boolean;
30
- ghost: boolean;
31
- danger: boolean;
32
- htmlType: import("ant-design-vue/lib/button/buttonTypes").ButtonHTMLType;
33
30
  loading: boolean | {
34
31
  delay?: number | undefined;
35
32
  };
33
+ ghost: boolean;
34
+ danger: boolean;
35
+ htmlType: import("ant-design-vue/lib/button/buttonTypes").ButtonHTMLType;
36
36
  }> & Omit<Readonly<import("vue").ExtractPropTypes<{
37
37
  prefixCls: StringConstructor;
38
38
  type: import("vue").PropType<import("ant-design-vue/lib/button").ButtonType>;
@@ -144,12 +144,12 @@ declare const BmButton: import("bm-admin-ui/es/utils/with-install").SFCWithInsta
144
144
  }>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, {
145
145
  block: boolean;
146
146
  disabled: boolean;
147
- ghost: boolean;
148
- danger: boolean;
149
- htmlType: import("ant-design-vue/lib/button/buttonTypes").ButtonHTMLType;
150
147
  loading: boolean | {
151
148
  delay?: number | undefined;
152
149
  };
150
+ ghost: boolean;
151
+ danger: boolean;
152
+ htmlType: import("ant-design-vue/lib/button/buttonTypes").ButtonHTMLType;
153
153
  }> & {
154
154
  beforeCreate?: (() => void) | (() => void)[] | undefined;
155
155
  created?: (() => void) | (() => void)[] | undefined;
@@ -271,12 +271,12 @@ declare const BmButton: import("bm-admin-ui/es/utils/with-install").SFCWithInsta
271
271
  }>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, {
272
272
  block: boolean;
273
273
  disabled: boolean;
274
- ghost: boolean;
275
- danger: boolean;
276
- htmlType: import("ant-design-vue/lib/button/buttonTypes").ButtonHTMLType;
277
274
  loading: boolean | {
278
275
  delay?: number | undefined;
279
276
  };
277
+ ghost: boolean;
278
+ danger: boolean;
279
+ htmlType: import("ant-design-vue/lib/button/buttonTypes").ButtonHTMLType;
280
280
  }> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("@vue/runtime-core").Plugin & {
281
281
  readonly Group: import("vue").DefineComponent<{
282
282
  prefixCls: StringConstructor;
@@ -42,7 +42,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
42
42
  };
43
43
  }
44
44
  });
45
- var Button = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/Users/hesiying/work/bm-admin-ui/packages/components/button/src/button.vue"]]);
45
+ var Button = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "button.vue"]]);
46
46
 
47
47
  const BmButton = withInstall(Button);
48
48
 
@@ -29,12 +29,12 @@ declare const _default: import("vue").DefineComponent<{
29
29
  $props: Partial<{
30
30
  block: boolean;
31
31
  disabled: boolean;
32
- ghost: boolean;
33
- danger: boolean;
34
- htmlType: import("ant-design-vue/lib/button/buttonTypes").ButtonHTMLType;
35
32
  loading: boolean | {
36
33
  delay?: number | undefined;
37
34
  };
35
+ ghost: boolean;
36
+ danger: boolean;
37
+ htmlType: import("ant-design-vue/lib/button/buttonTypes").ButtonHTMLType;
38
38
  }> & Omit<Readonly<import("vue").ExtractPropTypes<{
39
39
  prefixCls: StringConstructor;
40
40
  type: import("vue").PropType<ButtonType>;
@@ -146,12 +146,12 @@ declare const _default: import("vue").DefineComponent<{
146
146
  }>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, {
147
147
  block: boolean;
148
148
  disabled: boolean;
149
- ghost: boolean;
150
- danger: boolean;
151
- htmlType: import("ant-design-vue/lib/button/buttonTypes").ButtonHTMLType;
152
149
  loading: boolean | {
153
150
  delay?: number | undefined;
154
151
  };
152
+ ghost: boolean;
153
+ danger: boolean;
154
+ htmlType: import("ant-design-vue/lib/button/buttonTypes").ButtonHTMLType;
155
155
  }> & {
156
156
  beforeCreate?: (() => void) | (() => void)[] | undefined;
157
157
  created?: (() => void) | (() => void)[] | undefined;
@@ -273,12 +273,12 @@ declare const _default: import("vue").DefineComponent<{
273
273
  }>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, {
274
274
  block: boolean;
275
275
  disabled: boolean;
276
- ghost: boolean;
277
- danger: boolean;
278
- htmlType: import("ant-design-vue/lib/button/buttonTypes").ButtonHTMLType;
279
276
  loading: boolean | {
280
277
  delay?: number | undefined;
281
278
  };
279
+ ghost: boolean;
280
+ danger: boolean;
281
+ htmlType: import("ant-design-vue/lib/button/buttonTypes").ButtonHTMLType;
282
282
  }> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("@vue/runtime-core").Plugin & {
283
283
  readonly Group: import("vue").DefineComponent<{
284
284
  prefixCls: StringConstructor;
@@ -0,0 +1,70 @@
1
+ declare const BmFloatTable: import("bm-admin-ui/es/utils/with-install").SFCWithInstall<{
2
+ name: string;
3
+ props: {
4
+ config: {
5
+ type: ObjectConstructor;
6
+ required: boolean;
7
+ default: () => {};
8
+ };
9
+ pagerProps: {
10
+ type: ObjectConstructor;
11
+ default: () => {};
12
+ };
13
+ events: {
14
+ type: ObjectConstructor;
15
+ default: () => {};
16
+ };
17
+ isNeedFloatHandle: {
18
+ type: BooleanConstructor;
19
+ default: boolean;
20
+ };
21
+ size: {
22
+ type: StringConstructor;
23
+ default: string;
24
+ };
25
+ };
26
+ emits: string[];
27
+ setup(props: any, { emit }: {
28
+ emit: any;
29
+ }): {
30
+ setItemRef(el: any, column: any, rowid: any): void;
31
+ leaveFloatTable(): void;
32
+ scrollTo(config?: {}): void;
33
+ pageNoChange(val: any): Promise<void>;
34
+ pageSizeChange(val: any, size: any): Promise<void>;
35
+ floatMouseLeave(): void;
36
+ floatOverMouse(): void;
37
+ goAnimationEndFn(): void;
38
+ scrollNotShowFloat(): void;
39
+ classes: import("vue").ComputedRef<(string | {
40
+ floatHandleTable: any;
41
+ })[]>;
42
+ gridOptions: import("vue").ComputedRef<any>;
43
+ gridEvents: import("vue").ComputedRef<any>;
44
+ pager: import("vue").ComputedRef<any>;
45
+ simpleImage: import("vue").Ref<JSX.Element | (string | number | boolean | void | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
46
+ [key: string]: any;
47
+ }> | null | undefined) | (string | number | boolean | void | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
48
+ [key: string]: any;
49
+ }> | null | undefined)[]>;
50
+ floatRefsId: import("vue").Ref<{}>;
51
+ floatId: import("vue").Ref<string>;
52
+ isShowFloatHandle: import("vue").Ref<boolean>;
53
+ atVisible: import("vue").Ref<boolean>;
54
+ goAnimationEnd: import("vue").Ref<boolean>;
55
+ floatPosition: import("vue").Ref<{
56
+ top: string;
57
+ height: string;
58
+ }>;
59
+ trNodes: import("vue").Ref<any>;
60
+ isInScroll: import("vue").Ref<boolean>;
61
+ inMaxScorllX: import("vue").Ref<boolean>;
62
+ floatRow: import("vue").Ref<{}>;
63
+ floatRowIndex: import("vue").Ref<undefined>;
64
+ floatHandleDomCol: import("vue").Ref<any>;
65
+ floatTable: import("vue").Ref<any>;
66
+ xGrid: import("vue").Ref<any>;
67
+ };
68
+ }>;
69
+ export { BmFloatTable };
70
+ export default BmFloatTable;
@@ -0,0 +1,421 @@
1
+ import { withInstall } from 'bm-admin-ui/es/utils/with-install';
2
+ import { ref, onBeforeUnmount, reactive, computed, watch, toRefs, resolveComponent, openBlock, createElementBlock, normalizeClass, createVNode, mergeProps, toHandlers, createSlots, withCtx, createCommentVNode, createElementVNode, renderList, renderSlot, withDirectives, normalizeStyle, vShow, nextTick } from 'vue';
3
+ import { Empty } from 'ant-design-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 = {
14
+ name: "BmFloatTable",
15
+ props: {
16
+ config: {
17
+ type: Object,
18
+ required: true,
19
+ default: () => {
20
+ return {};
21
+ }
22
+ },
23
+ pagerProps: {
24
+ type: Object,
25
+ default: () => {
26
+ return {};
27
+ }
28
+ },
29
+ events: {
30
+ type: Object,
31
+ default: () => {
32
+ return {};
33
+ }
34
+ },
35
+ isNeedFloatHandle: {
36
+ type: Boolean,
37
+ default: false
38
+ },
39
+ size: {
40
+ type: String,
41
+ default: "middle"
42
+ }
43
+ },
44
+ emits: [
45
+ "radioChange",
46
+ "checkboxChange",
47
+ "checkboxChangeAll",
48
+ "pageChange",
49
+ "pageSizeChange"
50
+ ],
51
+ setup(props, { emit }) {
52
+ const floatTable = ref();
53
+ const xGrid = ref();
54
+ onBeforeUnmount(function() {
55
+ inObserverDom && inObserverDom.disconnect();
56
+ scrollNotShowFloatTime && clearTimeout(scrollNotShowFloatTime);
57
+ });
58
+ const state = reactive({
59
+ simpleImage: Empty.PRESENTED_IMAGE_SIMPLE,
60
+ floatRefsId: {},
61
+ floatId: "",
62
+ isShowFloatHandle: true,
63
+ gridOptions: {
64
+ resizable: false,
65
+ border: "default",
66
+ highlightHoverRow: true,
67
+ showOverflow: false,
68
+ showHeaderOverflow: true,
69
+ align: null,
70
+ columns: [],
71
+ tooltipConfig: { leaveDelay: 1e6 },
72
+ data: [],
73
+ pagerConfig: {},
74
+ emptyText: "\u6682\u65E0\u6570\u636E",
75
+ checkboxConfig: {
76
+ reserve: false,
77
+ highlight: computed(function() {
78
+ return props.config.columns.some(function(item) {
79
+ return item.type === "checkbox" || item.type === "checkbox";
80
+ });
81
+ }),
82
+ trigger: "row"
83
+ },
84
+ rowClassName: "tb-row",
85
+ sortConfig: {
86
+ trigger: "cell",
87
+ orders: ["desc", "asc", null]
88
+ }
89
+ },
90
+ gridEvents: {
91
+ radioChange(val) {
92
+ emit("radioChange", val);
93
+ },
94
+ checkboxChange(val) {
95
+ emit("checkboxChange", val);
96
+ },
97
+ checkboxAll(val) {
98
+ emit("checkboxChangeAll", val);
99
+ }
100
+ },
101
+ atVisible: false,
102
+ goAnimationEnd: false,
103
+ floatPosition: {
104
+ top: "0",
105
+ height: "0"
106
+ },
107
+ trNodes: [],
108
+ isInScroll: false,
109
+ inMaxScorllX: false,
110
+ floatRow: {},
111
+ floatRowIndex: void 0,
112
+ floatHandleDomCol: null
113
+ });
114
+ const classes = computed(() => {
115
+ return [
116
+ "floatTable",
117
+ "bm-table",
118
+ `table-${props.size}`,
119
+ {
120
+ floatHandleTable: props.isNeedFloatHandle && (!state.atVisible || state.inMaxScorllX) && state.floatHandleDomCol
121
+ }
122
+ ];
123
+ });
124
+ const gridOptions = computed(() => {
125
+ return {
126
+ ...state.gridOptions,
127
+ ...props.config
128
+ };
129
+ });
130
+ let mouseenterCellTime;
131
+ const gridEvents = computed(() => {
132
+ let extraFn = {};
133
+ if (props.isNeedFloatHandle) {
134
+ let propscellMouseenter = props.events.cellMouseenter;
135
+ extraFn.cellMouseenter = (e) => {
136
+ if (props.isNeedFloatHandle) {
137
+ if (state.isInScroll) {
138
+ state.isShowFloatHandle = false;
139
+ return;
140
+ }
141
+ if (state.inMaxScorllX) {
142
+ state.isShowFloatHandle = false;
143
+ }
144
+ let rowid = e.rowid;
145
+ let row = e.row;
146
+ clearTimeout(mouseenterCellTime);
147
+ mouseenterCellTime = setTimeout(function() {
148
+ if (state.floatId !== rowid) {
149
+ state.goAnimationEnd = false;
150
+ } else {
151
+ return;
152
+ }
153
+ state.floatId = rowid;
154
+ state.floatRow = row;
155
+ state.floatRowIndex = e.rowIndex;
156
+ let domEl = state.floatRefsId[rowid];
157
+ let tdDom = domEl && domEl.closest("td");
158
+ if (!tdDom)
159
+ return;
160
+ let clientHeight = tdDom.clientHeight - 1 + "px";
161
+ let trDoms = document.querySelectorAll(`[rowid='${rowid}']`);
162
+ state.trNodes = trDoms;
163
+ let top = e.cell.getBoundingClientRect().top;
164
+ let parentTop = floatTable.value.getBoundingClientRect().top;
165
+ top = top - parentTop + "px";
166
+ state.floatPosition = {
167
+ top,
168
+ height: clientHeight
169
+ };
170
+ if (!state.atVisible && !state.inMaxScorllX) {
171
+ state.isShowFloatHandle = true;
172
+ }
173
+ nextTick(() => {
174
+ let $floatHandle = document.querySelector(".floatHandle");
175
+ if ($floatHandle.clientWidth === 32) {
176
+ $floatHandle.style.padding = 0;
177
+ }
178
+ });
179
+ }, 200);
180
+ }
181
+ propscellMouseenter && propscellMouseenter(e);
182
+ };
183
+ extraFn.scroll = (e) => {
184
+ let propsscroll = props.events.scroll;
185
+ if (e.isY && props.isNeedFloatHandle) {
186
+ methods.scrollNotShowFloat();
187
+ }
188
+ if (e.isX && props.isNeedFloatHandle && state.floatHandleDomCol && gridOptions.value.data && gridOptions.value.data.length > 0) {
189
+ if (e.scrollLeft + e.$event.target.clientWidth >= e.$event.target.scrollWidth - state.floatHandleDomCol.clientWidth) {
190
+ state.inMaxScorllX = true;
191
+ state.isShowFloatHandle = false;
192
+ } else {
193
+ state.inMaxScorllX = false;
194
+ state.isShowFloatHandle = true;
195
+ }
196
+ }
197
+ propsscroll && propsscroll(e);
198
+ };
199
+ extraFn.cellMouseleave = (e) => {
200
+ let propsCellMouseLeave = props.events.cellMouseleave;
201
+ methods.floatMouseLeave();
202
+ propsCellMouseLeave && propsCellMouseLeave(e);
203
+ };
204
+ }
205
+ return {
206
+ ...state.gridEvents,
207
+ ...props.events,
208
+ ...extraFn
209
+ };
210
+ });
211
+ const pager = computed(() => {
212
+ let pager2 = {
213
+ size: "small",
214
+ showTotal: (total) => `\u5171 ${total} \u6761`,
215
+ showQuickJumper: true,
216
+ showSizeChanger: true,
217
+ current: 1,
218
+ pageSize: 10,
219
+ total: 0,
220
+ hideOnSinglePage: false,
221
+ pageSizeOptions: ["10", "30", "50", "100"]
222
+ };
223
+ return {
224
+ ...pager2,
225
+ ...props.pagerProps
226
+ };
227
+ });
228
+ let scrollNotShowFloatTime;
229
+ const methods = {
230
+ setItemRef(el, column, rowid) {
231
+ if (!props.isNeedFloatHandle)
232
+ return;
233
+ state.floatRefsId[rowid] = el;
234
+ if (state.floatHandleDomCol)
235
+ return;
236
+ let id = column.id;
237
+ state.floatHandleDomCol = floatTable.value.querySelector(`.vxe-table--header-wrapper .vxe-header--row .${id}`);
238
+ },
239
+ leaveFloatTable() {
240
+ let timer = setTimeout(() => {
241
+ state.isShowFloatHandle = false;
242
+ state.floatId = "";
243
+ clearTimeout(timer);
244
+ }, 210);
245
+ },
246
+ scrollTo(config = {}) {
247
+ config = {
248
+ top: 0,
249
+ ...config
250
+ };
251
+ floatTable.value?.querySelectorAll(".vxe-table--body-wrapper")?.forEach((table) => table?.scrollTo?.(config));
252
+ },
253
+ async pageNoChange(val) {
254
+ await emit("pageChange", val);
255
+ methods.scrollTo();
256
+ },
257
+ async pageSizeChange(val, size) {
258
+ await emit("pageSizeChange", size);
259
+ methods.scrollTo();
260
+ },
261
+ floatMouseLeave() {
262
+ if (!state.trNodes || state.trNodes?.length === 0)
263
+ return;
264
+ state.trNodes.forEach((item) => {
265
+ if (item && item.className.includes("floatHoverTr")) {
266
+ item.className = `${item.className.replace(/floatHoverTr/g, "")}`;
267
+ }
268
+ });
269
+ },
270
+ floatOverMouse() {
271
+ if (!state.trNodes || state.trNodes?.length === 0)
272
+ return;
273
+ state.trNodes.forEach((item) => {
274
+ if (item && !item.className.includes("floatHoverTr")) {
275
+ item.className = `${item.className} floatHoverTr`;
276
+ }
277
+ });
278
+ },
279
+ goAnimationEndFn() {
280
+ state.goAnimationEnd = true;
281
+ },
282
+ scrollNotShowFloat() {
283
+ state.isInScroll = true;
284
+ state.isShowFloatHandle = false;
285
+ clearTimeout(scrollNotShowFloatTime);
286
+ if (!state.atVisible) {
287
+ scrollNotShowFloatTime = setTimeout(function() {
288
+ state.isInScroll = false;
289
+ }, 300);
290
+ }
291
+ }
292
+ };
293
+ let inObserverDom;
294
+ let isHasOver;
295
+ let closeSetRow;
296
+ let headerWrapper;
297
+ if (props.isNeedFloatHandle) {
298
+ inObserverDom = new IntersectionObserver((entries) => {
299
+ entries.forEach((item) => {
300
+ if (item.intersectionRatio > 0.1) {
301
+ closeSetRow = closeSetRow || item.target.closest(".vxe-header--row");
302
+ headerWrapper = headerWrapper || item.target.closest(".vxe-table--header-wrapper");
303
+ if (closeSetRow.clientWidth <= headerWrapper.clientWidth && !isHasOver) {
304
+ inObserverDom.disconnect();
305
+ } else {
306
+ isHasOver = true;
307
+ }
308
+ state.isShowFloatHandle = false;
309
+ state.atVisible = true;
310
+ } else {
311
+ if (gridOptions.value.data && gridOptions.value.data.length > 0) {
312
+ state.goAnimationEnd = false;
313
+ state.isShowFloatHandle = true;
314
+ state.atVisible = false;
315
+ }
316
+ }
317
+ });
318
+ }, {
319
+ threshold: 0.1
320
+ });
321
+ watch(() => state.floatHandleDomCol, function(col) {
322
+ if (col) {
323
+ inObserverDom.observe(col);
324
+ }
325
+ }, {
326
+ immediate: true
327
+ });
328
+ }
329
+ return {
330
+ floatTable,
331
+ xGrid,
332
+ ...toRefs(state),
333
+ classes,
334
+ gridOptions,
335
+ gridEvents,
336
+ pager,
337
+ ...methods
338
+ };
339
+ }
340
+ };
341
+ const _hoisted_1 = {
342
+ key: 0,
343
+ class: "floatPager"
344
+ };
345
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
346
+ const _component_a_pagination = resolveComponent("a-pagination");
347
+ const _component_a_empty = resolveComponent("a-empty");
348
+ const _component_vxe_grid = resolveComponent("vxe-grid");
349
+ return openBlock(), createElementBlock("div", {
350
+ ref: "floatTable",
351
+ class: normalizeClass($setup.classes),
352
+ onMouseleave: _cache[3] || (_cache[3] = (...args) => _ctx.leaveFloatTable && _ctx.leaveFloatTable(...args))
353
+ }, [
354
+ createVNode(_component_vxe_grid, mergeProps({ ref: "xGrid" }, $setup.gridOptions, toHandlers($setup.gridEvents)), createSlots({
355
+ pager: withCtx(() => [
356
+ $setup.pager.total && !$setup.pager.hideOnSinglePage ? (openBlock(), createElementBlock("div", _hoisted_1, [
357
+ createVNode(_component_a_pagination, mergeProps($setup.pager, {
358
+ onChange: _ctx.pageNoChange,
359
+ onShowSizeChange: _ctx.pageSizeChange
360
+ }), null, 16, ["onChange", "onShowSizeChange"])
361
+ ])) : createCommentVNode("v-if", true)
362
+ ]),
363
+ empty: withCtx(() => [
364
+ createElementVNode("div", null, [
365
+ createVNode(_component_a_empty, { image: _ctx.simpleImage }, null, 8, ["image"])
366
+ ])
367
+ ]),
368
+ _: 2
369
+ }, [
370
+ renderList(_ctx.$slots, (slot, key) => {
371
+ return {
372
+ name: key,
373
+ fn: withCtx((data) => [
374
+ key !== "floatHandle" ? renderSlot(_ctx.$slots, key, {
375
+ key: 0,
376
+ rowIndex: data.rowIndex,
377
+ row: data.row,
378
+ column: data.column
379
+ }) : (openBlock(), createElementBlock("div", {
380
+ key: 1,
381
+ ref: (el) => _ctx.setItemRef(el, data.column, data.rowid)
382
+ }, [
383
+ renderSlot(_ctx.$slots, "floatHandle", {
384
+ row: data.row,
385
+ rowIndex: data.rowIndex,
386
+ column: data.column
387
+ })
388
+ ], 512))
389
+ ])
390
+ };
391
+ })
392
+ ]), 1040),
393
+ withDirectives(createElementVNode("div", {
394
+ ref: "floatHandle",
395
+ class: normalizeClass(["floatHandle", {
396
+ floatRightIn: _ctx.isShowFloatHandle && !_ctx.goAnimationEnd
397
+ }]),
398
+ style: normalizeStyle({
399
+ top: _ctx.floatPosition?.top,
400
+ height: _ctx.floatPosition?.height
401
+ }),
402
+ onAnimationend: _cache[0] || (_cache[0] = (...args) => _ctx.goAnimationEndFn && _ctx.goAnimationEndFn(...args)),
403
+ onMouseenter: _cache[1] || (_cache[1] = (...args) => _ctx.floatOverMouse && _ctx.floatOverMouse(...args)),
404
+ onMouseleave: _cache[2] || (_cache[2] = (...args) => _ctx.floatMouseLeave && _ctx.floatMouseLeave(...args))
405
+ }, [
406
+ createElementVNode("div", null, [
407
+ renderSlot(_ctx.$slots, "floatHandle", {
408
+ row: _ctx.floatRow,
409
+ rowIndex: _ctx.floatRowIndex
410
+ })
411
+ ])
412
+ ], 38), [
413
+ [vShow, _ctx.floatPosition?.top && $props.isNeedFloatHandle && _ctx.isShowFloatHandle]
414
+ ])
415
+ ], 34);
416
+ }
417
+ var FloatTable = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "float-table.vue"]]);
418
+
419
+ const BmFloatTable = withInstall(FloatTable);
420
+
421
+ export { BmFloatTable, BmFloatTable as default };
@@ -0,0 +1,69 @@
1
+ declare const _default: {
2
+ name: string;
3
+ props: {
4
+ config: {
5
+ type: ObjectConstructor;
6
+ required: boolean;
7
+ default: () => {};
8
+ };
9
+ pagerProps: {
10
+ type: ObjectConstructor;
11
+ default: () => {};
12
+ };
13
+ events: {
14
+ type: ObjectConstructor;
15
+ default: () => {};
16
+ };
17
+ isNeedFloatHandle: {
18
+ type: BooleanConstructor;
19
+ default: boolean;
20
+ };
21
+ size: {
22
+ type: StringConstructor;
23
+ default: string;
24
+ };
25
+ };
26
+ emits: string[];
27
+ setup(props: any, { emit }: {
28
+ emit: any;
29
+ }): {
30
+ setItemRef(el: any, column: any, rowid: any): void;
31
+ leaveFloatTable(): void;
32
+ scrollTo(config?: {}): void;
33
+ pageNoChange(val: any): Promise<void>;
34
+ pageSizeChange(val: any, size: any): Promise<void>;
35
+ floatMouseLeave(): void;
36
+ floatOverMouse(): void;
37
+ goAnimationEndFn(): void;
38
+ scrollNotShowFloat(): void;
39
+ classes: import("vue").ComputedRef<(string | {
40
+ floatHandleTable: any;
41
+ })[]>;
42
+ gridOptions: import("vue").ComputedRef<any>;
43
+ gridEvents: import("vue").ComputedRef<any>;
44
+ pager: import("vue").ComputedRef<any>;
45
+ simpleImage: import("vue").Ref<JSX.Element | (string | number | boolean | void | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
46
+ [key: string]: any;
47
+ }> | null | undefined) | (string | number | boolean | void | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
48
+ [key: string]: any;
49
+ }> | null | undefined)[]>;
50
+ floatRefsId: import("vue").Ref<{}>;
51
+ floatId: import("vue").Ref<string>;
52
+ isShowFloatHandle: import("vue").Ref<boolean>;
53
+ atVisible: import("vue").Ref<boolean>;
54
+ goAnimationEnd: import("vue").Ref<boolean>;
55
+ floatPosition: import("vue").Ref<{
56
+ top: string;
57
+ height: string;
58
+ }>;
59
+ trNodes: import("vue").Ref<any>;
60
+ isInScroll: import("vue").Ref<boolean>;
61
+ inMaxScorllX: import("vue").Ref<boolean>;
62
+ floatRow: import("vue").Ref<{}>;
63
+ floatRowIndex: import("vue").Ref<undefined>;
64
+ floatHandleDomCol: import("vue").Ref<any>;
65
+ floatTable: import("vue").Ref<any>;
66
+ xGrid: import("vue").Ref<any>;
67
+ };
68
+ };
69
+ export default _default;
@@ -37,7 +37,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
37
37
  };
38
38
  }
39
39
  });
40
- var FlowDesigner = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/Users/hesiying/work/bm-admin-ui/packages/components/flow-designer/src/flow-designer.vue"]]);
40
+ var FlowDesigner = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "flow-designer.vue"]]);
41
41
 
42
42
  const BmFlowDesigner = withInstall(FlowDesigner);
43
43
 
@@ -28,7 +28,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
28
28
  };
29
29
  }
30
30
  });
31
- var FormDesigner = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/Users/hesiying/work/bm-admin-ui/packages/components/form-designer/src/form-designer.vue"]]);
31
+ var FormDesigner = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "form-designer.vue"]]);
32
32
 
33
33
  const BmFormDesigner = withInstall(FormDesigner);
34
34