@omnitend/dashboard-for-laravel 0.9.2 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/extended/DXDashboard.vue.d.ts +12 -2
- package/dist/components/extended/DXDashboardNavbar.vue.d.ts +12 -10
- package/dist/components/extended/DXDashboardSidebar.vue.d.ts +9 -0
- package/dist/components/extended/DXTable.vue.d.ts +15 -0
- package/dist/dashboard-for-laravel.js +5916 -5880
- package/dist/dashboard-for-laravel.js.map +1 -1
- package/dist/dashboard-for-laravel.umd.cjs +7 -7
- package/dist/dashboard-for-laravel.umd.cjs.map +1 -1
- package/dist/style.css +1 -1
- package/dist/types/navigation.d.ts +7 -0
- package/docs/public/api-reference.json +364 -140
- package/docs/public/docs-map.md +1 -1
- package/package.json +1 -1
- package/resources/js/components/extended/DXBasicForm.vue +4 -1
- package/resources/js/components/extended/DXDashboard.vue +28 -2
- package/resources/js/components/extended/DXDashboardNavbar.vue +77 -13
- package/resources/js/components/extended/DXDashboardSidebar.vue +138 -43
- package/resources/js/components/extended/DXField.vue +73 -0
- package/resources/js/components/extended/DXFieldLabel.vue +5 -0
- package/resources/js/components/extended/DXForm.vue +22 -1
- package/resources/js/components/extended/DXRepeater.vue +14 -1
- package/resources/js/components/extended/DXTable.vue +102 -0
- package/resources/js/types/navigation.ts +7 -0
|
@@ -8,6 +8,14 @@ interface Props {
|
|
|
8
8
|
title?: string;
|
|
9
9
|
/** Page title shown in navbar */
|
|
10
10
|
pageTitle?: string;
|
|
11
|
+
/**
|
|
12
|
+
* Render the page content full-width and left-aligned instead of the default
|
|
13
|
+
* centred, reading-width (`col-xl-10`) column. Use for data-heavy admin pages
|
|
14
|
+
* (wide tables).
|
|
15
|
+
*/
|
|
16
|
+
fluid?: boolean;
|
|
17
|
+
/** Extra class(es) applied to the content container/column. */
|
|
18
|
+
contentClass?: string;
|
|
11
19
|
/** User object for navbar dropdown */
|
|
12
20
|
user?: {
|
|
13
21
|
name: string;
|
|
@@ -35,13 +43,15 @@ interface Props {
|
|
|
35
43
|
*/
|
|
36
44
|
dashboardId?: string;
|
|
37
45
|
}
|
|
38
|
-
declare var __VLS_9: string, __VLS_10: any, __VLS_20: string, __VLS_21: any,
|
|
46
|
+
declare var __VLS_9: string, __VLS_10: any, __VLS_20: string, __VLS_21: any, __VLS_26: {}, __VLS_37: {};
|
|
39
47
|
type __VLS_Slots = {} & {
|
|
40
48
|
[K in NonNullable<typeof __VLS_9>]?: (props: typeof __VLS_10) => any;
|
|
41
49
|
} & {
|
|
42
50
|
[K in NonNullable<typeof __VLS_20>]?: (props: typeof __VLS_21) => any;
|
|
43
51
|
} & {
|
|
44
|
-
default?: (props: typeof
|
|
52
|
+
default?: (props: typeof __VLS_26) => any;
|
|
53
|
+
} & {
|
|
54
|
+
default?: (props: typeof __VLS_37) => any;
|
|
45
55
|
};
|
|
46
56
|
declare const __VLS_component: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
47
57
|
title: string;
|
|
@@ -1,22 +1,24 @@
|
|
|
1
1
|
type __VLS_Props = {
|
|
2
|
+
/** The signed-in user shown in the avatar dropdown. `null` hides the menu. */
|
|
2
3
|
user?: {
|
|
3
4
|
name: string;
|
|
4
5
|
email: string;
|
|
5
6
|
[key: string]: any;
|
|
6
7
|
} | null;
|
|
8
|
+
/** Page title shown at the left of the navbar (hidden below the `md` breakpoint). */
|
|
7
9
|
pageTitle?: string;
|
|
8
10
|
};
|
|
9
|
-
declare var
|
|
11
|
+
declare var __VLS_11: {}, __VLS_13: {}, __VLS_15: {
|
|
10
12
|
pageTitle: string;
|
|
11
|
-
},
|
|
13
|
+
}, __VLS_17: {
|
|
12
14
|
user: {
|
|
13
15
|
[key: string]: any;
|
|
14
16
|
name: string;
|
|
15
17
|
email: string;
|
|
16
18
|
} | null;
|
|
17
|
-
},
|
|
19
|
+
}, __VLS_22: {
|
|
18
20
|
initial: string;
|
|
19
|
-
},
|
|
21
|
+
}, __VLS_24: {
|
|
20
22
|
user: {
|
|
21
23
|
[key: string]: any;
|
|
22
24
|
name: string;
|
|
@@ -24,17 +26,17 @@ declare var __VLS_17: {}, __VLS_19: {}, __VLS_24: {
|
|
|
24
26
|
};
|
|
25
27
|
};
|
|
26
28
|
type __VLS_Slots = {} & {
|
|
27
|
-
'menu-icon'?: (props: typeof
|
|
29
|
+
'menu-icon'?: (props: typeof __VLS_11) => any;
|
|
28
30
|
} & {
|
|
29
|
-
search?: (props: typeof
|
|
31
|
+
search?: (props: typeof __VLS_13) => any;
|
|
30
32
|
} & {
|
|
31
|
-
actions?: (props: typeof
|
|
33
|
+
actions?: (props: typeof __VLS_15) => any;
|
|
32
34
|
} & {
|
|
33
|
-
'user-menu'?: (props: typeof
|
|
35
|
+
'user-menu'?: (props: typeof __VLS_17) => any;
|
|
34
36
|
} & {
|
|
35
|
-
'user-icon'?: (props: typeof
|
|
37
|
+
'user-icon'?: (props: typeof __VLS_22) => any;
|
|
36
38
|
} & {
|
|
37
|
-
'user-menu-items'?: (props: typeof
|
|
39
|
+
'user-menu-items'?: (props: typeof __VLS_24) => any;
|
|
38
40
|
};
|
|
39
41
|
declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
40
42
|
toggleSidebar: () => any;
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import type { Navigation } from '../../types/navigation';
|
|
2
2
|
type __VLS_Props = {
|
|
3
|
+
/** Grouped navigation to render: an array of groups, each with a label and items. */
|
|
3
4
|
navigation: Navigation;
|
|
5
|
+
/** The current route URL, used to highlight the matching nav item and open its group. */
|
|
4
6
|
currentUrl: string;
|
|
7
|
+
/** Collapse the rail to an icons-only strip, hiding labels and the brand title. */
|
|
5
8
|
collapsed?: boolean;
|
|
9
|
+
/** Hide the sidebar entirely (`display: none`). */
|
|
6
10
|
hidden?: boolean;
|
|
11
|
+
/** Sidebar title; its first letter is also used as the brand initial. */
|
|
7
12
|
title?: string;
|
|
8
13
|
/**
|
|
9
14
|
* Turn group headers into accordion toggles that collapse/expand their items.
|
|
@@ -26,11 +31,15 @@ declare var __VLS_1: {
|
|
|
26
31
|
isActive: boolean;
|
|
27
32
|
collapsed: boolean;
|
|
28
33
|
isExpanded: boolean;
|
|
34
|
+
}, __VLS_9: {
|
|
35
|
+
collapsed: boolean;
|
|
29
36
|
};
|
|
30
37
|
type __VLS_Slots = {} & {
|
|
31
38
|
brand?: (props: typeof __VLS_1) => any;
|
|
32
39
|
} & {
|
|
33
40
|
link?: (props: typeof __VLS_3) => any;
|
|
41
|
+
} & {
|
|
42
|
+
footer?: (props: typeof __VLS_9) => any;
|
|
34
43
|
};
|
|
35
44
|
declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
36
45
|
toggle: () => any;
|
|
@@ -114,6 +114,15 @@ export interface Props<TItem = any> {
|
|
|
114
114
|
editUrl?: string;
|
|
115
115
|
/** API endpoint pattern for deletions (e.g., "/api/products/:id") */
|
|
116
116
|
deleteUrl?: string;
|
|
117
|
+
/**
|
|
118
|
+
* Guard run when Delete is clicked, before the confirm dialog and request.
|
|
119
|
+
* Return a message for a non-deletable item to show it immediately (as a
|
|
120
|
+
* toast) and skip both the confirm and the delete request; return
|
|
121
|
+
* `null`/`undefined` to proceed with the normal confirm + delete. Lets you
|
|
122
|
+
* short-circuit a doomed delete (e.g. a record with dependents that the
|
|
123
|
+
* server would reject) with an immediate, specific reason.
|
|
124
|
+
*/
|
|
125
|
+
deleteGuard?: (item: TItem) => string | null | undefined;
|
|
117
126
|
/** API endpoint for creating new items (e.g., "/api/products") — enables "New" button */
|
|
118
127
|
createUrl?: string;
|
|
119
128
|
/** Enable client-side filtering, sorting, and pagination on items array */
|
|
@@ -142,6 +151,12 @@ declare const _default: <T = any>(__VLS_props: NonNullable<Awaited<typeof __VLS_
|
|
|
142
151
|
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onUpdate:sortBy" | "onUpdate:busy" | "onRowClicked" | "onPageChange" | "onSortChange" | "onFilterChange" | "onPerPageChange" | "onRowCreated" | "onCreateError" | "onRowUpdated" | "onEditError" | "onRowDeleted" | "onDeleteError" | "onUpdate:filters" | "onUpdate:perPage"> & Props<T> & Partial<{}>> & import("vue").PublicProps;
|
|
143
152
|
expose(exposed: import("vue").ShallowUnwrapRef<{
|
|
144
153
|
refresh: () => void;
|
|
154
|
+
/**
|
|
155
|
+
* Open the built-in create modal (same as clicking the default "New {item}"
|
|
156
|
+
* button). Lets the create action live outside the table card — e.g. in a
|
|
157
|
+
* page header or the dashboard navbar. No-op unless `editFields` are set.
|
|
158
|
+
*/
|
|
159
|
+
openCreate: () => void;
|
|
145
160
|
}>): void;
|
|
146
161
|
attrs: any;
|
|
147
162
|
slots: {
|