x-essential-lib 0.10.40 → 0.10.41

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/index.d.ts CHANGED
@@ -168,8 +168,8 @@ export declare function useSystem(): {
168
168
  };
169
169
  //#endregion
170
170
  //#region src/composables/viewStack.d.ts
171
- export declare function useViewStack(name: string, hook?: (params: unknown) => void): {
172
- open: import("vue").WritableComputedRef<boolean, boolean>;
171
+ export declare function useViewStack(name: string, openHook?: (params: any) => Promise<void>, closeHook?: () => Promise<void>): {
172
+ open: import("vue").Ref<boolean, boolean>;
173
173
  };
174
174
  //#endregion
175
175
  //#region src/i18n/index.d.ts
package/dist/index.js CHANGED
@@ -768,9 +768,10 @@ function useSystem() {
768
768
 
769
769
  //#endregion
770
770
  //#region src/composables/viewStack.ts
771
- function useViewStack(name, hook) {
771
+ function useViewStack(name, openHook, closeHook) {
772
772
  const views = injectViews();
773
- const open = computed({
773
+ const open = ref(false);
774
+ const view = computed({
774
775
  get() {
775
776
  return hasView(views, name);
776
777
  },
@@ -779,16 +780,26 @@ function useViewStack(name, hook) {
779
780
  else delView(views, name);
780
781
  }
781
782
  });
782
- const onOpen = (params) => {
783
- hook?.(params);
784
- open.value = true;
785
- };
783
+ async function onOpen(params) {
784
+ try {
785
+ await openHook?.(params);
786
+ } finally {
787
+ open.value = true;
788
+ }
789
+ }
786
790
  onMounted(() => {
787
791
  eventBus.on(name, onOpen);
788
792
  });
789
793
  onBeforeUnmount(() => {
790
794
  eventBus.off(name, onOpen);
791
795
  });
796
+ watch(open, (val) => {
797
+ view.value = val;
798
+ });
799
+ watch(view, async (val) => {
800
+ if (!val) closeHook?.();
801
+ open.value = val;
802
+ });
792
803
  return { open };
793
804
  }
794
805
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "x-essential-lib",
3
- "version": "0.10.40",
3
+ "version": "0.10.41",
4
4
  "files": [
5
5
  "dist"
6
6
  ],
@@ -24,7 +24,7 @@
24
24
  "prepare": "husky"
25
25
  },
26
26
  "dependencies": {
27
- "x-error-lib": "^0.6.4"
27
+ "x-error-lib": "^0.6.5"
28
28
  },
29
29
  "devDependencies": {
30
30
  "@types/js-cookie": "^3.0.6",