@conduction/nextcloud-vue 2.115.0 → 2.116.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/CnActionButtons/CnActionButtons.vue.js +1 -1
- package/dist/esm/components/CnActionButtons/CnActionButtons.vue2.js +92 -0
- package/dist/esm/components/CnActionButtons/CnActionButtons.vue2.js.map +1 -1
- package/dist/esm/components/CnActionButtons/CnActionButtons.vue3.js +2 -2
- package/dist/esm/components/CnActionButtons/CnActionButtons.vue3.js.map +1 -1
- package/dist/esm/components/CnChecklistWidget/CnChecklistWidget.vue.js +9 -0
- package/dist/esm/components/CnChecklistWidget/CnChecklistWidget.vue.js.map +1 -0
- package/dist/esm/components/CnChecklistWidget/CnChecklistWidget.vue2.js +145 -0
- package/dist/esm/components/CnChecklistWidget/CnChecklistWidget.vue2.js.map +1 -0
- package/dist/esm/components/CnChecklistWidget/CnChecklistWidget.vue3.js +58 -0
- package/dist/esm/components/CnChecklistWidget/CnChecklistWidget.vue3.js.map +1 -0
- package/dist/esm/components/CnChecklistWidget/index.js +28 -0
- package/dist/esm/components/CnChecklistWidget/index.js.map +1 -0
- package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue.js +1 -1
- package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue2.js +25 -0
- 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/CnDetailPage/CnDetailPage.vue2.js +376 -51
- package/dist/esm/components/CnDetailPage/CnDetailPage.vue2.js.map +1 -1
- package/dist/esm/components/CnDetailPage/CnDetailPage.vue3.js +364 -285
- package/dist/esm/components/CnDetailPage/CnDetailPage.vue3.js.map +1 -1
- package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHost.vue.js +1 -1
- package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHost.vue2.js +11 -0
- package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHost.vue2.js.map +1 -1
- package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHost.vue3.js +6 -4
- package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHost.vue3.js.map +1 -1
- package/dist/esm/components/CnGroupedCardsWidget/CnGroupedCardsWidget.vue.js +1 -1
- package/dist/esm/components/CnGroupedCardsWidget/CnGroupedCardsWidget.vue2.js +48 -1
- package/dist/esm/components/CnGroupedCardsWidget/CnGroupedCardsWidget.vue2.js.map +1 -1
- package/dist/esm/components/CnGroupedCardsWidget/CnGroupedCardsWidget.vue3.js +11 -2
- package/dist/esm/components/CnGroupedCardsWidget/CnGroupedCardsWidget.vue3.js.map +1 -1
- package/dist/esm/components/CnMacrosWidget/CnMacrosWidget.vue.js +1 -1
- package/dist/esm/components/CnMacrosWidget/CnMacrosWidget.vue2.js +11 -3
- package/dist/esm/components/CnMacrosWidget/CnMacrosWidget.vue2.js.map +1 -1
- package/dist/esm/components/CnMacrosWidget/CnMacrosWidget.vue3.js +8 -3
- package/dist/esm/components/CnMacrosWidget/CnMacrosWidget.vue3.js.map +1 -1
- package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue.js +1 -1
- package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue2.js +55 -2
- 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/CnRecordListWidget/CnRecordListWidget.vue.js +1 -1
- package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue2.js +94 -4
- package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue2.js.map +1 -1
- package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue3.js +248 -239
- package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue3.js.map +1 -1
- package/dist/esm/components/CnRecordListWidget/CnRecordNoteRows.vue.js +9 -0
- package/dist/esm/components/CnRecordListWidget/CnRecordNoteRows.vue.js.map +1 -0
- package/dist/esm/components/CnRecordListWidget/CnRecordNoteRows.vue2.js +282 -0
- package/dist/esm/components/CnRecordListWidget/CnRecordNoteRows.vue2.js.map +1 -0
- package/dist/esm/components/CnRecordListWidget/CnRecordNoteRows.vue3.js +202 -0
- package/dist/esm/components/CnRecordListWidget/CnRecordNoteRows.vue3.js.map +1 -0
- package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue.js +1 -1
- package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue2.js +10 -5
- 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/CnWidgetGrid/registerDashboardWidgets.js +1 -0
- package/dist/esm/components/CnWidgetGrid/registerDashboardWidgets.js.map +1 -1
- package/dist/esm/composables/indexSources.js +64 -0
- package/dist/esm/composables/indexSources.js.map +1 -1
- package/dist/esm/composables/useTaskInboxStore.js +85 -0
- package/dist/esm/composables/useTaskInboxStore.js.map +1 -1
- package/dist/esm/dialogs/CnAccessPurposeDialog.vue.js +9 -0
- package/dist/esm/dialogs/CnAccessPurposeDialog.vue.js.map +1 -0
- package/dist/esm/dialogs/CnAccessPurposeDialog.vue2.js +107 -0
- package/dist/esm/dialogs/CnAccessPurposeDialog.vue2.js.map +1 -0
- package/dist/esm/dialogs/CnAccessPurposeDialog.vue3.js +110 -0
- package/dist/esm/dialogs/CnAccessPurposeDialog.vue3.js.map +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/l10n/en.json.js +19 -1
- package/dist/esm/l10n/en.json.js.map +1 -1
- package/dist/esm/l10n/nl.json.js +23 -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 +1054 -911
- package/dist/esm/utils/actionsDispatcher.js +10 -5
- package/dist/esm/utils/actionsDispatcher.js.map +1 -1
- package/dist/esm/utils/detailActionModel.js +6 -2
- package/dist/esm/utils/detailActionModel.js.map +1 -1
- package/dist/esm/utils/libraryWidgetKeys.js +1 -0
- package/dist/esm/utils/libraryWidgetKeys.js.map +1 -1
- package/dist/esm/utils/validateManifestV2.compiled.js +3 -3
- package/dist/esm/utils/validateManifestV2.compiled.js.map +1 -1
- package/dist/esm/utils/widgetDispatch.js +1 -1
- package/dist/esm/utils/widgetDispatch.js.map +1 -1
- package/dist/nextcloud-vue.cjs.js +17078 -15224
- package/dist/nextcloud-vue.cjs.js.map +2 -2
- package/dist/nextcloud-vue.css +1054 -911
- package/l10n/en.json +19 -1
- package/l10n/nl.json +23 -1
- package/package.json +1 -1
- package/src/components/CnActionButtons/CnActionButtons.vue +93 -1
- package/src/components/CnChecklistWidget/CnChecklistWidget.vue +206 -0
- package/src/components/CnChecklistWidget/index.js +27 -0
- package/src/components/CnDashboardPage/CnDashboardPage.vue +26 -1
- package/src/components/CnDetailPage/CnDetailPage.md +2 -0
- package/src/components/CnDetailPage/CnDetailPage.vue +377 -10
- package/src/components/CnDetailWidgetHost/CnDetailWidgetHost.vue +15 -2
- package/src/components/CnGroupedCardsWidget/CnGroupedCardsWidget.vue +59 -1
- package/src/components/CnMacrosWidget/CnMacrosWidget.vue +16 -6
- package/src/components/CnObjectListWidget/CnObjectListWidget.vue +55 -2
- package/src/components/CnRecordListWidget/CnRecordListWidget.vue +101 -3
- package/src/components/CnRecordListWidget/CnRecordNoteRows.vue +508 -0
- package/src/components/CnTabsWidget/CnTabsWidget.vue +10 -5
- package/src/components/CnWidgetGrid/registerDashboardWidgets.js +1 -0
- package/src/components/index.js +1 -0
- package/src/composables/indexSources.js +64 -0
- package/src/composables/useTaskInboxStore.js +85 -0
- package/src/dialogs/CnAccessPurposeDialog.vue +183 -0
- package/src/index.js +1 -0
- package/src/schemas/app-manifest-v2.schema.json +49 -3
- package/src/utils/actionsDispatcher.js +10 -5
- package/src/utils/detailActionModel.js +6 -2
- package/src/utils/libraryWidgetKeys.js +1 -0
- package/src/utils/validateManifestV2.compiled.js +3 -3
- package/src/utils/widgetDispatch.js +1 -1
|
@@ -84,68 +84,73 @@ const _hoisted_20 = {
|
|
|
84
84
|
};
|
|
85
85
|
const _hoisted_21 = {
|
|
86
86
|
key: 7,
|
|
87
|
-
class: "cn-detail-
|
|
87
|
+
class: "cn-detail-page__access-purpose",
|
|
88
|
+
"data-testid": "cn-detail-page-access-purpose"
|
|
88
89
|
};
|
|
89
90
|
const _hoisted_22 = {
|
|
90
91
|
key: 8,
|
|
91
|
-
class: "cn-detail-
|
|
92
|
+
class: "cn-detail-page__loading"
|
|
92
93
|
};
|
|
93
94
|
const _hoisted_23 = {
|
|
94
95
|
key: 9,
|
|
95
|
-
class: "cn-detail-
|
|
96
|
+
class: "cn-detail-page__error"
|
|
96
97
|
};
|
|
97
98
|
const _hoisted_24 = {
|
|
98
99
|
key: 10,
|
|
99
|
-
class: "cn-detail-
|
|
100
|
+
class: "cn-detail-page__empty"
|
|
100
101
|
};
|
|
101
102
|
const _hoisted_25 = {
|
|
103
|
+
key: 11,
|
|
104
|
+
class: "cn-detail-page__body"
|
|
105
|
+
};
|
|
106
|
+
const _hoisted_26 = {
|
|
102
107
|
key: 0,
|
|
103
108
|
class: "cn-detail-page__before-body"
|
|
104
109
|
};
|
|
105
|
-
const
|
|
106
|
-
const
|
|
110
|
+
const _hoisted_27 = ["aria-labelledby"];
|
|
111
|
+
const _hoisted_28 = {
|
|
107
112
|
key: 0,
|
|
108
113
|
class: "cn-detail-page__widget-edit"
|
|
109
114
|
};
|
|
110
|
-
const
|
|
111
|
-
const
|
|
112
|
-
const
|
|
115
|
+
const _hoisted_29 = ["id"];
|
|
116
|
+
const _hoisted_30 = ["id", "aria-label"];
|
|
117
|
+
const _hoisted_31 = {
|
|
113
118
|
key: 3,
|
|
114
119
|
class: "cn-detail-page__stats"
|
|
115
120
|
};
|
|
116
|
-
const
|
|
121
|
+
const _hoisted_32 = {
|
|
117
122
|
key: 0,
|
|
118
123
|
class: "cn-detail-page__section-title"
|
|
119
124
|
};
|
|
120
|
-
const
|
|
121
|
-
const
|
|
122
|
-
const
|
|
125
|
+
const _hoisted_33 = { class: "cn-detail-page__stats-table" };
|
|
126
|
+
const _hoisted_34 = { key: 0 };
|
|
127
|
+
const _hoisted_35 = {
|
|
123
128
|
key: 4,
|
|
124
129
|
class: "cn-detail-page__content"
|
|
125
130
|
};
|
|
126
|
-
const
|
|
131
|
+
const _hoisted_36 = {
|
|
127
132
|
key: 0,
|
|
128
133
|
class: "cn-detail-page__content"
|
|
129
134
|
};
|
|
130
|
-
const
|
|
135
|
+
const _hoisted_37 = {
|
|
131
136
|
key: 1,
|
|
132
137
|
class: "cn-detail-page__sections"
|
|
133
138
|
};
|
|
134
|
-
const
|
|
139
|
+
const _hoisted_38 = {
|
|
135
140
|
key: 6,
|
|
136
141
|
class: "cn-detail-page__related-collections"
|
|
137
142
|
};
|
|
138
|
-
const
|
|
143
|
+
const _hoisted_39 = {
|
|
139
144
|
key: 0,
|
|
140
145
|
class: "cn-detail-page__relation-links"
|
|
141
146
|
};
|
|
142
|
-
const
|
|
147
|
+
const _hoisted_40 = {
|
|
143
148
|
key: 9,
|
|
144
149
|
class: "cn-detail-page__footer"
|
|
145
150
|
};
|
|
146
|
-
const
|
|
147
|
-
const
|
|
148
|
-
const
|
|
151
|
+
const _hoisted_41 = ["aria-label"];
|
|
152
|
+
const _hoisted_42 = ["data-testid"];
|
|
153
|
+
const _hoisted_43 = {
|
|
149
154
|
key: 0,
|
|
150
155
|
class: "cn-detail-page__side-identifier",
|
|
151
156
|
"data-testid": "cn-detail-page-side-identifier"
|
|
@@ -182,6 +187,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
182
187
|
const _component_FileQuestionOutline = resolveComponent("FileQuestionOutline");
|
|
183
188
|
const _component_ArrowLeft = resolveComponent("ArrowLeft");
|
|
184
189
|
const _component_NcEmptyContent = resolveComponent("NcEmptyContent");
|
|
190
|
+
const _component_CnAccessPurposeDialog = resolveComponent("CnAccessPurposeDialog");
|
|
185
191
|
const _component_NcLoadingIcon = resolveComponent("NcLoadingIcon");
|
|
186
192
|
const _component_AlertCircleOutline = resolveComponent("AlertCircleOutline");
|
|
187
193
|
const _component_Refresh = resolveComponent("Refresh");
|
|
@@ -210,7 +216,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
210
216
|
onClick: _cache[0] || (_cache[0] = (...args) => ($options.onSkipToPrimaryAction && $options.onSkipToPrimaryAction(...args)))
|
|
211
217
|
}, toDisplayString($options.skipLinkLabel), 9 /* TEXT, PROPS */, _hoisted_1))
|
|
212
218
|
: createCommentVNode("v-if", true),
|
|
213
|
-
($options.breadcrumbCrumbs.length > 0 && !$data.objectNotFound && !$options.isBoard)
|
|
219
|
+
($options.breadcrumbCrumbs.length > 0 && !$data.objectNotFound && !$options.contentWithheld && !$options.isBoard)
|
|
214
220
|
? (openBlock(), createBlock(_component_CnBreadcrumbs, {
|
|
215
221
|
key: 1,
|
|
216
222
|
class: "cn-detail-page__breadcrumbs",
|
|
@@ -220,7 +226,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
220
226
|
"data-testid": "cn-detail-page-breadcrumbs"
|
|
221
227
|
}, null, 8 /* PROPS */, ["crumbs", "rootText", "separator"]))
|
|
222
228
|
: createCommentVNode("v-if", true),
|
|
223
|
-
(!$data.objectNotFound)
|
|
229
|
+
(!$data.objectNotFound && !$options.contentWithheld)
|
|
224
230
|
? (openBlock(), createElementBlock("div", {
|
|
225
231
|
key: 2,
|
|
226
232
|
class: normalizeClass(["cn-detail-page__header", { 'cn-detail-page__header--card': $props.headerCard && !$options.isBoard, 'cn-detail-page__header--with-widget': $options.headerWidgetDef !== null, 'cn-detail-page__header--board': $options.isBoard }]),
|
|
@@ -429,6 +435,39 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
429
435
|
_: 1 /* STABLE */
|
|
430
436
|
}, 8 /* PROPS */, ["id", "href", "target", "disabled", "onClick"]))
|
|
431
437
|
: createCommentVNode("v-if", true),
|
|
438
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList($options.sourceVerbButtons, (verb) => {
|
|
439
|
+
return (openBlock(), createBlock(_component_NcButton, {
|
|
440
|
+
key: `verb-${verb.id}`,
|
|
441
|
+
variant: "secondary",
|
|
442
|
+
disabled: $data.sourceVerbBusy,
|
|
443
|
+
"data-testid": `cn-detail-page-verb-${verb.id}`,
|
|
444
|
+
onClick: $event => ($options.runSourceVerb(verb))
|
|
445
|
+
}, createSlots({
|
|
446
|
+
default: withCtx(() => [
|
|
447
|
+
createTextVNode(" " + toDisplayString(verb.label), 1 /* TEXT */)
|
|
448
|
+
]),
|
|
449
|
+
_: 2 /* DYNAMIC */
|
|
450
|
+
}, [
|
|
451
|
+
(verb.icon)
|
|
452
|
+
? {
|
|
453
|
+
name: "icon",
|
|
454
|
+
fn: withCtx(() => [
|
|
455
|
+
(typeof verb.icon === 'string')
|
|
456
|
+
? (openBlock(), createBlock(_component_CnIcon, {
|
|
457
|
+
key: 0,
|
|
458
|
+
name: verb.icon,
|
|
459
|
+
size: 20
|
|
460
|
+
}, null, 8 /* PROPS */, ["name"]))
|
|
461
|
+
: (openBlock(), createBlock(resolveDynamicComponent(verb.icon), {
|
|
462
|
+
key: 1,
|
|
463
|
+
size: 20
|
|
464
|
+
}))
|
|
465
|
+
]),
|
|
466
|
+
key: "0"
|
|
467
|
+
}
|
|
468
|
+
: undefined
|
|
469
|
+
]), 1032 /* PROPS, DYNAMIC_SLOTS */, ["disabled", "data-testid", "onClick"]))
|
|
470
|
+
}), 128 /* KEYED_FRAGMENT */)),
|
|
432
471
|
(openBlock(true), createElementBlock(Fragment, null, renderList($options.quickActionEntries, (entry) => {
|
|
433
472
|
return (openBlock(), createBlock(_component_NcButton, {
|
|
434
473
|
key: `quick-${entry.id}`,
|
|
@@ -845,286 +884,326 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
845
884
|
]), 1032 /* PROPS, DYNAMIC_SLOTS */, ["name", "description"])
|
|
846
885
|
])
|
|
847
886
|
]))
|
|
848
|
-
: ($options.
|
|
887
|
+
: ($options.contentWithheld)
|
|
849
888
|
? (openBlock(), createElementBlock("div", _hoisted_21, [
|
|
850
|
-
|
|
851
|
-
|
|
889
|
+
($data.accessPurposeAsking)
|
|
890
|
+
? (openBlock(), createBlock(_component_CnAccessPurposeDialog, {
|
|
891
|
+
key: 0,
|
|
892
|
+
title: $options.accessPurposeText('title'),
|
|
893
|
+
description: $options.accessPurposeText('description'),
|
|
894
|
+
options: $options.accessPurposeOptions,
|
|
895
|
+
loading: $data.accessPurposeBusy,
|
|
896
|
+
error: $data.accessPurposeError,
|
|
897
|
+
onSubmit: $options.recordAccessPurpose,
|
|
898
|
+
onCancel: _cache[6] || (_cache[6] = $event => ($data.accessPurposeAsking = false))
|
|
899
|
+
}, null, 8 /* PROPS */, ["title", "description", "options", "loading", "error", "onSubmit"]))
|
|
900
|
+
: ($options.accessPurposeRequired)
|
|
901
|
+
? (openBlock(), createBlock(_component_NcEmptyContent, {
|
|
902
|
+
key: 1,
|
|
903
|
+
name: _ctx.t('nextcloud-vue', 'State a purpose to open this'),
|
|
904
|
+
description: _ctx.t('nextcloud-vue', 'This record holds special categories of personal data. It opens once your purpose is recorded.'),
|
|
905
|
+
"data-testid": "cn-detail-page-access-purpose-refused"
|
|
906
|
+
}, {
|
|
907
|
+
action: withCtx(() => [
|
|
908
|
+
createVNode(_component_NcButton, {
|
|
909
|
+
variant: "primary",
|
|
910
|
+
"data-testid": "cn-detail-page-access-purpose-ask",
|
|
911
|
+
onClick: _cache[7] || (_cache[7] = $event => ($data.accessPurposeAsking = true))
|
|
912
|
+
}, {
|
|
913
|
+
default: withCtx(() => [
|
|
914
|
+
createTextVNode(toDisplayString(_ctx.t('nextcloud-vue', 'State a purpose')), 1 /* TEXT */)
|
|
915
|
+
]),
|
|
916
|
+
_: 1 /* STABLE */
|
|
917
|
+
})
|
|
918
|
+
]),
|
|
919
|
+
_: 1 /* STABLE */
|
|
920
|
+
}, 8 /* PROPS */, ["name", "description"]))
|
|
921
|
+
: (openBlock(), createBlock(_component_NcLoadingIcon, {
|
|
922
|
+
key: 2,
|
|
923
|
+
size: 32,
|
|
924
|
+
name: $props.loadingLabel
|
|
925
|
+
}, null, 8 /* PROPS */, ["name"]))
|
|
852
926
|
]))
|
|
853
|
-
: ($
|
|
927
|
+
: ($options.showLoadingState)
|
|
854
928
|
? (openBlock(), createElementBlock("div", _hoisted_22, [
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
icon: withCtx(() => [
|
|
858
|
-
createVNode(_component_AlertCircleOutline, { size: 48 })
|
|
859
|
-
]),
|
|
860
|
-
action: withCtx(() => [
|
|
861
|
-
($props.onRetry)
|
|
862
|
-
? (openBlock(), createBlock(_component_NcButton, {
|
|
863
|
-
key: 0,
|
|
864
|
-
variant: "primary",
|
|
865
|
-
onClick: $props.onRetry
|
|
866
|
-
}, {
|
|
867
|
-
icon: withCtx(() => [
|
|
868
|
-
createVNode(_component_Refresh, { size: 20 })
|
|
869
|
-
]),
|
|
870
|
-
default: withCtx(() => [
|
|
871
|
-
createTextVNode(" " + toDisplayString($props.retryLabel), 1 /* TEXT */)
|
|
872
|
-
]),
|
|
873
|
-
_: 1 /* STABLE */
|
|
874
|
-
}, 8 /* PROPS */, ["onClick"]))
|
|
875
|
-
: createCommentVNode("v-if", true),
|
|
876
|
-
renderSlot(_ctx.$slots, "error-actions")
|
|
877
|
-
]),
|
|
878
|
-
_: 3 /* FORWARDED */
|
|
879
|
-
}, 8 /* PROPS */, ["name"])
|
|
880
|
-
])
|
|
929
|
+
createVNode(_component_NcLoadingIcon, { size: 32 }),
|
|
930
|
+
createElementVNode("span", null, toDisplayString($props.loadingLabel), 1 /* TEXT */)
|
|
881
931
|
]))
|
|
882
|
-
: ($props.
|
|
932
|
+
: ($props.error)
|
|
883
933
|
? (openBlock(), createElementBlock("div", _hoisted_23, [
|
|
884
|
-
renderSlot(_ctx.$slots, "
|
|
885
|
-
createVNode(_component_NcEmptyContent, { name: $props.
|
|
934
|
+
renderSlot(_ctx.$slots, "error", {}, () => [
|
|
935
|
+
createVNode(_component_NcEmptyContent, { name: $props.errorMessage }, {
|
|
886
936
|
icon: withCtx(() => [
|
|
887
|
-
createVNode(
|
|
937
|
+
createVNode(_component_AlertCircleOutline, { size: 48 })
|
|
888
938
|
]),
|
|
889
939
|
action: withCtx(() => [
|
|
890
|
-
|
|
940
|
+
($props.onRetry)
|
|
941
|
+
? (openBlock(), createBlock(_component_NcButton, {
|
|
942
|
+
key: 0,
|
|
943
|
+
variant: "primary",
|
|
944
|
+
onClick: $props.onRetry
|
|
945
|
+
}, {
|
|
946
|
+
icon: withCtx(() => [
|
|
947
|
+
createVNode(_component_Refresh, { size: 20 })
|
|
948
|
+
]),
|
|
949
|
+
default: withCtx(() => [
|
|
950
|
+
createTextVNode(" " + toDisplayString($props.retryLabel), 1 /* TEXT */)
|
|
951
|
+
]),
|
|
952
|
+
_: 1 /* STABLE */
|
|
953
|
+
}, 8 /* PROPS */, ["onClick"]))
|
|
954
|
+
: createCommentVNode("v-if", true),
|
|
955
|
+
renderSlot(_ctx.$slots, "error-actions")
|
|
891
956
|
]),
|
|
892
957
|
_: 3 /* FORWARDED */
|
|
893
958
|
}, 8 /* PROPS */, ["name"])
|
|
894
959
|
])
|
|
895
960
|
]))
|
|
896
|
-
: (
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
"data-testid": "cn-detail-body-sections-before-body"
|
|
915
|
-
}, null, 8 /* PROPS */, ["sections", "context"]))
|
|
916
|
-
: createCommentVNode("v-if", true),
|
|
917
|
-
(openBlock(true), createElementBlock(Fragment, null, renderList($options.bodyGridSections, (section) => {
|
|
918
|
-
return (openBlock(), createBlock(_component_CnDashboardGrid, mergeProps({
|
|
919
|
-
key: `cn-detail-grid-${section.key}-${section.editable ? 'editing' : 'live'}`
|
|
920
|
-
}, { ref_for: true }, section.attrs, {
|
|
921
|
-
layout: section.layout,
|
|
922
|
-
editable: section.editable,
|
|
923
|
-
columns: 12,
|
|
924
|
-
columnOpts: $options.bodyColumnOpts,
|
|
925
|
-
class: "cn-detail-page__grid",
|
|
926
|
-
onLayoutChange: $event => (section.view ? _ctx.onViewLayoutChange($event) : $options.onBodyLayoutChange($event))
|
|
927
|
-
}), {
|
|
928
|
-
widget: withCtx(({ item }) => [
|
|
929
|
-
createElementVNode("div", {
|
|
930
|
-
class: normalizeClass(["cn-detail-page__grid-item", { 'cn-detail-page__grid-item--fit': !!item.sizeToContent }]),
|
|
931
|
-
"aria-labelledby": $options.showGridTitle(item) ? `widget-title-${item.id}` : undefined
|
|
932
|
-
}, [
|
|
933
|
-
($options.showsCog(item))
|
|
934
|
-
? (openBlock(), createElementBlock("div", _hoisted_27, [
|
|
935
|
-
createVNode(_component_NcButton, {
|
|
936
|
-
variant: "tertiary",
|
|
937
|
-
"aria-label": _ctx.t('nextcloud-vue', 'Configure widget'),
|
|
938
|
-
onClick: $event => ($options.configureWidget(item))
|
|
939
|
-
}, {
|
|
940
|
-
icon: withCtx(() => [
|
|
941
|
-
createVNode(_component_Cog, { size: 18 })
|
|
942
|
-
]),
|
|
943
|
-
_: 1 /* STABLE */
|
|
944
|
-
}, 8 /* PROPS */, ["aria-label", "onClick"])
|
|
945
|
-
]))
|
|
946
|
-
: createCommentVNode("v-if", true),
|
|
947
|
-
($options.showGridTitle(item))
|
|
948
|
-
? (openBlock(), createElementBlock("h3", {
|
|
949
|
-
key: 1,
|
|
950
|
-
id: `widget-title-${item.id}`,
|
|
951
|
-
class: "cn-detail-page__widget-title"
|
|
952
|
-
}, toDisplayString($options.gridTitle(item)), 9 /* TEXT, PROPS */, _hoisted_28))
|
|
953
|
-
: createCommentVNode("v-if", true),
|
|
954
|
-
renderSlot(_ctx.$slots, `widget-${item.widgetId}`, {
|
|
955
|
-
item: item,
|
|
956
|
-
widget: $options.findWidget(item),
|
|
957
|
-
objectId: $props.objectId,
|
|
961
|
+
: ($props.empty)
|
|
962
|
+
? (openBlock(), createElementBlock("div", _hoisted_24, [
|
|
963
|
+
renderSlot(_ctx.$slots, "empty", {}, () => [
|
|
964
|
+
createVNode(_component_NcEmptyContent, { name: $props.emptyLabel }, {
|
|
965
|
+
icon: withCtx(() => [
|
|
966
|
+
createVNode(_component_InformationOutline, { size: 48 })
|
|
967
|
+
]),
|
|
968
|
+
action: withCtx(() => [
|
|
969
|
+
renderSlot(_ctx.$slots, "empty-actions")
|
|
970
|
+
]),
|
|
971
|
+
_: 3 /* FORWARDED */
|
|
972
|
+
}, 8 /* PROPS */, ["name"])
|
|
973
|
+
])
|
|
974
|
+
]))
|
|
975
|
+
: (openBlock(), createElementBlock("div", _hoisted_25, [
|
|
976
|
+
(_ctx.$slots['before-body'] || _ctx.$slots['before-body'])
|
|
977
|
+
? (openBlock(), createElementBlock("div", _hoisted_26, [
|
|
978
|
+
renderSlot(_ctx.$slots, "before-body", {
|
|
958
979
|
object: $options.resolvedObject,
|
|
959
|
-
|
|
980
|
+
schema: $options.currentSchema,
|
|
960
981
|
objectType: $options.resolvedObjectType,
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
}
|
|
964
|
-
|
|
982
|
+
objectId: $props.objectId,
|
|
983
|
+
store: $options.effectiveObjectStore
|
|
984
|
+
})
|
|
985
|
+
]))
|
|
986
|
+
: createCommentVNode("v-if", true),
|
|
987
|
+
($options.hasBodyWidgets)
|
|
988
|
+
? (openBlock(), createBlock(_component_CnBodySections, {
|
|
989
|
+
key: 1,
|
|
990
|
+
sections: $props.bodyWidgets,
|
|
991
|
+
context: $options.sectionContext,
|
|
992
|
+
placement: "before-body",
|
|
993
|
+
"data-testid": "cn-detail-body-sections-before-body"
|
|
994
|
+
}, null, 8 /* PROPS */, ["sections", "context"]))
|
|
995
|
+
: createCommentVNode("v-if", true),
|
|
996
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList($options.bodyGridSections, (section) => {
|
|
997
|
+
return (openBlock(), createBlock(_component_CnDashboardGrid, mergeProps({
|
|
998
|
+
key: `cn-detail-grid-${section.key}-${section.editable ? 'editing' : 'live'}`
|
|
999
|
+
}, { ref_for: true }, section.attrs, {
|
|
1000
|
+
layout: section.layout,
|
|
1001
|
+
editable: section.editable,
|
|
1002
|
+
columns: 12,
|
|
1003
|
+
columnOpts: $options.bodyColumnOpts,
|
|
1004
|
+
class: "cn-detail-page__grid",
|
|
1005
|
+
onLayoutChange: $event => (section.view ? _ctx.onViewLayoutChange($event) : $options.onBodyLayoutChange($event))
|
|
1006
|
+
}), {
|
|
1007
|
+
widget: withCtx(({ item }) => [
|
|
1008
|
+
createElementVNode("div", {
|
|
1009
|
+
class: normalizeClass(["cn-detail-page__grid-item", { 'cn-detail-page__grid-item--fit': !!item.sizeToContent }]),
|
|
1010
|
+
"aria-labelledby": $options.showGridTitle(item) ? `widget-title-${item.id}` : undefined
|
|
1011
|
+
}, [
|
|
1012
|
+
($options.showsCog(item))
|
|
1013
|
+
? (openBlock(), createElementBlock("div", _hoisted_28, [
|
|
1014
|
+
createVNode(_component_NcButton, {
|
|
1015
|
+
variant: "tertiary",
|
|
1016
|
+
"aria-label": _ctx.t('nextcloud-vue', 'Configure widget'),
|
|
1017
|
+
onClick: $event => ($options.configureWidget(item))
|
|
1018
|
+
}, {
|
|
1019
|
+
icon: withCtx(() => [
|
|
1020
|
+
createVNode(_component_Cog, { size: 18 })
|
|
1021
|
+
]),
|
|
1022
|
+
_: 1 /* STABLE */
|
|
1023
|
+
}, 8 /* PROPS */, ["aria-label", "onClick"])
|
|
1024
|
+
]))
|
|
1025
|
+
: createCommentVNode("v-if", true),
|
|
1026
|
+
($options.showGridTitle(item))
|
|
1027
|
+
? (openBlock(), createElementBlock("h3", {
|
|
1028
|
+
key: 1,
|
|
1029
|
+
id: `widget-title-${item.id}`,
|
|
1030
|
+
class: "cn-detail-page__widget-title"
|
|
1031
|
+
}, toDisplayString($options.gridTitle(item)), 9 /* TEXT, PROPS */, _hoisted_29))
|
|
1032
|
+
: createCommentVNode("v-if", true),
|
|
1033
|
+
renderSlot(_ctx.$slots, `widget-${item.widgetId}`, {
|
|
1034
|
+
item: item,
|
|
965
1035
|
widget: $options.findWidget(item),
|
|
966
|
-
chrome: "card",
|
|
967
|
-
inGridCell: "",
|
|
968
|
-
showCardTitle: $options.showCardTitle(item),
|
|
969
|
-
showActions: $options.effectiveShowWidgetActions,
|
|
970
1036
|
objectId: $props.objectId,
|
|
971
|
-
object: $options.
|
|
1037
|
+
object: $options.resolvedObject,
|
|
1038
|
+
objectData: $options.resolvedObject,
|
|
972
1039
|
objectType: $options.resolvedObjectType,
|
|
973
|
-
schemaObject: $options.currentSchema,
|
|
974
1040
|
register: $props.register,
|
|
975
|
-
schema: $props.schema
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1041
|
+
schema: $props.schema
|
|
1042
|
+
}, () => [
|
|
1043
|
+
createVNode(_component_CnDetailWidgetHost, {
|
|
1044
|
+
widget: $options.findWidget(item),
|
|
1045
|
+
chrome: "card",
|
|
1046
|
+
inGridCell: "",
|
|
1047
|
+
showCardTitle: $options.showCardTitle(item),
|
|
1048
|
+
showActions: $options.effectiveShowWidgetActions,
|
|
1049
|
+
objectId: $props.objectId,
|
|
1050
|
+
object: $options.currentObject,
|
|
1051
|
+
objectType: $options.resolvedObjectType,
|
|
1052
|
+
schemaObject: $options.currentSchema,
|
|
1053
|
+
register: $props.register,
|
|
1054
|
+
schema: $props.schema,
|
|
1055
|
+
store: $options.effectiveObjectStore,
|
|
1056
|
+
surface: $props.surface,
|
|
1057
|
+
integrationContext: $options.effectiveIntegrationContext,
|
|
1058
|
+
hideEmpty: $props.hideEmpty,
|
|
1059
|
+
cnRegistry: $options.cnRegistry,
|
|
1060
|
+
availableWidgets: $options.bodyGridWidgets,
|
|
1061
|
+
onGeoSaved: $options.onGeoSaved,
|
|
1062
|
+
onOpenIntegration: $options.onAutoBodyOpenIntegration,
|
|
1063
|
+
onSelectObject: $options.onRelatedObjectSelect
|
|
1064
|
+
}, null, 8 /* PROPS */, ["widget", "showCardTitle", "showActions", "objectId", "object", "objectType", "schemaObject", "register", "schema", "store", "surface", "integrationContext", "hideEmpty", "cnRegistry", "availableWidgets", "onGeoSaved", "onOpenIntegration", "onSelectObject"])
|
|
1065
|
+
])
|
|
1066
|
+
], 10 /* CLASS, PROPS */, _hoisted_27)
|
|
1067
|
+
]),
|
|
1068
|
+
_: 3 /* FORWARDED */
|
|
1069
|
+
}, 16 /* FULL_PROPS */, ["layout", "editable", "columnOpts", "onLayoutChange"]))
|
|
1070
|
+
}), 128 /* KEYED_FRAGMENT */)),
|
|
1071
|
+
($options.viewIsEmpty)
|
|
1072
|
+
? (openBlock(), createElementBlock("div", {
|
|
1073
|
+
key: 2,
|
|
1074
|
+
id: _ctx.viewRegionId,
|
|
1075
|
+
role: "region",
|
|
1076
|
+
"aria-label": _ctx.activeView ? _ctx.activeView.label : null,
|
|
1077
|
+
class: "cn-page-view-region cn-page-view-region--empty",
|
|
1078
|
+
"data-testid": "cn-detail-page-view-empty"
|
|
1079
|
+
}, [
|
|
1080
|
+
createVNode(_component_NcEmptyContent, { description: _ctx.viewEmptyText }, {
|
|
1081
|
+
icon: withCtx(() => [
|
|
1082
|
+
createVNode(_component_ViewDashboardOutline, { size: 48 })
|
|
1083
|
+
]),
|
|
1084
|
+
_: 1 /* STABLE */
|
|
1085
|
+
}, 8 /* PROPS */, ["description"])
|
|
1086
|
+
], 8 /* PROPS */, _hoisted_30))
|
|
1087
|
+
: createCommentVNode("v-if", true),
|
|
1088
|
+
($options.hasStats)
|
|
1089
|
+
? (openBlock(), createElementBlock("div", _hoisted_31, [
|
|
1090
|
+
renderSlot(_ctx.$slots, "stats-header", {}, () => [
|
|
1091
|
+
($props.statsTitle)
|
|
1092
|
+
? (openBlock(), createElementBlock("h3", _hoisted_32, toDisplayString($options.resolvedStatsTitle), 1 /* TEXT */))
|
|
1093
|
+
: createCommentVNode("v-if", true)
|
|
1004
1094
|
]),
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1095
|
+
createElementVNode("table", _hoisted_33, [
|
|
1096
|
+
($props.statsColumns.length > 0)
|
|
1097
|
+
? (openBlock(), createElementBlock("thead", _hoisted_34, [
|
|
1098
|
+
createElementVNode("tr", null, [
|
|
1099
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList($props.statsColumns, (col) => {
|
|
1100
|
+
return (openBlock(), createElementBlock("th", {
|
|
1101
|
+
key: col.key,
|
|
1102
|
+
scope: "col",
|
|
1103
|
+
class: normalizeClass(col.align ? 'cn-detail-page__stats-cell--' + col.align : '')
|
|
1104
|
+
}, toDisplayString(col.label), 3 /* TEXT, CLASS */))
|
|
1105
|
+
}), 128 /* KEYED_FRAGMENT */))
|
|
1106
|
+
])
|
|
1107
|
+
]))
|
|
1108
|
+
: createCommentVNode("v-if", true),
|
|
1109
|
+
createElementVNode("tbody", null, [
|
|
1110
|
+
renderSlot(_ctx.$slots, "stats-rows", {}, () => [
|
|
1111
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList($props.statsRows, (row, index) => {
|
|
1112
|
+
return (openBlock(), createElementBlock("tr", {
|
|
1113
|
+
key: index,
|
|
1114
|
+
class: normalizeClass({ 'cn-detail-page__stats-row--sub': row.indent })
|
|
1115
|
+
}, [
|
|
1116
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList($props.statsColumns, (col) => {
|
|
1117
|
+
return (openBlock(), createElementBlock("td", {
|
|
1118
|
+
key: col.key,
|
|
1119
|
+
class: normalizeClass([row.indent ? 'cn-detail-page__stats-cell--indented' : '', col.align ? 'cn-detail-page__stats-cell--' + col.align : ''])
|
|
1120
|
+
}, toDisplayString(row[col.key] !== undefined ? row[col.key] : '-'), 3 /* TEXT, CLASS */))
|
|
1121
|
+
}), 128 /* KEYED_FRAGMENT */))
|
|
1122
|
+
], 2 /* CLASS */))
|
|
1123
|
+
}), 128 /* KEYED_FRAGMENT */))
|
|
1124
|
+
])
|
|
1125
|
+
])
|
|
1126
|
+
])
|
|
1127
|
+
]))
|
|
1128
|
+
: (openBlock(), createElementBlock("div", _hoisted_35, [
|
|
1129
|
+
(!$options.hasBodyGrid)
|
|
1130
|
+
? (openBlock(), createElementBlock("div", _hoisted_36, [
|
|
1131
|
+
renderSlot(_ctx.$slots, "default")
|
|
1132
|
+
]))
|
|
1133
|
+
: createCommentVNode("v-if", true),
|
|
1134
|
+
(_ctx.$slots.sections)
|
|
1135
|
+
? (openBlock(), createElementBlock("div", _hoisted_37, [
|
|
1136
|
+
renderSlot(_ctx.$slots, "sections")
|
|
1137
|
+
]))
|
|
1014
1138
|
: createCommentVNode("v-if", true)
|
|
1015
|
-
]),
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1139
|
+
])),
|
|
1140
|
+
($options.hasBodyWidgets)
|
|
1141
|
+
? (openBlock(), createBlock(_component_CnBodySections, {
|
|
1142
|
+
key: 5,
|
|
1143
|
+
sections: $props.bodyWidgets,
|
|
1144
|
+
context: $options.sectionContext,
|
|
1145
|
+
placement: "after-data",
|
|
1146
|
+
"data-testid": "cn-detail-body-sections-after-data"
|
|
1147
|
+
}, null, 8 /* PROPS */, ["sections", "context"]))
|
|
1148
|
+
: createCommentVNode("v-if", true),
|
|
1149
|
+
(($props.relatedCollections && $props.relatedCollections.length > 0) || ($props.relationLinks && $props.relationLinks.length > 0))
|
|
1150
|
+
? (openBlock(), createElementBlock("div", _hoisted_38, [
|
|
1151
|
+
($props.relationLinks && $props.relationLinks.length > 0)
|
|
1152
|
+
? (openBlock(), createElementBlock("div", _hoisted_39, [
|
|
1153
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList($props.relationLinks, (link, li) => {
|
|
1154
|
+
return (openBlock(), createBlock(_component_NcButton, {
|
|
1155
|
+
key: li,
|
|
1156
|
+
class: "cn-detail-page__relation-link-button",
|
|
1157
|
+
"data-testid": `cn-detail-relation-link-${li}`,
|
|
1158
|
+
onClick: $event => ($options.openRelationLink(link))
|
|
1159
|
+
}, {
|
|
1160
|
+
icon: withCtx(() => [
|
|
1161
|
+
createVNode(_component_Plus, { size: 18 })
|
|
1162
|
+
]),
|
|
1163
|
+
default: withCtx(() => [
|
|
1164
|
+
createTextVNode(" " + toDisplayString(link.label || _ctx.t('nextcloud-vue', 'Link related object')), 1 /* TEXT */)
|
|
1165
|
+
]),
|
|
1166
|
+
_: 2 /* DYNAMIC */
|
|
1167
|
+
}, 1032 /* PROPS, DYNAMIC_SLOTS */, ["data-testid", "onClick"]))
|
|
1168
|
+
}), 128 /* KEYED_FRAGMENT */))
|
|
1028
1169
|
]))
|
|
1029
1170
|
: createCommentVNode("v-if", true),
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
:
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
key: 5,
|
|
1064
|
-
sections: $props.bodyWidgets,
|
|
1065
|
-
context: $options.sectionContext,
|
|
1066
|
-
placement: "after-data",
|
|
1067
|
-
"data-testid": "cn-detail-body-sections-after-data"
|
|
1068
|
-
}, null, 8 /* PROPS */, ["sections", "context"]))
|
|
1069
|
-
: createCommentVNode("v-if", true),
|
|
1070
|
-
(($props.relatedCollections && $props.relatedCollections.length > 0) || ($props.relationLinks && $props.relationLinks.length > 0))
|
|
1071
|
-
? (openBlock(), createElementBlock("div", _hoisted_37, [
|
|
1072
|
-
($props.relationLinks && $props.relationLinks.length > 0)
|
|
1073
|
-
? (openBlock(), createElementBlock("div", _hoisted_38, [
|
|
1074
|
-
(openBlock(true), createElementBlock(Fragment, null, renderList($props.relationLinks, (link, li) => {
|
|
1075
|
-
return (openBlock(), createBlock(_component_NcButton, {
|
|
1076
|
-
key: li,
|
|
1077
|
-
class: "cn-detail-page__relation-link-button",
|
|
1078
|
-
"data-testid": `cn-detail-relation-link-${li}`,
|
|
1079
|
-
onClick: $event => ($options.openRelationLink(link))
|
|
1080
|
-
}, {
|
|
1081
|
-
icon: withCtx(() => [
|
|
1082
|
-
createVNode(_component_Plus, { size: 18 })
|
|
1083
|
-
]),
|
|
1084
|
-
default: withCtx(() => [
|
|
1085
|
-
createTextVNode(" " + toDisplayString(link.label || _ctx.t('nextcloud-vue', 'Link related object')), 1 /* TEXT */)
|
|
1086
|
-
]),
|
|
1087
|
-
_: 2 /* DYNAMIC */
|
|
1088
|
-
}, 1032 /* PROPS, DYNAMIC_SLOTS */, ["data-testid", "onClick"]))
|
|
1089
|
-
}), 128 /* KEYED_FRAGMENT */))
|
|
1090
|
-
]))
|
|
1091
|
-
: createCommentVNode("v-if", true),
|
|
1092
|
-
($props.relatedCollections && $props.relatedCollections.length > 0)
|
|
1093
|
-
? (openBlock(), createBlock(_component_CnRelatedCollections, {
|
|
1094
|
-
key: 1,
|
|
1095
|
-
collections: $props.relatedCollections,
|
|
1096
|
-
onRowClick: $options.onRelatedRowClick
|
|
1097
|
-
}, null, 8 /* PROPS */, ["collections", "onRowClick"]))
|
|
1098
|
-
: createCommentVNode("v-if", true)
|
|
1099
|
-
]))
|
|
1100
|
-
: createCommentVNode("v-if", true),
|
|
1101
|
-
($options.hasBodyWidgets)
|
|
1102
|
-
? (openBlock(), createBlock(_component_CnBodySections, {
|
|
1103
|
-
key: 7,
|
|
1104
|
-
sections: $props.bodyWidgets,
|
|
1105
|
-
context: $options.sectionContext,
|
|
1106
|
-
placement: "after-related",
|
|
1107
|
-
"data-testid": "cn-detail-body-sections-after-related"
|
|
1108
|
-
}, null, 8 /* PROPS */, ["sections", "context"]))
|
|
1109
|
-
: createCommentVNode("v-if", true),
|
|
1110
|
-
($options.hasBodyWidgets)
|
|
1111
|
-
? (openBlock(), createBlock(_component_CnBodySections, {
|
|
1112
|
-
key: 8,
|
|
1113
|
-
sections: $options.endPlacementSections,
|
|
1114
|
-
context: $options.sectionContext,
|
|
1115
|
-
placement: null,
|
|
1116
|
-
"data-testid": "cn-detail-body-sections-end"
|
|
1117
|
-
}, null, 8 /* PROPS */, ["sections", "context"]))
|
|
1118
|
-
: createCommentVNode("v-if", true),
|
|
1119
|
-
(_ctx.$slots.footer)
|
|
1120
|
-
? (openBlock(), createElementBlock("div", _hoisted_39, [
|
|
1121
|
-
renderSlot(_ctx.$slots, "footer")
|
|
1122
|
-
]))
|
|
1123
|
-
: createCommentVNode("v-if", true)
|
|
1124
|
-
])),
|
|
1171
|
+
($props.relatedCollections && $props.relatedCollections.length > 0)
|
|
1172
|
+
? (openBlock(), createBlock(_component_CnRelatedCollections, {
|
|
1173
|
+
key: 1,
|
|
1174
|
+
collections: $props.relatedCollections,
|
|
1175
|
+
onRowClick: $options.onRelatedRowClick
|
|
1176
|
+
}, null, 8 /* PROPS */, ["collections", "onRowClick"]))
|
|
1177
|
+
: createCommentVNode("v-if", true)
|
|
1178
|
+
]))
|
|
1179
|
+
: createCommentVNode("v-if", true),
|
|
1180
|
+
($options.hasBodyWidgets)
|
|
1181
|
+
? (openBlock(), createBlock(_component_CnBodySections, {
|
|
1182
|
+
key: 7,
|
|
1183
|
+
sections: $props.bodyWidgets,
|
|
1184
|
+
context: $options.sectionContext,
|
|
1185
|
+
placement: "after-related",
|
|
1186
|
+
"data-testid": "cn-detail-body-sections-after-related"
|
|
1187
|
+
}, null, 8 /* PROPS */, ["sections", "context"]))
|
|
1188
|
+
: createCommentVNode("v-if", true),
|
|
1189
|
+
($options.hasBodyWidgets)
|
|
1190
|
+
? (openBlock(), createBlock(_component_CnBodySections, {
|
|
1191
|
+
key: 8,
|
|
1192
|
+
sections: $options.endPlacementSections,
|
|
1193
|
+
context: $options.sectionContext,
|
|
1194
|
+
placement: null,
|
|
1195
|
+
"data-testid": "cn-detail-body-sections-end"
|
|
1196
|
+
}, null, 8 /* PROPS */, ["sections", "context"]))
|
|
1197
|
+
: createCommentVNode("v-if", true),
|
|
1198
|
+
(_ctx.$slots.footer)
|
|
1199
|
+
? (openBlock(), createElementBlock("div", _hoisted_40, [
|
|
1200
|
+
renderSlot(_ctx.$slots, "footer")
|
|
1201
|
+
]))
|
|
1202
|
+
: createCommentVNode("v-if", true)
|
|
1203
|
+
])),
|
|
1125
1204
|
($options.showsSideColumn)
|
|
1126
1205
|
? (openBlock(), createElementBlock("aside", {
|
|
1127
|
-
key:
|
|
1206
|
+
key: 12,
|
|
1128
1207
|
class: "cn-detail-page__side",
|
|
1129
1208
|
"aria-label": $options.sideColumnLabel,
|
|
1130
1209
|
"data-testid": "cn-detail-page-side"
|
|
@@ -1168,21 +1247,21 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
1168
1247
|
}, null, 8 /* PROPS */, ["widget", "showActions", "objectId", "object", "objectType", "schemaObject", "register", "schema", "store", "surface", "integrationContext", "hideEmpty", "cnRegistry", "availableWidgets", "onGeoSaved", "onOpenIntegration", "onSelectObject"])
|
|
1169
1248
|
]),
|
|
1170
1249
|
($options.isBoard && widget.id === $options.sideHistoryId && $options.identifierLine !== '')
|
|
1171
|
-
? (openBlock(), createElementBlock("p",
|
|
1250
|
+
? (openBlock(), createElementBlock("p", _hoisted_43, toDisplayString($options.identifierLine), 1 /* TEXT */))
|
|
1172
1251
|
: createCommentVNode("v-if", true)
|
|
1173
|
-
], 10 /* CLASS, PROPS */,
|
|
1252
|
+
], 10 /* CLASS, PROPS */, _hoisted_42))
|
|
1174
1253
|
}), 128 /* KEYED_FRAGMENT */))
|
|
1175
|
-
], 8 /* PROPS */,
|
|
1254
|
+
], 8 /* PROPS */, _hoisted_41))
|
|
1176
1255
|
: createCommentVNode("v-if", true),
|
|
1177
1256
|
($data.showWidgetConfig)
|
|
1178
1257
|
? (openBlock(), createBlock(_component_CnWidgetStyleEditorModal, {
|
|
1179
|
-
key:
|
|
1258
|
+
key: 13,
|
|
1180
1259
|
show: $data.showWidgetConfig,
|
|
1181
1260
|
widget: $options.configWidget,
|
|
1182
1261
|
deletable: true,
|
|
1183
1262
|
onSave: $options.onWidgetConfigSave,
|
|
1184
1263
|
onDelete: $options.onWidgetConfigDelete,
|
|
1185
|
-
onClose: _cache[
|
|
1264
|
+
onClose: _cache[8] || (_cache[8] = $event => ($data.showWidgetConfig = false))
|
|
1186
1265
|
}, null, 8 /* PROPS */, ["show", "widget", "onSave", "onDelete"]))
|
|
1187
1266
|
: createCommentVNode("v-if", true),
|
|
1188
1267
|
renderSlot(_ctx.$slots, "form-dialog", {
|
|
@@ -1229,7 +1308,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
1229
1308
|
]),
|
|
1230
1309
|
($data.activeRelationLink)
|
|
1231
1310
|
? (openBlock(), createBlock(_component_CnRelationLinkModal, {
|
|
1232
|
-
key:
|
|
1311
|
+
key: 14,
|
|
1233
1312
|
title: $data.activeRelationLink.title || undefined,
|
|
1234
1313
|
selectLabel: $data.activeRelationLink.selectLabel || undefined,
|
|
1235
1314
|
register: $data.activeRelationLink.register,
|
|
@@ -1240,7 +1319,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
1240
1319
|
currentObject: $options.currentObject || {},
|
|
1241
1320
|
fkField: $data.activeRelationLink.fkField,
|
|
1242
1321
|
onLinked: $options.onRelationLinked,
|
|
1243
|
-
onClose: _cache[
|
|
1322
|
+
onClose: _cache[9] || (_cache[9] = $event => ($data.activeRelationLink = null))
|
|
1244
1323
|
}, null, 8 /* PROPS */, ["title", "selectLabel", "register", "schema", "labelField", "allowCreate", "currentType", "currentObject", "fkField", "onLinked"]))
|
|
1245
1324
|
: createCommentVNode("v-if", true)
|
|
1246
1325
|
], 6 /* CLASS, STYLE */))
|