@conduction/nextcloud-vue 2.69.0 → 2.70.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/esm/components/CnActionsBar/CnActionsBar.vue2.js +25 -0
- package/dist/esm/components/CnActionsBar/CnActionsBar.vue2.js.map +1 -1
- package/dist/esm/components/CnActionsBar/CnActionsBar.vue3.js +155 -152
- package/dist/esm/components/CnActionsBar/CnActionsBar.vue3.js.map +1 -1
- package/dist/esm/components/CnAppNav/CnAppNav.vue2.js +77 -0
- package/dist/esm/components/CnAppNav/CnAppNav.vue2.js.map +1 -1
- package/dist/esm/components/CnAppNav/CnAppNav.vue3.js +8 -8
- package/dist/esm/components/CnAppNav/CnAppNav.vue3.js.map +1 -1
- package/dist/esm/components/CnBreadcrumbs/CnBreadcrumbs.vue.js +1 -0
- package/dist/esm/components/CnBreadcrumbs/CnBreadcrumbs.vue.js.map +1 -1
- package/dist/esm/components/CnBreadcrumbs/CnBreadcrumbs.vue2.js +28 -0
- package/dist/esm/components/CnBreadcrumbs/CnBreadcrumbs.vue2.js.map +1 -1
- package/dist/esm/components/CnBreadcrumbs/CnBreadcrumbs.vue3.js +4 -2
- package/dist/esm/components/CnBreadcrumbs/CnBreadcrumbs.vue3.js.map +1 -1
- package/dist/esm/components/CnCalendarWidget/CnCalendarWidget.vue2.js +25 -1
- package/dist/esm/components/CnCalendarWidget/CnCalendarWidget.vue2.js.map +1 -1
- package/dist/esm/components/CnCalendarWidget/CnCalendarWidget.vue3.js +32 -17
- package/dist/esm/components/CnCalendarWidget/CnCalendarWidget.vue3.js.map +1 -1
- package/dist/esm/components/CnCapabilityTable/CnCapabilityTable.vue2.js +14 -1
- package/dist/esm/components/CnCapabilityTable/CnCapabilityTable.vue2.js.map +1 -1
- package/dist/esm/components/CnCapabilityTable/CnCapabilityTable.vue3.js.map +1 -1
- package/dist/esm/components/CnDashboardGrid/CnDashboardGrid.vue2.js +43 -2
- package/dist/esm/components/CnDashboardGrid/CnDashboardGrid.vue2.js.map +1 -1
- package/dist/esm/components/CnDashboardGrid/CnDashboardGrid.vue3.js +3 -3
- package/dist/esm/components/CnDashboardGrid/CnDashboardGrid.vue3.js.map +1 -1
- package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue2.js +25 -1
- package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue2.js.map +1 -1
- package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue3.js +2 -1
- package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue3.js.map +1 -1
- package/dist/esm/components/CnDataTable/CnDataTable.vue2.js +35 -1
- package/dist/esm/components/CnDataTable/CnDataTable.vue2.js.map +1 -1
- package/dist/esm/components/CnDataTable/CnDataTable.vue3.js.map +1 -1
- package/dist/esm/components/CnDetailPage/CnDetailPage.vue2.js +54 -3
- package/dist/esm/components/CnDetailPage/CnDetailPage.vue2.js.map +1 -1
- package/dist/esm/components/CnDetailPage/CnDetailPage.vue3.js +6 -3
- package/dist/esm/components/CnDetailPage/CnDetailPage.vue3.js.map +1 -1
- package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHost.vue2.js +28 -0
- package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHost.vue2.js.map +1 -1
- package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHost.vue3.js +3 -2
- package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHost.vue3.js.map +1 -1
- package/dist/esm/components/CnFeaturesAndRoadmapPage/CnFeaturesAndRoadmapPage.vue2.js +12 -0
- package/dist/esm/components/CnFeaturesAndRoadmapPage/CnFeaturesAndRoadmapPage.vue2.js.map +1 -1
- package/dist/esm/components/CnFeaturesAndRoadmapView/CnFeaturesAndRoadmapView.vue2.js +9 -0
- package/dist/esm/components/CnFeaturesAndRoadmapView/CnFeaturesAndRoadmapView.vue2.js.map +1 -1
- package/dist/esm/components/CnFeaturesAndRoadmapView/CnFeaturesAndRoadmapView.vue3.js.map +1 -1
- package/dist/esm/components/CnHeaderWidget/CnHeaderWidget.vue2.js +54 -7
- package/dist/esm/components/CnHeaderWidget/CnHeaderWidget.vue2.js.map +1 -1
- package/dist/esm/components/CnHeaderWidget/CnHeaderWidget.vue3.js +26 -8
- package/dist/esm/components/CnHeaderWidget/CnHeaderWidget.vue3.js.map +1 -1
- package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js +143 -0
- package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js.map +1 -1
- package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js +68 -25
- package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js.map +1 -1
- package/dist/esm/components/CnNextStepCard/CnNextStepCard.vue2.js.map +1 -1
- package/dist/esm/components/CnNextStepCard/CnNextStepCard.vue3.js.map +1 -1
- package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue2.js +4 -1
- package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue2.js.map +1 -1
- package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue3.js.map +1 -1
- package/dist/esm/components/CnStackedBarWidget/CnStackedBarWidget.vue2.js +17 -3
- package/dist/esm/components/CnStackedBarWidget/CnStackedBarWidget.vue2.js.map +1 -1
- package/dist/esm/components/CnStackedBarWidget/CnStackedBarWidget.vue3.js +25 -24
- package/dist/esm/components/CnStackedBarWidget/CnStackedBarWidget.vue3.js.map +1 -1
- package/dist/esm/components/CnStagesWidget/CnStagesWidget.vue2.js.map +1 -1
- package/dist/esm/components/CnStagesWidget/CnStagesWidget.vue3.js.map +1 -1
- package/dist/esm/components/CnStatWidget/CnStatWidget.vue2.js +27 -0
- package/dist/esm/components/CnStatWidget/CnStatWidget.vue2.js.map +1 -1
- package/dist/esm/components/CnStatWidget/CnStatWidget.vue3.js +7 -0
- package/dist/esm/components/CnStatWidget/CnStatWidget.vue3.js.map +1 -1
- package/dist/esm/components/CnStatsBlock/CnStatsBlock.vue2.js +24 -1
- package/dist/esm/components/CnStatsBlock/CnStatsBlock.vue2.js.map +1 -1
- package/dist/esm/components/CnStatsBlock/CnStatsBlock.vue3.js +1 -1
- package/dist/esm/components/CnStatsBlock/CnStatsBlock.vue3.js.map +1 -1
- package/dist/esm/components/CnStatsBlockWidget/CnStatsBlockWidget.vue2.js +11 -0
- package/dist/esm/components/CnStatsBlockWidget/CnStatsBlockWidget.vue2.js.map +1 -1
- package/dist/esm/components/CnStatsBlockWidget/CnStatsBlockWidget.vue3.js +4 -2
- package/dist/esm/components/CnStatsBlockWidget/CnStatsBlockWidget.vue3.js.map +1 -1
- package/dist/esm/components/CnWeekStripWidget/CnWeekStripWidget.vue2.js +15 -2
- package/dist/esm/components/CnWeekStripWidget/CnWeekStripWidget.vue2.js.map +1 -1
- package/dist/esm/components/CnWeekStripWidget/CnWeekStripWidget.vue3.js +31 -32
- package/dist/esm/components/CnWeekStripWidget/CnWeekStripWidget.vue3.js.map +1 -1
- package/dist/esm/nextcloud-vue.css +145 -0
- package/dist/esm/utils/capabilityComparison.js +29 -1
- package/dist/esm/utils/capabilityComparison.js.map +1 -1
- package/dist/esm/utils/validateManifestV2.compiled.js +2 -2
- package/dist/esm/utils/validateManifestV2.compiled.js.map +1 -1
- package/dist/nextcloud-vue.cjs.js +2167 -1399
- package/dist/nextcloud-vue.cjs.js.map +2 -2
- package/dist/nextcloud-vue.css +145 -0
- package/package.json +1 -1
- package/src/components/CnActionsBar/CnActionsBar.md +2 -0
- package/src/components/CnActionsBar/CnActionsBar.vue +28 -2
- package/src/components/CnAppNav/CnAppNav.vue +85 -8
- package/src/components/CnBreadcrumbs/CnBreadcrumbs.vue +45 -0
- package/src/components/CnCalendarWidget/CnCalendarWidget.vue +32 -4
- package/src/components/CnCapabilityTable/CnCapabilityTable.vue +14 -0
- package/src/components/CnDashboardGrid/CnDashboardGrid.md +2 -0
- package/src/components/CnDashboardGrid/CnDashboardGrid.vue +54 -2
- package/src/components/CnDashboardPage/CnDashboardPage.vue +26 -1
- package/src/components/CnDataTable/CnDataTable.vue +35 -1
- package/src/components/CnDetailPage/CnDetailPage.md +2 -0
- package/src/components/CnDetailPage/CnDetailPage.vue +57 -3
- package/src/components/CnDetailWidgetHost/CnDetailWidgetHost.vue +30 -1
- package/src/components/CnFeaturesAndRoadmapPage/CnFeaturesAndRoadmapPage.vue +12 -0
- package/src/components/CnFeaturesAndRoadmapView/CnFeaturesAndRoadmapView.vue +9 -0
- package/src/components/CnHeaderWidget/CnHeaderWidget.vue +95 -8
- package/src/components/CnIndexPage/CnIndexPage.vue +171 -6
- package/src/components/CnNextStepCard/CnNextStepCard.vue +11 -0
- package/src/components/CnObjectListWidget/CnObjectListWidget.vue +4 -1
- package/src/components/CnStackedBarWidget/CnStackedBarWidget.vue +34 -7
- package/src/components/CnStagesWidget/CnStagesWidget.vue +19 -0
- package/src/components/CnStatWidget/CnStatWidget.vue +36 -0
- package/src/components/CnStatsBlock/CnStatsBlock.md +2 -0
- package/src/components/CnStatsBlock/CnStatsBlock.vue +25 -2
- package/src/components/CnStatsBlockWidget/CnStatsBlockWidget.vue +13 -0
- package/src/components/CnWeekStripWidget/CnWeekStripWidget.vue +24 -3
- package/src/css/detail-page.css +10 -0
- package/src/css/index-page.css +12 -0
- package/src/css/kpi-card.css +15 -0
- package/src/schemas/app-manifest-v2.schema.json +46 -5
- package/src/utils/capabilityComparison.js +28 -0
- package/src/utils/validateManifestV2.compiled.js +2 -2
|
@@ -440,6 +440,51 @@ var script = {
|
|
|
440
440
|
default: false,
|
|
441
441
|
},
|
|
442
442
|
|
|
443
|
+
/**
|
|
444
|
+
* Whether the page header draws its icon before the title. `false`
|
|
445
|
+
* (manifest `config.showTitleIcon: false`) drops it, for a title that
|
|
446
|
+
* stands alone as the board draws it. True by default.
|
|
447
|
+
*
|
|
448
|
+
* @spec openspec/changes/zuiddrecht-pixel-gaps-3/specs/zuiddrecht-pixel-gaps-3/spec.md#requirement-an-index-page-can-take-the-board-header
|
|
449
|
+
*/
|
|
450
|
+
showTitleIcon: {
|
|
451
|
+
type: Boolean,
|
|
452
|
+
default: true,
|
|
453
|
+
},
|
|
454
|
+
|
|
455
|
+
/**
|
|
456
|
+
* Whether the actions bar shows its "Showing 20 of 258" line.
|
|
457
|
+
* `false` (manifest `config.showCount: false`) drops it, for a page
|
|
458
|
+
* whose title line already gives the total (`countSubtitle`). True by
|
|
459
|
+
* default.
|
|
460
|
+
*
|
|
461
|
+
* @spec openspec/changes/zuiddrecht-pixel-gaps-3/specs/zuiddrecht-pixel-gaps-3/spec.md#requirement-an-index-page-can-take-the-board-header
|
|
462
|
+
*/
|
|
463
|
+
showCount: {
|
|
464
|
+
type: Boolean,
|
|
465
|
+
default: true,
|
|
466
|
+
},
|
|
467
|
+
|
|
468
|
+
/**
|
|
469
|
+
* Buttons beside the page title, as the board's "Export" and "New
|
|
470
|
+
* case" (manifest `config.headerButtons`). Each is `{ label?, action,
|
|
471
|
+
* variant?, icon?, format?, id? }`: `action` is `add` (the Add flow;
|
|
472
|
+
* its label defaults to the Add label), `export` (the export leaf in
|
|
473
|
+
* `format`, `csv` by default, else the export dialog), `import`,
|
|
474
|
+
* `refresh`, or the id of a `headerActions` entry; `variant` is
|
|
475
|
+
* `primary` or `secondary` (the default). Shown only with
|
|
476
|
+
* `showTitle`. When they show, the actions bar drops its Views and
|
|
477
|
+
* Actions menus, and the Add button and Export menu when a button
|
|
478
|
+
* takes their action. Empty (the default) changes nothing.
|
|
479
|
+
*
|
|
480
|
+
* @spec openspec/changes/zuiddrecht-pixel-gaps-3/specs/zuiddrecht-pixel-gaps-3/spec.md#requirement-an-index-page-can-take-the-board-header
|
|
481
|
+
* @type {Array<{label?: string, action: string, variant?: ('primary'|'secondary'), icon?: string, format?: ('csv'|'excel'), id?: string}>}
|
|
482
|
+
*/
|
|
483
|
+
headerButtons: {
|
|
484
|
+
type: Array,
|
|
485
|
+
default: () => [],
|
|
486
|
+
},
|
|
487
|
+
|
|
443
488
|
/** Optional MDI icon name. Defaults to schema.icon when a schema is provided. */
|
|
444
489
|
icon: {
|
|
445
490
|
type: String,
|
|
@@ -3499,6 +3544,67 @@ var script = {
|
|
|
3499
3544
|
return resolveDeepTokens(seed, {})
|
|
3500
3545
|
},
|
|
3501
3546
|
|
|
3547
|
+
/**
|
|
3548
|
+
* The declared header buttons with a label, translated, each with a
|
|
3549
|
+
* stable key and a variant.
|
|
3550
|
+
*
|
|
3551
|
+
* @spec openspec/changes/zuiddrecht-pixel-gaps-3/specs/zuiddrecht-pixel-gaps-3/spec.md#requirement-an-index-page-can-take-the-board-header
|
|
3552
|
+
* @return {Array<{key: string, label: string, action: string, variant: string, icon: string, format: string}>}
|
|
3553
|
+
*/
|
|
3554
|
+
resolvedHeaderButtons() {
|
|
3555
|
+
const declared = Array.isArray(this.headerButtons) ? this.headerButtons : [];
|
|
3556
|
+
return declared
|
|
3557
|
+
.filter((button) => button && typeof button === 'object' && typeof button.action === 'string' && button.action !== '')
|
|
3558
|
+
.map((button, index) => {
|
|
3559
|
+
let label = typeof button.label === 'string' && button.label !== '' ? this.cnTranslate(button.label) : '';
|
|
3560
|
+
if (label === '' && button.action === 'add') {
|
|
3561
|
+
label = this.resolvedAddLabel;
|
|
3562
|
+
}
|
|
3563
|
+
return {
|
|
3564
|
+
key: String(button.id || button.action || index),
|
|
3565
|
+
label,
|
|
3566
|
+
action: button.action,
|
|
3567
|
+
variant: button.variant === 'primary' ? 'primary' : 'secondary',
|
|
3568
|
+
icon: typeof button.icon === 'string' ? button.icon : '',
|
|
3569
|
+
format: button.format === 'excel' ? 'excel' : 'csv',
|
|
3570
|
+
}
|
|
3571
|
+
})
|
|
3572
|
+
.filter((button) => button.label !== '')
|
|
3573
|
+
},
|
|
3574
|
+
|
|
3575
|
+
/**
|
|
3576
|
+
* Whether the header buttons render: there are some, the title shows
|
|
3577
|
+
* (they sit beside it) and no `#header` slot replaces the header.
|
|
3578
|
+
*
|
|
3579
|
+
* @spec openspec/changes/zuiddrecht-pixel-gaps-3/specs/zuiddrecht-pixel-gaps-3/spec.md#requirement-an-index-page-can-take-the-board-header
|
|
3580
|
+
* @return {boolean}
|
|
3581
|
+
*/
|
|
3582
|
+
headerButtonsShown() {
|
|
3583
|
+
return this.showTitle && !this.$slots.header && this.resolvedHeaderButtons.length > 0
|
|
3584
|
+
},
|
|
3585
|
+
|
|
3586
|
+
/**
|
|
3587
|
+
* Whether the actions bar shows the saved-views control: opted in
|
|
3588
|
+
* with `allowSavedViews` and not given up for header buttons.
|
|
3589
|
+
*
|
|
3590
|
+
* @spec openspec/changes/zuiddrecht-pixel-gaps-3/specs/zuiddrecht-pixel-gaps-3/spec.md#requirement-an-index-page-can-take-the-board-header
|
|
3591
|
+
* @return {boolean}
|
|
3592
|
+
*/
|
|
3593
|
+
barShowsSavedViews() {
|
|
3594
|
+
return Boolean(this.allowSavedViews) && !this.headerButtonsShown
|
|
3595
|
+
},
|
|
3596
|
+
|
|
3597
|
+
/**
|
|
3598
|
+
* Whether the actions bar shows the Export menu: `showExportMenu`,
|
|
3599
|
+
* unless a header button took the export over.
|
|
3600
|
+
*
|
|
3601
|
+
* @spec openspec/changes/zuiddrecht-pixel-gaps-3/specs/zuiddrecht-pixel-gaps-3/spec.md#requirement-an-index-page-can-take-the-board-header
|
|
3602
|
+
* @return {boolean}
|
|
3603
|
+
*/
|
|
3604
|
+
barShowsExportMenu() {
|
|
3605
|
+
return this.showExportMenu && !this.headerButtonTakes('export')
|
|
3606
|
+
},
|
|
3607
|
+
|
|
3502
3608
|
/**
|
|
3503
3609
|
* The header's description line: `countSubtitle` with the total
|
|
3504
3610
|
* filled in when one is known, else `description`.
|
|
@@ -4301,6 +4407,43 @@ var script = {
|
|
|
4301
4407
|
this.$emit('open-modal', { target, props: { selectedIds, count, ...own } });
|
|
4302
4408
|
},
|
|
4303
4409
|
|
|
4410
|
+
/**
|
|
4411
|
+
* Whether a shown header button takes `action` over from the bar.
|
|
4412
|
+
*
|
|
4413
|
+
* @spec openspec/changes/zuiddrecht-pixel-gaps-3/specs/zuiddrecht-pixel-gaps-3/spec.md#requirement-an-index-page-can-take-the-board-header
|
|
4414
|
+
* @param {string} action The action, e.g. `add`.
|
|
4415
|
+
* @return {boolean}
|
|
4416
|
+
*/
|
|
4417
|
+
headerButtonTakes(action) {
|
|
4418
|
+
return this.headerButtonsShown && this.resolvedHeaderButtons.some((button) => button.action === action)
|
|
4419
|
+
},
|
|
4420
|
+
|
|
4421
|
+
/**
|
|
4422
|
+
* A header button was clicked: run its built-in action, or dispatch
|
|
4423
|
+
* it as the `headerActions` entry with that id.
|
|
4424
|
+
*
|
|
4425
|
+
* @spec openspec/changes/zuiddrecht-pixel-gaps-3/specs/zuiddrecht-pixel-gaps-3/spec.md#requirement-an-index-page-can-take-the-board-header
|
|
4426
|
+
* @param {{action: string, format: string}} button The resolved button.
|
|
4427
|
+
* @return {void}
|
|
4428
|
+
*/
|
|
4429
|
+
onHeaderButton(button) {
|
|
4430
|
+
if (button.action === 'add') {
|
|
4431
|
+
this.onAddClick();
|
|
4432
|
+
} else if (button.action === 'export') {
|
|
4433
|
+
if (this.register && this.exportSchemaSlug) {
|
|
4434
|
+
this.onExportClick(button.format);
|
|
4435
|
+
} else {
|
|
4436
|
+
this.showExportDialog = true;
|
|
4437
|
+
}
|
|
4438
|
+
} else if (button.action === 'import') {
|
|
4439
|
+
this.showImportDialog = true;
|
|
4440
|
+
} else if (button.action === 'refresh') {
|
|
4441
|
+
this.onRefreshEvent();
|
|
4442
|
+
} else {
|
|
4443
|
+
this.onHeaderAction({ action: button.action, id: button.action });
|
|
4444
|
+
}
|
|
4445
|
+
},
|
|
4446
|
+
|
|
4304
4447
|
/**
|
|
4305
4448
|
* Click dispatch from CnActionsBar's `@header-action`. Looks
|
|
4306
4449
|
* up the resolved entry by id, invokes its handler if any,
|