@conduction/nextcloud-vue 2.64.0 → 2.66.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/CnAppNav/CnAppNav.vue2.js +99 -3
- package/dist/esm/components/CnAppNav/CnAppNav.vue2.js.map +1 -1
- package/dist/esm/components/CnAppNav/CnAppNav.vue3.js +23 -7
- package/dist/esm/components/CnAppNav/CnAppNav.vue3.js.map +1 -1
- package/dist/esm/components/CnBreadcrumbs/CnBreadcrumbs.vue2.js +13 -0
- package/dist/esm/components/CnBreadcrumbs/CnBreadcrumbs.vue2.js.map +1 -1
- package/dist/esm/components/CnBreadcrumbs/CnBreadcrumbs.vue3.js +2 -1
- package/dist/esm/components/CnBreadcrumbs/CnBreadcrumbs.vue3.js.map +1 -1
- package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue2.js +125 -4
- package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue2.js.map +1 -1
- package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue3.js +439 -381
- package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue3.js.map +1 -1
- package/dist/esm/components/CnDataTable/CnColumnFilterPopover.vue2.js +9 -3
- package/dist/esm/components/CnDataTable/CnColumnFilterPopover.vue2.js.map +1 -1
- package/dist/esm/components/CnDataTable/CnColumnFilterPopover.vue3.js +1 -1
- package/dist/esm/components/CnDataTable/CnColumnFilterPopover.vue3.js.map +1 -1
- package/dist/esm/components/CnDetailPage/CnDetailPage.vue2.js +142 -26
- package/dist/esm/components/CnDetailPage/CnDetailPage.vue2.js.map +1 -1
- package/dist/esm/components/CnDetailPage/CnDetailPage.vue3.js +195 -124
- package/dist/esm/components/CnDetailPage/CnDetailPage.vue3.js.map +1 -1
- package/dist/esm/components/CnFkResolveCell/CnFkResolveCell.vue2.js +3 -1
- package/dist/esm/components/CnFkResolveCell/CnFkResolveCell.vue2.js.map +1 -1
- package/dist/esm/components/CnFormDialog/CnFormDialog.vue2.js +144 -4
- package/dist/esm/components/CnFormDialog/CnFormDialog.vue2.js.map +1 -1
- package/dist/esm/components/CnFormDialog/CnFormDialog.vue3.js.map +1 -1
- package/dist/esm/components/CnHeaderWidget/CnHeaderWidget.vue2.js +84 -11
- package/dist/esm/components/CnHeaderWidget/CnHeaderWidget.vue2.js.map +1 -1
- package/dist/esm/components/CnHeaderWidget/CnHeaderWidget.vue3.js +3 -2
- package/dist/esm/components/CnHeaderWidget/CnHeaderWidget.vue3.js.map +1 -1
- package/dist/esm/components/CnSegmentedControl/CnSegmentedControl.vue2.js +11 -0
- package/dist/esm/components/CnSegmentedControl/CnSegmentedControl.vue2.js.map +1 -1
- package/dist/esm/components/CnSegmentedControl/CnSegmentedControl.vue3.js +2 -1
- package/dist/esm/components/CnSegmentedControl/CnSegmentedControl.vue3.js.map +1 -1
- package/dist/esm/components/CnStagesWidget/CnStagesWidget.vue2.js.map +1 -1
- package/dist/esm/components/CnStagesWidget/CnStagesWidget.vue3.js.map +1 -1
- package/dist/esm/components/CnStatWidget/CnStatWidget.vue2.js +22 -3
- package/dist/esm/components/CnStatWidget/CnStatWidget.vue2.js.map +1 -1
- package/dist/esm/components/CnStatWidget/CnStatWidget.vue3.js +10 -3
- package/dist/esm/components/CnStatWidget/CnStatWidget.vue3.js.map +1 -1
- package/dist/esm/l10n/en.json.js +3 -0
- package/dist/esm/l10n/en.json.js.map +1 -1
- package/dist/esm/l10n/nl.json.js +3 -0
- package/dist/esm/l10n/nl.json.js.map +1 -1
- package/dist/esm/mixins/pageViews.js +400 -0
- package/dist/esm/mixins/pageViews.js.map +1 -0
- package/dist/esm/nextcloud-vue.css +182 -0
- package/dist/esm/store/useObjectStore.js +118 -33
- package/dist/esm/store/useObjectStore.js.map +1 -1
- package/dist/esm/utils/actionsDispatcher.js +25 -2
- package/dist/esm/utils/actionsDispatcher.js.map +1 -1
- package/dist/esm/utils/columnFilters.js +27 -3
- package/dist/esm/utils/columnFilters.js.map +1 -1
- package/dist/esm/utils/schema.js +40 -2
- package/dist/esm/utils/schema.js.map +1 -1
- package/dist/esm/utils/validateManifestV2.compiled.js +2 -2
- package/dist/esm/utils/validateManifestV2.compiled.js.map +1 -1
- package/dist/nextcloud-vue.cjs.js +2001 -684
- package/dist/nextcloud-vue.cjs.js.map +2 -2
- package/dist/nextcloud-vue.css +182 -0
- package/l10n/en.json +3 -0
- package/l10n/nl.json +3 -0
- package/package.json +1 -1
- package/src/components/CnAppNav/CnAppNav.vue +148 -7
- package/src/components/CnBreadcrumbs/CnBreadcrumbs.vue +14 -0
- package/src/components/CnDashboardPage/CnDashboardPage.vue +194 -10
- package/src/components/CnDataTable/CnColumnFilterPopover.vue +11 -5
- package/src/components/CnDetailPage/CnDetailPage.md +5 -1
- package/src/components/CnDetailPage/CnDetailPage.vue +208 -11
- package/src/components/CnFkResolveCell/CnFkResolveCell.vue +3 -1
- package/src/components/CnFormDialog/CnFormDialog.vue +144 -4
- package/src/components/CnHeaderWidget/CnHeaderWidget.vue +100 -13
- package/src/components/CnSegmentedControl/CnSegmentedControl.md +1 -1
- package/src/components/CnSegmentedControl/CnSegmentedControl.vue +12 -0
- package/src/components/CnStagesWidget/CnStagesWidget.vue +9 -0
- package/src/components/CnStatWidget/CnStatWidget.vue +33 -5
- package/src/css/detail-page.css +27 -0
- package/src/css/kpi-card.css +47 -0
- package/src/mixins/pageViews.js +396 -0
- package/src/schemas/app-manifest-v2.schema.json +51 -2
- package/src/store/useObjectStore.js +118 -33
- package/src/utils/actionsDispatcher.js +25 -2
- package/src/utils/columnFilters.js +29 -2
- package/src/utils/schema.js +40 -2
- package/src/utils/validateManifestV2.compiled.js +2 -2
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
import { resolveComponent, openBlock, createElementBlock, normalizeClass, normalizeStyle, toDisplayString, createCommentVNode, createBlock, renderSlot, createElementVNode, Fragment, renderList, createVNode, withCtx, createTextVNode, createSlots } from 'vue';
|
|
1
|
+
import { resolveComponent, openBlock, createElementBlock, normalizeClass, normalizeStyle, toDisplayString, createCommentVNode, createBlock, renderSlot, createElementVNode, Fragment, renderList, createVNode, withCtx, createTextVNode, createSlots, mergeProps } from 'vue';
|
|
2
2
|
|
|
3
3
|
const _hoisted_1 = ["href"];
|
|
4
|
-
const _hoisted_2 = {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
"data-testid": "cn-detail-page-header"
|
|
8
|
-
};
|
|
9
|
-
const _hoisted_3 = { class: "cn-detail-page__header-left" };
|
|
10
|
-
const _hoisted_4 = { class: "cn-detail-page__header-text" };
|
|
11
|
-
const _hoisted_5 = {
|
|
4
|
+
const _hoisted_2 = { class: "cn-detail-page__header-left" };
|
|
5
|
+
const _hoisted_3 = { class: "cn-detail-page__header-text" };
|
|
6
|
+
const _hoisted_4 = {
|
|
12
7
|
key: 0,
|
|
13
8
|
class: "cn-detail-page__pills",
|
|
14
9
|
"data-testid": "cn-detail-page-pills"
|
|
15
10
|
};
|
|
16
|
-
const
|
|
11
|
+
const _hoisted_5 = {
|
|
17
12
|
key: 1,
|
|
18
13
|
class: "cn-detail-page__type-eyebrow",
|
|
19
14
|
"data-testid": "cn-detail-page-type-eyebrow"
|
|
20
15
|
};
|
|
21
|
-
const
|
|
22
|
-
const
|
|
16
|
+
const _hoisted_6 = ["title"];
|
|
17
|
+
const _hoisted_7 = {
|
|
23
18
|
key: 3,
|
|
24
19
|
class: "cn-detail-page__description"
|
|
25
20
|
};
|
|
26
|
-
const
|
|
27
|
-
const
|
|
28
|
-
key:
|
|
21
|
+
const _hoisted_8 = { class: "cn-detail-page__header-actions" };
|
|
22
|
+
const _hoisted_9 = {
|
|
23
|
+
key: 1,
|
|
29
24
|
class: "cn-detail-page__list-nav",
|
|
30
25
|
"data-testid": "cn-detail-page-list-nav"
|
|
31
26
|
};
|
|
32
|
-
const
|
|
27
|
+
const _hoisted_10 = {
|
|
33
28
|
class: "cn-detail-page__list-nav-position",
|
|
34
29
|
"data-testid": "cn-detail-page-list-position"
|
|
35
30
|
};
|
|
31
|
+
const _hoisted_11 = {
|
|
32
|
+
key: 0,
|
|
33
|
+
class: "cn-detail-page__header-widget",
|
|
34
|
+
"data-testid": "cn-detail-page-header-widget"
|
|
35
|
+
};
|
|
36
36
|
const _hoisted_12 = {
|
|
37
37
|
key: 4,
|
|
38
38
|
class: "cn-detail-page__lock-refusal",
|
|
@@ -70,42 +70,43 @@ const _hoisted_20 = {
|
|
|
70
70
|
class: "cn-detail-page__widget-edit"
|
|
71
71
|
};
|
|
72
72
|
const _hoisted_21 = ["id"];
|
|
73
|
-
const _hoisted_22 =
|
|
73
|
+
const _hoisted_22 = ["id", "aria-label"];
|
|
74
|
+
const _hoisted_23 = {
|
|
74
75
|
key: 3,
|
|
75
76
|
class: "cn-detail-page__stats"
|
|
76
77
|
};
|
|
77
|
-
const
|
|
78
|
+
const _hoisted_24 = {
|
|
78
79
|
key: 0,
|
|
79
80
|
class: "cn-detail-page__section-title"
|
|
80
81
|
};
|
|
81
|
-
const
|
|
82
|
-
const
|
|
83
|
-
const
|
|
82
|
+
const _hoisted_25 = { class: "cn-detail-page__stats-table" };
|
|
83
|
+
const _hoisted_26 = { key: 0 };
|
|
84
|
+
const _hoisted_27 = {
|
|
84
85
|
key: 4,
|
|
85
86
|
class: "cn-detail-page__content"
|
|
86
87
|
};
|
|
87
|
-
const
|
|
88
|
+
const _hoisted_28 = {
|
|
88
89
|
key: 0,
|
|
89
90
|
class: "cn-detail-page__content"
|
|
90
91
|
};
|
|
91
|
-
const
|
|
92
|
+
const _hoisted_29 = {
|
|
92
93
|
key: 1,
|
|
93
94
|
class: "cn-detail-page__sections"
|
|
94
95
|
};
|
|
95
|
-
const
|
|
96
|
+
const _hoisted_30 = {
|
|
96
97
|
key: 6,
|
|
97
98
|
class: "cn-detail-page__related-collections"
|
|
98
99
|
};
|
|
99
|
-
const
|
|
100
|
+
const _hoisted_31 = {
|
|
100
101
|
key: 0,
|
|
101
102
|
class: "cn-detail-page__relation-links"
|
|
102
103
|
};
|
|
103
|
-
const
|
|
104
|
+
const _hoisted_32 = {
|
|
104
105
|
key: 9,
|
|
105
106
|
class: "cn-detail-page__footer"
|
|
106
107
|
};
|
|
107
|
-
const
|
|
108
|
-
const
|
|
108
|
+
const _hoisted_33 = ["aria-label"];
|
|
109
|
+
const _hoisted_34 = ["data-testid"];
|
|
109
110
|
|
|
110
111
|
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
111
112
|
const _component_CnBreadcrumbs = resolveComponent("CnBreadcrumbs");
|
|
@@ -113,6 +114,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
113
114
|
const _component_CnStatusBadge = resolveComponent("CnStatusBadge");
|
|
114
115
|
const _component_CnTranslatedBadge = resolveComponent("CnTranslatedBadge");
|
|
115
116
|
const _component_CnSummaryAggregates = resolveComponent("CnSummaryAggregates");
|
|
117
|
+
const _component_CnSegmentedControl = resolveComponent("CnSegmentedControl");
|
|
116
118
|
const _component_ChevronLeft = resolveComponent("ChevronLeft");
|
|
117
119
|
const _component_NcButton = resolveComponent("NcButton");
|
|
118
120
|
const _component_ChevronRight = resolveComponent("ChevronRight");
|
|
@@ -125,6 +127,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
125
127
|
const _component_NcActionLink = resolveComponent("NcActionLink");
|
|
126
128
|
const _component_NcActionButton = resolveComponent("NcActionButton");
|
|
127
129
|
const _component_CnActionsMenu = resolveComponent("CnActionsMenu");
|
|
130
|
+
const _component_CnDetailWidgetHost = resolveComponent("CnDetailWidgetHost");
|
|
128
131
|
const _component_CnLockedBanner = resolveComponent("CnLockedBanner");
|
|
129
132
|
const _component_CnNextStepCard = resolveComponent("CnNextStepCard");
|
|
130
133
|
const _component_FileQuestionOutline = resolveComponent("FileQuestionOutline");
|
|
@@ -136,8 +139,8 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
136
139
|
const _component_InformationOutline = resolveComponent("InformationOutline");
|
|
137
140
|
const _component_CnBodySections = resolveComponent("CnBodySections");
|
|
138
141
|
const _component_Cog = resolveComponent("Cog");
|
|
139
|
-
const _component_CnDetailWidgetHost = resolveComponent("CnDetailWidgetHost");
|
|
140
142
|
const _component_CnDashboardGrid = resolveComponent("CnDashboardGrid");
|
|
143
|
+
const _component_ViewDashboardOutline = resolveComponent("ViewDashboardOutline");
|
|
141
144
|
const _component_Plus = resolveComponent("Plus");
|
|
142
145
|
const _component_CnRelatedCollections = resolveComponent("CnRelatedCollections");
|
|
143
146
|
const _component_CnWidgetStyleEditorModal = resolveComponent("CnWidgetStyleEditorModal");
|
|
@@ -163,18 +166,23 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
163
166
|
key: 1,
|
|
164
167
|
class: "cn-detail-page__breadcrumbs",
|
|
165
168
|
crumbs: $options.breadcrumbCrumbs,
|
|
169
|
+
rootText: $options.breadcrumbCrumbs[0].icon === undefined,
|
|
166
170
|
"data-testid": "cn-detail-page-breadcrumbs"
|
|
167
|
-
}, null, 8 /* PROPS */, ["crumbs"]))
|
|
171
|
+
}, null, 8 /* PROPS */, ["crumbs", "rootText"]))
|
|
168
172
|
: createCommentVNode("v-if", true),
|
|
169
173
|
(!$data.objectNotFound)
|
|
170
|
-
? (openBlock(), createElementBlock("div",
|
|
174
|
+
? (openBlock(), createElementBlock("div", {
|
|
175
|
+
key: 2,
|
|
176
|
+
class: normalizeClass(["cn-detail-page__header", { 'cn-detail-page__header--card': $props.headerCard, 'cn-detail-page__header--with-widget': $options.headerWidgetDef !== null }]),
|
|
177
|
+
"data-testid": "cn-detail-page-header"
|
|
178
|
+
}, [
|
|
171
179
|
renderSlot(_ctx.$slots, "header", {
|
|
172
180
|
title: $props.title,
|
|
173
181
|
description: $props.description,
|
|
174
182
|
icon: $props.icon,
|
|
175
183
|
iconSize: $props.iconSize
|
|
176
184
|
}, () => [
|
|
177
|
-
createElementVNode("div",
|
|
185
|
+
createElementVNode("div", _hoisted_2, [
|
|
178
186
|
renderSlot(_ctx.$slots, "icon", {}, () => [
|
|
179
187
|
($props.icon)
|
|
180
188
|
? (openBlock(), createBlock(_component_CnIcon, {
|
|
@@ -185,9 +193,9 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
185
193
|
}, null, 8 /* PROPS */, ["name", "size"]))
|
|
186
194
|
: createCommentVNode("v-if", true)
|
|
187
195
|
]),
|
|
188
|
-
createElementVNode("div",
|
|
196
|
+
createElementVNode("div", _hoisted_3, [
|
|
189
197
|
($options.headerPills.length > 0)
|
|
190
|
-
? (openBlock(), createElementBlock("div",
|
|
198
|
+
? (openBlock(), createElementBlock("div", _hoisted_4, [
|
|
191
199
|
(openBlock(true), createElementBlock(Fragment, null, renderList($options.headerPills, (pill) => {
|
|
192
200
|
return (openBlock(), createBlock(_component_CnStatusBadge, {
|
|
193
201
|
key: pill.key,
|
|
@@ -201,14 +209,14 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
201
209
|
]))
|
|
202
210
|
: createCommentVNode("v-if", true),
|
|
203
211
|
($options.typeEyebrow && $props.showTypeEyebrow)
|
|
204
|
-
? (openBlock(), createElementBlock("p",
|
|
212
|
+
? (openBlock(), createElementBlock("p", _hoisted_5, toDisplayString($options.typeEyebrow), 1 /* TEXT */))
|
|
205
213
|
: createCommentVNode("v-if", true),
|
|
206
214
|
($options.displayTitle)
|
|
207
215
|
? (openBlock(), createElementBlock("h2", {
|
|
208
216
|
key: 2,
|
|
209
217
|
class: "cn-detail-page__title",
|
|
210
218
|
title: $options.displayTitle
|
|
211
|
-
}, toDisplayString($options.displayTitle), 9 /* TEXT, PROPS */,
|
|
219
|
+
}, toDisplayString($options.displayTitle), 9 /* TEXT, PROPS */, _hoisted_6))
|
|
212
220
|
: createCommentVNode("v-if", true),
|
|
213
221
|
renderSlot(_ctx.$slots, "translation-badge", { object: $options.resolvedObject }, () => [
|
|
214
222
|
($options.resolvedObject)
|
|
@@ -219,7 +227,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
219
227
|
: createCommentVNode("v-if", true)
|
|
220
228
|
]),
|
|
221
229
|
($props.description)
|
|
222
|
-
? (openBlock(), createElementBlock("p",
|
|
230
|
+
? (openBlock(), createElementBlock("p", _hoisted_7, toDisplayString($options.resolvedDescription), 1 /* TEXT */))
|
|
223
231
|
: createCommentVNode("v-if", true),
|
|
224
232
|
($props.summaryAggregates && $props.summaryAggregates.length > 0)
|
|
225
233
|
? (openBlock(), createBlock(_component_CnSummaryAggregates, {
|
|
@@ -230,9 +238,21 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
230
238
|
])
|
|
231
239
|
])
|
|
232
240
|
]),
|
|
233
|
-
createElementVNode("div",
|
|
241
|
+
createElementVNode("div", _hoisted_8, [
|
|
242
|
+
(_ctx.showsPageViewSwitch)
|
|
243
|
+
? (openBlock(), createBlock(_component_CnSegmentedControl, {
|
|
244
|
+
key: 0,
|
|
245
|
+
class: "cn-page-view-switch",
|
|
246
|
+
options: _ctx.viewSwitchOptions,
|
|
247
|
+
modelValue: _ctx.activeViewId,
|
|
248
|
+
ariaLabel: _ctx.viewSwitchLabel,
|
|
249
|
+
controls: _ctx.viewRegionId,
|
|
250
|
+
"data-testid": "cn-detail-page-view-switch",
|
|
251
|
+
"onUpdate:modelValue": _ctx.selectView
|
|
252
|
+
}, null, 8 /* PROPS */, ["options", "modelValue", "ariaLabel", "controls", "onUpdate:modelValue"]))
|
|
253
|
+
: createCommentVNode("v-if", true),
|
|
234
254
|
($props.listNavigation && $props.listNavigation.available)
|
|
235
|
-
? (openBlock(), createElementBlock("div",
|
|
255
|
+
? (openBlock(), createElementBlock("div", _hoisted_9, [
|
|
236
256
|
createVNode(_component_NcButton, {
|
|
237
257
|
variant: "tertiary",
|
|
238
258
|
disabled: $props.listNavigation.isFirst,
|
|
@@ -247,7 +267,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
247
267
|
]),
|
|
248
268
|
_: 1 /* STABLE */
|
|
249
269
|
}, 8 /* PROPS */, ["disabled", "to", "aria-label", "title"]),
|
|
250
|
-
createElementVNode("span",
|
|
270
|
+
createElementVNode("span", _hoisted_10, toDisplayString($options.listPositionLabel), 1 /* TEXT */),
|
|
251
271
|
createVNode(_component_NcButton, {
|
|
252
272
|
variant: "tertiary",
|
|
253
273
|
disabled: $props.listNavigation.isLast,
|
|
@@ -266,7 +286,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
266
286
|
: createCommentVNode("v-if", true),
|
|
267
287
|
($options.effectivePrimaryLabel && !$options.showsNextStepCard)
|
|
268
288
|
? (openBlock(), createBlock(_component_NcButton, {
|
|
269
|
-
key:
|
|
289
|
+
key: 2,
|
|
270
290
|
id: $options.primaryActionAnchorId,
|
|
271
291
|
ref: "primaryActionButton",
|
|
272
292
|
variant: "primary",
|
|
@@ -313,7 +333,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
313
333
|
}), 128 /* KEYED_FRAGMENT */)),
|
|
314
334
|
($options.showsLifecycleActions)
|
|
315
335
|
? (openBlock(), createBlock(_component_CnLifecycleActions, {
|
|
316
|
-
key:
|
|
336
|
+
key: 3,
|
|
317
337
|
objectId: $props.objectId,
|
|
318
338
|
object: $options.currentObject,
|
|
319
339
|
config: $props.lifecycleActions,
|
|
@@ -326,7 +346,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
326
346
|
: createCommentVNode("v-if", true),
|
|
327
347
|
($options.effectiveHeaderActions.length > 0)
|
|
328
348
|
? (openBlock(), createBlock(_component_CnActionButtons, {
|
|
329
|
-
key:
|
|
349
|
+
key: 4,
|
|
330
350
|
actions: $options.effectiveHeaderActions,
|
|
331
351
|
display: "menu",
|
|
332
352
|
"data-testid": "cn-detail-page-header-actions",
|
|
@@ -345,7 +365,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
345
365
|
}),
|
|
346
366
|
($options.canEditRecord && !$options.foldsEditIntoActions)
|
|
347
367
|
? (openBlock(), createBlock(_component_NcButton, {
|
|
348
|
-
key:
|
|
368
|
+
key: 5,
|
|
349
369
|
variant: "secondary",
|
|
350
370
|
"data-testid": "cn-detail-page-edit",
|
|
351
371
|
"aria-label": $options.editActionLabel,
|
|
@@ -475,8 +495,41 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
475
495
|
}
|
|
476
496
|
: undefined
|
|
477
497
|
]), 1032 /* PROPS, DYNAMIC_SLOTS */, ["showRefresh", "refreshing", "showRequestFeature", "showReportBug", "showDocumentation", "actionsMenuLabel", "hasPrimaryItems", "documentationUrl", "docsAnchor", "documentationLabel", "widgetId", "title", "surface", "onRefresh", "onRequestFeature"])
|
|
478
|
-
])
|
|
479
|
-
|
|
498
|
+
]),
|
|
499
|
+
($options.headerWidgetDef !== null)
|
|
500
|
+
? (openBlock(), createElementBlock("div", _hoisted_11, [
|
|
501
|
+
renderSlot(_ctx.$slots, `widget-${$options.headerWidgetDef.id}`, {
|
|
502
|
+
item: { id: $options.headerWidgetDef.id, widgetId: $options.headerWidgetDef.id },
|
|
503
|
+
widget: $options.headerWidgetDef,
|
|
504
|
+
objectId: $props.objectId,
|
|
505
|
+
object: $options.resolvedObject,
|
|
506
|
+
objectData: $options.resolvedObject,
|
|
507
|
+
objectType: $options.resolvedObjectType,
|
|
508
|
+
register: $props.register,
|
|
509
|
+
schema: $props.schema
|
|
510
|
+
}, () => [
|
|
511
|
+
createVNode(_component_CnDetailWidgetHost, {
|
|
512
|
+
widget: $options.headerWidgetDef,
|
|
513
|
+
chrome: "bare",
|
|
514
|
+
objectId: $props.objectId,
|
|
515
|
+
object: $options.currentObject,
|
|
516
|
+
objectType: $options.resolvedObjectType,
|
|
517
|
+
schemaObject: $options.currentSchema,
|
|
518
|
+
register: $props.register,
|
|
519
|
+
schema: $props.schema,
|
|
520
|
+
store: $options.effectiveObjectStore,
|
|
521
|
+
surface: $props.surface,
|
|
522
|
+
integrationContext: $options.effectiveIntegrationContext,
|
|
523
|
+
hideEmpty: $props.hideEmpty,
|
|
524
|
+
cnRegistry: $options.cnRegistry,
|
|
525
|
+
availableWidgets: _ctx.widgets,
|
|
526
|
+
onGeoSaved: $options.onGeoSaved,
|
|
527
|
+
onOpenIntegration: $options.onAutoBodyOpenIntegration
|
|
528
|
+
}, null, 8 /* PROPS */, ["widget", "objectId", "object", "objectType", "schemaObject", "register", "schema", "store", "surface", "integrationContext", "hideEmpty", "cnRegistry", "availableWidgets", "onGeoSaved", "onOpenIntegration"])
|
|
529
|
+
])
|
|
530
|
+
]))
|
|
531
|
+
: createCommentVNode("v-if", true)
|
|
532
|
+
], 2 /* CLASS */))
|
|
480
533
|
: createCommentVNode("v-if", true),
|
|
481
534
|
($setup.lockState && $setup.lockState.locked.value)
|
|
482
535
|
? (openBlock(), createBlock(_component_CnLockedBanner, {
|
|
@@ -631,87 +684,105 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
631
684
|
"data-testid": "cn-detail-body-sections-before-body"
|
|
632
685
|
}, null, 8 /* PROPS */, ["sections", "context"]))
|
|
633
686
|
: createCommentVNode("v-if", true),
|
|
634
|
-
($options.
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
}
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
])
|
|
662
|
-
|
|
663
|
-
(
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
687
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList($options.bodyGridSections, (section) => {
|
|
688
|
+
return (openBlock(), createBlock(_component_CnDashboardGrid, mergeProps({
|
|
689
|
+
key: `cn-detail-grid-${section.key}-${$options.editingBody ? 'editing' : 'live'}`
|
|
690
|
+
}, { ref_for: true }, section.attrs, {
|
|
691
|
+
layout: section.layout,
|
|
692
|
+
editable: $options.editingBody,
|
|
693
|
+
columns: 12,
|
|
694
|
+
columnOpts: $props.columnOpts,
|
|
695
|
+
class: "cn-detail-page__grid",
|
|
696
|
+
onLayoutChange: $event => (section.view ? _ctx.onViewLayoutChange($event) : $options.onBodyLayoutChange($event))
|
|
697
|
+
}), {
|
|
698
|
+
widget: withCtx(({ item }) => [
|
|
699
|
+
createElementVNode("div", {
|
|
700
|
+
class: normalizeClass(["cn-detail-page__grid-item", { 'cn-detail-page__grid-item--fit': !!item.sizeToContent }]),
|
|
701
|
+
"aria-labelledby": $options.showGridTitle(item) ? `widget-title-${item.id}` : undefined
|
|
702
|
+
}, [
|
|
703
|
+
($options.showsCog(item))
|
|
704
|
+
? (openBlock(), createElementBlock("div", _hoisted_20, [
|
|
705
|
+
createVNode(_component_NcButton, {
|
|
706
|
+
variant: "tertiary",
|
|
707
|
+
"aria-label": _ctx.t('nextcloud-vue', 'Configure widget'),
|
|
708
|
+
onClick: $event => ($options.configureWidget(item))
|
|
709
|
+
}, {
|
|
710
|
+
icon: withCtx(() => [
|
|
711
|
+
createVNode(_component_Cog, { size: 18 })
|
|
712
|
+
]),
|
|
713
|
+
_: 1 /* STABLE */
|
|
714
|
+
}, 8 /* PROPS */, ["aria-label", "onClick"])
|
|
715
|
+
]))
|
|
716
|
+
: createCommentVNode("v-if", true),
|
|
717
|
+
($options.showGridTitle(item))
|
|
718
|
+
? (openBlock(), createElementBlock("h3", {
|
|
719
|
+
key: 1,
|
|
720
|
+
id: `widget-title-${item.id}`,
|
|
721
|
+
class: "cn-detail-page__widget-title"
|
|
722
|
+
}, toDisplayString($options.gridTitle(item)), 9 /* TEXT, PROPS */, _hoisted_21))
|
|
723
|
+
: createCommentVNode("v-if", true),
|
|
724
|
+
renderSlot(_ctx.$slots, `widget-${item.widgetId}`, {
|
|
725
|
+
item: item,
|
|
726
|
+
widget: $options.findWidget(item),
|
|
727
|
+
objectId: $props.objectId,
|
|
728
|
+
object: $options.resolvedObject,
|
|
729
|
+
objectData: $options.resolvedObject,
|
|
730
|
+
objectType: $options.resolvedObjectType,
|
|
731
|
+
register: $props.register,
|
|
732
|
+
schema: $props.schema
|
|
733
|
+
}, () => [
|
|
734
|
+
createVNode(_component_CnDetailWidgetHost, {
|
|
672
735
|
widget: $options.findWidget(item),
|
|
736
|
+
chrome: "card",
|
|
737
|
+
showCardTitle: $options.showCardTitle(item),
|
|
673
738
|
objectId: $props.objectId,
|
|
674
|
-
object: $options.
|
|
675
|
-
objectData: $options.resolvedObject,
|
|
739
|
+
object: $options.currentObject,
|
|
676
740
|
objectType: $options.resolvedObjectType,
|
|
741
|
+
schemaObject: $options.currentSchema,
|
|
677
742
|
register: $props.register,
|
|
678
|
-
schema: $props.schema
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
743
|
+
schema: $props.schema,
|
|
744
|
+
store: $options.effectiveObjectStore,
|
|
745
|
+
surface: $props.surface,
|
|
746
|
+
integrationContext: $options.effectiveIntegrationContext,
|
|
747
|
+
hideEmpty: $props.hideEmpty,
|
|
748
|
+
cnRegistry: $options.cnRegistry,
|
|
749
|
+
availableWidgets: $options.bodyGridWidgets,
|
|
750
|
+
onGeoSaved: $options.onGeoSaved,
|
|
751
|
+
onOpenIntegration: $options.onAutoBodyOpenIntegration
|
|
752
|
+
}, null, 8 /* PROPS */, ["widget", "showCardTitle", "objectId", "object", "objectType", "schemaObject", "register", "schema", "store", "surface", "integrationContext", "hideEmpty", "cnRegistry", "availableWidgets", "onGeoSaved", "onOpenIntegration"])
|
|
753
|
+
])
|
|
754
|
+
], 10 /* CLASS, PROPS */, _hoisted_19)
|
|
755
|
+
]),
|
|
756
|
+
_: 3 /* FORWARDED */
|
|
757
|
+
}, 16 /* FULL_PROPS */, ["layout", "editable", "columnOpts", "onLayoutChange"]))
|
|
758
|
+
}), 128 /* KEYED_FRAGMENT */)),
|
|
759
|
+
($options.viewIsEmpty)
|
|
760
|
+
? (openBlock(), createElementBlock("div", {
|
|
761
|
+
key: 2,
|
|
762
|
+
id: _ctx.viewRegionId,
|
|
763
|
+
role: "region",
|
|
764
|
+
"aria-label": _ctx.activeView ? _ctx.activeView.label : null,
|
|
765
|
+
class: "cn-page-view-region cn-page-view-region--empty",
|
|
766
|
+
"data-testid": "cn-detail-page-view-empty"
|
|
767
|
+
}, [
|
|
768
|
+
createVNode(_component_NcEmptyContent, { description: _ctx.viewEmptyText }, {
|
|
769
|
+
icon: withCtx(() => [
|
|
770
|
+
createVNode(_component_ViewDashboardOutline, { size: 48 })
|
|
771
|
+
]),
|
|
772
|
+
_: 1 /* STABLE */
|
|
773
|
+
}, 8 /* PROPS */, ["description"])
|
|
774
|
+
], 8 /* PROPS */, _hoisted_22))
|
|
704
775
|
: createCommentVNode("v-if", true),
|
|
705
776
|
($options.hasStats)
|
|
706
|
-
? (openBlock(), createElementBlock("div",
|
|
777
|
+
? (openBlock(), createElementBlock("div", _hoisted_23, [
|
|
707
778
|
renderSlot(_ctx.$slots, "stats-header", {}, () => [
|
|
708
779
|
($props.statsTitle)
|
|
709
|
-
? (openBlock(), createElementBlock("h3",
|
|
780
|
+
? (openBlock(), createElementBlock("h3", _hoisted_24, toDisplayString($options.resolvedStatsTitle), 1 /* TEXT */))
|
|
710
781
|
: createCommentVNode("v-if", true)
|
|
711
782
|
]),
|
|
712
|
-
createElementVNode("table",
|
|
783
|
+
createElementVNode("table", _hoisted_25, [
|
|
713
784
|
($props.statsColumns.length > 0)
|
|
714
|
-
? (openBlock(), createElementBlock("thead",
|
|
785
|
+
? (openBlock(), createElementBlock("thead", _hoisted_26, [
|
|
715
786
|
createElementVNode("tr", null, [
|
|
716
787
|
(openBlock(true), createElementBlock(Fragment, null, renderList($props.statsColumns, (col) => {
|
|
717
788
|
return (openBlock(), createElementBlock("th", {
|
|
@@ -742,14 +813,14 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
742
813
|
])
|
|
743
814
|
])
|
|
744
815
|
]))
|
|
745
|
-
: (openBlock(), createElementBlock("div",
|
|
816
|
+
: (openBlock(), createElementBlock("div", _hoisted_27, [
|
|
746
817
|
(!$options.hasBodyGrid)
|
|
747
|
-
? (openBlock(), createElementBlock("div",
|
|
818
|
+
? (openBlock(), createElementBlock("div", _hoisted_28, [
|
|
748
819
|
renderSlot(_ctx.$slots, "default")
|
|
749
820
|
]))
|
|
750
821
|
: createCommentVNode("v-if", true),
|
|
751
822
|
(_ctx.$slots.sections)
|
|
752
|
-
? (openBlock(), createElementBlock("div",
|
|
823
|
+
? (openBlock(), createElementBlock("div", _hoisted_29, [
|
|
753
824
|
renderSlot(_ctx.$slots, "sections")
|
|
754
825
|
]))
|
|
755
826
|
: createCommentVNode("v-if", true)
|
|
@@ -764,9 +835,9 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
764
835
|
}, null, 8 /* PROPS */, ["sections", "context"]))
|
|
765
836
|
: createCommentVNode("v-if", true),
|
|
766
837
|
(($props.relatedCollections && $props.relatedCollections.length > 0) || ($props.relationLinks && $props.relationLinks.length > 0))
|
|
767
|
-
? (openBlock(), createElementBlock("div",
|
|
838
|
+
? (openBlock(), createElementBlock("div", _hoisted_30, [
|
|
768
839
|
($props.relationLinks && $props.relationLinks.length > 0)
|
|
769
|
-
? (openBlock(), createElementBlock("div",
|
|
840
|
+
? (openBlock(), createElementBlock("div", _hoisted_31, [
|
|
770
841
|
(openBlock(true), createElementBlock(Fragment, null, renderList($props.relationLinks, (link, li) => {
|
|
771
842
|
return (openBlock(), createBlock(_component_NcButton, {
|
|
772
843
|
key: li,
|
|
@@ -813,7 +884,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
813
884
|
}, null, 8 /* PROPS */, ["sections", "context"]))
|
|
814
885
|
: createCommentVNode("v-if", true),
|
|
815
886
|
(_ctx.$slots.footer)
|
|
816
|
-
? (openBlock(), createElementBlock("div",
|
|
887
|
+
? (openBlock(), createElementBlock("div", _hoisted_32, [
|
|
817
888
|
renderSlot(_ctx.$slots, "footer")
|
|
818
889
|
]))
|
|
819
890
|
: createCommentVNode("v-if", true)
|
|
@@ -861,9 +932,9 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
861
932
|
onOpenIntegration: $options.onAutoBodyOpenIntegration
|
|
862
933
|
}, null, 8 /* PROPS */, ["widget", "objectId", "object", "objectType", "schemaObject", "register", "schema", "store", "surface", "integrationContext", "hideEmpty", "cnRegistry", "availableWidgets", "onGeoSaved", "onOpenIntegration"])
|
|
863
934
|
])
|
|
864
|
-
], 8 /* PROPS */,
|
|
935
|
+
], 8 /* PROPS */, _hoisted_34))
|
|
865
936
|
}), 128 /* KEYED_FRAGMENT */))
|
|
866
|
-
], 8 /* PROPS */,
|
|
937
|
+
], 8 /* PROPS */, _hoisted_33))
|
|
867
938
|
: createCommentVNode("v-if", true),
|
|
868
939
|
($data.showWidgetConfig)
|
|
869
940
|
? (openBlock(), createBlock(_component_CnWidgetStyleEditorModal, {
|