@conduction/nextcloud-vue 2.76.0 → 2.78.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/CnAiCompanion/CnAiCompanion.vue2.js +23 -0
- package/dist/esm/components/CnAiCompanion/CnAiCompanion.vue2.js.map +1 -1
- package/dist/esm/components/CnAiCompanion/CnAiCompanion.vue3.js.map +1 -1
- package/dist/esm/components/CnAppNav/CnAppNav.vue2.js +18 -3
- package/dist/esm/components/CnAppNav/CnAppNav.vue2.js.map +1 -1
- package/dist/esm/components/CnAppNav/CnAppNav.vue3.js +49 -3
- package/dist/esm/components/CnAppNav/CnAppNav.vue3.js.map +1 -1
- package/dist/esm/components/CnBoardView/CnBoardView.vue2.js +2 -1
- package/dist/esm/components/CnBoardView/CnBoardView.vue2.js.map +1 -1
- package/dist/esm/components/CnBoardView/CnBoardView.vue3.js.map +1 -1
- package/dist/esm/components/CnCellRenderer/CnCellRenderer.vue2.js +79 -1
- package/dist/esm/components/CnCellRenderer/CnCellRenderer.vue2.js.map +1 -1
- package/dist/esm/components/CnCellRenderer/CnCellRenderer.vue3.js +229 -203
- package/dist/esm/components/CnCellRenderer/CnCellRenderer.vue3.js.map +1 -1
- package/dist/esm/components/CnCellRenderer/CnGroupNameCell.vue.js +9 -0
- package/dist/esm/components/CnCellRenderer/CnGroupNameCell.vue.js.map +1 -0
- package/dist/esm/components/CnCellRenderer/CnGroupNameCell.vue2.js +50 -0
- package/dist/esm/components/CnCellRenderer/CnGroupNameCell.vue2.js.map +1 -0
- package/dist/esm/components/CnCellRenderer/CnGroupNameCell.vue3.js +13 -0
- package/dist/esm/components/CnCellRenderer/CnGroupNameCell.vue3.js.map +1 -0
- package/dist/esm/components/CnChartWidget/CnChartWidget.vue2.js +37 -0
- package/dist/esm/components/CnChartWidget/CnChartWidget.vue2.js.map +1 -1
- package/dist/esm/components/CnChartWidget/CnChartWidget.vue3.js +2 -2
- package/dist/esm/components/CnChartWidget/CnChartWidget.vue3.js.map +1 -1
- package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue2.js +29 -4
- package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue2.js.map +1 -1
- package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue3.js.map +1 -1
- package/dist/esm/components/CnDataTable/CnDataTable.vue2.js +48 -6
- package/dist/esm/components/CnDataTable/CnDataTable.vue2.js.map +1 -1
- package/dist/esm/components/CnDataTable/CnDataTable.vue3.js +90 -51
- package/dist/esm/components/CnDataTable/CnDataTable.vue3.js.map +1 -1
- package/dist/esm/components/CnDateRangePicker/CnDateRangePicker.vue.js +1 -1
- package/dist/esm/components/CnDateRangePicker/CnDateRangePicker.vue2.js +45 -2
- package/dist/esm/components/CnDateRangePicker/CnDateRangePicker.vue2.js.map +1 -1
- package/dist/esm/components/CnDateRangePicker/CnDateRangePicker.vue3.js.map +1 -1
- package/dist/esm/components/CnDetailPage/CnDetailPage.vue2.js +16 -28
- package/dist/esm/components/CnDetailPage/CnDetailPage.vue2.js.map +1 -1
- package/dist/esm/components/CnDetailPage/CnDetailPage.vue3.js +12 -24
- package/dist/esm/components/CnDetailPage/CnDetailPage.vue3.js.map +1 -1
- package/dist/esm/components/CnFavouriteToggle/CnFavouriteToggle.vue2.js +7 -2
- package/dist/esm/components/CnFavouriteToggle/CnFavouriteToggle.vue2.js.map +1 -1
- package/dist/esm/components/CnFavouriteToggle/CnFavouriteToggle.vue3.js.map +1 -1
- package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue2.js +114 -1
- package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue2.js.map +1 -1
- package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue3.js +115 -62
- package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue3.js.map +1 -1
- package/dist/esm/components/CnFollowToggle/CnFollowToggle.vue2.js +89 -7
- package/dist/esm/components/CnFollowToggle/CnFollowToggle.vue2.js.map +1 -1
- package/dist/esm/components/CnFollowToggle/CnFollowToggle.vue3.js +62 -30
- package/dist/esm/components/CnFollowToggle/CnFollowToggle.vue3.js.map +1 -1
- package/dist/esm/components/CnFormDialog/CnFormDialog.vue2.js +7 -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/CnFormPage/CnFormPage.vue2.js +4 -1
- package/dist/esm/components/CnFormPage/CnFormPage.vue2.js.map +1 -1
- package/dist/esm/components/CnFormPage/CnFormPage.vue3.js.map +1 -1
- package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js +104 -13
- package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js.map +1 -1
- package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js +13 -9
- package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js.map +1 -1
- package/dist/esm/components/CnObjectDataWidget/CnObjectDataWidget.vue2.js +199 -7
- package/dist/esm/components/CnObjectDataWidget/CnObjectDataWidget.vue2.js.map +1 -1
- package/dist/esm/components/CnObjectDataWidget/CnObjectDataWidget.vue3.js +155 -119
- package/dist/esm/components/CnObjectDataWidget/CnObjectDataWidget.vue3.js.map +1 -1
- package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue2.js +6 -0
- package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue2.js.map +1 -1
- package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue3.js +4 -1
- package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue3.js.map +1 -1
- package/dist/esm/components/CnStatWidget/CnStatWidget.vue2.js +36 -0
- package/dist/esm/components/CnStatWidget/CnStatWidget.vue2.js.map +1 -1
- package/dist/esm/components/CnStatWidget/CnStatWidget.vue3.js +35 -23
- package/dist/esm/components/CnStatWidget/CnStatWidget.vue3.js.map +1 -1
- package/dist/esm/components/CnStatusBadge/CnStatusBadge.vue2.js +6 -2
- package/dist/esm/components/CnStatusBadge/CnStatusBadge.vue2.js.map +1 -1
- package/dist/esm/components/CnStatusBadge/CnStatusBadge.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/useFormDraft.js +11 -1
- package/dist/esm/composables/useFormDraft.js.map +1 -1
- package/dist/esm/composables/useListView.js +4 -0
- package/dist/esm/composables/useListView.js.map +1 -1
- package/dist/esm/composables/useObjectPresence.js +15 -4
- package/dist/esm/composables/useObjectPresence.js.map +1 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/l10n/en.json.js +32 -1
- package/dist/esm/l10n/en.json.js.map +1 -1
- package/dist/esm/l10n/nl.json.js +32 -1
- package/dist/esm/l10n/nl.json.js.map +1 -1
- package/dist/esm/nextcloud-vue.css +500 -75
- package/dist/esm/store/plugins/interactions.js +20 -10
- package/dist/esm/store/plugins/interactions.js.map +1 -1
- package/dist/esm/store/useObjectStore.js +17 -0
- package/dist/esm/store/useObjectStore.js.map +1 -1
- package/dist/esm/utils/badgeVariants.js +32 -0
- package/dist/esm/utils/badgeVariants.js.map +1 -0
- package/dist/esm/utils/builtInFormatters.js +15 -7
- package/dist/esm/utils/builtInFormatters.js.map +1 -1
- package/dist/esm/utils/groupAutocomplete.js +63 -1
- package/dist/esm/utils/groupAutocomplete.js.map +1 -1
- package/dist/esm/utils/lensAvailability.js +90 -0
- package/dist/esm/utils/lensAvailability.js.map +1 -0
- package/dist/esm/utils/personalLenses.js +13 -6
- package/dist/esm/utils/personalLenses.js.map +1 -1
- package/dist/esm/utils/recordInteractions.js +31 -13
- package/dist/esm/utils/recordInteractions.js.map +1 -1
- package/dist/esm/utils/resolveFilterTokens.js +46 -3
- package/dist/esm/utils/resolveFilterTokens.js.map +1 -1
- package/dist/esm/utils/schema.js +1 -1
- package/dist/esm/utils/schema.js.map +1 -1
- package/dist/esm/utils/sentinelTokens.js +4 -4
- package/dist/esm/utils/sentinelTokens.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/esm/utils/widgetVisibility.js +46 -1
- package/dist/esm/utils/widgetVisibility.js.map +1 -1
- package/dist/nextcloud-vue.cjs.js +4389 -2890
- package/dist/nextcloud-vue.cjs.js.map +2 -2
- package/dist/nextcloud-vue.css +500 -75
- package/l10n/en.json +32 -1
- package/l10n/nl.json +32 -1
- package/package.json +1 -1
- package/src/components/CnAiCompanion/CnAiCompanion.vue +23 -0
- package/src/components/CnAppNav/CnAppNav.vue +44 -5
- package/src/components/CnBoardView/CnBoardView.vue +2 -1
- package/src/components/CnCellRenderer/CnCellRenderer.md +1 -0
- package/src/components/CnCellRenderer/CnCellRenderer.vue +106 -9
- package/src/components/CnCellRenderer/CnGroupNameCell.vue +61 -0
- package/src/components/CnChartWidget/CnChartWidget.vue +39 -2
- package/src/components/CnDashboardPage/CnDashboardPage.vue +29 -4
- package/src/components/CnDataTable/CnDataTable.md +9 -0
- package/src/components/CnDataTable/CnDataTable.vue +87 -22
- package/src/components/CnDateRangePicker/CnDateRangePicker.vue +44 -1
- package/src/components/CnDetailPage/CnDetailPage.vue +10 -27
- package/src/components/CnFavouriteToggle/CnFavouriteToggle.vue +7 -2
- package/src/components/CnFilesBrowser/CnFilesBrowser.vue +204 -5
- package/src/components/CnFollowToggle/CnFollowToggle.vue +118 -13
- package/src/components/CnFormDialog/CnFormDialog.vue +7 -1
- package/src/components/CnFormPage/CnFormPage.vue +4 -1
- package/src/components/CnIndexPage/CnIndexPage.md +36 -0
- package/src/components/CnIndexPage/CnIndexPage.vue +112 -19
- package/src/components/CnObjectDataWidget/CnObjectDataWidget.vue +226 -2
- package/src/components/CnObjectSidebar/CnFilesTab.vue +9 -0
- package/src/components/CnStatWidget/CnStatWidget.vue +52 -2
- package/src/components/CnStatusBadge/CnStatusBadge.vue +6 -2
- package/src/components/CnWidgetObjectTable/CnWidgetObjectTable.vue +13 -0
- package/src/composables/__tests__/useObjectPresence.spec.js +24 -0
- package/src/composables/useFormDraft.js +11 -1
- package/src/composables/useListView.js +4 -0
- package/src/composables/useObjectPresence.js +15 -4
- package/src/css/badge.css +31 -0
- package/src/css/kpi-card.css +51 -0
- package/src/css/look-board-detail.css +40 -2
- package/src/css/look-board-index.css +36 -0
- package/src/css/look-board.css +8 -0
- package/src/css/table.css +82 -17
- package/src/index.js +2 -1
- package/src/schemas/app-manifest-v2.schema.json +15 -11
- package/src/store/plugins/interactions.js +20 -10
- package/src/store/useObjectStore.js +17 -0
- package/src/utils/badgeVariants.js +29 -0
- package/src/utils/builtInFormatters.js +15 -7
- package/src/utils/groupAutocomplete.js +75 -0
- package/src/utils/index.js +1 -1
- package/src/utils/lensAvailability.js +86 -0
- package/src/utils/personalLenses.js +13 -6
- package/src/utils/recordInteractions.js +31 -13
- package/src/utils/resolveFilterTokens.js +45 -2
- package/src/utils/schema.js +1 -1
- package/src/utils/sentinelTokens.js +4 -4
- package/src/utils/validateManifestV2.compiled.js +2 -2
- package/src/utils/widgetVisibility.js +45 -0
|
@@ -2,12 +2,14 @@ import axios__default from '@nextcloud/axios';
|
|
|
2
2
|
import { translate, translatePlural } from '@nextcloud/l10n';
|
|
3
3
|
import { generateUrl } from '@nextcloud/router';
|
|
4
4
|
import { NcLoadingIcon, NcCheckboxRadioSwitch } from '@nextcloud/vue';
|
|
5
|
-
import
|
|
5
|
+
import ChevronDown from 'vue-material-design-icons/ChevronDown.vue';
|
|
6
|
+
import ChevronUp from 'vue-material-design-icons/ChevronUp.vue';
|
|
6
7
|
import FilterOutline from 'vue-material-design-icons/FilterOutline.vue';
|
|
7
8
|
import __sfc_main$1 from './CnColumnFilterPopover.vue.js';
|
|
8
9
|
import { useClickDragGuard } from '../../composables/useClickDragGuard.js';
|
|
9
10
|
import { normalizeLook } from '../../composables/useLook.js';
|
|
10
11
|
import { columnFilterDef, columnFilterState, isColumnFilterActive, columnFilterParams, clearedColumnFilterParams, isColumnSortable } from '../../utils/columnFilters.js';
|
|
12
|
+
import { lensUnavailableText, readLensReports } from '../../utils/lensAvailability.js';
|
|
11
13
|
import { resolveHref, openRowTarget, followLinkClick } from '../../utils/linkNavigation.js';
|
|
12
14
|
import { nextSortState } from '../../utils/multiColumnSort.js';
|
|
13
15
|
import { preventMiddleClickAutoscroll, isRowMiddleClick, isNewTabHandled, markNewTabHandled, isNewTabClick } from '../../utils/rowAuxClick.js';
|
|
@@ -112,7 +114,8 @@ var script = {
|
|
|
112
114
|
CnIcon: __sfc_main$2,
|
|
113
115
|
CnLockIndicator: __sfc_main$3,
|
|
114
116
|
CnUnreadMarker: __sfc_main$4,
|
|
115
|
-
|
|
117
|
+
ChevronDown,
|
|
118
|
+
ChevronUp,
|
|
116
119
|
FilterOutline,
|
|
117
120
|
},
|
|
118
121
|
|
|
@@ -293,6 +296,20 @@ var script = {
|
|
|
293
296
|
default: () => translate('nextcloud-vue', 'No items found'),
|
|
294
297
|
},
|
|
295
298
|
|
|
299
|
+
/**
|
|
300
|
+
* App wording for an unavailable personal lens in self-fetch mode,
|
|
301
|
+
* keyed `<lens>.<reason>` (`recent.audit-trail-disabled`) or
|
|
302
|
+
* `<reason>`. Without it the library's object-neutral text is shown
|
|
303
|
+
* when the response reports `@self.lenses.<lens>.available: false`.
|
|
304
|
+
*
|
|
305
|
+
* @type {{[key: string]: string}|null}
|
|
306
|
+
* @spec openspec/changes/lens-says-why-it-is-empty/specs/personal-lens-availability/spec.md#requirement-an-unavailable-lens-explains-its-empty-page
|
|
307
|
+
*/
|
|
308
|
+
lensReasonTexts: {
|
|
309
|
+
type: Object,
|
|
310
|
+
default: null,
|
|
311
|
+
},
|
|
312
|
+
|
|
296
313
|
/** Function returning CSS class(es) for a row: (row) => string|object */
|
|
297
314
|
rowClass: {
|
|
298
315
|
type: Function,
|
|
@@ -569,6 +586,8 @@ var script = {
|
|
|
569
586
|
aggregateRequestId: 0,
|
|
570
587
|
/** Rows fetched in self-fetch mode (register + schemaId). */
|
|
571
588
|
fetchedRows: [],
|
|
589
|
+
/** Personal-lens reports (`@self.lenses`) of the latest self-fetch response. */
|
|
590
|
+
fetchedLenses: {},
|
|
572
591
|
/** True while a self-fetch request is in flight. */
|
|
573
592
|
selfFetchLoading: false,
|
|
574
593
|
}
|
|
@@ -593,6 +612,22 @@ var script = {
|
|
|
593
612
|
return translate('nextcloud-vue', 'Actions')
|
|
594
613
|
},
|
|
595
614
|
|
|
615
|
+
/**
|
|
616
|
+
* Why the self-fetched list is empty when a personal lens could not
|
|
617
|
+
* answer (openregister#4514), or `''` to keep `emptyText`. Only the
|
|
618
|
+
* table's own fetch reports: external `rows` carry no report.
|
|
619
|
+
*
|
|
620
|
+
* @return {string}
|
|
621
|
+
* @spec openspec/changes/lens-says-why-it-is-empty/specs/personal-lens-availability/spec.md#requirement-an-unavailable-lens-explains-its-empty-page
|
|
622
|
+
*/
|
|
623
|
+
lensReasonText() {
|
|
624
|
+
if (this.rows && this.rows.length > 0) {
|
|
625
|
+
return ''
|
|
626
|
+
}
|
|
627
|
+
const text = lensUnavailableText(this.fetchedLenses, this.lensReasonTexts);
|
|
628
|
+
return text ? this.translateLabel(text) : ''
|
|
629
|
+
},
|
|
630
|
+
|
|
596
631
|
/** @return {number} Leading cells before the data columns (selection, icon). */
|
|
597
632
|
leadingCount() {
|
|
598
633
|
return (this.selectable ? 1 : 0) + (this.rowIcon ? 1 : 0)
|
|
@@ -1122,8 +1157,10 @@ var script = {
|
|
|
1122
1157
|
...(this.fetchParams ? { params: this.fetchParams } : {}),
|
|
1123
1158
|
});
|
|
1124
1159
|
this.fetchedRows = (data && data.results) || (Array.isArray(data) ? data : []);
|
|
1160
|
+
this.fetchedLenses = readLensReports(data);
|
|
1125
1161
|
} catch {
|
|
1126
1162
|
this.fetchedRows = [];
|
|
1163
|
+
this.fetchedLenses = {};
|
|
1127
1164
|
} finally {
|
|
1128
1165
|
this.selfFetchLoading = false;
|
|
1129
1166
|
}
|
|
@@ -1213,19 +1250,24 @@ var script = {
|
|
|
1213
1250
|
* handed a `:schema` for at all) still get type-aware rendering.
|
|
1214
1251
|
* `enumLabels` rides with `enum` rather than getting its own `if`
|
|
1215
1252
|
* branch: a column can't usefully declare labels without also
|
|
1216
|
-
* declaring the codes they label.
|
|
1253
|
+
* declaring the codes they label. A column `colorMap` (raw value to
|
|
1254
|
+
* badge variant) colours the enum pill from the manifest and wins over
|
|
1255
|
+
* the schema property's own `colorMap` / `x-color-map`.
|
|
1217
1256
|
*
|
|
1218
1257
|
* @param {object} col Column definition.
|
|
1219
1258
|
* @return {object} Property definition for CnCellRenderer.
|
|
1259
|
+
* @spec openspec/changes/screens-cell-pill-parity/specs/cell-pill-tones/spec.md#requirement-a-manifest-column-colours-its-enum-pills
|
|
1220
1260
|
*/
|
|
1221
1261
|
columnProperty(col) {
|
|
1222
1262
|
const base = this.getSchemaProperty(col.key);
|
|
1223
|
-
|
|
1263
|
+
const colorMap = col && col.colorMap && typeof col.colorMap === 'object' && !Array.isArray(col.colorMap) ? col.colorMap : null;
|
|
1264
|
+
if (col && (col.format || col.type || col.enum || colorMap)) {
|
|
1224
1265
|
return {
|
|
1225
1266
|
...base,
|
|
1226
1267
|
...(col.type ? { type: col.type } : {}),
|
|
1227
1268
|
...(col.format ? { format: col.format } : {}),
|
|
1228
1269
|
...(col.enum ? { enum: col.enum, enumLabels: col.enumLabels || base.enumLabels } : {}),
|
|
1270
|
+
...(colorMap ? { colorMap } : {}),
|
|
1229
1271
|
}
|
|
1230
1272
|
}
|
|
1231
1273
|
return base
|
|
@@ -1602,8 +1644,8 @@ var script = {
|
|
|
1602
1644
|
filterButtonLabel(col) {
|
|
1603
1645
|
const column = this.translateLabel(col.label);
|
|
1604
1646
|
return this.isColumnFiltered(col)
|
|
1605
|
-
? translate('nextcloud-vue', 'Filter {column}, active', { column })
|
|
1606
|
-
: translate('nextcloud-vue', 'Filter {column}', { column })
|
|
1647
|
+
? translate('nextcloud-vue', 'Filter by {column}, active', { column })
|
|
1648
|
+
: translate('nextcloud-vue', 'Filter by {column}', { column })
|
|
1607
1649
|
},
|
|
1608
1650
|
|
|
1609
1651
|
/**
|