@multiplatform.one/backoffice 6.4.0 → 6.4.1
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/cjs/chrome/CommandPalette.cjs +20 -9
- package/dist/cjs/chrome/CommandPalette.native.js +18 -10
- package/dist/cjs/chrome/CommandPalette.native.js.map +1 -1
- package/dist/cjs/i18n/en.cjs +21 -0
- package/dist/cjs/i18n/en.native.js +21 -0
- package/dist/cjs/i18n/en.native.js.map +1 -1
- package/dist/cjs/index.cjs +49 -1
- package/dist/cjs/index.native.js +48 -0
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/shared/types.cjs +18 -0
- package/dist/cjs/shared/types.native.js +21 -0
- package/dist/cjs/shared/types.native.js.map +1 -0
- package/dist/cjs/shared/useDocinfo.cjs +116 -0
- package/dist/cjs/shared/useDocinfo.native.js +167 -0
- package/dist/cjs/shared/useDocinfo.native.js.map +1 -0
- package/dist/cjs/shared/useDoctypeMeta.cjs +124 -0
- package/dist/cjs/shared/useDoctypeMeta.native.js +158 -0
- package/dist/cjs/shared/useDoctypeMeta.native.js.map +1 -0
- package/dist/cjs/shared/useRecentVisit.cjs +40 -0
- package/dist/cjs/shared/useRecentVisit.native.js +43 -0
- package/dist/cjs/shared/useRecentVisit.native.js.map +1 -0
- package/dist/cjs/shared/useSessionUserId.cjs +54 -0
- package/dist/cjs/shared/useSessionUserId.native.js +59 -0
- package/dist/cjs/shared/useSessionUserId.native.js.map +1 -0
- package/dist/cjs/shared/useSlugTarget.cjs +138 -0
- package/dist/cjs/shared/useSlugTarget.native.js +166 -0
- package/dist/cjs/shared/useSlugTarget.native.js.map +1 -0
- package/dist/cjs/shared/useUserRoles.cjs +72 -0
- package/dist/cjs/shared/useUserRoles.native.js +79 -0
- package/dist/cjs/shared/useUserRoles.native.js.map +1 -0
- package/dist/cjs/workspace/WorkspaceChartBlock.cjs +136 -0
- package/dist/cjs/workspace/WorkspaceChartBlock.native.js +144 -0
- package/dist/cjs/workspace/WorkspaceChartBlock.native.js.map +1 -0
- package/dist/cjs/workspace/WorkspaceGrid.cjs +91 -0
- package/dist/cjs/workspace/WorkspaceGrid.native.js +126 -0
- package/dist/cjs/workspace/WorkspaceGrid.native.js.map +1 -0
- package/dist/cjs/workspace/WorkspaceLinkCard.cjs +139 -0
- package/dist/cjs/workspace/WorkspaceLinkCard.native.js +155 -0
- package/dist/cjs/workspace/WorkspaceLinkCard.native.js.map +1 -0
- package/dist/cjs/workspace/WorkspaceLinkDirectory.cjs +110 -0
- package/dist/cjs/workspace/WorkspaceLinkDirectory.native.js +127 -0
- package/dist/cjs/workspace/WorkspaceLinkDirectory.native.js.map +1 -0
- package/dist/cjs/workspace/WorkspaceNumberCard.cjs +133 -0
- package/dist/cjs/workspace/WorkspaceNumberCard.native.js +138 -0
- package/dist/cjs/workspace/WorkspaceNumberCard.native.js.map +1 -0
- package/dist/cjs/workspace/WorkspaceQuickList.cjs +112 -0
- package/dist/cjs/workspace/WorkspaceQuickList.native.js +130 -0
- package/dist/cjs/workspace/WorkspaceQuickList.native.js.map +1 -0
- package/dist/cjs/workspace/WorkspaceRecents.cjs +116 -0
- package/dist/cjs/workspace/WorkspaceRecents.native.js +132 -0
- package/dist/cjs/workspace/WorkspaceRecents.native.js.map +1 -0
- package/dist/cjs/workspace/WorkspaceScreen.cjs +291 -0
- package/dist/cjs/workspace/WorkspaceScreen.native.js +323 -0
- package/dist/cjs/workspace/WorkspaceScreen.native.js.map +1 -0
- package/dist/cjs/workspace/WorkspaceShortcut.cjs +185 -0
- package/dist/cjs/workspace/WorkspaceShortcut.native.js +202 -0
- package/dist/cjs/workspace/WorkspaceShortcut.native.js.map +1 -0
- package/dist/cjs/workspace/parseContent.cjs +180 -0
- package/dist/cjs/workspace/parseContent.native.js +299 -0
- package/dist/cjs/workspace/parseContent.native.js.map +1 -0
- package/dist/cjs/workspace/types.cjs +18 -0
- package/dist/cjs/workspace/types.native.js +21 -0
- package/dist/cjs/workspace/types.native.js.map +1 -0
- package/dist/cjs/workspace/useDashboardChart.cjs +96 -0
- package/dist/cjs/workspace/useDashboardChart.native.js +110 -0
- package/dist/cjs/workspace/useDashboardChart.native.js.map +1 -0
- package/dist/cjs/workspace/useWorkspaceDoc.cjs +103 -0
- package/dist/cjs/workspace/useWorkspaceDoc.native.js +120 -0
- package/dist/cjs/workspace/useWorkspaceDoc.native.js.map +1 -0
- package/dist/esm/chrome/CommandPalette.mjs +20 -9
- package/dist/esm/chrome/CommandPalette.mjs.map +1 -1
- package/dist/esm/chrome/CommandPalette.native.js +18 -10
- package/dist/esm/chrome/CommandPalette.native.js.map +1 -1
- package/dist/esm/i18n/en.mjs +21 -0
- package/dist/esm/i18n/en.mjs.map +1 -1
- package/dist/esm/i18n/en.native.js +21 -0
- package/dist/esm/i18n/en.native.js.map +1 -1
- package/dist/esm/index.mjs +19 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +19 -1
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/shared/types.mjs +2 -0
- package/dist/esm/shared/types.mjs.map +1 -0
- package/dist/esm/shared/types.native.js +2 -0
- package/dist/esm/shared/types.native.js.map +1 -0
- package/dist/esm/shared/useDocinfo.mjs +90 -0
- package/dist/esm/shared/useDocinfo.mjs.map +1 -0
- package/dist/esm/shared/useDocinfo.native.js +138 -0
- package/dist/esm/shared/useDocinfo.native.js.map +1 -0
- package/dist/esm/shared/useDoctypeMeta.mjs +99 -0
- package/dist/esm/shared/useDoctypeMeta.mjs.map +1 -0
- package/dist/esm/shared/useDoctypeMeta.native.js +130 -0
- package/dist/esm/shared/useDoctypeMeta.native.js.map +1 -0
- package/dist/esm/shared/useRecentVisit.mjs +15 -0
- package/dist/esm/shared/useRecentVisit.mjs.map +1 -0
- package/dist/esm/shared/useRecentVisit.native.js +15 -0
- package/dist/esm/shared/useRecentVisit.native.js.map +1 -0
- package/dist/esm/shared/useSessionUserId.mjs +29 -0
- package/dist/esm/shared/useSessionUserId.mjs.map +1 -0
- package/dist/esm/shared/useSessionUserId.native.js +31 -0
- package/dist/esm/shared/useSessionUserId.native.js.map +1 -0
- package/dist/esm/shared/useSlugTarget.mjs +113 -0
- package/dist/esm/shared/useSlugTarget.mjs.map +1 -0
- package/dist/esm/shared/useSlugTarget.native.js +138 -0
- package/dist/esm/shared/useSlugTarget.native.js.map +1 -0
- package/dist/esm/shared/useUserRoles.mjs +47 -0
- package/dist/esm/shared/useUserRoles.mjs.map +1 -0
- package/dist/esm/shared/useUserRoles.native.js +51 -0
- package/dist/esm/shared/useUserRoles.native.js.map +1 -0
- package/dist/esm/workspace/WorkspaceChartBlock.mjs +111 -0
- package/dist/esm/workspace/WorkspaceChartBlock.mjs.map +1 -0
- package/dist/esm/workspace/WorkspaceChartBlock.native.js +116 -0
- package/dist/esm/workspace/WorkspaceChartBlock.native.js.map +1 -0
- package/dist/esm/workspace/WorkspaceGrid.mjs +66 -0
- package/dist/esm/workspace/WorkspaceGrid.mjs.map +1 -0
- package/dist/esm/workspace/WorkspaceGrid.native.js +98 -0
- package/dist/esm/workspace/WorkspaceGrid.native.js.map +1 -0
- package/dist/esm/workspace/WorkspaceLinkCard.mjs +113 -0
- package/dist/esm/workspace/WorkspaceLinkCard.mjs.map +1 -0
- package/dist/esm/workspace/WorkspaceLinkCard.native.js +126 -0
- package/dist/esm/workspace/WorkspaceLinkCard.native.js.map +1 -0
- package/dist/esm/workspace/WorkspaceLinkDirectory.mjs +84 -0
- package/dist/esm/workspace/WorkspaceLinkDirectory.mjs.map +1 -0
- package/dist/esm/workspace/WorkspaceLinkDirectory.native.js +98 -0
- package/dist/esm/workspace/WorkspaceLinkDirectory.native.js.map +1 -0
- package/dist/esm/workspace/WorkspaceNumberCard.mjs +108 -0
- package/dist/esm/workspace/WorkspaceNumberCard.mjs.map +1 -0
- package/dist/esm/workspace/WorkspaceNumberCard.native.js +110 -0
- package/dist/esm/workspace/WorkspaceNumberCard.native.js.map +1 -0
- package/dist/esm/workspace/WorkspaceQuickList.mjs +87 -0
- package/dist/esm/workspace/WorkspaceQuickList.mjs.map +1 -0
- package/dist/esm/workspace/WorkspaceQuickList.native.js +102 -0
- package/dist/esm/workspace/WorkspaceQuickList.native.js.map +1 -0
- package/dist/esm/workspace/WorkspaceRecents.mjs +91 -0
- package/dist/esm/workspace/WorkspaceRecents.mjs.map +1 -0
- package/dist/esm/workspace/WorkspaceRecents.native.js +104 -0
- package/dist/esm/workspace/WorkspaceRecents.native.js.map +1 -0
- package/dist/esm/workspace/WorkspaceScreen.mjs +266 -0
- package/dist/esm/workspace/WorkspaceScreen.mjs.map +1 -0
- package/dist/esm/workspace/WorkspaceScreen.native.js +295 -0
- package/dist/esm/workspace/WorkspaceScreen.native.js.map +1 -0
- package/dist/esm/workspace/WorkspaceShortcut.mjs +159 -0
- package/dist/esm/workspace/WorkspaceShortcut.mjs.map +1 -0
- package/dist/esm/workspace/WorkspaceShortcut.native.js +173 -0
- package/dist/esm/workspace/WorkspaceShortcut.native.js.map +1 -0
- package/dist/esm/workspace/parseContent.mjs +148 -0
- package/dist/esm/workspace/parseContent.mjs.map +1 -0
- package/dist/esm/workspace/parseContent.native.js +264 -0
- package/dist/esm/workspace/parseContent.native.js.map +1 -0
- package/dist/esm/workspace/types.mjs +2 -0
- package/dist/esm/workspace/types.mjs.map +1 -0
- package/dist/esm/workspace/types.native.js +2 -0
- package/dist/esm/workspace/types.native.js.map +1 -0
- package/dist/esm/workspace/useDashboardChart.mjs +71 -0
- package/dist/esm/workspace/useDashboardChart.mjs.map +1 -0
- package/dist/esm/workspace/useDashboardChart.native.js +82 -0
- package/dist/esm/workspace/useDashboardChart.native.js.map +1 -0
- package/dist/esm/workspace/useWorkspaceDoc.mjs +77 -0
- package/dist/esm/workspace/useWorkspaceDoc.mjs.map +1 -0
- package/dist/esm/workspace/useWorkspaceDoc.native.js +91 -0
- package/dist/esm/workspace/useWorkspaceDoc.native.js.map +1 -0
- package/dist/jsx/chrome/CommandPalette.mjs +20 -9
- package/dist/jsx/chrome/CommandPalette.mjs.map +1 -1
- package/dist/jsx/chrome/CommandPalette.native.js +18 -10
- package/dist/jsx/chrome/CommandPalette.native.js.map +1 -1
- package/dist/jsx/i18n/en.mjs +21 -0
- package/dist/jsx/i18n/en.mjs.map +1 -1
- package/dist/jsx/i18n/en.native.js +21 -0
- package/dist/jsx/i18n/en.native.js.map +1 -1
- package/dist/jsx/index.js +19 -1
- package/dist/jsx/index.js.map +1 -1
- package/dist/jsx/index.mjs +19 -1
- package/dist/jsx/index.mjs.map +1 -1
- package/dist/jsx/index.native.js +48 -0
- package/dist/jsx/index.native.js.map +1 -1
- package/dist/jsx/shared/types.mjs +2 -0
- package/dist/jsx/shared/types.mjs.map +1 -0
- package/dist/jsx/shared/types.native.js +21 -0
- package/dist/jsx/shared/types.native.js.map +1 -0
- package/dist/jsx/shared/useDocinfo.mjs +90 -0
- package/dist/jsx/shared/useDocinfo.mjs.map +1 -0
- package/dist/jsx/shared/useDocinfo.native.js +167 -0
- package/dist/jsx/shared/useDocinfo.native.js.map +1 -0
- package/dist/jsx/shared/useDoctypeMeta.mjs +99 -0
- package/dist/jsx/shared/useDoctypeMeta.mjs.map +1 -0
- package/dist/jsx/shared/useDoctypeMeta.native.js +158 -0
- package/dist/jsx/shared/useDoctypeMeta.native.js.map +1 -0
- package/dist/jsx/shared/useRecentVisit.mjs +15 -0
- package/dist/jsx/shared/useRecentVisit.mjs.map +1 -0
- package/dist/jsx/shared/useRecentVisit.native.js +43 -0
- package/dist/jsx/shared/useRecentVisit.native.js.map +1 -0
- package/dist/jsx/shared/useSessionUserId.mjs +29 -0
- package/dist/jsx/shared/useSessionUserId.mjs.map +1 -0
- package/dist/jsx/shared/useSessionUserId.native.js +59 -0
- package/dist/jsx/shared/useSessionUserId.native.js.map +1 -0
- package/dist/jsx/shared/useSlugTarget.mjs +113 -0
- package/dist/jsx/shared/useSlugTarget.mjs.map +1 -0
- package/dist/jsx/shared/useSlugTarget.native.js +166 -0
- package/dist/jsx/shared/useSlugTarget.native.js.map +1 -0
- package/dist/jsx/shared/useUserRoles.mjs +47 -0
- package/dist/jsx/shared/useUserRoles.mjs.map +1 -0
- package/dist/jsx/shared/useUserRoles.native.js +79 -0
- package/dist/jsx/shared/useUserRoles.native.js.map +1 -0
- package/dist/jsx/workspace/WorkspaceChartBlock.mjs +111 -0
- package/dist/jsx/workspace/WorkspaceChartBlock.mjs.map +1 -0
- package/dist/jsx/workspace/WorkspaceChartBlock.native.js +144 -0
- package/dist/jsx/workspace/WorkspaceChartBlock.native.js.map +1 -0
- package/dist/jsx/workspace/WorkspaceGrid.mjs +66 -0
- package/dist/jsx/workspace/WorkspaceGrid.mjs.map +1 -0
- package/dist/jsx/workspace/WorkspaceGrid.native.js +126 -0
- package/dist/jsx/workspace/WorkspaceGrid.native.js.map +1 -0
- package/dist/jsx/workspace/WorkspaceLinkCard.mjs +113 -0
- package/dist/jsx/workspace/WorkspaceLinkCard.mjs.map +1 -0
- package/dist/jsx/workspace/WorkspaceLinkCard.native.js +155 -0
- package/dist/jsx/workspace/WorkspaceLinkCard.native.js.map +1 -0
- package/dist/jsx/workspace/WorkspaceLinkDirectory.mjs +84 -0
- package/dist/jsx/workspace/WorkspaceLinkDirectory.mjs.map +1 -0
- package/dist/jsx/workspace/WorkspaceLinkDirectory.native.js +127 -0
- package/dist/jsx/workspace/WorkspaceLinkDirectory.native.js.map +1 -0
- package/dist/jsx/workspace/WorkspaceNumberCard.mjs +108 -0
- package/dist/jsx/workspace/WorkspaceNumberCard.mjs.map +1 -0
- package/dist/jsx/workspace/WorkspaceNumberCard.native.js +138 -0
- package/dist/jsx/workspace/WorkspaceNumberCard.native.js.map +1 -0
- package/dist/jsx/workspace/WorkspaceQuickList.mjs +87 -0
- package/dist/jsx/workspace/WorkspaceQuickList.mjs.map +1 -0
- package/dist/jsx/workspace/WorkspaceQuickList.native.js +130 -0
- package/dist/jsx/workspace/WorkspaceQuickList.native.js.map +1 -0
- package/dist/jsx/workspace/WorkspaceRecents.mjs +91 -0
- package/dist/jsx/workspace/WorkspaceRecents.mjs.map +1 -0
- package/dist/jsx/workspace/WorkspaceRecents.native.js +132 -0
- package/dist/jsx/workspace/WorkspaceRecents.native.js.map +1 -0
- package/dist/jsx/workspace/WorkspaceScreen.mjs +266 -0
- package/dist/jsx/workspace/WorkspaceScreen.mjs.map +1 -0
- package/dist/jsx/workspace/WorkspaceScreen.native.js +323 -0
- package/dist/jsx/workspace/WorkspaceScreen.native.js.map +1 -0
- package/dist/jsx/workspace/WorkspaceShortcut.mjs +159 -0
- package/dist/jsx/workspace/WorkspaceShortcut.mjs.map +1 -0
- package/dist/jsx/workspace/WorkspaceShortcut.native.js +202 -0
- package/dist/jsx/workspace/WorkspaceShortcut.native.js.map +1 -0
- package/dist/jsx/workspace/parseContent.mjs +148 -0
- package/dist/jsx/workspace/parseContent.mjs.map +1 -0
- package/dist/jsx/workspace/parseContent.native.js +299 -0
- package/dist/jsx/workspace/parseContent.native.js.map +1 -0
- package/dist/jsx/workspace/types.mjs +2 -0
- package/dist/jsx/workspace/types.mjs.map +1 -0
- package/dist/jsx/workspace/types.native.js +21 -0
- package/dist/jsx/workspace/types.native.js.map +1 -0
- package/dist/jsx/workspace/useDashboardChart.mjs +71 -0
- package/dist/jsx/workspace/useDashboardChart.mjs.map +1 -0
- package/dist/jsx/workspace/useDashboardChart.native.js +110 -0
- package/dist/jsx/workspace/useDashboardChart.native.js.map +1 -0
- package/dist/jsx/workspace/useWorkspaceDoc.mjs +77 -0
- package/dist/jsx/workspace/useWorkspaceDoc.mjs.map +1 -0
- package/dist/jsx/workspace/useWorkspaceDoc.native.js +120 -0
- package/dist/jsx/workspace/useWorkspaceDoc.native.js.map +1 -0
- package/package.json +12 -12
- package/src/chrome/CommandPalette.tsx +35 -15
- package/src/i18n/en.ts +21 -0
- package/src/index.ts +69 -0
- package/src/shared/types.ts +14 -0
- package/src/shared/useDocinfo.ts +163 -0
- package/src/shared/useDoctypeMeta.ts +243 -0
- package/src/shared/useRecentVisit.ts +33 -0
- package/src/shared/useSessionUserId.ts +42 -0
- package/src/shared/useSlugTarget.ts +143 -0
- package/src/shared/useUserRoles.ts +66 -0
- package/src/workspace/WorkspaceChartBlock.tsx +115 -0
- package/src/workspace/WorkspaceGrid.tsx +82 -0
- package/src/workspace/WorkspaceLinkCard.tsx +134 -0
- package/src/workspace/WorkspaceLinkDirectory.tsx +126 -0
- package/src/workspace/WorkspaceNumberCard.tsx +126 -0
- package/src/workspace/WorkspaceQuickList.tsx +100 -0
- package/src/workspace/WorkspaceRecents.tsx +100 -0
- package/src/workspace/WorkspaceScreen.tsx +322 -0
- package/src/workspace/WorkspaceShortcut.tsx +223 -0
- package/src/workspace/parseContent.spec.ts +327 -0
- package/src/workspace/parseContent.ts +240 -0
- package/src/workspace/types.ts +135 -0
- package/src/workspace/useDashboardChart.ts +115 -0
- package/src/workspace/useWorkspaceDoc.ts +111 -0
- package/types/chrome/CommandPalette.d.ts.map +1 -1
- package/types/i18n/en.d.ts +19 -0
- package/types/i18n/en.d.ts.map +1 -1
- package/types/index.d.ts +34 -0
- package/types/index.d.ts.map +1 -1
- package/types/shared/types.d.ts +21 -0
- package/types/shared/types.d.ts.map +1 -0
- package/types/shared/useDocinfo.d.ts +61 -0
- package/types/shared/useDocinfo.d.ts.map +1 -0
- package/types/shared/useDoctypeMeta.d.ts +118 -0
- package/types/shared/useDoctypeMeta.d.ts.map +1 -0
- package/types/shared/useRecentVisit.d.ts +10 -0
- package/types/shared/useRecentVisit.d.ts.map +1 -0
- package/types/shared/useSessionUserId.d.ts +6 -0
- package/types/shared/useSessionUserId.d.ts.map +1 -0
- package/types/shared/useSlugTarget.d.ts +18 -0
- package/types/shared/useSlugTarget.d.ts.map +1 -0
- package/types/shared/useUserRoles.d.ts +15 -0
- package/types/shared/useUserRoles.d.ts.map +1 -0
- package/types/workspace/WorkspaceChartBlock.d.ts +6 -0
- package/types/workspace/WorkspaceChartBlock.d.ts.map +1 -0
- package/types/workspace/WorkspaceGrid.d.ts +23 -0
- package/types/workspace/WorkspaceGrid.d.ts.map +1 -0
- package/types/workspace/WorkspaceLinkCard.d.ts +20 -0
- package/types/workspace/WorkspaceLinkCard.d.ts.map +1 -0
- package/types/workspace/WorkspaceLinkDirectory.d.ts +19 -0
- package/types/workspace/WorkspaceLinkDirectory.d.ts.map +1 -0
- package/types/workspace/WorkspaceNumberCard.d.ts +19 -0
- package/types/workspace/WorkspaceNumberCard.d.ts.map +1 -0
- package/types/workspace/WorkspaceQuickList.d.ts +6 -0
- package/types/workspace/WorkspaceQuickList.d.ts.map +1 -0
- package/types/workspace/WorkspaceRecents.d.ts +2 -0
- package/types/workspace/WorkspaceRecents.d.ts.map +1 -0
- package/types/workspace/WorkspaceScreen.d.ts +24 -0
- package/types/workspace/WorkspaceScreen.d.ts.map +1 -0
- package/types/workspace/WorkspaceShortcut.d.ts +27 -0
- package/types/workspace/WorkspaceShortcut.d.ts.map +1 -0
- package/types/workspace/parseContent.d.ts +77 -0
- package/types/workspace/parseContent.d.ts.map +1 -0
- package/types/workspace/types.d.ts +112 -0
- package/types/workspace/types.d.ts.map +1 -0
- package/types/workspace/useDashboardChart.d.ts +29 -0
- package/types/workspace/useDashboardChart.d.ts.map +1 -0
- package/types/workspace/useWorkspaceDoc.d.ts +18 -0
- package/types/workspace/useWorkspaceDoc.d.ts.map +1 -0
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { useCallback, useEffect, useMemo, useState } from "react";
|
|
2
|
+
import { useFrappeApp } from "./useFrappeApp.mjs";
|
|
3
|
+
const docinfoCache = /* @__PURE__ */new Map();
|
|
4
|
+
function cacheKey(doctype, name) {
|
|
5
|
+
return `${doctype}\0${name}`;
|
|
6
|
+
}
|
|
7
|
+
function useDocinfo(doctype, name) {
|
|
8
|
+
const app = useFrappeApp();
|
|
9
|
+
const [docinfo, setDocinfo] = useState(void 0);
|
|
10
|
+
const [loading, setLoading] = useState(Boolean(doctype && name));
|
|
11
|
+
const [error, setError] = useState(void 0);
|
|
12
|
+
const [generation, setGeneration] = useState(0);
|
|
13
|
+
const isNewDoc = !name || name === "new";
|
|
14
|
+
useEffect(() => {
|
|
15
|
+
if (!app || !doctype || !name || isNewDoc) {
|
|
16
|
+
setDocinfo(void 0);
|
|
17
|
+
setLoading(false);
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
let cancelled = false;
|
|
21
|
+
const key = cacheKey(doctype, name);
|
|
22
|
+
let entry = docinfoCache.get(key);
|
|
23
|
+
if (!entry) {
|
|
24
|
+
const listeners = /* @__PURE__ */new Set();
|
|
25
|
+
const promise = app.call().get("frappe.desk.form.load.get_docinfo", {
|
|
26
|
+
doctype,
|
|
27
|
+
name
|
|
28
|
+
}).then(res => {
|
|
29
|
+
const info = res.payload?.docinfo ?? res.payload?.message?.docinfo;
|
|
30
|
+
if (!info) throw new Error(`No docinfo returned for ${doctype}/${name}`);
|
|
31
|
+
return info;
|
|
32
|
+
});
|
|
33
|
+
entry = {
|
|
34
|
+
promise,
|
|
35
|
+
listeners
|
|
36
|
+
};
|
|
37
|
+
docinfoCache.set(key, entry);
|
|
38
|
+
promise.then(value => {
|
|
39
|
+
const current = docinfoCache.get(key);
|
|
40
|
+
if (current && current === entry) {
|
|
41
|
+
current.value = value;
|
|
42
|
+
for (const listener of current.listeners) listener();
|
|
43
|
+
}
|
|
44
|
+
}).catch(() => {
|
|
45
|
+
if (docinfoCache.get(key) === entry) docinfoCache.delete(key);
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
const currentEntry = entry;
|
|
49
|
+
const sync = () => {
|
|
50
|
+
if (!cancelled && currentEntry.value) {
|
|
51
|
+
setDocinfo(currentEntry.value);
|
|
52
|
+
setLoading(false);
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
currentEntry.listeners.add(sync);
|
|
56
|
+
setLoading(!currentEntry.value);
|
|
57
|
+
setError(void 0);
|
|
58
|
+
if (currentEntry.value) setDocinfo(currentEntry.value);
|
|
59
|
+
currentEntry.promise.catch(err => {
|
|
60
|
+
if (!cancelled) {
|
|
61
|
+
setError(err);
|
|
62
|
+
setLoading(false);
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
return () => {
|
|
66
|
+
cancelled = true;
|
|
67
|
+
currentEntry.listeners.delete(sync);
|
|
68
|
+
};
|
|
69
|
+
}, [app, doctype, name, isNewDoc, generation]);
|
|
70
|
+
const reload = useCallback(() => {
|
|
71
|
+
if (doctype && name) {
|
|
72
|
+
const key = cacheKey(doctype, name);
|
|
73
|
+
const entry = docinfoCache.get(key);
|
|
74
|
+
docinfoCache.delete(key);
|
|
75
|
+
if (entry) for (const listener of entry.listeners) listener();
|
|
76
|
+
}
|
|
77
|
+
setGeneration(g => g + 1);
|
|
78
|
+
}, [doctype, name]);
|
|
79
|
+
return useMemo(() => ({
|
|
80
|
+
docinfo,
|
|
81
|
+
loading,
|
|
82
|
+
error,
|
|
83
|
+
reload
|
|
84
|
+
}), [docinfo, loading, error, reload]);
|
|
85
|
+
}
|
|
86
|
+
function invalidateDocinfo(doctype, name) {
|
|
87
|
+
docinfoCache.delete(cacheKey(doctype, name));
|
|
88
|
+
}
|
|
89
|
+
export { invalidateDocinfo, useDocinfo };
|
|
90
|
+
//# sourceMappingURL=useDocinfo.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useMemo","useState","useFrappeApp","docinfoCache","Map","cacheKey","doctype","name","useDocinfo","app","docinfo","setDocinfo","loading","setLoading","Boolean","error","setError","generation","setGeneration","isNewDoc","cancelled","key","entry","get","listeners","Set","promise","call","then","res","info","payload","message","Error","set","value","current","listener","catch","delete","currentEntry","sync","add","err","reload","g","invalidateDocinfo"],"sources":["../../../src/shared/useDocinfo.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { useCallback, useEffect, useMemo, useState } from "react";
|
|
2
|
+
import { useFrappeApp } from "./useFrappeApp.native.js";
|
|
3
|
+
var docinfoCache = /* @__PURE__ */new Map();
|
|
4
|
+
function cacheKey(doctype, name) {
|
|
5
|
+
return `${doctype}\0${name}`;
|
|
6
|
+
}
|
|
7
|
+
function useDocinfo(doctype, name) {
|
|
8
|
+
var app = useFrappeApp();
|
|
9
|
+
var [docinfo, setDocinfo] = useState(void 0);
|
|
10
|
+
var [loading, setLoading] = useState(Boolean(doctype && name));
|
|
11
|
+
var [error, setError] = useState(void 0);
|
|
12
|
+
var [generation, setGeneration] = useState(0);
|
|
13
|
+
var isNewDoc = !name || name === "new";
|
|
14
|
+
useEffect(function () {
|
|
15
|
+
if (!app || !doctype || !name || isNewDoc) {
|
|
16
|
+
setDocinfo(void 0);
|
|
17
|
+
setLoading(false);
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
var cancelled = false;
|
|
21
|
+
var key = cacheKey(doctype, name);
|
|
22
|
+
var entry = docinfoCache.get(key);
|
|
23
|
+
if (!entry) {
|
|
24
|
+
var listeners = /* @__PURE__ */new Set();
|
|
25
|
+
var promise = app.call().get("frappe.desk.form.load.get_docinfo", {
|
|
26
|
+
doctype,
|
|
27
|
+
name
|
|
28
|
+
}).then(function (res) {
|
|
29
|
+
var _ref;
|
|
30
|
+
var _res_payload, _res_payload_message, _res_payload1;
|
|
31
|
+
var info = (_ref = (_res_payload = res.payload) === null || _res_payload === void 0 ? void 0 : _res_payload.docinfo) !== null && _ref !== void 0 ? _ref : (_res_payload1 = res.payload) === null || _res_payload1 === void 0 ? void 0 : (_res_payload_message = _res_payload1.message) === null || _res_payload_message === void 0 ? void 0 : _res_payload_message.docinfo;
|
|
32
|
+
if (!info) throw new Error(`No docinfo returned for ${doctype}/${name}`);
|
|
33
|
+
return info;
|
|
34
|
+
});
|
|
35
|
+
entry = {
|
|
36
|
+
promise,
|
|
37
|
+
listeners
|
|
38
|
+
};
|
|
39
|
+
docinfoCache.set(key, entry);
|
|
40
|
+
promise.then(function (value) {
|
|
41
|
+
var current = docinfoCache.get(key);
|
|
42
|
+
if (current && current === entry) {
|
|
43
|
+
current.value = value;
|
|
44
|
+
var _iteratorNormalCompletion = true,
|
|
45
|
+
_didIteratorError = false,
|
|
46
|
+
_iteratorError = void 0;
|
|
47
|
+
try {
|
|
48
|
+
for (var _iterator = current.listeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
49
|
+
var listener = _step.value;
|
|
50
|
+
listener();
|
|
51
|
+
}
|
|
52
|
+
} catch (err) {
|
|
53
|
+
_didIteratorError = true;
|
|
54
|
+
_iteratorError = err;
|
|
55
|
+
} finally {
|
|
56
|
+
try {
|
|
57
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
58
|
+
_iterator.return();
|
|
59
|
+
}
|
|
60
|
+
} finally {
|
|
61
|
+
if (_didIteratorError) {
|
|
62
|
+
throw _iteratorError;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}).catch(function () {
|
|
68
|
+
if (docinfoCache.get(key) === entry) docinfoCache.delete(key);
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
var currentEntry = entry;
|
|
72
|
+
var sync = function sync2() {
|
|
73
|
+
if (!cancelled && currentEntry.value) {
|
|
74
|
+
setDocinfo(currentEntry.value);
|
|
75
|
+
setLoading(false);
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
currentEntry.listeners.add(sync);
|
|
79
|
+
setLoading(!currentEntry.value);
|
|
80
|
+
setError(void 0);
|
|
81
|
+
if (currentEntry.value) setDocinfo(currentEntry.value);
|
|
82
|
+
currentEntry.promise.catch(function (err) {
|
|
83
|
+
if (!cancelled) {
|
|
84
|
+
setError(err);
|
|
85
|
+
setLoading(false);
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
return function () {
|
|
89
|
+
cancelled = true;
|
|
90
|
+
currentEntry.listeners.delete(sync);
|
|
91
|
+
};
|
|
92
|
+
}, [app, doctype, name, isNewDoc, generation]);
|
|
93
|
+
var reload = useCallback(function () {
|
|
94
|
+
if (doctype && name) {
|
|
95
|
+
var key = cacheKey(doctype, name);
|
|
96
|
+
var entry = docinfoCache.get(key);
|
|
97
|
+
docinfoCache.delete(key);
|
|
98
|
+
var _iteratorNormalCompletion = true,
|
|
99
|
+
_didIteratorError = false,
|
|
100
|
+
_iteratorError = void 0;
|
|
101
|
+
if (entry) try {
|
|
102
|
+
for (var _iterator = entry.listeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
103
|
+
var listener = _step.value;
|
|
104
|
+
listener();
|
|
105
|
+
}
|
|
106
|
+
} catch (err) {
|
|
107
|
+
_didIteratorError = true;
|
|
108
|
+
_iteratorError = err;
|
|
109
|
+
} finally {
|
|
110
|
+
try {
|
|
111
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
112
|
+
_iterator.return();
|
|
113
|
+
}
|
|
114
|
+
} finally {
|
|
115
|
+
if (_didIteratorError) {
|
|
116
|
+
throw _iteratorError;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
setGeneration(function (g) {
|
|
122
|
+
return g + 1;
|
|
123
|
+
});
|
|
124
|
+
}, [doctype, name]);
|
|
125
|
+
return useMemo(function () {
|
|
126
|
+
return {
|
|
127
|
+
docinfo,
|
|
128
|
+
loading,
|
|
129
|
+
error,
|
|
130
|
+
reload
|
|
131
|
+
};
|
|
132
|
+
}, [docinfo, loading, error, reload]);
|
|
133
|
+
}
|
|
134
|
+
function invalidateDocinfo(doctype, name) {
|
|
135
|
+
docinfoCache.delete(cacheKey(doctype, name));
|
|
136
|
+
}
|
|
137
|
+
export { invalidateDocinfo, useDocinfo };
|
|
138
|
+
//# sourceMappingURL=useDocinfo.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useMemo","useState","useFrappeApp","docinfoCache","Map","cacheKey","doctype","name","useDocinfo","app","docinfo","setDocinfo","loading","setLoading","Boolean","error","setError","generation","setGeneration","isNewDoc","cancelled","key","entry","get","listeners","Set","promise","call","then","res","_ref","_res_payload","_res_payload_message","_res_payload1","info","payload","message","Error","set","value","current","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","listener","err","return","catch","delete","currentEntry","sync","sync2","add"],"sources":["../../../src/shared/useDocinfo.ts"],"sourcesContent":[null],"mappings":"AAQA,SAASA,WAAA,EAAaC,SAAA,EAAWC,OAAA,EAASC,QAAA,QAAgB;AAC1D,SAASC,YAAA,QAAoB;AAsD7B,IAAAC,YAAM,kBAAe,IAAAC,GAAI;AAEzB,SAASC,SAASC,OAAA,EAAiBC,IAAA,EAAc;EAC/C,OAAO,GAAGD,OAAO,KAASC,IAAI;AAChC;AAOO,SAASC,WACdF,OAAA,EACAC,IAAA,EAC4E;EAC5E,IAAAE,GAAM,GAAAP,YAAM;EACZ,KAAAQ,OAAO,EAAAC,UAAS,IAAUV,QAAI,MAA8B;EAC5D,KAAAW,OAAO,EAAAC,UAAS,IAAUZ,QAAI,CAAAa,OAAkB,CAAAR,OAAQ,IAAAC,IAAW,EAAI;EACvE,KAAAQ,KAAO,EAAAC,QAAO,IAAQf,QAAI,MAA4B;EACtD,KAAAgB,UAAO,EAAAC,aAAY,IAAajB,QAAI,GAAS;EAE7C,IAAAkB,QAAM,IAAAZ,IAAY,IAAAA,IAAQ,UAAS;EAEnCR,SAAA,CAAU,YAAM;IACd,IAAI,CAACU,GAAA,IAAO,CAACH,OAAA,IAAW,CAACC,IAAA,IAAQY,QAAA,EAAU;MACzCR,UAAA,CAAW,MAAS;MACpBE,UAAA,CAAW,KAAK;MAChB;IACF;IACA,IAAIO,SAAA,GAAY;IAChB,IAAAC,GAAM,GAAAhB,QAAM,CAAAC,OAAS,EAAAC,IAAS;IAC9B,IAAIe,KAAA,GAAQnB,YAAA,CAAaoB,GAAA,CAAIF,GAAG;IAChC,IAAI,CAACC,KAAA,EAAO;MACV,IAAAE,SAAM,kBAAY,IAAAC,GAAI;MACtB,IAAAC,OAAM,GAAAjB,GAAU,CAAAkB,IACb,GAAKJ,GACL;QACCjB,OAAA;QACAC;MACF,EACC,CAAAqB,IAAK,CAAC,UAAQC,GAAA;QACb,IAAAC,IAAM;QACN,IAAIC,YAAO,EAAMC,oBAAU,EAAAC,aAAA;QAC3B,IAAAC,IAAO,IAAAJ,IAAA,IAAAC,YAAA,GAAAF,GAAA,CAAAM,OAAA,cAAAJ,YAAA,uBAAAA,YAAA,CAAArB,OAAA,cAAAoB,IAAA,cAAAA,IAAA,IAAAG,aAAA,GAAAJ,GAAA,CAAAM,OAAA,cAAAF,aAAA,wBAAAD,oBAAA,GAAAC,aAAA,CAAAG,OAAA,cAAAJ,oBAAA,uBAAAA,oBAAA,CAAAtB,OAAA;QACR,KAAAwB,IAAA,YAAAG,KAAA,4BAAA/B,OAAA,IAAAC,IAAA;QACH,OAAQ2B,IAAE;MACV;MACAZ,KAAA,GACG;QACCI,OAAM;QACNF;MACE;MACArB,YAAA,CAAAmC,GAAW,CAAAjB,GAAA,EAAAC,KAAY;MAA4BI,OACrD,CAAAE,IAAA,WAAAW,KAAA;QACD,IACAC,OAAM,GAAMrC,YAAA,CAAAoB,GAAA,CAAAF,GAAA;QACX,IAAImB,OAAA,IAAAA,OAAiB,KAAGlB,KAAM;UAC/BkB,OAAA,CAAAD,KAAA,GAAAA,KAAA;UACL,IAAAE,yBAAA;YAAAC,iBAAA;YAAAC,cAAA;UACM;YACA,KAAO,IAAAC,SAAM,GAAAJ,OAAA,CAAAhB,SAAA,CAAAqB,MAAA,CAAAC,QAAA,KAAAC,KAAA,IAAAN,yBAAA,IAAAM,KAAA,GAAAH,SAAA,CAAAI,IAAA,IAAAC,IAAA,GAAAR,yBAAA;cACZ,IAAAS,QAAa,GAAAH,KAAA,CAAAR,KAAa;cAC7BW,QAAW;YACX;UACF,SAAAC,GAAA;YACFT,iBAAA;YACAC,cAAa,GAAUQ,GAAI;UAC3B,UAAY;YACZ,IAAS;cACL,KAAAV,yBAA+B,IAAAG,SAAkB,CAAAQ,MAAA;gBACrDR,SAAqB,CAAAQ,MAAO;cACrB;YACH,UAAY;cACZ,IAAAV,iBAAgB;gBAClB,MAAAC,cAAA;cACD;YACM;UACL;QACA;MACF,GAAAU,KAAA;QACE,IAAKlD,YAAS,CAAAoB,GAAM,CAAAF,GAAA,MAAUC,KAAA,EAAAnB,YAAW,CAAAmD,MAAA,CAAAjC,GAAA;MAE7C,EAAM;IACJ;IACE,IAAAkC,YAAY,GAAAjC,KAAS;IACrB,IAAAkC,IAAM,YAAQC,MAAA;MACd,KAAArC,SAAa,IAAAmC,YAAU,CAAAhB,KAAA;QAEvB5B,UAAW,CAAA4C,YAAW,CAAAhB,KAAA;QACxB1B,UAAA;MACA;IACF,CAAG;IAEH0C,YAAO,CAAQ/B,SAAS,CAAAkC,GAAA,CAAAF,IAAS;IACnC3C,UAAA,EAAA0C,YAAA,CAAAhB,KAAA;IAGOvB,QAAS;IACd,IAAAuC,YAAa,CAAAhB,KAAO,EAAA5B,UAAS,CAAA4C,YAAc,CAAAhB,KAAA;IAC7CgB,YAAA,CAAA7B,OAAA,CAAA2B,KAAA,WAAAF,GAAA","ignoreList":[]}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { useFrappeConfig } from "@multiplatform.one/frappe-ui";
|
|
2
|
+
import { useCallback, useEffect, useMemo, useState } from "react";
|
|
3
|
+
import { useFrappeApp } from "./useFrappeApp.mjs";
|
|
4
|
+
const metaCache = /* @__PURE__ */new Map();
|
|
5
|
+
function parseUserSettings(raw) {
|
|
6
|
+
if (!raw) return void 0;
|
|
7
|
+
if (typeof raw !== "string") return raw;
|
|
8
|
+
try {
|
|
9
|
+
return JSON.parse(raw);
|
|
10
|
+
} catch {
|
|
11
|
+
return void 0;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
async function loadBundleFromFixtures(fixtures, doctype) {
|
|
15
|
+
const doc = await fixtures.getDoc("DocType", doctype);
|
|
16
|
+
if (!doc) throw new Error(`No fixture meta for DocType "${doctype}"`);
|
|
17
|
+
const raw = doc;
|
|
18
|
+
const meta = {
|
|
19
|
+
...raw,
|
|
20
|
+
fields: raw.fields ?? []
|
|
21
|
+
};
|
|
22
|
+
return {
|
|
23
|
+
meta,
|
|
24
|
+
childMetas: {}
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
function useDoctypeMeta(doctype) {
|
|
28
|
+
const app = useFrappeApp();
|
|
29
|
+
const config = useFrappeConfig();
|
|
30
|
+
const fixtures = config?.fixtures;
|
|
31
|
+
const [bundle, setBundle] = useState(void 0);
|
|
32
|
+
const [loading, setLoading] = useState(Boolean(doctype));
|
|
33
|
+
const [error, setError] = useState(void 0);
|
|
34
|
+
const [generation, setGeneration] = useState(0);
|
|
35
|
+
const cacheKey = doctype ? `${config?.baseURL ?? ""}\0${fixtures ? "fixtures" : "live"}\0${doctype}` : void 0;
|
|
36
|
+
useEffect(() => {
|
|
37
|
+
if (!app && !fixtures || !doctype || !cacheKey) {
|
|
38
|
+
setBundle(void 0);
|
|
39
|
+
setLoading(Boolean(doctype));
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
let cancelled = false;
|
|
43
|
+
let promise = metaCache.get(cacheKey);
|
|
44
|
+
if (!promise) {
|
|
45
|
+
if (fixtures) {
|
|
46
|
+
promise = loadBundleFromFixtures(fixtures, doctype);
|
|
47
|
+
} else if (app) {
|
|
48
|
+
promise = app.call().get("frappe.desk.form.load.getdoctype", {
|
|
49
|
+
doctype,
|
|
50
|
+
with_parent: 1
|
|
51
|
+
}).then(res => {
|
|
52
|
+
const docs = res.payload?.docs ?? [];
|
|
53
|
+
const meta = docs.find(d => d.name === doctype) ?? docs[0];
|
|
54
|
+
if (!meta) throw new Error(`No meta returned for ${doctype}`);
|
|
55
|
+
const childMetas = {};
|
|
56
|
+
for (const doc of docs) {
|
|
57
|
+
if (doc !== meta) childMetas[doc.name] = doc;
|
|
58
|
+
}
|
|
59
|
+
return {
|
|
60
|
+
meta,
|
|
61
|
+
childMetas,
|
|
62
|
+
userSettings: parseUserSettings(res.payload?.user_settings)
|
|
63
|
+
};
|
|
64
|
+
});
|
|
65
|
+
} else {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
metaCache.set(cacheKey, promise);
|
|
69
|
+
promise.catch(() => metaCache.delete(cacheKey));
|
|
70
|
+
}
|
|
71
|
+
setLoading(true);
|
|
72
|
+
setError(void 0);
|
|
73
|
+
promise.then(value => {
|
|
74
|
+
if (cancelled) return;
|
|
75
|
+
setBundle(value);
|
|
76
|
+
setLoading(false);
|
|
77
|
+
}).catch(err => {
|
|
78
|
+
if (cancelled) return;
|
|
79
|
+
setError(err);
|
|
80
|
+
setLoading(false);
|
|
81
|
+
});
|
|
82
|
+
return () => {
|
|
83
|
+
cancelled = true;
|
|
84
|
+
};
|
|
85
|
+
}, [app, fixtures, doctype, cacheKey, generation]);
|
|
86
|
+
const reload = useCallback(() => {
|
|
87
|
+
if (cacheKey) metaCache.delete(cacheKey);
|
|
88
|
+
setGeneration(g => g + 1);
|
|
89
|
+
}, [cacheKey]);
|
|
90
|
+
return useMemo(() => ({
|
|
91
|
+
bundle,
|
|
92
|
+
meta: bundle?.meta,
|
|
93
|
+
loading,
|
|
94
|
+
error,
|
|
95
|
+
reload
|
|
96
|
+
}), [bundle, loading, error, reload]);
|
|
97
|
+
}
|
|
98
|
+
export { useDoctypeMeta };
|
|
99
|
+
//# sourceMappingURL=useDoctypeMeta.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useFrappeConfig","useCallback","useEffect","useMemo","useState","useFrappeApp","metaCache","Map","parseUserSettings","raw","JSON","parse","loadBundleFromFixtures","fixtures","doctype","doc","getDoc","Error","meta","fields","childMetas","useDoctypeMeta","app","config","bundle","setBundle","loading","setLoading","Boolean","error","setError","generation","setGeneration","cacheKey","baseURL","cancelled","promise","get","call","with_parent","then","res","docs","payload","find","d","name","userSettings","user_settings","set","catch","delete","value","err","reload","g"],"sources":["../../../src/shared/useDoctypeMeta.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { useFrappeConfig } from "@multiplatform.one/frappe-ui";
|
|
2
|
+
import { useCallback, useEffect, useMemo, useState } from "react";
|
|
3
|
+
import { useFrappeApp } from "./useFrappeApp.native.js";
|
|
4
|
+
var metaCache = /* @__PURE__ */new Map();
|
|
5
|
+
function parseUserSettings(raw) {
|
|
6
|
+
if (!raw) return void 0;
|
|
7
|
+
if (typeof raw !== "string") return raw;
|
|
8
|
+
try {
|
|
9
|
+
return JSON.parse(raw);
|
|
10
|
+
} catch (unused) {
|
|
11
|
+
return void 0;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
async function loadBundleFromFixtures(fixtures, doctype) {
|
|
15
|
+
var _raw_fields;
|
|
16
|
+
var doc = await fixtures.getDoc("DocType", doctype);
|
|
17
|
+
if (!doc) throw new Error(`No fixture meta for DocType "${doctype}"`);
|
|
18
|
+
var raw = doc;
|
|
19
|
+
var meta = {
|
|
20
|
+
...raw,
|
|
21
|
+
fields: (_raw_fields = raw.fields) !== null && _raw_fields !== void 0 ? _raw_fields : []
|
|
22
|
+
};
|
|
23
|
+
return {
|
|
24
|
+
meta,
|
|
25
|
+
childMetas: {}
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
function useDoctypeMeta(doctype) {
|
|
29
|
+
var _ref;
|
|
30
|
+
var app = useFrappeApp();
|
|
31
|
+
var config = useFrappeConfig();
|
|
32
|
+
var fixtures = config === null || config === void 0 ? void 0 : config.fixtures;
|
|
33
|
+
var [bundle, setBundle] = useState(void 0);
|
|
34
|
+
var [loading, setLoading] = useState(Boolean(doctype));
|
|
35
|
+
var [error, setError] = useState(void 0);
|
|
36
|
+
var [generation, setGeneration] = useState(0);
|
|
37
|
+
var cacheKey = doctype ? `${(_ref = config === null || config === void 0 ? void 0 : config.baseURL) !== null && _ref !== void 0 ? _ref : ""}\0${fixtures ? "fixtures" : "live"}\0${doctype}` : void 0;
|
|
38
|
+
useEffect(function () {
|
|
39
|
+
if (!app && !fixtures || !doctype || !cacheKey) {
|
|
40
|
+
setBundle(void 0);
|
|
41
|
+
setLoading(Boolean(doctype));
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
var cancelled = false;
|
|
45
|
+
var promise = metaCache.get(cacheKey);
|
|
46
|
+
if (!promise) {
|
|
47
|
+
if (fixtures) {
|
|
48
|
+
promise = loadBundleFromFixtures(fixtures, doctype);
|
|
49
|
+
} else if (app) {
|
|
50
|
+
promise = app.call().get("frappe.desk.form.load.getdoctype", {
|
|
51
|
+
doctype,
|
|
52
|
+
with_parent: 1
|
|
53
|
+
}).then(function (res) {
|
|
54
|
+
var _ref2, _docs_find;
|
|
55
|
+
var _res_payload, _res_payload1;
|
|
56
|
+
var docs = (_ref2 = (_res_payload = res.payload) === null || _res_payload === void 0 ? void 0 : _res_payload.docs) !== null && _ref2 !== void 0 ? _ref2 : [];
|
|
57
|
+
var meta = (_docs_find = docs.find(function (d) {
|
|
58
|
+
return d.name === doctype;
|
|
59
|
+
})) !== null && _docs_find !== void 0 ? _docs_find : docs[0];
|
|
60
|
+
if (!meta) throw new Error(`No meta returned for ${doctype}`);
|
|
61
|
+
var childMetas = {};
|
|
62
|
+
var _iteratorNormalCompletion = true,
|
|
63
|
+
_didIteratorError = false,
|
|
64
|
+
_iteratorError = void 0;
|
|
65
|
+
try {
|
|
66
|
+
for (var _iterator = docs[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
67
|
+
var doc = _step.value;
|
|
68
|
+
if (doc !== meta) childMetas[doc.name] = doc;
|
|
69
|
+
}
|
|
70
|
+
} catch (err) {
|
|
71
|
+
_didIteratorError = true;
|
|
72
|
+
_iteratorError = err;
|
|
73
|
+
} finally {
|
|
74
|
+
try {
|
|
75
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
76
|
+
_iterator.return();
|
|
77
|
+
}
|
|
78
|
+
} finally {
|
|
79
|
+
if (_didIteratorError) {
|
|
80
|
+
throw _iteratorError;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return {
|
|
85
|
+
meta,
|
|
86
|
+
childMetas,
|
|
87
|
+
userSettings: parseUserSettings((_res_payload1 = res.payload) === null || _res_payload1 === void 0 ? void 0 : _res_payload1.user_settings)
|
|
88
|
+
};
|
|
89
|
+
});
|
|
90
|
+
} else {
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
metaCache.set(cacheKey, promise);
|
|
94
|
+
promise.catch(function () {
|
|
95
|
+
return metaCache.delete(cacheKey);
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
setLoading(true);
|
|
99
|
+
setError(void 0);
|
|
100
|
+
promise.then(function (value) {
|
|
101
|
+
if (cancelled) return;
|
|
102
|
+
setBundle(value);
|
|
103
|
+
setLoading(false);
|
|
104
|
+
}).catch(function (err) {
|
|
105
|
+
if (cancelled) return;
|
|
106
|
+
setError(err);
|
|
107
|
+
setLoading(false);
|
|
108
|
+
});
|
|
109
|
+
return function () {
|
|
110
|
+
cancelled = true;
|
|
111
|
+
};
|
|
112
|
+
}, [app, fixtures, doctype, cacheKey, generation]);
|
|
113
|
+
var reload = useCallback(function () {
|
|
114
|
+
if (cacheKey) metaCache.delete(cacheKey);
|
|
115
|
+
setGeneration(function (g) {
|
|
116
|
+
return g + 1;
|
|
117
|
+
});
|
|
118
|
+
}, [cacheKey]);
|
|
119
|
+
return useMemo(function () {
|
|
120
|
+
return {
|
|
121
|
+
bundle,
|
|
122
|
+
meta: bundle === null || bundle === void 0 ? void 0 : bundle.meta,
|
|
123
|
+
loading,
|
|
124
|
+
error,
|
|
125
|
+
reload
|
|
126
|
+
};
|
|
127
|
+
}, [bundle, loading, error, reload]);
|
|
128
|
+
}
|
|
129
|
+
export { useDoctypeMeta };
|
|
130
|
+
//# sourceMappingURL=useDoctypeMeta.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useFrappeConfig","useCallback","useEffect","useMemo","useState","useFrappeApp","metaCache","Map","parseUserSettings","raw","JSON","parse","unused","loadBundleFromFixtures","fixtures","doctype","_raw_fields","doc","getDoc","Error","meta","fields","childMetas","useDoctypeMeta","_ref","app","config","bundle","setBundle","loading","setLoading","Boolean","error","setError","generation","setGeneration","cacheKey","baseURL","cancelled","promise","get","call","with_parent","then","res","_ref2","_docs_find","_res_payload","_res_payload1","docs","payload","find","d","name","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","value","err","return","userSettings","user_settings"],"sources":["../../../src/shared/useDoctypeMeta.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { addToRecent } from "@multiplatform.one/frappe-ui";
|
|
2
|
+
import { useEffect } from "react";
|
|
3
|
+
function useRecentVisit(visit) {
|
|
4
|
+
const label = visit?.label;
|
|
5
|
+
const path = visit?.path;
|
|
6
|
+
useEffect(() => {
|
|
7
|
+
if (!label || !path) return;
|
|
8
|
+
addToRecent({
|
|
9
|
+
label,
|
|
10
|
+
path
|
|
11
|
+
});
|
|
12
|
+
}, [label, path]);
|
|
13
|
+
}
|
|
14
|
+
export { useRecentVisit };
|
|
15
|
+
//# sourceMappingURL=useRecentVisit.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["addToRecent","useEffect","useRecentVisit","visit","label","path"],"sources":["../../../src/shared/useRecentVisit.ts"],"sourcesContent":[null],"mappings":"AAaA,SAASA,WAAA,QAAmB;AAC5B,SAASC,SAAA,QAAiB;AAWnB,SAASC,eAAeC,KAAA,EAAsC;EACnE,MAAMC,KAAA,GAAQD,KAAA,EAAOC,KAAA;EACrB,MAAMC,IAAA,GAAOF,KAAA,EAAOE,IAAA;EACpBJ,SAAA,CAAU,MAAM;IACd,IAAI,CAACG,KAAA,IAAS,CAACC,IAAA,EAAM;IACrBL,WAAA,CAAY;MAAEI,KAAA;MAAOC;IAAK,CAAC;EAC7B,GAAG,CAACD,KAAA,EAAOC,IAAI,CAAC;AAClB","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { addToRecent } from "@multiplatform.one/frappe-ui";
|
|
2
|
+
import { useEffect } from "react";
|
|
3
|
+
function useRecentVisit(visit) {
|
|
4
|
+
var label = visit === null || visit === void 0 ? void 0 : visit.label;
|
|
5
|
+
var path = visit === null || visit === void 0 ? void 0 : visit.path;
|
|
6
|
+
useEffect(function () {
|
|
7
|
+
if (!label || !path) return;
|
|
8
|
+
addToRecent({
|
|
9
|
+
label,
|
|
10
|
+
path
|
|
11
|
+
});
|
|
12
|
+
}, [label, path]);
|
|
13
|
+
}
|
|
14
|
+
export { useRecentVisit };
|
|
15
|
+
//# sourceMappingURL=useRecentVisit.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["addToRecent","useEffect","useRecentVisit","visit","label","path"],"sources":["../../../src/shared/useRecentVisit.ts"],"sourcesContent":[null],"mappings":"AAaA,SAASA,WAAA,QAAmB;AAC5B,SAASC,SAAA,QAAiB;AAWnB,SAASC,eAAeC,KAAA,EAAsC;EACnE,IAAAC,KAAM,GAAAD,KAAQ,KAAO,QAAAA,KAAA,uBAAAA,KAAA,CAAAC,KAAA;EACrB,IAAAC,IAAM,GAAAF,KAAO,KAAO,QAAAA,KAAA,uBAAAA,KAAA,CAAAE,IAAA;EACpBJ,SAAA,CAAU,YAAM;IACd,IAAI,CAACG,KAAA,IAAS,CAACC,IAAA,EAAM;IACrBL,WAAA,CAAY;MACVI,KAAA;MACNC","ignoreList":[]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { useFrappeConfig } from "@multiplatform.one/frappe-ui";
|
|
2
|
+
import { useEffect, useState } from "react";
|
|
3
|
+
import { useFrappeApp } from "./useFrappeApp.mjs";
|
|
4
|
+
const userCache = /* @__PURE__ */new Map();
|
|
5
|
+
function useSessionUserId() {
|
|
6
|
+
const config = useFrappeConfig();
|
|
7
|
+
const app = useFrappeApp();
|
|
8
|
+
const fixtureMode = Boolean(config?.fixtures);
|
|
9
|
+
const [user, setUser] = useState(void 0);
|
|
10
|
+
useEffect(() => {
|
|
11
|
+
if (!app || fixtureMode || !config?.baseURL) return;
|
|
12
|
+
let cancelled = false;
|
|
13
|
+
let promise = userCache.get(config.baseURL);
|
|
14
|
+
if (!promise) {
|
|
15
|
+
promise = app.auth().getLoggedInUser();
|
|
16
|
+
userCache.set(config.baseURL, promise);
|
|
17
|
+
promise.catch(() => userCache.delete(config.baseURL));
|
|
18
|
+
}
|
|
19
|
+
promise.then(value => {
|
|
20
|
+
if (!cancelled && value) setUser(value);
|
|
21
|
+
}).catch(() => {});
|
|
22
|
+
return () => {
|
|
23
|
+
cancelled = true;
|
|
24
|
+
};
|
|
25
|
+
}, [app, fixtureMode, config?.baseURL]);
|
|
26
|
+
return user;
|
|
27
|
+
}
|
|
28
|
+
export { useSessionUserId };
|
|
29
|
+
//# sourceMappingURL=useSessionUserId.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useFrappeConfig","useEffect","useState","useFrappeApp","userCache","Map","useSessionUserId","config","app","fixtureMode","Boolean","fixtures","user","setUser","baseURL","cancelled","promise","get","auth","getLoggedInUser","set","catch","delete","then","value"],"sources":["../../../src/shared/useSessionUserId.ts"],"sourcesContent":[null],"mappings":"AAGA,SAASA,eAAA,QAAuB;AAChC,SAASC,SAAA,EAAWC,QAAA,QAAgB;AACpC,SAASC,YAAA,QAAoB;AAE7B,MAAMC,SAAA,GAAY,mBAAIC,GAAA,CAA6B;AAM5C,SAASC,iBAAA,EAAuC;EACrD,MAAMC,MAAA,GAASP,eAAA,CAAgB;EAC/B,MAAMQ,GAAA,GAAML,YAAA,CAAa;EACzB,MAAMM,WAAA,GAAcC,OAAA,CAAQH,MAAA,EAAQI,QAAQ;EAC5C,MAAM,CAACC,IAAA,EAAMC,OAAO,IAAIX,QAAA,CAA6B,MAAS;EAE9DD,SAAA,CAAU,MAAM;IACd,IAAI,CAACO,GAAA,IAAOC,WAAA,IAAe,CAACF,MAAA,EAAQO,OAAA,EAAS;IAC7C,IAAIC,SAAA,GAAY;IAChB,IAAIC,OAAA,GAAUZ,SAAA,CAAUa,GAAA,CAAIV,MAAA,CAAOO,OAAO;IAC1C,IAAI,CAACE,OAAA,EAAS;MACZA,OAAA,GAAUR,GAAA,CAAIU,IAAA,CAAK,EAAEC,eAAA,CAAgB;MACrCf,SAAA,CAAUgB,GAAA,CAAIb,MAAA,CAAOO,OAAA,EAASE,OAAO;MACrCA,OAAA,CAAQK,KAAA,CAAM,MAAMjB,SAAA,CAAUkB,MAAA,CAAOf,MAAA,CAAOO,OAAO,CAAC;IACtD;IACAE,OAAA,CACGO,IAAA,CAAMC,KAAA,IAAU;MACf,IAAI,CAACT,SAAA,IAAaS,KAAA,EAAOX,OAAA,CAAQW,KAAK;IACxC,CAAC,EACAH,KAAA,CAAM,MAAM,CAEb,CAAC;IACH,OAAO,MAAM;MACXN,SAAA,GAAY;IACd;EACF,GAAG,CAACP,GAAA,EAAKC,WAAA,EAAaF,MAAA,EAAQO,OAAO,CAAC;EAEtC,OAAOF,IAAA;AACT","ignoreList":[]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { useFrappeConfig } from "@multiplatform.one/frappe-ui";
|
|
2
|
+
import { useEffect, useState } from "react";
|
|
3
|
+
import { useFrappeApp } from "./useFrappeApp.native.js";
|
|
4
|
+
var userCache = /* @__PURE__ */new Map();
|
|
5
|
+
function useSessionUserId() {
|
|
6
|
+
var config = useFrappeConfig();
|
|
7
|
+
var app = useFrappeApp();
|
|
8
|
+
var fixtureMode = Boolean(config === null || config === void 0 ? void 0 : config.fixtures);
|
|
9
|
+
var [user, setUser] = useState(void 0);
|
|
10
|
+
useEffect(function () {
|
|
11
|
+
if (!app || fixtureMode || !(config === null || config === void 0 ? void 0 : config.baseURL)) return;
|
|
12
|
+
var cancelled = false;
|
|
13
|
+
var promise = userCache.get(config.baseURL);
|
|
14
|
+
if (!promise) {
|
|
15
|
+
promise = app.auth().getLoggedInUser();
|
|
16
|
+
userCache.set(config.baseURL, promise);
|
|
17
|
+
promise.catch(function () {
|
|
18
|
+
return userCache.delete(config.baseURL);
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
promise.then(function (value) {
|
|
22
|
+
if (!cancelled && value) setUser(value);
|
|
23
|
+
}).catch(function () {});
|
|
24
|
+
return function () {
|
|
25
|
+
cancelled = true;
|
|
26
|
+
};
|
|
27
|
+
}, [app, fixtureMode, config === null || config === void 0 ? void 0 : config.baseURL]);
|
|
28
|
+
return user;
|
|
29
|
+
}
|
|
30
|
+
export { useSessionUserId };
|
|
31
|
+
//# sourceMappingURL=useSessionUserId.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useFrappeConfig","useEffect","useState","useFrappeApp","userCache","Map","useSessionUserId","config","app","fixtureMode","Boolean","fixtures","user","setUser","baseURL","cancelled","promise","get","auth","getLoggedInUser","set","catch","delete","then","value"],"sources":["../../../src/shared/useSessionUserId.ts"],"sourcesContent":[null],"mappings":"AAGA,SAASA,eAAA,QAAuB;AAChC,SAASC,SAAA,EAAWC,QAAA,QAAgB;AACpC,SAASC,YAAA,QAAoB;AAE7B,IAAAC,SAAM,kBAAY,IAAAC,GAAI;AAMf,SAASC,iBAAA,EAAuC;EACrD,IAAAC,MAAM,GAAAP,eAAS;EACf,IAAAQ,GAAM,GAAAL,YAAM;EACZ,IAAAM,WAAM,GAAAC,OAAc,CAAAH,MAAQ,KAAQ,QAAQA,MAAA,uBAAAA,MAAA,CAAAI,QAAA;EAC5C,KAAAC,IAAO,EAAAC,OAAM,IAAOX,QAAI,MAA6B;EAErDD,SAAA,CAAU,YAAM;IACd,IAAI,CAACO,GAAA,IAAOC,WAAA,IAAe,EAACF,MAAA,KAAQ,IAAS,IAAAA,MAAA,uBAAAA,MAAA,CAAAO,OAAA;IAC7C,IAAIC,SAAA,GAAY;IAChB,IAAIC,OAAA,GAAUZ,SAAA,CAAUa,GAAA,CAAIV,MAAA,CAAOO,OAAO;IAC1C,IAAI,CAACE,OAAA,EAAS;MACZA,OAAA,GAAUR,GAAA,CAAIU,IAAA,CAAK,EAAEC,eAAA,CAAgB;MACrCf,SAAA,CAAUgB,GAAA,CAAIb,MAAA,CAAOO,OAAA,EAASE,OAAO;MACrCA,OAAA,CAAQK,KAAA,CAAM,YAAM;QACtB,OAAAjB,SAAA,CAAAkB,MAAA,CAAAf,MAAA,CAAAO,OAAA;MACA;IAEI;IACFE,OACC,CAAAO,IAAM,WAAMC,KAAA;MAEZ,KAAAT,SAAA,IAAAS,KAAA,EAAAX,OAAA,CAAAW,KAAA;IACH,GAAAH,KAAO,aAAM,CACX;IACF;MACEN,SAAK;IAET;EACF,I","ignoreList":[]}
|