@dskripchenko/laravel-admin 1.26.0 → 1.27.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/api/bootstrap.d.ts +18 -17
- package/dist/api/client.d.ts +12 -11
- package/dist/api/envelope.d.ts +3 -3
- package/dist/api/errors.d.ts +7 -7
- package/dist/components/ScreenPage.vue.d.ts +1 -1
- package/dist/components/auth/LoginForm.vue.d.ts +2 -2
- package/dist/components/auth/LoginPage.vue.d.ts +5 -5
- package/dist/components/auth/index.d.ts +1 -1
- package/dist/components/createComponentRegistry.d.ts +6 -5
- package/dist/components/dashboard/ChartWidget.vue.d.ts +2 -2
- package/dist/components/dashboard/GaugeWidget.vue.d.ts +2 -2
- package/dist/components/dashboard/HeatmapWidget.vue.d.ts +2 -2
- package/dist/components/dashboard/IframeWidget.vue.d.ts +4 -3
- package/dist/components/dashboard/RecentTableWidget.vue.d.ts +4 -3
- package/dist/components/dashboard/StatWidget.vue.d.ts +8 -7
- package/dist/components/dashboard/TableWidget.vue.d.ts +3 -2
- package/dist/components/dashboard/WidgetConfigDialog.vue.d.ts +4 -4
- package/dist/components/dashboard/WidgetRenderer.vue.d.ts +1 -1
- package/dist/components/dashboard/builtin.d.ts +5 -4
- package/dist/components/dashboard/index.d.ts +1 -1
- package/dist/components/dashboard/registry.d.ts +5 -5
- package/dist/components/fields/BuilderField.vue.d.ts +1 -1
- package/dist/components/fields/DateField.vue.d.ts +3 -3
- package/dist/components/fields/GeneratedField.vue.d.ts +3 -3
- package/dist/components/fields/SelectField.vue.d.ts +3 -2
- package/dist/components/fields/TagsField.vue.d.ts +6 -6
- package/dist/components/fields/TranslatableField.vue.d.ts +2 -2
- package/dist/components/fields/WysiwygField.vue.d.ts +2 -2
- package/dist/components/fields/wysiwyg/quill/QuillField.vue.d.ts +3 -3
- package/dist/components/fields/wysiwyg/quill/index.d.ts +3 -3
- package/dist/components/fields/wysiwyg/tinymce/TinymceField.vue.d.ts +6 -5
- package/dist/components/fields/wysiwyg/tinymce/index.d.ts +3 -3
- package/dist/components/import/ImportWizardPage.vue.d.ts +9 -9
- package/dist/components/infolist/BadgeEntry.vue.d.ts +4 -4
- package/dist/components/infolist/InfolistRenderer.vue.d.ts +1 -1
- package/dist/components/infolist/TextEntry.vue.d.ts +3 -3
- package/dist/components/infolist/builtin.d.ts +6 -6
- package/dist/components/infolist/index.d.ts +1 -1
- package/dist/components/infolist/recordContext.d.ts +3 -3
- package/dist/components/infolist/registry.d.ts +7 -7
- package/dist/components/layouts/ColumnsLayout.vue.d.ts +2 -2
- package/dist/components/layouts/RowsLayout.vue.d.ts +1 -1
- package/dist/components/layouts/TabsLayout.vue.d.ts +12 -11
- package/dist/components/notifications/index.d.ts +5 -5
- package/dist/components/profile/ProfilePage.vue.d.ts +3 -3
- package/dist/components/profile/TwoFactorSetup.vue.d.ts +1 -1
- package/dist/components/render/builtin.d.ts +2 -2
- package/dist/components/render/formState.d.ts +18 -15
- package/dist/components/render/index.d.ts +1 -1
- package/dist/components/render/registry.d.ts +9 -9
- package/dist/components/resource/AdminFilterToolbar.vue.d.ts +3 -3
- package/dist/components/resource/AuditTimeline.vue.d.ts +4 -4
- package/dist/components/resource/FilterEditor.d.ts +4 -3
- package/dist/components/resource/InlineEditCell.vue.d.ts +4 -4
- package/dist/components/resource/ResourceFormPage.vue.d.ts +4 -4
- package/dist/components/resource/ResourceIndexPage.vue.d.ts +5 -5
- package/dist/components/resource/ResourceViewPage.vue.d.ts +7 -7
- package/dist/components/resource/cellFormat.d.ts +14 -12
- package/dist/components/resource/index.d.ts +1 -1
- package/dist/components/resource/statusLabel.d.ts +14 -13
- package/dist/components/shell/AdminShell.vue.d.ts +7 -7
- package/dist/components/shell/AdminSidebar.vue.d.ts +7 -7
- package/dist/components/shell/AdminSidebarNode.vue.d.ts +2 -2
- package/dist/components/shell/AdminTopBar.vue.d.ts +2 -2
- package/dist/components/shell/BrandLogo.vue.d.ts +3 -3
- package/dist/components/shell/iconRegistry.d.ts +10 -9
- package/dist/components/shell/index.d.ts +2 -2
- package/dist/composables/useAppReady.d.ts +12 -11
- package/dist/composables/useBrand.d.ts +4 -3
- package/dist/createAdminApp.d.ts +34 -33
- package/dist/formState-DeRZBwWH.js.map +1 -1
- package/dist/formState-yUTD6wAR.cjs.map +1 -1
- package/dist/i18n-BCRWWhHE.cjs.map +1 -1
- package/dist/i18n-DXndsABq.js.map +1 -1
- package/dist/index.cjs +4 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +12 -10
- package/dist/index.mjs +3789 -3774
- package/dist/index.mjs.map +1 -1
- package/dist/quill.cjs.map +1 -1
- package/dist/quill.mjs.map +1 -1
- package/dist/router/builder.d.ts +15 -14
- package/dist/router/guards.d.ts +28 -27
- package/dist/router/index.d.ts +20 -18
- package/dist/stores/auth.d.ts +10 -10
- package/dist/stores/dashboard.d.ts +33 -32
- package/dist/stores/i18n.d.ts +5 -4
- package/dist/stores/index.d.ts +2 -2
- package/dist/stores/locale.d.ts +7 -6
- package/dist/stores/manifest.d.ts +64 -61
- package/dist/stores/menu.d.ts +58 -57
- package/dist/stores/navigation.d.ts +5 -5
- package/dist/stores/notifications.d.ts +5 -4
- package/dist/stores/registry.d.ts +7 -7
- package/dist/stores/resourceForm.d.ts +12 -10
- package/dist/stores/resourceIndex.d.ts +12 -10
- package/dist/stores/screen.d.ts +15 -12
- package/dist/stores/theme.d.ts +4 -3
- package/dist/stores/toast.d.ts +3 -2
- package/dist/style.css +1 -1
- package/dist/tinymce.cjs.map +1 -1
- package/dist/tinymce.mjs.map +1 -1
- package/dist/types/bootstrap.d.ts +9 -9
- package/package.json +1 -1
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* The manifest store: it lazy-loads the admin's JSON manifest and caches it by
|
|
3
|
+
* version.
|
|
3
4
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
5
|
+
* The manifest describes every resource, screen, settings page and plugin. The
|
|
6
|
+
* SPA loads it once at start-up and reuses it.
|
|
6
7
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
8
|
+
* The 304 Not Modified handling is ETag-based on the backend side, so the
|
|
9
|
+
* frontend does nothing special — axios and the browser handle If-None-Match.
|
|
10
|
+
* The fresh version is written into lastVersion for cheap comparisons.
|
|
10
11
|
*/
|
|
11
12
|
/**
|
|
12
|
-
*
|
|
13
|
-
* InfolistNode
|
|
13
|
+
* A manifest node with a mandatory `type`. It is compatible with LayoutNode,
|
|
14
|
+
* FieldNode and InfolistNode, so an array can go straight into a renderer
|
|
15
|
+
* without a cast.
|
|
14
16
|
*/
|
|
15
17
|
export interface ManifestNode extends Record<string, unknown> {
|
|
16
18
|
type: string;
|
|
@@ -21,18 +23,19 @@ export interface ManifestResourceMeta {
|
|
|
21
23
|
icon?: string;
|
|
22
24
|
group?: string | null;
|
|
23
25
|
/**
|
|
24
|
-
* Eloquent morph
|
|
25
|
-
* `subject_type`
|
|
26
|
+
* The Eloquent morph class or the model's FQCN — AuditTimeline needs it as
|
|
27
|
+
* the `subject_type` parameter of the /audit/timeline endpoint.
|
|
26
28
|
*/
|
|
27
29
|
subject_type?: string | null;
|
|
28
30
|
permissions: Record<string, string>;
|
|
29
31
|
fields: ManifestNode[];
|
|
30
32
|
/**
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
+
* The layout of the CREATE form. It only arrives when it differs from
|
|
34
|
+
* `fields` — for a resource whose tabs have nothing to show before the
|
|
35
|
+
* record is saved, say.
|
|
33
36
|
*/
|
|
34
37
|
create_fields?: ManifestNode[];
|
|
35
|
-
/**
|
|
38
|
+
/** The read-only entries of the view page. By default they are generated from fields(). */
|
|
36
39
|
infolist?: ManifestNode[];
|
|
37
40
|
columns: ManifestNode[];
|
|
38
41
|
filters: ManifestNode[];
|
|
@@ -42,9 +45,9 @@ export interface ManifestResourceMeta {
|
|
|
42
45
|
view_mode?: 'list' | 'tree';
|
|
43
46
|
hierarchy_parent_key?: string | null;
|
|
44
47
|
/**
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
* Resource::parentSlug()
|
|
48
|
+
* The slug of the resource whose index serves as the "back" context of the
|
|
49
|
+
* form and view pages. null by default, meaning back leads to this
|
|
50
|
+
* resource's own index. See Resource::parentSlug() on the backend.
|
|
48
51
|
*/
|
|
49
52
|
parent_slug?: string | null;
|
|
50
53
|
features: Record<string, unknown>;
|
|
@@ -83,8 +86,8 @@ export declare const useManifestStore: import("pinia").StoreDefinition<"admin-ma
|
|
|
83
86
|
icon?: string | undefined;
|
|
84
87
|
group?: string | null
|
|
85
88
|
/**
|
|
86
|
-
* Eloquent morph
|
|
87
|
-
* `subject_type`
|
|
89
|
+
* The Eloquent morph class or the model's FQCN — AuditTimeline needs it as
|
|
90
|
+
* the `subject_type` parameter of the /audit/timeline endpoint.
|
|
88
91
|
*/
|
|
89
92
|
| undefined;
|
|
90
93
|
subject_type?: string | null | undefined;
|
|
@@ -118,9 +121,9 @@ export declare const useManifestStore: import("pinia").StoreDefinition<"admin-ma
|
|
|
118
121
|
view_mode?: "list" | "tree" | undefined;
|
|
119
122
|
hierarchy_parent_key?: string | null
|
|
120
123
|
/**
|
|
121
|
-
*
|
|
122
|
-
*
|
|
123
|
-
* Resource::parentSlug()
|
|
124
|
+
* The slug of the resource whose index serves as the "back" context of the
|
|
125
|
+
* form and view pages. null by default, meaning back leads to this
|
|
126
|
+
* resource's own index. See Resource::parentSlug() on the backend.
|
|
124
127
|
*/
|
|
125
128
|
| undefined;
|
|
126
129
|
parent_slug?: string | null | undefined;
|
|
@@ -155,8 +158,8 @@ export declare const useManifestStore: import("pinia").StoreDefinition<"admin-ma
|
|
|
155
158
|
icon?: string | undefined;
|
|
156
159
|
group?: string | null
|
|
157
160
|
/**
|
|
158
|
-
* Eloquent morph
|
|
159
|
-
* `subject_type`
|
|
161
|
+
* The Eloquent morph class or the model's FQCN — AuditTimeline needs it as
|
|
162
|
+
* the `subject_type` parameter of the /audit/timeline endpoint.
|
|
160
163
|
*/
|
|
161
164
|
| undefined;
|
|
162
165
|
subject_type?: string | null | undefined;
|
|
@@ -190,9 +193,9 @@ export declare const useManifestStore: import("pinia").StoreDefinition<"admin-ma
|
|
|
190
193
|
view_mode?: "list" | "tree" | undefined;
|
|
191
194
|
hierarchy_parent_key?: string | null
|
|
192
195
|
/**
|
|
193
|
-
*
|
|
194
|
-
*
|
|
195
|
-
* Resource::parentSlug()
|
|
196
|
+
* The slug of the resource whose index serves as the "back" context of the
|
|
197
|
+
* form and view pages. null by default, meaning back leads to this
|
|
198
|
+
* resource's own index. See Resource::parentSlug() on the backend.
|
|
196
199
|
*/
|
|
197
200
|
| undefined;
|
|
198
201
|
parent_slug?: string | null | undefined;
|
|
@@ -230,8 +233,8 @@ export declare const useManifestStore: import("pinia").StoreDefinition<"admin-ma
|
|
|
230
233
|
icon?: string | undefined;
|
|
231
234
|
group?: string | null
|
|
232
235
|
/**
|
|
233
|
-
* Eloquent morph
|
|
234
|
-
* `subject_type`
|
|
236
|
+
* The Eloquent morph class or the model's FQCN — AuditTimeline needs it as
|
|
237
|
+
* the `subject_type` parameter of the /audit/timeline endpoint.
|
|
235
238
|
*/
|
|
236
239
|
| undefined;
|
|
237
240
|
subject_type?: string | null | undefined;
|
|
@@ -265,9 +268,9 @@ export declare const useManifestStore: import("pinia").StoreDefinition<"admin-ma
|
|
|
265
268
|
view_mode?: "list" | "tree" | undefined;
|
|
266
269
|
hierarchy_parent_key?: string | null
|
|
267
270
|
/**
|
|
268
|
-
*
|
|
269
|
-
*
|
|
270
|
-
* Resource::parentSlug()
|
|
271
|
+
* The slug of the resource whose index serves as the "back" context of the
|
|
272
|
+
* form and view pages. null by default, meaning back leads to this
|
|
273
|
+
* resource's own index. See Resource::parentSlug() on the backend.
|
|
271
274
|
*/
|
|
272
275
|
| undefined;
|
|
273
276
|
parent_slug?: string | null | undefined;
|
|
@@ -308,8 +311,8 @@ export declare const useManifestStore: import("pinia").StoreDefinition<"admin-ma
|
|
|
308
311
|
icon?: string | undefined;
|
|
309
312
|
group?: string | null
|
|
310
313
|
/**
|
|
311
|
-
* Eloquent morph
|
|
312
|
-
* `subject_type`
|
|
314
|
+
* The Eloquent morph class or the model's FQCN — AuditTimeline needs it as
|
|
315
|
+
* the `subject_type` parameter of the /audit/timeline endpoint.
|
|
313
316
|
*/
|
|
314
317
|
| undefined;
|
|
315
318
|
subject_type?: string | null | undefined;
|
|
@@ -343,9 +346,9 @@ export declare const useManifestStore: import("pinia").StoreDefinition<"admin-ma
|
|
|
343
346
|
view_mode?: "list" | "tree" | undefined;
|
|
344
347
|
hierarchy_parent_key?: string | null
|
|
345
348
|
/**
|
|
346
|
-
*
|
|
347
|
-
*
|
|
348
|
-
* Resource::parentSlug()
|
|
349
|
+
* The slug of the resource whose index serves as the "back" context of the
|
|
350
|
+
* form and view pages. null by default, meaning back leads to this
|
|
351
|
+
* resource's own index. See Resource::parentSlug() on the backend.
|
|
349
352
|
*/
|
|
350
353
|
| undefined;
|
|
351
354
|
parent_slug?: string | null | undefined;
|
|
@@ -380,8 +383,8 @@ export declare const useManifestStore: import("pinia").StoreDefinition<"admin-ma
|
|
|
380
383
|
icon?: string | undefined;
|
|
381
384
|
group?: string | null
|
|
382
385
|
/**
|
|
383
|
-
* Eloquent morph
|
|
384
|
-
* `subject_type`
|
|
386
|
+
* The Eloquent morph class or the model's FQCN — AuditTimeline needs it as
|
|
387
|
+
* the `subject_type` parameter of the /audit/timeline endpoint.
|
|
385
388
|
*/
|
|
386
389
|
| undefined;
|
|
387
390
|
subject_type?: string | null | undefined;
|
|
@@ -415,9 +418,9 @@ export declare const useManifestStore: import("pinia").StoreDefinition<"admin-ma
|
|
|
415
418
|
view_mode?: "list" | "tree" | undefined;
|
|
416
419
|
hierarchy_parent_key?: string | null
|
|
417
420
|
/**
|
|
418
|
-
*
|
|
419
|
-
*
|
|
420
|
-
* Resource::parentSlug()
|
|
421
|
+
* The slug of the resource whose index serves as the "back" context of the
|
|
422
|
+
* form and view pages. null by default, meaning back leads to this
|
|
423
|
+
* resource's own index. See Resource::parentSlug() on the backend.
|
|
421
424
|
*/
|
|
422
425
|
| undefined;
|
|
423
426
|
parent_slug?: string | null | undefined;
|
|
@@ -455,8 +458,8 @@ export declare const useManifestStore: import("pinia").StoreDefinition<"admin-ma
|
|
|
455
458
|
icon?: string | undefined;
|
|
456
459
|
group?: string | null
|
|
457
460
|
/**
|
|
458
|
-
* Eloquent morph
|
|
459
|
-
* `subject_type`
|
|
461
|
+
* The Eloquent morph class or the model's FQCN — AuditTimeline needs it as
|
|
462
|
+
* the `subject_type` parameter of the /audit/timeline endpoint.
|
|
460
463
|
*/
|
|
461
464
|
| undefined;
|
|
462
465
|
subject_type?: string | null | undefined;
|
|
@@ -490,9 +493,9 @@ export declare const useManifestStore: import("pinia").StoreDefinition<"admin-ma
|
|
|
490
493
|
view_mode?: "list" | "tree" | undefined;
|
|
491
494
|
hierarchy_parent_key?: string | null
|
|
492
495
|
/**
|
|
493
|
-
*
|
|
494
|
-
*
|
|
495
|
-
* Resource::parentSlug()
|
|
496
|
+
* The slug of the resource whose index serves as the "back" context of the
|
|
497
|
+
* form and view pages. null by default, meaning back leads to this
|
|
498
|
+
* resource's own index. See Resource::parentSlug() on the backend.
|
|
496
499
|
*/
|
|
497
500
|
| undefined;
|
|
498
501
|
parent_slug?: string | null | undefined;
|
|
@@ -533,8 +536,8 @@ export declare const useManifestStore: import("pinia").StoreDefinition<"admin-ma
|
|
|
533
536
|
icon?: string | undefined;
|
|
534
537
|
group?: string | null
|
|
535
538
|
/**
|
|
536
|
-
* Eloquent morph
|
|
537
|
-
* `subject_type`
|
|
539
|
+
* The Eloquent morph class or the model's FQCN — AuditTimeline needs it as
|
|
540
|
+
* the `subject_type` parameter of the /audit/timeline endpoint.
|
|
538
541
|
*/
|
|
539
542
|
| undefined;
|
|
540
543
|
subject_type?: string | null | undefined;
|
|
@@ -568,9 +571,9 @@ export declare const useManifestStore: import("pinia").StoreDefinition<"admin-ma
|
|
|
568
571
|
view_mode?: "list" | "tree" | undefined;
|
|
569
572
|
hierarchy_parent_key?: string | null
|
|
570
573
|
/**
|
|
571
|
-
*
|
|
572
|
-
*
|
|
573
|
-
* Resource::parentSlug()
|
|
574
|
+
* The slug of the resource whose index serves as the "back" context of the
|
|
575
|
+
* form and view pages. null by default, meaning back leads to this
|
|
576
|
+
* resource's own index. See Resource::parentSlug() on the backend.
|
|
574
577
|
*/
|
|
575
578
|
| undefined;
|
|
576
579
|
parent_slug?: string | null | undefined;
|
|
@@ -605,8 +608,8 @@ export declare const useManifestStore: import("pinia").StoreDefinition<"admin-ma
|
|
|
605
608
|
icon?: string | undefined;
|
|
606
609
|
group?: string | null
|
|
607
610
|
/**
|
|
608
|
-
* Eloquent morph
|
|
609
|
-
* `subject_type`
|
|
611
|
+
* The Eloquent morph class or the model's FQCN — AuditTimeline needs it as
|
|
612
|
+
* the `subject_type` parameter of the /audit/timeline endpoint.
|
|
610
613
|
*/
|
|
611
614
|
| undefined;
|
|
612
615
|
subject_type?: string | null | undefined;
|
|
@@ -640,9 +643,9 @@ export declare const useManifestStore: import("pinia").StoreDefinition<"admin-ma
|
|
|
640
643
|
view_mode?: "list" | "tree" | undefined;
|
|
641
644
|
hierarchy_parent_key?: string | null
|
|
642
645
|
/**
|
|
643
|
-
*
|
|
644
|
-
*
|
|
645
|
-
* Resource::parentSlug()
|
|
646
|
+
* The slug of the resource whose index serves as the "back" context of the
|
|
647
|
+
* form and view pages. null by default, meaning back leads to this
|
|
648
|
+
* resource's own index. See Resource::parentSlug() on the backend.
|
|
646
649
|
*/
|
|
647
650
|
| undefined;
|
|
648
651
|
parent_slug?: string | null | undefined;
|
|
@@ -680,8 +683,8 @@ export declare const useManifestStore: import("pinia").StoreDefinition<"admin-ma
|
|
|
680
683
|
icon?: string | undefined;
|
|
681
684
|
group?: string | null
|
|
682
685
|
/**
|
|
683
|
-
* Eloquent morph
|
|
684
|
-
* `subject_type`
|
|
686
|
+
* The Eloquent morph class or the model's FQCN — AuditTimeline needs it as
|
|
687
|
+
* the `subject_type` parameter of the /audit/timeline endpoint.
|
|
685
688
|
*/
|
|
686
689
|
| undefined;
|
|
687
690
|
subject_type?: string | null | undefined;
|
|
@@ -715,9 +718,9 @@ export declare const useManifestStore: import("pinia").StoreDefinition<"admin-ma
|
|
|
715
718
|
view_mode?: "list" | "tree" | undefined;
|
|
716
719
|
hierarchy_parent_key?: string | null
|
|
717
720
|
/**
|
|
718
|
-
*
|
|
719
|
-
*
|
|
720
|
-
* Resource::parentSlug()
|
|
721
|
+
* The slug of the resource whose index serves as the "back" context of the
|
|
722
|
+
* form and view pages. null by default, meaning back leads to this
|
|
723
|
+
* resource's own index. See Resource::parentSlug() on the backend.
|
|
721
724
|
*/
|
|
722
725
|
| undefined;
|
|
723
726
|
parent_slug?: string | null | undefined;
|
package/dist/stores/menu.d.ts
CHANGED
|
@@ -1,34 +1,35 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* The menu store: the tree of sidebar items.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* They come from /system/menu, which the backend builds out of
|
|
5
|
+
* ResourceRegistry, ScreenRegistry, the settings and the plugins'
|
|
6
|
+
* contributions. The frontend filters them by the logged-in user's permissions
|
|
7
|
+
* through the auth store.
|
|
7
8
|
*/
|
|
8
9
|
export interface MenuItem {
|
|
9
|
-
/**
|
|
10
|
+
/** The unique identifier. */
|
|
10
11
|
key: string;
|
|
11
|
-
/**
|
|
12
|
+
/** The item's text. */
|
|
12
13
|
label: string;
|
|
13
|
-
/**
|
|
14
|
+
/** The icon's name; optional, since the host project resolves the icon set itself. */
|
|
14
15
|
icon?: string | null;
|
|
15
|
-
/** URL
|
|
16
|
+
/** The URL — an internal router target — or null for a group. */
|
|
16
17
|
url?: string | null;
|
|
17
|
-
/**
|
|
18
|
+
/** The router route's name; when set it wins over the url. */
|
|
18
19
|
routeName?: string | null;
|
|
19
|
-
/**
|
|
20
|
+
/** The badge on the right: an unread count, or a label such as "new". */
|
|
20
21
|
badge?: string | number | null;
|
|
21
|
-
/**
|
|
22
|
+
/** The group, rendered as a header in the sidebar. */
|
|
22
23
|
group?: string | null;
|
|
23
|
-
/**
|
|
24
|
+
/** The sorting weight. */
|
|
24
25
|
order?: number;
|
|
25
|
-
/**
|
|
26
|
+
/** The permission keys; when set, the item is visible only if hasAnyPermission passes. */
|
|
26
27
|
permissions?: string[];
|
|
27
|
-
/**
|
|
28
|
+
/** The nested items. */
|
|
28
29
|
children?: MenuItem[];
|
|
29
30
|
}
|
|
30
31
|
export interface MenuGroup {
|
|
31
|
-
/**
|
|
32
|
+
/** The group's heading; null for the items outside any group. */
|
|
32
33
|
group: string | null;
|
|
33
34
|
items: MenuItem[];
|
|
34
35
|
}
|
|
@@ -37,50 +38,50 @@ export declare const useMenuStore: import("pinia").StoreDefinition<"admin-menu",
|
|
|
37
38
|
key: string;
|
|
38
39
|
label: string;
|
|
39
40
|
icon?: string | null
|
|
40
|
-
/** URL
|
|
41
|
+
/** The URL — an internal router target — or null for a group. */
|
|
41
42
|
| undefined;
|
|
42
43
|
url?: string | null
|
|
43
|
-
/**
|
|
44
|
+
/** The router route's name; when set it wins over the url. */
|
|
44
45
|
| undefined;
|
|
45
46
|
routeName?: string | null
|
|
46
|
-
/**
|
|
47
|
+
/** The badge on the right: an unread count, or a label such as "new". */
|
|
47
48
|
| undefined;
|
|
48
49
|
badge?: string | number | null
|
|
49
|
-
/**
|
|
50
|
+
/** The group, rendered as a header in the sidebar. */
|
|
50
51
|
| undefined;
|
|
51
52
|
group?: string | null
|
|
52
|
-
/**
|
|
53
|
+
/** The sorting weight. */
|
|
53
54
|
| undefined;
|
|
54
55
|
order?: number
|
|
55
|
-
/**
|
|
56
|
+
/** The permission keys; when set, the item is visible only if hasAnyPermission passes. */
|
|
56
57
|
| undefined;
|
|
57
58
|
permissions?: string[]
|
|
58
|
-
/**
|
|
59
|
+
/** The nested items. */
|
|
59
60
|
| undefined;
|
|
60
61
|
children?: /*elided*/ any[] | undefined;
|
|
61
62
|
}[], MenuItem[] | {
|
|
62
63
|
key: string;
|
|
63
64
|
label: string;
|
|
64
65
|
icon?: string | null
|
|
65
|
-
/** URL
|
|
66
|
+
/** The URL — an internal router target — or null for a group. */
|
|
66
67
|
| undefined;
|
|
67
68
|
url?: string | null
|
|
68
|
-
/**
|
|
69
|
+
/** The router route's name; when set it wins over the url. */
|
|
69
70
|
| undefined;
|
|
70
71
|
routeName?: string | null
|
|
71
|
-
/**
|
|
72
|
+
/** The badge on the right: an unread count, or a label such as "new". */
|
|
72
73
|
| undefined;
|
|
73
74
|
badge?: string | number | null
|
|
74
|
-
/**
|
|
75
|
+
/** The group, rendered as a header in the sidebar. */
|
|
75
76
|
| undefined;
|
|
76
77
|
group?: string | null
|
|
77
|
-
/**
|
|
78
|
+
/** The sorting weight. */
|
|
78
79
|
| undefined;
|
|
79
80
|
order?: number
|
|
80
|
-
/**
|
|
81
|
+
/** The permission keys; when set, the item is visible only if hasAnyPermission passes. */
|
|
81
82
|
| undefined;
|
|
82
83
|
permissions?: string[]
|
|
83
|
-
/**
|
|
84
|
+
/** The nested items. */
|
|
84
85
|
| undefined;
|
|
85
86
|
children?: /*elided*/ any[] | undefined;
|
|
86
87
|
}[]>;
|
|
@@ -97,50 +98,50 @@ export declare const useMenuStore: import("pinia").StoreDefinition<"admin-menu",
|
|
|
97
98
|
key: string;
|
|
98
99
|
label: string;
|
|
99
100
|
icon?: string | null
|
|
100
|
-
/** URL
|
|
101
|
+
/** The URL — an internal router target — or null for a group. */
|
|
101
102
|
| undefined;
|
|
102
103
|
url?: string | null
|
|
103
|
-
/**
|
|
104
|
+
/** The router route's name; when set it wins over the url. */
|
|
104
105
|
| undefined;
|
|
105
106
|
routeName?: string | null
|
|
106
|
-
/**
|
|
107
|
+
/** The badge on the right: an unread count, or a label such as "new". */
|
|
107
108
|
| undefined;
|
|
108
109
|
badge?: string | number | null
|
|
109
|
-
/**
|
|
110
|
+
/** The group, rendered as a header in the sidebar. */
|
|
110
111
|
| undefined;
|
|
111
112
|
group?: string | null
|
|
112
|
-
/**
|
|
113
|
+
/** The sorting weight. */
|
|
113
114
|
| undefined;
|
|
114
115
|
order?: number
|
|
115
|
-
/**
|
|
116
|
+
/** The permission keys; when set, the item is visible only if hasAnyPermission passes. */
|
|
116
117
|
| undefined;
|
|
117
118
|
permissions?: string[]
|
|
118
|
-
/**
|
|
119
|
+
/** The nested items. */
|
|
119
120
|
| undefined;
|
|
120
121
|
children?: /*elided*/ any[] | undefined;
|
|
121
122
|
}[], MenuItem[] | {
|
|
122
123
|
key: string;
|
|
123
124
|
label: string;
|
|
124
125
|
icon?: string | null
|
|
125
|
-
/** URL
|
|
126
|
+
/** The URL — an internal router target — or null for a group. */
|
|
126
127
|
| undefined;
|
|
127
128
|
url?: string | null
|
|
128
|
-
/**
|
|
129
|
+
/** The router route's name; when set it wins over the url. */
|
|
129
130
|
| undefined;
|
|
130
131
|
routeName?: string | null
|
|
131
|
-
/**
|
|
132
|
+
/** The badge on the right: an unread count, or a label such as "new". */
|
|
132
133
|
| undefined;
|
|
133
134
|
badge?: string | number | null
|
|
134
|
-
/**
|
|
135
|
+
/** The group, rendered as a header in the sidebar. */
|
|
135
136
|
| undefined;
|
|
136
137
|
group?: string | null
|
|
137
|
-
/**
|
|
138
|
+
/** The sorting weight. */
|
|
138
139
|
| undefined;
|
|
139
140
|
order?: number
|
|
140
|
-
/**
|
|
141
|
+
/** The permission keys; when set, the item is visible only if hasAnyPermission passes. */
|
|
141
142
|
| undefined;
|
|
142
143
|
permissions?: string[]
|
|
143
|
-
/**
|
|
144
|
+
/** The nested items. */
|
|
144
145
|
| undefined;
|
|
145
146
|
children?: /*elided*/ any[] | undefined;
|
|
146
147
|
}[]>;
|
|
@@ -157,50 +158,50 @@ export declare const useMenuStore: import("pinia").StoreDefinition<"admin-menu",
|
|
|
157
158
|
key: string;
|
|
158
159
|
label: string;
|
|
159
160
|
icon?: string | null
|
|
160
|
-
/** URL
|
|
161
|
+
/** The URL — an internal router target — or null for a group. */
|
|
161
162
|
| undefined;
|
|
162
163
|
url?: string | null
|
|
163
|
-
/**
|
|
164
|
+
/** The router route's name; when set it wins over the url. */
|
|
164
165
|
| undefined;
|
|
165
166
|
routeName?: string | null
|
|
166
|
-
/**
|
|
167
|
+
/** The badge on the right: an unread count, or a label such as "new". */
|
|
167
168
|
| undefined;
|
|
168
169
|
badge?: string | number | null
|
|
169
|
-
/**
|
|
170
|
+
/** The group, rendered as a header in the sidebar. */
|
|
170
171
|
| undefined;
|
|
171
172
|
group?: string | null
|
|
172
|
-
/**
|
|
173
|
+
/** The sorting weight. */
|
|
173
174
|
| undefined;
|
|
174
175
|
order?: number
|
|
175
|
-
/**
|
|
176
|
+
/** The permission keys; when set, the item is visible only if hasAnyPermission passes. */
|
|
176
177
|
| undefined;
|
|
177
178
|
permissions?: string[]
|
|
178
|
-
/**
|
|
179
|
+
/** The nested items. */
|
|
179
180
|
| undefined;
|
|
180
181
|
children?: /*elided*/ any[] | undefined;
|
|
181
182
|
}[], MenuItem[] | {
|
|
182
183
|
key: string;
|
|
183
184
|
label: string;
|
|
184
185
|
icon?: string | null
|
|
185
|
-
/** URL
|
|
186
|
+
/** The URL — an internal router target — or null for a group. */
|
|
186
187
|
| undefined;
|
|
187
188
|
url?: string | null
|
|
188
|
-
/**
|
|
189
|
+
/** The router route's name; when set it wins over the url. */
|
|
189
190
|
| undefined;
|
|
190
191
|
routeName?: string | null
|
|
191
|
-
/**
|
|
192
|
+
/** The badge on the right: an unread count, or a label such as "new". */
|
|
192
193
|
| undefined;
|
|
193
194
|
badge?: string | number | null
|
|
194
|
-
/**
|
|
195
|
+
/** The group, rendered as a header in the sidebar. */
|
|
195
196
|
| undefined;
|
|
196
197
|
group?: string | null
|
|
197
|
-
/**
|
|
198
|
+
/** The sorting weight. */
|
|
198
199
|
| undefined;
|
|
199
200
|
order?: number
|
|
200
|
-
/**
|
|
201
|
+
/** The permission keys; when set, the item is visible only if hasAnyPermission passes. */
|
|
201
202
|
| undefined;
|
|
202
203
|
permissions?: string[]
|
|
203
|
-
/**
|
|
204
|
+
/** The nested items. */
|
|
204
205
|
| undefined;
|
|
205
206
|
children?: /*elided*/ any[] | undefined;
|
|
206
207
|
}[]>;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* useNavigationStore —
|
|
2
|
+
* useNavigationStore — the global pending counter behind the top loading bar.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* `start()` is called from router.beforeEach, as a navigation begins; `end()`
|
|
5
|
+
* from router.afterEach and once a resource page has finished fetching.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
7
|
+
* It is a counter rather than a boolean to survive the races: with several
|
|
8
|
+
* fetches in flight the bar stays visible while at least one is pending.
|
|
9
9
|
*/
|
|
10
10
|
export declare const useNavigationStore: import("pinia").StoreDefinition<"admin-navigation", Pick<{
|
|
11
11
|
pending: import("vue").Ref<number, number>;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* The notifications store: the list, the unread count, and the read and delete
|
|
3
|
+
* actions.
|
|
3
4
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* The bell badge is polled by the UI, through a setInterval calling
|
|
6
|
+
* loadUnread(); the store does no polling of its own, so as not to multiply
|
|
7
|
+
* intervals across the tabs.
|
|
7
8
|
*/
|
|
8
9
|
import type { AdminBootstrap } from '../types/bootstrap';
|
|
9
10
|
export interface NotificationItem {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* The global registry of the AdminClient, for the Pinia stores.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* The stores do not take the client as a parameter — that would make the API
|
|
5
|
+
* much clumsier, with `useAuthStore(client)` every single time. Instead the
|
|
6
|
+
* client is registered once, while the application bootstraps, through
|
|
7
|
+
* `setAdminClient()`, and the stores read it with `getAdminClient()`.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
* client
|
|
9
|
+
* It is a singleton, which is acceptable for an admin SPA: there is only ever
|
|
10
|
+
* one client for the whole lifetime.
|
|
11
11
|
*/
|
|
12
12
|
import type { AdminClient } from '../api/client';
|
|
13
13
|
export declare function setAdminClient(client: AdminClient): void;
|