@lacqjs/nuxt-dict 0.0.4 → 0.0.5

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/module.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lacqjs/nuxt-dict",
3
- "version": "0.0.4",
3
+ "version": "0.0.5",
4
4
  "configKey": "dict",
5
5
  "compatibility": {
6
6
  "nuxt": "^4.4.8"
package/dist/module.mjs CHANGED
@@ -4,7 +4,7 @@ import { createLogger } from '../dist/runtime/utils/logger.js';
4
4
  export { createDictTranslator } from '../dist/runtime/utils/dict-translator.js';
5
5
 
6
6
  const name = "@lacqjs/nuxt-dict";
7
- const version = "0.0.4";
7
+ const version = "0.0.5";
8
8
  const devDependencies = {
9
9
  nuxt: "^4.4.8"};
10
10
  const pkg = {
@@ -1,4 +1,4 @@
1
- import { shallowRef, ref, watch, onMounted, onBeforeUnmount } from "vue";
1
+ import { shallowRef, ref, watch, onMounted, onBeforeUnmount, triggerRef } from "vue";
2
2
  import { useNuxtApp } from "#imports";
3
3
  import { DEFAULT_STORE_NAME } from "../core/cache/indexeddb-cache.js";
4
4
  const activeInstances = /* @__PURE__ */ new Map();
@@ -7,7 +7,12 @@ async function fetchDictData(manager, dictType, storeName, data, loading, error,
7
7
  error.value = null;
8
8
  try {
9
9
  const entry = await (mode === "refresh" ? manager.refresh(dictType, storeName) : manager.getDict(dictType, storeName));
10
- data.value = entry.items;
10
+ if (data.value) {
11
+ data.value.splice(0, data.value.length, ...entry.items);
12
+ triggerRef(data);
13
+ } else {
14
+ data.value = entry.items;
15
+ }
11
16
  if (itemMap) {
12
17
  itemMap.clear();
13
18
  for (const item of entry.items) {
@@ -1,4 +1,4 @@
1
- import { shallowRef, ref, watch, onMounted } from "vue";
1
+ import { shallowRef, ref, watch, onMounted, triggerRef } from "vue";
2
2
  import { useNuxtApp } from "#imports";
3
3
  import { DEFAULT_STORE_NAME } from "../core/cache/indexeddb-cache.js";
4
4
  export function useDictTree(storeOrType, maybeType) {
@@ -29,7 +29,13 @@ export function useDictTree(storeOrType, maybeType) {
29
29
  loading.value = true;
30
30
  try {
31
31
  const entry = await manager.getDict(dictType, storeName);
32
- tree.value = entry.tree ?? null;
32
+ const newTree = entry.tree ?? null;
33
+ if (tree.value && newTree) {
34
+ tree.value.splice(0, tree.value.length, ...newTree);
35
+ triggerRef(tree);
36
+ } else {
37
+ tree.value = newTree;
38
+ }
33
39
  if (entry.tree) buildMaps(entry.tree, nodeMap, pathMap);
34
40
  } finally {
35
41
  loading.value = false;
@@ -39,7 +45,13 @@ export function useDictTree(storeOrType, maybeType) {
39
45
  loading.value = true;
40
46
  try {
41
47
  const entry = await manager.refresh(dictType, storeName);
42
- tree.value = entry.tree ?? null;
48
+ const newTree = entry.tree ?? null;
49
+ if (tree.value && newTree) {
50
+ tree.value.splice(0, tree.value.length, ...newTree);
51
+ triggerRef(tree);
52
+ } else {
53
+ tree.value = newTree;
54
+ }
43
55
  if (entry.tree) buildMaps(entry.tree, nodeMap, pathMap);
44
56
  } finally {
45
57
  loading.value = false;
@@ -192,7 +192,7 @@ export class DictManager {
192
192
  const key = this.buildKey(type, storeName);
193
193
  const entry = this.memoryCache.get(key);
194
194
  if (!entry) return String(value);
195
- const item = entry.data.items.find((i) => this.codeMatch(i.value, value));
195
+ const item = entry.data?.items?.find((i) => this.codeMatch(i.value, value));
196
196
  if (!item) return String(value);
197
197
  return item[field] ?? item.label;
198
198
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lacqjs/nuxt-dict",
3
- "version": "0.0.4",
3
+ "version": "0.0.5",
4
4
  "description": "Nuxt 数据字典模块,提供扁平/树形字典翻译、多语言国际化、三级缓存与 SSR 预取。",
5
5
  "keywords": [
6
6
  "@lacqjs/nuxt-dict",