@questpie/admin 3.5.3 → 3.5.4
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/README.md +8 -0
- package/dist/client/blocks/block-renderer.d.mts +2 -2
- package/dist/client/builder/index.d.mts +1 -1
- package/dist/client/builder/types/collection-types.d.mts +80 -5
- package/dist/client/builder/types/common.d.mts +5 -0
- package/dist/client/builder/types/field-types.d.mts +41 -1
- package/dist/client/builder/view/view.d.mts +3 -2
- package/dist/client/components/admin-link.d.mts +2 -2
- package/dist/client/components/fields/boolean-field.mjs +2 -1
- package/dist/client/components/fields/date-field.mjs +2 -1
- package/dist/client/components/fields/datetime-field.mjs +2 -1
- package/dist/client/components/fields/email-field.mjs +2 -1
- package/dist/client/components/fields/field-utils.d.mts +11 -0
- package/dist/client/components/fields/field-utils.mjs +3 -1
- package/dist/client/components/fields/field-wrapper.mjs +3 -3
- package/dist/client/components/fields/number-field.mjs +2 -1
- package/dist/client/components/fields/object-field.mjs +2 -1
- package/dist/client/components/fields/relation/displays/types.mjs +3 -3
- package/dist/client/components/fields/rich-text-editor/extensions.mjs +2 -1
- package/dist/client/components/fields/rich-text-editor/image-popover.mjs +6 -2
- package/dist/client/components/fields/rich-text-editor/image-upload.mjs +2 -1
- package/dist/client/components/fields/rich-text-editor/index.d.mts +3 -2
- package/dist/client/components/fields/rich-text-editor/index.mjs +4 -3
- package/dist/client/components/fields/select-field.mjs +2 -1
- package/dist/client/components/fields/text-field.mjs +2 -1
- package/dist/client/components/fields/textarea-field.mjs +2 -1
- package/dist/client/components/fields/time-field.mjs +2 -1
- package/dist/client/components/layout/field-layout-renderer.mjs +4 -4
- package/dist/client/components/media/media-grid.mjs +2 -1
- package/dist/client/components/primitives/asset-preview.mjs +4 -2
- package/dist/client/components/primitives/dropzone.d.mts +100 -0
- package/dist/client/components/primitives/field-select-control.mjs +2 -1
- package/dist/client/components/ui/button.d.mts +23 -0
- package/dist/client/components/ui/button.mjs +2 -2
- package/dist/client/components/ui/dropdown-menu.d.mts +49 -0
- package/dist/client/components/ui/dropdown-menu.mjs +22 -1
- package/dist/client/components/ui/popover.mjs +1 -1
- package/dist/client/components/ui/search-input.d.mts +56 -0
- package/dist/client/components/ui/select.mjs +2 -2
- package/dist/client/components/ui/sheet.d.mts +40 -0
- package/dist/client/components/ui/table.d.mts +49 -0
- package/dist/client/components/ui/table.mjs +15 -1
- package/dist/client/components/ui/tooltip.d.mts +21 -0
- package/dist/client/contexts/focus-context.d.mts +2 -2
- package/dist/client/hooks/use-admin-config.mjs +20 -1
- package/dist/client/hooks/use-autosave.mjs +91 -0
- package/dist/client/hooks/use-collection.mjs +65 -23
- package/dist/client/hooks/use-upload.d.mts +40 -0
- package/dist/client/hooks/use-upload.mjs +4 -2
- package/dist/client/i18n/hooks.d.mts +20 -0
- package/dist/client/lib/utils.d.mts +6 -0
- package/dist/client/preview/block-scope-context.d.mts +2 -2
- package/dist/client/preview/preview-banner.d.mts +2 -2
- package/dist/client/preview/preview-field.d.mts +4 -4
- package/dist/client/runtime/provider.mjs +22 -3
- package/dist/client/scope/picker.d.mts +2 -2
- package/dist/client/scope/provider.d.mts +2 -2
- package/dist/client/styles/base.css +22 -18
- package/dist/client/utils/asset-url.mjs +27 -0
- package/dist/client/views/auth/accept-invite-form.d.mts +2 -2
- package/dist/client/views/auth/auth-layout.d.mts +3 -3
- package/dist/client/views/auth/forgot-password-form.d.mts +2 -2
- package/dist/client/views/auth/login-form.d.mts +2 -2
- package/dist/client/views/auth/reset-password-form.d.mts +2 -2
- package/dist/client/views/auth/setup-form.d.mts +2 -2
- package/dist/client/views/collection/auto-form-fields.mjs +4 -4
- package/dist/client/views/collection/cells/shared/asset-thumbnail.d.mts +7 -0
- package/dist/client/views/collection/cells/shared/asset-thumbnail.mjs +3 -2
- package/dist/client/views/collection/cells/shared/cell-helpers.mjs +3 -2
- package/dist/client/views/collection/cells/upload-cells.mjs +2 -1
- package/dist/client/views/collection/document-view.d.mts +30 -0
- package/dist/client/views/collection/document-view.mjs +377 -0
- package/dist/client/views/collection/field-context.mjs +3 -2
- package/dist/client/views/collection/field-renderer.mjs +2 -2
- package/dist/client/views/collection/form-view.mjs +14 -80
- package/dist/client/views/collection/list-view.mjs +19 -15
- package/dist/client/views/collection/table-view.mjs +1 -1
- package/dist/client/views/layout/admin-layout-provider.mjs +4 -3
- package/dist/client/views/layout/admin-layout.mjs +107 -20
- package/dist/client/views/layout/admin-router.mjs +19 -3
- package/dist/client/views/layout/admin-sidebar.mjs +50 -6
- package/dist/client/views/layout/admin-view-layout.d.mts +36 -0
- package/dist/client/views/pages/accept-invite-page.d.mts +2 -2
- package/dist/client/views/pages/dashboard-page.d.mts +2 -2
- package/dist/client/views/pages/forgot-password-page.d.mts +2 -2
- package/dist/client/views/pages/invite-page.d.mts +2 -2
- package/dist/client/views/pages/login-page.d.mts +2 -2
- package/dist/client/views/pages/reset-password-page.d.mts +2 -2
- package/dist/client/views/pages/setup-page.d.mts +2 -2
- package/dist/client.d.mts +17 -2
- package/dist/client.mjs +16 -1
- package/dist/components/rich-text/rich-text-renderer.d.mts +2 -2
- package/dist/factories.d.mts +4 -2
- package/dist/factories.mjs +2 -2
- package/dist/index.d.mts +17 -3
- package/dist/index.mjs +16 -1
- package/dist/server/adapters/index.d.mts +2 -0
- package/dist/server/adapters/nextjs.d.mts +1 -0
- package/dist/server/augmentation/actions.d.mts +5 -0
- package/dist/server/augmentation/form-layout.d.mts +5 -0
- package/dist/server/augmentation/views.d.mts +4 -1
- package/dist/server/auth-helpers.d.mts +1 -0
- package/dist/server/fields/blocks.mjs +4 -1
- package/dist/server/fields/reactive-runtime.mjs +3 -0
- package/dist/server/modules/admin/.generated/module.d.mts +1 -1
- package/dist/server/modules/admin/auth-helpers.mjs +7 -1
- package/dist/server/modules/admin/block/introspection.mjs +28 -4
- package/dist/server/modules/admin/block/prefetch.d.mts +11 -0
- package/dist/server/modules/admin/block/prefetch.mjs +108 -27
- package/dist/server/modules/admin/client/.generated/module.d.mts +68 -67
- package/dist/server/modules/admin/client/.generated/module.mjs +2 -0
- package/dist/server/modules/admin/client/views/collection-document.d.mts +6 -0
- package/dist/server/modules/admin/client/views/collection-document.mjs +10 -0
- package/dist/server/modules/admin/collections/account.d.mts +53 -53
- package/dist/server/modules/admin/collections/admin-locks.d.mts +57 -57
- package/dist/server/modules/admin/collections/admin-preferences.d.mts +22 -22
- package/dist/server/modules/admin/collections/admin-saved-views.d.mts +50 -50
- package/dist/server/modules/admin/collections/apikey.d.mts +79 -71
- package/dist/server/modules/admin/collections/assets.d.mts +42 -42
- package/dist/server/modules/admin/collections/session.d.mts +45 -45
- package/dist/server/modules/admin/collections/user.d.mts +66 -66
- package/dist/server/modules/admin/collections/verification.d.mts +39 -39
- package/dist/server/modules/admin/dto/admin-config.dto.mjs +34 -4
- package/dist/server/modules/admin/factories.mjs +4 -34
- package/dist/server/modules/admin/index.d.mts +1 -1
- package/dist/server/modules/admin/routes/admin-config.d.mts +4 -2
- package/dist/server/modules/admin/routes/admin-config.mjs +18 -2
- package/dist/server/modules/admin/routes/execute-action.d.mts +9 -9
- package/dist/server/modules/admin/routes/execute-action.mjs +10 -4
- package/dist/server/modules/admin/routes/locales.d.mts +2 -2
- package/dist/server/modules/admin/routes/locales.mjs +1 -1
- package/dist/server/modules/admin/routes/preview.d.mts +11 -11
- package/dist/server/modules/admin/routes/preview.mjs +6 -5
- package/dist/server/modules/admin/routes/reactive.d.mts +9 -9
- package/dist/server/modules/admin/routes/reactive.mjs +2 -2
- package/dist/server/modules/admin/routes/route-helpers.mjs +1 -1
- package/dist/server/modules/admin/routes/setup.d.mts +7 -7
- package/dist/server/modules/admin/routes/translations.d.mts +4 -4
- package/dist/server/modules/admin/routes/widget-data.d.mts +5 -5
- package/dist/server/modules/admin/routes/widget-data.mjs +1 -1
- package/dist/server/modules/admin-preferences/collections/saved-views.d.mts +41 -41
- package/dist/server/modules/audit/.generated/module.d.mts +6 -6
- package/dist/server/modules/audit/collections/audit-log.d.mts +78 -78
- package/dist/server/modules/audit/jobs/audit-cleanup.d.mts +2 -2
- package/dist/server/plugin.mjs +8 -3
- package/dist/server/proxy-factories.d.mts +8 -1
- package/dist/server/proxy-factories.mjs +33 -1
- package/dist/server.d.mts +2 -0
- package/package.json +4 -4
|
@@ -1,4 +1,77 @@
|
|
|
1
|
+
import { runWithContext, tryGetContext } from "questpie";
|
|
2
|
+
|
|
1
3
|
//#region src/server/modules/admin/block/prefetch.ts
|
|
4
|
+
/**
|
|
5
|
+
* Server CRUD Block Prefetch Utility
|
|
6
|
+
*
|
|
7
|
+
* Handles data fetching for blocks during the afterRead hook.
|
|
8
|
+
* The fetched data is attached to `_data[blockId]` in the response.
|
|
9
|
+
*
|
|
10
|
+
* Two mechanisms populate `_data`:
|
|
11
|
+
*
|
|
12
|
+
* 1. **Declared field expansion** (`.prefetch({ with: [...] })`): Explicitly
|
|
13
|
+
* declared relation/upload fields are batch-fetched and expanded to full records.
|
|
14
|
+
* Only the fields listed in `with` are expanded — nothing is implicit.
|
|
15
|
+
*
|
|
16
|
+
* 2. **Custom prefetch function** (`.prefetch(fn)`): For computed data that can't
|
|
17
|
+
* be auto-expanded, define a prefetch function that returns arbitrary data.
|
|
18
|
+
*
|
|
19
|
+
* 3. **Expand + loader** (`.prefetch({ with: [...], loader })`): Expand fields
|
|
20
|
+
* first, then pass the expanded data to a loader for additional processing.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```ts
|
|
24
|
+
* // Shape 1: Pure function
|
|
25
|
+
* block("featuredPosts").prefetch(async ({ values, ctx }) => {
|
|
26
|
+
* return { posts: await fetchPosts(values.count) };
|
|
27
|
+
* })
|
|
28
|
+
*
|
|
29
|
+
* // Shape 2: Expand specific fields
|
|
30
|
+
* block("hero").prefetch({ with: ['backgroundImage'] })
|
|
31
|
+
*
|
|
32
|
+
* // Shape 3: Expand + custom loader
|
|
33
|
+
* block("hero").prefetch({
|
|
34
|
+
* with: ['backgroundImage'],
|
|
35
|
+
* loader: async ({ expanded, ctx }) => ({
|
|
36
|
+
* analytics: await getStats(),
|
|
37
|
+
* }),
|
|
38
|
+
* })
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
function resolvePrefetchContext(ctx) {
|
|
42
|
+
const stored = tryGetContext();
|
|
43
|
+
const app = ctx.app ?? stored?.app;
|
|
44
|
+
return {
|
|
45
|
+
...ctx,
|
|
46
|
+
app,
|
|
47
|
+
db: ctx.db ?? stored?.db,
|
|
48
|
+
session: ctx.session === null ? null : ctx.session ?? stored?.session,
|
|
49
|
+
locale: ctx.locale ?? stored?.locale,
|
|
50
|
+
accessMode: ctx.accessMode ?? stored?.accessMode,
|
|
51
|
+
stage: ctx.stage ?? stored?.stage,
|
|
52
|
+
collections: ctx.collections ?? app?.collections,
|
|
53
|
+
globals: ctx.globals ?? app?.globals
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
function toRuntimeContext(ctx) {
|
|
57
|
+
return {
|
|
58
|
+
app: ctx.app,
|
|
59
|
+
db: ctx.db,
|
|
60
|
+
session: ctx.session,
|
|
61
|
+
locale: ctx.locale,
|
|
62
|
+
accessMode: ctx.accessMode,
|
|
63
|
+
stage: ctx.stage
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
function toCrudContext(ctx) {
|
|
67
|
+
return {
|
|
68
|
+
db: ctx.db,
|
|
69
|
+
session: ctx.session,
|
|
70
|
+
locale: ctx.locale,
|
|
71
|
+
accessMode: ctx.accessMode,
|
|
72
|
+
stage: ctx.stage
|
|
73
|
+
};
|
|
74
|
+
}
|
|
2
75
|
function normalizeBlockDefinitions(blockDefinitions) {
|
|
3
76
|
const normalized = {};
|
|
4
77
|
for (const [key, blockDef] of Object.entries(blockDefinitions)) {
|
|
@@ -62,23 +135,23 @@ async function expandDeclaredFields(allNodes, values, blockDefinitions, ctx) {
|
|
|
62
135
|
if (expansionsByCollection.size === 0) return {};
|
|
63
136
|
const fetchedByGroup = /* @__PURE__ */ new Map();
|
|
64
137
|
const fetchPromises = [...expansionsByCollection.entries()].map(async ([groupKey, { ids, nestedWith }]) => {
|
|
65
|
-
const collection = groupKey.includes(":") ? groupKey.slice(0, groupKey.indexOf(":")) : groupKey;
|
|
138
|
+
const collection$1 = groupKey.includes(":") ? groupKey.slice(0, groupKey.indexOf(":")) : groupKey;
|
|
66
139
|
try {
|
|
67
|
-
const collectionApi = ctx.app?.collections?.[collection];
|
|
140
|
+
const collectionApi = ctx.collections?.[collection$1] ?? ctx.app?.collections?.[collection$1];
|
|
68
141
|
if (!collectionApi?.find) {
|
|
69
|
-
console.warn(`[prefetch] Collection "${collection}" not found on app.collections, skipping`);
|
|
142
|
+
console.warn(`[prefetch] Collection "${collection$1}" not found on app.collections, skipping`);
|
|
70
143
|
return;
|
|
71
144
|
}
|
|
72
145
|
const result = await collectionApi.find({
|
|
73
146
|
where: { id: { in: [...ids] } },
|
|
74
147
|
limit: ids.size,
|
|
75
148
|
...nestedWith ? { with: nestedWith } : {}
|
|
76
|
-
});
|
|
149
|
+
}, toCrudContext(ctx));
|
|
77
150
|
const recordMap = /* @__PURE__ */ new Map();
|
|
78
151
|
for (const doc of result?.docs || []) if (doc && typeof doc === "object" && "id" in doc) recordMap.set(doc.id, doc);
|
|
79
152
|
fetchedByGroup.set(groupKey, recordMap);
|
|
80
153
|
} catch (error) {
|
|
81
|
-
console.error(`[prefetch] Failed to fetch from "${collection}":`, error);
|
|
154
|
+
console.error(`[prefetch] Failed to fetch from "${collection$1}":`, error);
|
|
82
155
|
}
|
|
83
156
|
});
|
|
84
157
|
await Promise.all(fetchPromises);
|
|
@@ -115,27 +188,30 @@ async function expandDeclaredFields(allNodes, values, blockDefinitions, ctx) {
|
|
|
115
188
|
*/
|
|
116
189
|
async function processBlocksDocument(blocks, blockDefinitions, ctx) {
|
|
117
190
|
if (!blocks || !blocks._tree || !blocks._values) return blocks;
|
|
118
|
-
const
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
...expandedData
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
191
|
+
const resolvedCtx = resolvePrefetchContext(ctx);
|
|
192
|
+
return runWithContext(toRuntimeContext(resolvedCtx), async () => {
|
|
193
|
+
const allNodes = [];
|
|
194
|
+
const collectNodes = (nodes) => {
|
|
195
|
+
for (const node of nodes) {
|
|
196
|
+
allNodes.push(node);
|
|
197
|
+
if (node.children.length > 0) collectNodes(node.children);
|
|
198
|
+
}
|
|
199
|
+
};
|
|
200
|
+
collectNodes(blocks._tree);
|
|
201
|
+
const normalizedBlockDefinitions = normalizeBlockDefinitions(blockDefinitions);
|
|
202
|
+
const expandedData = await expandDeclaredFields(allNodes, blocks._values, normalizedBlockDefinitions, resolvedCtx);
|
|
203
|
+
const prefetchedData = await executePrefetchFunctions(allNodes, blocks._values, normalizedBlockDefinitions, resolvedCtx, expandedData);
|
|
204
|
+
const mergedData = {};
|
|
205
|
+
const allBlockIds = new Set([...Object.keys(expandedData), ...Object.keys(prefetchedData)]);
|
|
206
|
+
for (const blockId of allBlockIds) mergedData[blockId] = {
|
|
207
|
+
...expandedData[blockId] || {},
|
|
208
|
+
...prefetchedData[blockId] || {}
|
|
209
|
+
};
|
|
210
|
+
return {
|
|
211
|
+
...blocks,
|
|
212
|
+
_data: mergedData
|
|
213
|
+
};
|
|
214
|
+
});
|
|
139
215
|
}
|
|
140
216
|
/**
|
|
141
217
|
* Execute prefetch functions and loaders for blocks.
|
|
@@ -234,7 +310,12 @@ function createBlocksPrefetchHook() {
|
|
|
234
310
|
for (const [key, value] of Object.entries(ctx.data)) if (isBlocksDocument(value)) ctx.data[key] = await processBlocksDocument(value, blocks, {
|
|
235
311
|
app: ctx.app,
|
|
236
312
|
db: ctx.db,
|
|
237
|
-
|
|
313
|
+
session: ctx.session,
|
|
314
|
+
locale: ctx.locale,
|
|
315
|
+
accessMode: ctx.accessMode,
|
|
316
|
+
stage: ctx.stage,
|
|
317
|
+
collections: ctx.collections ?? ctx.app?.collections,
|
|
318
|
+
globals: ctx.globals ?? ctx.app?.globals
|
|
238
319
|
});
|
|
239
320
|
};
|
|
240
321
|
}
|
|
@@ -1,84 +1,85 @@
|
|
|
1
|
-
import { _default } from "../views/collection-
|
|
2
|
-
import { _default as _default$1 } from "../views/collection-
|
|
3
|
-
import { _default as _default$2 } from "../views/
|
|
4
|
-
import { _default as _default$3 } from "../views/
|
|
1
|
+
import { _default } from "../views/collection-document.mjs";
|
|
2
|
+
import { _default as _default$1 } from "../views/collection-form.mjs";
|
|
3
|
+
import { _default as _default$2 } from "../views/collection-table.mjs";
|
|
4
|
+
import { _default as _default$3 } from "../views/global-form.mjs";
|
|
5
|
+
import { _default as _default$4 } from "../views/list-view.mjs";
|
|
5
6
|
import { Badge, IconifyIcon } from "../../../../../client/components/component-renderer.mjs";
|
|
6
7
|
import "../components/badge.mjs";
|
|
7
8
|
import "../components/icon.mjs";
|
|
8
|
-
import { _default as _default$
|
|
9
|
-
import { _default as _default$
|
|
10
|
-
import { _default as _default$
|
|
11
|
-
import { _default as _default$
|
|
12
|
-
import { _default as _default$
|
|
13
|
-
import { _default as _default$
|
|
14
|
-
import { _default as _default$
|
|
15
|
-
import { _default as _default$
|
|
16
|
-
import { _default as _default$
|
|
17
|
-
import { _default as _default$
|
|
18
|
-
import { _default as _default$
|
|
19
|
-
import { _default as _default$
|
|
20
|
-
import { _default as _default$
|
|
21
|
-
import { _default as _default$
|
|
22
|
-
import { _default as _default$
|
|
23
|
-
import { _default as _default$
|
|
24
|
-
import { _default as _default$
|
|
25
|
-
import { _default as _default$
|
|
26
|
-
import { _default as _default$
|
|
27
|
-
import { _default as _default$
|
|
28
|
-
import { _default as _default$
|
|
29
|
-
import { _default as _default$
|
|
30
|
-
import { _default as _default$
|
|
31
|
-
import { _default as _default$
|
|
32
|
-
import { _default as _default$
|
|
33
|
-
import { _default as _default$
|
|
34
|
-
import { _default as _default$
|
|
35
|
-
import { _default as _default$
|
|
36
|
-
import { _default as _default$
|
|
37
|
-
import { _default as _default$
|
|
38
|
-
import { _default as _default$
|
|
9
|
+
import { _default as _default$5 } from "../fields/array.mjs";
|
|
10
|
+
import { _default as _default$6 } from "../fields/assetPreview.mjs";
|
|
11
|
+
import { _default as _default$7 } from "../fields/blocks.mjs";
|
|
12
|
+
import { _default as _default$8 } from "../fields/boolean.mjs";
|
|
13
|
+
import { _default as _default$9 } from "../fields/date.mjs";
|
|
14
|
+
import { _default as _default$10 } from "../fields/datetime.mjs";
|
|
15
|
+
import { _default as _default$11 } from "../fields/email.mjs";
|
|
16
|
+
import { _default as _default$12 } from "../fields/json.mjs";
|
|
17
|
+
import { _default as _default$13 } from "../fields/number.mjs";
|
|
18
|
+
import { _default as _default$14 } from "../fields/object.mjs";
|
|
19
|
+
import { _default as _default$15 } from "../fields/relation.mjs";
|
|
20
|
+
import { _default as _default$16 } from "../fields/richText.mjs";
|
|
21
|
+
import { _default as _default$17 } from "../fields/select.mjs";
|
|
22
|
+
import { _default as _default$18 } from "../fields/text.mjs";
|
|
23
|
+
import { _default as _default$19 } from "../fields/textarea.mjs";
|
|
24
|
+
import { _default as _default$20 } from "../fields/time.mjs";
|
|
25
|
+
import { _default as _default$21 } from "../fields/upload.mjs";
|
|
26
|
+
import { _default as _default$22 } from "../fields/url.mjs";
|
|
27
|
+
import { _default as _default$23 } from "../pages/dashboard.mjs";
|
|
28
|
+
import { _default as _default$24 } from "../pages/forgotPassword.mjs";
|
|
29
|
+
import { _default as _default$25 } from "../pages/login.mjs";
|
|
30
|
+
import { _default as _default$26 } from "../pages/resetPassword.mjs";
|
|
31
|
+
import { _default as _default$27 } from "../pages/setup.mjs";
|
|
32
|
+
import { _default as _default$28 } from "../widgets/chart.mjs";
|
|
33
|
+
import { _default as _default$29 } from "../widgets/progress.mjs";
|
|
34
|
+
import { _default as _default$30 } from "../widgets/quickActions.mjs";
|
|
35
|
+
import { _default as _default$31 } from "../widgets/recentItems.mjs";
|
|
36
|
+
import { _default as _default$32 } from "../widgets/stats.mjs";
|
|
37
|
+
import { _default as _default$33 } from "../widgets/table.mjs";
|
|
38
|
+
import { _default as _default$34 } from "../widgets/timeline.mjs";
|
|
39
|
+
import { _default as _default$35 } from "../widgets/value.mjs";
|
|
39
40
|
|
|
40
41
|
//#region src/server/modules/admin/client/.generated/module.d.ts
|
|
41
|
-
type AdminViews = { [K in typeof _default.name]: typeof _default } & { [K in typeof _default$1.name]: typeof _default$1 } & { [K in typeof _default$2.name]: typeof _default$2 } & { [K in typeof _default$3.name]: typeof _default$3 };
|
|
42
|
+
type AdminViews = { [K in typeof _default.name]: typeof _default } & { [K in typeof _default$1.name]: typeof _default$1 } & { [K in typeof _default$2.name]: typeof _default$2 } & { [K in typeof _default$3.name]: typeof _default$3 } & { [K in typeof _default$4.name]: typeof _default$4 };
|
|
42
43
|
interface AdminComponents {
|
|
43
44
|
badge: typeof Badge;
|
|
44
45
|
icon: typeof IconifyIcon;
|
|
45
46
|
}
|
|
46
47
|
interface AdminFields {
|
|
47
|
-
array: typeof _default$
|
|
48
|
-
assetPreview: typeof _default$
|
|
49
|
-
blocks: typeof _default$
|
|
50
|
-
boolean: typeof _default$
|
|
51
|
-
date: typeof _default$
|
|
52
|
-
datetime: typeof _default$
|
|
53
|
-
email: typeof _default$
|
|
54
|
-
json: typeof _default$
|
|
55
|
-
number: typeof _default$
|
|
56
|
-
object: typeof _default$
|
|
57
|
-
relation: typeof _default$
|
|
58
|
-
richText: typeof _default$
|
|
59
|
-
select: typeof _default$
|
|
60
|
-
text: typeof _default$
|
|
61
|
-
textarea: typeof _default$
|
|
62
|
-
time: typeof _default$
|
|
63
|
-
upload: typeof _default$
|
|
64
|
-
url: typeof _default$
|
|
48
|
+
array: typeof _default$5;
|
|
49
|
+
assetPreview: typeof _default$6;
|
|
50
|
+
blocks: typeof _default$7;
|
|
51
|
+
boolean: typeof _default$8;
|
|
52
|
+
date: typeof _default$9;
|
|
53
|
+
datetime: typeof _default$10;
|
|
54
|
+
email: typeof _default$11;
|
|
55
|
+
json: typeof _default$12;
|
|
56
|
+
number: typeof _default$13;
|
|
57
|
+
object: typeof _default$14;
|
|
58
|
+
relation: typeof _default$15;
|
|
59
|
+
richText: typeof _default$16;
|
|
60
|
+
select: typeof _default$17;
|
|
61
|
+
text: typeof _default$18;
|
|
62
|
+
textarea: typeof _default$19;
|
|
63
|
+
time: typeof _default$20;
|
|
64
|
+
upload: typeof _default$21;
|
|
65
|
+
url: typeof _default$22;
|
|
65
66
|
}
|
|
66
67
|
interface AdminPages {
|
|
67
|
-
dashboard: typeof _default$
|
|
68
|
-
forgotPassword: typeof _default$
|
|
69
|
-
login: typeof _default$
|
|
70
|
-
resetPassword: typeof _default$
|
|
71
|
-
setup: typeof _default$
|
|
68
|
+
dashboard: typeof _default$23;
|
|
69
|
+
forgotPassword: typeof _default$24;
|
|
70
|
+
login: typeof _default$25;
|
|
71
|
+
resetPassword: typeof _default$26;
|
|
72
|
+
setup: typeof _default$27;
|
|
72
73
|
}
|
|
73
74
|
interface AdminWidgets {
|
|
74
|
-
chart: typeof _default$
|
|
75
|
-
progress: typeof _default$
|
|
76
|
-
quickActions: typeof _default$
|
|
77
|
-
recentItems: typeof _default$
|
|
78
|
-
stats: typeof _default$
|
|
79
|
-
table: typeof _default$
|
|
80
|
-
timeline: typeof _default$
|
|
81
|
-
value: typeof _default$
|
|
75
|
+
chart: typeof _default$28;
|
|
76
|
+
progress: typeof _default$29;
|
|
77
|
+
quickActions: typeof _default$30;
|
|
78
|
+
recentItems: typeof _default$31;
|
|
79
|
+
stats: typeof _default$32;
|
|
80
|
+
table: typeof _default$33;
|
|
81
|
+
timeline: typeof _default$34;
|
|
82
|
+
value: typeof _default$35;
|
|
82
83
|
}
|
|
83
84
|
declare const _module: {
|
|
84
85
|
name: "questpie-admin";
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import collection_document_default from "../views/collection-document.mjs";
|
|
1
2
|
import collection_form_default from "../views/collection-form.mjs";
|
|
2
3
|
import collection_table_default from "../views/collection-table.mjs";
|
|
3
4
|
import global_form_default from "../views/global-form.mjs";
|
|
@@ -39,6 +40,7 @@ import value_default from "../widgets/value.mjs";
|
|
|
39
40
|
const _module = {
|
|
40
41
|
name: "questpie-admin",
|
|
41
42
|
views: {
|
|
43
|
+
[collection_document_default.name]: collection_document_default,
|
|
42
44
|
[collection_form_default.name]: collection_form_default,
|
|
43
45
|
[collection_table_default.name]: collection_table_default,
|
|
44
46
|
[global_form_default.name]: global_form_default,
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { view } from "../../../../../client/builder/view/view.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/server/modules/admin/client/views/collection-document.ts
|
|
4
|
+
var collection_document_default = view("collection-document", {
|
|
5
|
+
kind: "document",
|
|
6
|
+
component: () => import("../../../../../client/views/collection/document-view.mjs")
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
//#endregion
|
|
10
|
+
export { collection_document_default as default };
|
|
@@ -1,72 +1,72 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import * as
|
|
3
|
-
import * as
|
|
4
|
-
import * as
|
|
5
|
-
import * as
|
|
6
|
-
import * as
|
|
7
|
-
import * as
|
|
1
|
+
import * as questpie_shared23 from "questpie/shared";
|
|
2
|
+
import * as questpie151 from "questpie";
|
|
3
|
+
import * as questpie_src_server_modules_core_fields_email_js3 from "questpie/src/server/modules/core/fields/email.js";
|
|
4
|
+
import * as questpie_src_server_modules_core_fields_json_js3 from "questpie/src/server/modules/core/fields/json.js";
|
|
5
|
+
import * as drizzle_orm_pg_core32 from "drizzle-orm/pg-core";
|
|
6
|
+
import * as drizzle_orm15 from "drizzle-orm";
|
|
7
|
+
import * as questpie_src_server_collection_builder_types_js1 from "questpie/src/server/collection/builder/types.js";
|
|
8
8
|
|
|
9
9
|
//#region src/server/modules/admin/collections/account.d.ts
|
|
10
|
-
declare const _default:
|
|
11
|
-
readonly text: typeof
|
|
12
|
-
readonly textarea: typeof
|
|
13
|
-
readonly email: typeof
|
|
14
|
-
readonly url: typeof
|
|
15
|
-
readonly number: typeof
|
|
16
|
-
readonly boolean: typeof
|
|
17
|
-
readonly date: typeof
|
|
18
|
-
readonly datetime: typeof
|
|
19
|
-
readonly time: typeof
|
|
20
|
-
readonly select: typeof
|
|
21
|
-
readonly upload: typeof
|
|
22
|
-
readonly relation: typeof
|
|
23
|
-
readonly object: typeof
|
|
24
|
-
readonly json: typeof
|
|
25
|
-
readonly from: typeof
|
|
10
|
+
declare const _default: questpie151.CollectionBuilder<questpie_shared23.Override<questpie151.EmptyCollectionState<"account", undefined, {
|
|
11
|
+
readonly text: typeof questpie151.text;
|
|
12
|
+
readonly textarea: typeof questpie151.textarea;
|
|
13
|
+
readonly email: typeof questpie_src_server_modules_core_fields_email_js3.email;
|
|
14
|
+
readonly url: typeof questpie151.url;
|
|
15
|
+
readonly number: typeof questpie151.number;
|
|
16
|
+
readonly boolean: typeof questpie151.boolean;
|
|
17
|
+
readonly date: typeof questpie151.date;
|
|
18
|
+
readonly datetime: typeof questpie151.datetime;
|
|
19
|
+
readonly time: typeof questpie151.time;
|
|
20
|
+
readonly select: typeof questpie151.select;
|
|
21
|
+
readonly upload: typeof questpie151.upload;
|
|
22
|
+
readonly relation: typeof questpie151.relation;
|
|
23
|
+
readonly object: typeof questpie151.object;
|
|
24
|
+
readonly json: typeof questpie_src_server_modules_core_fields_json_js3.json;
|
|
25
|
+
readonly from: typeof questpie151.from;
|
|
26
26
|
}>, {
|
|
27
27
|
name: "account";
|
|
28
28
|
fields: Record<string, any> & {
|
|
29
|
-
readonly userId:
|
|
30
|
-
readonly accountId:
|
|
31
|
-
readonly providerId:
|
|
32
|
-
readonly accessToken:
|
|
33
|
-
readonly refreshToken:
|
|
34
|
-
readonly accessTokenExpiresAt:
|
|
35
|
-
readonly refreshTokenExpiresAt:
|
|
36
|
-
readonly scope:
|
|
37
|
-
readonly idToken:
|
|
38
|
-
readonly password:
|
|
29
|
+
readonly userId: drizzle_orm15.NotNull<drizzle_orm_pg_core32.PgVarcharBuilder<[string, ...string[]]>>;
|
|
30
|
+
readonly accountId: drizzle_orm15.NotNull<drizzle_orm_pg_core32.PgVarcharBuilder<[string, ...string[]]>>;
|
|
31
|
+
readonly providerId: drizzle_orm15.NotNull<drizzle_orm_pg_core32.PgVarcharBuilder<[string, ...string[]]>>;
|
|
32
|
+
readonly accessToken: drizzle_orm_pg_core32.PgVarcharBuilder<[string, ...string[]]>;
|
|
33
|
+
readonly refreshToken: drizzle_orm_pg_core32.PgVarcharBuilder<[string, ...string[]]>;
|
|
34
|
+
readonly accessTokenExpiresAt: drizzle_orm_pg_core32.PgTimestampBuilder;
|
|
35
|
+
readonly refreshTokenExpiresAt: drizzle_orm_pg_core32.PgTimestampBuilder;
|
|
36
|
+
readonly scope: drizzle_orm_pg_core32.PgVarcharBuilder<[string, ...string[]]>;
|
|
37
|
+
readonly idToken: drizzle_orm_pg_core32.PgVarcharBuilder<[string, ...string[]]>;
|
|
38
|
+
readonly password: drizzle_orm_pg_core32.PgVarcharBuilder<[string, ...string[]]>;
|
|
39
39
|
};
|
|
40
40
|
virtuals: undefined;
|
|
41
|
-
relations: Record<string,
|
|
41
|
+
relations: Record<string, questpie151.RelationConfig>;
|
|
42
42
|
indexes: Record<string, any>;
|
|
43
43
|
title: "providerId";
|
|
44
|
-
options:
|
|
44
|
+
options: questpie151.CollectionOptions & {
|
|
45
45
|
timestamps: true;
|
|
46
46
|
};
|
|
47
|
-
hooks:
|
|
48
|
-
access:
|
|
47
|
+
hooks: questpie_src_server_collection_builder_types_js1.CollectionHooksStorage;
|
|
48
|
+
access: questpie_src_server_collection_builder_types_js1.CollectionAccessStorage;
|
|
49
49
|
searchable: undefined;
|
|
50
50
|
fieldDefinitions: {
|
|
51
|
-
readonly userId:
|
|
51
|
+
readonly userId: questpie151.FieldWithMethods<Omit<questpie151.TextFieldState, "notNull" | "column"> & {
|
|
52
52
|
notNull: true;
|
|
53
|
-
column:
|
|
54
|
-
},
|
|
55
|
-
readonly accountId:
|
|
53
|
+
column: drizzle_orm15.NotNull<drizzle_orm_pg_core32.PgVarcharBuilder<[string, ...string[]]>>;
|
|
54
|
+
}, questpie151.TextFieldMethods>;
|
|
55
|
+
readonly accountId: questpie151.FieldWithMethods<Omit<questpie151.TextFieldState, "notNull" | "column"> & {
|
|
56
56
|
notNull: true;
|
|
57
|
-
column:
|
|
58
|
-
},
|
|
59
|
-
readonly providerId:
|
|
57
|
+
column: drizzle_orm15.NotNull<drizzle_orm_pg_core32.PgVarcharBuilder<[string, ...string[]]>>;
|
|
58
|
+
}, questpie151.TextFieldMethods>;
|
|
59
|
+
readonly providerId: questpie151.FieldWithMethods<Omit<questpie151.TextFieldState, "notNull" | "column"> & {
|
|
60
60
|
notNull: true;
|
|
61
|
-
column:
|
|
62
|
-
},
|
|
63
|
-
readonly accessToken:
|
|
64
|
-
readonly refreshToken:
|
|
65
|
-
readonly accessTokenExpiresAt:
|
|
66
|
-
readonly refreshTokenExpiresAt:
|
|
67
|
-
readonly scope:
|
|
68
|
-
readonly idToken:
|
|
69
|
-
readonly password:
|
|
61
|
+
column: drizzle_orm15.NotNull<drizzle_orm_pg_core32.PgVarcharBuilder<[string, ...string[]]>>;
|
|
62
|
+
}, questpie151.TextFieldMethods>;
|
|
63
|
+
readonly accessToken: questpie151.FieldWithMethods<questpie151.TextFieldState, questpie151.TextFieldMethods>;
|
|
64
|
+
readonly refreshToken: questpie151.FieldWithMethods<questpie151.TextFieldState, questpie151.TextFieldMethods>;
|
|
65
|
+
readonly accessTokenExpiresAt: questpie151.FieldWithMethods<questpie151.DatetimeFieldState, questpie151.DatetimeFieldMethods>;
|
|
66
|
+
readonly refreshTokenExpiresAt: questpie151.FieldWithMethods<questpie151.DatetimeFieldState, questpie151.DatetimeFieldMethods>;
|
|
67
|
+
readonly scope: questpie151.FieldWithMethods<questpie151.TextFieldState, questpie151.TextFieldMethods>;
|
|
68
|
+
readonly idToken: questpie151.FieldWithMethods<questpie151.TextFieldState, questpie151.TextFieldMethods>;
|
|
69
|
+
readonly password: questpie151.FieldWithMethods<questpie151.TextFieldState, questpie151.TextFieldMethods>;
|
|
70
70
|
};
|
|
71
71
|
upload: undefined;
|
|
72
72
|
output: {};
|