@nocobase/plugin-client 1.6.0-beta.8 → 1.6.0

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.
@@ -1046,5 +1046,7 @@ module.exports = {
1046
1046
  "Are you sure you want to hide this menu?": "\u3053\u306E\u30E1\u30CB\u30E5\u30FC\u3092\u975E\u8868\u793A\u306B\u3057\u307E\u3059\u304B\uFF1F",
1047
1047
  "After hiding, this menu will no longer appear in the menu bar. To show it again, you need to go to the route management page to configure it.": "\u975E\u8868\u793A\u306B\u3059\u308B\u3068\u3001\u3053\u306E\u30E1\u30CB\u30E5\u30FC\u306F\u30E1\u30CB\u30E5\u30FC\u30D0\u30FC\u306B\u8868\u793A\u3055\u308C\u306A\u304F\u306A\u308A\u307E\u3059\u3002\u518D\u8868\u793A\u3059\u308B\u306B\u306F\u3001\u30EB\u30FC\u30C8\u7BA1\u7406\u30DA\u30FC\u30B8\u3067\u8A2D\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002",
1048
1048
  "If selected, the page will display Tab pages.": "\u9078\u629E\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u3001\u30DA\u30FC\u30B8\u306F\u30BF\u30D6\u30DA\u30FC\u30B8\u3092\u8868\u793A\u3057\u307E\u3059\u3002",
1049
- "If selected, the route will be displayed in the menu.": "\u9078\u629E\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u3001\u30EB\u30FC\u30C8\u306F\u30E1\u30CB\u30E5\u30FC\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002"
1049
+ "If selected, the route will be displayed in the menu.": "\u9078\u629E\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u3001\u30EB\u30FC\u30C8\u306F\u30E1\u30CB\u30E5\u30FC\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002",
1050
+ "Are you sure you want to hide this tab?": "\u3053\u306E\u30BF\u30D6\u3092\u975E\u8868\u793A\u306B\u3057\u307E\u3059\u304B\uFF1F",
1051
+ "After hiding, this tab will no longer appear in the tab bar. To show it again, you need to go to the route management page to set it.": "\u975E\u8868\u793A\u306B\u3059\u308B\u3068\u3001\u3053\u306E\u30BF\u30D6\u306F\u30BF\u30D6\u30D0\u30FC\u306B\u8868\u793A\u3055\u308C\u306A\u304F\u306A\u308A\u307E\u3059\u3002\u518D\u8868\u793A\u3059\u308B\u306B\u306F\u3001\u30EB\u30FC\u30C8\u7BA1\u7406\u30DA\u30FC\u30B8\u3067\u8A2D\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002"
1050
1052
  };
@@ -919,5 +919,7 @@ module.exports = {
919
919
  "Are you sure you want to hide this menu?": "\uC774 \uBA54\uB274\uB97C \uC228\uAE30\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?",
920
920
  "After hiding, this menu will no longer appear in the menu bar. To show it again, you need to go to the route management page to configure it.": "\uC228\uAE30\uBA74 \uC774 \uBA54\uB274\uB294 \uBA54\uB274 \uBC14\uC5D0 \uB354 \uC774\uC0C1 \uD45C\uC2DC\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uB2E4\uC2DC \uD45C\uC2DC\uD558\uB824\uBA74 \uB77C\uC6B0\uD2B8 \uAD00\uB9AC \uD398\uC774\uC9C0\uC5D0\uC11C \uC124\uC815\uD574\uC57C \uD569\uB2C8\uB2E4.",
921
921
  "If selected, the page will display Tab pages.": "\uC120\uD0DD\uB418\uBA74 \uD398\uC774\uC9C0\uB294 \uD0ED \uD398\uC774\uC9C0\uB97C \uD45C\uC2DC\uD569\uB2C8\uB2E4.",
922
- "If selected, the route will be displayed in the menu.": "\uC120\uD0DD\uB418\uBA74 \uB77C\uC6B0\uD2B8\uB294 \uBA54\uB274\uC5D0 \uD45C\uC2DC\uB429\uB2C8\uB2E4."
922
+ "If selected, the route will be displayed in the menu.": "\uC120\uD0DD\uB418\uBA74 \uB77C\uC6B0\uD2B8\uB294 \uBA54\uB274\uC5D0 \uD45C\uC2DC\uB429\uB2C8\uB2E4.",
923
+ "Are you sure you want to hide this tab?": "\uC774 \uD0ED\uC744 \uC228\uAE30\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?",
924
+ "After hiding, this tab will no longer appear in the tab bar. To show it again, you need to go to the route management page to set it.": "\uC228\uAE30\uBA74 \uC774 \uD0ED\uC740 \uD0ED \uBC14\uC5D0 \uB354 \uC774\uC0C1 \uD45C\uC2DC\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uB2E4\uC2DC \uD45C\uC2DC\uD558\uB824\uBA74 \uB77C\uC6B0\uD2B8 \uAD00\uB9AC \uD398\uC774\uC9C0\uC5D0\uC11C \uC124\uC815\uD574\uC57C \uD569\uB2C8\uB2E4."
923
925
  };
@@ -785,5 +785,7 @@ module.exports = {
785
785
  "Are you sure you want to hide this menu?": "Tem certeza de que deseja ocultar este menu?",
786
786
  "After hiding, this menu will no longer appear in the menu bar. To show it again, you need to go to the route management page to configure it.": "Depois de ocultar, este menu n\xE3o aparecer\xE1 mais na barra de menus. Para mostrar novamente, voc\xEA precisa ir \xE0 p\xE1gina de gerenciamento de rotas para configur\xE1-lo.",
787
787
  "If selected, the page will display Tab pages.": "Se selecionado, a p\xE1gina exibir\xE1 p\xE1ginas de abas.",
788
- "If selected, the route will be displayed in the menu.": "Se selecionado, a rota ser\xE1 exibida no menu."
788
+ "If selected, the route will be displayed in the menu.": "Se selecionado, a rota ser\xE1 exibida no menu.",
789
+ "Are you sure you want to hide this tab?": "Tem certeza de que deseja ocultar esta guia?",
790
+ "After hiding, this tab will no longer appear in the tab bar. To show it again, you need to go to the route management page to set it.": "Depois de ocultar, esta guia n\xE3o aparecer\xE1 mais na barra de guias. Para mostr\xE1-la novamente, voc\xEA precisa ir \xE0 p\xE1gina de gerenciamento de rotas para configur\xE1-la."
789
791
  };
@@ -614,5 +614,7 @@ module.exports = {
614
614
  "Are you sure you want to hide this menu?": "\u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B, \u0447\u0442\u043E \u0445\u043E\u0442\u0438\u0442\u0435 \u0441\u043A\u0440\u044B\u0442\u044C \u044D\u0442\u043E \u043C\u0435\u043D\u044E?",
615
615
  "After hiding, this menu will no longer appear in the menu bar. To show it again, you need to go to the route management page to configure it.": "\u041F\u043E\u0441\u043B\u0435 \u0441\u043A\u0440\u044B\u0442\u0438\u044F \u044D\u0442\u043E\u0433\u043E \u043C\u0435\u043D\u044E \u043E\u043D \u0431\u043E\u043B\u044C\u0448\u0435 \u043D\u0435 \u0431\u0443\u0434\u0435\u0442 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C\u0441\u044F \u0432 \u043C\u0435\u043D\u044E. \u0427\u0442\u043E\u0431\u044B \u0441\u043D\u043E\u0432\u0430 \u043E\u0442\u043E\u0431\u0440\u0430\u0437\u0438\u0442\u044C \u0435\u0433\u043E, \u0432\u0430\u043C \u043D\u0443\u0436\u043D\u043E \u0431\u0443\u0434\u0435\u0442 \u043F\u0435\u0440\u0435\u0439\u0442\u0438 \u043D\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0443 \u0443\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F \u043C\u0430\u0440\u0448\u0440\u0443\u0442\u0430\u043C\u0438 \u0438 \u043D\u0430\u0441\u0442\u0440\u043E\u0438\u0442\u044C \u0435\u0433\u043E.",
616
616
  "If selected, the page will display Tab pages.": "\u0415\u0441\u043B\u0438 \u0432\u044B\u0431\u0440\u0430\u043D, \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430 \u0431\u0443\u0434\u0435\u0442 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B \u0441 \u0432\u043A\u043B\u0430\u0434\u043A\u0430\u043C\u0438.",
617
- "If selected, the route will be displayed in the menu.": "\u0415\u0441\u043B\u0438 \u0432\u044B\u0431\u0440\u0430\u043D, \u043C\u0430\u0440\u0448\u0440\u0443\u0442 \u0431\u0443\u0434\u0435\u0442 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C\u0441\u044F \u0432 \u043C\u0435\u043D\u044E."
617
+ "If selected, the route will be displayed in the menu.": "\u0415\u0441\u043B\u0438 \u0432\u044B\u0431\u0440\u0430\u043D, \u043C\u0430\u0440\u0448\u0440\u0443\u0442 \u0431\u0443\u0434\u0435\u0442 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C\u0441\u044F \u0432 \u043C\u0435\u043D\u044E.",
618
+ "Are you sure you want to hide this tab?": "\u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B, \u0447\u0442\u043E \u0445\u043E\u0442\u0438\u0442\u0435 \u0441\u043A\u0440\u044B\u0442\u044C \u044D\u0442\u0443 \u0432\u043A\u043B\u0430\u0434\u043A\u0443?",
619
+ "After hiding, this tab will no longer appear in the tab bar. To show it again, you need to go to the route management page to set it.": "\u041F\u043E\u0441\u043B\u0435 \u0441\u043A\u0440\u044B\u0442\u0438\u044F \u044D\u0442\u043E\u0439 \u0432\u043A\u043B\u0430\u0434\u043A\u0438 \u043E\u043D\u0430 \u0431\u043E\u043B\u044C\u0448\u0435 \u043D\u0435 \u0431\u0443\u0434\u0435\u0442 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C\u0441\u044F \u0432\u043E \u0432\u043A\u043B\u0430\u0434\u043A\u0435. \u0427\u0442\u043E\u0431\u044B \u0441\u043D\u043E\u0432\u0430 \u043E\u0442\u043E\u0431\u0440\u0430\u0437\u0438\u0442\u044C \u0435\u0435, \u0432\u0430\u043C \u043D\u0443\u0436\u043D\u043E \u0431\u0443\u0434\u0435\u0442 \u043F\u0435\u0440\u0435\u0439\u0442\u0438 \u043D\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0443 \u0443\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F \u043C\u0430\u0440\u0448\u0440\u0443\u0442\u0430\u043C\u0438, \u0447\u0442\u043E\u0431\u044B \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0435\u0435."
618
620
  };
@@ -612,5 +612,7 @@ module.exports = {
612
612
  "Are you sure you want to hide this menu?": "Bu men\xFCy\xFC gizlemek istedi\u011Finizden emin misiniz?",
613
613
  "After hiding, this menu will no longer appear in the menu bar. To show it again, you need to go to the route management page to configure it.": "Gizlendikten sonra, bu men\xFC art\u0131k men\xFC \xE7ubu\u011Funda g\xF6r\xFCnmeyecektir. Tekrar g\xF6r\xFCnt\xFClemek i\xE7in, y\xF6nlendirme y\xF6netimi sayfas\u0131na gidip onu yap\u0131land\u0131rman\u0131z gerekecektir.",
614
614
  "If selected, the page will display Tab pages.": "Se\xE7ildi\u011Finde, sayfa Tab sayfalar\u0131n\u0131 g\xF6r\xFCnt\xFCleyecektir.",
615
- "If selected, the route will be displayed in the menu.": "Se\xE7ildi\u011Finde, yol men\xFCde g\xF6r\xFCnt\xFClenecektir."
615
+ "If selected, the route will be displayed in the menu.": "Se\xE7ildi\u011Finde, yol men\xFCde g\xF6r\xFCnt\xFClenecektir.",
616
+ "Are you sure you want to hide this tab?": "Bu sekmeyi gizlemek istedi\u011Finizden emin misiniz?",
617
+ "After hiding, this tab will no longer appear in the tab bar. To show it again, you need to go to the route management page to set it.": "Gizlendikten sonra, bu sekme art\u0131k sekme \xE7ubu\u011Funda g\xF6r\xFCnmeyecek. Onu tekrar g\xF6stermek i\xE7in, rotay\u0131 y\xF6netim sayfas\u0131na gidip ayarlaman\u0131z gerekiyor."
616
618
  };
@@ -828,5 +828,7 @@ module.exports = {
828
828
  "Are you sure you want to hide this menu?": "\u0412\u0438 \u0432\u043F\u0435\u0432\u043D\u0435\u043D\u0456, \u0449\u043E \u0445\u043E\u0447\u0435\u0442\u0435 \u043F\u0440\u0438\u0445\u043E\u0432\u0430\u0442\u0438 \u0446\u0435 \u043C\u0435\u043D\u044E?",
829
829
  "After hiding, this menu will no longer appear in the menu bar. To show it again, you need to go to the route management page to configure it.": "\u041F\u0456\u0441\u043B\u044F \u043F\u0440\u0438\u0445\u043E\u0432\u0443\u0432\u0430\u043D\u043D\u044F \u0446\u044C\u043E\u0433\u043E \u043C\u0435\u043D\u044E \u0432\u0456\u043D \u0431\u0456\u043B\u044C\u0448\u0435 \u043D\u0435 \u0437'\u044F\u0432\u0438\u0442\u044C\u0441\u044F \u0432 \u043C\u0435\u043D\u044E. \u0429\u043E\u0431 \u0437\u043D\u043E\u0432\u0443 \u043F\u043E\u043A\u0430\u0437\u0430\u0442\u0438 \u0439\u043E\u0433\u043E, \u0432\u0430\u043C \u043F\u043E\u0442\u0440\u0456\u0431\u043D\u043E \u043F\u0435\u0440\u0435\u0439\u0442\u0438 \u043D\u0430 \u0441\u0442\u043E\u0440\u0456\u043D\u043A\u0443 \u043A\u0435\u0440\u0443\u0432\u0430\u043D\u043D\u044F \u043C\u0430\u0440\u0448\u0440\u0443\u0442\u0430\u043C\u0438 \u0456 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u0442\u0438 \u0439\u043E\u0433\u043E.",
830
830
  "If selected, the page will display Tab pages.": "\u042F\u043A\u0449\u043E \u0432\u0438\u0431\u0440\u0430\u043D\u043E, \u0441\u0442\u043E\u0440\u0456\u043D\u043A\u0430 \u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0437\u0438\u0442\u044C \u0441\u0442\u043E\u0440\u0456\u043D\u043A\u0438 \u0437 \u0432\u043A\u043B\u0430\u0434\u043A\u0430\u043C\u0438.",
831
- "If selected, the route will be displayed in the menu.": "\u042F\u043A\u0449\u043E \u0432\u0438\u0431\u0440\u0430\u043D\u043E, \u043C\u0430\u0440\u0448\u0440\u0443\u0442 \u0431\u0443\u0434\u0435 \u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439 \u0432 \u043C\u0435\u043D\u044E."
831
+ "If selected, the route will be displayed in the menu.": "\u042F\u043A\u0449\u043E \u0432\u0438\u0431\u0440\u0430\u043D\u043E, \u043C\u0430\u0440\u0448\u0440\u0443\u0442 \u0431\u0443\u0434\u0435 \u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439 \u0432 \u043C\u0435\u043D\u044E.",
832
+ "Are you sure you want to hide this tab?": "\u0412\u0438 \u0432\u043F\u0435\u0432\u043D\u0435\u043D\u0456, \u0449\u043E \u0445\u043E\u0447\u0435\u0442\u0435 \u043F\u0440\u0438\u0445\u043E\u0432\u0430\u0442\u0438 \u0446\u044E \u0432\u043A\u043B\u0430\u0434\u043A\u0443?",
833
+ "After hiding, this tab will no longer appear in the tab bar. To show it again, you need to go to the route management page to set it.": "\u041F\u0456\u0441\u043B\u044F \u043F\u0440\u0438\u0445\u043E\u0432\u0443\u0432\u0430\u043D\u043D\u044F \u0446\u0456\u0454\u0457 \u0432\u043A\u043B\u0430\u0434\u043A\u0438 \u0432\u043E\u043D\u0430 \u0431\u0456\u043B\u044C\u0448\u0435 \u043D\u0435 \u0437'\u044F\u0432\u0438\u0442\u044C\u0441\u044F \u0432 \u043F\u0430\u043D\u0435\u043B\u0456 \u0432\u043A\u043B\u0430\u0434\u043E\u043A. \u0429\u043E\u0431 \u0437\u043D\u043E\u0432\u0443 \u043F\u043E\u043A\u0430\u0437\u0430\u0442\u0438 \u0457\u0457, \u0432\u0430\u043C \u043F\u043E\u0442\u0440\u0456\u0431\u043D\u043E \u043F\u0435\u0440\u0435\u0439\u0442\u0438 \u043D\u0430 \u0441\u0442\u043E\u0440\u0456\u043D\u043A\u0443 \u043A\u0435\u0440\u0443\u0432\u0430\u043D\u043D\u044F \u043C\u0430\u0440\u0448\u0440\u0443\u0442\u0430\u043C\u0438, \u0449\u043E\u0431 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u0442\u0438 \u0457\u0457."
832
834
  };
@@ -354,7 +354,7 @@ module.exports = {
354
354
  "Subform mode": "\u5B50\u8868\u5355\u6A21\u5F0F",
355
355
  "Field mode": "\u5B57\u6BB5\u7EC4\u4EF6",
356
356
  "Allow add new data": "\u5141\u8BB8\u6DFB\u52A0\u6570\u636E",
357
- "Edit block title": "\u7F16\u8F91\u533A\u5757\u6807\u9898",
357
+ "Edit block title & description": "\u7F16\u8F91\u533A\u5757\u6807\u9898\u548C\u63CF\u8FF0",
358
358
  "Block title": "\u533A\u5757\u6807\u9898",
359
359
  Pattern: "\u6A21\u5F0F",
360
360
  Operator: "\u8FD0\u7B97\u7B26",
@@ -1087,5 +1087,7 @@ module.exports = {
1087
1087
  "Are you sure you want to hide this menu?": "\u4F60\u786E\u5B9A\u8981\u9690\u85CF\u8FD9\u4E2A\u83DC\u5355\u5417\uFF1F",
1088
1088
  "After hiding, this menu will no longer appear in the menu bar. To show it again, you need to go to the route management page to configure it.": "\u9690\u85CF\u540E\uFF0C\u8FD9\u4E2A\u83DC\u5355\u5C06\u4E0D\u518D\u51FA\u73B0\u5728\u83DC\u5355\u680F\u4E2D\u3002\u8981\u518D\u6B21\u663E\u793A\u5B83\uFF0C\u4F60\u9700\u8981\u5230\u8DEF\u7531\u7BA1\u7406\u9875\u9762\u8FDB\u884C\u8BBE\u7F6E\u3002",
1089
1089
  "If selected, the page will display Tab pages.": "\u5982\u679C\u9009\u4E2D\uFF0C\u8BE5\u9875\u9762\u5C06\u663E\u793A\u6807\u7B7E\u9875\u3002",
1090
- "If selected, the route will be displayed in the menu.": "\u5982\u679C\u9009\u4E2D\uFF0C\u8BE5\u8DEF\u7531\u5C06\u663E\u793A\u5728\u83DC\u5355\u4E2D\u3002"
1090
+ "If selected, the route will be displayed in the menu.": "\u5982\u679C\u9009\u4E2D\uFF0C\u8BE5\u8DEF\u7531\u5C06\u663E\u793A\u5728\u83DC\u5355\u4E2D\u3002",
1091
+ "Are you sure you want to hide this tab?": "\u4F60\u786E\u5B9A\u8981\u9690\u85CF\u8BE5\u6807\u7B7E\u9875\u5417\uFF1F",
1092
+ "After hiding, this tab will no longer appear in the tab bar. To show it again, you need to go to the route management page to set it.": "\u9690\u85CF\u540E\uFF0C\u8BE5\u6807\u7B7E\u5C06\u4E0D\u518D\u663E\u793A\u5728\u6807\u7B7E\u680F\u4E2D\u3002\u8981\u60F3\u518D\u6B21\u663E\u793A\u5B83\uFF0C\u4F60\u9700\u8981\u5230\u8DEF\u7531\u7BA1\u7406\u9875\u9762\u8FDB\u884C\u8BBE\u7F6E\u3002"
1091
1093
  };
@@ -919,5 +919,7 @@ module.exports = {
919
919
  "Are you sure you want to hide this menu?": "\u4F60\u78BA\u5B9A\u8981\u96B1\u85CF\u9019\u500B\u83DC\u55AE\u55CE\uFF1F",
920
920
  "After hiding, this menu will no longer appear in the menu bar. To show it again, you need to go to the route management page to configure it.": "\u96B1\u85CF\u5F8C\uFF0C\u9019\u500B\u83DC\u55AE\u5C07\u4E0D\u518D\u51FA\u73FE\u5728\u83DC\u55AE\u6B04\u4E2D\u3002\u8981\u518D\u6B21\u986F\u793A\u5B83\uFF0C\u4F60\u9700\u8981\u5230\u8DEF\u7531\u7BA1\u7406\u9801\u9762\u9032\u884C\u8A2D\u7F6E\u3002",
921
921
  "If selected, the page will display Tab pages.": "\u5982\u679C\u9078\u4E2D\uFF0C\u8A72\u9801\u9762\u5C07\u986F\u793A\u6A19\u7C64\u9801\u3002",
922
- "If selected, the route will be displayed in the menu.": "\u5982\u679C\u9078\u4E2D\uFF0C\u8A72\u8DEF\u7531\u5C07\u986F\u793A\u5728\u83DC\u55AE\u4E2D\u3002"
922
+ "If selected, the route will be displayed in the menu.": "\u5982\u679C\u9078\u4E2D\uFF0C\u8A72\u8DEF\u7531\u5C07\u986F\u793A\u5728\u83DC\u55AE\u4E2D\u3002",
923
+ "Are you sure you want to hide this tab?": "\u4F60\u78BA\u5B9A\u8981\u96B1\u85CF\u9019\u500B\u6A19\u7C64\u55CE\uFF1F",
924
+ "After hiding, this tab will no longer appear in the tab bar. To show it again, you need to go to the route management page to set it.": "\u96B1\u85CF\u5F8C\uFF0C\u9019\u500B\u6A19\u7C64\u5C07\u4E0D\u518D\u51FA\u73FE\u5728\u6A19\u7C64\u6B04\u4E2D\u3002\u8981\u518D\u6B21\u986F\u793A\u5B83\uFF0C\u4F60\u9700\u8981\u5230\u8DEF\u7531\u7BA1\u7406\u9801\u9762\u9032\u884C\u8A2D\u7F6E\u3002"
923
925
  };
@@ -1 +1 @@
1
- {"name":"cronstrue","title":"cRonstrue","version":"2.47.0","description":"Convert cron expressions into human readable descriptions","author":"Brady Holt","license":"MIT","bugs":{"url":"https://github.com/bradymholt/cronstrue/issues"},"homepage":"https://github.com/bradymholt/cronstrue","keywords":["cron","cronjob","crontab","schedule","parser","cron expression","cron description","pretty cron","cron for humans","cron translated","cron english","cron schedule","cron english","cron schedule"],"main":"dist/cronstrue.js","bin":{"cronstrue":"bin/cli.js"},"typings":"dist/cronstrue.d.ts","files":["dist/","locales/","i18n.js","i18n.d.ts"],"repository":{"type":"git","url":"git+https://github.com/bradymholt/cronstrue.git"},"publishConfig":{"access":"public"},"prettier":{"printWidth":120},"devDependencies":{"@types/chai":"^4.2.11","@types/mocha":"^8.0.0","chai":"^4.2.0","handlebars":"^4.7.6","marked":"^4.0.10","mocha":"^10.1.0","pixl-xml":"^1.0.13","prettier":"^2.1.1","terser-webpack-plugin":"^5.3.1","ts-loader":"^9.2.6","ts-node":"^10.5.0","typescript":"^4.6.2","webpack":"^5.69.1","webpack-cli":"^4.9.2","xml2js":"^0.5.0"},"scripts":{"start":"npm run build","build":"npx tsc -p ./src --emitDeclarationOnly","test":"npx mocha --reporter spec --require ts-node/register \"./test/**/*.ts\"","prepublishOnly":"rm -rf ./dist && ./node_modules/webpack-cli/bin/cli.js && git add -A"},"dependencies":{},"_lastModified":"2025-02-14T16:50:22.483Z"}
1
+ {"name":"cronstrue","title":"cRonstrue","version":"2.47.0","description":"Convert cron expressions into human readable descriptions","author":"Brady Holt","license":"MIT","bugs":{"url":"https://github.com/bradymholt/cronstrue/issues"},"homepage":"https://github.com/bradymholt/cronstrue","keywords":["cron","cronjob","crontab","schedule","parser","cron expression","cron description","pretty cron","cron for humans","cron translated","cron english","cron schedule","cron english","cron schedule"],"main":"dist/cronstrue.js","bin":{"cronstrue":"bin/cli.js"},"typings":"dist/cronstrue.d.ts","files":["dist/","locales/","i18n.js","i18n.d.ts"],"repository":{"type":"git","url":"git+https://github.com/bradymholt/cronstrue.git"},"publishConfig":{"access":"public"},"prettier":{"printWidth":120},"devDependencies":{"@types/chai":"^4.2.11","@types/mocha":"^8.0.0","chai":"^4.2.0","handlebars":"^4.7.6","marked":"^4.0.10","mocha":"^10.1.0","pixl-xml":"^1.0.13","prettier":"^2.1.1","terser-webpack-plugin":"^5.3.1","ts-loader":"^9.2.6","ts-node":"^10.5.0","typescript":"^4.6.2","webpack":"^5.69.1","webpack-cli":"^4.9.2","xml2js":"^0.5.0"},"scripts":{"start":"npm run build","build":"npx tsc -p ./src --emitDeclarationOnly","test":"npx mocha --reporter spec --require ts-node/register \"./test/**/*.ts\"","prepublishOnly":"rm -rf ./dist && ./node_modules/webpack-cli/bin/cli.js && git add -A"},"dependencies":{},"_lastModified":"2025-03-11T05:45:22.256Z"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ import { Migration } from '@nocobase/server';
10
+ export default class extends Migration {
11
+ appVersion: string;
12
+ up(): Promise<void>;
13
+ }
@@ -0,0 +1,87 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ var __create = Object.create;
11
+ var __defProp = Object.defineProperty;
12
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
13
+ var __getOwnPropNames = Object.getOwnPropertyNames;
14
+ var __getProtoOf = Object.getPrototypeOf;
15
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
16
+ var __export = (target, all) => {
17
+ for (var name in all)
18
+ __defProp(target, name, { get: all[name], enumerable: true });
19
+ };
20
+ var __copyProps = (to, from, except, desc) => {
21
+ if (from && typeof from === "object" || typeof from === "function") {
22
+ for (let key of __getOwnPropNames(from))
23
+ if (!__hasOwnProp.call(to, key) && key !== except)
24
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
25
+ }
26
+ return to;
27
+ };
28
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
29
+ // If the importer is in node compatibility mode or this is not an ESM
30
+ // file that has been converted to a CommonJS file using a Babel-
31
+ // compatible transform (i.e. "__esModule" has not been set), then set
32
+ // "default" to the CommonJS "module.exports" for node compatibility.
33
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
34
+ mod
35
+ ));
36
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
37
+ var fix_roles_desktop_routes_exports = {};
38
+ __export(fix_roles_desktop_routes_exports, {
39
+ default: () => fix_roles_desktop_routes_default
40
+ });
41
+ module.exports = __toCommonJS(fix_roles_desktop_routes_exports);
42
+ var import_server = require("@nocobase/server");
43
+ var import_lodash = __toESM(require("lodash"));
44
+ class fix_roles_desktop_routes_default extends import_server.Migration {
45
+ appVersion = "<1.6.0";
46
+ async up() {
47
+ const rolesDesktopRoutesRepo = this.db.getRepository("rolesDesktopRoutes");
48
+ const count = await rolesDesktopRoutesRepo.count();
49
+ if (!count) {
50
+ return;
51
+ }
52
+ const desktopRoutesRepo = this.db.getRepository("desktopRoutes");
53
+ try {
54
+ await this.db.sequelize.transaction(async (transaction) => {
55
+ const rolesDesktopRoutes = await rolesDesktopRoutesRepo.find({ transaction });
56
+ const rolesDesktopRouteIds = rolesDesktopRoutes.map((x) => x.get("desktopRouteId"));
57
+ const desktopRoutes = await desktopRoutesRepo.find({
58
+ filter: { $or: [{ id: rolesDesktopRouteIds }, { parentId: rolesDesktopRouteIds }] },
59
+ transaction
60
+ });
61
+ const records = findMissingRoutes(rolesDesktopRoutes, desktopRoutes);
62
+ await rolesDesktopRoutesRepo.createMany({ records, transaction });
63
+ });
64
+ } catch (error) {
65
+ console.error("Migration failed:", error);
66
+ throw error;
67
+ }
68
+ }
69
+ }
70
+ function findMissingRoutes(rolesDesktopRoutes, desktopRoutes) {
71
+ const routeMap = import_lodash.default.keyBy(desktopRoutes, "id");
72
+ const group = (id, roleName) => `${id}_${roleName}`;
73
+ const existingMap = new Set(rolesDesktopRoutes.map((x) => group(x.desktopRouteId, x.roleName)));
74
+ const missingRoutes = [];
75
+ rolesDesktopRoutes.forEach((route) => {
76
+ const parentRoute = routeMap[route.desktopRouteId];
77
+ desktopRoutes.forEach((child) => {
78
+ if (child.hidden && child.parentId === parentRoute.id) {
79
+ const key = group(child.id, route.roleName);
80
+ if (!existingMap.has(key)) {
81
+ missingRoutes.push({ desktopRouteId: child.id, roleName: route.roleName });
82
+ }
83
+ }
84
+ });
85
+ });
86
+ return missingRoutes;
87
+ }
@@ -41,12 +41,13 @@ __export(server_exports, {
41
41
  });
42
42
  module.exports = __toCommonJS(server_exports);
43
43
  var import_server = require("@nocobase/server");
44
+ var import_utils = require("@nocobase/utils");
45
+ var import_lodash = __toESM(require("lodash"));
44
46
  var process = __toESM(require("node:process"));
45
47
  var import_path = require("path");
46
48
  var import_antd = require("./antd");
47
49
  var import_cron = require("./cron");
48
50
  var import_cronstrue = require("./cronstrue");
49
- var import_utils = require("@nocobase/utils");
50
51
  async function getLang(ctx) {
51
52
  const SystemSetting = ctx.db.getRepository("systemSettings");
52
53
  const systemSetting = await SystemSetting.findOne();
@@ -210,6 +211,45 @@ class PluginClientServer extends import_server.Plugin {
210
211
  transaction
211
212
  });
212
213
  });
214
+ const processRoleDesktopRoutes = async (params) => {
215
+ const { models, action, transaction } = params;
216
+ if (!models.length) return;
217
+ const parentIds = models.map((x) => x.desktopRouteId);
218
+ const tabs = await this.app.db.getRepository("desktopRoutes").find({
219
+ where: { parentId: parentIds, hidden: true },
220
+ transaction
221
+ });
222
+ if (!tabs.length) return;
223
+ const repository = this.app.db.getRepository("rolesDesktopRoutes");
224
+ const roleName = models[0].get("roleName");
225
+ const tabIds = tabs.map((x) => x.get("id"));
226
+ const where = { desktopRouteId: tabIds, roleName };
227
+ if (action === "create") {
228
+ const exists = await repository.find({ where });
229
+ const modelsByRouteId = import_lodash.default.keyBy(exists, (x) => x.get("desktopRouteId"));
230
+ const createModels = tabs.map((x) => !modelsByRouteId[x.get("id")] && { desktopRouteId: x.get("id"), roleName }).filter(Boolean);
231
+ for (const values of createModels) {
232
+ await repository.firstOrCreate({
233
+ values,
234
+ filterKeys: ["desktopRouteId", "roleName"],
235
+ transaction
236
+ });
237
+ }
238
+ return;
239
+ }
240
+ if (action === "remove") {
241
+ return await repository.destroy({ filter: where, transaction });
242
+ }
243
+ };
244
+ this.app.db.on("rolesDesktopRoutes.afterBulkCreate", async (instances, options) => {
245
+ await processRoleDesktopRoutes({ models: instances, action: "create", transaction: options.transaction });
246
+ });
247
+ this.app.db.on("rolesDesktopRoutes.afterBulkDestroy", async (options) => {
248
+ const models = await this.app.db.getRepository("rolesDesktopRoutes").find({
249
+ where: options.where
250
+ });
251
+ await processRoleDesktopRoutes({ models, action: "remove", transaction: options.transaction });
252
+ });
213
253
  }
214
254
  registerActionHandlers() {
215
255
  this.app.resourceManager.registerActionHandler("desktopRoutes:listAccessible", async (ctx, next) => {
@@ -226,14 +266,28 @@ class PluginClientServer extends import_server.Plugin {
226
266
  filterByTk: ctx.state.currentRole,
227
267
  appends: ["desktopRoutes"]
228
268
  });
229
- const desktopRoutesId = role.get("desktopRoutes").filter((item) => !item.hidden).map((item) => item.id);
230
- ctx.body = await desktopRoutesRepository.find({
231
- tree: true,
232
- ...ctx.query,
233
- filter: {
234
- id: desktopRoutesId
269
+ const desktopRoutesId = role.get("desktopRoutes").map(async (item, index, items) => {
270
+ if (item.type === "page" && !items.some((tab) => tab.parentId === item.id)) {
271
+ const children = await desktopRoutesRepository.find({
272
+ filter: {
273
+ parentId: item.id
274
+ }
275
+ });
276
+ return [item.id, ...(children || []).map((child) => child.id)];
235
277
  }
278
+ return item.id;
236
279
  });
280
+ if (desktopRoutesId) {
281
+ const ids = (await Promise.all(desktopRoutesId)).flat();
282
+ const result = await desktopRoutesRepository.find({
283
+ tree: true,
284
+ ...ctx.query,
285
+ filter: {
286
+ id: ids
287
+ }
288
+ });
289
+ ctx.body = result;
290
+ }
237
291
  await next();
238
292
  });
239
293
  }
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "displayName.zh-CN": "WEB 客户端",
5
5
  "description": "Provides a client interface for the NocoBase server",
6
6
  "description.zh-CN": "为 NocoBase 服务端提供客户端界面",
7
- "version": "1.6.0-beta.8",
7
+ "version": "1.6.0",
8
8
  "main": "./dist/server/index.js",
9
9
  "license": "AGPL-3.0",
10
10
  "devDependencies": {
@@ -21,5 +21,5 @@
21
21
  "@nocobase/test": "1.x",
22
22
  "@nocobase/utils": "1.x"
23
23
  },
24
- "gitHead": "2257b50e1cf0b2a2873673a630e5ecc80ec2e01a"
24
+ "gitHead": "7422d72a4e515a11300860028a26030ed5732135"
25
25
  }