@conduction/nextcloud-vue 2.101.0 → 2.103.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 +22 -0
- package/dist/esm/components/CnActionsBar/CnActionsBar.vue2.js.map +1 -1
- package/dist/esm/components/CnActionsBar/CnActionsBar.vue3.js +8 -6
- package/dist/esm/components/CnActionsBar/CnActionsBar.vue3.js.map +1 -1
- package/dist/esm/components/CnChartWidget/CnChartWidget.vue.js +1 -1
- package/dist/esm/components/CnChartWidget/CnChartWidget.vue2.js +29 -4
- package/dist/esm/components/CnChartWidget/CnChartWidget.vue2.js.map +1 -1
- package/dist/esm/components/CnChartWidget/CnChartWidget.vue3.js +9 -1
- package/dist/esm/components/CnChartWidget/CnChartWidget.vue3.js.map +1 -1
- package/dist/esm/components/CnConversationThread/CnConversationThread.vue.js +1 -1
- package/dist/esm/components/CnConversationThread/CnConversationThread.vue2.js +73 -0
- package/dist/esm/components/CnConversationThread/CnConversationThread.vue2.js.map +1 -1
- package/dist/esm/components/CnConversationThread/CnConversationThread.vue3.js +99 -64
- package/dist/esm/components/CnConversationThread/CnConversationThread.vue3.js.map +1 -1
- package/dist/esm/components/CnConversationThread/CnConversationWidget.vue.js +1 -1
- package/dist/esm/components/CnConversationThread/CnConversationWidget.vue2.js +46 -0
- package/dist/esm/components/CnConversationThread/CnConversationWidget.vue2.js.map +1 -1
- package/dist/esm/components/CnConversationThread/CnConversationWidget.vue3.js +37 -2
- package/dist/esm/components/CnConversationThread/CnConversationWidget.vue3.js.map +1 -1
- package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue.js +1 -1
- package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue2.js +49 -6
- package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue2.js.map +1 -1
- package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue3.js +1 -1
- package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue3.js.map +1 -1
- package/dist/esm/components/CnFormDialog/CnFormDialog.vue.js +1 -1
- package/dist/esm/components/CnFormDialog/CnFormDialog.vue2.js +113 -20
- package/dist/esm/components/CnFormDialog/CnFormDialog.vue2.js.map +1 -1
- package/dist/esm/components/CnFormDialog/CnFormDialog.vue3.js +387 -359
- package/dist/esm/components/CnFormDialog/CnFormDialog.vue3.js.map +1 -1
- package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js +84 -4
- package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js.map +1 -1
- package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js +8 -6
- package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js.map +1 -1
- package/dist/esm/components/CnIndexPage/useNamedSource.js +26 -2
- package/dist/esm/components/CnIndexPage/useNamedSource.js.map +1 -1
- package/dist/esm/components/CnMenuWidget/CnMenuWidget.vue.js +1 -1
- package/dist/esm/components/CnMenuWidget/CnMenuWidget.vue2.js +25 -1
- package/dist/esm/components/CnMenuWidget/CnMenuWidget.vue2.js.map +1 -1
- package/dist/esm/components/CnMenuWidget/CnMenuWidget.vue3.js.map +1 -1
- package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue.js +1 -1
- package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue2.js +10 -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/CnQuickFilterBar/CnQuickFilterBar.vue.js +1 -1
- package/dist/esm/components/CnQuickFilterBar/CnQuickFilterBar.vue2.js +106 -4
- package/dist/esm/components/CnQuickFilterBar/CnQuickFilterBar.vue2.js.map +1 -1
- package/dist/esm/components/CnQuickFilterBar/CnQuickFilterBar.vue3.js +70 -25
- package/dist/esm/components/CnQuickFilterBar/CnQuickFilterBar.vue3.js.map +1 -1
- package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue.js +1 -1
- package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue2.js +97 -3
- package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue2.js.map +1 -1
- package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue3.js +46 -2
- package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue3.js.map +1 -1
- package/dist/esm/components/CnSearchSelect/CnSearchSelect.vue.js +9 -0
- package/dist/esm/components/CnSearchSelect/CnSearchSelect.vue.js.map +1 -0
- package/dist/esm/components/CnSearchSelect/CnSearchSelect.vue2.js +165 -0
- package/dist/esm/components/CnSearchSelect/CnSearchSelect.vue2.js.map +1 -0
- package/dist/esm/components/CnSearchSelect/CnSearchSelect.vue3.js +85 -0
- package/dist/esm/components/CnSearchSelect/CnSearchSelect.vue3.js.map +1 -0
- package/dist/esm/components/CnSetupWizard/CnSetupWizard.vue.js +1 -1
- package/dist/esm/components/CnSetupWizard/CnSetupWizard.vue2.js +54 -6
- package/dist/esm/components/CnSetupWizard/CnSetupWizard.vue2.js.map +1 -1
- package/dist/esm/components/CnSetupWizard/CnSetupWizard.vue3.js +3 -1
- package/dist/esm/components/CnSetupWizard/CnSetupWizard.vue3.js.map +1 -1
- package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue.js +1 -1
- package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue2.js +8 -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.vue.js +1 -1
- package/dist/esm/components/CnWidgetObjectTable/CnWidgetObjectTable.vue2.js +2 -23
- 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/components/CnWizardDialog/CnWizardDialog.vue.js +1 -1
- package/dist/esm/components/CnWizardDialog/CnWizardDialog.vue2.js +19 -0
- package/dist/esm/components/CnWizardDialog/CnWizardDialog.vue2.js.map +1 -1
- package/dist/esm/components/CnWizardDialog/CnWizardDialog.vue3.js +1 -1
- package/dist/esm/components/CnWizardDialog/CnWizardDialog.vue3.js.map +1 -1
- package/dist/esm/composables/indexSources.js +9 -0
- 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 +5 -1
- package/dist/esm/l10n/en.json.js.map +1 -1
- package/dist/esm/l10n/nl.json.js +5 -1
- package/dist/esm/l10n/nl.json.js.map +1 -1
- package/dist/esm/library-style.js +1 -1
- package/dist/esm/mixins/pageViews.js +8 -1
- package/dist/esm/mixins/pageViews.js.map +1 -1
- package/dist/esm/nextcloud-vue.css +593 -459
- package/dist/esm/utils/builtInFormatters.js +24 -4
- package/dist/esm/utils/builtInFormatters.js.map +1 -1
- package/dist/esm/utils/rowClassRules.js +43 -0
- package/dist/esm/utils/rowClassRules.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 +32 -4
- package/dist/esm/utils/visibleWhen.js.map +1 -1
- package/dist/nextcloud-vue.cjs.js +10093 -8858
- package/dist/nextcloud-vue.cjs.js.map +2 -2
- package/dist/nextcloud-vue.css +593 -459
- package/l10n/en.json +5 -1
- package/l10n/nl.json +5 -1
- package/package.json +1 -1
- package/src/components/CnActionsBar/CnActionsBar.md +1 -0
- package/src/components/CnActionsBar/CnActionsBar.vue +31 -4
- package/src/components/CnChartWidget/CnChartWidget.md +3 -2
- package/src/components/CnChartWidget/CnChartWidget.vue +42 -4
- package/src/components/CnConversationThread/CnConversationThread.md +17 -0
- package/src/components/CnConversationThread/CnConversationThread.vue +113 -8
- package/src/components/CnConversationThread/CnConversationWidget.vue +60 -1
- package/src/components/CnDashboardPage/CnDashboardPage.md +4 -1
- package/src/components/CnDashboardPage/CnDashboardPage.vue +50 -7
- package/src/components/CnDetailPage/CnDetailPage.md +1 -1
- package/src/components/CnFormDialog/CnFormDialog.md +1 -1
- package/src/components/CnFormDialog/CnFormDialog.vue +127 -0
- package/src/components/CnIndexPage/CnIndexPage.md +15 -1
- package/src/components/CnIndexPage/CnIndexPage.vue +92 -9
- package/src/components/CnIndexPage/useNamedSource.js +26 -2
- package/src/components/CnMenuWidget/CnMenuWidget.vue +25 -1
- package/src/components/CnObjectListWidget/CnObjectListWidget.vue +10 -1
- package/src/components/CnQuickFilterBar/CnQuickFilterBar.md +1 -0
- package/src/components/CnQuickFilterBar/CnQuickFilterBar.vue +159 -5
- package/src/components/CnRecordListWidget/CnRecordListWidget.vue +134 -2
- package/src/components/CnSearchSelect/CnSearchSelect.vue +283 -0
- package/src/components/CnSearchSelect/index.js +12 -0
- package/src/components/CnSetupWizard/CnSetupWizard.vue +56 -6
- package/src/components/CnTabsWidget/CnTabsWidget.vue +8 -1
- package/src/components/CnWidgetObjectTable/CnWidgetObjectTable.vue +2 -23
- package/src/components/CnWizardDialog/CnWizardDialog.vue +20 -1
- package/src/components/index.js +1 -0
- package/src/composables/indexSources.js +9 -0
- package/src/css/dialog.css +5 -3
- package/src/css/look-board-index.css +10 -0
- package/src/index.js +1 -0
- package/src/mixins/pageViews.js +8 -1
- package/src/schemas/app-manifest-v2.schema.json +107 -8
- package/src/utils/builtInFormatters.js +24 -4
- package/src/utils/rowClassRules.js +39 -0
- package/src/utils/validateManifestV2.compiled.js +3 -3
- package/src/utils/visibleWhen.js +32 -4
|
@@ -50,6 +50,7 @@ import { resolveFilterMap } from '../../utils/routeFilters.js';
|
|
|
50
50
|
import { DEFAULT_ROW_ACTION_FIELD, withoutViewWhenRowOpensDetail, availableRowActions, refusalReasonFor, undeclaredRowActions } from '../../utils/rowActionAvailability.js';
|
|
51
51
|
import { isRowActionVisible, rowActionPayload } from '../../utils/rowActionItem.js';
|
|
52
52
|
import { isNewTabClick, preventMiddleClickAutoscroll, isRowMiddleClick, isNewTabHandled, markNewTabHandled } from '../../utils/rowAuxClick.js';
|
|
53
|
+
import { compileRowClass } from '../../utils/rowClassRules.js';
|
|
53
54
|
import { DEFAULT_ROW_INDICATOR_CAP } from '../../utils/rowIndicators.js';
|
|
54
55
|
import { viewMatchesScope, extractViewState, buildRouteQueryFromViewState, extractViewStateFromRouteQuery, buildViewCreatePayload, savedViewScope, normalizeSharedWith } from '../../utils/savedViewHelpers.js';
|
|
55
56
|
import { fieldsFromSchema, columnsFromSchema } from '../../utils/schema.js';
|
|
@@ -700,6 +701,17 @@ var script = {
|
|
|
700
701
|
default: '',
|
|
701
702
|
},
|
|
702
703
|
|
|
704
|
+
/**
|
|
705
|
+
* Board look: draw the bulk band before anything is selected too, its
|
|
706
|
+
* buttons disabled until there is a selection (DqZaken, DqWerkbord).
|
|
707
|
+
* Manifest key `config.bulkBandAlways`. Only when the band has an
|
|
708
|
+
* action to offer.
|
|
709
|
+
*/
|
|
710
|
+
bulkBandAlways: {
|
|
711
|
+
type: Boolean,
|
|
712
|
+
default: false,
|
|
713
|
+
},
|
|
714
|
+
|
|
703
715
|
/**
|
|
704
716
|
* Board look: the 13px hint after the bulk band's buttons ("See what
|
|
705
717
|
* changes first, then run it"). Manifest key `config.bulkHint`.
|
|
@@ -881,6 +893,21 @@ var script = {
|
|
|
881
893
|
default: null,
|
|
882
894
|
},
|
|
883
895
|
|
|
896
|
+
/**
|
|
897
|
+
* Where the quick-filter chips sit (manifest `config.quickFilterPlacement`).
|
|
898
|
+
* `''` (the default) as before. `'toolbar'` keeps them on one row with
|
|
899
|
+
* the Filter button and the view switch, in whatever width that row has
|
|
900
|
+
* beside a side panel (DqTeamwachtrij): the chips take the room the
|
|
901
|
+
* buttons leave, and those that do not fit move into the overflow chip.
|
|
902
|
+
*
|
|
903
|
+
* @type {''|'toolbar'}
|
|
904
|
+
*/
|
|
905
|
+
quickFilterPlacement: {
|
|
906
|
+
type: String,
|
|
907
|
+
default: '',
|
|
908
|
+
validator: (v) => ['', 'toolbar'].includes(v),
|
|
909
|
+
},
|
|
910
|
+
|
|
884
911
|
/**
|
|
885
912
|
* How the quick filters render: `'chips'` (pill strip, default) or
|
|
886
913
|
* `'dropdown'` (a single `NcSelect`). Sourced from the manifest as
|
|
@@ -1457,9 +1484,18 @@ var script = {
|
|
|
1457
1484
|
default: 'Loading…',
|
|
1458
1485
|
},
|
|
1459
1486
|
|
|
1460
|
-
/**
|
|
1487
|
+
/**
|
|
1488
|
+
* CSS class(es) for a row: a function `(row) => string`, or (manifest
|
|
1489
|
+
* `config.rowClass`) rules `[{ when: { field, op?, value }, class }]`,
|
|
1490
|
+
* each adding its class to a row whose field compares to the value
|
|
1491
|
+
* (the `visibleWhen` operators, `@today` included). DqTaken marks an
|
|
1492
|
+
* overdue task: `{ when: { field: "dueAt", op: "lt", value: "@today" },
|
|
1493
|
+
* class: "cn-row--overdue" }`.
|
|
1494
|
+
*
|
|
1495
|
+
* @type {((row: object) => string)|Array<{when: {field: string, op?: string, value: unknown}, class: string}>|null}
|
|
1496
|
+
*/
|
|
1461
1497
|
rowClass: {
|
|
1462
|
-
type: Function,
|
|
1498
|
+
type: [Function, Array],
|
|
1463
1499
|
default: null,
|
|
1464
1500
|
},
|
|
1465
1501
|
|
|
@@ -1924,6 +1960,9 @@ var script = {
|
|
|
1924
1960
|
* defaults to `field`).
|
|
1925
1961
|
* - `folders` — explicit folder list for `source:'custom'`.
|
|
1926
1962
|
* - `allLabel` / `title` / `allowCreate` — passed to CnFolderSidebar.
|
|
1963
|
+
* - `pane` — `false` draws no pane: the scope still comes from the
|
|
1964
|
+
* deep-link filter (`?caseType=<id>`) and still applies its look, as
|
|
1965
|
+
* a list narrowed to one case type does without a folder column.
|
|
1927
1966
|
*
|
|
1928
1967
|
* A folder entry is also a SCOPE: it may carry `columns`, `defaultSort`
|
|
1929
1968
|
* and `searchFields`, and while it is selected the list is shown that
|
|
@@ -2541,6 +2580,10 @@ var script = {
|
|
|
2541
2580
|
//
|
|
2542
2581
|
// Seeded from the route query so a shared link lands filtered, the
|
|
2543
2582
|
// same way `_order` and a deep-link filter already do for self-fetch.
|
|
2583
|
+
// The page a paging named source shows: page 1 at the source config's
|
|
2584
|
+
// `limit` (20 by default), moved by the pager.
|
|
2585
|
+
const namedPageSize = Number(props.sourceConfig && props.sourceConfig.limit) > 0 ? Number(props.sourceConfig.limit) : 20;
|
|
2586
|
+
const namedPaging = ref({ page: 1, limit: namedPageSize });
|
|
2544
2587
|
const namedActiveFilters = ref(namedFiltersFromRoute(getCurrentInstance(), props));
|
|
2545
2588
|
|
|
2546
2589
|
const {
|
|
@@ -2549,7 +2592,7 @@ var script = {
|
|
|
2549
2592
|
namedRows,
|
|
2550
2593
|
namedLoading,
|
|
2551
2594
|
namedQuickFilters,
|
|
2552
|
-
} = useNamedSource(props, { activeQuickFilterIndex, activeFilters: namedActiveFilters });
|
|
2595
|
+
} = useNamedSource(props, { activeQuickFilterIndex, activeFilters: namedActiveFilters, paging: namedPaging });
|
|
2553
2596
|
|
|
2554
2597
|
return {
|
|
2555
2598
|
isBoard: isBoardLook,
|
|
@@ -2561,6 +2604,7 @@ var script = {
|
|
|
2561
2604
|
namedLoading,
|
|
2562
2605
|
namedQuickFilters,
|
|
2563
2606
|
namedActiveFilters,
|
|
2607
|
+
namedPaging,
|
|
2564
2608
|
contextMenuOpen,
|
|
2565
2609
|
contextMenuRow,
|
|
2566
2610
|
openContextMenu,
|
|
@@ -3523,6 +3567,9 @@ var script = {
|
|
|
3523
3567
|
const loaded = this.effectivePagination || {};
|
|
3524
3568
|
return Number(loaded.page || 1) < Number(loaded.pages || 1)
|
|
3525
3569
|
}
|
|
3570
|
+
if (this.isNamedSource && this.namedSource && this.namedSource.pages === true) {
|
|
3571
|
+
return Number(this.effectivePagination?.pages || 1) > 1
|
|
3572
|
+
}
|
|
3526
3573
|
return Number(this.pagination?.pages || 1) > 1
|
|
3527
3574
|
},
|
|
3528
3575
|
|
|
@@ -3549,6 +3596,17 @@ var script = {
|
|
|
3549
3596
|
return { shown, total: Math.max(shown, Number(this.effectivePagination?.total || 0)) }
|
|
3550
3597
|
},
|
|
3551
3598
|
|
|
3599
|
+
/**
|
|
3600
|
+
* Whether the folder pane is drawn: a `folderSidebar` without
|
|
3601
|
+
* `pane: false`.
|
|
3602
|
+
*
|
|
3603
|
+
* @spec openspec/changes/folder-sidebar-pane-off/specs/index-page/spec.md#requirement-a-folder-scope-without-a-pane
|
|
3604
|
+
* @return {boolean}
|
|
3605
|
+
*/
|
|
3606
|
+
showsFolderPane() {
|
|
3607
|
+
return Boolean(this.folderSidebar) && this.folderSidebar.pane !== false
|
|
3608
|
+
},
|
|
3609
|
+
|
|
3552
3610
|
/**
|
|
3553
3611
|
* The CnFolderSidebar source. A `register` source is fetched by this
|
|
3554
3612
|
* component and handed to CnFolderSidebar as a `custom` folder list.
|
|
@@ -4562,7 +4620,13 @@ var script = {
|
|
|
4562
4620
|
// A named source that reports its own total (the search source)
|
|
4563
4621
|
// gives the count line its number.
|
|
4564
4622
|
if (this.isNamedSource && this.namedSource && typeof this.namedSource.total === 'function') {
|
|
4565
|
-
|
|
4623
|
+
const total = this.namedSource.total();
|
|
4624
|
+
// A source with `pages: true` gets the pager the self-fetched lists draw.
|
|
4625
|
+
if (this.namedSource.pages === true) {
|
|
4626
|
+
const { page, limit } = this.namedPaging;
|
|
4627
|
+
return { page, limit, total, pages: Math.max(1, Math.ceil(total / limit)) }
|
|
4628
|
+
}
|
|
4629
|
+
return { ...(this.pagination || {}), total }
|
|
4566
4630
|
}
|
|
4567
4631
|
return this.isSelfFetchMode ? this.list.pagination.value : this.pagination
|
|
4568
4632
|
},
|
|
@@ -4815,6 +4879,16 @@ var script = {
|
|
|
4815
4879
|
return (this.effectiveSchema && this.effectiveSchema.slug) || ''
|
|
4816
4880
|
},
|
|
4817
4881
|
|
|
4882
|
+
/**
|
|
4883
|
+
* The row-class function the table takes: a function as given, or the
|
|
4884
|
+
* manifest's rules compiled.
|
|
4885
|
+
*
|
|
4886
|
+
* @return {?(row: object) => string}
|
|
4887
|
+
*/
|
|
4888
|
+
compiledRowClass() {
|
|
4889
|
+
return compileRowClass(this.rowClass)
|
|
4890
|
+
},
|
|
4891
|
+
|
|
4818
4892
|
/** @return {number} How many leading columns the person pinned (0 while a saved view's columns are applied). */
|
|
4819
4893
|
pinnedColumnCount() {
|
|
4820
4894
|
if (!this.personalColumns || Array.isArray(this.appliedViewColumns) || !this.personalLayout) {
|
|
@@ -7539,6 +7613,9 @@ var script = {
|
|
|
7539
7613
|
if (this.isSelfFetchMode && typeof this.list.onPageChange === 'function') {
|
|
7540
7614
|
this.list.onPageChange(page);
|
|
7541
7615
|
}
|
|
7616
|
+
if (this.isNamedSource && this.namedSource && this.namedSource.pages === true) {
|
|
7617
|
+
this.namedPaging = { ...this.namedPaging, page };
|
|
7618
|
+
}
|
|
7542
7619
|
this.$emit('page-changed', page);
|
|
7543
7620
|
},
|
|
7544
7621
|
|
|
@@ -7554,6 +7631,9 @@ var script = {
|
|
|
7554
7631
|
if (this.isSelfFetchMode && typeof this.list.onPageSizeChange === 'function') {
|
|
7555
7632
|
this.list.onPageSizeChange(size);
|
|
7556
7633
|
}
|
|
7634
|
+
if (this.isNamedSource && this.namedSource && this.namedSource.pages === true) {
|
|
7635
|
+
this.namedPaging = { page: 1, limit: size };
|
|
7636
|
+
}
|
|
7557
7637
|
this.$emit('page-size-changed', size);
|
|
7558
7638
|
},
|
|
7559
7639
|
|