@fmdeui/fmui 1.0.25 → 1.0.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +413 -50
- package/es/hooks/composables/useDialogEvents.d.ts +28 -0
- package/es/hooks/composables/useEventBus.d.ts +31 -0
- package/es/hooks/index.d.ts +1 -0
- package/es/index.mjs +1 -0
- package/es/packages/hooks/composables/useDialogEvents.mjs +33 -0
- package/es/packages/hooks/composables/useEventBus.mjs +39 -0
- package/es/packages/hooks/index.mjs +1 -0
- package/es/packages/utils/signalR.mjs +49 -11
- package/es/utils/signalR.d.ts +7 -2
- package/index.js +118 -13
- package/index.min.js +5 -4
- package/index.min.mjs +5 -4
- package/index.mjs +118 -15
- package/lib/hooks/composables/useDialogEvents.d.ts +28 -0
- package/lib/hooks/composables/useEventBus.d.ts +31 -0
- package/lib/hooks/index.d.ts +1 -0
- package/lib/index.js +3 -0
- package/lib/packages/hooks/composables/useDialogEvents.js +36 -0
- package/lib/packages/hooks/composables/useEventBus.js +41 -0
- package/lib/packages/hooks/index.js +3 -0
- package/lib/packages/utils/signalR.js +49 -11
- package/lib/utils/signalR.d.ts +7 -2
- package/locale/en.js +1 -1
- package/locale/en.min.js +1 -1
- package/locale/en.min.mjs +1 -1
- package/locale/en.mjs +1 -1
- package/locale/zh-cn.js +1 -1
- package/locale/zh-cn.min.js +1 -1
- package/locale/zh-cn.min.mjs +1 -1
- package/locale/zh-cn.mjs +1 -1
- package/package.json +1 -1
- /package/{lib → es}/defaults.css +0 -0
- /package/{es → lib}/version.css +0 -0
|
@@ -53,24 +53,62 @@ const initSignalR = () => {
|
|
|
53
53
|
});
|
|
54
54
|
return connection;
|
|
55
55
|
};
|
|
56
|
+
const getSignalR = () => {
|
|
57
|
+
return window.__SIGNALR_INSTANCE__;
|
|
58
|
+
};
|
|
56
59
|
if (!window.__SIGNALR_INSTANCE__) {
|
|
57
60
|
const instance = initSignalR();
|
|
58
61
|
if (instance) {
|
|
59
62
|
window.__SIGNALR_INSTANCE__ = instance;
|
|
60
63
|
}
|
|
61
64
|
}
|
|
62
|
-
|
|
63
|
-
const
|
|
64
|
-
if (
|
|
65
|
-
window.__SIGNALR_INSTANCE__
|
|
66
|
-
const instance = initSignalR();
|
|
67
|
-
if (instance)
|
|
68
|
-
window.__SIGNALR_INSTANCE__ = instance;
|
|
69
|
-
});
|
|
65
|
+
if (!window.__SIGNALR_INSTANCE__) {
|
|
66
|
+
const instance = initSignalR();
|
|
67
|
+
if (instance) {
|
|
68
|
+
window.__SIGNALR_INSTANCE__ = instance;
|
|
70
69
|
} else {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
const signalR = {
|
|
73
|
+
on: (event, callback) => {
|
|
74
|
+
const instance = getSignalR();
|
|
75
|
+
if (instance) {
|
|
76
|
+
instance.on(event, callback);
|
|
77
|
+
} else {
|
|
78
|
+
console.warn(`SignalR \u672A\u8FDE\u63A5\uFF0C\u65E0\u6CD5\u76D1\u542C\u4E8B\u4EF6: ${event}`);
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
off: (event, callback) => {
|
|
82
|
+
const instance = getSignalR();
|
|
83
|
+
if (instance) {
|
|
84
|
+
instance.off(event, callback);
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
send: (method, ...args) => {
|
|
88
|
+
const instance = getSignalR();
|
|
89
|
+
if (instance) {
|
|
90
|
+
return instance.invoke(method, ...args);
|
|
91
|
+
} else {
|
|
92
|
+
console.warn("SignalR \u672A\u8FDE\u63A5\uFF0C\u65E0\u6CD5\u53D1\u9001\u6D88\u606F");
|
|
93
|
+
return Promise.reject("SignalR \u672A\u8FDE\u63A5");
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
stop: () => {
|
|
97
|
+
const instance = getSignalR();
|
|
98
|
+
if (instance) {
|
|
99
|
+
return instance.stop();
|
|
100
|
+
}
|
|
101
|
+
return Promise.resolve();
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
const restartSignalR = async () => {
|
|
105
|
+
const instance = getSignalR();
|
|
106
|
+
if (instance) {
|
|
107
|
+
await instance.stop();
|
|
108
|
+
}
|
|
109
|
+
const newInstance = initSignalR();
|
|
110
|
+
if (newInstance) {
|
|
111
|
+
window.__SIGNALR_INSTANCE__ = newInstance;
|
|
74
112
|
}
|
|
75
113
|
};
|
|
76
114
|
|
package/es/utils/signalR.d.ts
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import * as SignalR from '@microsoft/signalr';
|
|
2
|
-
declare const signalR:
|
|
3
|
-
|
|
2
|
+
declare const signalR: {
|
|
3
|
+
on: (event: any, callback: any) => void;
|
|
4
|
+
off: (event: any, callback: any) => void;
|
|
5
|
+
send: (method: any, ...args: any[]) => Promise<any>;
|
|
6
|
+
stop: () => Promise<void>;
|
|
7
|
+
};
|
|
8
|
+
declare const restartSignalR: () => Promise<void>;
|
|
4
9
|
export { signalR, restartSignalR };
|
|
5
10
|
declare global {
|
|
6
11
|
interface Window {
|
package/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! fmdeui-fmui v1.0.
|
|
1
|
+
/*! fmdeui-fmui v1.0.27 */
|
|
2
2
|
(function (global, factory) {
|
|
3
3
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('pinia'), require('crypto-js'), require('xlsx-js-style'), require('element-plus'), require('vue'), require('@element-plus/icons-vue'), require('axios'), require('js-cookie'), require('@microsoft/signalr'), require('vxe-table'), require('@vxe-ui/plugin-render-element'), require('@vxe-ui/plugin-export-xlsx'), require('vxe-pc-ui'), require('vue-i18n'), require('exceljs'), require('lodash-es'), require('@vueuse/core'), require('mitt'), require('vue-router'), require('nprogress')) :
|
|
4
4
|
typeof define === 'function' && define.amd ? define(['exports', 'pinia', 'crypto-js', 'xlsx-js-style', 'element-plus', 'vue', '@element-plus/icons-vue', 'axios', 'js-cookie', '@microsoft/signalr', 'vxe-table', '@vxe-ui/plugin-render-element', '@vxe-ui/plugin-export-xlsx', 'vxe-pc-ui', 'vue-i18n', 'exceljs', 'lodash-es', '@vueuse/core', 'mitt', 'vue-router', 'nprogress'], factory) :
|
|
@@ -1741,24 +1741,61 @@
|
|
|
1741
1741
|
});
|
|
1742
1742
|
return connection;
|
|
1743
1743
|
};
|
|
1744
|
+
const getSignalR = () => {
|
|
1745
|
+
return window.__SIGNALR_INSTANCE__;
|
|
1746
|
+
};
|
|
1744
1747
|
if (!window.__SIGNALR_INSTANCE__) {
|
|
1745
1748
|
const instance = initSignalR();
|
|
1746
1749
|
if (instance) {
|
|
1747
1750
|
window.__SIGNALR_INSTANCE__ = instance;
|
|
1748
1751
|
}
|
|
1749
1752
|
}
|
|
1750
|
-
|
|
1751
|
-
|
|
1752
|
-
if (
|
|
1753
|
-
window.__SIGNALR_INSTANCE__
|
|
1754
|
-
|
|
1755
|
-
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
|
|
1753
|
+
if (!window.__SIGNALR_INSTANCE__) {
|
|
1754
|
+
const instance = initSignalR();
|
|
1755
|
+
if (instance) {
|
|
1756
|
+
window.__SIGNALR_INSTANCE__ = instance;
|
|
1757
|
+
}
|
|
1758
|
+
}
|
|
1759
|
+
const signalR = {
|
|
1760
|
+
on: (event, callback) => {
|
|
1761
|
+
const instance = getSignalR();
|
|
1762
|
+
if (instance) {
|
|
1763
|
+
instance.on(event, callback);
|
|
1764
|
+
} else {
|
|
1765
|
+
console.warn(`SignalR \u672A\u8FDE\u63A5\uFF0C\u65E0\u6CD5\u76D1\u542C\u4E8B\u4EF6: ${event}`);
|
|
1766
|
+
}
|
|
1767
|
+
},
|
|
1768
|
+
off: (event, callback) => {
|
|
1769
|
+
const instance = getSignalR();
|
|
1770
|
+
if (instance) {
|
|
1771
|
+
instance.off(event, callback);
|
|
1772
|
+
}
|
|
1773
|
+
},
|
|
1774
|
+
send: (method, ...args) => {
|
|
1775
|
+
const instance = getSignalR();
|
|
1776
|
+
if (instance) {
|
|
1777
|
+
return instance.invoke(method, ...args);
|
|
1778
|
+
} else {
|
|
1779
|
+
console.warn("SignalR \u672A\u8FDE\u63A5\uFF0C\u65E0\u6CD5\u53D1\u9001\u6D88\u606F");
|
|
1780
|
+
return Promise.reject("SignalR \u672A\u8FDE\u63A5");
|
|
1781
|
+
}
|
|
1782
|
+
},
|
|
1783
|
+
stop: () => {
|
|
1784
|
+
const instance = getSignalR();
|
|
1785
|
+
if (instance) {
|
|
1786
|
+
return instance.stop();
|
|
1787
|
+
}
|
|
1788
|
+
return Promise.resolve();
|
|
1789
|
+
}
|
|
1790
|
+
};
|
|
1791
|
+
const restartSignalR = async () => {
|
|
1792
|
+
const instance = getSignalR();
|
|
1793
|
+
if (instance) {
|
|
1794
|
+
await instance.stop();
|
|
1795
|
+
}
|
|
1796
|
+
const newInstance = initSignalR();
|
|
1797
|
+
if (newInstance) {
|
|
1798
|
+
window.__SIGNALR_INSTANCE__ = newInstance;
|
|
1762
1799
|
}
|
|
1763
1800
|
};
|
|
1764
1801
|
|
|
@@ -19085,6 +19122,72 @@
|
|
|
19085
19122
|
];
|
|
19086
19123
|
};
|
|
19087
19124
|
|
|
19125
|
+
function createEventBus(config) {
|
|
19126
|
+
const options = typeof config === "string" ? { name: config, strict: true } : config;
|
|
19127
|
+
const injectionKey = /* @__PURE__ */ Symbol(`eventBus:${options.name}`);
|
|
19128
|
+
return {
|
|
19129
|
+
/**
|
|
19130
|
+
* 在顶层组件中提供事件处理器
|
|
19131
|
+
*/
|
|
19132
|
+
provideEvents(handlers, app) {
|
|
19133
|
+
if (app) {
|
|
19134
|
+
app.provide(injectionKey, handlers);
|
|
19135
|
+
} else {
|
|
19136
|
+
vue.provide(injectionKey, handlers);
|
|
19137
|
+
}
|
|
19138
|
+
},
|
|
19139
|
+
/**
|
|
19140
|
+
* 在子组件中注入事件处理器
|
|
19141
|
+
*/
|
|
19142
|
+
useEvents() {
|
|
19143
|
+
const events = vue.inject(injectionKey);
|
|
19144
|
+
if (options.strict && !events) {
|
|
19145
|
+
console.warn(
|
|
19146
|
+
`[EventBus] \u26A0\uFE0F "${options.name}" \u672A\u627E\u5230 provide\uFF01
|
|
19147
|
+
\u8BF7\u786E\u4FDD\u5728\u9876\u5C42\u7EC4\u4EF6\u4E2D\u8C03\u7528\u4E86 provideEvents()`
|
|
19148
|
+
);
|
|
19149
|
+
}
|
|
19150
|
+
return events || options.defaultHandlers || {};
|
|
19151
|
+
},
|
|
19152
|
+
/**
|
|
19153
|
+
* 获取注入键(用于高级场景)
|
|
19154
|
+
*/
|
|
19155
|
+
getKey() {
|
|
19156
|
+
return injectionKey;
|
|
19157
|
+
}
|
|
19158
|
+
};
|
|
19159
|
+
}
|
|
19160
|
+
|
|
19161
|
+
const defaultHandlers = {
|
|
19162
|
+
onFormSubmit: async () => {
|
|
19163
|
+
console.warn("[FormEvents] onFormSubmit \u672A\u5B9E\u73B0");
|
|
19164
|
+
},
|
|
19165
|
+
onFormReset: () => {
|
|
19166
|
+
console.warn("[FormEvents] onFormReset \u672A\u5B9E\u73B0");
|
|
19167
|
+
},
|
|
19168
|
+
onFieldChange: () => {
|
|
19169
|
+
console.warn("[FormEvents] onFieldChange \u672A\u5B9E\u73B0");
|
|
19170
|
+
},
|
|
19171
|
+
onFormValidate: () => {
|
|
19172
|
+
console.warn("[FormEvents] onFormValidate \u672A\u5B9E\u73B0");
|
|
19173
|
+
},
|
|
19174
|
+
onFormDialogClose: () => {
|
|
19175
|
+
console.warn("[FormEvents] onFormDialogClose \u672A\u5B9E\u73B0");
|
|
19176
|
+
},
|
|
19177
|
+
onFormDialogOpen: () => {
|
|
19178
|
+
console.warn("[FormEvents] onFormDialogOpen \u672A\u5B9E\u73B0");
|
|
19179
|
+
}
|
|
19180
|
+
};
|
|
19181
|
+
const {
|
|
19182
|
+
provideEvents: provideFormEvents,
|
|
19183
|
+
useEvents: useFormEvents
|
|
19184
|
+
} = createEventBus({
|
|
19185
|
+
name: "formEvents",
|
|
19186
|
+
defaultHandlers,
|
|
19187
|
+
strict: true
|
|
19188
|
+
// 开发环境严格检查
|
|
19189
|
+
});
|
|
19190
|
+
|
|
19088
19191
|
const _hoisted_1$7 = { key: 0 };
|
|
19089
19192
|
const _hoisted_2$3 = { key: 0 };
|
|
19090
19193
|
var _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
|
|
@@ -23164,6 +23267,7 @@
|
|
|
23164
23267
|
exports.other = other;
|
|
23165
23268
|
exports.posId = posId;
|
|
23166
23269
|
exports.posName = posName;
|
|
23270
|
+
exports.provideFormEvents = provideFormEvents;
|
|
23167
23271
|
exports.reLoadLoginAccessToken = reLoadLoginAccessToken;
|
|
23168
23272
|
exports.refreshAccessTokenKey = refreshAccessTokenKey;
|
|
23169
23273
|
exports.removeDuplicate = removeDuplicate;
|
|
@@ -23192,6 +23296,7 @@
|
|
|
23192
23296
|
exports.useBaseApi = useBaseApi;
|
|
23193
23297
|
exports.useChangeColor = useChangeColor;
|
|
23194
23298
|
exports.useDateTimeShortCust = useDateTimeShortCust;
|
|
23299
|
+
exports.useFormEvents = useFormEvents;
|
|
23195
23300
|
exports.useFormRulePresets = useFormRulePresets;
|
|
23196
23301
|
exports.useKeepALiveNames = useKeepALiveNames;
|
|
23197
23302
|
exports.useLocale = useLocale;
|