@conduction/nextcloud-vue 2.110.0 → 2.111.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/CnAppRoot/CnAppRoot.vue2.js +2 -1
- package/dist/esm/components/CnAppRoot/CnAppRoot.vue2.js.map +1 -1
- package/dist/esm/components/CnAppRoot/CnAppRoot.vue3.js.map +1 -1
- package/dist/esm/components/CnDetailPage/CnDetailPage.vue2.js +20 -0
- package/dist/esm/components/CnDetailPage/CnDetailPage.vue2.js.map +1 -1
- package/dist/esm/components/CnDetailPage/CnDetailPage.vue3.js +68 -61
- package/dist/esm/components/CnDetailPage/CnDetailPage.vue3.js.map +1 -1
- package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js +37 -12
- package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js.map +1 -1
- package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js.map +1 -1
- package/dist/esm/components/CnIndexSidebar/CnIndexSidebar.vue2.js.map +1 -1
- package/dist/esm/components/CnIndexSidebar/CnIndexSidebar.vue3.js +1 -1
- package/dist/esm/components/CnIndexSidebar/CnIndexSidebar.vue3.js.map +1 -1
- package/dist/esm/library-style.js +1 -1
- package/dist/esm/nextcloud-vue.css +98 -31
- package/dist/esm/utils/savedViewHelpers.js +40 -3
- package/dist/esm/utils/savedViewHelpers.js.map +1 -1
- package/dist/nextcloud-vue.cjs.js +198 -109
- package/dist/nextcloud-vue.cjs.js.map +2 -2
- package/dist/nextcloud-vue.css +98 -31
- package/package.json +1 -1
- package/src/components/CnAppRoot/CnAppRoot.vue +2 -1
- package/src/components/CnDetailPage/CnDetailPage.vue +35 -11
- package/src/components/CnIndexPage/CnIndexPage.md +1 -1
- package/src/components/CnIndexPage/CnIndexPage.vue +37 -12
- package/src/components/CnIndexSidebar/CnIndexSidebar.md +1 -1
- package/src/components/CnIndexSidebar/CnIndexSidebar.vue +2 -2
- package/src/css/board.css +5 -2
- package/src/css/look-board-detail.css +19 -7
- package/src/css/look-board-index.css +14 -10
- package/src/css/look-board-reports.css +1 -1
- package/src/css/look-board.css +54 -9
- package/src/utils/savedViewHelpers.js +39 -2
|
@@ -26639,8 +26639,8 @@ const _hoisted_40$c = {
|
|
|
26639
26639
|
class: "cn-cell-renderer__icon-label",
|
|
26640
26640
|
"data-testid": "cn-cell-icon-label"
|
|
26641
26641
|
};
|
|
26642
|
-
const _hoisted_41$
|
|
26643
|
-
const _hoisted_42$
|
|
26642
|
+
const _hoisted_41$a = { key: 2 };
|
|
26643
|
+
const _hoisted_42$9 = {
|
|
26644
26644
|
key: 3,
|
|
26645
26645
|
class: "cn-cell-renderer__dash"
|
|
26646
26646
|
};
|
|
@@ -26991,8 +26991,8 @@ function render$7z(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
26991
26991
|
}))
|
|
26992
26992
|
: vue$1.createCommentVNode("v-if", true),
|
|
26993
26993
|
($options.hasValue)
|
|
26994
|
-
? (vue$1.openBlock(), vue$1.createElementBlock("span", _hoisted_41$
|
|
26995
|
-
: (vue$1.openBlock(), vue$1.createElementBlock("span", _hoisted_42$
|
|
26994
|
+
? (vue$1.openBlock(), vue$1.createElementBlock("span", _hoisted_41$a, vue$1.toDisplayString($options.labelledValue), 1 /* TEXT */))
|
|
26995
|
+
: (vue$1.openBlock(), vue$1.createElementBlock("span", _hoisted_42$9, "—"))
|
|
26996
26996
|
]))
|
|
26997
26997
|
: ($options.hasFormatter)
|
|
26998
26998
|
? (vue$1.openBlock(), vue$1.createElementBlock("span", {
|
|
@@ -65583,7 +65583,7 @@ const _hoisted_40$b = {
|
|
|
65583
65583
|
class: "cn-icon-browser-panel__error",
|
|
65584
65584
|
role: "alert"
|
|
65585
65585
|
};
|
|
65586
|
-
const _hoisted_41$
|
|
65586
|
+
const _hoisted_41$9 = ["id", "aria-labelledby"];
|
|
65587
65587
|
|
|
65588
65588
|
function render$7l(_ctx, _cache, $props, $setup, $data, $options) {
|
|
65589
65589
|
const _component_Cancel = vue$1.resolveComponent("Cancel");
|
|
@@ -65864,7 +65864,7 @@ function render$7l(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
65864
65864
|
class: "cn-icon-browser-panel__format",
|
|
65865
65865
|
onClick: _cache[5] || (_cache[5] = (...args) => ($options.formatCustomSvg && $options.formatCustomSvg(...args)))
|
|
65866
65866
|
}, vue$1.toDisplayString($options.t('nextcloud-vue', 'Format SVG')), 1 /* TEXT */)
|
|
65867
|
-
], 8 /* PROPS */, _hoisted_41$
|
|
65867
|
+
], 8 /* PROPS */, _hoisted_41$9)), [
|
|
65868
65868
|
[vue$1.vShow, $data.mode === 'svg']
|
|
65869
65869
|
])
|
|
65870
65870
|
: vue$1.createCommentVNode("v-if", true)
|
|
@@ -77862,11 +77862,11 @@ const _hoisted_40$a = {
|
|
|
77862
77862
|
key: 6,
|
|
77863
77863
|
class: "cn-activity-tab__timeline cn-activity-tab__timeline--rail"
|
|
77864
77864
|
};
|
|
77865
|
-
const _hoisted_41$
|
|
77865
|
+
const _hoisted_41$8 = {
|
|
77866
77866
|
class: "cn-activity-tab__rail",
|
|
77867
77867
|
"data-testid": "cn-activity-rail"
|
|
77868
77868
|
};
|
|
77869
|
-
const _hoisted_42$
|
|
77869
|
+
const _hoisted_42$8 = {
|
|
77870
77870
|
class: "cn-activity-tab__event-icon",
|
|
77871
77871
|
"aria-hidden": "true"
|
|
77872
77872
|
};
|
|
@@ -78123,14 +78123,14 @@ function render$7c(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
78123
78123
|
]))
|
|
78124
78124
|
: ($options.isBoard)
|
|
78125
78125
|
? (vue$1.openBlock(), vue$1.createElementBlock("div", _hoisted_40$a, [
|
|
78126
|
-
vue$1.createElementVNode("ol", _hoisted_41$
|
|
78126
|
+
vue$1.createElementVNode("ol", _hoisted_41$8, [
|
|
78127
78127
|
(vue$1.openBlock(true), vue$1.createElementBlock(vue$1.Fragment, null, vue$1.renderList($options.visibleEntries, (entry) => {
|
|
78128
78128
|
return (vue$1.openBlock(), vue$1.createElementBlock("li", {
|
|
78129
78129
|
key: $options.entryKey(entry),
|
|
78130
78130
|
class: vue$1.normalizeClass(["cn-activity-tab__event", `cn-activity-tab__event--${entry.kind || 'activity'}`]),
|
|
78131
78131
|
"data-testid": "cn-activity-event"
|
|
78132
78132
|
}, [
|
|
78133
|
-
vue$1.createElementVNode("span", _hoisted_42$
|
|
78133
|
+
vue$1.createElementVNode("span", _hoisted_42$8, [
|
|
78134
78134
|
(vue$1.openBlock(), vue$1.createBlock(vue$1.resolveDynamicComponent($options.iconFor(entry)), { size: 18 }))
|
|
78135
78135
|
]),
|
|
78136
78136
|
vue$1.createElementVNode("div", _hoisted_43$6, [
|
|
@@ -100099,11 +100099,11 @@ const _hoisted_37$b = { class: "cn-files-browser__col-icon" };
|
|
|
100099
100099
|
const _hoisted_38$b = ["src", "onError"];
|
|
100100
100100
|
const _hoisted_39$9 = ["src"];
|
|
100101
100101
|
const _hoisted_40$9 = ["data-testid"];
|
|
100102
|
-
const _hoisted_41$
|
|
100102
|
+
const _hoisted_41$7 = {
|
|
100103
100103
|
key: 0,
|
|
100104
100104
|
class: "cn-files-browser__name"
|
|
100105
100105
|
};
|
|
100106
|
-
const _hoisted_42$
|
|
100106
|
+
const _hoisted_42$7 = {
|
|
100107
100107
|
key: 1,
|
|
100108
100108
|
class: "cn-files-browser__name-secondary",
|
|
100109
100109
|
"data-testid": "cn-files-browser-name-secondary"
|
|
@@ -100692,10 +100692,10 @@ function render$6v(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
100692
100692
|
"data-testid": `cn-files-browser-cell-${column.key}`
|
|
100693
100693
|
}, [
|
|
100694
100694
|
(column.key === 'name')
|
|
100695
|
-
? (vue$1.openBlock(), vue$1.createElementBlock("span", _hoisted_41$
|
|
100695
|
+
? (vue$1.openBlock(), vue$1.createElementBlock("span", _hoisted_41$7, vue$1.toDisplayString(node.basename), 1 /* TEXT */))
|
|
100696
100696
|
: vue$1.createCommentVNode("v-if", true),
|
|
100697
100697
|
(column.key === 'name' && $options.nameSecondaryOf(node))
|
|
100698
|
-
? (vue$1.openBlock(), vue$1.createElementBlock("span", _hoisted_42$
|
|
100698
|
+
? (vue$1.openBlock(), vue$1.createElementBlock("span", _hoisted_42$7, vue$1.toDisplayString($options.nameSecondaryOf(node)), 1 /* TEXT */))
|
|
100699
100699
|
: (column.key === 'size')
|
|
100700
100700
|
? (vue$1.openBlock(), vue$1.createElementBlock(vue$1.Fragment, { key: 2 }, [
|
|
100701
100701
|
vue$1.createTextVNode(vue$1.toDisplayString($options.isFolder(node) ? '' : $options.formatSize(node.size)), 1 /* TEXT */)
|
|
@@ -135520,11 +135520,11 @@ const _hoisted_40$8 = {
|
|
|
135520
135520
|
key: 18,
|
|
135521
135521
|
class: "cn-form-dialog__property-source-wrapper"
|
|
135522
135522
|
};
|
|
135523
|
-
const _hoisted_41$
|
|
135523
|
+
const _hoisted_41$6 = {
|
|
135524
135524
|
key: 19,
|
|
135525
135525
|
class: "cn-form-dialog__icon-wrapper"
|
|
135526
135526
|
};
|
|
135527
|
-
const _hoisted_42$
|
|
135527
|
+
const _hoisted_42$6 = ["for"];
|
|
135528
135528
|
const _hoisted_43$4 = {
|
|
135529
135529
|
key: 21,
|
|
135530
135530
|
class: "cn-form-dialog__assigned",
|
|
@@ -136486,13 +136486,13 @@ function render$5H(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
136486
136486
|
}, null, 8 /* PROPS */, ["id", "text", "more", "help", "label", "error"])
|
|
136487
136487
|
]))
|
|
136488
136488
|
: (field.widget === 'icon')
|
|
136489
|
-
? (vue$1.openBlock(), vue$1.createElementBlock("div", _hoisted_41$
|
|
136489
|
+
? (vue$1.openBlock(), vue$1.createElementBlock("div", _hoisted_41$6, [
|
|
136490
136490
|
(!$options.showsOuterLabel(field))
|
|
136491
136491
|
? (vue$1.openBlock(), vue$1.createElementBlock("label", {
|
|
136492
136492
|
key: 0,
|
|
136493
136493
|
for: 'cn-form-' + field.key,
|
|
136494
136494
|
class: "cn-form-dialog__label"
|
|
136495
|
-
}, vue$1.toDisplayString(field.label) + vue$1.toDisplayString($options.requiredSuffix(field)), 9 /* TEXT, PROPS */, _hoisted_42$
|
|
136495
|
+
}, vue$1.toDisplayString(field.label) + vue$1.toDisplayString($options.requiredSuffix(field)), 9 /* TEXT, PROPS */, _hoisted_42$6))
|
|
136496
136496
|
: vue$1.createCommentVNode("v-if", true),
|
|
136497
136497
|
vue$1.createVNode(_component_CnIconBrowser, {
|
|
136498
136498
|
value: $data.formData[field.key] != null ? String($data.formData[field.key]) : null,
|
|
@@ -144459,8 +144459,8 @@ const _hoisted_37$9 = {
|
|
|
144459
144459
|
const _hoisted_38$9 = { class: "cn-related-objects-widget__group-title" };
|
|
144460
144460
|
const _hoisted_39$7 = { class: "cn-related-objects-widget__count" };
|
|
144461
144461
|
const _hoisted_40$7 = { class: "cn-related-objects-widget__list" };
|
|
144462
|
-
const _hoisted_41$
|
|
144463
|
-
const _hoisted_42$
|
|
144462
|
+
const _hoisted_41$5 = ["onClick", "onKeydown"];
|
|
144463
|
+
const _hoisted_42$5 = { class: "cn-related-objects-widget__label" };
|
|
144464
144464
|
const _hoisted_43$3 = {
|
|
144465
144465
|
key: 0,
|
|
144466
144466
|
class: "cn-related-objects-widget__meta"
|
|
@@ -144751,11 +144751,11 @@ function render$5z(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
144751
144751
|
class: "cn-related-objects-widget__icon",
|
|
144752
144752
|
size: 20
|
|
144753
144753
|
}),
|
|
144754
|
-
vue$1.createElementVNode("span", _hoisted_42$
|
|
144754
|
+
vue$1.createElementVNode("span", _hoisted_42$5, vue$1.toDisplayString(item.label), 1 /* TEXT */),
|
|
144755
144755
|
(item.meta)
|
|
144756
144756
|
? (vue$1.openBlock(), vue$1.createElementBlock("span", _hoisted_43$3, vue$1.toDisplayString(item.meta), 1 /* TEXT */))
|
|
144757
144757
|
: vue$1.createCommentVNode("v-if", true)
|
|
144758
|
-
], 40 /* PROPS, NEED_HYDRATION */, _hoisted_41$
|
|
144758
|
+
], 40 /* PROPS, NEED_HYDRATION */, _hoisted_41$5))
|
|
144759
144759
|
}), 128 /* KEYED_FRAGMENT */))
|
|
144760
144760
|
])
|
|
144761
144761
|
]))
|
|
@@ -146124,15 +146124,18 @@ function schemaSlug(schema) {
|
|
|
146124
146124
|
* it: three case indexes share their views, the organisations index does
|
|
146125
146125
|
* not. `savedViewsScope` on a page overrides that, for pages that should
|
|
146126
146126
|
* share views although they read different sources, or keep them apart
|
|
146127
|
-
* although they read the same one.
|
|
146127
|
+
* although they read the same one. A page over a named source
|
|
146128
|
+
* (`entitySource`) and no schema shares its views with the pages over that
|
|
146129
|
+
* source.
|
|
146128
146130
|
*
|
|
146129
146131
|
* @param {object} page The page.
|
|
146130
146132
|
* @param {string} [page.scope] The explicit `savedViewsScope`, when set.
|
|
146131
146133
|
* @param {string} [page.register] The page's register.
|
|
146132
146134
|
* @param {object|string} [page.schema] The page's schema, slug or object.
|
|
146135
|
+
* @param {string} [page.source] The page's `entitySource`, when it reads one.
|
|
146133
146136
|
* @return {string} The scope key, or the empty string for a page with no source.
|
|
146134
146137
|
*/
|
|
146135
|
-
function savedViewScope({ scope, register, schema } = {}) {
|
|
146138
|
+
function savedViewScope({ scope, register, schema, source } = {}) {
|
|
146136
146139
|
if (typeof scope === 'string' && scope !== '') {
|
|
146137
146140
|
return scope
|
|
146138
146141
|
}
|
|
@@ -146140,9 +146143,43 @@ function savedViewScope({ scope, register, schema } = {}) {
|
|
|
146140
146143
|
if (typeof register === 'string' && register !== '' && slug !== '') {
|
|
146141
146144
|
return `${register}/${slug}`
|
|
146142
146145
|
}
|
|
146146
|
+
if (typeof source === 'string' && source !== '') {
|
|
146147
|
+
return `source:${source}`
|
|
146148
|
+
}
|
|
146143
146149
|
return ''
|
|
146144
146150
|
}
|
|
146145
146151
|
|
|
146152
|
+
/**
|
|
146153
|
+
* Whether an index page offers saved views in its sidebar.
|
|
146154
|
+
*
|
|
146155
|
+
* `allowSavedViews` decides when it is set. Unset, every index page that has
|
|
146156
|
+
* a sidebar and a source a view can be scoped to (a register and schema, a
|
|
146157
|
+
* named source, or `savedViewsScope`) offers them, so managing views is
|
|
146158
|
+
* there on every list without each page opting in.
|
|
146159
|
+
*
|
|
146160
|
+
* @param {object} config The page's index config, or CnIndexPage's props.
|
|
146161
|
+
* @param {boolean|null} [config.allowSavedViews] The explicit choice, when made.
|
|
146162
|
+
* @param {object} [config.sidebar] The sidebar config.
|
|
146163
|
+
* @param {string} [config.savedViewsScope] The explicit scope.
|
|
146164
|
+
* @param {string} [config.register] The register.
|
|
146165
|
+
* @param {object|string} [config.schema] The schema.
|
|
146166
|
+
* @param {string} [config.entitySource] The named source.
|
|
146167
|
+
* @return {boolean}
|
|
146168
|
+
*/
|
|
146169
|
+
function pageOffersSavedViews(config) {
|
|
146170
|
+
if (!config || typeof config !== 'object') {
|
|
146171
|
+
return false
|
|
146172
|
+
}
|
|
146173
|
+
if (typeof config.allowSavedViews === 'boolean') {
|
|
146174
|
+
return config.allowSavedViews
|
|
146175
|
+
}
|
|
146176
|
+
const sidebar = config.sidebar;
|
|
146177
|
+
if (!sidebar || typeof sidebar !== 'object' || sidebar.enabled !== true || sidebar.show === false) {
|
|
146178
|
+
return false
|
|
146179
|
+
}
|
|
146180
|
+
return savedViewScope({ scope: config.savedViewsScope, register: config.register, schema: config.schema, source: config.entitySource }) !== ''
|
|
146181
|
+
}
|
|
146182
|
+
|
|
146146
146183
|
/**
|
|
146147
146184
|
* Whether a saved view belongs on a page.
|
|
146148
146185
|
*
|
|
@@ -283389,12 +283426,12 @@ const _hoisted_37$7 = {
|
|
|
283389
283426
|
const _hoisted_38$7 = { class: "cn-board-view__move-label" };
|
|
283390
283427
|
const _hoisted_39$6 = ["data-card-id", "value", "onChange"];
|
|
283391
283428
|
const _hoisted_40$6 = ["value"];
|
|
283392
|
-
const _hoisted_41$
|
|
283429
|
+
const _hoisted_41$4 = {
|
|
283393
283430
|
key: 4,
|
|
283394
283431
|
class: "cn-board-view__empty",
|
|
283395
283432
|
"data-testid": "cn-board-column-empty"
|
|
283396
283433
|
};
|
|
283397
|
-
const _hoisted_42$
|
|
283434
|
+
const _hoisted_42$4 = ["onClick"];
|
|
283398
283435
|
const _hoisted_43$2 = {
|
|
283399
283436
|
key: 2,
|
|
283400
283437
|
class: "cn-board-view__refusal",
|
|
@@ -283691,7 +283728,7 @@ function render$2q(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
283691
283728
|
], 42 /* CLASS, PROPS, NEED_HYDRATION */, _hoisted_16$B))
|
|
283692
283729
|
}), 128 /* KEYED_FRAGMENT */))
|
|
283693
283730
|
], 8 /* PROPS */, _hoisted_15$E))
|
|
283694
|
-
: (vue$1.openBlock(), vue$1.createElementBlock("p", _hoisted_41$
|
|
283731
|
+
: (vue$1.openBlock(), vue$1.createElementBlock("p", _hoisted_41$4, vue$1.toDisplayString($options.emptyColumnText), 1 /* TEXT */)),
|
|
283695
283732
|
($options.hiddenCount(lane, column) > 0)
|
|
283696
283733
|
? (vue$1.openBlock(), vue$1.createElementBlock("button", {
|
|
283697
283734
|
key: 5,
|
|
@@ -283699,7 +283736,7 @@ function render$2q(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
283699
283736
|
class: "cn-board-view__show-more",
|
|
283700
283737
|
"data-testid": "cn-board-show-more",
|
|
283701
283738
|
onClick: $event => ($options.showMore(lane, column))
|
|
283702
|
-
}, vue$1.toDisplayString($options.showMoreLabel($options.hiddenCount(lane, column))), 9 /* TEXT, PROPS */, _hoisted_42$
|
|
283739
|
+
}, vue$1.toDisplayString($options.showMoreLabel($options.hiddenCount(lane, column))), 9 /* TEXT, PROPS */, _hoisted_42$4))
|
|
283703
283740
|
: vue$1.createCommentVNode("v-if", true)
|
|
283704
283741
|
], 42 /* CLASS, PROPS, NEED_HYDRATION */, _hoisted_5$1C))
|
|
283705
283742
|
}), 128 /* KEYED_FRAGMENT */))
|
|
@@ -304608,7 +304645,7 @@ function render$25(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
304608
304645
|
? (vue$1.openBlock(), vue$1.createBlock(_component_NcAppSidebarTab, {
|
|
304609
304646
|
key: 0,
|
|
304610
304647
|
id: "filters-tab",
|
|
304611
|
-
name: $options.t('nextcloud-vue', '
|
|
304648
|
+
name: $options.t('nextcloud-vue', 'Views'),
|
|
304612
304649
|
order: 3
|
|
304613
304650
|
}, {
|
|
304614
304651
|
icon: vue$1.withCtx(() => [
|
|
@@ -309748,11 +309785,22 @@ function declaredFilterFields(props) {
|
|
|
309748
309785
|
* @return {object} The `{ fieldKey: values }` map, empty when the link carries none.
|
|
309749
309786
|
*/
|
|
309750
309787
|
function namedFiltersFromRoute(instance, props) {
|
|
309788
|
+
const route = instance && instance.proxy && instance.proxy.$route;
|
|
309789
|
+
return namedFiltersFromQuery((route && route.query) || {}, props)
|
|
309790
|
+
}
|
|
309791
|
+
|
|
309792
|
+
/**
|
|
309793
|
+
* The named-source filters a query carries, as `namedFiltersFromRoute` reads them.
|
|
309794
|
+
*
|
|
309795
|
+
* @param {object} query The route query.
|
|
309796
|
+
* @param {object} props The CnIndexPage props.
|
|
309797
|
+
*
|
|
309798
|
+
* @return {object} The `{ fieldKey: values }` map.
|
|
309799
|
+
*/
|
|
309800
|
+
function namedFiltersFromQuery(query, props) {
|
|
309751
309801
|
if (!props.entitySource) {
|
|
309752
309802
|
return {}
|
|
309753
309803
|
}
|
|
309754
|
-
const route = instance && instance.proxy && instance.proxy.$route;
|
|
309755
|
-
const query = (route && route.query) || {};
|
|
309756
309804
|
const properties = declaredFilterFields(props);
|
|
309757
309805
|
const out = {};
|
|
309758
309806
|
|
|
@@ -311195,9 +311243,11 @@ var script$1W = {
|
|
|
311195
311243
|
},
|
|
311196
311244
|
|
|
311197
311245
|
/**
|
|
311198
|
-
*
|
|
311199
|
-
*
|
|
311200
|
-
*
|
|
311246
|
+
* Saved views (saved-views-ui). Unset, the sidebar's Views tab is on
|
|
311247
|
+
* for every page with a sidebar and a source a view can be scoped to
|
|
311248
|
+
* (register and schema, `entitySource` or `savedViewsScope`); `false`
|
|
311249
|
+
* turns it off. `true` also forces the sidebar and adds the toolbar
|
|
311250
|
+
* control, where a Views dropdown lists the
|
|
311201
311251
|
* current user's OpenRegister saved-search views
|
|
311202
311252
|
* (`GET /apps/openregister/api/views`); applying one writes its
|
|
311203
311253
|
* stored filters/search/sort into the route query (reusing the
|
|
@@ -311209,7 +311259,7 @@ var script$1W = {
|
|
|
311209
311259
|
*/
|
|
311210
311260
|
allowSavedViews: {
|
|
311211
311261
|
type: Boolean,
|
|
311212
|
-
default:
|
|
311262
|
+
default: null,
|
|
311213
311263
|
},
|
|
311214
311264
|
|
|
311215
311265
|
/**
|
|
@@ -313771,7 +313821,7 @@ var script$1W = {
|
|
|
313771
313821
|
* @spec openspec/changes/saved-views-manage-and-defaults/tasks.md#task-6
|
|
313772
313822
|
*/
|
|
313773
313823
|
savedViewsForSidebar() {
|
|
313774
|
-
if (!this.
|
|
313824
|
+
if (!this.savedViewsOffered) {
|
|
313775
313825
|
return null
|
|
313776
313826
|
}
|
|
313777
313827
|
return {
|
|
@@ -314912,7 +314962,16 @@ var script$1W = {
|
|
|
314912
314962
|
* @return {{ scope: string, register: string, schema: object|string|null }} The page's source.
|
|
314913
314963
|
*/
|
|
314914
314964
|
savedViewsPage() {
|
|
314915
|
-
return { scope: this.savedViewsScope, register: this.register, schema: this.schema }
|
|
314965
|
+
return { scope: this.savedViewsScope, register: this.register, schema: this.schema, source: this.entitySource }
|
|
314966
|
+
},
|
|
314967
|
+
|
|
314968
|
+
/**
|
|
314969
|
+
* Whether this page offers saved views in its sidebar.
|
|
314970
|
+
*
|
|
314971
|
+
* @return {boolean}
|
|
314972
|
+
*/
|
|
314973
|
+
savedViewsOffered() {
|
|
314974
|
+
return pageOffersSavedViews(this)
|
|
314916
314975
|
},
|
|
314917
314976
|
|
|
314918
314977
|
/**
|
|
@@ -316485,7 +316544,7 @@ var script$1W = {
|
|
|
316485
316544
|
created() {
|
|
316486
316545
|
this.applyViewModeFromRoute();
|
|
316487
316546
|
this.pushAiContext();
|
|
316488
|
-
if (this.
|
|
316547
|
+
if (this.savedViewsOffered) {
|
|
316489
316548
|
this.fetchSavedViews();
|
|
316490
316549
|
}
|
|
316491
316550
|
this.selfActions = createSelfModeActions({
|
|
@@ -319593,8 +319652,8 @@ var script$1W = {
|
|
|
319593
319652
|
|
|
319594
319653
|
/**
|
|
319595
319654
|
* Fetch the current user's saved views (own + public) from
|
|
319596
|
-
* OpenRegister's views API. Called from created() when
|
|
319597
|
-
*
|
|
319655
|
+
* OpenRegister's views API. Called from created() when the page
|
|
319656
|
+
* offers saved views.
|
|
319598
319657
|
*/
|
|
319599
319658
|
async fetchSavedViews() {
|
|
319600
319659
|
this.savedViewsLoading = true;
|
|
@@ -319664,6 +319723,9 @@ var script$1W = {
|
|
|
319664
319723
|
query.savedView = this.appliedSavedViewId;
|
|
319665
319724
|
}
|
|
319666
319725
|
const nav = this.$router.replace({ query });
|
|
319726
|
+
if (this.isNamedSource) {
|
|
319727
|
+
this.namedActiveFilters = namedFiltersFromQuery(query, this);
|
|
319728
|
+
}
|
|
319667
319729
|
// Swallow the duplicate-navigation rejection (Vue Router 3)
|
|
319668
319730
|
// when the applied view matches the current query.
|
|
319669
319731
|
if (nav && typeof nav.catch === 'function') {
|
|
@@ -320609,8 +320671,8 @@ const _hoisted_39$5 = {
|
|
|
320609
320671
|
"aria-hidden": "true"
|
|
320610
320672
|
};
|
|
320611
320673
|
const _hoisted_40$5 = { class: "cn-index-page__map-text" };
|
|
320612
|
-
const _hoisted_41$
|
|
320613
|
-
const _hoisted_42$
|
|
320674
|
+
const _hoisted_41$3 = ["onClick"];
|
|
320675
|
+
const _hoisted_42$3 = {
|
|
320614
320676
|
key: 0,
|
|
320615
320677
|
class: "cn-index-page__map-sub"
|
|
320616
320678
|
};
|
|
@@ -321846,9 +321908,9 @@ function render$1V(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
321846
321908
|
type: "button",
|
|
321847
321909
|
class: "cn-index-page__map-title",
|
|
321848
321910
|
onClick: $event => ($options.onRowClick(item.row))
|
|
321849
|
-
}, vue$1.toDisplayString(item.title), 9 /* TEXT, PROPS */, _hoisted_41$
|
|
321911
|
+
}, vue$1.toDisplayString(item.title), 9 /* TEXT, PROPS */, _hoisted_41$3),
|
|
321850
321912
|
(item.sub)
|
|
321851
|
-
? (vue$1.openBlock(), vue$1.createElementBlock("span", _hoisted_42$
|
|
321913
|
+
? (vue$1.openBlock(), vue$1.createElementBlock("span", _hoisted_42$3, vue$1.toDisplayString(item.sub), 1 /* TEXT */))
|
|
321852
321914
|
: vue$1.createCommentVNode("v-if", true),
|
|
321853
321915
|
(item.pills.length > 0 || item.due)
|
|
321854
321916
|
? (vue$1.openBlock(), vue$1.createElementBlock("span", _hoisted_43$1, [
|
|
@@ -326770,11 +326832,11 @@ const _hoisted_37$4 = { class: "cn-register-mapping__type-name" };
|
|
|
326770
326832
|
const _hoisted_38$4 = { class: "cn-register-mapping__type-schema" };
|
|
326771
326833
|
const _hoisted_39$3 = { class: "cn-register-mapping__type-status" };
|
|
326772
326834
|
const _hoisted_40$3 = { class: "cn-register-mapping__type-chevron" };
|
|
326773
|
-
const _hoisted_41$
|
|
326835
|
+
const _hoisted_41$2 = {
|
|
326774
326836
|
key: 0,
|
|
326775
326837
|
class: "cn-register-mapping__type-detail"
|
|
326776
326838
|
};
|
|
326777
|
-
const _hoisted_42$
|
|
326839
|
+
const _hoisted_42$2 = {
|
|
326778
326840
|
key: 0,
|
|
326779
326841
|
class: "cn-register-mapping__type-description"
|
|
326780
326842
|
};
|
|
@@ -327083,9 +327145,9 @@ function render$1O(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
327083
327145
|
vue$1.createVNode(vue$1.Transition, { name: "slide" }, {
|
|
327084
327146
|
default: vue$1.withCtx(() => [
|
|
327085
327147
|
($options.isExpanded(groupIdx, type.slug))
|
|
327086
|
-
? (vue$1.openBlock(), vue$1.createElementBlock("div", _hoisted_41$
|
|
327148
|
+
? (vue$1.openBlock(), vue$1.createElementBlock("div", _hoisted_41$2, [
|
|
327087
327149
|
(type.description)
|
|
327088
|
-
? (vue$1.openBlock(), vue$1.createElementBlock("p", _hoisted_42$
|
|
327150
|
+
? (vue$1.openBlock(), vue$1.createElementBlock("p", _hoisted_42$2, vue$1.toDisplayString(type.description), 1 /* TEXT */))
|
|
327089
327151
|
: vue$1.createCommentVNode("v-if", true),
|
|
327090
327152
|
vue$1.createVNode(_component_NcSelect, {
|
|
327091
327153
|
modelValue: $options.selectedSchema(groupIdx, type),
|
|
@@ -338365,6 +338427,26 @@ var script$1y = {
|
|
|
338365
338427
|
&& this.register !== '' && this.schema !== '' && this.objectId !== ''
|
|
338366
338428
|
},
|
|
338367
338429
|
|
|
338430
|
+
/**
|
|
338431
|
+
* The props of the Follow control, wherever the header draws it.
|
|
338432
|
+
*
|
|
338433
|
+
* @return {object} The CnFollowToggle props.
|
|
338434
|
+
* @spec openspec/changes/board-follow-row/specs/board-follow-row/spec.md#requirement-the-board-follow-control-sits-under-the-breadcrumb
|
|
338435
|
+
*/
|
|
338436
|
+
followToggleProps() {
|
|
338437
|
+
const self = this.resolvedSelf;
|
|
338438
|
+
return {
|
|
338439
|
+
register: this.register,
|
|
338440
|
+
schema: this.schema,
|
|
338441
|
+
objectId: String(this.objectId),
|
|
338442
|
+
watching: self.watching === true,
|
|
338443
|
+
notify: typeof self.watchNotify === 'boolean' ? self.watchNotify : null,
|
|
338444
|
+
watcherCount: typeof self.watcherCount === 'number' ? self.watcherCount : null,
|
|
338445
|
+
canManage: !!(self.can && self.can.manage === true),
|
|
338446
|
+
notifies: this.followNotifies,
|
|
338447
|
+
}
|
|
338448
|
+
},
|
|
338449
|
+
|
|
338368
338450
|
/**
|
|
338369
338451
|
* The `_extend[]` values of the object read: the page's own, plus
|
|
338370
338452
|
* `@self.can` while the Follow toggle can render (OpenRegister returns
|
|
@@ -340985,84 +341067,93 @@ const _hoisted_15$r = {
|
|
|
340985
341067
|
};
|
|
340986
341068
|
const _hoisted_16$p = {
|
|
340987
341069
|
key: 1,
|
|
341070
|
+
class: "cn-detail-page__header-row3",
|
|
341071
|
+
"data-testid": "cn-detail-page-header-row3"
|
|
341072
|
+
};
|
|
341073
|
+
const _hoisted_17$l = {
|
|
341074
|
+
class: "cn-detail-page__interactions",
|
|
341075
|
+
"data-testid": "cn-detail-page-interactions"
|
|
341076
|
+
};
|
|
341077
|
+
const _hoisted_18$i = {
|
|
341078
|
+
key: 2,
|
|
340988
341079
|
class: "cn-detail-page__header-widget",
|
|
340989
341080
|
"data-testid": "cn-detail-page-header-widget"
|
|
340990
341081
|
};
|
|
340991
|
-
const
|
|
341082
|
+
const _hoisted_19$g = {
|
|
340992
341083
|
key: 4,
|
|
340993
341084
|
class: "cn-detail-page__lock-refusal",
|
|
340994
341085
|
role: "alert",
|
|
340995
341086
|
"data-testid": "cn-detail-page-lock-refusal"
|
|
340996
341087
|
};
|
|
340997
|
-
const
|
|
341088
|
+
const _hoisted_20$e = {
|
|
340998
341089
|
key: 6,
|
|
340999
341090
|
class: "cn-detail-page__not-found",
|
|
341000
341091
|
"data-testid": "cn-detail-page-not-found"
|
|
341001
341092
|
};
|
|
341002
|
-
const
|
|
341093
|
+
const _hoisted_21$d = {
|
|
341003
341094
|
key: 7,
|
|
341004
341095
|
class: "cn-detail-page__loading"
|
|
341005
341096
|
};
|
|
341006
|
-
const
|
|
341097
|
+
const _hoisted_22$d = {
|
|
341007
341098
|
key: 8,
|
|
341008
341099
|
class: "cn-detail-page__error"
|
|
341009
341100
|
};
|
|
341010
|
-
const
|
|
341101
|
+
const _hoisted_23$b = {
|
|
341011
341102
|
key: 9,
|
|
341012
341103
|
class: "cn-detail-page__empty"
|
|
341013
341104
|
};
|
|
341014
|
-
const
|
|
341105
|
+
const _hoisted_24$b = {
|
|
341015
341106
|
key: 10,
|
|
341016
341107
|
class: "cn-detail-page__body"
|
|
341017
341108
|
};
|
|
341018
|
-
const
|
|
341109
|
+
const _hoisted_25$9 = {
|
|
341019
341110
|
key: 0,
|
|
341020
341111
|
class: "cn-detail-page__before-body"
|
|
341021
341112
|
};
|
|
341022
|
-
const
|
|
341023
|
-
const
|
|
341113
|
+
const _hoisted_26$7 = ["aria-labelledby"];
|
|
341114
|
+
const _hoisted_27$4 = {
|
|
341024
341115
|
key: 0,
|
|
341025
341116
|
class: "cn-detail-page__widget-edit"
|
|
341026
341117
|
};
|
|
341027
|
-
const
|
|
341028
|
-
const
|
|
341029
|
-
const
|
|
341118
|
+
const _hoisted_28$4 = ["id"];
|
|
341119
|
+
const _hoisted_29$4 = ["id", "aria-label"];
|
|
341120
|
+
const _hoisted_30$4 = {
|
|
341030
341121
|
key: 3,
|
|
341031
341122
|
class: "cn-detail-page__stats"
|
|
341032
341123
|
};
|
|
341033
|
-
const
|
|
341124
|
+
const _hoisted_31$3 = {
|
|
341034
341125
|
key: 0,
|
|
341035
341126
|
class: "cn-detail-page__section-title"
|
|
341036
341127
|
};
|
|
341037
|
-
const
|
|
341038
|
-
const
|
|
341039
|
-
const
|
|
341128
|
+
const _hoisted_32$3 = { class: "cn-detail-page__stats-table" };
|
|
341129
|
+
const _hoisted_33$3 = { key: 0 };
|
|
341130
|
+
const _hoisted_34$3 = {
|
|
341040
341131
|
key: 4,
|
|
341041
341132
|
class: "cn-detail-page__content"
|
|
341042
341133
|
};
|
|
341043
|
-
const
|
|
341134
|
+
const _hoisted_35$3 = {
|
|
341044
341135
|
key: 0,
|
|
341045
341136
|
class: "cn-detail-page__content"
|
|
341046
341137
|
};
|
|
341047
|
-
const
|
|
341138
|
+
const _hoisted_36$3 = {
|
|
341048
341139
|
key: 1,
|
|
341049
341140
|
class: "cn-detail-page__sections"
|
|
341050
341141
|
};
|
|
341051
|
-
const
|
|
341142
|
+
const _hoisted_37$3 = {
|
|
341052
341143
|
key: 6,
|
|
341053
341144
|
class: "cn-detail-page__related-collections"
|
|
341054
341145
|
};
|
|
341055
|
-
const
|
|
341146
|
+
const _hoisted_38$3 = {
|
|
341056
341147
|
key: 0,
|
|
341057
341148
|
class: "cn-detail-page__relation-links"
|
|
341058
341149
|
};
|
|
341059
|
-
const
|
|
341150
|
+
const _hoisted_39$2 = {
|
|
341060
341151
|
key: 9,
|
|
341061
341152
|
class: "cn-detail-page__footer"
|
|
341062
341153
|
};
|
|
341063
|
-
const
|
|
341064
|
-
const
|
|
341065
|
-
const
|
|
341154
|
+
const _hoisted_40$2 = ["aria-label"];
|
|
341155
|
+
const _hoisted_41$1 = ["data-testid"];
|
|
341156
|
+
const _hoisted_42$1 = {
|
|
341066
341157
|
key: 0,
|
|
341067
341158
|
class: "cn-detail-page__side-identifier",
|
|
341068
341159
|
"data-testid": "cn-detail-page-side-identifier"
|
|
@@ -341192,18 +341283,9 @@ function render$1x(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
341192
341283
|
_: 1 /* STABLE */
|
|
341193
341284
|
}, 8 /* PROPS */, ["title"]))
|
|
341194
341285
|
: vue$1.createCommentVNode("v-if", true),
|
|
341195
|
-
($options.showFollowToggle)
|
|
341286
|
+
($options.showFollowToggle && !$options.isBoard)
|
|
341196
341287
|
? (vue$1.openBlock(), vue$1.createElementBlock("span", _hoisted_7$U, [
|
|
341197
|
-
vue$1.createVNode(_component_CnFollowToggle,
|
|
341198
|
-
register: $props.register,
|
|
341199
|
-
schema: $props.schema,
|
|
341200
|
-
objectId: String($props.objectId),
|
|
341201
|
-
watching: $options.resolvedSelf.watching === true,
|
|
341202
|
-
notify: typeof $options.resolvedSelf.watchNotify === 'boolean' ? $options.resolvedSelf.watchNotify : null,
|
|
341203
|
-
watcherCount: typeof $options.resolvedSelf.watcherCount === 'number' ? $options.resolvedSelf.watcherCount : null,
|
|
341204
|
-
canManage: !!($options.resolvedSelf.can && $options.resolvedSelf.can.manage === true),
|
|
341205
|
-
notifies: $props.followNotifies
|
|
341206
|
-
}, null, 8 /* PROPS */, ["register", "schema", "objectId", "watching", "notify", "watcherCount", "canManage", "notifies"])
|
|
341288
|
+
vue$1.createVNode(_component_CnFollowToggle, vue$1.normalizeProps(vue$1.guardReactiveProps($options.followToggleProps)), null, 16 /* FULL_PROPS */)
|
|
341207
341289
|
]))
|
|
341208
341290
|
: vue$1.createCommentVNode("v-if", true)
|
|
341209
341291
|
]))
|
|
@@ -341615,8 +341697,15 @@ function render$1x(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
341615
341697
|
: vue$1.createCommentVNode("v-if", true)
|
|
341616
341698
|
]))
|
|
341617
341699
|
: vue$1.createCommentVNode("v-if", true),
|
|
341618
|
-
($options.
|
|
341700
|
+
($options.isBoard && $options.showFollowToggle)
|
|
341619
341701
|
? (vue$1.openBlock(), vue$1.createElementBlock("div", _hoisted_16$p, [
|
|
341702
|
+
vue$1.createElementVNode("span", _hoisted_17$l, [
|
|
341703
|
+
vue$1.createVNode(_component_CnFollowToggle, vue$1.normalizeProps(vue$1.guardReactiveProps($options.followToggleProps)), null, 16 /* FULL_PROPS */)
|
|
341704
|
+
])
|
|
341705
|
+
]))
|
|
341706
|
+
: vue$1.createCommentVNode("v-if", true),
|
|
341707
|
+
($options.headerWidgetDef !== null)
|
|
341708
|
+
? (vue$1.openBlock(), vue$1.createElementBlock("div", _hoisted_18$i, [
|
|
341620
341709
|
vue$1.renderSlot(_ctx.$slots, `widget-${$options.headerWidgetDef.id}`, {
|
|
341621
341710
|
item: { id: $options.headerWidgetDef.id, widgetId: $options.headerWidgetDef.id },
|
|
341622
341711
|
widget: $options.headerWidgetDef,
|
|
@@ -341662,7 +341751,7 @@ function render$1x(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
341662
341751
|
}, null, 8 /* PROPS */, ["lockedBy", "lockedByMe", "expiresAt", "unlocking", "onUnlock"]))
|
|
341663
341752
|
: vue$1.createCommentVNode("v-if", true),
|
|
341664
341753
|
($data.editLockRefusal)
|
|
341665
|
-
? (vue$1.openBlock(), vue$1.createElementBlock("p",
|
|
341754
|
+
? (vue$1.openBlock(), vue$1.createElementBlock("p", _hoisted_19$g, vue$1.toDisplayString($data.editLockRefusal), 1 /* TEXT */))
|
|
341666
341755
|
: vue$1.createCommentVNode("v-if", true),
|
|
341667
341756
|
($options.showsNextStepCard)
|
|
341668
341757
|
? (vue$1.openBlock(), vue$1.createBlock(_component_CnNextStepCard, {
|
|
@@ -341700,7 +341789,7 @@ function render$1x(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
341700
341789
|
]), 1032 /* PROPS, DYNAMIC_SLOTS */, ["title", "items", "after"]))
|
|
341701
341790
|
: vue$1.createCommentVNode("v-if", true),
|
|
341702
341791
|
($data.objectNotFound)
|
|
341703
|
-
? (vue$1.openBlock(), vue$1.createElementBlock("div",
|
|
341792
|
+
? (vue$1.openBlock(), vue$1.createElementBlock("div", _hoisted_20$e, [
|
|
341704
341793
|
vue$1.renderSlot(_ctx.$slots, "not-found", { target: $options.notFoundTarget }, () => [
|
|
341705
341794
|
vue$1.createVNode(_component_NcEmptyContent, {
|
|
341706
341795
|
name: $options.notFoundLabels.name,
|
|
@@ -341736,12 +341825,12 @@ function render$1x(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
341736
341825
|
])
|
|
341737
341826
|
]))
|
|
341738
341827
|
: ($options.showLoadingState)
|
|
341739
|
-
? (vue$1.openBlock(), vue$1.createElementBlock("div",
|
|
341828
|
+
? (vue$1.openBlock(), vue$1.createElementBlock("div", _hoisted_21$d, [
|
|
341740
341829
|
vue$1.createVNode(_component_NcLoadingIcon, { size: 32 }),
|
|
341741
341830
|
vue$1.createElementVNode("span", null, vue$1.toDisplayString($props.loadingLabel), 1 /* TEXT */)
|
|
341742
341831
|
]))
|
|
341743
341832
|
: ($props.error)
|
|
341744
|
-
? (vue$1.openBlock(), vue$1.createElementBlock("div",
|
|
341833
|
+
? (vue$1.openBlock(), vue$1.createElementBlock("div", _hoisted_22$d, [
|
|
341745
341834
|
vue$1.renderSlot(_ctx.$slots, "error", {}, () => [
|
|
341746
341835
|
vue$1.createVNode(_component_NcEmptyContent, { name: $props.errorMessage }, {
|
|
341747
341836
|
icon: vue$1.withCtx(() => [
|
|
@@ -341770,7 +341859,7 @@ function render$1x(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
341770
341859
|
])
|
|
341771
341860
|
]))
|
|
341772
341861
|
: ($props.empty)
|
|
341773
|
-
? (vue$1.openBlock(), vue$1.createElementBlock("div",
|
|
341862
|
+
? (vue$1.openBlock(), vue$1.createElementBlock("div", _hoisted_23$b, [
|
|
341774
341863
|
vue$1.renderSlot(_ctx.$slots, "empty", {}, () => [
|
|
341775
341864
|
vue$1.createVNode(_component_NcEmptyContent, { name: $props.emptyLabel }, {
|
|
341776
341865
|
icon: vue$1.withCtx(() => [
|
|
@@ -341783,9 +341872,9 @@ function render$1x(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
341783
341872
|
}, 8 /* PROPS */, ["name"])
|
|
341784
341873
|
])
|
|
341785
341874
|
]))
|
|
341786
|
-
: (vue$1.openBlock(), vue$1.createElementBlock("div",
|
|
341875
|
+
: (vue$1.openBlock(), vue$1.createElementBlock("div", _hoisted_24$b, [
|
|
341787
341876
|
(_ctx.$slots['before-body'] || _ctx.$slots['before-body'])
|
|
341788
|
-
? (vue$1.openBlock(), vue$1.createElementBlock("div",
|
|
341877
|
+
? (vue$1.openBlock(), vue$1.createElementBlock("div", _hoisted_25$9, [
|
|
341789
341878
|
vue$1.renderSlot(_ctx.$slots, "before-body", {
|
|
341790
341879
|
object: $options.resolvedObject,
|
|
341791
341880
|
schema: $options.currentSchema,
|
|
@@ -341821,7 +341910,7 @@ function render$1x(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
341821
341910
|
"aria-labelledby": $options.showGridTitle(item) ? `widget-title-${item.id}` : undefined
|
|
341822
341911
|
}, [
|
|
341823
341912
|
($options.showsCog(item))
|
|
341824
|
-
? (vue$1.openBlock(), vue$1.createElementBlock("div",
|
|
341913
|
+
? (vue$1.openBlock(), vue$1.createElementBlock("div", _hoisted_27$4, [
|
|
341825
341914
|
vue$1.createVNode(_component_NcButton, {
|
|
341826
341915
|
variant: "tertiary",
|
|
341827
341916
|
"aria-label": _ctx.t('nextcloud-vue', 'Configure widget'),
|
|
@@ -341839,7 +341928,7 @@ function render$1x(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
341839
341928
|
key: 1,
|
|
341840
341929
|
id: `widget-title-${item.id}`,
|
|
341841
341930
|
class: "cn-detail-page__widget-title"
|
|
341842
|
-
}, vue$1.toDisplayString($options.gridTitle(item)), 9 /* TEXT, PROPS */,
|
|
341931
|
+
}, vue$1.toDisplayString($options.gridTitle(item)), 9 /* TEXT, PROPS */, _hoisted_28$4))
|
|
341843
341932
|
: vue$1.createCommentVNode("v-if", true),
|
|
341844
341933
|
vue$1.renderSlot(_ctx.$slots, `widget-${item.widgetId}`, {
|
|
341845
341934
|
item: item,
|
|
@@ -341874,7 +341963,7 @@ function render$1x(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
341874
341963
|
onSelectObject: $options.onRelatedObjectSelect
|
|
341875
341964
|
}, null, 8 /* PROPS */, ["widget", "showCardTitle", "showActions", "objectId", "object", "objectType", "schemaObject", "register", "schema", "store", "surface", "integrationContext", "hideEmpty", "cnRegistry", "availableWidgets", "onGeoSaved", "onOpenIntegration", "onSelectObject"])
|
|
341876
341965
|
])
|
|
341877
|
-
], 10 /* CLASS, PROPS */,
|
|
341966
|
+
], 10 /* CLASS, PROPS */, _hoisted_26$7)
|
|
341878
341967
|
]),
|
|
341879
341968
|
_: 3 /* FORWARDED */
|
|
341880
341969
|
}, 16 /* FULL_PROPS */, ["layout", "editable", "columnOpts", "onLayoutChange"]))
|
|
@@ -341894,18 +341983,18 @@ function render$1x(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
341894
341983
|
]),
|
|
341895
341984
|
_: 1 /* STABLE */
|
|
341896
341985
|
}, 8 /* PROPS */, ["description"])
|
|
341897
|
-
], 8 /* PROPS */,
|
|
341986
|
+
], 8 /* PROPS */, _hoisted_29$4))
|
|
341898
341987
|
: vue$1.createCommentVNode("v-if", true),
|
|
341899
341988
|
($options.hasStats)
|
|
341900
|
-
? (vue$1.openBlock(), vue$1.createElementBlock("div",
|
|
341989
|
+
? (vue$1.openBlock(), vue$1.createElementBlock("div", _hoisted_30$4, [
|
|
341901
341990
|
vue$1.renderSlot(_ctx.$slots, "stats-header", {}, () => [
|
|
341902
341991
|
($props.statsTitle)
|
|
341903
|
-
? (vue$1.openBlock(), vue$1.createElementBlock("h3",
|
|
341992
|
+
? (vue$1.openBlock(), vue$1.createElementBlock("h3", _hoisted_31$3, vue$1.toDisplayString($options.resolvedStatsTitle), 1 /* TEXT */))
|
|
341904
341993
|
: vue$1.createCommentVNode("v-if", true)
|
|
341905
341994
|
]),
|
|
341906
|
-
vue$1.createElementVNode("table",
|
|
341995
|
+
vue$1.createElementVNode("table", _hoisted_32$3, [
|
|
341907
341996
|
($props.statsColumns.length > 0)
|
|
341908
|
-
? (vue$1.openBlock(), vue$1.createElementBlock("thead",
|
|
341997
|
+
? (vue$1.openBlock(), vue$1.createElementBlock("thead", _hoisted_33$3, [
|
|
341909
341998
|
vue$1.createElementVNode("tr", null, [
|
|
341910
341999
|
(vue$1.openBlock(true), vue$1.createElementBlock(vue$1.Fragment, null, vue$1.renderList($props.statsColumns, (col) => {
|
|
341911
342000
|
return (vue$1.openBlock(), vue$1.createElementBlock("th", {
|
|
@@ -341936,14 +342025,14 @@ function render$1x(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
341936
342025
|
])
|
|
341937
342026
|
])
|
|
341938
342027
|
]))
|
|
341939
|
-
: (vue$1.openBlock(), vue$1.createElementBlock("div",
|
|
342028
|
+
: (vue$1.openBlock(), vue$1.createElementBlock("div", _hoisted_34$3, [
|
|
341940
342029
|
(!$options.hasBodyGrid)
|
|
341941
|
-
? (vue$1.openBlock(), vue$1.createElementBlock("div",
|
|
342030
|
+
? (vue$1.openBlock(), vue$1.createElementBlock("div", _hoisted_35$3, [
|
|
341942
342031
|
vue$1.renderSlot(_ctx.$slots, "default")
|
|
341943
342032
|
]))
|
|
341944
342033
|
: vue$1.createCommentVNode("v-if", true),
|
|
341945
342034
|
(_ctx.$slots.sections)
|
|
341946
|
-
? (vue$1.openBlock(), vue$1.createElementBlock("div",
|
|
342035
|
+
? (vue$1.openBlock(), vue$1.createElementBlock("div", _hoisted_36$3, [
|
|
341947
342036
|
vue$1.renderSlot(_ctx.$slots, "sections")
|
|
341948
342037
|
]))
|
|
341949
342038
|
: vue$1.createCommentVNode("v-if", true)
|
|
@@ -341958,9 +342047,9 @@ function render$1x(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
341958
342047
|
}, null, 8 /* PROPS */, ["sections", "context"]))
|
|
341959
342048
|
: vue$1.createCommentVNode("v-if", true),
|
|
341960
342049
|
(($props.relatedCollections && $props.relatedCollections.length > 0) || ($props.relationLinks && $props.relationLinks.length > 0))
|
|
341961
|
-
? (vue$1.openBlock(), vue$1.createElementBlock("div",
|
|
342050
|
+
? (vue$1.openBlock(), vue$1.createElementBlock("div", _hoisted_37$3, [
|
|
341962
342051
|
($props.relationLinks && $props.relationLinks.length > 0)
|
|
341963
|
-
? (vue$1.openBlock(), vue$1.createElementBlock("div",
|
|
342052
|
+
? (vue$1.openBlock(), vue$1.createElementBlock("div", _hoisted_38$3, [
|
|
341964
342053
|
(vue$1.openBlock(true), vue$1.createElementBlock(vue$1.Fragment, null, vue$1.renderList($props.relationLinks, (link, li) => {
|
|
341965
342054
|
return (vue$1.openBlock(), vue$1.createBlock(_component_NcButton, {
|
|
341966
342055
|
key: li,
|
|
@@ -342007,7 +342096,7 @@ function render$1x(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
342007
342096
|
}, null, 8 /* PROPS */, ["sections", "context"]))
|
|
342008
342097
|
: vue$1.createCommentVNode("v-if", true),
|
|
342009
342098
|
(_ctx.$slots.footer)
|
|
342010
|
-
? (vue$1.openBlock(), vue$1.createElementBlock("div",
|
|
342099
|
+
? (vue$1.openBlock(), vue$1.createElementBlock("div", _hoisted_39$2, [
|
|
342011
342100
|
vue$1.renderSlot(_ctx.$slots, "footer")
|
|
342012
342101
|
]))
|
|
342013
342102
|
: vue$1.createCommentVNode("v-if", true)
|
|
@@ -342058,11 +342147,11 @@ function render$1x(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
342058
342147
|
}, null, 8 /* PROPS */, ["widget", "showActions", "objectId", "object", "objectType", "schemaObject", "register", "schema", "store", "surface", "integrationContext", "hideEmpty", "cnRegistry", "availableWidgets", "onGeoSaved", "onOpenIntegration", "onSelectObject"])
|
|
342059
342148
|
]),
|
|
342060
342149
|
($options.isBoard && widget.id === $options.sideHistoryId && $options.identifierLine !== '')
|
|
342061
|
-
? (vue$1.openBlock(), vue$1.createElementBlock("p",
|
|
342150
|
+
? (vue$1.openBlock(), vue$1.createElementBlock("p", _hoisted_42$1, vue$1.toDisplayString($options.identifierLine), 1 /* TEXT */))
|
|
342062
342151
|
: vue$1.createCommentVNode("v-if", true)
|
|
342063
|
-
], 10 /* CLASS, PROPS */,
|
|
342152
|
+
], 10 /* CLASS, PROPS */, _hoisted_41$1))
|
|
342064
342153
|
}), 128 /* KEYED_FRAGMENT */))
|
|
342065
|
-
], 8 /* PROPS */,
|
|
342154
|
+
], 8 /* PROPS */, _hoisted_40$2))
|
|
342066
342155
|
: vue$1.createCommentVNode("v-if", true),
|
|
342067
342156
|
($data.showWidgetConfig)
|
|
342068
342157
|
? (vue$1.openBlock(), vue$1.createBlock(_component_CnWidgetStyleEditorModal, {
|
|
@@ -386656,7 +386745,7 @@ var script$j = {
|
|
|
386656
386745
|
*/
|
|
386657
386746
|
offersSavedViews() {
|
|
386658
386747
|
const pages = this.manifest && Array.isArray(this.manifest.pages) ? this.manifest.pages : [];
|
|
386659
|
-
return pages.some((page) => page && page.
|
|
386748
|
+
return pages.some((page) => page && page.type === 'index' && pageOffersSavedViews(page.config))
|
|
386660
386749
|
},
|
|
386661
386750
|
|
|
386662
386751
|
/**
|