@fmdeui/fmui 1.0.26 → 1.0.28

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/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! fmdeui-fmui v1.0.26 */
1
+ /*! fmdeui-fmui v1.0.28 */
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) :
@@ -19122,6 +19122,72 @@
19122
19122
  ];
19123
19123
  };
19124
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
+
19125
19191
  const _hoisted_1$7 = { key: 0 };
19126
19192
  const _hoisted_2$3 = { key: 0 };
19127
19193
  var _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
@@ -23201,6 +23267,7 @@
23201
23267
  exports.other = other;
23202
23268
  exports.posId = posId;
23203
23269
  exports.posName = posName;
23270
+ exports.provideFormEvents = provideFormEvents;
23204
23271
  exports.reLoadLoginAccessToken = reLoadLoginAccessToken;
23205
23272
  exports.refreshAccessTokenKey = refreshAccessTokenKey;
23206
23273
  exports.removeDuplicate = removeDuplicate;
@@ -23229,6 +23296,7 @@
23229
23296
  exports.useBaseApi = useBaseApi;
23230
23297
  exports.useChangeColor = useChangeColor;
23231
23298
  exports.useDateTimeShortCust = useDateTimeShortCust;
23299
+ exports.useFormEvents = useFormEvents;
23232
23300
  exports.useFormRulePresets = useFormRulePresets;
23233
23301
  exports.useKeepALiveNames = useKeepALiveNames;
23234
23302
  exports.useLocale = useLocale;