@conduction/nextcloud-vue 2.103.0 → 2.105.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 +23 -0
- package/dist/esm/components/CnActionsBar/CnActionsBar.vue2.js.map +1 -1
- package/dist/esm/components/CnActionsBar/CnActionsBar.vue3.js +94 -72
- package/dist/esm/components/CnActionsBar/CnActionsBar.vue3.js.map +1 -1
- package/dist/esm/components/CnAdminSettingsShell/CnAdminSettingsShell.vue.js +1 -1
- package/dist/esm/components/CnAdminSettingsShell/CnAdminSettingsShell.vue2.js.map +1 -1
- package/dist/esm/components/CnAdminSettingsShell/CnAdminSettingsShell.vue3.js +1 -1
- package/dist/esm/components/CnAdminSettingsShell/CnAdminSettingsShell.vue3.js.map +1 -1
- package/dist/esm/components/CnAppRoot/CnAppRoot.vue2.js +18 -1
- package/dist/esm/components/CnAppRoot/CnAppRoot.vue2.js.map +1 -1
- package/dist/esm/components/CnAppRoot/CnAppRoot.vue3.js +3 -3
- package/dist/esm/components/CnAppRoot/CnAppRoot.vue3.js.map +1 -1
- package/dist/esm/components/CnChartWidget/CnChartWidget.vue.js +1 -1
- package/dist/esm/components/CnChartWidget/CnChartWidget.vue2.js +93 -1
- package/dist/esm/components/CnChartWidget/CnChartWidget.vue2.js.map +1 -1
- package/dist/esm/components/CnChartWidget/CnChartWidget.vue3.js.map +1 -1
- package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue.js +1 -1
- package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue2.js +6 -3
- package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue2.js.map +1 -1
- package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue3.js +3 -3
- package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue3.js.map +1 -1
- package/dist/esm/components/CnDataTable/CnDataTable.vue2.js +39 -2
- package/dist/esm/components/CnDataTable/CnDataTable.vue2.js.map +1 -1
- package/dist/esm/components/CnDataTable/CnDataTable.vue3.js +14 -0
- package/dist/esm/components/CnDataTable/CnDataTable.vue3.js.map +1 -1
- package/dist/esm/components/CnDetailPage/CnDetailPage.vue2.js +99 -3
- package/dist/esm/components/CnDetailPage/CnDetailPage.vue2.js.map +1 -1
- package/dist/esm/components/CnDetailPage/CnDetailPage.vue3.js.map +1 -1
- package/dist/esm/components/CnFeaturesAndRoadmapView/CnFeaturesAndRoadmapView.vue.js +1 -1
- package/dist/esm/components/CnFeaturesAndRoadmapView/CnFeaturesAndRoadmapView.vue2.js +1 -1
- 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/CnFeaturesBoard/CnFeaturesBoard.vue.js +1 -1
- package/dist/esm/components/CnFeaturesBoard/CnFeaturesBoard.vue2.js +2 -0
- package/dist/esm/components/CnFeaturesBoard/CnFeaturesBoard.vue2.js.map +1 -1
- package/dist/esm/components/CnFeaturesBoard/CnFeaturesBoard.vue3.js +32 -29
- package/dist/esm/components/CnFeaturesBoard/CnFeaturesBoard.vue3.js.map +1 -1
- package/dist/esm/components/CnFlowsPage/CnFlowBoard.vue.js +1 -1
- package/dist/esm/components/CnFlowsPage/CnFlowBoard.vue2.js +73 -4
- package/dist/esm/components/CnFlowsPage/CnFlowBoard.vue2.js.map +1 -1
- package/dist/esm/components/CnFlowsPage/CnFlowBoard.vue3.js +74 -27
- package/dist/esm/components/CnFlowsPage/CnFlowBoard.vue3.js.map +1 -1
- package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js +213 -4
- package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js.map +1 -1
- package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js +105 -85
- package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js.map +1 -1
- package/dist/esm/components/CnIndexPage/useSelfFetchList.js +10 -4
- package/dist/esm/components/CnIndexPage/useSelfFetchList.js.map +1 -1
- package/dist/esm/components/CnNoticeWidget/CnNoticeWidget.vue.js +9 -0
- package/dist/esm/components/CnNoticeWidget/CnNoticeWidget.vue.js.map +1 -0
- package/dist/esm/components/CnNoticeWidget/CnNoticeWidget.vue2.js +88 -0
- package/dist/esm/components/CnNoticeWidget/CnNoticeWidget.vue2.js.map +1 -0
- package/dist/esm/components/CnNoticeWidget/CnNoticeWidget.vue3.js +39 -0
- package/dist/esm/components/CnNoticeWidget/CnNoticeWidget.vue3.js.map +1 -0
- package/dist/esm/components/CnObjectRow/CnObjectRow.vue.js +1 -1
- package/dist/esm/components/CnObjectRow/CnObjectRow.vue2.js +57 -5
- package/dist/esm/components/CnObjectRow/CnObjectRow.vue2.js.map +1 -1
- package/dist/esm/components/CnObjectRow/CnObjectRow.vue3.js +37 -4
- package/dist/esm/components/CnObjectRow/CnObjectRow.vue3.js.map +1 -1
- package/dist/esm/components/CnSettingsField/CnSettingsField.vue.js +1 -1
- package/dist/esm/components/CnSettingsField/CnSettingsField.vue2.js.map +1 -1
- package/dist/esm/components/CnSettingsField/CnSettingsField.vue3.js +3 -3
- package/dist/esm/components/CnSettingsField/CnSettingsField.vue3.js.map +1 -1
- package/dist/esm/components/CnSetupWizard/CnSetupWizard.vue.js +1 -1
- package/dist/esm/components/CnSetupWizard/CnSetupWizard.vue2.js.map +1 -1
- package/dist/esm/components/CnSetupWizard/CnSetupWizard.vue3.js +16 -4
- package/dist/esm/components/CnSetupWizard/CnSetupWizard.vue3.js.map +1 -1
- package/dist/esm/components/CnUserSettingsDialog/CnUserSettingsDialog.vue.js +1 -1
- package/dist/esm/components/CnUserSettingsDialog/CnUserSettingsDialog.vue2.js.map +1 -1
- package/dist/esm/components/CnUserSettingsDialog/CnUserSettingsDialog.vue3.js.map +1 -1
- package/dist/esm/components/CnVersionInfoCard/CnVersionInfoCard.vue.js +1 -1
- package/dist/esm/components/CnVersionInfoCard/CnVersionInfoCard.vue2.js +11 -0
- package/dist/esm/components/CnVersionInfoCard/CnVersionInfoCard.vue2.js.map +1 -1
- package/dist/esm/components/CnVersionInfoCard/CnVersionInfoCard.vue3.js +4 -4
- package/dist/esm/components/CnVersionInfoCard/CnVersionInfoCard.vue3.js.map +1 -1
- package/dist/esm/components/CnWidgetGrid/builtInWidgets.js +16 -14
- package/dist/esm/components/CnWidgetGrid/builtInWidgets.js.map +1 -1
- package/dist/esm/components/CnWidgetObjectTable/CnWidgetObjectTable.vue.js +1 -1
- package/dist/esm/components/CnWidgetObjectTable/CnWidgetObjectTable.vue2.js +18 -2
- package/dist/esm/components/CnWidgetObjectTable/CnWidgetObjectTable.vue2.js.map +1 -1
- package/dist/esm/components/CnWidgetObjectTable/CnWidgetObjectTable.vue3.js.map +1 -1
- package/dist/esm/composables/indexSources.js +7 -7
- package/dist/esm/composables/indexSources.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/l10n/en.json.js +8 -1
- package/dist/esm/l10n/en.json.js.map +1 -1
- package/dist/esm/l10n/nl.json.js +8 -1
- package/dist/esm/l10n/nl.json.js.map +1 -1
- package/dist/esm/library-style.js +1 -1
- package/dist/esm/nextcloud-vue.css +680 -328
- package/dist/esm/utils/libraryWidgetKeys.js +1 -0
- package/dist/esm/utils/libraryWidgetKeys.js.map +1 -1
- package/dist/esm/utils/nextcloudApps.js +45 -0
- package/dist/esm/utils/nextcloudApps.js.map +1 -0
- package/dist/esm/utils/nextcloudDirectory.js +18 -1
- package/dist/esm/utils/nextcloudDirectory.js.map +1 -1
- package/dist/esm/utils/scopeListLayout.js +9 -2
- package/dist/esm/utils/scopeListLayout.js.map +1 -1
- package/dist/esm/utils/sortOrder.js +61 -0
- package/dist/esm/utils/sortOrder.js.map +1 -0
- package/dist/esm/utils/validateManifestV2.compiled.js +3 -3
- package/dist/esm/utils/validateManifestV2.compiled.js.map +1 -1
- package/dist/esm/utils/visibleWhen.js +12 -4
- package/dist/esm/utils/visibleWhen.js.map +1 -1
- package/dist/nextcloud-vue.cjs.js +4046 -2999
- package/dist/nextcloud-vue.cjs.js.map +2 -2
- package/dist/nextcloud-vue.css +680 -328
- package/l10n/en.json +8 -1
- package/l10n/nl.json +8 -1
- package/package.json +1 -1
- package/src/components/CnActionsBar/CnActionsBar.md +1 -0
- package/src/components/CnActionsBar/CnActionsBar.vue +39 -2
- package/src/components/CnAdminSettingsShell/CnAdminSettingsShell.vue +1 -1
- package/src/components/CnAppRoot/CnAppRoot.md +1 -1
- package/src/components/CnAppRoot/CnAppRoot.vue +21 -4
- package/src/components/CnChartWidget/CnChartWidget.md +2 -0
- package/src/components/CnChartWidget/CnChartWidget.vue +93 -1
- package/src/components/CnDashboardPage/CnDashboardPage.vue +9 -6
- package/src/components/CnDataTable/CnDataTable.md +1 -0
- package/src/components/CnDataTable/CnDataTable.vue +49 -0
- package/src/components/CnDetailPage/CnDetailPage.md +2 -0
- package/src/components/CnDetailPage/CnDetailPage.vue +99 -3
- package/src/components/CnFeaturesAndRoadmapView/CnFeaturesAndRoadmapView.vue +1 -1
- package/src/components/CnFeaturesBoard/CnFeaturesBoard.vue +4 -1
- package/src/components/CnFlowsPage/CnFlowBoard.vue +132 -8
- package/src/components/CnIndexPage/CnIndexPage.md +5 -2
- package/src/components/CnIndexPage/CnIndexPage.vue +228 -9
- package/src/components/CnIndexPage/useSelfFetchList.js +9 -3
- package/src/components/CnNoticeWidget/CnNoticeWidget.vue +153 -0
- package/src/components/CnNoticeWidget/index.js +12 -0
- package/src/components/CnObjectRow/CnObjectRow.vue +95 -1
- package/src/components/CnSettingsField/CnSettingsField.vue +4 -1
- package/src/components/CnSetupWizard/CnSetupWizard.vue +9 -1
- package/src/components/CnUserSettingsDialog/CnUserSettingsDialog.vue +7 -2
- package/src/components/CnVersionInfoCard/CnVersionInfoCard.vue +15 -4
- package/src/components/CnWidgetGrid/builtInWidgets.js +2 -0
- package/src/components/CnWidgetObjectTable/CnWidgetObjectTable.vue +18 -2
- package/src/components/index.js +1 -0
- package/src/composables/indexSources.js +7 -7
- package/src/css/dialog.css +20 -2
- package/src/css/index-page.css +19 -0
- package/src/css/look-board-detail.css +77 -4
- package/src/css/look-board-index.css +84 -2
- package/src/css/look-board.css +97 -12
- package/src/index.js +1 -0
- package/src/schemas/app-manifest-v2.schema.json +58 -3
- package/src/utils/libraryWidgetKeys.js +1 -0
- package/src/utils/nextcloudApps.js +50 -0
- package/src/utils/nextcloudDirectory.js +17 -0
- package/src/utils/scopeListLayout.js +9 -2
- package/src/utils/sortOrder.js +58 -0
- package/src/utils/validateManifestV2.compiled.js +3 -3
- package/src/utils/visibleWhen.js +12 -4
|
@@ -56,7 +56,7 @@ import { resolveHeaderMeta, isActivityWidget } from '../../utils/headerMeta.js';
|
|
|
56
56
|
import { patchStoredSelf } from '../../utils/patchStoredSelf.js';
|
|
57
57
|
import { setReadState } from '../../utils/recordInteractions.js';
|
|
58
58
|
import { slotRenders } from '../../utils/slotContent.js';
|
|
59
|
-
import { isLocallyDecidableVisibleWhen, evaluateVisibleWhen } from '../../utils/visibleWhen.js';
|
|
59
|
+
import { readVisibleWhenPath, isLocallyDecidableVisibleWhen, evaluateVisibleWhen } from '../../utils/visibleWhen.js';
|
|
60
60
|
import { isDataWidgetDef, isRelatedWidgetDef, isGeoWidgetDef, isContentOnlyWidgetDef, isCardWidgetDef, widgetContentOf, resolveRegistryRenderer, widgetTitleOf } from '../../utils/widgetDispatch.js';
|
|
61
61
|
import __sfc_main$a from '../CnActionButtons/CnActionButtons.vue.js';
|
|
62
62
|
import __sfc_main$b from '../CnBreadcrumbs/CnBreadcrumbs.vue.js';
|
|
@@ -1347,6 +1347,22 @@ var script = {
|
|
|
1347
1347
|
default: null,
|
|
1348
1348
|
},
|
|
1349
1349
|
|
|
1350
|
+
/**
|
|
1351
|
+
* A field path whose value picks the tabs of the page's `tabs` widgets
|
|
1352
|
+
* and their order for this record (manifest `config.tabsFrom`), read
|
|
1353
|
+
* like a `visibleWhen` field: `@context.caseType.tabs` reads the list a
|
|
1354
|
+
* case type keeps. A non-empty list of tab ids (a tab's `id`, else its
|
|
1355
|
+
* `widgetId`, or the string entry itself) keeps those tabs in that
|
|
1356
|
+
* order and leaves the rest out. Any other value keeps the declared
|
|
1357
|
+
* tabs. Edit mode shows them all.
|
|
1358
|
+
*
|
|
1359
|
+
* @spec openspec/changes/detail-tabs-from/specs/detail-page/spec.md#requirement-a-record-can-pick-its-tabs-and-their-order
|
|
1360
|
+
*/
|
|
1361
|
+
tabsFrom: {
|
|
1362
|
+
type: String,
|
|
1363
|
+
default: '',
|
|
1364
|
+
},
|
|
1365
|
+
|
|
1350
1366
|
/**
|
|
1351
1367
|
* A column of cards beside the body (manifest `config.sideColumn`),
|
|
1352
1368
|
* for the record's facts: deadline, requester, handler, links. Each
|
|
@@ -1362,6 +1378,22 @@ var script = {
|
|
|
1362
1378
|
default: () => [],
|
|
1363
1379
|
},
|
|
1364
1380
|
|
|
1381
|
+
/**
|
|
1382
|
+
* A field path whose value picks the side column and its order for
|
|
1383
|
+
* this record (manifest `config.sideColumnFrom`), read like a
|
|
1384
|
+
* `visibleWhen` field: `@context.caseType.sideCards` reads the list a
|
|
1385
|
+
* case type keeps. A non-empty list of ids keeps those `sideColumn`
|
|
1386
|
+
* entries, in that order, and leaves the rest out; each still follows
|
|
1387
|
+
* its own `visibleWhen`. Any other value keeps `sideColumn` as
|
|
1388
|
+
* declared, so a record whose list is empty changes nothing.
|
|
1389
|
+
*
|
|
1390
|
+
* @spec openspec/changes/detail-side-column-from/specs/detail-page/spec.md#requirement-a-record-can-pick-the-side-column-and-its-order
|
|
1391
|
+
*/
|
|
1392
|
+
sideColumnFrom: {
|
|
1393
|
+
type: String,
|
|
1394
|
+
default: '',
|
|
1395
|
+
},
|
|
1396
|
+
|
|
1365
1397
|
/**
|
|
1366
1398
|
* Draw the header as a card (manifest `config.headerCard: true`): the
|
|
1367
1399
|
* pills, the title and the actions on the page's surface colour inside
|
|
@@ -2272,7 +2304,7 @@ var script = {
|
|
|
2272
2304
|
* @spec openspec/changes/detail-side-visible-when/specs/detail-page/spec.md#requirement-a-side-column-widget-shows-only-while-its-visiblewhen-holds
|
|
2273
2305
|
*/
|
|
2274
2306
|
sideColumnWidgets() {
|
|
2275
|
-
const resolved = this.
|
|
2307
|
+
const resolved = this.pickedSideWidgets.filter((widget) => this.sideWidgetVisible(widget));
|
|
2276
2308
|
if (!this.isBoard) {
|
|
2277
2309
|
return resolved
|
|
2278
2310
|
}
|
|
@@ -2284,6 +2316,28 @@ var script = {
|
|
|
2284
2316
|
.map(({ widget }) => widget)
|
|
2285
2317
|
},
|
|
2286
2318
|
|
|
2319
|
+
/**
|
|
2320
|
+
* The side column's definitions as the record picks them
|
|
2321
|
+
* (`sideColumnFrom`): the ids it lists, in its order, or every
|
|
2322
|
+
* declared entry when it lists none. Edit mode shows them all.
|
|
2323
|
+
*
|
|
2324
|
+
* @return {Array<object>}
|
|
2325
|
+
* @spec openspec/changes/detail-side-column-from/specs/detail-page/spec.md#requirement-a-record-can-pick-the-side-column-and-its-order
|
|
2326
|
+
*/
|
|
2327
|
+
pickedSideWidgets() {
|
|
2328
|
+
const declared = this.declaredSideWidgets;
|
|
2329
|
+
if (!this.sideColumnFrom || this.editingBody || !this.widgetVisibilityData) {
|
|
2330
|
+
return declared
|
|
2331
|
+
}
|
|
2332
|
+
const ids = readVisibleWhenPath(this.widgetVisibilityData, this.sideColumnFrom);
|
|
2333
|
+
if (!Array.isArray(ids) || ids.length === 0) {
|
|
2334
|
+
return declared
|
|
2335
|
+
}
|
|
2336
|
+
return ids
|
|
2337
|
+
.map((id) => declared.find((widget) => widget.id === id) || null)
|
|
2338
|
+
.filter(Boolean)
|
|
2339
|
+
},
|
|
2340
|
+
|
|
2287
2341
|
/**
|
|
2288
2342
|
* The side column's entries resolved to definitions, before any
|
|
2289
2343
|
* `visibleWhen` is read: a string names a widget declared in
|
|
@@ -3293,7 +3347,7 @@ var script = {
|
|
|
3293
3347
|
*/
|
|
3294
3348
|
bodyGridWidgets() {
|
|
3295
3349
|
if (this.hasGridLayout) {
|
|
3296
|
-
return this.widgets
|
|
3350
|
+
return this.pickTabs(this.widgets)
|
|
3297
3351
|
}
|
|
3298
3352
|
if (this.shouldRenderAutoBody) {
|
|
3299
3353
|
return this.autoBodyWidgets || []
|
|
@@ -3301,6 +3355,21 @@ var script = {
|
|
|
3301
3355
|
return []
|
|
3302
3356
|
},
|
|
3303
3357
|
|
|
3358
|
+
/**
|
|
3359
|
+
* The tab ids `tabsFrom` reads off this record, or null when it reads
|
|
3360
|
+
* no non-empty list (or the body is being edited).
|
|
3361
|
+
*
|
|
3362
|
+
* @spec openspec/changes/detail-tabs-from/specs/detail-page/spec.md#requirement-a-record-can-pick-its-tabs-and-their-order
|
|
3363
|
+
* @return {Array<string>|null}
|
|
3364
|
+
*/
|
|
3365
|
+
pickedTabIds() {
|
|
3366
|
+
if (!this.tabsFrom || this.editingBody || !this.widgetVisibilityData) {
|
|
3367
|
+
return null
|
|
3368
|
+
}
|
|
3369
|
+
const ids = readVisibleWhenPath(this.widgetVisibilityData, this.tabsFrom);
|
|
3370
|
+
return Array.isArray(ids) && ids.length > 0 ? ids.map((id) => String(id)) : null
|
|
3371
|
+
},
|
|
3372
|
+
|
|
3304
3373
|
/**
|
|
3305
3374
|
* Whether the body renders as an adjustable widget grid (vs. the
|
|
3306
3375
|
* hand-authored default slot). True for explicit grid pages and for the
|
|
@@ -3719,6 +3788,33 @@ var script = {
|
|
|
3719
3788
|
},
|
|
3720
3789
|
|
|
3721
3790
|
methods: {
|
|
3791
|
+
/**
|
|
3792
|
+
* The widget definitions with each `tabs` widget's tabs narrowed and
|
|
3793
|
+
* ordered by `pickedTabIds`; the definitions as given without a pick.
|
|
3794
|
+
* A new definition is returned for a changed widget; the declared one
|
|
3795
|
+
* is never mutated.
|
|
3796
|
+
*
|
|
3797
|
+
* @spec openspec/changes/detail-tabs-from/specs/detail-page/spec.md#requirement-a-record-can-pick-its-tabs-and-their-order
|
|
3798
|
+
* @param {Array<object>} widgets The widget definitions.
|
|
3799
|
+
* @return {Array<object>}
|
|
3800
|
+
*/
|
|
3801
|
+
pickTabs(widgets) {
|
|
3802
|
+
const ids = this.pickedTabIds;
|
|
3803
|
+
if (!ids || !Array.isArray(widgets)) {
|
|
3804
|
+
return widgets
|
|
3805
|
+
}
|
|
3806
|
+
const idOf = (tab) => String(typeof tab === 'string' ? tab : (tab && (tab.id ?? tab.widgetId)) ?? '');
|
|
3807
|
+
return widgets.map((widget) => {
|
|
3808
|
+
if (!widget || widget.type !== 'tabs' || !Array.isArray(widget.content?.tabs)) {
|
|
3809
|
+
return widget
|
|
3810
|
+
}
|
|
3811
|
+
const tabs = ids
|
|
3812
|
+
.map((id) => widget.content.tabs.find((tab) => idOf(tab) === id))
|
|
3813
|
+
.filter(Boolean);
|
|
3814
|
+
return tabs.length > 0 ? { ...widget, content: { ...widget.content, tabs } } : widget
|
|
3815
|
+
})
|
|
3816
|
+
},
|
|
3817
|
+
|
|
3722
3818
|
/**
|
|
3723
3819
|
* The tag after an admin-only entry in the board look ("beheerder",
|
|
3724
3820
|
* DqZaakMeer), or null for any other entry or look. It is drawn by
|