@conduction/nextcloud-vue 2.66.0 → 2.67.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.
Files changed (57) hide show
  1. package/dist/esm/components/CnActionsBar/CnActionsBar.vue2.js +19 -0
  2. package/dist/esm/components/CnActionsBar/CnActionsBar.vue2.js.map +1 -1
  3. package/dist/esm/components/CnActionsBar/CnActionsBar.vue3.js +10 -3
  4. package/dist/esm/components/CnActionsBar/CnActionsBar.vue3.js.map +1 -1
  5. package/dist/esm/components/CnAppNav/CnAppNav.vue2.js +2 -2
  6. package/dist/esm/components/CnAppNav/CnAppNav.vue2.js.map +1 -1
  7. package/dist/esm/components/CnAppNav/CnAppNav.vue3.js.map +1 -1
  8. package/dist/esm/components/CnDataTable/CnDataTable.vue2.js +4 -4
  9. package/dist/esm/components/CnDataTable/CnDataTable.vue2.js.map +1 -1
  10. package/dist/esm/components/CnDataTable/CnDataTable.vue3.js.map +1 -1
  11. package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js +31 -1
  12. package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js.map +1 -1
  13. package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js +335 -313
  14. package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js.map +1 -1
  15. package/dist/esm/components/CnSetupWizard/CnSetupWizard.vue2.js +5 -11
  16. package/dist/esm/components/CnSetupWizard/CnSetupWizard.vue2.js.map +1 -1
  17. package/dist/esm/components/CnSetupWizard/CnSetupWizard.vue3.js.map +1 -1
  18. package/dist/esm/composables/useDependencyCheck.js +44 -1
  19. package/dist/esm/composables/useDependencyCheck.js.map +1 -1
  20. package/dist/esm/composables/useListView.js +43 -1
  21. package/dist/esm/composables/useListView.js.map +1 -1
  22. package/dist/esm/composables/useSetupStatus.js +26 -3
  23. package/dist/esm/composables/useSetupStatus.js.map +1 -1
  24. package/dist/esm/l10n/en.json.js +4 -1
  25. package/dist/esm/l10n/en.json.js.map +1 -1
  26. package/dist/esm/l10n/nl.json.js +4 -1
  27. package/dist/esm/l10n/nl.json.js.map +1 -1
  28. package/dist/esm/nextcloud-vue.css +20 -2
  29. package/dist/esm/store/plugins/liveUpdates.js +19 -9
  30. package/dist/esm/store/plugins/liveUpdates.js.map +1 -1
  31. package/dist/esm/store/useObjectStore.js +20 -9
  32. package/dist/esm/store/useObjectStore.js.map +1 -1
  33. package/dist/esm/utils/validateManifestV2.compiled.js +1 -1
  34. package/dist/esm/utils/validateManifestV2.compiled.js.map +1 -1
  35. package/dist/nextcloud-vue.cjs.js +857 -652
  36. package/dist/nextcloud-vue.cjs.js.map +2 -2
  37. package/dist/nextcloud-vue.css +20 -2
  38. package/l10n/en.json +4 -1
  39. package/l10n/nl.json +4 -1
  40. package/package.json +1 -1
  41. package/src/components/CnActionsBar/CnActionsBar.md +2 -1
  42. package/src/components/CnActionsBar/CnActionsBar.vue +25 -1
  43. package/src/components/CnAppNav/CnAppNav.vue +2 -2
  44. package/src/components/CnDataTable/CnDataTable.md +1 -1
  45. package/src/components/CnDataTable/CnDataTable.vue +4 -4
  46. package/src/components/CnIndexPage/CnIndexPage.md +2 -1
  47. package/src/components/CnIndexPage/CnIndexPage.vue +47 -1
  48. package/src/components/CnSetupWizard/CnSetupWizard.vue +5 -11
  49. package/src/composables/useDependencyCheck.js +43 -0
  50. package/src/composables/useListView.js +43 -1
  51. package/src/composables/useSetupStatus.js +26 -3
  52. package/src/css/actions-bar.css +20 -2
  53. package/src/schemas/app-manifest-v2.schema.json +3 -3
  54. package/src/schemas/app-manifest.schema.json +1 -1
  55. package/src/store/plugins/liveUpdates.js +19 -9
  56. package/src/store/useObjectStore.js +19 -8
  57. package/src/utils/validateManifestV2.compiled.js +1 -1
@@ -15,10 +15,16 @@ const _hoisted_4 = {
15
15
  };
16
16
  const _hoisted_5 = {
17
17
  key: 1,
18
+ class: "cn-index-page__empty",
19
+ role: "status",
20
+ "data-testid": "cn-index-page-fetch-error"
21
+ };
22
+ const _hoisted_6 = {
23
+ key: 2,
18
24
  class: "cn-index-page__empty"
19
25
  };
20
- const _hoisted_6 = ["data-split-layout"];
21
- const _hoisted_7 = ["href", "title"];
26
+ const _hoisted_7 = ["data-split-layout"];
27
+ const _hoisted_8 = ["href", "title"];
22
28
 
23
29
  function render(_ctx, _cache, $props, $setup, $data, $options) {
24
30
  const _component_CnPageHeader = resolveComponent("CnPageHeader");
@@ -43,9 +49,10 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
43
49
  const _component_CnAdvancedFormDialog = resolveComponent("CnAdvancedFormDialog");
44
50
  const _component_CnFolderSidebar = resolveComponent("CnFolderSidebar");
45
51
  const _component_NcLoadingIcon = resolveComponent("NcLoadingIcon");
52
+ const _component_AlertCircleOutline = resolveComponent("AlertCircleOutline");
53
+ const _component_NcEmptyContent = resolveComponent("NcEmptyContent");
46
54
  const _component_CnIcon = resolveComponent("CnIcon");
47
55
  const _component_DatabaseSearch = resolveComponent("DatabaseSearch");
48
- const _component_NcEmptyContent = resolveComponent("NcEmptyContent");
49
56
  const _component_CnRowActions = resolveComponent("CnRowActions");
50
57
  const _component_FilterOutline = resolveComponent("FilterOutline");
51
58
  const _component_NcActionCaption = resolveComponent("NcActionCaption");
@@ -115,6 +122,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
115
122
  showSearch: $props.inlineSearch,
116
123
  searchValue: $options.effectiveSearchValue,
117
124
  searchPlaceholder: $props.searchPlaceholder,
125
+ showCountWithSearch: $props.showCountWithSearch,
118
126
  refreshing: $options.effectiveRefreshing,
119
127
  refreshDisabled: $props.refreshDisabled,
120
128
  addDisabled: $props.addDisabled,
@@ -285,7 +293,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
285
293
  key: "6"
286
294
  }
287
295
  : undefined
288
- ]), 1032 /* PROPS, DYNAMIC_SLOTS */, ["pagination", "objectCount", "selectable", "selectedIds", "addLabel", "addIcon", "inlineActionCount", "showMassImport", "showMassExport", "showMassCopy", "showMassDelete", "viewMode", "showViewToggle", "availableViewModes", "cardsLabel", "tableLabel", "listLabel", "cardsIcon", "tableIcon", "showMap", "mapLabel", "mapIcon", "listIcon", "showSortSelect", "sortOptions", "sortValue", "showSearch", "searchValue", "searchPlaceholder", "refreshing", "refreshDisabled", "addDisabled", "addTo", "showAdd", "showSidebarToggle", "sidebarOpen", "headerActions", "bulkActions", "documentationUrl", "documentationLabel", "onAdd", "onRefresh", "onHeaderAction", "onBulkAction", "onSearch", "onViewModeChange"]),
296
+ ]), 1032 /* PROPS, DYNAMIC_SLOTS */, ["pagination", "objectCount", "selectable", "selectedIds", "addLabel", "addIcon", "inlineActionCount", "showMassImport", "showMassExport", "showMassCopy", "showMassDelete", "viewMode", "showViewToggle", "availableViewModes", "cardsLabel", "tableLabel", "listLabel", "cardsIcon", "tableIcon", "showMap", "mapLabel", "mapIcon", "listIcon", "showSortSelect", "sortOptions", "sortValue", "showSearch", "searchValue", "searchPlaceholder", "showCountWithSearch", "refreshing", "refreshDisabled", "addDisabled", "addTo", "showAdd", "showSidebarToggle", "sidebarOpen", "headerActions", "bulkActions", "documentationUrl", "documentationLabel", "onAdd", "onRefresh", "onHeaderAction", "onBulkAction", "onSearch", "onViewModeChange"]),
289
297
  ($data.quickEditRow !== null)
290
298
  ? (openBlock(), createBlock(_component_CnQuickEditDialog, {
291
299
  key: 1,
@@ -525,334 +533,348 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
525
533
  name: $props.loadingText
526
534
  }, null, 8 /* PROPS */, ["name"])
527
535
  ]))
528
- : ($options.effectiveObjects.length === 0)
536
+ : ($options.selfFetchFailed)
529
537
  ? (openBlock(), createElementBlock("div", _hoisted_5, [
530
- renderSlot(_ctx.$slots, "empty", {}, () => [
531
- createVNode(_component_NcEmptyContent, { name: $options.resolvedEmptyText }, {
532
- icon: withCtx(() => [
533
- ($options.resolvedIcon)
534
- ? (openBlock(), createBlock(_component_CnIcon, {
535
- key: 0,
536
- name: $options.resolvedIcon,
537
- size: 64
538
- }, null, 8 /* PROPS */, ["name"]))
539
- : (openBlock(), createBlock(_component_DatabaseSearch, {
540
- key: 1,
541
- size: 64
542
- }))
543
- ]),
544
- _: 1 /* STABLE */
545
- }, 8 /* PROPS */, ["name"])
546
- ])
538
+ createVNode(_component_NcEmptyContent, {
539
+ name: _ctx.t('nextcloud-vue', 'An error occurred'),
540
+ description: $options.effectiveSearchValue
541
+ ? _ctx.t('nextcloud-vue', 'Change the search or try again.')
542
+ : _ctx.t('nextcloud-vue', 'Try again later.')
543
+ }, {
544
+ icon: withCtx(() => [
545
+ createVNode(_component_AlertCircleOutline, { size: 64 })
546
+ ]),
547
+ _: 1 /* STABLE */
548
+ }, 8 /* PROPS */, ["name", "description"])
547
549
  ]))
548
- : ($data.currentViewMode === 'table')
549
- ? (openBlock(), createBlock(_component_CnDataTable, {
550
- key: 2,
551
- schema: $options.effectiveSchema,
552
- columns: $options.tableColumns,
553
- rowIcon: $props.rowIcon,
554
- rowIndicators: $props.rowIndicators,
555
- rowIndicatorCap: $props.rowIndicatorCap,
556
- rows: $options.displayObjects,
557
- sortKey: $options.effectiveSortKey,
558
- sortOrder: $options.effectiveSortOrder,
559
- sortKeys: $options.effectiveSortKeys,
560
- selectable: $props.selectable,
561
- rowClickToView: $options.rowClickOpens,
562
- selectedIds: $data.internalSelectedIds,
563
- rowKey: $props.rowKey,
564
- emptyText: $props.emptyText,
565
- excludeColumns: $props.excludeColumns,
566
- includeColumns: $props.includeColumns,
567
- columnOverrides: $props.columnOverrides,
568
- rowClass: $props.rowClass,
569
- filterable: $props.headerFilters && !!$options.effectiveSchema,
570
- activeFilters: $options.effectiveActiveFilters,
571
- filterRegister: typeof $props.register === 'string' ? $props.register : '',
572
- onColumnFilter: $options.onColumnFilterEvent,
573
- onSort: $options.onSortEvent,
574
- onSelect: $options.onSelect,
575
- onRowClick: $options.onRowClick,
576
- onRowAuxClick: $options.onRowAuxClick,
577
- onRowContextMenu: $options.onRowContextMenu
578
- }, createSlots({ _: 2 /* DYNAMIC */ }, [
579
- renderList($options.slotColumns, (col) => {
580
- return {
581
- name: `column-${col}`,
582
- fn: withCtx(({ row, value }) => [
583
- renderSlot(_ctx.$slots, 'column-' + col, {
584
- row: row,
585
- value: value
586
- })
587
- ])
588
- }
589
- }),
590
- ($options.hasRowActions)
591
- ? {
592
- name: "row-actions",
593
- fn: withCtx(({ row }) => [
594
- renderSlot(_ctx.$slots, "row-actions", { row: row }, () => [
595
- createVNode(_component_CnRowActions, {
596
- actions: $options.rowActionsFor(row),
597
- row: row,
598
- onAction: $options.onRowAction
599
- }, null, 8 /* PROPS */, ["actions", "row", "onAction"])
600
- ])
601
- ]),
602
- key: "0"
603
- }
604
- : undefined,
605
- (($props.filterMenu && $options.filterableFields.length) || ($props.columnMenu && $options.governedColumns.length))
606
- ? {
607
- name: "actions-header",
608
- fn: withCtx(() => [
609
- ($props.filterMenu && $options.filterableFields.length)
610
- ? (openBlock(), createBlock(_component_NcActions, {
611
- key: 0,
612
- forceMenu: true,
613
- "aria-label": _ctx.t('nextcloud-vue', 'Filter')
614
- }, {
615
- icon: withCtx(() => [
616
- createVNode(_component_FilterOutline, { size: 20 })
617
- ]),
618
- default: withCtx(() => [
619
- (openBlock(true), createElementBlock(Fragment, null, renderList($options.filterableFields, (field) => {
620
- return (openBlock(), createElementBlock(Fragment, {
621
- key: field.key
622
- }, [
623
- createVNode(_component_NcActionCaption, {
624
- name: field.label
625
- }, null, 8 /* PROPS */, ["name"]),
626
- (openBlock(true), createElementBlock(Fragment, null, renderList(field.values, (val) => {
627
- return (openBlock(), createBlock(_component_NcActionCheckbox, {
628
- key: `${field.key}-${val}`,
629
- modelValue: $options.isFilterActive(field.key, val),
630
- "onUpdate:modelValue": $event => ($options.toggleFilter(field.key, val))
631
- }, {
632
- default: withCtx(() => [
633
- createTextVNode(toDisplayString(val), 1 /* TEXT */)
634
- ]),
635
- _: 2 /* DYNAMIC */
636
- }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["modelValue", "onUpdate:modelValue"]))
637
- }), 128 /* KEYED_FRAGMENT */))
638
- ], 64 /* STABLE_FRAGMENT */))
639
- }), 128 /* KEYED_FRAGMENT */))
640
- ]),
641
- _: 1 /* STABLE */
642
- }, 8 /* PROPS */, ["aria-label"]))
643
- : createCommentVNode("v-if", true),
644
- ($props.columnMenu && $options.governedColumns.length)
645
- ? (openBlock(), createBlock(_component_NcActions, {
646
- key: 1,
647
- forceMenu: true,
648
- "aria-label": _ctx.t('nextcloud-vue', 'Columns')
649
- }, {
650
- icon: withCtx(() => [
651
- createVNode(_component_ViewColumnOutline, { size: 20 })
652
- ]),
653
- default: withCtx(() => [
654
- createVNode(_component_NcActionCaption, {
655
- name: _ctx.t('nextcloud-vue', 'Columns')
656
- }, null, 8 /* PROPS */, ["name"]),
657
- (openBlock(true), createElementBlock(Fragment, null, renderList($options.governedColumns, (col) => {
658
- return (openBlock(), createBlock(_component_NcActionCheckbox, {
659
- key: `col-${col.key}`,
660
- modelValue: $options.isColumnVisible(col.key),
661
- "onUpdate:modelValue": $event => ($options.toggleColumn(col.key))
662
- }, {
663
- default: withCtx(() => [
664
- createTextVNode(toDisplayString($options.cnTranslate(col.label || col.key)), 1 /* TEXT */)
665
- ]),
666
- _: 2 /* DYNAMIC */
667
- }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["modelValue", "onUpdate:modelValue"]))
668
- }), 128 /* KEYED_FRAGMENT */))
669
- ]),
670
- _: 1 /* STABLE */
671
- }, 8 /* PROPS */, ["aria-label"]))
672
- : createCommentVNode("v-if", true)
673
- ]),
674
- key: "1"
675
- }
676
- : undefined
677
- ]), 1032 /* PROPS, DYNAMIC_SLOTS */, ["schema", "columns", "rowIcon", "rowIndicators", "rowIndicatorCap", "rows", "sortKey", "sortOrder", "sortKeys", "selectable", "rowClickToView", "selectedIds", "rowKey", "emptyText", "excludeColumns", "includeColumns", "columnOverrides", "rowClass", "filterable", "activeFilters", "filterRegister", "onColumnFilter", "onSort", "onSelect", "onRowClick", "onRowAuxClick", "onRowContextMenu"]))
678
- : ($data.currentViewMode === 'map')
679
- ? (openBlock(), createBlock(_component_CnMapWidget, {
550
+ : ($options.effectiveObjects.length === 0)
551
+ ? (openBlock(), createElementBlock("div", _hoisted_6, [
552
+ renderSlot(_ctx.$slots, "empty", {}, () => [
553
+ createVNode(_component_NcEmptyContent, { name: $options.resolvedEmptyText }, {
554
+ icon: withCtx(() => [
555
+ ($options.resolvedIcon)
556
+ ? (openBlock(), createBlock(_component_CnIcon, {
557
+ key: 0,
558
+ name: $options.resolvedIcon,
559
+ size: 64
560
+ }, null, 8 /* PROPS */, ["name"]))
561
+ : (openBlock(), createBlock(_component_DatabaseSearch, {
562
+ key: 1,
563
+ size: 64
564
+ }))
565
+ ]),
566
+ _: 1 /* STABLE */
567
+ }, 8 /* PROPS */, ["name"])
568
+ ])
569
+ ]))
570
+ : ($data.currentViewMode === 'table')
571
+ ? (openBlock(), createBlock(_component_CnDataTable, {
680
572
  key: 3,
681
- class: "cn-index-page__map",
682
- center: $options.mapCenter,
683
- layers: $options.mapLayers,
684
- basemaps: $options.mapBasemaps,
685
- markers: $options.mapMarkers,
686
- clustering: $options.mapClustering,
687
- autoFit: true,
688
- height: "100%",
689
- onMarkerClick: $options.onMarkerClick
690
- }, null, 8 /* PROPS */, ["center", "layers", "basemaps", "markers", "clustering", "onMarkerClick"]))
691
- : ($data.currentViewMode === 'board')
692
- ? (openBlock(), createBlock(_component_CnBoardView, {
573
+ schema: $options.effectiveSchema,
574
+ columns: $options.tableColumns,
575
+ rowIcon: $props.rowIcon,
576
+ rowIndicators: $props.rowIndicators,
577
+ rowIndicatorCap: $props.rowIndicatorCap,
578
+ rows: $options.displayObjects,
579
+ sortKey: $options.effectiveSortKey,
580
+ sortOrder: $options.effectiveSortOrder,
581
+ sortKeys: $options.effectiveSortKeys,
582
+ selectable: $props.selectable,
583
+ rowClickToView: $options.rowClickOpens,
584
+ selectedIds: $data.internalSelectedIds,
585
+ rowKey: $props.rowKey,
586
+ emptyText: $props.emptyText,
587
+ excludeColumns: $props.excludeColumns,
588
+ includeColumns: $props.includeColumns,
589
+ columnOverrides: $props.columnOverrides,
590
+ rowClass: $props.rowClass,
591
+ filterable: $props.headerFilters && !!$options.effectiveSchema,
592
+ activeFilters: $options.effectiveActiveFilters,
593
+ filterRegister: typeof $props.register === 'string' ? $props.register : '',
594
+ onColumnFilter: $options.onColumnFilterEvent,
595
+ onSort: $options.onSortEvent,
596
+ onSelect: $options.onSelect,
597
+ onRowClick: $options.onRowClick,
598
+ onRowAuxClick: $options.onRowAuxClick,
599
+ onRowContextMenu: $options.onRowContextMenu
600
+ }, createSlots({ _: 2 /* DYNAMIC */ }, [
601
+ renderList($options.slotColumns, (col) => {
602
+ return {
603
+ name: `column-${col}`,
604
+ fn: withCtx(({ row, value }) => [
605
+ renderSlot(_ctx.$slots, 'column-' + col, {
606
+ row: row,
607
+ value: value
608
+ })
609
+ ])
610
+ }
611
+ }),
612
+ ($options.hasRowActions)
613
+ ? {
614
+ name: "row-actions",
615
+ fn: withCtx(({ row }) => [
616
+ renderSlot(_ctx.$slots, "row-actions", { row: row }, () => [
617
+ createVNode(_component_CnRowActions, {
618
+ actions: $options.rowActionsFor(row),
619
+ row: row,
620
+ onAction: $options.onRowAction
621
+ }, null, 8 /* PROPS */, ["actions", "row", "onAction"])
622
+ ])
623
+ ]),
624
+ key: "0"
625
+ }
626
+ : undefined,
627
+ (($props.filterMenu && $options.filterableFields.length) || ($props.columnMenu && $options.governedColumns.length))
628
+ ? {
629
+ name: "actions-header",
630
+ fn: withCtx(() => [
631
+ ($props.filterMenu && $options.filterableFields.length)
632
+ ? (openBlock(), createBlock(_component_NcActions, {
633
+ key: 0,
634
+ forceMenu: true,
635
+ "aria-label": _ctx.t('nextcloud-vue', 'Filter')
636
+ }, {
637
+ icon: withCtx(() => [
638
+ createVNode(_component_FilterOutline, { size: 20 })
639
+ ]),
640
+ default: withCtx(() => [
641
+ (openBlock(true), createElementBlock(Fragment, null, renderList($options.filterableFields, (field) => {
642
+ return (openBlock(), createElementBlock(Fragment, {
643
+ key: field.key
644
+ }, [
645
+ createVNode(_component_NcActionCaption, {
646
+ name: field.label
647
+ }, null, 8 /* PROPS */, ["name"]),
648
+ (openBlock(true), createElementBlock(Fragment, null, renderList(field.values, (val) => {
649
+ return (openBlock(), createBlock(_component_NcActionCheckbox, {
650
+ key: `${field.key}-${val}`,
651
+ modelValue: $options.isFilterActive(field.key, val),
652
+ "onUpdate:modelValue": $event => ($options.toggleFilter(field.key, val))
653
+ }, {
654
+ default: withCtx(() => [
655
+ createTextVNode(toDisplayString(val), 1 /* TEXT */)
656
+ ]),
657
+ _: 2 /* DYNAMIC */
658
+ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["modelValue", "onUpdate:modelValue"]))
659
+ }), 128 /* KEYED_FRAGMENT */))
660
+ ], 64 /* STABLE_FRAGMENT */))
661
+ }), 128 /* KEYED_FRAGMENT */))
662
+ ]),
663
+ _: 1 /* STABLE */
664
+ }, 8 /* PROPS */, ["aria-label"]))
665
+ : createCommentVNode("v-if", true),
666
+ ($props.columnMenu && $options.governedColumns.length)
667
+ ? (openBlock(), createBlock(_component_NcActions, {
668
+ key: 1,
669
+ forceMenu: true,
670
+ "aria-label": _ctx.t('nextcloud-vue', 'Columns')
671
+ }, {
672
+ icon: withCtx(() => [
673
+ createVNode(_component_ViewColumnOutline, { size: 20 })
674
+ ]),
675
+ default: withCtx(() => [
676
+ createVNode(_component_NcActionCaption, {
677
+ name: _ctx.t('nextcloud-vue', 'Columns')
678
+ }, null, 8 /* PROPS */, ["name"]),
679
+ (openBlock(true), createElementBlock(Fragment, null, renderList($options.governedColumns, (col) => {
680
+ return (openBlock(), createBlock(_component_NcActionCheckbox, {
681
+ key: `col-${col.key}`,
682
+ modelValue: $options.isColumnVisible(col.key),
683
+ "onUpdate:modelValue": $event => ($options.toggleColumn(col.key))
684
+ }, {
685
+ default: withCtx(() => [
686
+ createTextVNode(toDisplayString($options.cnTranslate(col.label || col.key)), 1 /* TEXT */)
687
+ ]),
688
+ _: 2 /* DYNAMIC */
689
+ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["modelValue", "onUpdate:modelValue"]))
690
+ }), 128 /* KEYED_FRAGMENT */))
691
+ ]),
692
+ _: 1 /* STABLE */
693
+ }, 8 /* PROPS */, ["aria-label"]))
694
+ : createCommentVNode("v-if", true)
695
+ ]),
696
+ key: "1"
697
+ }
698
+ : undefined
699
+ ]), 1032 /* PROPS, DYNAMIC_SLOTS */, ["schema", "columns", "rowIcon", "rowIndicators", "rowIndicatorCap", "rows", "sortKey", "sortOrder", "sortKeys", "selectable", "rowClickToView", "selectedIds", "rowKey", "emptyText", "excludeColumns", "includeColumns", "columnOverrides", "rowClass", "filterable", "activeFilters", "filterRegister", "onColumnFilter", "onSort", "onSelect", "onRowClick", "onRowAuxClick", "onRowContextMenu"]))
700
+ : ($data.currentViewMode === 'map')
701
+ ? (openBlock(), createBlock(_component_CnMapWidget, {
693
702
  key: 4,
694
- rows: $options.displayObjects,
695
- statusFieldSchema: $options.boardStatusFieldSchema,
696
- statusField: $props.board.statusField || 'status',
697
- cardFields: $props.board.cardFields || [],
698
- swimlaneField: $props.board.swimlaneField || '',
699
- dueRule: $props.board.dueRule || null,
700
- rowKey: $props.rowKey,
701
- runTransition: $props.runTransition,
702
- paged: $options.isPaged,
703
- onCardClick: $options.onRowClick,
704
- onCardAuxClick: $options.onRowAuxClick,
705
- onMoved: $options.onBoardMoved
706
- }, null, 8 /* PROPS */, ["rows", "statusFieldSchema", "statusField", "cardFields", "swimlaneField", "dueRule", "rowKey", "runTransition", "paged", "onCardClick", "onCardAuxClick", "onMoved"]))
707
- : ($data.currentViewMode === 'dateAxis')
708
- ? (openBlock(), createBlock(_component_CnDateAxisView, {
703
+ class: "cn-index-page__map",
704
+ center: $options.mapCenter,
705
+ layers: $options.mapLayers,
706
+ basemaps: $options.mapBasemaps,
707
+ markers: $options.mapMarkers,
708
+ clustering: $options.mapClustering,
709
+ autoFit: true,
710
+ height: "100%",
711
+ onMarkerClick: $options.onMarkerClick
712
+ }, null, 8 /* PROPS */, ["center", "layers", "basemaps", "markers", "clustering", "onMarkerClick"]))
713
+ : ($data.currentViewMode === 'board')
714
+ ? (openBlock(), createBlock(_component_CnBoardView, {
709
715
  key: 5,
710
716
  rows: $options.displayObjects,
711
- startField: $props.dateAxis.startField || '',
712
- endField: $props.dateAxis.endField || '',
713
- laneField: $props.dateAxis.laneField || '',
714
- labelField: $props.dateAxis.labelField || '',
717
+ statusFieldSchema: $options.boardStatusFieldSchema,
718
+ statusField: $props.board.statusField || 'status',
719
+ cardFields: $props.board.cardFields || [],
720
+ swimlaneField: $props.board.swimlaneField || '',
721
+ dueRule: $props.board.dueRule || null,
715
722
  rowKey: $props.rowKey,
716
- onRowClick: $options.onRowClick,
717
- onRowAuxClick: $options.onRowAuxClick
718
- }, null, 8 /* PROPS */, ["rows", "startField", "endField", "laneField", "labelField", "rowKey", "onRowClick", "onRowAuxClick"]))
719
- : ($data.currentViewMode === 'list')
720
- ? (openBlock(), createBlock(_component_CnObjectList, {
723
+ runTransition: $props.runTransition,
724
+ paged: $options.isPaged,
725
+ onCardClick: $options.onRowClick,
726
+ onCardAuxClick: $options.onRowAuxClick,
727
+ onMoved: $options.onBoardMoved
728
+ }, null, 8 /* PROPS */, ["rows", "statusFieldSchema", "statusField", "cardFields", "swimlaneField", "dueRule", "rowKey", "runTransition", "paged", "onCardClick", "onCardAuxClick", "onMoved"]))
729
+ : ($data.currentViewMode === 'dateAxis')
730
+ ? (openBlock(), createBlock(_component_CnDateAxisView, {
721
731
  key: 6,
722
- objects: $options.displayObjects,
723
- schema: $options.effectiveSchema,
724
- config: $props.listConfig,
725
- selectable: $props.selectable,
726
- selectedIds: $data.internalSelectedIds,
732
+ rows: $options.displayObjects,
733
+ startField: $props.dateAxis.startField || '',
734
+ endField: $props.dateAxis.endField || '',
735
+ laneField: $props.dateAxis.laneField || '',
736
+ labelField: $props.dateAxis.labelField || '',
727
737
  rowKey: $props.rowKey,
728
- emptyText: $props.emptyText,
729
- onClick: $options.onRowClick,
730
- onAuxClick: $options.onRowAuxClick,
731
- onSelect: $options.onSelect
732
- }, createSlots({ _: 2 /* DYNAMIC */ }, [
733
- (_ctx.$slots['list-item'])
734
- ? {
735
- name: "list-item",
736
- fn: withCtx(({ object, selected }) => [
737
- renderSlot(_ctx.$slots, "list-item", {
738
- object: object,
739
- selected: selected
740
- })
741
- ]),
742
- key: "0"
743
- }
744
- : ($options.resolvedListComponent)
738
+ onRowClick: $options.onRowClick,
739
+ onRowAuxClick: $options.onRowAuxClick
740
+ }, null, 8 /* PROPS */, ["rows", "startField", "endField", "laneField", "labelField", "rowKey", "onRowClick", "onRowAuxClick"]))
741
+ : ($data.currentViewMode === 'list')
742
+ ? (openBlock(), createBlock(_component_CnObjectList, {
743
+ key: 7,
744
+ objects: $options.displayObjects,
745
+ schema: $options.effectiveSchema,
746
+ config: $props.listConfig,
747
+ selectable: $props.selectable,
748
+ selectedIds: $data.internalSelectedIds,
749
+ rowKey: $props.rowKey,
750
+ emptyText: $props.emptyText,
751
+ onClick: $options.onRowClick,
752
+ onAuxClick: $options.onRowAuxClick,
753
+ onSelect: $options.onSelect
754
+ }, createSlots({ _: 2 /* DYNAMIC */ }, [
755
+ (_ctx.$slots['list-item'])
745
756
  ? {
746
757
  name: "list-item",
747
758
  fn: withCtx(({ object, selected }) => [
748
- (openBlock(), createBlock(resolveDynamicComponent($options.resolvedListComponent), {
749
- item: object,
759
+ renderSlot(_ctx.$slots, "list-item", {
750
760
  object: object,
751
- schema: $options.effectiveSchema,
752
- register: $props.register,
753
- selected: selected,
754
- onClick: (...args) => $options.onRowClick(object, args.find($options.isDomEvent)),
755
- onMousedown: $options.onCustomItemMouseDown,
756
- onAuxclick: $event => ($options.onCustomItemAuxClick(object, $event)),
757
- onSelect: $event => ($options.onSelect($options.toggleIdInArray($data.internalSelectedIds, object[$props.rowKey])))
758
- }, null, 40 /* PROPS, NEED_HYDRATION */, ["item", "object", "schema", "register", "selected", "onClick", "onMousedown", "onAuxclick", "onSelect"]))
761
+ selected: selected
762
+ })
759
763
  ]),
760
- key: "1"
764
+ key: "0"
765
+ }
766
+ : ($options.resolvedListComponent)
767
+ ? {
768
+ name: "list-item",
769
+ fn: withCtx(({ object, selected }) => [
770
+ (openBlock(), createBlock(resolveDynamicComponent($options.resolvedListComponent), {
771
+ item: object,
772
+ object: object,
773
+ schema: $options.effectiveSchema,
774
+ register: $props.register,
775
+ selected: selected,
776
+ onClick: (...args) => $options.onRowClick(object, args.find($options.isDomEvent)),
777
+ onMousedown: $options.onCustomItemMouseDown,
778
+ onAuxclick: $event => ($options.onCustomItemAuxClick(object, $event)),
779
+ onSelect: $event => ($options.onSelect($options.toggleIdInArray($data.internalSelectedIds, object[$props.rowKey])))
780
+ }, null, 40 /* PROPS, NEED_HYDRATION */, ["item", "object", "schema", "register", "selected", "onClick", "onMousedown", "onAuxclick", "onSelect"]))
781
+ ]),
782
+ key: "1"
783
+ }
784
+ : undefined,
785
+ (_ctx.$slots['row-icon'])
786
+ ? {
787
+ name: "row-icon",
788
+ fn: withCtx(({ object }) => [
789
+ renderSlot(_ctx.$slots, "row-icon", { object: object })
790
+ ]),
791
+ key: "2"
761
792
  }
762
793
  : undefined,
763
- (_ctx.$slots['row-icon'])
764
- ? {
765
- name: "row-icon",
766
- fn: withCtx(({ object }) => [
767
- renderSlot(_ctx.$slots, "row-icon", { object: object })
768
- ]),
769
- key: "2"
770
- }
771
- : undefined,
772
- (_ctx.$slots['row-badges'])
773
- ? {
774
- name: "row-badges",
775
- fn: withCtx(({ object }) => [
776
- renderSlot(_ctx.$slots, "row-badges", { object: object })
777
- ]),
778
- key: "3"
779
- }
780
- : undefined,
781
- ($options.hasRowActions || _ctx.$slots['row-actions'])
782
- ? {
783
- name: "row-actions",
784
- fn: withCtx(({ object }) => [
785
- renderSlot(_ctx.$slots, "row-actions", { row: object }, () => [
786
- createVNode(_component_CnRowActions, {
787
- actions: $options.rowActionsFor(object),
788
- row: object,
789
- onAction: $options.onRowAction
790
- }, null, 8 /* PROPS */, ["actions", "row", "onAction"])
791
- ])
792
- ]),
793
- key: "4"
794
- }
795
- : undefined
796
- ]), 1032 /* PROPS, DYNAMIC_SLOTS */, ["objects", "schema", "config", "selectable", "selectedIds", "rowKey", "emptyText", "onClick", "onAuxClick", "onSelect"]))
797
- : (openBlock(), createBlock(_component_CnCardGrid, {
798
- key: 7,
799
- objects: $options.displayObjects,
800
- schema: $options.effectiveSchema,
801
- selectable: $props.selectable,
802
- clickToView: $options.rowClickOpens,
803
- selectedIds: $data.internalSelectedIds,
804
- rowKey: $props.rowKey,
805
- emptyText: $props.emptyText,
806
- onClick: $options.onRowClick,
807
- onAuxClick: $options.onRowAuxClick,
808
- onSelect: $options.onSelect
809
- }, createSlots({ _: 2 /* DYNAMIC */ }, [
810
- (_ctx.$slots.card)
811
- ? {
812
- name: "card",
813
- fn: withCtx(({ object, selected }) => [
814
- renderSlot(_ctx.$slots, "card", {
815
- object: object,
816
- selected: selected
817
- })
818
- ]),
819
- key: "0"
820
- }
821
- : ($options.resolvedCardComponent)
794
+ (_ctx.$slots['row-badges'])
795
+ ? {
796
+ name: "row-badges",
797
+ fn: withCtx(({ object }) => [
798
+ renderSlot(_ctx.$slots, "row-badges", { object: object })
799
+ ]),
800
+ key: "3"
801
+ }
802
+ : undefined,
803
+ ($options.hasRowActions || _ctx.$slots['row-actions'])
804
+ ? {
805
+ name: "row-actions",
806
+ fn: withCtx(({ object }) => [
807
+ renderSlot(_ctx.$slots, "row-actions", { row: object }, () => [
808
+ createVNode(_component_CnRowActions, {
809
+ actions: $options.rowActionsFor(object),
810
+ row: object,
811
+ onAction: $options.onRowAction
812
+ }, null, 8 /* PROPS */, ["actions", "row", "onAction"])
813
+ ])
814
+ ]),
815
+ key: "4"
816
+ }
817
+ : undefined
818
+ ]), 1032 /* PROPS, DYNAMIC_SLOTS */, ["objects", "schema", "config", "selectable", "selectedIds", "rowKey", "emptyText", "onClick", "onAuxClick", "onSelect"]))
819
+ : (openBlock(), createBlock(_component_CnCardGrid, {
820
+ key: 8,
821
+ objects: $options.displayObjects,
822
+ schema: $options.effectiveSchema,
823
+ selectable: $props.selectable,
824
+ clickToView: $options.rowClickOpens,
825
+ selectedIds: $data.internalSelectedIds,
826
+ rowKey: $props.rowKey,
827
+ emptyText: $props.emptyText,
828
+ onClick: $options.onRowClick,
829
+ onAuxClick: $options.onRowAuxClick,
830
+ onSelect: $options.onSelect
831
+ }, createSlots({ _: 2 /* DYNAMIC */ }, [
832
+ (_ctx.$slots.card)
822
833
  ? {
823
834
  name: "card",
824
835
  fn: withCtx(({ object, selected }) => [
825
- (openBlock(), createBlock(resolveDynamicComponent($options.resolvedCardComponent), {
826
- item: object,
836
+ renderSlot(_ctx.$slots, "card", {
827
837
  object: object,
828
- schema: $options.effectiveSchema,
829
- register: $props.register,
830
- selected: selected,
831
- onClick: (...args) => $options.onRowClick(object, args.find($options.isDomEvent)),
832
- onMousedown: $options.onCustomItemMouseDown,
833
- onAuxclick: $event => ($options.onCustomItemAuxClick(object, $event)),
834
- onSelect: $event => ($options.onSelect($options.toggleIdInArray($data.internalSelectedIds, object[$props.rowKey])))
835
- }, null, 40 /* PROPS, NEED_HYDRATION */, ["item", "object", "schema", "register", "selected", "onClick", "onMousedown", "onAuxclick", "onSelect"]))
838
+ selected: selected
839
+ })
836
840
  ]),
837
- key: "1"
841
+ key: "0"
838
842
  }
839
- : undefined,
840
- ($options.hasRowActions)
841
- ? {
842
- name: "card-actions",
843
- fn: withCtx(({ object }) => [
844
- renderSlot(_ctx.$slots, "row-actions", { row: object }, () => [
845
- createVNode(_component_CnRowActions, {
846
- actions: $options.rowActionsFor(object),
847
- row: object,
848
- onAction: $options.onRowAction
849
- }, null, 8 /* PROPS */, ["actions", "row", "onAction"])
850
- ])
851
- ]),
852
- key: "2"
853
- }
854
- : undefined
855
- ]), 1032 /* PROPS, DYNAMIC_SLOTS */, ["objects", "schema", "selectable", "clickToView", "selectedIds", "rowKey", "emptyText", "onClick", "onAuxClick", "onSelect"])),
843
+ : ($options.resolvedCardComponent)
844
+ ? {
845
+ name: "card",
846
+ fn: withCtx(({ object, selected }) => [
847
+ (openBlock(), createBlock(resolveDynamicComponent($options.resolvedCardComponent), {
848
+ item: object,
849
+ object: object,
850
+ schema: $options.effectiveSchema,
851
+ register: $props.register,
852
+ selected: selected,
853
+ onClick: (...args) => $options.onRowClick(object, args.find($options.isDomEvent)),
854
+ onMousedown: $options.onCustomItemMouseDown,
855
+ onAuxclick: $event => ($options.onCustomItemAuxClick(object, $event)),
856
+ onSelect: $event => ($options.onSelect($options.toggleIdInArray($data.internalSelectedIds, object[$props.rowKey])))
857
+ }, null, 40 /* PROPS, NEED_HYDRATION */, ["item", "object", "schema", "register", "selected", "onClick", "onMousedown", "onAuxclick", "onSelect"]))
858
+ ]),
859
+ key: "1"
860
+ }
861
+ : undefined,
862
+ ($options.hasRowActions)
863
+ ? {
864
+ name: "card-actions",
865
+ fn: withCtx(({ object }) => [
866
+ renderSlot(_ctx.$slots, "row-actions", { row: object }, () => [
867
+ createVNode(_component_CnRowActions, {
868
+ actions: $options.rowActionsFor(object),
869
+ row: object,
870
+ onAction: $options.onRowAction
871
+ }, null, 8 /* PROPS */, ["actions", "row", "onAction"])
872
+ ])
873
+ ]),
874
+ key: "2"
875
+ }
876
+ : undefined
877
+ ]), 1032 /* PROPS, DYNAMIC_SLOTS */, ["objects", "schema", "selectable", "clickToView", "selectedIds", "rowKey", "emptyText", "onClick", "onAuxClick", "onSelect"])),
856
878
  createVNode(_component_CnContextMenu, {
857
879
  open: $setup.contextMenuOpen,
858
880
  "onUpdate:open": _cache[21] || (_cache[21] = $event => (($setup.contextMenuOpen) = $event)),
@@ -863,7 +885,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
863
885
  }, null, 8 /* PROPS */, ["open", "actions", "targetItem", "onAction", "onClose"]),
864
886
  ($options.effectivePagination && $options.effectivePagination.pages > 1)
865
887
  ? (openBlock(), createBlock(_component_CnPagination, {
866
- key: 8,
888
+ key: 9,
867
889
  currentPage: $options.effectivePagination.page || 1,
868
890
  totalPages: $options.effectivePagination.pages || 1,
869
891
  totalItems: $options.effectivePagination.total || 0,
@@ -895,7 +917,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
895
917
  }, [
896
918
  createVNode(_component_Close, { size: 16 }),
897
919
  createElementVNode("span", null, toDisplayString($options.splitCloseTitle), 1 /* TEXT */)
898
- ], 8 /* PROPS */, _hoisted_7))
920
+ ], 8 /* PROPS */, _hoisted_8))
899
921
  : createCommentVNode("v-if", true),
900
922
  renderSlot(_ctx.$slots, "split-pane", {
901
923
  id: $props.splitId,
@@ -903,7 +925,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
903
925
  close: $options.closeSplitPane,
904
926
  saved: $options.onSplitPaneSaved
905
927
  })
906
- ], 14 /* CLASS, STYLE, PROPS */, _hoisted_6))
928
+ ], 14 /* CLASS, STYLE, PROPS */, _hoisted_7))
907
929
  : createCommentVNode("v-if", true)
908
930
  ], 2 /* CLASS */),
909
931
  ($options.shouldRenderInlineSidebar)