@conduction/nextcloud-vue 2.100.0 → 2.102.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/CnChoiceCards/CnChoiceCards.vue.js +1 -1
- package/dist/esm/components/CnChoiceCards/CnChoiceCards.vue2.js +22 -1
- package/dist/esm/components/CnChoiceCards/CnChoiceCards.vue2.js.map +1 -1
- package/dist/esm/components/CnChoiceCards/CnChoiceCards.vue3.js +26 -16
- package/dist/esm/components/CnChoiceCards/CnChoiceCards.vue3.js.map +1 -1
- package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue.js +1 -1
- package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue2.js +70 -6
- package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue2.js.map +1 -1
- package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue3.js +105 -74
- package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue3.js.map +1 -1
- package/dist/esm/components/CnExportsWidget/CnExportsWidget.vue.js +9 -0
- package/dist/esm/components/CnExportsWidget/CnExportsWidget.vue.js.map +1 -0
- package/dist/esm/components/CnExportsWidget/CnExportsWidget.vue2.js +139 -0
- package/dist/esm/components/CnExportsWidget/CnExportsWidget.vue2.js.map +1 -0
- package/dist/esm/components/CnExportsWidget/CnExportsWidget.vue3.js +76 -0
- package/dist/esm/components/CnExportsWidget/CnExportsWidget.vue3.js.map +1 -0
- package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue.js +1 -1
- package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue2.js +160 -2
- package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue2.js.map +1 -1
- package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue3.js +206 -94
- package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue3.js.map +1 -1
- package/dist/esm/components/CnFilesBrowser/filesReview.js +61 -0
- package/dist/esm/components/CnFilesBrowser/filesReview.js.map +1 -0
- package/dist/esm/components/CnGroupedCardsWidget/CnGroupedCardsWidget.vue.js +9 -0
- package/dist/esm/components/CnGroupedCardsWidget/CnGroupedCardsWidget.vue.js.map +1 -0
- package/dist/esm/components/CnGroupedCardsWidget/CnGroupedCardsWidget.vue2.js +279 -0
- package/dist/esm/components/CnGroupedCardsWidget/CnGroupedCardsWidget.vue2.js.map +1 -0
- package/dist/esm/components/CnGroupedCardsWidget/CnGroupedCardsWidget.vue3.js +122 -0
- package/dist/esm/components/CnGroupedCardsWidget/CnGroupedCardsWidget.vue3.js.map +1 -0
- package/dist/esm/components/CnGroupedCardsWidget/index.js +29 -0
- package/dist/esm/components/CnGroupedCardsWidget/index.js.map +1 -0
- package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js +320 -74
- package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js.map +1 -1
- package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js +323 -213
- package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js.map +1 -1
- package/dist/esm/components/CnIndexPage/useNamedSource.js +30 -3
- package/dist/esm/components/CnIndexPage/useNamedSource.js.map +1 -1
- package/dist/esm/components/CnMapWidget/CnMapWidget.vue.js +1 -1
- package/dist/esm/components/CnMapWidget/CnMapWidget.vue2.js +15 -0
- package/dist/esm/components/CnMapWidget/CnMapWidget.vue2.js.map +1 -1
- package/dist/esm/components/CnMapWidget/CnMapWidget.vue3.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 +14 -1
- package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue2.js.map +1 -1
- package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue3.js +14 -6
- package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue3.js.map +1 -1
- package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue.js +1 -1
- package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue2.js +10 -0
- package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue2.js.map +1 -1
- package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue3.js +6 -1
- package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue3.js.map +1 -1
- package/dist/esm/components/CnOrderedListField/CnOrderedListField.vue.js +1 -1
- package/dist/esm/components/CnOrderedListField/CnOrderedListField.vue2.js +91 -4
- package/dist/esm/components/CnOrderedListField/CnOrderedListField.vue2.js.map +1 -1
- package/dist/esm/components/CnOrderedListField/CnOrderedListField.vue3.js +63 -38
- package/dist/esm/components/CnOrderedListField/CnOrderedListField.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/CnSavedViewAlertWidget/CnSavedViewAlertWidget.vue.js +9 -0
- package/dist/esm/components/CnSavedViewAlertWidget/CnSavedViewAlertWidget.vue.js.map +1 -0
- package/dist/esm/components/CnSavedViewAlertWidget/CnSavedViewAlertWidget.vue2.js +175 -0
- package/dist/esm/components/CnSavedViewAlertWidget/CnSavedViewAlertWidget.vue2.js.map +1 -0
- package/dist/esm/components/CnSavedViewAlertWidget/CnSavedViewAlertWidget.vue3.js +77 -0
- package/dist/esm/components/CnSavedViewAlertWidget/CnSavedViewAlertWidget.vue3.js.map +1 -0
- package/dist/esm/components/CnSetupWizard/CnSetupWizard.vue.js +1 -1
- package/dist/esm/components/CnSetupWizard/CnSetupWizard.vue2.js +35 -2
- package/dist/esm/components/CnSetupWizard/CnSetupWizard.vue2.js.map +1 -1
- package/dist/esm/components/CnSetupWizard/CnSetupWizard.vue3.js.map +1 -1
- package/dist/esm/components/CnWidgetGrid/builtInWidgets.js +4 -0
- package/dist/esm/components/CnWidgetGrid/builtInWidgets.js.map +1 -1
- package/dist/esm/components/CnWidgetGrid/registerDashboardWidgets.js +1 -0
- package/dist/esm/components/CnWidgetGrid/registerDashboardWidgets.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/composables/indexSources.js +176 -20
- package/dist/esm/composables/indexSources.js.map +1 -1
- package/dist/esm/composables/useEndpointSource.js +28 -6
- package/dist/esm/composables/useEndpointSource.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 +41 -1
- package/dist/esm/l10n/en.json.js.map +1 -1
- package/dist/esm/l10n/nl.json.js +39 -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 +939 -376
- package/dist/esm/utils/builtInFormatters.js +24 -4
- package/dist/esm/utils/builtInFormatters.js.map +1 -1
- package/dist/esm/utils/languageMapText.js +50 -0
- package/dist/esm/utils/languageMapText.js.map +1 -0
- package/dist/esm/utils/libraryWidgetKeys.js +3 -0
- package/dist/esm/utils/libraryWidgetKeys.js.map +1 -1
- package/dist/esm/utils/mapList.js +71 -0
- package/dist/esm/utils/mapList.js.map +1 -0
- 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 +19 -2
- package/dist/esm/utils/visibleWhen.js.map +1 -1
- package/dist/nextcloud-vue.cjs.js +9681 -7136
- package/dist/nextcloud-vue.cjs.js.map +2 -2
- package/dist/nextcloud-vue.css +939 -376
- package/l10n/en.json +41 -1
- package/l10n/nl.json +39 -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/CnChoiceCards/CnChoiceCards.md +39 -0
- package/src/components/CnChoiceCards/CnChoiceCards.vue +93 -16
- package/src/components/CnDashboardPage/CnDashboardPage.vue +110 -21
- package/src/components/CnExportsWidget/CnExportsWidget.vue +233 -0
- package/src/components/CnExportsWidget/index.js +7 -0
- package/src/components/CnFilesBrowser/CnFilesBrowser.vue +324 -0
- package/src/components/CnFilesBrowser/filesReview.js +57 -0
- package/src/components/CnGroupedCardsWidget/CnGroupedCardsWidget.vue +433 -0
- package/src/components/CnGroupedCardsWidget/index.js +28 -0
- package/src/components/CnIndexPage/CnIndexPage.md +5 -1
- package/src/components/CnIndexPage/CnIndexPage.vue +313 -9
- package/src/components/CnIndexPage/useNamedSource.js +30 -3
- package/src/components/CnMapWidget/CnMapWidget.vue +37 -0
- package/src/components/CnMenuWidget/CnMenuWidget.vue +25 -1
- package/src/components/CnObjectListWidget/CnObjectListWidget.vue +29 -1
- package/src/components/CnObjectSidebar/CnFilesTab.vue +15 -0
- package/src/components/CnOrderedListField/CnOrderedListField.vue +151 -5
- package/src/components/CnQuickFilterBar/CnQuickFilterBar.md +1 -0
- package/src/components/CnQuickFilterBar/CnQuickFilterBar.vue +159 -5
- package/src/components/CnSavedViewAlertWidget/CnSavedViewAlertWidget.vue +272 -0
- package/src/components/CnSavedViewAlertWidget/index.js +7 -0
- package/src/components/CnSetupWizard/CnSetupWizard.vue +35 -2
- package/src/components/CnWidgetGrid/builtInWidgets.js +4 -0
- package/src/components/CnWidgetGrid/registerDashboardWidgets.js +1 -0
- package/src/components/CnWidgetObjectTable/CnWidgetObjectTable.vue +2 -23
- package/src/components/index.js +3 -0
- package/src/composables/indexSources.js +175 -19
- package/src/composables/useEndpointSource.js +28 -6
- package/src/css/index-page.css +117 -0
- package/src/css/look-board-index.css +10 -0
- package/src/css/look-board.css +44 -0
- package/src/index.js +1 -0
- package/src/schemas/app-manifest-v2.schema.json +85 -3
- package/src/utils/builtInFormatters.js +24 -4
- package/src/utils/languageMapText.js +46 -0
- package/src/utils/libraryWidgetKeys.js +3 -0
- package/src/utils/mapList.js +67 -0
- package/src/utils/rowClassRules.js +39 -0
- package/src/utils/validateManifestV2.compiled.js +3 -3
- package/src/utils/visibleWhen.js +19 -2
|
@@ -14,11 +14,12 @@ import ImportIcon from 'vue-material-design-icons/Import.vue';
|
|
|
14
14
|
import TrashCanOutline from 'vue-material-design-icons/TrashCanOutline.vue';
|
|
15
15
|
import Tune from 'vue-material-design-icons/Tune.vue';
|
|
16
16
|
import ViewColumnOutline from 'vue-material-design-icons/ViewColumnOutline.vue';
|
|
17
|
-
import __sfc_main$
|
|
18
|
-
import __sfc_main$
|
|
19
|
-
import __sfc_main$
|
|
20
|
-
import __sfc_main$
|
|
21
|
-
import __sfc_main$
|
|
17
|
+
import __sfc_main$y from '../../dialogs/CnConfirmDialog.vue.js';
|
|
18
|
+
import __sfc_main$z from '../../dialogs/CnQuickEditDialog.vue.js';
|
|
19
|
+
import __sfc_main$2 from '../CnBuildiqEditButton/CnBuildiqEditButton.vue.js';
|
|
20
|
+
import __sfc_main$4 from '../CnEmptyContent/CnEmptyContent.vue.js';
|
|
21
|
+
import __sfc_main$3 from '../CnFollowToggle/CnFollowToggle.vue.js';
|
|
22
|
+
import __sfc_main$1 from '../CnStatusBadge/CnStatusBadge.vue.js';
|
|
22
23
|
import __sfc_main from './CnIndexPageWidgets.vue.js';
|
|
23
24
|
import { useLook } from '../../composables/useLook.js';
|
|
24
25
|
import { copyKindsOf } from '../../composables/useObjectCopy.js';
|
|
@@ -37,6 +38,7 @@ import { lensUnavailableText } from '../../utils/lensAvailability.js';
|
|
|
37
38
|
import { isModifiedClick, openRowTarget } from '../../utils/linkNavigation.js';
|
|
38
39
|
import { resolveClaimedTeams, splitViewsIntoTabs, viewAsTab, resolveClaimTokens, viewIdOf } from '../../utils/listLenses.js';
|
|
39
40
|
import { LIST_SHORTCUTS, listPaletteCommands, shortcutFor } from '../../utils/listShortcuts.js';
|
|
41
|
+
import { mapListItems } from '../../utils/mapList.js';
|
|
40
42
|
import { multiKeySort } from '../../utils/multiKeySort.js';
|
|
41
43
|
import { fetchGroups } from '../../utils/nextcloudDirectory.js';
|
|
42
44
|
import { OBJECTS_CHANGED_EVENT } from '../../utils/objectSignals.js';
|
|
@@ -48,43 +50,44 @@ import { resolveFilterMap } from '../../utils/routeFilters.js';
|
|
|
48
50
|
import { DEFAULT_ROW_ACTION_FIELD, withoutViewWhenRowOpensDetail, availableRowActions, refusalReasonFor, undeclaredRowActions } from '../../utils/rowActionAvailability.js';
|
|
49
51
|
import { isRowActionVisible, rowActionPayload } from '../../utils/rowActionItem.js';
|
|
50
52
|
import { isNewTabClick, preventMiddleClickAutoscroll, isRowMiddleClick, isNewTabHandled, markNewTabHandled } from '../../utils/rowAuxClick.js';
|
|
53
|
+
import { compileRowClass } from '../../utils/rowClassRules.js';
|
|
51
54
|
import { DEFAULT_ROW_INDICATOR_CAP } from '../../utils/rowIndicators.js';
|
|
52
55
|
import { viewMatchesScope, extractViewState, buildRouteQueryFromViewState, extractViewStateFromRouteQuery, buildViewCreatePayload, savedViewScope, normalizeSharedWith } from '../../utils/savedViewHelpers.js';
|
|
53
56
|
import { fieldsFromSchema, columnsFromSchema } from '../../utils/schema.js';
|
|
54
57
|
import { resolveScopeLayout, resolveScopePresentation } from '../../utils/scopeListLayout.js';
|
|
55
58
|
import { dispatchObjectCreated } from '../../utils/walkthroughSignals.js';
|
|
56
|
-
import __sfc_main$
|
|
57
|
-
import __sfc_main$
|
|
58
|
-
import __sfc_main$
|
|
59
|
+
import __sfc_main$7 from '../CnActionButtons/CnActionButtons.vue.js';
|
|
60
|
+
import __sfc_main$8 from '../CnActionsBar/CnActionsBar.vue.js';
|
|
61
|
+
import __sfc_main$r from '../CnAdvancedFormDialog/CnAdvancedFormDialog.vue.js';
|
|
59
62
|
import '../CnAdvancedFormDialog/CnMetadataTab.vue.js';
|
|
60
63
|
import '../CnAdvancedFormDialog/CnPropertiesTab.vue.js';
|
|
61
64
|
import '../CnAdvancedFormDialog/CnPropertyValueCell.vue.js';
|
|
62
|
-
import __sfc_main$
|
|
63
|
-
import __sfc_main$
|
|
64
|
-
import __sfc_main$
|
|
65
|
-
import __sfc_main$
|
|
66
|
-
import __sfc_main$
|
|
67
|
-
import __sfc_main$
|
|
68
|
-
import __sfc_main$
|
|
69
|
-
import __sfc_main$
|
|
70
|
-
import __sfc_main$
|
|
71
|
-
import __sfc_main$
|
|
72
|
-
import __sfc_main$
|
|
73
|
-
import __sfc_main$
|
|
74
|
-
import __sfc_main$
|
|
75
|
-
import __sfc_main$
|
|
76
|
-
import __sfc_main$
|
|
77
|
-
import __sfc_main$
|
|
78
|
-
import __sfc_main$
|
|
79
|
-
import __sfc_main$
|
|
80
|
-
import __sfc_main$
|
|
81
|
-
import __sfc_main$
|
|
82
|
-
import __sfc_main$
|
|
83
|
-
import __sfc_main$
|
|
84
|
-
import __sfc_main$
|
|
85
|
-
import __sfc_main$
|
|
86
|
-
import __sfc_main$
|
|
87
|
-
import __sfc_main$
|
|
65
|
+
import __sfc_main$c from '../CnBoardView/CnBoardView.vue.js';
|
|
66
|
+
import __sfc_main$b from '../CnCardGrid/CnCardGrid.vue.js';
|
|
67
|
+
import __sfc_main$s from '../CnContextMenu/CnContextMenu.vue.js';
|
|
68
|
+
import __sfc_main$p from '../CnCopyDialog/CnCopyDialog.vue.js';
|
|
69
|
+
import __sfc_main$a from '../CnDataTable/CnDataTable.vue.js';
|
|
70
|
+
import __sfc_main$d from '../CnDateAxisView/CnDateAxisView.vue.js';
|
|
71
|
+
import __sfc_main$o from '../CnDeleteDialog/CnDeleteDialog.vue.js';
|
|
72
|
+
import __sfc_main$h from '../CnFolderSidebar/CnFolderSidebar.vue.js';
|
|
73
|
+
import __sfc_main$q from '../CnFormDialog/CnFormDialog.vue.js';
|
|
74
|
+
import __sfc_main$9 from '../CnIcon/CnIcon.vue.js';
|
|
75
|
+
import __sfc_main$t from '../CnIndexSidebar/CnIndexSidebar.vue.js';
|
|
76
|
+
import __sfc_main$f from '../CnMapWidget/CnMapWidget.vue.js';
|
|
77
|
+
import __sfc_main$l from '../CnMassCopyDialog/CnMassCopyDialog.vue.js';
|
|
78
|
+
import __sfc_main$k from '../CnMassDeleteDialog/CnMassDeleteDialog.vue.js';
|
|
79
|
+
import __sfc_main$m from '../CnMassExportDialog/CnMassExportDialog.vue.js';
|
|
80
|
+
import __sfc_main$n from '../CnMassImportDialog/CnMassImportDialog.vue.js';
|
|
81
|
+
import __sfc_main$e from '../CnObjectCalendar/CnObjectCalendar.vue.js';
|
|
82
|
+
import __sfc_main$g from '../CnObjectList/CnObjectList.vue.js';
|
|
83
|
+
import __sfc_main$5 from '../CnPageHeader/CnPageHeader.vue.js';
|
|
84
|
+
import __sfc_main$i from '../CnPagination/CnPagination.vue.js';
|
|
85
|
+
import __sfc_main$6 from '../CnQuickFilterBar/CnQuickFilterBar.vue.js';
|
|
86
|
+
import __sfc_main$j from '../CnRowActions/CnRowActions.vue.js';
|
|
87
|
+
import __sfc_main$v from '../CnSavedViewPresentationDialog/CnSavedViewPresentationDialog.vue.js';
|
|
88
|
+
import __sfc_main$u from '../CnSavedViewsControl/CnSavedViewsControl.vue.js';
|
|
89
|
+
import __sfc_main$w from '../CnSavedViewShareDialog/CnSavedViewShareDialog.vue.js';
|
|
90
|
+
import __sfc_main$x from '../CnSaveViewDialog/CnSaveViewDialog.vue.js';
|
|
88
91
|
import { applyAiContext } from './aiContext.js';
|
|
89
92
|
import { buildDefaultActions } from './defaultActions.js';
|
|
90
93
|
import { dispatchAction } from './manifestActionDispatch.js';
|
|
@@ -326,11 +329,12 @@ var script = {
|
|
|
326
329
|
|
|
327
330
|
components: {
|
|
328
331
|
CnIndexPageWidgets: __sfc_main,
|
|
332
|
+
CnStatusBadge: __sfc_main$1,
|
|
329
333
|
NcNoteCard,
|
|
330
|
-
CnBuildiqEditButton: __sfc_main$
|
|
331
|
-
CnFollowToggle: __sfc_main$
|
|
334
|
+
CnBuildiqEditButton: __sfc_main$2,
|
|
335
|
+
CnFollowToggle: __sfc_main$3,
|
|
332
336
|
NcLoadingIcon,
|
|
333
|
-
CnEmptyContent: __sfc_main$
|
|
337
|
+
CnEmptyContent: __sfc_main$4,
|
|
334
338
|
NcActions,
|
|
335
339
|
NcActionLink,
|
|
336
340
|
NcActionButton,
|
|
@@ -347,38 +351,38 @@ var script = {
|
|
|
347
351
|
Tune,
|
|
348
352
|
ViewColumnOutline,
|
|
349
353
|
NcCheckboxRadioSwitch,
|
|
350
|
-
CnPageHeader: __sfc_main$
|
|
351
|
-
CnQuickFilterBar: __sfc_main$
|
|
352
|
-
CnActionButtons: __sfc_main$
|
|
353
|
-
CnActionsBar: __sfc_main$
|
|
354
|
+
CnPageHeader: __sfc_main$5,
|
|
355
|
+
CnQuickFilterBar: __sfc_main$6,
|
|
356
|
+
CnActionButtons: __sfc_main$7,
|
|
357
|
+
CnActionsBar: __sfc_main$8,
|
|
354
358
|
DotsHorizontal,
|
|
355
|
-
CnIcon: __sfc_main$
|
|
356
|
-
CnDataTable: __sfc_main$
|
|
357
|
-
CnCardGrid: __sfc_main$
|
|
358
|
-
CnBoardView: __sfc_main$
|
|
359
|
-
CnDateAxisView: __sfc_main$
|
|
360
|
-
CnObjectCalendar: __sfc_main$
|
|
361
|
-
CnMapWidget: __sfc_main$
|
|
362
|
-
CnObjectList: __sfc_main$
|
|
363
|
-
CnFolderSidebar: __sfc_main$
|
|
364
|
-
CnPagination: __sfc_main$
|
|
365
|
-
CnRowActions: __sfc_main$
|
|
366
|
-
CnMassDeleteDialog: __sfc_main$
|
|
367
|
-
CnMassCopyDialog: __sfc_main$
|
|
368
|
-
CnMassExportDialog: __sfc_main$
|
|
369
|
-
CnMassImportDialog: __sfc_main$
|
|
370
|
-
CnDeleteDialog: __sfc_main$
|
|
371
|
-
CnCopyDialog: __sfc_main$
|
|
372
|
-
CnFormDialog: __sfc_main$
|
|
373
|
-
CnAdvancedFormDialog: __sfc_main$
|
|
374
|
-
CnContextMenu: __sfc_main$
|
|
375
|
-
CnIndexSidebar: __sfc_main$
|
|
376
|
-
CnSavedViewsControl: __sfc_main$
|
|
377
|
-
CnSavedViewPresentationDialog: __sfc_main$
|
|
378
|
-
CnSavedViewShareDialog: __sfc_main$
|
|
379
|
-
CnSaveViewDialog: __sfc_main$
|
|
380
|
-
CnConfirmDialog: __sfc_main$
|
|
381
|
-
CnQuickEditDialog: __sfc_main$
|
|
359
|
+
CnIcon: __sfc_main$9,
|
|
360
|
+
CnDataTable: __sfc_main$a,
|
|
361
|
+
CnCardGrid: __sfc_main$b,
|
|
362
|
+
CnBoardView: __sfc_main$c,
|
|
363
|
+
CnDateAxisView: __sfc_main$d,
|
|
364
|
+
CnObjectCalendar: __sfc_main$e,
|
|
365
|
+
CnMapWidget: __sfc_main$f,
|
|
366
|
+
CnObjectList: __sfc_main$g,
|
|
367
|
+
CnFolderSidebar: __sfc_main$h,
|
|
368
|
+
CnPagination: __sfc_main$i,
|
|
369
|
+
CnRowActions: __sfc_main$j,
|
|
370
|
+
CnMassDeleteDialog: __sfc_main$k,
|
|
371
|
+
CnMassCopyDialog: __sfc_main$l,
|
|
372
|
+
CnMassExportDialog: __sfc_main$m,
|
|
373
|
+
CnMassImportDialog: __sfc_main$n,
|
|
374
|
+
CnDeleteDialog: __sfc_main$o,
|
|
375
|
+
CnCopyDialog: __sfc_main$p,
|
|
376
|
+
CnFormDialog: __sfc_main$q,
|
|
377
|
+
CnAdvancedFormDialog: __sfc_main$r,
|
|
378
|
+
CnContextMenu: __sfc_main$s,
|
|
379
|
+
CnIndexSidebar: __sfc_main$t,
|
|
380
|
+
CnSavedViewsControl: __sfc_main$u,
|
|
381
|
+
CnSavedViewPresentationDialog: __sfc_main$v,
|
|
382
|
+
CnSavedViewShareDialog: __sfc_main$w,
|
|
383
|
+
CnSaveViewDialog: __sfc_main$x,
|
|
384
|
+
CnConfirmDialog: __sfc_main$y,
|
|
385
|
+
CnQuickEditDialog: __sfc_main$z,
|
|
382
386
|
},
|
|
383
387
|
|
|
384
388
|
/**
|
|
@@ -394,6 +398,29 @@ var script = {
|
|
|
394
398
|
* Falls back to an empty object so `CnIndexPage` works standalone
|
|
395
399
|
* (unit tests, isolated mount) without `CnAppRoot`.
|
|
396
400
|
*/
|
|
401
|
+
/**
|
|
402
|
+
* The list a side-panel widget reads (`cnIndexList`): the applied saved
|
|
403
|
+
* view, the list's total, and a way to hand back a view that changed
|
|
404
|
+
* (the saved-view alert widget). Getters, so a widget follows the page.
|
|
405
|
+
*
|
|
406
|
+
* @return {object}
|
|
407
|
+
*/
|
|
408
|
+
provide() {
|
|
409
|
+
return {
|
|
410
|
+
cnIndexList: Object.defineProperties({}, {
|
|
411
|
+
appliedView: { enumerable: true, get: () => this.appliedSavedView },
|
|
412
|
+
total: {
|
|
413
|
+
enumerable: true,
|
|
414
|
+
get: () => {
|
|
415
|
+
const total = this.effectivePagination && this.effectivePagination.total;
|
|
416
|
+
return typeof total === 'number' ? total : undefined
|
|
417
|
+
},
|
|
418
|
+
},
|
|
419
|
+
replaceSavedView: { enumerable: true, value: (view) => this.replaceSavedView(view) },
|
|
420
|
+
}),
|
|
421
|
+
}
|
|
422
|
+
},
|
|
423
|
+
|
|
397
424
|
inject: {
|
|
398
425
|
cnCustomComponents: { default: () => ({}) },
|
|
399
426
|
/** The permissions the user holds, provided by CnAppRoot; for gated page tabs. */
|
|
@@ -674,6 +701,17 @@ var script = {
|
|
|
674
701
|
default: '',
|
|
675
702
|
},
|
|
676
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
|
+
|
|
677
715
|
/**
|
|
678
716
|
* Board look: the 13px hint after the bulk band's buttons ("See what
|
|
679
717
|
* changes first, then run it"). Manifest key `config.bulkHint`.
|
|
@@ -691,7 +729,9 @@ var script = {
|
|
|
691
729
|
* variant?, icon?, format?, id? }`: `action` is `add` (the Add flow;
|
|
692
730
|
* its label defaults to the Add label), `export` (the export leaf in
|
|
693
731
|
* `format`, `csv` by default, else the export dialog), `import`,
|
|
694
|
-
* `refresh`,
|
|
732
|
+
* `refresh`, `save-view` (the save-current-view dialog: the board's
|
|
733
|
+
* "Zoekopdracht opslaan", label "Save view" by default), or the id of a
|
|
734
|
+
* `headerActions` entry; `variant` is
|
|
695
735
|
* `primary` or `secondary` (the default). Shown only with
|
|
696
736
|
* `showTitle`. When they show, the actions bar drops its Views and
|
|
697
737
|
* Actions menus, and the Add button and Export menu when a button
|
|
@@ -853,6 +893,21 @@ var script = {
|
|
|
853
893
|
default: null,
|
|
854
894
|
},
|
|
855
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
|
+
|
|
856
911
|
/**
|
|
857
912
|
* How the quick filters render: `'chips'` (pill strip, default) or
|
|
858
913
|
* `'dropdown'` (a single `NcSelect`). Sourced from the manifest as
|
|
@@ -1003,6 +1058,16 @@ var script = {
|
|
|
1003
1058
|
default: true,
|
|
1004
1059
|
},
|
|
1005
1060
|
|
|
1061
|
+
/**
|
|
1062
|
+
* Draw the table without its column-header row (manifest
|
|
1063
|
+
* `config.hideTableHeader`), for a list the board draws as plain rows
|
|
1064
|
+
* (DqTeamwachtrij). Pair it with `selectable: false` for no checkboxes.
|
|
1065
|
+
*/
|
|
1066
|
+
hideTableHeader: {
|
|
1067
|
+
type: Boolean,
|
|
1068
|
+
default: false,
|
|
1069
|
+
},
|
|
1070
|
+
|
|
1006
1071
|
/**
|
|
1007
1072
|
* When true, a row/card click emits `row-click` (to open/navigate) even
|
|
1008
1073
|
* while `selectable` — selection then happens via the checkbox only.
|
|
@@ -1146,8 +1211,15 @@ var script = {
|
|
|
1146
1211
|
* - `popupField` — object property rendered in the marker popup.
|
|
1147
1212
|
* - `center` — optional `[lat, lng]` fallback centre when the filtered set
|
|
1148
1213
|
* has no plottable rows.
|
|
1214
|
+
* - `zoom` — the map's initial zoom level.
|
|
1215
|
+
* - `list` — a numbered list beside the map, map and list in one card
|
|
1216
|
+
* (DqZakenKaart): `{ title, sub?, pills?: [{ path?, text?, map?,
|
|
1217
|
+
* colorMap? }], due? }`, field templates read per row. The pins carry the
|
|
1218
|
+
* list's numbers, the row under the pointer is marked on both, the rows
|
|
1219
|
+
* without a place are counted under the list with a link to the table,
|
|
1220
|
+
* and the page's count line adds how many are on the map.
|
|
1149
1221
|
*
|
|
1150
|
-
* @type {{ latField?: string, lngField?: string, geoField?: string, popupField?: string, center?: [number, number] }}
|
|
1222
|
+
* @type {{ latField?: string, lngField?: string, geoField?: string, popupField?: string, center?: [number, number], zoom?: number, list?: object }}
|
|
1151
1223
|
*/
|
|
1152
1224
|
mapConfig: {
|
|
1153
1225
|
type: Object,
|
|
@@ -1412,9 +1484,18 @@ var script = {
|
|
|
1412
1484
|
default: 'Loading…',
|
|
1413
1485
|
},
|
|
1414
1486
|
|
|
1415
|
-
/**
|
|
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
|
+
*/
|
|
1416
1497
|
rowClass: {
|
|
1417
|
-
type: Function,
|
|
1498
|
+
type: [Function, Array],
|
|
1418
1499
|
default: null,
|
|
1419
1500
|
},
|
|
1420
1501
|
|
|
@@ -2496,6 +2577,10 @@ var script = {
|
|
|
2496
2577
|
//
|
|
2497
2578
|
// Seeded from the route query so a shared link lands filtered, the
|
|
2498
2579
|
// same way `_order` and a deep-link filter already do for self-fetch.
|
|
2580
|
+
// The page a paging named source shows: page 1 at the source config's
|
|
2581
|
+
// `limit` (20 by default), moved by the pager.
|
|
2582
|
+
const namedPageSize = Number(props.sourceConfig && props.sourceConfig.limit) > 0 ? Number(props.sourceConfig.limit) : 20;
|
|
2583
|
+
const namedPaging = ref({ page: 1, limit: namedPageSize });
|
|
2499
2584
|
const namedActiveFilters = ref(namedFiltersFromRoute(getCurrentInstance(), props));
|
|
2500
2585
|
|
|
2501
2586
|
const {
|
|
@@ -2504,7 +2589,7 @@ var script = {
|
|
|
2504
2589
|
namedRows,
|
|
2505
2590
|
namedLoading,
|
|
2506
2591
|
namedQuickFilters,
|
|
2507
|
-
} = useNamedSource(props, { activeQuickFilterIndex, activeFilters: namedActiveFilters });
|
|
2592
|
+
} = useNamedSource(props, { activeQuickFilterIndex, activeFilters: namedActiveFilters, paging: namedPaging });
|
|
2508
2593
|
|
|
2509
2594
|
return {
|
|
2510
2595
|
isBoard: isBoardLook,
|
|
@@ -2516,6 +2601,7 @@ var script = {
|
|
|
2516
2601
|
namedLoading,
|
|
2517
2602
|
namedQuickFilters,
|
|
2518
2603
|
namedActiveFilters,
|
|
2604
|
+
namedPaging,
|
|
2519
2605
|
contextMenuOpen,
|
|
2520
2606
|
contextMenuRow,
|
|
2521
2607
|
openContextMenu,
|
|
@@ -2563,6 +2649,8 @@ var script = {
|
|
|
2563
2649
|
pageTabCounts: {},
|
|
2564
2650
|
/** The `headerMetaCounts` totals, by name; a failed one is null. */
|
|
2565
2651
|
headerMetaCountValues: {},
|
|
2652
|
+
/** The row the pointer is on in the map list, by key; '' for none. */
|
|
2653
|
+
activeMapKey: '',
|
|
2566
2654
|
/** The tabs `quickFiltersFrom` produced, or null before they load. */
|
|
2567
2655
|
generatedQuickFilters: null,
|
|
2568
2656
|
/** Count per saved-view id, for the views control; null = none. */
|
|
@@ -3476,6 +3564,9 @@ var script = {
|
|
|
3476
3564
|
const loaded = this.effectivePagination || {};
|
|
3477
3565
|
return Number(loaded.page || 1) < Number(loaded.pages || 1)
|
|
3478
3566
|
}
|
|
3567
|
+
if (this.isNamedSource && this.namedSource && this.namedSource.pages === true) {
|
|
3568
|
+
return Number(this.effectivePagination?.pages || 1) > 1
|
|
3569
|
+
}
|
|
3479
3570
|
return Number(this.pagination?.pages || 1) > 1
|
|
3480
3571
|
},
|
|
3481
3572
|
|
|
@@ -4321,6 +4412,8 @@ var script = {
|
|
|
4321
4412
|
*/
|
|
4322
4413
|
mapMarkers() {
|
|
4323
4414
|
const features = [];
|
|
4415
|
+
// With the list beside the map, a pin carries the row's number there.
|
|
4416
|
+
const numbers = this.mapListEnabled ? new Map(this.mapList.items.map((item) => [item.row, item.n])) : null;
|
|
4324
4417
|
for (const row of this.displayObjects) {
|
|
4325
4418
|
const geometry = this.resolveRowGeometry(row);
|
|
4326
4419
|
if (!geometry) {
|
|
@@ -4332,6 +4425,7 @@ var script = {
|
|
|
4332
4425
|
properties: {
|
|
4333
4426
|
[this.rowKey]: row[this.rowKey],
|
|
4334
4427
|
...(this.mapConfig.popupField ? { [this.mapConfig.popupField]: row[this.mapConfig.popupField] } : {}),
|
|
4428
|
+
...(numbers && numbers.has(row) ? { markerNumber: numbers.get(row), markerActive: this.activeMapKey === String(row[this.rowKey]) } : {}),
|
|
4335
4429
|
},
|
|
4336
4430
|
});
|
|
4337
4431
|
}
|
|
@@ -4358,6 +4452,57 @@ var script = {
|
|
|
4358
4452
|
return this.mapConfig.clustering !== false
|
|
4359
4453
|
},
|
|
4360
4454
|
|
|
4455
|
+
/** @return {number|undefined} The map's initial zoom (`mapConfig.zoom`), when a number. */
|
|
4456
|
+
mapZoom() {
|
|
4457
|
+
const zoom = this.mapConfig && this.mapConfig.zoom;
|
|
4458
|
+
return typeof zoom === 'number' && Number.isFinite(zoom) ? zoom : undefined
|
|
4459
|
+
},
|
|
4460
|
+
|
|
4461
|
+
/** @return {boolean} Whether the map draws its numbered list (`mapConfig.list`). */
|
|
4462
|
+
mapListEnabled() {
|
|
4463
|
+
const list = this.mapConfig && this.mapConfig.list;
|
|
4464
|
+
return Boolean(list && typeof list === 'object' && typeof list.title === 'string' && list.title !== '')
|
|
4465
|
+
},
|
|
4466
|
+
|
|
4467
|
+
/**
|
|
4468
|
+
* The map list's entries, numbered as the pins, and the rows without a
|
|
4469
|
+
* place. Templates go through the host's translate first.
|
|
4470
|
+
*
|
|
4471
|
+
* @return {{items: Array<object>, missing: Array<object>}}
|
|
4472
|
+
*/
|
|
4473
|
+
mapList() {
|
|
4474
|
+
if (!this.mapListEnabled) {
|
|
4475
|
+
return { items: [], missing: [] }
|
|
4476
|
+
}
|
|
4477
|
+
const list = this.mapConfig.list;
|
|
4478
|
+
const translated = {
|
|
4479
|
+
...list,
|
|
4480
|
+
title: this.cnTranslate(list.title),
|
|
4481
|
+
sub: list.sub ? this.cnTranslate(list.sub) : '',
|
|
4482
|
+
due: list.due ? this.cnTranslate(list.due) : '',
|
|
4483
|
+
};
|
|
4484
|
+
return mapListItems(this.displayObjects, translated, {
|
|
4485
|
+
rowKey: this.rowKey,
|
|
4486
|
+
located: (row) => Boolean(this.resolveRowGeometry(row)),
|
|
4487
|
+
translate: (text) => this.cnTranslate(text),
|
|
4488
|
+
})
|
|
4489
|
+
},
|
|
4490
|
+
|
|
4491
|
+
/** @return {string} The list's accessible name. */
|
|
4492
|
+
mapListLabel() {
|
|
4493
|
+
return translate('nextcloud-vue', 'On the map')
|
|
4494
|
+
},
|
|
4495
|
+
|
|
4496
|
+
/** @return {string} The card under the list, for the rows without a place. */
|
|
4497
|
+
mapMissingTitle() {
|
|
4498
|
+
return translatePlural('nextcloud-vue', '%n without an address', '%n without an address', this.mapList.missing.length)
|
|
4499
|
+
},
|
|
4500
|
+
|
|
4501
|
+
/** @return {string} The link from that card to the table. */
|
|
4502
|
+
mapMissingLink() {
|
|
4503
|
+
return translate('nextcloud-vue', 'Show them in the table')
|
|
4504
|
+
},
|
|
4505
|
+
|
|
4361
4506
|
/**
|
|
4362
4507
|
* Extra (non-background) map layers — WMS / WFS / GeoJSON overlays declared in
|
|
4363
4508
|
* `mapConfig.layers`. The background map comes from `mapBasemaps` instead, so
|
|
@@ -4458,9 +4603,57 @@ var script = {
|
|
|
4458
4603
|
if (this.selfFetchFailed) {
|
|
4459
4604
|
return { ...this.list.pagination.value, total: 0, page: 1, pages: 1 }
|
|
4460
4605
|
}
|
|
4606
|
+
// A named source that reports its own total (the search source)
|
|
4607
|
+
// gives the count line its number.
|
|
4608
|
+
if (this.isNamedSource && this.namedSource && typeof this.namedSource.total === 'function') {
|
|
4609
|
+
const total = this.namedSource.total();
|
|
4610
|
+
// A source with `pages: true` gets the pager the self-fetched lists draw.
|
|
4611
|
+
if (this.namedSource.pages === true) {
|
|
4612
|
+
const { page, limit } = this.namedPaging;
|
|
4613
|
+
return { page, limit, total, pages: Math.max(1, Math.ceil(total / limit)) }
|
|
4614
|
+
}
|
|
4615
|
+
return { ...(this.pagination || {}), total }
|
|
4616
|
+
}
|
|
4461
4617
|
return this.isSelfFetchMode ? this.list.pagination.value : this.pagination
|
|
4462
4618
|
},
|
|
4463
4619
|
|
|
4620
|
+
/**
|
|
4621
|
+
* The saved view the page has applied, or null.
|
|
4622
|
+
*
|
|
4623
|
+
* @return {object|null}
|
|
4624
|
+
*/
|
|
4625
|
+
appliedSavedView() {
|
|
4626
|
+
const id = this.appliedSavedViewId;
|
|
4627
|
+
if (!id) {
|
|
4628
|
+
return null
|
|
4629
|
+
}
|
|
4630
|
+
return (this.savedViews || []).find((view) => view && (String(view.id) === id || String(view.slug) === id || String(view.uuid) === id)) || null
|
|
4631
|
+
},
|
|
4632
|
+
|
|
4633
|
+
/**
|
|
4634
|
+
* The term a named source searched for, for `{term}` in the title and
|
|
4635
|
+
* the count line ("Zoeken: Lindelaan"), or ''.
|
|
4636
|
+
*
|
|
4637
|
+
* @return {string}
|
|
4638
|
+
*/
|
|
4639
|
+
sourceTerm() {
|
|
4640
|
+
return this.isNamedSource && this.namedSource && typeof this.namedSource.term === 'function' ? String(this.namedSource.term() || '') : ''
|
|
4641
|
+
},
|
|
4642
|
+
|
|
4643
|
+
/**
|
|
4644
|
+
* The page title with `{term}` filled in.
|
|
4645
|
+
*
|
|
4646
|
+
* @return {string}
|
|
4647
|
+
*/
|
|
4648
|
+
shownTitle() {
|
|
4649
|
+
const title = this.presented('title');
|
|
4650
|
+
// A title with the term is translated here, before the term goes in,
|
|
4651
|
+
// so its catalogue entry is found ("Zoeken: {term}").
|
|
4652
|
+
return typeof title === 'string' && title.includes('{term}')
|
|
4653
|
+
? this.cnTranslate(title).replace(/\{term\}/g, this.sourceTerm)
|
|
4654
|
+
: title
|
|
4655
|
+
},
|
|
4656
|
+
|
|
4464
4657
|
/**
|
|
4465
4658
|
* Whether the table marks unread rows. The boards draw every row alike,
|
|
4466
4659
|
* so under the board look only a page that offers the Unread lens
|
|
@@ -4672,6 +4865,16 @@ var script = {
|
|
|
4672
4865
|
return (this.effectiveSchema && this.effectiveSchema.slug) || ''
|
|
4673
4866
|
},
|
|
4674
4867
|
|
|
4868
|
+
/**
|
|
4869
|
+
* The row-class function the table takes: a function as given, or the
|
|
4870
|
+
* manifest's rules compiled.
|
|
4871
|
+
*
|
|
4872
|
+
* @return {?(row: object) => string}
|
|
4873
|
+
*/
|
|
4874
|
+
compiledRowClass() {
|
|
4875
|
+
return compileRowClass(this.rowClass)
|
|
4876
|
+
},
|
|
4877
|
+
|
|
4675
4878
|
/** @return {number} How many leading columns the person pinned (0 while a saved view's columns are applied). */
|
|
4676
4879
|
pinnedColumnCount() {
|
|
4677
4880
|
if (!this.personalColumns || Array.isArray(this.appliedViewColumns) || !this.personalLayout) {
|
|
@@ -5201,6 +5404,9 @@ var script = {
|
|
|
5201
5404
|
if (label === '' && button.action === 'actions-menu') {
|
|
5202
5405
|
label = translate('nextcloud-vue', 'Actions');
|
|
5203
5406
|
}
|
|
5407
|
+
if (label === '' && button.action === 'save-view') {
|
|
5408
|
+
label = translate('nextcloud-vue', 'Save view');
|
|
5409
|
+
}
|
|
5204
5410
|
return {
|
|
5205
5411
|
key: String(button.id || button.action || index),
|
|
5206
5412
|
label,
|
|
@@ -5528,7 +5734,23 @@ var script = {
|
|
|
5528
5734
|
return valid.length > 0 ? JSON.stringify(valid) : ''
|
|
5529
5735
|
},
|
|
5530
5736
|
|
|
5737
|
+
/**
|
|
5738
|
+
* The header's description line, and on the map with its list the
|
|
5739
|
+
* number of rows on the map after a middle dot ("· 5 met een adres op
|
|
5740
|
+
* de kaart", DqZakenKaart).
|
|
5741
|
+
*
|
|
5742
|
+
* @return {string}
|
|
5743
|
+
*/
|
|
5531
5744
|
headerDescription() {
|
|
5745
|
+
const base = this.headerDescriptionBase;
|
|
5746
|
+
if (this.currentViewMode !== 'map' || !this.mapListEnabled) {
|
|
5747
|
+
return base
|
|
5748
|
+
}
|
|
5749
|
+
const onMap = translatePlural('nextcloud-vue', '%n with an address on the map', '%n with an address on the map', this.mapList.items.length);
|
|
5750
|
+
return base ? `${base} · ${onMap}` : onMap
|
|
5751
|
+
},
|
|
5752
|
+
|
|
5753
|
+
headerDescriptionBase() {
|
|
5532
5754
|
const total = this.effectivePagination?.total;
|
|
5533
5755
|
// Board look: the count line is a template over the rows on this page
|
|
5534
5756
|
// and all rows, "{shown} of {total}" unless the page says otherwise.
|
|
@@ -5549,6 +5771,7 @@ var script = {
|
|
|
5549
5771
|
return this.cnTranslate(countText)
|
|
5550
5772
|
.replace('{shown}', String(shown))
|
|
5551
5773
|
.replace('{total}', String(total))
|
|
5774
|
+
.replace(/\{term\}/g, this.sourceTerm)
|
|
5552
5775
|
}
|
|
5553
5776
|
return this.countLine(this.countSubtitle, total, shown)
|
|
5554
5777
|
}
|
|
@@ -6995,6 +7218,8 @@ var script = {
|
|
|
6995
7218
|
this.showImportDialog = true;
|
|
6996
7219
|
} else if (button.action === 'refresh') {
|
|
6997
7220
|
this.onRefreshEvent();
|
|
7221
|
+
} else if (button.action === 'save-view') {
|
|
7222
|
+
this.showSaveViewDialog = true;
|
|
6998
7223
|
} else {
|
|
6999
7224
|
this.onHeaderAction({ action: button.action, id: button.action });
|
|
7000
7225
|
}
|
|
@@ -7374,6 +7599,9 @@ var script = {
|
|
|
7374
7599
|
if (this.isSelfFetchMode && typeof this.list.onPageChange === 'function') {
|
|
7375
7600
|
this.list.onPageChange(page);
|
|
7376
7601
|
}
|
|
7602
|
+
if (this.isNamedSource && this.namedSource && this.namedSource.pages === true) {
|
|
7603
|
+
this.namedPaging = { ...this.namedPaging, page };
|
|
7604
|
+
}
|
|
7377
7605
|
this.$emit('page-changed', page);
|
|
7378
7606
|
},
|
|
7379
7607
|
|
|
@@ -7389,6 +7617,9 @@ var script = {
|
|
|
7389
7617
|
if (this.isSelfFetchMode && typeof this.list.onPageSizeChange === 'function') {
|
|
7390
7618
|
this.list.onPageSizeChange(size);
|
|
7391
7619
|
}
|
|
7620
|
+
if (this.isNamedSource && this.namedSource && this.namedSource.pages === true) {
|
|
7621
|
+
this.namedPaging = { page: 1, limit: size };
|
|
7622
|
+
}
|
|
7392
7623
|
this.$emit('page-size-changed', size);
|
|
7393
7624
|
},
|
|
7394
7625
|
|
|
@@ -8258,7 +8489,7 @@ var script = {
|
|
|
8258
8489
|
this.cnIndexSidebarConfig.value = {
|
|
8259
8490
|
// markRaw: the holder is CnAppRoot `data()`, so it is deeply
|
|
8260
8491
|
// reactive and would proxy the component definition itself.
|
|
8261
|
-
component: markRaw(__sfc_main$
|
|
8492
|
+
component: markRaw(__sfc_main$t),
|
|
8262
8493
|
props: this.hoistedSidebarProps,
|
|
8263
8494
|
listeners: {
|
|
8264
8495
|
'update:open': (val) => {
|
|
@@ -9005,6 +9236,21 @@ var script = {
|
|
|
9005
9236
|
}
|
|
9006
9237
|
},
|
|
9007
9238
|
|
|
9239
|
+
/**
|
|
9240
|
+
* Put a saved view that changed elsewhere (its alert) back in the list,
|
|
9241
|
+
* matched on its id or uuid.
|
|
9242
|
+
*
|
|
9243
|
+
* @param {object} view The saved view as the server returned it.
|
|
9244
|
+
* @return {void}
|
|
9245
|
+
*/
|
|
9246
|
+
replaceSavedView(view) {
|
|
9247
|
+
if (!view || typeof view !== 'object') {
|
|
9248
|
+
return
|
|
9249
|
+
}
|
|
9250
|
+
const same = (other) => other && ((view.id !== undefined && other.id === view.id) || (view.uuid && other.uuid === view.uuid));
|
|
9251
|
+
this.savedViews = (this.savedViews || []).map((other) => (same(other) ? view : other));
|
|
9252
|
+
},
|
|
9253
|
+
|
|
9008
9254
|
async onSaveViewConfirm({ name, isPublic, sharedWith, presentation }) {
|
|
9009
9255
|
const state = this.isSelfFetchMode
|
|
9010
9256
|
? this.currentViewState()
|