@omnitend/dashboard-for-laravel 0.9.1 → 0.10.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/DXDashboardNavbar.vue.d.ts +14 -8
- package/dist/components/extended/DXDashboardSidebar.vue.d.ts +9 -0
- package/dist/dashboard-for-laravel.js +4776 -4764
- package/dist/dashboard-for-laravel.js.map +1 -1
- package/dist/dashboard-for-laravel.umd.cjs +6 -6
- 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 +353 -137
- 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 +11 -0
- package/resources/js/components/extended/DXDashboardNavbar.vue +83 -11
- 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 +73 -0
- package/resources/js/types/navigation.ts +7 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
|
-
"generated": "2026-07-
|
|
2
|
+
"generated": "2026-07-04T12:57:30.569Z",
|
|
3
3
|
"package": {
|
|
4
4
|
"name": "@omnitend/dashboard-for-laravel",
|
|
5
|
-
"version": "0.
|
|
5
|
+
"version": "0.10.0"
|
|
6
6
|
},
|
|
7
7
|
"components": {
|
|
8
8
|
"base": [
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"name": "DAccordion",
|
|
11
11
|
"category": "base",
|
|
12
12
|
"filePath": "resources/js/components/base/DAccordion.vue",
|
|
13
|
-
"description": "",
|
|
13
|
+
"description": "Type-safe wrapper around Bootstrap Vue Next BAccordion component. Easily toggle content visibility with collapsible accordions.",
|
|
14
14
|
"props": [],
|
|
15
15
|
"events": [],
|
|
16
16
|
"slots": [
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
"name": "DAspect",
|
|
74
74
|
"category": "base",
|
|
75
75
|
"filePath": "resources/js/components/base/DAspect.vue",
|
|
76
|
-
"description": "",
|
|
76
|
+
"description": "Type-safe wrapper around Bootstrap Vue Next BAspect component. Keeps its default slot content at a fixed aspect ratio (e.g. `aspect=\"16:9\"` or a number like `1.7778`). Useful for responsive media/embeds.",
|
|
77
77
|
"props": [],
|
|
78
78
|
"events": [],
|
|
79
79
|
"slots": [
|
|
@@ -94,7 +94,7 @@
|
|
|
94
94
|
"name": "DAutocomplete",
|
|
95
95
|
"category": "base",
|
|
96
96
|
"filePath": "resources/js/components/base/DAutocomplete.vue",
|
|
97
|
-
"description": "",
|
|
97
|
+
"description": "Type-safe wrapper around Bootstrap Vue Next BAutocomplete component. Text input with a filtered dropdown of suggestions (typeahead/combobox). Pass `options` and bind `v-model`; supports `multiple` and a custom `filterFunction`.",
|
|
98
98
|
"props": [],
|
|
99
99
|
"events": [],
|
|
100
100
|
"slots": [
|
|
@@ -115,7 +115,7 @@
|
|
|
115
115
|
"name": "DAvatar",
|
|
116
116
|
"category": "base",
|
|
117
117
|
"filePath": "resources/js/components/base/DAvatar.vue",
|
|
118
|
-
"description": "",
|
|
118
|
+
"description": "Type-safe wrapper around Bootstrap Vue Next BAvatar component. Display user profiles as pictures, icons, or short text.",
|
|
119
119
|
"props": [],
|
|
120
120
|
"events": [],
|
|
121
121
|
"slots": [
|
|
@@ -157,7 +157,7 @@
|
|
|
157
157
|
"name": "DBreadcrumb",
|
|
158
158
|
"category": "base",
|
|
159
159
|
"filePath": "resources/js/components/base/DBreadcrumb.vue",
|
|
160
|
-
"description": "",
|
|
160
|
+
"description": "Type-safe wrapper around Bootstrap Vue Next BBreadcrumb component. Indicate the current page's location within a navigational hierarchy.",
|
|
161
161
|
"props": [],
|
|
162
162
|
"events": [],
|
|
163
163
|
"slots": [
|
|
@@ -213,7 +213,7 @@
|
|
|
213
213
|
"name": "DButtonGroup",
|
|
214
214
|
"category": "base",
|
|
215
215
|
"filePath": "resources/js/components/base/DButtonGroup.vue",
|
|
216
|
-
"description": "",
|
|
216
|
+
"description": "Type-safe wrapper around Bootstrap Vue Next BButtonGroup component. Group a series of buttons on a single line or stack them vertically.",
|
|
217
217
|
"props": [],
|
|
218
218
|
"events": [],
|
|
219
219
|
"slots": [
|
|
@@ -234,7 +234,7 @@
|
|
|
234
234
|
"name": "DButtonToolbar",
|
|
235
235
|
"category": "base",
|
|
236
236
|
"filePath": "resources/js/components/base/DButtonToolbar.vue",
|
|
237
|
-
"description": "",
|
|
237
|
+
"description": "Type-safe wrapper around Bootstrap Vue Next BButtonToolbar component. Group button groups and input groups together on a single line.",
|
|
238
238
|
"props": [],
|
|
239
239
|
"events": [],
|
|
240
240
|
"slots": [
|
|
@@ -391,7 +391,7 @@
|
|
|
391
391
|
"name": "DForm",
|
|
392
392
|
"category": "base",
|
|
393
393
|
"filePath": "resources/js/components/base/DForm.vue",
|
|
394
|
-
"description": "",
|
|
394
|
+
"description": "Type-safe wrapper around Bootstrap Vue Next BForm component. Form component with support for inline styles and validation states.",
|
|
395
395
|
"props": [],
|
|
396
396
|
"events": [],
|
|
397
397
|
"slots": [
|
|
@@ -485,7 +485,7 @@
|
|
|
485
485
|
"name": "DFormOtp",
|
|
486
486
|
"category": "base",
|
|
487
487
|
"filePath": "resources/js/components/base/DFormOtp.vue",
|
|
488
|
-
"description": "",
|
|
488
|
+
"description": "Type-safe wrapper around Bootstrap Vue Next BFormOtp component. One-time-code / PIN input rendered as a row of single-character boxes. `v-model` is a `string[]` (one entry per box).",
|
|
489
489
|
"props": [],
|
|
490
490
|
"events": [],
|
|
491
491
|
"slots": [
|
|
@@ -506,7 +506,7 @@
|
|
|
506
506
|
"name": "DFormRadio",
|
|
507
507
|
"category": "base",
|
|
508
508
|
"filePath": "resources/js/components/base/DFormRadio.vue",
|
|
509
|
-
"description": "",
|
|
509
|
+
"description": "Type-safe wrapper around Bootstrap Vue Next BFormRadio component. Custom radio button input with accessibility markup.",
|
|
510
510
|
"props": [],
|
|
511
511
|
"events": [],
|
|
512
512
|
"slots": [
|
|
@@ -527,7 +527,7 @@
|
|
|
527
527
|
"name": "DFormRadioGroup",
|
|
528
528
|
"category": "base",
|
|
529
529
|
"filePath": "resources/js/components/base/DFormRadioGroup.vue",
|
|
530
|
-
"description": "",
|
|
530
|
+
"description": "Type-safe wrapper around Bootstrap Vue Next BFormRadioGroup component. Renders a group of radio inputs from an `options` array or slot content.",
|
|
531
531
|
"props": [],
|
|
532
532
|
"events": [],
|
|
533
533
|
"slots": [
|
|
@@ -569,7 +569,7 @@
|
|
|
569
569
|
"name": "DFormSpinbutton",
|
|
570
570
|
"category": "base",
|
|
571
571
|
"filePath": "resources/js/components/base/DFormSpinbutton.vue",
|
|
572
|
-
"description": "",
|
|
572
|
+
"description": "Type-safe wrapper around Bootstrap Vue Next BFormSpinbutton component. Number input with increment/decrement buttons.",
|
|
573
573
|
"props": [],
|
|
574
574
|
"events": [],
|
|
575
575
|
"slots": [
|
|
@@ -590,7 +590,7 @@
|
|
|
590
590
|
"name": "DFormTags",
|
|
591
591
|
"category": "base",
|
|
592
592
|
"filePath": "resources/js/components/base/DFormTags.vue",
|
|
593
|
-
"description": "",
|
|
593
|
+
"description": "Type-safe wrapper around Bootstrap Vue Next BFormTags component. Lightweight custom tagged input with duplicate detection and validation.",
|
|
594
594
|
"props": [],
|
|
595
595
|
"events": [],
|
|
596
596
|
"slots": [
|
|
@@ -642,7 +642,7 @@
|
|
|
642
642
|
"name": "DImage",
|
|
643
643
|
"category": "base",
|
|
644
644
|
"filePath": "resources/js/components/base/DImage.vue",
|
|
645
|
-
"description": "",
|
|
645
|
+
"description": "Type-safe wrapper around Bootstrap Vue Next BImg component. Responsive image component with optional lazy loading and fluid sizing.",
|
|
646
646
|
"props": [],
|
|
647
647
|
"events": [],
|
|
648
648
|
"slots": [
|
|
@@ -663,7 +663,7 @@
|
|
|
663
663
|
"name": "DInputGroup",
|
|
664
664
|
"category": "base",
|
|
665
665
|
"filePath": "resources/js/components/base/DInputGroup.vue",
|
|
666
|
-
"description": "",
|
|
666
|
+
"description": "Type-safe wrapper around Bootstrap Vue Next BInputGroup component. Easily extend form controls by adding text, buttons, or button groups.",
|
|
667
667
|
"props": [],
|
|
668
668
|
"events": [],
|
|
669
669
|
"slots": [
|
|
@@ -684,7 +684,7 @@
|
|
|
684
684
|
"name": "DLink",
|
|
685
685
|
"category": "base",
|
|
686
686
|
"filePath": "resources/js/components/base/DLink.vue",
|
|
687
|
-
"description": "",
|
|
687
|
+
"description": "Type-safe wrapper around Bootstrap Vue Next BLink component. Enhanced link component with router support and accessibility features.",
|
|
688
688
|
"props": [],
|
|
689
689
|
"events": [],
|
|
690
690
|
"slots": [
|
|
@@ -705,7 +705,7 @@
|
|
|
705
705
|
"name": "DListGroup",
|
|
706
706
|
"category": "base",
|
|
707
707
|
"filePath": "resources/js/components/base/DListGroup.vue",
|
|
708
|
-
"description": "",
|
|
708
|
+
"description": "Type-safe wrapper around Bootstrap Vue Next BListGroup component. Flexible component for displaying a series of content items.",
|
|
709
709
|
"props": [],
|
|
710
710
|
"events": [],
|
|
711
711
|
"slots": [
|
|
@@ -789,7 +789,7 @@
|
|
|
789
789
|
"name": "DNavbar",
|
|
790
790
|
"category": "base",
|
|
791
791
|
"filePath": "resources/js/components/base/DNavbar.vue",
|
|
792
|
-
"description": "",
|
|
792
|
+
"description": "Type-safe wrapper around Bootstrap Vue Next BNavbar component. Responsive navigation header with support for branding, navigation, and more.",
|
|
793
793
|
"props": [],
|
|
794
794
|
"events": [],
|
|
795
795
|
"slots": [
|
|
@@ -915,7 +915,7 @@
|
|
|
915
915
|
"name": "DOverlay",
|
|
916
916
|
"category": "base",
|
|
917
917
|
"filePath": "resources/js/components/base/DOverlay.vue",
|
|
918
|
-
"description": "",
|
|
918
|
+
"description": "Type-safe wrapper around Bootstrap Vue Next BOverlay component. Overlay component for indicating loading states or blocking content.",
|
|
919
919
|
"props": [],
|
|
920
920
|
"events": [],
|
|
921
921
|
"slots": [
|
|
@@ -946,7 +946,7 @@
|
|
|
946
946
|
"name": "DPlaceholder",
|
|
947
947
|
"category": "base",
|
|
948
948
|
"filePath": "resources/js/components/base/DPlaceholder.vue",
|
|
949
|
-
"description": "",
|
|
949
|
+
"description": "Type-safe wrapper around Bootstrap Vue Next BPlaceholder component. Loading placeholder component to indicate content is still loading.",
|
|
950
950
|
"props": [],
|
|
951
951
|
"events": [],
|
|
952
952
|
"slots": [
|
|
@@ -967,7 +967,7 @@
|
|
|
967
967
|
"name": "DPopover",
|
|
968
968
|
"category": "base",
|
|
969
969
|
"filePath": "resources/js/components/base/DPopover.vue",
|
|
970
|
-
"description": "",
|
|
970
|
+
"description": "Type-safe wrapper around Bootstrap Vue Next BPopover component. Overlay component for displaying rich content in a popup.",
|
|
971
971
|
"props": [],
|
|
972
972
|
"events": [],
|
|
973
973
|
"slots": [
|
|
@@ -988,7 +988,7 @@
|
|
|
988
988
|
"name": "DProgress",
|
|
989
989
|
"category": "base",
|
|
990
990
|
"filePath": "resources/js/components/base/DProgress.vue",
|
|
991
|
-
"description": "",
|
|
991
|
+
"description": "Type-safe wrapper around Bootstrap Vue Next BProgress component. Progress bar for displaying simple or complex progress indicators.",
|
|
992
992
|
"props": [],
|
|
993
993
|
"events": [],
|
|
994
994
|
"slots": [
|
|
@@ -1115,7 +1115,7 @@
|
|
|
1115
1115
|
"name": "DTabs",
|
|
1116
1116
|
"category": "base",
|
|
1117
1117
|
"filePath": "resources/js/components/base/DTabs.vue",
|
|
1118
|
-
"description": "",
|
|
1118
|
+
"description": "Type-safe wrapper around Bootstrap Vue Next BTabs component. Create tabbed panes of local content with customisable navigation.",
|
|
1119
1119
|
"props": [],
|
|
1120
1120
|
"events": [],
|
|
1121
1121
|
"slots": [
|
|
@@ -1178,7 +1178,7 @@
|
|
|
1178
1178
|
"name": "DTooltip",
|
|
1179
1179
|
"category": "base",
|
|
1180
1180
|
"filePath": "resources/js/components/base/DTooltip.vue",
|
|
1181
|
-
"description": "",
|
|
1181
|
+
"description": "Type-safe wrapper around Bootstrap Vue Next BTooltip component. Display helpful tooltips when hovering over elements.",
|
|
1182
1182
|
"props": [],
|
|
1183
1183
|
"events": [],
|
|
1184
1184
|
"slots": [
|
|
@@ -1201,13 +1201,13 @@
|
|
|
1201
1201
|
"name": "DXBasicForm",
|
|
1202
1202
|
"category": "extended",
|
|
1203
1203
|
"filePath": "resources/js/components/extended/DXBasicForm.vue",
|
|
1204
|
-
"description": "",
|
|
1204
|
+
"description": "Deprecated alias of DXForm that renders a flat form (DXForm without a `tabs` prop) and warns once on use. A flat form is just DXForm without a `tabs` prop. This wrapper forwards everything to DXForm and logs a one-time deprecation warning so existing callers keep working while they migrate. Remove in a future major.",
|
|
1205
1205
|
"props": [],
|
|
1206
1206
|
"events": [],
|
|
1207
1207
|
"slots": [
|
|
1208
1208
|
{
|
|
1209
1209
|
"name": "name",
|
|
1210
|
-
"description": "",
|
|
1210
|
+
"description": "Passes every DXForm slot (e.g. `value(<key>)`, `footer`) straight through to the wrapped DXForm, along with its slot props.",
|
|
1211
1211
|
"bindings": [
|
|
1212
1212
|
{
|
|
1213
1213
|
"name": "name",
|
|
@@ -1222,7 +1222,7 @@
|
|
|
1222
1222
|
"name": "DXDashboard",
|
|
1223
1223
|
"category": "extended",
|
|
1224
1224
|
"filePath": "resources/js/components/extended/DXDashboard.vue",
|
|
1225
|
-
"description": "",
|
|
1225
|
+
"description": "DXDashboard is the full dashboard shell — a collapsible sidebar (`DXDashboardSidebar`) alongside a top navbar (`DXDashboardNavbar`) and the page content area. It owns sidebar visibility state (persisted to localStorage, SSR-safe) and forwards any `sidebar-*` slot to the sidebar and any `navbar-*` slot to the navbar, stripping the prefix.",
|
|
1226
1226
|
"props": [
|
|
1227
1227
|
{
|
|
1228
1228
|
"name": "navigation",
|
|
@@ -1297,7 +1297,7 @@
|
|
|
1297
1297
|
"slots": [
|
|
1298
1298
|
{
|
|
1299
1299
|
"name": "originalName",
|
|
1300
|
-
"description": "",
|
|
1300
|
+
"description": "Forwards any `sidebar-*` slot to DXDashboardSidebar with the `sidebar-` prefix stripped (e.g. `sidebar-brand` becomes the sidebar's `brand` slot).",
|
|
1301
1301
|
"bindings": [
|
|
1302
1302
|
{
|
|
1303
1303
|
"name": "name",
|
|
@@ -1307,7 +1307,7 @@
|
|
|
1307
1307
|
},
|
|
1308
1308
|
{
|
|
1309
1309
|
"name": "default",
|
|
1310
|
-
"description": "",
|
|
1310
|
+
"description": "Default slot for the main page content, rendered in the centred content column.",
|
|
1311
1311
|
"bindings": []
|
|
1312
1312
|
}
|
|
1313
1313
|
],
|
|
@@ -1317,68 +1317,94 @@
|
|
|
1317
1317
|
"name": "DXDashboardNavbar",
|
|
1318
1318
|
"category": "extended",
|
|
1319
1319
|
"filePath": "resources/js/components/extended/DXDashboardNavbar.vue",
|
|
1320
|
-
"description": "",
|
|
1320
|
+
"description": "Top navigation bar for the dashboard shell: menu toggle, page title, centred search, page-level actions, and the user menu. Usually rendered by `DXDashboard`, which forwards these slots with a `navbar-` prefix.",
|
|
1321
1321
|
"props": [
|
|
1322
1322
|
{
|
|
1323
1323
|
"name": "user",
|
|
1324
1324
|
"type": "union",
|
|
1325
1325
|
"required": false,
|
|
1326
1326
|
"default": "null",
|
|
1327
|
-
"description": ""
|
|
1327
|
+
"description": "The signed-in user shown in the avatar dropdown. `null` hides the menu."
|
|
1328
1328
|
},
|
|
1329
1329
|
{
|
|
1330
1330
|
"name": "pageTitle",
|
|
1331
1331
|
"type": "string",
|
|
1332
1332
|
"required": false,
|
|
1333
1333
|
"default": "\"\"",
|
|
1334
|
-
"description": ""
|
|
1334
|
+
"description": "Page title shown at the left of the navbar (hidden below the `md` breakpoint)."
|
|
1335
1335
|
}
|
|
1336
1336
|
],
|
|
1337
1337
|
"events": [
|
|
1338
1338
|
{
|
|
1339
1339
|
"name": "toggleSidebar",
|
|
1340
|
-
"description": "",
|
|
1340
|
+
"description": "Emitted when the hamburger menu button is clicked.",
|
|
1341
1341
|
"properties": []
|
|
1342
1342
|
}
|
|
1343
1343
|
],
|
|
1344
1344
|
"slots": [
|
|
1345
1345
|
{
|
|
1346
1346
|
"name": "menu-icon",
|
|
1347
|
-
"description": "",
|
|
1347
|
+
"description": "Custom hamburger/menu icon. Defaults to a three-line SVG.",
|
|
1348
1348
|
"bindings": []
|
|
1349
1349
|
},
|
|
1350
1350
|
{
|
|
1351
1351
|
"name": "search",
|
|
1352
|
-
"description": "",
|
|
1352
|
+
"description": "Search input or component. Centred in the bar on wider screens; drops to its own full-width row below the `md` breakpoint.",
|
|
1353
1353
|
"bindings": []
|
|
1354
1354
|
},
|
|
1355
|
+
{
|
|
1356
|
+
"name": "actions",
|
|
1357
|
+
"description": "Page-level primary actions (e.g. a Create button), right-aligned next to the user menu.",
|
|
1358
|
+
"bindings": [
|
|
1359
|
+
{
|
|
1360
|
+
"title": "binding",
|
|
1361
|
+
"type": {
|
|
1362
|
+
"name": "string"
|
|
1363
|
+
},
|
|
1364
|
+
"name": "pageTitle",
|
|
1365
|
+
"description": "The current page title, for context."
|
|
1366
|
+
}
|
|
1367
|
+
]
|
|
1368
|
+
},
|
|
1355
1369
|
{
|
|
1356
1370
|
"name": "user-menu",
|
|
1357
|
-
"description": "",
|
|
1371
|
+
"description": "Replaces the entire user menu (the default avatar dropdown).",
|
|
1358
1372
|
"bindings": [
|
|
1359
1373
|
{
|
|
1374
|
+
"title": "binding",
|
|
1375
|
+
"type": {
|
|
1376
|
+
"name": "object"
|
|
1377
|
+
},
|
|
1360
1378
|
"name": "user",
|
|
1361
|
-
"
|
|
1379
|
+
"description": "The signed-in user."
|
|
1362
1380
|
}
|
|
1363
1381
|
]
|
|
1364
1382
|
},
|
|
1365
1383
|
{
|
|
1366
1384
|
"name": "user-icon",
|
|
1367
|
-
"description": "",
|
|
1385
|
+
"description": "Custom user avatar/icon in the dropdown trigger.",
|
|
1368
1386
|
"bindings": [
|
|
1369
1387
|
{
|
|
1388
|
+
"title": "binding",
|
|
1389
|
+
"type": {
|
|
1390
|
+
"name": "string"
|
|
1391
|
+
},
|
|
1370
1392
|
"name": "initial",
|
|
1371
|
-
"
|
|
1393
|
+
"description": "The first letter of the user's name."
|
|
1372
1394
|
}
|
|
1373
1395
|
]
|
|
1374
1396
|
},
|
|
1375
1397
|
{
|
|
1376
1398
|
"name": "user-menu-items",
|
|
1377
|
-
"description": "",
|
|
1399
|
+
"description": "Items for the default user dropdown menu.",
|
|
1378
1400
|
"bindings": [
|
|
1379
1401
|
{
|
|
1402
|
+
"title": "binding",
|
|
1403
|
+
"type": {
|
|
1404
|
+
"name": "object"
|
|
1405
|
+
},
|
|
1380
1406
|
"name": "user",
|
|
1381
|
-
"
|
|
1407
|
+
"description": "The signed-in user."
|
|
1382
1408
|
}
|
|
1383
1409
|
]
|
|
1384
1410
|
}
|
|
@@ -1389,40 +1415,40 @@
|
|
|
1389
1415
|
"name": "DXDashboardSidebar",
|
|
1390
1416
|
"category": "extended",
|
|
1391
1417
|
"filePath": "resources/js/components/extended/DXDashboardSidebar.vue",
|
|
1392
|
-
"description": "",
|
|
1418
|
+
"description": "Collapsible dashboard sidebar: renders a brand header plus grouped navigation from a `navigation` array, highlighting the item matching the current route. Groups can be plain labelled sections or accordion toggles that expand/collapse their items, and the active-route group opens automatically. The rail itself can collapse to an icons-only strip or hide entirely. Provides `brand` and `link` slots for custom rendering.",
|
|
1393
1419
|
"props": [
|
|
1394
1420
|
{
|
|
1395
1421
|
"name": "navigation",
|
|
1396
1422
|
"type": "Navigation",
|
|
1397
1423
|
"required": true,
|
|
1398
|
-
"description": ""
|
|
1424
|
+
"description": "Grouped navigation to render: an array of groups, each with a label and items."
|
|
1399
1425
|
},
|
|
1400
1426
|
{
|
|
1401
1427
|
"name": "currentUrl",
|
|
1402
1428
|
"type": "string",
|
|
1403
1429
|
"required": true,
|
|
1404
|
-
"description": ""
|
|
1430
|
+
"description": "The current route URL, used to highlight the matching nav item and open its group."
|
|
1405
1431
|
},
|
|
1406
1432
|
{
|
|
1407
1433
|
"name": "collapsed",
|
|
1408
1434
|
"type": "boolean",
|
|
1409
1435
|
"required": false,
|
|
1410
1436
|
"default": "false",
|
|
1411
|
-
"description": ""
|
|
1437
|
+
"description": "Collapse the rail to an icons-only strip, hiding labels and the brand title."
|
|
1412
1438
|
},
|
|
1413
1439
|
{
|
|
1414
1440
|
"name": "hidden",
|
|
1415
1441
|
"type": "boolean",
|
|
1416
1442
|
"required": false,
|
|
1417
1443
|
"default": "false",
|
|
1418
|
-
"description": ""
|
|
1444
|
+
"description": "Hide the sidebar entirely (`display: none`)."
|
|
1419
1445
|
},
|
|
1420
1446
|
{
|
|
1421
1447
|
"name": "title",
|
|
1422
1448
|
"type": "string",
|
|
1423
1449
|
"required": false,
|
|
1424
1450
|
"default": "'Dashboard'",
|
|
1425
|
-
"description": ""
|
|
1451
|
+
"description": "Sidebar title; its first letter is also used as the brand initial."
|
|
1426
1452
|
},
|
|
1427
1453
|
{
|
|
1428
1454
|
"name": "collapsibleGroups",
|
|
@@ -1442,44 +1468,82 @@
|
|
|
1442
1468
|
"events": [
|
|
1443
1469
|
{
|
|
1444
1470
|
"name": "toggle",
|
|
1445
|
-
"description": "",
|
|
1471
|
+
"description": "Emitted to request toggling the sidebar's collapsed/expanded state.",
|
|
1446
1472
|
"properties": []
|
|
1447
1473
|
}
|
|
1448
1474
|
],
|
|
1449
1475
|
"slots": [
|
|
1450
1476
|
{
|
|
1451
1477
|
"name": "brand",
|
|
1452
|
-
"description": "",
|
|
1478
|
+
"description": "Brand/logo area in the sidebar header. Defaults to the title's initial plus the full title (hidden when collapsed).",
|
|
1453
1479
|
"bindings": [
|
|
1454
1480
|
{
|
|
1481
|
+
"title": "binding",
|
|
1482
|
+
"type": {
|
|
1483
|
+
"name": "boolean"
|
|
1484
|
+
},
|
|
1455
1485
|
"name": "collapsed",
|
|
1456
|
-
"
|
|
1486
|
+
"description": "Whether the sidebar rail is collapsed to icons only."
|
|
1457
1487
|
},
|
|
1458
1488
|
{
|
|
1489
|
+
"title": "binding",
|
|
1490
|
+
"type": {
|
|
1491
|
+
"name": "string"
|
|
1492
|
+
},
|
|
1459
1493
|
"name": "title",
|
|
1460
|
-
"
|
|
1494
|
+
"description": "The sidebar title text."
|
|
1461
1495
|
}
|
|
1462
1496
|
]
|
|
1463
1497
|
},
|
|
1464
1498
|
{
|
|
1465
1499
|
"name": "link",
|
|
1466
|
-
"description": "",
|
|
1500
|
+
"description": "Renders a single navigation item link. Defaults to an anchor with optional icon, label, and badge.",
|
|
1467
1501
|
"bindings": [
|
|
1468
1502
|
{
|
|
1503
|
+
"title": "binding",
|
|
1504
|
+
"type": {
|
|
1505
|
+
"name": "object"
|
|
1506
|
+
},
|
|
1469
1507
|
"name": "item",
|
|
1470
|
-
"
|
|
1508
|
+
"description": "The navigation item (label, url, icon, badge, badgeColor)."
|
|
1471
1509
|
},
|
|
1472
1510
|
{
|
|
1473
|
-
"
|
|
1474
|
-
"
|
|
1511
|
+
"title": "binding",
|
|
1512
|
+
"type": {
|
|
1513
|
+
"name": "boolean"
|
|
1514
|
+
},
|
|
1515
|
+
"name": "isActive",
|
|
1516
|
+
"description": "Whether this item matches the current route."
|
|
1475
1517
|
},
|
|
1476
1518
|
{
|
|
1519
|
+
"title": "binding",
|
|
1520
|
+
"type": {
|
|
1521
|
+
"name": "boolean"
|
|
1522
|
+
},
|
|
1477
1523
|
"name": "collapsed",
|
|
1478
|
-
"
|
|
1524
|
+
"description": "Whether the sidebar rail is collapsed to icons only."
|
|
1479
1525
|
},
|
|
1480
1526
|
{
|
|
1481
|
-
"
|
|
1482
|
-
"
|
|
1527
|
+
"title": "binding",
|
|
1528
|
+
"type": {
|
|
1529
|
+
"name": "boolean"
|
|
1530
|
+
},
|
|
1531
|
+
"name": "isExpanded",
|
|
1532
|
+
"description": "Whether the item's group is currently expanded."
|
|
1533
|
+
}
|
|
1534
|
+
]
|
|
1535
|
+
},
|
|
1536
|
+
{
|
|
1537
|
+
"name": "footer",
|
|
1538
|
+
"description": "Utility/secondary links pinned to the bottom of the sidebar (help, changelog, sign-out, …), below the nav groups.",
|
|
1539
|
+
"bindings": [
|
|
1540
|
+
{
|
|
1541
|
+
"title": "binding",
|
|
1542
|
+
"type": {
|
|
1543
|
+
"name": "boolean"
|
|
1544
|
+
},
|
|
1545
|
+
"name": "collapsed",
|
|
1546
|
+
"description": "Whether the sidebar rail is collapsed to icons only."
|
|
1483
1547
|
}
|
|
1484
1548
|
]
|
|
1485
1549
|
}
|
|
@@ -1490,7 +1554,7 @@
|
|
|
1490
1554
|
"name": "DXField",
|
|
1491
1555
|
"category": "extended",
|
|
1492
1556
|
"filePath": "resources/js/components/extended/DXField.vue",
|
|
1493
|
-
"description": "",
|
|
1557
|
+
"description": "Renders a single `FieldDefinition` of any type (text, select, checkbox, switch, repeater, currency, percentage, file/image, component, etc.) with its label, validation error, hint and help. Used by `DXForm` and `DXTable`'s edit modal; exposes `value`, `span`, `info`, `hint` and `repeater-row` slots for per-field customisation.",
|
|
1494
1558
|
"props": [
|
|
1495
1559
|
{
|
|
1496
1560
|
"name": "field",
|
|
@@ -1527,79 +1591,127 @@
|
|
|
1527
1591
|
"slots": [
|
|
1528
1592
|
{
|
|
1529
1593
|
"name": "span",
|
|
1530
|
-
"description": "",
|
|
1594
|
+
"description": "Replaces the entire field with custom full-width content when `field.span` is set, bypassing the label and built-in control.",
|
|
1531
1595
|
"bindings": [
|
|
1532
1596
|
{
|
|
1597
|
+
"title": "binding",
|
|
1598
|
+
"type": {
|
|
1599
|
+
"name": "FieldDefinition"
|
|
1600
|
+
},
|
|
1533
1601
|
"name": "field",
|
|
1534
|
-
"
|
|
1602
|
+
"description": "The field definition being rendered."
|
|
1535
1603
|
},
|
|
1536
1604
|
{
|
|
1605
|
+
"title": "binding",
|
|
1606
|
+
"type": {
|
|
1607
|
+
"name": "any"
|
|
1608
|
+
},
|
|
1537
1609
|
"name": "model",
|
|
1538
|
-
"
|
|
1610
|
+
"description": "The model passed to field predicates (defaults to the live form data)."
|
|
1539
1611
|
},
|
|
1540
1612
|
{
|
|
1613
|
+
"title": "binding",
|
|
1614
|
+
"type": {
|
|
1615
|
+
"name": "any"
|
|
1616
|
+
},
|
|
1541
1617
|
"name": "value",
|
|
1542
|
-
"
|
|
1618
|
+
"description": "The current field value."
|
|
1543
1619
|
},
|
|
1544
1620
|
{
|
|
1621
|
+
"title": "binding",
|
|
1622
|
+
"type": {
|
|
1623
|
+
"name": "(value: any) => void"
|
|
1624
|
+
},
|
|
1545
1625
|
"name": "update",
|
|
1546
|
-
"
|
|
1626
|
+
"description": "Setter that writes the value back and clears the field's validation error."
|
|
1547
1627
|
}
|
|
1548
1628
|
]
|
|
1549
1629
|
},
|
|
1550
1630
|
{
|
|
1551
1631
|
"name": "value",
|
|
1552
|
-
"description": "",
|
|
1632
|
+
"description": "Replaces the built-in control with a custom value editor.",
|
|
1553
1633
|
"bindings": [
|
|
1554
1634
|
{
|
|
1635
|
+
"title": "binding",
|
|
1636
|
+
"type": {
|
|
1637
|
+
"name": "FieldDefinition"
|
|
1638
|
+
},
|
|
1555
1639
|
"name": "field",
|
|
1556
|
-
"
|
|
1640
|
+
"description": "The field definition being rendered."
|
|
1557
1641
|
},
|
|
1558
1642
|
{
|
|
1643
|
+
"title": "binding",
|
|
1644
|
+
"type": {
|
|
1645
|
+
"name": "any"
|
|
1646
|
+
},
|
|
1559
1647
|
"name": "model",
|
|
1560
|
-
"
|
|
1648
|
+
"description": "The model passed to field predicates (defaults to the live form data)."
|
|
1561
1649
|
},
|
|
1562
1650
|
{
|
|
1651
|
+
"title": "binding",
|
|
1652
|
+
"type": {
|
|
1653
|
+
"name": "any"
|
|
1654
|
+
},
|
|
1563
1655
|
"name": "value",
|
|
1564
|
-
"
|
|
1656
|
+
"description": "The current field value."
|
|
1565
1657
|
},
|
|
1566
1658
|
{
|
|
1659
|
+
"title": "binding",
|
|
1660
|
+
"type": {
|
|
1661
|
+
"name": "(value: any) => void"
|
|
1662
|
+
},
|
|
1567
1663
|
"name": "update",
|
|
1568
|
-
"
|
|
1664
|
+
"description": "Setter that writes the value back and clears the field's validation error."
|
|
1569
1665
|
}
|
|
1570
1666
|
]
|
|
1571
1667
|
},
|
|
1572
1668
|
{
|
|
1573
1669
|
"name": "info",
|
|
1574
|
-
"description": "",
|
|
1670
|
+
"description": "Rich info block rendered below the control.",
|
|
1575
1671
|
"bindings": [
|
|
1576
1672
|
{
|
|
1673
|
+
"title": "binding",
|
|
1674
|
+
"type": {
|
|
1675
|
+
"name": "FieldDefinition"
|
|
1676
|
+
},
|
|
1577
1677
|
"name": "field",
|
|
1578
|
-
"
|
|
1678
|
+
"description": "The field definition being rendered."
|
|
1579
1679
|
},
|
|
1580
1680
|
{
|
|
1681
|
+
"title": "binding",
|
|
1682
|
+
"type": {
|
|
1683
|
+
"name": "any"
|
|
1684
|
+
},
|
|
1581
1685
|
"name": "model",
|
|
1582
|
-
"
|
|
1686
|
+
"description": "The model passed to field predicates (defaults to the live form data)."
|
|
1583
1687
|
}
|
|
1584
1688
|
]
|
|
1585
1689
|
},
|
|
1586
1690
|
{
|
|
1587
1691
|
"name": "hint",
|
|
1588
|
-
"description": "",
|
|
1692
|
+
"description": "Overrides the field's hint text shown below the control.",
|
|
1589
1693
|
"bindings": [
|
|
1590
1694
|
{
|
|
1695
|
+
"title": "binding",
|
|
1696
|
+
"type": {
|
|
1697
|
+
"name": "FieldDefinition"
|
|
1698
|
+
},
|
|
1591
1699
|
"name": "field",
|
|
1592
|
-
"
|
|
1700
|
+
"description": "The field definition being rendered."
|
|
1593
1701
|
},
|
|
1594
1702
|
{
|
|
1703
|
+
"title": "binding",
|
|
1704
|
+
"type": {
|
|
1705
|
+
"name": "any"
|
|
1706
|
+
},
|
|
1595
1707
|
"name": "model",
|
|
1596
|
-
"
|
|
1708
|
+
"description": "The model passed to field predicates (defaults to the live form data)."
|
|
1597
1709
|
}
|
|
1598
1710
|
]
|
|
1599
1711
|
},
|
|
1600
1712
|
{
|
|
1601
1713
|
"name": "repeater-row",
|
|
1602
|
-
"description": "",
|
|
1714
|
+
"description": "Custom layout for a single repeater row, forwarded to `DXRepeater`'s `row` slot with its row props (row index, item, remove handler, etc.).",
|
|
1603
1715
|
"bindings": []
|
|
1604
1716
|
}
|
|
1605
1717
|
],
|
|
@@ -1609,7 +1721,7 @@
|
|
|
1609
1721
|
"name": "DXFieldLabel",
|
|
1610
1722
|
"category": "extended",
|
|
1611
1723
|
"filePath": "resources/js/components/extended/DXFieldLabel.vue",
|
|
1612
|
-
"description": "",
|
|
1724
|
+
"description": "A form field label with an optional info affordance that reveals help text in a hover/focus popover next to the label.",
|
|
1613
1725
|
"props": [
|
|
1614
1726
|
{
|
|
1615
1727
|
"name": "label",
|
|
@@ -1632,7 +1744,7 @@
|
|
|
1632
1744
|
"name": "DXForm",
|
|
1633
1745
|
"category": "extended",
|
|
1634
1746
|
"filePath": "resources/js/components/extended/DXForm.vue",
|
|
1635
|
-
"description": "",
|
|
1747
|
+
"description": "DXForm — the canonical form renderer. Driven by field definitions, with optional tabs. Renders every field through DXField (the single field engine), so flat and tabbed forms share one code path. Supports conditional fields/tabs, per-field slot overrides, async options, nested repeaters, and auto-switching to the first tab containing a validation error. Accepts either a `useForm` return or a `defineForm` return; with the latter `fields` may be omitted. Works with the fetch-based `useForm` composable (no Inertia required).",
|
|
1636
1748
|
"props": [
|
|
1637
1749
|
{
|
|
1638
1750
|
"name": "form",
|
|
@@ -1690,50 +1802,66 @@
|
|
|
1690
1802
|
"events": [
|
|
1691
1803
|
{
|
|
1692
1804
|
"name": "submit",
|
|
1693
|
-
"description": "",
|
|
1805
|
+
"description": "Emitted when the form is submitted, after the native submit is prevented.",
|
|
1694
1806
|
"properties": []
|
|
1695
1807
|
}
|
|
1696
1808
|
],
|
|
1697
1809
|
"slots": [
|
|
1698
1810
|
{
|
|
1699
1811
|
"name": "`tab-content(${tab.key})`",
|
|
1700
|
-
"description": "",
|
|
1812
|
+
"description": "Replaces the entire body of a tab, keyed by tab (slot name `tab-content(<tabKey>)`).",
|
|
1701
1813
|
"bindings": [
|
|
1702
1814
|
{
|
|
1703
1815
|
"name": "name",
|
|
1704
1816
|
"title": "binding"
|
|
1705
1817
|
},
|
|
1706
1818
|
{
|
|
1819
|
+
"title": "binding",
|
|
1820
|
+
"type": {
|
|
1821
|
+
"name": "FormTab"
|
|
1822
|
+
},
|
|
1707
1823
|
"name": "tab",
|
|
1708
|
-
"
|
|
1824
|
+
"description": "The tab definition being rendered."
|
|
1709
1825
|
},
|
|
1710
1826
|
{
|
|
1827
|
+
"title": "binding",
|
|
1828
|
+
"type": {
|
|
1829
|
+
"name": "object"
|
|
1830
|
+
},
|
|
1711
1831
|
"name": "model",
|
|
1712
|
-
"
|
|
1832
|
+
"description": "Live form data merged with `context`, for predicates."
|
|
1713
1833
|
}
|
|
1714
1834
|
]
|
|
1715
1835
|
},
|
|
1716
1836
|
{
|
|
1717
1837
|
"name": "`tab-before(${tab.key})`",
|
|
1718
|
-
"description": "",
|
|
1838
|
+
"description": "Content inserted above a tab's fields, keyed by tab (slot name `tab-before(<tabKey>)`).",
|
|
1719
1839
|
"bindings": [
|
|
1720
1840
|
{
|
|
1721
1841
|
"name": "name",
|
|
1722
1842
|
"title": "binding"
|
|
1723
1843
|
},
|
|
1724
1844
|
{
|
|
1845
|
+
"title": "binding",
|
|
1846
|
+
"type": {
|
|
1847
|
+
"name": "FormTab"
|
|
1848
|
+
},
|
|
1725
1849
|
"name": "tab",
|
|
1726
|
-
"
|
|
1850
|
+
"description": "The tab definition being rendered."
|
|
1727
1851
|
},
|
|
1728
1852
|
{
|
|
1853
|
+
"title": "binding",
|
|
1854
|
+
"type": {
|
|
1855
|
+
"name": "object"
|
|
1856
|
+
},
|
|
1729
1857
|
"name": "model",
|
|
1730
|
-
"
|
|
1858
|
+
"description": "Live form data merged with `context`, for predicates."
|
|
1731
1859
|
}
|
|
1732
1860
|
]
|
|
1733
1861
|
},
|
|
1734
1862
|
{
|
|
1735
1863
|
"name": "slotName",
|
|
1736
|
-
"description": "",
|
|
1864
|
+
"description": "Per-field overrides forwarded to DXField, keyed by field key: `value(<key>)`, `span(<key>)`, `info(<key>)`, `hint(<key>)`, `repeater-row(<key>)`.",
|
|
1737
1865
|
"bindings": [
|
|
1738
1866
|
{
|
|
1739
1867
|
"name": "name",
|
|
@@ -1743,29 +1871,41 @@
|
|
|
1743
1871
|
},
|
|
1744
1872
|
{
|
|
1745
1873
|
"name": "`tab-after(${tab.key})`",
|
|
1746
|
-
"description": "",
|
|
1874
|
+
"description": "Content inserted below a tab's fields, keyed by tab (slot name `tab-after(<tabKey>)`).",
|
|
1747
1875
|
"bindings": [
|
|
1748
1876
|
{
|
|
1749
1877
|
"name": "name",
|
|
1750
1878
|
"title": "binding"
|
|
1751
1879
|
},
|
|
1752
1880
|
{
|
|
1881
|
+
"title": "binding",
|
|
1882
|
+
"type": {
|
|
1883
|
+
"name": "FormTab"
|
|
1884
|
+
},
|
|
1753
1885
|
"name": "tab",
|
|
1754
|
-
"
|
|
1886
|
+
"description": "The tab definition being rendered."
|
|
1755
1887
|
},
|
|
1756
1888
|
{
|
|
1889
|
+
"title": "binding",
|
|
1890
|
+
"type": {
|
|
1891
|
+
"name": "object"
|
|
1892
|
+
},
|
|
1757
1893
|
"name": "model",
|
|
1758
|
-
"
|
|
1894
|
+
"description": "Live form data merged with `context`, for predicates."
|
|
1759
1895
|
}
|
|
1760
1896
|
]
|
|
1761
1897
|
},
|
|
1762
1898
|
{
|
|
1763
1899
|
"name": "footer",
|
|
1764
|
-
"description": "",
|
|
1900
|
+
"description": "Content rendered below the submit button (e.g. a cancel link or secondary actions).",
|
|
1765
1901
|
"bindings": [
|
|
1766
1902
|
{
|
|
1903
|
+
"title": "binding",
|
|
1904
|
+
"type": {
|
|
1905
|
+
"name": "UseFormReturn"
|
|
1906
|
+
},
|
|
1767
1907
|
"name": "form",
|
|
1768
|
-
"
|
|
1908
|
+
"description": "The resolved form instance (state, errors, submit helpers)."
|
|
1769
1909
|
}
|
|
1770
1910
|
]
|
|
1771
1911
|
}
|
|
@@ -1776,7 +1916,7 @@
|
|
|
1776
1916
|
"name": "DXRepeater",
|
|
1777
1917
|
"category": "extended",
|
|
1778
1918
|
"filePath": "resources/js/components/extended/DXRepeater.vue",
|
|
1779
|
-
"description": "",
|
|
1919
|
+
"description": "DXRepeater renders a nested, repeatable sub-form for a repeater field: a list of rows (each a group of sub-fields) with add/remove controls, honouring the field's `minItems`/`maxItems` limits.",
|
|
1780
1920
|
"props": [
|
|
1781
1921
|
{
|
|
1782
1922
|
"name": "form",
|
|
@@ -1807,27 +1947,47 @@
|
|
|
1807
1947
|
"slots": [
|
|
1808
1948
|
{
|
|
1809
1949
|
"name": "row",
|
|
1810
|
-
"description": "",
|
|
1950
|
+
"description": "Custom layout for a single repeater row, replacing the default sub-field stack.",
|
|
1811
1951
|
"bindings": [
|
|
1812
1952
|
{
|
|
1953
|
+
"title": "binding",
|
|
1954
|
+
"type": {
|
|
1955
|
+
"name": "object"
|
|
1956
|
+
},
|
|
1813
1957
|
"name": "row",
|
|
1814
|
-
"
|
|
1958
|
+
"description": "The current row's data object."
|
|
1815
1959
|
},
|
|
1816
1960
|
{
|
|
1961
|
+
"title": "binding",
|
|
1962
|
+
"type": {
|
|
1963
|
+
"name": "number"
|
|
1964
|
+
},
|
|
1817
1965
|
"name": "index",
|
|
1818
|
-
"
|
|
1966
|
+
"description": "The row's zero-based index."
|
|
1819
1967
|
},
|
|
1820
1968
|
{
|
|
1969
|
+
"title": "binding",
|
|
1970
|
+
"type": {
|
|
1971
|
+
"name": "FieldDefinition[]"
|
|
1972
|
+
},
|
|
1821
1973
|
"name": "fields",
|
|
1822
|
-
"
|
|
1974
|
+
"description": "The sub-field definitions for the row."
|
|
1823
1975
|
},
|
|
1824
1976
|
{
|
|
1977
|
+
"title": "binding",
|
|
1978
|
+
"type": {
|
|
1979
|
+
"name": "function"
|
|
1980
|
+
},
|
|
1825
1981
|
"name": "remove",
|
|
1826
|
-
"
|
|
1982
|
+
"description": "Removes this row (respects `minItems`)."
|
|
1827
1983
|
},
|
|
1828
1984
|
{
|
|
1985
|
+
"title": "binding",
|
|
1986
|
+
"type": {
|
|
1987
|
+
"name": "string"
|
|
1988
|
+
},
|
|
1829
1989
|
"name": "path",
|
|
1830
|
-
"
|
|
1990
|
+
"description": "The dot path into `form.data` for this row (e.g. `lines.0`)."
|
|
1831
1991
|
}
|
|
1832
1992
|
]
|
|
1833
1993
|
}
|
|
@@ -1838,7 +1998,7 @@
|
|
|
1838
1998
|
"name": "DXTable",
|
|
1839
1999
|
"category": "extended",
|
|
1840
2000
|
"filePath": "resources/js/components/extended/DXTable.vue",
|
|
1841
|
-
"description": "",
|
|
2001
|
+
"description": "Full-featured dashboard data table. Wraps `DTable` and adds three data modes (Inertia items, client-side, and API/provider), inline per-column filters, single-column sorting, pagination with a per-page selector, and an optional edit/create/delete modal driven by `DXForm`.",
|
|
1842
2002
|
"props": [
|
|
1843
2003
|
{
|
|
1844
2004
|
"name": "title",
|
|
@@ -2065,89 +2225,89 @@
|
|
|
2065
2225
|
"events": [
|
|
2066
2226
|
{
|
|
2067
2227
|
"name": "pageChange",
|
|
2068
|
-
"description": "",
|
|
2228
|
+
"description": "Emitted when the user navigates to a different page (all modes). Payload is the new 1-based page number.",
|
|
2069
2229
|
"properties": []
|
|
2070
2230
|
},
|
|
2071
2231
|
{
|
|
2072
2232
|
"name": "sortChange",
|
|
2073
|
-
"description": "",
|
|
2233
|
+
"description": "Emitted (Inertia mode) when the sort column or direction changes, with the active field key and order.",
|
|
2074
2234
|
"properties": []
|
|
2075
2235
|
},
|
|
2076
2236
|
{
|
|
2077
2237
|
"name": "filterChange",
|
|
2078
|
-
"description": "",
|
|
2238
|
+
"description": "Emitted when the inline column filter values change (debounced for server modes, immediate for client-side). Payload is the full filter map.",
|
|
2079
2239
|
"properties": []
|
|
2080
2240
|
},
|
|
2081
2241
|
{
|
|
2082
2242
|
"name": "perPageChange",
|
|
2083
|
-
"description": "",
|
|
2243
|
+
"description": "Emitted when the per-page selector value changes. Payload is the new page size.",
|
|
2084
2244
|
"properties": []
|
|
2085
2245
|
},
|
|
2086
2246
|
{
|
|
2087
2247
|
"name": "rowClicked",
|
|
2088
|
-
"description": "",
|
|
2248
|
+
"description": "Emitted when a table row is clicked, with the row item, its index, and the click event.",
|
|
2089
2249
|
"properties": []
|
|
2090
2250
|
},
|
|
2091
2251
|
{
|
|
2092
2252
|
"name": "rowCreated",
|
|
2093
|
-
"description": "",
|
|
2253
|
+
"description": "Emitted after a new item is successfully created via `createUrl`, with the created item and the raw response.",
|
|
2094
2254
|
"properties": []
|
|
2095
2255
|
},
|
|
2096
2256
|
{
|
|
2097
2257
|
"name": "createError",
|
|
2098
|
-
"description": "",
|
|
2258
|
+
"description": "Emitted when a create request fails, with the validation errors or error object.",
|
|
2099
2259
|
"properties": []
|
|
2100
2260
|
},
|
|
2101
2261
|
{
|
|
2102
2262
|
"name": "rowUpdated",
|
|
2103
|
-
"description": "",
|
|
2263
|
+
"description": "Emitted after a row is successfully updated (or, with no `editUrl`, when the modal is saved), with the item and the response/form data.",
|
|
2104
2264
|
"properties": []
|
|
2105
2265
|
},
|
|
2106
2266
|
{
|
|
2107
2267
|
"name": "editError",
|
|
2108
|
-
"description": "",
|
|
2268
|
+
"description": "Emitted when an update request fails, with the edited item and the error.",
|
|
2109
2269
|
"properties": []
|
|
2110
2270
|
},
|
|
2111
2271
|
{
|
|
2112
2272
|
"name": "rowDeleted",
|
|
2113
|
-
"description": "",
|
|
2273
|
+
"description": "Emitted after a row is successfully deleted via `deleteUrl`, with the deleted item and the response.",
|
|
2114
2274
|
"properties": []
|
|
2115
2275
|
},
|
|
2116
2276
|
{
|
|
2117
2277
|
"name": "deleteError",
|
|
2118
|
-
"description": "",
|
|
2278
|
+
"description": "Emitted when a delete request fails, with the item and the error.",
|
|
2119
2279
|
"properties": []
|
|
2120
2280
|
},
|
|
2121
2281
|
{
|
|
2122
2282
|
"name": "update:sortBy",
|
|
2123
|
-
"description": "",
|
|
2283
|
+
"description": "`v-model:sortBy` update, emitted with the normalized single-column sort array when sorting changes.",
|
|
2124
2284
|
"properties": []
|
|
2125
2285
|
},
|
|
2126
2286
|
{
|
|
2127
2287
|
"name": "update:filters",
|
|
2128
|
-
"description": "",
|
|
2288
|
+
"description": "`v-model:filters` update, emitted with the new filter map when a column filter changes.",
|
|
2129
2289
|
"properties": []
|
|
2130
2290
|
},
|
|
2131
2291
|
{
|
|
2132
2292
|
"name": "update:perPage",
|
|
2133
|
-
"description": "",
|
|
2293
|
+
"description": "`v-model:perPage` update, emitted with the new page size when the per-page selector changes.",
|
|
2134
2294
|
"properties": []
|
|
2135
2295
|
},
|
|
2136
2296
|
{
|
|
2137
2297
|
"name": "update:busy",
|
|
2138
|
-
"description": "",
|
|
2298
|
+
"description": "`v-model:busy` update, forwarded from the underlying table's provider loading state (provider mode).",
|
|
2139
2299
|
"properties": []
|
|
2140
2300
|
}
|
|
2141
2301
|
],
|
|
2142
2302
|
"slots": [
|
|
2143
2303
|
{
|
|
2144
2304
|
"name": "header",
|
|
2145
|
-
"description": "",
|
|
2305
|
+
"description": "Card header content; overrides the default title heading and the \"New {item}\" button.",
|
|
2146
2306
|
"bindings": []
|
|
2147
2307
|
},
|
|
2148
2308
|
{
|
|
2149
2309
|
"name": "name",
|
|
2150
|
-
"description": "",
|
|
2310
|
+
"description": "Custom rendering for a column's cell. Name it `cell(<fieldKey>)` to target a field; receives the underlying table cell scope.",
|
|
2151
2311
|
"bindings": [
|
|
2152
2312
|
{
|
|
2153
2313
|
"name": "name",
|
|
@@ -2157,107 +2317,163 @@
|
|
|
2157
2317
|
},
|
|
2158
2318
|
{
|
|
2159
2319
|
"name": "`edit-value(${key})`",
|
|
2160
|
-
"description": "",
|
|
2320
|
+
"description": "Custom input for field `<key>` in the edit/create modal, forwarded to DXForm. Name it `edit-value(<fieldKey>)`.",
|
|
2161
2321
|
"bindings": [
|
|
2162
2322
|
{
|
|
2163
2323
|
"name": "name",
|
|
2164
2324
|
"title": "binding"
|
|
2165
2325
|
},
|
|
2166
2326
|
{
|
|
2327
|
+
"title": "binding",
|
|
2328
|
+
"type": {
|
|
2329
|
+
"name": "object"
|
|
2330
|
+
},
|
|
2167
2331
|
"name": "item",
|
|
2168
|
-
"
|
|
2332
|
+
"description": "The row being edited (null in create mode)."
|
|
2169
2333
|
},
|
|
2170
2334
|
{
|
|
2335
|
+
"title": "binding",
|
|
2336
|
+
"type": {
|
|
2337
|
+
"name": "any"
|
|
2338
|
+
},
|
|
2171
2339
|
"name": "value",
|
|
2172
|
-
"
|
|
2340
|
+
"description": "The current field value."
|
|
2173
2341
|
},
|
|
2174
2342
|
{
|
|
2343
|
+
"title": "binding",
|
|
2344
|
+
"type": {
|
|
2345
|
+
"name": "Function"
|
|
2346
|
+
},
|
|
2175
2347
|
"name": "update",
|
|
2176
|
-
"
|
|
2348
|
+
"description": "Call with a new value to update the field."
|
|
2177
2349
|
},
|
|
2178
2350
|
{
|
|
2351
|
+
"title": "binding",
|
|
2352
|
+
"type": {
|
|
2353
|
+
"name": "object"
|
|
2354
|
+
},
|
|
2179
2355
|
"name": "field",
|
|
2180
|
-
"
|
|
2356
|
+
"description": "The field definition."
|
|
2181
2357
|
}
|
|
2182
2358
|
]
|
|
2183
2359
|
},
|
|
2184
2360
|
{
|
|
2185
2361
|
"name": "`edit-span(${key})`",
|
|
2186
|
-
"description": "",
|
|
2362
|
+
"description": "Full-width custom content for field `<key>` in the edit/create modal, forwarded to DXForm's span slot. Name it `edit-span(<fieldKey>)`.",
|
|
2187
2363
|
"bindings": [
|
|
2188
2364
|
{
|
|
2189
2365
|
"name": "name",
|
|
2190
2366
|
"title": "binding"
|
|
2191
2367
|
},
|
|
2192
2368
|
{
|
|
2369
|
+
"title": "binding",
|
|
2370
|
+
"type": {
|
|
2371
|
+
"name": "object"
|
|
2372
|
+
},
|
|
2193
2373
|
"name": "item",
|
|
2194
|
-
"
|
|
2374
|
+
"description": "The row being edited (null in create mode)."
|
|
2195
2375
|
},
|
|
2196
2376
|
{
|
|
2377
|
+
"title": "binding",
|
|
2378
|
+
"type": {
|
|
2379
|
+
"name": "any"
|
|
2380
|
+
},
|
|
2197
2381
|
"name": "value",
|
|
2198
|
-
"
|
|
2382
|
+
"description": "The current field value."
|
|
2199
2383
|
},
|
|
2200
2384
|
{
|
|
2385
|
+
"title": "binding",
|
|
2386
|
+
"type": {
|
|
2387
|
+
"name": "Function"
|
|
2388
|
+
},
|
|
2201
2389
|
"name": "update",
|
|
2202
|
-
"
|
|
2390
|
+
"description": "Call with a new value to update the field."
|
|
2203
2391
|
},
|
|
2204
2392
|
{
|
|
2393
|
+
"title": "binding",
|
|
2394
|
+
"type": {
|
|
2395
|
+
"name": "Function"
|
|
2396
|
+
},
|
|
2205
2397
|
"name": "close",
|
|
2206
|
-
"
|
|
2398
|
+
"description": "Call to close the edit modal."
|
|
2207
2399
|
}
|
|
2208
2400
|
]
|
|
2209
2401
|
},
|
|
2210
2402
|
{
|
|
2211
2403
|
"name": "`tab-content(${key})`",
|
|
2212
|
-
"description": "",
|
|
2404
|
+
"description": "Replaces the auto-rendered fields of edit-modal tab `<key>` with custom content. Name it `tab-content(<tabKey>)`.",
|
|
2213
2405
|
"bindings": [
|
|
2214
2406
|
{
|
|
2215
2407
|
"name": "name",
|
|
2216
2408
|
"title": "binding"
|
|
2217
2409
|
},
|
|
2218
2410
|
{
|
|
2411
|
+
"title": "binding",
|
|
2412
|
+
"type": {
|
|
2413
|
+
"name": "object"
|
|
2414
|
+
},
|
|
2219
2415
|
"name": "item",
|
|
2220
|
-
"
|
|
2416
|
+
"description": "The row being edited (null in create mode)."
|
|
2221
2417
|
},
|
|
2222
2418
|
{
|
|
2419
|
+
"title": "binding",
|
|
2420
|
+
"type": {
|
|
2421
|
+
"name": "object"
|
|
2422
|
+
},
|
|
2223
2423
|
"name": "tab",
|
|
2224
|
-
"
|
|
2424
|
+
"description": "The tab definition."
|
|
2225
2425
|
}
|
|
2226
2426
|
]
|
|
2227
2427
|
},
|
|
2228
2428
|
{
|
|
2229
2429
|
"name": "`tab-before(${key})`",
|
|
2230
|
-
"description": "",
|
|
2430
|
+
"description": "Custom content rendered before the fields of edit-modal tab `<key>`. Name it `tab-before(<tabKey>)`.",
|
|
2231
2431
|
"bindings": [
|
|
2232
2432
|
{
|
|
2233
2433
|
"name": "name",
|
|
2234
2434
|
"title": "binding"
|
|
2235
2435
|
},
|
|
2236
2436
|
{
|
|
2437
|
+
"title": "binding",
|
|
2438
|
+
"type": {
|
|
2439
|
+
"name": "object"
|
|
2440
|
+
},
|
|
2237
2441
|
"name": "item",
|
|
2238
|
-
"
|
|
2442
|
+
"description": "The row being edited (null in create mode)."
|
|
2239
2443
|
},
|
|
2240
2444
|
{
|
|
2445
|
+
"title": "binding",
|
|
2446
|
+
"type": {
|
|
2447
|
+
"name": "object"
|
|
2448
|
+
},
|
|
2241
2449
|
"name": "tab",
|
|
2242
|
-
"
|
|
2450
|
+
"description": "The tab definition."
|
|
2243
2451
|
}
|
|
2244
2452
|
]
|
|
2245
2453
|
},
|
|
2246
2454
|
{
|
|
2247
2455
|
"name": "`tab-after(${key})`",
|
|
2248
|
-
"description": "",
|
|
2456
|
+
"description": "Custom content rendered after the fields of edit-modal tab `<key>`. Name it `tab-after(<tabKey>)`.",
|
|
2249
2457
|
"bindings": [
|
|
2250
2458
|
{
|
|
2251
2459
|
"name": "name",
|
|
2252
2460
|
"title": "binding"
|
|
2253
2461
|
},
|
|
2254
2462
|
{
|
|
2463
|
+
"title": "binding",
|
|
2464
|
+
"type": {
|
|
2465
|
+
"name": "object"
|
|
2466
|
+
},
|
|
2255
2467
|
"name": "item",
|
|
2256
|
-
"
|
|
2468
|
+
"description": "The row being edited (null in create mode)."
|
|
2257
2469
|
},
|
|
2258
2470
|
{
|
|
2471
|
+
"title": "binding",
|
|
2472
|
+
"type": {
|
|
2473
|
+
"name": "object"
|
|
2474
|
+
},
|
|
2259
2475
|
"name": "tab",
|
|
2260
|
-
"
|
|
2476
|
+
"description": "The tab definition."
|
|
2261
2477
|
}
|
|
2262
2478
|
]
|
|
2263
2479
|
}
|