@conduction/nextcloud-vue 2.78.0 → 2.79.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/bundled-packages.json +0 -2
- package/dist/esm/bundled-packages.json +0 -2
- package/dist/esm/components/CnActionsBar/CnActionsBar.vue2.js.map +1 -1
- package/dist/esm/components/CnActionsBar/CnActionsBar.vue3.js +113 -104
- package/dist/esm/components/CnActionsBar/CnActionsBar.vue3.js.map +1 -1
- package/dist/esm/components/CnAppRoot/CnAppRoot.vue2.js +12 -2
- package/dist/esm/components/CnAppRoot/CnAppRoot.vue2.js.map +1 -1
- package/dist/esm/components/CnAppRoot/CnAppRoot.vue3.js.map +1 -1
- package/dist/esm/components/CnCellRenderer/CnCellRenderer.vue2.js +80 -0
- package/dist/esm/components/CnCellRenderer/CnCellRenderer.vue2.js.map +1 -1
- package/dist/esm/components/CnCellRenderer/CnCellRenderer.vue3.js +115 -91
- package/dist/esm/components/CnCellRenderer/CnCellRenderer.vue3.js.map +1 -1
- package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue2.js +139 -1
- package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue2.js.map +1 -1
- package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue3.js +140 -92
- package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue3.js.map +1 -1
- package/dist/esm/components/CnDataTable/CnDataTable.vue2.js +77 -0
- package/dist/esm/components/CnDataTable/CnDataTable.vue2.js.map +1 -1
- package/dist/esm/components/CnDataTable/CnDataTable.vue3.js +4 -2
- package/dist/esm/components/CnDataTable/CnDataTable.vue3.js.map +1 -1
- package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHost.vue2.js +61 -1
- package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHost.vue2.js.map +1 -1
- package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHost.vue3.js.map +1 -1
- package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue2.js +173 -5
- package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue2.js.map +1 -1
- package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue3.js +181 -99
- package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue3.js.map +1 -1
- package/dist/esm/components/CnFilesBrowser/filesBrowser.js +29 -11
- package/dist/esm/components/CnFilesBrowser/filesBrowser.js.map +1 -1
- package/dist/esm/components/CnFilesBrowser/openRegisterSource.js +252 -0
- package/dist/esm/components/CnFilesBrowser/openRegisterSource.js.map +1 -0
- package/dist/esm/components/CnFormDialog/CnFormDialog.vue2.js +1 -1
- package/dist/esm/components/CnFormDialog/CnFormDialog.vue2.js.map +1 -1
- package/dist/esm/components/CnFormDialog/CnFormDialog.vue3.js.map +1 -1
- package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js +25 -2
- package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js.map +1 -1
- package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js +3 -2
- package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js.map +1 -1
- package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue2.js +100 -3
- package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue2.js.map +1 -1
- package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue3.js +4 -2
- package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue3.js.map +1 -1
- package/dist/esm/components/CnQuickFilterBar/CnQuickFilterBar.vue2.js +3 -2
- package/dist/esm/components/CnQuickFilterBar/CnQuickFilterBar.vue2.js.map +1 -1
- package/dist/esm/components/CnQuickFilterBar/CnQuickFilterBar.vue3.js.map +1 -1
- package/dist/esm/components/CnSavedViewsControl/CnSavedViewsControl.vue2.js.map +1 -1
- package/dist/esm/components/CnSavedViewsControl/CnSavedViewsControl.vue3.js +1 -1
- package/dist/esm/components/CnSavedViewsControl/CnSavedViewsControl.vue3.js.map +1 -1
- package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue2.js +30 -1
- package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue2.js.map +1 -1
- package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue3.js.map +1 -1
- package/dist/esm/components/CnWidgetObjectTable/CnWidgetObjectTable.vue2.js +13 -0
- 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/useAppManifest.js +8 -3
- package/dist/esm/composables/useAppManifest.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 +61 -1
- package/dist/esm/l10n/en.json.js.map +1 -1
- package/dist/esm/l10n/nl.json.js +106 -2
- package/dist/esm/l10n/nl.json.js.map +1 -1
- package/dist/esm/nextcloud-vue.css +314 -15
- package/dist/esm/utils/boardDate.js +193 -0
- package/dist/esm/utils/boardDate.js.map +1 -0
- package/dist/esm/utils/dynamicProperties.js +5 -1
- package/dist/esm/utils/dynamicProperties.js.map +1 -1
- package/dist/esm/utils/validateManifestV2.compiled.js +57 -6
- package/dist/esm/utils/validateManifestV2.compiled.js.map +1 -1
- package/dist/nextcloud-vue.cjs.js +2039 -581
- package/dist/nextcloud-vue.cjs.js.map +2 -2
- package/dist/nextcloud-vue.css +314 -15
- package/l10n/en.json +61 -1
- package/l10n/nl.json +106 -2
- package/package.json +1 -1
- package/scripts/build-validators.js +26 -0
- package/src/components/CnActionsBar/CnActionsBar.vue +48 -39
- package/src/components/CnAppRoot/CnAppRoot.vue +12 -2
- package/src/components/CnCellRenderer/CnCellRenderer.vue +119 -2
- package/src/components/CnDashboardPage/CnDashboardPage.vue +219 -4
- package/src/components/CnDataTable/CnDataTable.md +2 -0
- package/src/components/CnDataTable/CnDataTable.vue +81 -2
- package/src/components/CnDetailWidgetHost/CnDetailWidgetHost.vue +61 -1
- package/src/components/CnFilesBrowser/CnFilesBrowser.vue +232 -11
- package/src/components/CnFilesBrowser/filesBrowser.js +43 -2
- package/src/components/CnFilesBrowser/index.js +1 -0
- package/src/components/CnFilesBrowser/openRegisterSource.js +248 -0
- package/src/components/CnFormDialog/CnFormDialog.vue +1 -1
- package/src/components/CnIndexPage/CnIndexPage.vue +27 -3
- package/src/components/CnObjectSidebar/CnFilesTab.vue +103 -4
- package/src/components/CnQuickFilterBar/CnQuickFilterBar.vue +3 -2
- package/src/components/CnSavedViewsControl/CnSavedViewsControl.vue +1 -1
- package/src/components/CnTabsWidget/CnTabsWidget.vue +30 -1
- package/src/components/CnWidgetObjectTable/CnWidgetObjectTable.vue +13 -0
- package/src/components/index.js +1 -1
- package/src/composables/useAppManifest.js +8 -3
- package/src/css/look-board-detail.css +10 -0
- package/src/css/look-board-index.css +92 -14
- package/src/css/look-board.css +77 -0
- package/src/css/table.css +37 -0
- package/src/index.js +4 -0
- package/src/schemas/app-manifest-v2.schema.json +46 -1
- package/src/utils/boardDate.js +189 -0
- package/src/utils/dynamicProperties.js +5 -1
- package/src/utils/validateManifestV2.compiled.js +57 -2
- package/dist/esm/_virtual/equal.js +0 -4
- package/dist/esm/_virtual/equal.js.map +0 -1
- package/dist/esm/_virtual/ucs2length.js +0 -4
- package/dist/esm/_virtual/ucs2length.js.map +0 -1
- package/dist/esm/node_modules/ajv/dist/runtime/equal.js +0 -9
- package/dist/esm/node_modules/ajv/dist/runtime/equal.js.map +0 -1
- package/dist/esm/node_modules/ajv/dist/runtime/ucs2length.js +0 -25
- package/dist/esm/node_modules/ajv/dist/runtime/ucs2length.js.map +0 -1
- package/dist/esm/node_modules/fast-deep-equal/index.js +0 -47
- package/dist/esm/node_modules/fast-deep-equal/index.js.map +0 -1
|
@@ -103,6 +103,16 @@ function fillSecondaryTemplate(template, valueOf) {
|
|
|
103
103
|
* </CnDataTable>
|
|
104
104
|
* ```
|
|
105
105
|
*/
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Column keys that name an object's system dates in OpenRegister's `@self`
|
|
109
|
+
* block. A column may declare one as its key (`@self.created`); it renders as
|
|
110
|
+
* a date-time although the schema has no property behind it.
|
|
111
|
+
*
|
|
112
|
+
* @type {string[]}
|
|
113
|
+
*/
|
|
114
|
+
const SYSTEM_DATE_KEYS = ['@self.created', '@self.updated', '@self.published', '@self.depublished'];
|
|
115
|
+
|
|
106
116
|
var script = {
|
|
107
117
|
name: 'CnDataTable',
|
|
108
118
|
|
|
@@ -365,6 +375,21 @@ var script = {
|
|
|
365
375
|
default: '',
|
|
366
376
|
},
|
|
367
377
|
|
|
378
|
+
/**
|
|
379
|
+
* How the board look draws the title column: `link` (the default) is
|
|
380
|
+
* the 15px weight 600 underlined title of the DqZaken board; `plain` is
|
|
381
|
+
* the 15px bold title without an underline and a 13px muted secondary
|
|
382
|
+
* line, as the PqTickets and OcPublicaties boards draw it. The row stays
|
|
383
|
+
* clickable either way. The Nextcloud look ignores it.
|
|
384
|
+
*
|
|
385
|
+
* @spec openspec/changes/screens-table-rows-parity/specs/index-list-board-look/spec.md#requirement-a-row-title-can-be-plain-text
|
|
386
|
+
*/
|
|
387
|
+
rowTitle: {
|
|
388
|
+
type: String,
|
|
389
|
+
default: 'link',
|
|
390
|
+
validator: (value) => ['link', 'plain'].includes(value),
|
|
391
|
+
},
|
|
392
|
+
|
|
368
393
|
/**
|
|
369
394
|
* Drop the container's card chrome (border, radius, shadow) so the table
|
|
370
395
|
* sits flush inside a parent that already provides a card (e.g. a
|
|
@@ -424,6 +449,23 @@ var script = {
|
|
|
424
449
|
default: false,
|
|
425
450
|
},
|
|
426
451
|
|
|
452
|
+
/**
|
|
453
|
+
* Fit the table to its container instead of letting it grow past it.
|
|
454
|
+
* One column takes the room that is left and cuts its text with an
|
|
455
|
+
* ellipsis (the full value stays in the tooltip); every other column
|
|
456
|
+
* keeps its content on one line at its own width, so trailing columns
|
|
457
|
+
* such as a date stay visible in a narrow tile. The column that grows
|
|
458
|
+
* is the first with `grow: true`, else the one keyed `title` or `name`,
|
|
459
|
+
* else the first column. CnWidgetObjectTable turns this on.
|
|
460
|
+
*
|
|
461
|
+
* @type {boolean}
|
|
462
|
+
* @spec openspec/changes/narrow-object-table-widgets/specs/narrow-object-table-widgets/spec.md#requirement-a-narrow-object-table-keeps-its-trailing-columns-in-view
|
|
463
|
+
*/
|
|
464
|
+
fitWidth: {
|
|
465
|
+
type: Boolean,
|
|
466
|
+
default: false,
|
|
467
|
+
},
|
|
468
|
+
|
|
427
469
|
/**
|
|
428
470
|
* Max number of rows to display. When the total exceeds it, only the first
|
|
429
471
|
* `limit` render and the "View all" footer appears (with `viewAllRoute`).
|
|
@@ -629,6 +671,25 @@ var script = {
|
|
|
629
671
|
},
|
|
630
672
|
|
|
631
673
|
/** @return {number} Leading cells before the data columns (selection, icon). */
|
|
674
|
+
/**
|
|
675
|
+
* The key of the column that takes the spare width under `fitWidth`:
|
|
676
|
+
* the first with `grow: true`, else `title` or `name`, else the first.
|
|
677
|
+
*
|
|
678
|
+
* @return {string|null} The column key, or null when not fitting.
|
|
679
|
+
* @spec openspec/changes/narrow-object-table-widgets/specs/narrow-object-table-widgets/spec.md#requirement-a-narrow-object-table-keeps-its-trailing-columns-in-view
|
|
680
|
+
*/
|
|
681
|
+
growColumnKey() {
|
|
682
|
+
if (!this.fitWidth || this.effectiveColumns.length === 0) {
|
|
683
|
+
return null
|
|
684
|
+
}
|
|
685
|
+
const cols = this.effectiveColumns;
|
|
686
|
+
const chosen = cols.find((c) => c && c.grow === true)
|
|
687
|
+
|| cols.find((c) => c && c.key === 'title')
|
|
688
|
+
|| cols.find((c) => c && c.key === 'name')
|
|
689
|
+
|| cols[0];
|
|
690
|
+
return chosen ? chosen.key : null
|
|
691
|
+
},
|
|
692
|
+
|
|
632
693
|
leadingCount() {
|
|
633
694
|
return (this.selectable ? 1 : 0) + (this.rowIcon ? 1 : 0)
|
|
634
695
|
},
|
|
@@ -925,6 +986,16 @@ var script = {
|
|
|
925
986
|
},
|
|
926
987
|
|
|
927
988
|
methods: {
|
|
989
|
+
/**
|
|
990
|
+
* Whether a column is the one that takes the spare width (`fitWidth`).
|
|
991
|
+
*
|
|
992
|
+
* @param {object} col The column.
|
|
993
|
+
* @return {boolean}
|
|
994
|
+
*/
|
|
995
|
+
isGrowColumn(col) {
|
|
996
|
+
return this.growColumnKey !== null && !!col && col.key === this.growColumnKey
|
|
997
|
+
},
|
|
998
|
+
|
|
928
999
|
/**
|
|
929
1000
|
* Whether a row's record changed since the user last looked
|
|
930
1001
|
* (`@self.unread`). A row without the marker renders as it always did.
|
|
@@ -1255,11 +1326,17 @@ var script = {
|
|
|
1255
1326
|
* the schema property's own `colorMap` / `x-color-map`.
|
|
1256
1327
|
*
|
|
1257
1328
|
* @param {object} col Column definition.
|
|
1329
|
+
* @spec openspec/changes/screens-table-footer-and-system-dates-parity/specs/index-list-board-look/spec.md#requirement-a-system-date-can-be-a-column
|
|
1258
1330
|
* @return {object} Property definition for CnCellRenderer.
|
|
1259
1331
|
* @spec openspec/changes/screens-cell-pill-parity/specs/cell-pill-tones/spec.md#requirement-a-manifest-column-colours-its-enum-pills
|
|
1260
1332
|
*/
|
|
1261
1333
|
columnProperty(col) {
|
|
1262
1334
|
const base = this.getSchemaProperty(col.key);
|
|
1335
|
+
// A system date (`@self.created`, `@self.updated`, ...) has no
|
|
1336
|
+
// schema property behind it; it renders as a date-time.
|
|
1337
|
+
if (Object.keys(base).length === 0 && SYSTEM_DATE_KEYS.includes(col.key) && !col.type && !col.format) {
|
|
1338
|
+
return { type: 'string', format: 'date-time' }
|
|
1339
|
+
}
|
|
1263
1340
|
const colorMap = col && col.colorMap && typeof col.colorMap === 'object' && !Array.isArray(col.colorMap) ? col.colorMap : null;
|
|
1264
1341
|
if (col && (col.format || col.type || col.enum || colorMap)) {
|
|
1265
1342
|
return {
|