@conduction/nextcloud-vue 2.146.0 → 2.147.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/CnFactsWidget/CnFactsWidget.vue.js +1 -1
- package/dist/esm/components/CnFactsWidget/CnFactsWidget.vue2.js +68 -9
- package/dist/esm/components/CnFactsWidget/CnFactsWidget.vue2.js.map +1 -1
- package/dist/esm/components/CnFactsWidget/CnFactsWidget.vue3.js +37 -13
- package/dist/esm/components/CnFactsWidget/CnFactsWidget.vue3.js.map +1 -1
- package/dist/esm/components/CnObjectPartiesWidget/CnObjectPartiesWidget.vue.js +1 -1
- package/dist/esm/components/CnObjectPartiesWidget/CnObjectPartiesWidget.vue2.js +2 -2
- package/dist/esm/components/CnObjectPartiesWidget/CnObjectPartiesWidget.vue2.js.map +1 -1
- package/dist/esm/components/CnObjectPartiesWidget/CnObjectPartiesWidget.vue3.js.map +1 -1
- package/dist/esm/library-style.js +1 -1
- package/dist/esm/nextcloud-vue.css +83 -71
- package/dist/esm/utils/objectParties.js +30 -1
- package/dist/esm/utils/objectParties.js.map +1 -1
- package/dist/nextcloud-vue.cjs.js +193 -81
- package/dist/nextcloud-vue.cjs.js.map +2 -2
- package/dist/nextcloud-vue.css +83 -71
- package/package.json +1 -1
- package/src/components/CnFactsWidget/CnFactsWidget.vue +96 -9
- package/src/components/CnObjectPartiesWidget/CnObjectPartiesWidget.vue +2 -1
- package/src/utils/objectParties.js +29 -0
|
@@ -30167,12 +30167,12 @@ const _hoisted_25$O = {
|
|
|
30167
30167
|
const _hoisted_26$I = ["id", "placeholder", "disabled", "aria-describedby"];
|
|
30168
30168
|
const _hoisted_27$A = ["id"];
|
|
30169
30169
|
const _hoisted_28$y = { class: "cn-conversation-thread__reply-foot" };
|
|
30170
|
-
const _hoisted_29$
|
|
30170
|
+
const _hoisted_29$x = {
|
|
30171
30171
|
key: 0,
|
|
30172
30172
|
class: "cn-conversation-thread__reply-option",
|
|
30173
30173
|
"data-testid": "cn-conversation-reply-option"
|
|
30174
30174
|
};
|
|
30175
|
-
const _hoisted_30$
|
|
30175
|
+
const _hoisted_30$v = ["disabled"];
|
|
30176
30176
|
const _hoisted_31$s = { class: "cn-conversation-thread__reply-actions" };
|
|
30177
30177
|
|
|
30178
30178
|
function render$8q(_ctx, _cache, $props, $setup, $data, $options) {
|
|
@@ -30326,12 +30326,12 @@ function render$8q(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
30326
30326
|
: vue$1.createCommentVNode("v-if", true),
|
|
30327
30327
|
vue$1.createElementVNode("div", _hoisted_28$y, [
|
|
30328
30328
|
($options.optionShown)
|
|
30329
|
-
? (vue$1.openBlock(), vue$1.createElementBlock("label", _hoisted_29$
|
|
30329
|
+
? (vue$1.openBlock(), vue$1.createElementBlock("label", _hoisted_29$x, [
|
|
30330
30330
|
vue$1.withDirectives(vue$1.createElementVNode("input", {
|
|
30331
30331
|
"onUpdate:modelValue": _cache[3] || (_cache[3] = $event => (($data.optionOn) = $event)),
|
|
30332
30332
|
type: "checkbox",
|
|
30333
30333
|
disabled: $data.sending
|
|
30334
|
-
}, null, 8 /* PROPS */, _hoisted_30$
|
|
30334
|
+
}, null, 8 /* PROPS */, _hoisted_30$v), [
|
|
30335
30335
|
[vue$1.vModelCheckbox, $data.optionOn]
|
|
30336
30336
|
]),
|
|
30337
30337
|
vue$1.createElementVNode("span", null, vue$1.toDisplayString($props.replyOption.label), 1 /* TEXT */)
|
|
@@ -46442,8 +46442,8 @@ const _hoisted_28$x = {
|
|
|
46442
46442
|
key: 1,
|
|
46443
46443
|
class: "cn-cell-renderer__dash"
|
|
46444
46444
|
};
|
|
46445
|
-
const _hoisted_29$
|
|
46446
|
-
const _hoisted_30$
|
|
46445
|
+
const _hoisted_29$w = ["datetime", "title"];
|
|
46446
|
+
const _hoisted_30$u = {
|
|
46447
46447
|
key: 1,
|
|
46448
46448
|
class: "cn-cell-renderer__date cn-cell-renderer__due--empty",
|
|
46449
46449
|
"data-testid": "cn-cell-renderer-due"
|
|
@@ -46785,8 +46785,8 @@ function render$84(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
46785
46785
|
datetime: $options.dateTimestamp.toISOString(),
|
|
46786
46786
|
title: $options.absoluteDateLabel,
|
|
46787
46787
|
"data-testid": "cn-cell-renderer-due"
|
|
46788
|
-
}, vue$1.toDisplayString($options.dueResult.text), 11 /* TEXT, CLASS, PROPS */, _hoisted_29$
|
|
46789
|
-
: (vue$1.openBlock(), vue$1.createElementBlock("span", _hoisted_30$
|
|
46788
|
+
}, vue$1.toDisplayString($options.dueResult.text), 11 /* TEXT, CLASS, PROPS */, _hoisted_29$w))
|
|
46789
|
+
: (vue$1.openBlock(), vue$1.createElementBlock("span", _hoisted_30$u, vue$1.toDisplayString($options.dueResult.text), 1 /* TEXT */))
|
|
46790
46790
|
], 64 /* STABLE_FRAGMENT */))
|
|
46791
46791
|
: ($options.dateTimestamp && $options.dateBlock)
|
|
46792
46792
|
? (vue$1.openBlock(), vue$1.createElementBlock("time", {
|
|
@@ -49571,13 +49571,13 @@ const _hoisted_26$G = {
|
|
|
49571
49571
|
};
|
|
49572
49572
|
const _hoisted_27$y = ["draggable", "data-testid-row-id", "onDragstart", "onDragover", "onDragleave", "onDrop", "onClick", "onAuxclick", "onContextmenu"];
|
|
49573
49573
|
const _hoisted_28$w = ["href", "aria-label", "onClick"];
|
|
49574
|
-
const _hoisted_29$
|
|
49574
|
+
const _hoisted_29$v = {
|
|
49575
49575
|
key: 1,
|
|
49576
49576
|
class: "cn-table-row__handle",
|
|
49577
49577
|
"aria-hidden": "true",
|
|
49578
49578
|
"data-testid": "cn-row-reorder-handle"
|
|
49579
49579
|
};
|
|
49580
|
-
const _hoisted_30$
|
|
49580
|
+
const _hoisted_30$t = {
|
|
49581
49581
|
key: 4,
|
|
49582
49582
|
class: "cn-table-row-indicators",
|
|
49583
49583
|
"data-testid": "cn-row-indicators"
|
|
@@ -49921,7 +49921,7 @@ function render$81(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
49921
49921
|
}, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_28$w))
|
|
49922
49922
|
: vue$1.createCommentVNode("v-if", true),
|
|
49923
49923
|
($props.reorderable && colIndex === 0)
|
|
49924
|
-
? (vue$1.openBlock(), vue$1.createElementBlock("span", _hoisted_29$
|
|
49924
|
+
? (vue$1.openBlock(), vue$1.createElementBlock("span", _hoisted_29$v, [
|
|
49925
49925
|
vue$1.createVNode(_component_DragVertical, { size: 16 })
|
|
49926
49926
|
]))
|
|
49927
49927
|
: vue$1.createCommentVNode("v-if", true),
|
|
@@ -49936,7 +49936,7 @@ function render$81(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
49936
49936
|
}, null, 8 /* PROPS */, ["object"]))
|
|
49937
49937
|
: vue$1.createCommentVNode("v-if", true),
|
|
49938
49938
|
(colIndex === $options.titleColumnIndex && $options.indicatorsFor(row).shown.length > 0)
|
|
49939
|
-
? (vue$1.openBlock(), vue$1.createElementBlock("span", _hoisted_30$
|
|
49939
|
+
? (vue$1.openBlock(), vue$1.createElementBlock("span", _hoisted_30$t, [
|
|
49940
49940
|
(vue$1.openBlock(true), vue$1.createElementBlock(vue$1.Fragment, null, vue$1.renderList($options.indicatorsFor(row).shown, (indicator) => {
|
|
49941
49941
|
return (vue$1.openBlock(), vue$1.createElementBlock("span", {
|
|
49942
49942
|
key: indicator.id || indicator.field,
|
|
@@ -85697,8 +85697,8 @@ const _hoisted_28$v = {
|
|
|
85697
85697
|
key: 4,
|
|
85698
85698
|
class: "cn-icon-browser-panel__hint"
|
|
85699
85699
|
};
|
|
85700
|
-
const _hoisted_29$
|
|
85701
|
-
const _hoisted_30$
|
|
85700
|
+
const _hoisted_29$u = ["id", "aria-labelledby"];
|
|
85701
|
+
const _hoisted_30$s = ["value", "placeholder", "aria-label"];
|
|
85702
85702
|
const _hoisted_31$p = {
|
|
85703
85703
|
key: 1,
|
|
85704
85704
|
class: "cn-icon-browser-panel__grid"
|
|
@@ -85932,7 +85932,7 @@ function render$7S(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
85932
85932
|
placeholder: $options.t('nextcloud-vue', 'Image URL (https://… or /path)'),
|
|
85933
85933
|
"aria-label": $options.t('nextcloud-vue', 'Image URL'),
|
|
85934
85934
|
onInput: _cache[3] || (_cache[3] = (...args) => ($options.onUrlInput && $options.onUrlInput(...args)))
|
|
85935
|
-
}, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_30$
|
|
85935
|
+
}, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_30$s))
|
|
85936
85936
|
: vue$1.createCommentVNode("v-if", true),
|
|
85937
85937
|
($options.unnamedIcons.length > 0)
|
|
85938
85938
|
? (vue$1.openBlock(), vue$1.createElementBlock("div", _hoisted_31$p, [
|
|
@@ -85978,7 +85978,7 @@ function render$7S(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
85978
85978
|
($data.uploadError)
|
|
85979
85979
|
? (vue$1.openBlock(), vue$1.createElementBlock("p", _hoisted_40$d, vue$1.toDisplayString($data.uploadError), 1 /* TEXT */))
|
|
85980
85980
|
: vue$1.createCommentVNode("v-if", true)
|
|
85981
|
-
], 8 /* PROPS */, _hoisted_29$
|
|
85981
|
+
], 8 /* PROPS */, _hoisted_29$u)), [
|
|
85982
85982
|
[vue$1.vShow, $data.mode === 'custom']
|
|
85983
85983
|
])
|
|
85984
85984
|
: vue$1.createCommentVNode("v-if", true),
|
|
@@ -96872,8 +96872,8 @@ const _hoisted_27$w = {
|
|
|
96872
96872
|
class: "cn-activity-tab__reads"
|
|
96873
96873
|
};
|
|
96874
96874
|
const _hoisted_28$u = ["checked"];
|
|
96875
|
-
const _hoisted_29$
|
|
96876
|
-
const _hoisted_30$
|
|
96875
|
+
const _hoisted_29$t = ["aria-label"];
|
|
96876
|
+
const _hoisted_30$r = ["onClick"];
|
|
96877
96877
|
const _hoisted_31$o = {
|
|
96878
96878
|
key: 3,
|
|
96879
96879
|
class: "cn-activity-tab__dates"
|
|
@@ -97101,9 +97101,9 @@ function render$7H(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
97101
97101
|
type: "button",
|
|
97102
97102
|
class: vue$1.normalizeClass(["cn-activity-tab__range-btn", { 'cn-activity-tab__range-btn--active': $data.selectedRange === range.key }]),
|
|
97103
97103
|
onClick: $event => ($options.selectRange(range.key))
|
|
97104
|
-
}, vue$1.toDisplayString(range.label), 11 /* TEXT, CLASS, PROPS */, _hoisted_30$
|
|
97104
|
+
}, vue$1.toDisplayString(range.label), 11 /* TEXT, CLASS, PROPS */, _hoisted_30$r))
|
|
97105
97105
|
}), 128 /* KEYED_FRAGMENT */))
|
|
97106
|
-
], 8 /* PROPS */, _hoisted_29$
|
|
97106
|
+
], 8 /* PROPS */, _hoisted_29$t),
|
|
97107
97107
|
(!$data.legacy)
|
|
97108
97108
|
? (vue$1.openBlock(), vue$1.createElementBlock("div", _hoisted_31$o, [
|
|
97109
97109
|
vue$1.createElementVNode("label", _hoisted_32$o, [
|
|
@@ -103106,8 +103106,8 @@ const _hoisted_25$I = { class: "cn-calendar-tab__date-day" };
|
|
|
103106
103106
|
const _hoisted_26$D = { class: "cn-calendar-tab__main" };
|
|
103107
103107
|
const _hoisted_27$v = { class: "cn-calendar-tab__title-row" };
|
|
103108
103108
|
const _hoisted_28$t = { class: "cn-calendar-tab__title" };
|
|
103109
|
-
const _hoisted_29$
|
|
103110
|
-
const _hoisted_30$
|
|
103109
|
+
const _hoisted_29$s = { class: "cn-calendar-tab__when" };
|
|
103110
|
+
const _hoisted_30$q = {
|
|
103111
103111
|
key: 0,
|
|
103112
103112
|
class: "cn-calendar-tab__location"
|
|
103113
103113
|
};
|
|
@@ -103298,7 +103298,7 @@ function render$7t(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
103298
103298
|
}, null, 8 /* PROPS */, ["label", "variant"]))
|
|
103299
103299
|
: vue$1.createCommentVNode("v-if", true)
|
|
103300
103300
|
]),
|
|
103301
|
-
vue$1.createElementVNode("div", _hoisted_29$
|
|
103301
|
+
vue$1.createElementVNode("div", _hoisted_29$s, [
|
|
103302
103302
|
vue$1.createVNode(_component_ClockOutline, {
|
|
103303
103303
|
size: 14,
|
|
103304
103304
|
class: "cn-calendar-tab__meta-icon"
|
|
@@ -103306,7 +103306,7 @@ function render$7t(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
103306
103306
|
vue$1.createElementVNode("span", null, vue$1.toDisplayString($options.formatTimeRange(ev)), 1 /* TEXT */)
|
|
103307
103307
|
]),
|
|
103308
103308
|
(ev.location)
|
|
103309
|
-
? (vue$1.openBlock(), vue$1.createElementBlock("div", _hoisted_30$
|
|
103309
|
+
? (vue$1.openBlock(), vue$1.createElementBlock("div", _hoisted_30$q, [
|
|
103310
103310
|
vue$1.createVNode(_component_MapMarkerOutline, {
|
|
103311
103311
|
size: 14,
|
|
103312
103312
|
class: "cn-calendar-tab__meta-icon"
|
|
@@ -109967,7 +109967,7 @@ const _hoisted_25$G = { class: "cn-deck-card__column-title" };
|
|
|
109967
109967
|
const _hoisted_26$C = { class: "cn-deck-card__column-count" };
|
|
109968
109968
|
const _hoisted_27$u = { class: "cn-deck-card__column-list" };
|
|
109969
109969
|
const _hoisted_28$s = ["href"];
|
|
109970
|
-
const _hoisted_29$
|
|
109970
|
+
const _hoisted_29$r = {
|
|
109971
109971
|
key: 4,
|
|
109972
109972
|
class: "cn-deck-card__action-error",
|
|
109973
109973
|
role: "alert"
|
|
@@ -110113,7 +110113,7 @@ function render$7c(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
110113
110113
|
]))
|
|
110114
110114
|
], 64 /* STABLE_FRAGMENT */)),
|
|
110115
110115
|
($data.actionError)
|
|
110116
|
-
? (vue$1.openBlock(), vue$1.createElementBlock("p", _hoisted_29$
|
|
110116
|
+
? (vue$1.openBlock(), vue$1.createElementBlock("p", _hoisted_29$r, vue$1.toDisplayString($data.actionError), 1 /* TEXT */))
|
|
110117
110117
|
: vue$1.createCommentVNode("v-if", true),
|
|
110118
110118
|
($data.pickerOpen)
|
|
110119
110119
|
? (vue$1.openBlock(), vue$1.createBlock(_component_CnDeckCardPicker, {
|
|
@@ -119790,8 +119790,8 @@ const _hoisted_26$B = {
|
|
|
119790
119790
|
};
|
|
119791
119791
|
const _hoisted_27$t = { class: "hidden-visually" };
|
|
119792
119792
|
const _hoisted_28$r = ["aria-sort", "data-testid"];
|
|
119793
|
-
const _hoisted_29$
|
|
119794
|
-
const _hoisted_30$
|
|
119793
|
+
const _hoisted_29$q = ["onClick"];
|
|
119794
|
+
const _hoisted_30$p = {
|
|
119795
119795
|
class: "cn-files-browser__col-actions",
|
|
119796
119796
|
scope: "col"
|
|
119797
119797
|
};
|
|
@@ -120334,13 +120334,13 @@ function render$70(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
120334
120334
|
size: 16
|
|
120335
120335
|
}))
|
|
120336
120336
|
: vue$1.createCommentVNode("v-if", true)
|
|
120337
|
-
], 8 /* PROPS */, _hoisted_29$
|
|
120337
|
+
], 8 /* PROPS */, _hoisted_29$q))
|
|
120338
120338
|
: (vue$1.openBlock(), vue$1.createElementBlock(vue$1.Fragment, { key: 1 }, [
|
|
120339
120339
|
vue$1.createTextVNode(vue$1.toDisplayString($options.columnLabel(column)), 1 /* TEXT */)
|
|
120340
120340
|
], 64 /* STABLE_FRAGMENT */))
|
|
120341
120341
|
], 10 /* CLASS, PROPS */, _hoisted_28$r))
|
|
120342
120342
|
}), 128 /* KEYED_FRAGMENT */)),
|
|
120343
|
-
vue$1.createElementVNode("th", _hoisted_30$
|
|
120343
|
+
vue$1.createElementVNode("th", _hoisted_30$p, [
|
|
120344
120344
|
vue$1.createElementVNode("span", _hoisted_31$m, vue$1.toDisplayString($options.t('nextcloud-vue', 'Actions')), 1 /* TEXT */)
|
|
120345
120345
|
])
|
|
120346
120346
|
])
|
|
@@ -155414,8 +155414,8 @@ const _hoisted_28$q = {
|
|
|
155414
155414
|
key: 11,
|
|
155415
155415
|
class: "cn-form-dialog__select-wrapper"
|
|
155416
155416
|
};
|
|
155417
|
-
const _hoisted_29$
|
|
155418
|
-
const _hoisted_30$
|
|
155417
|
+
const _hoisted_29$p = { class: "cn-form-dialog__option" };
|
|
155418
|
+
const _hoisted_30$o = { class: "cn-form-dialog__option" };
|
|
155419
155419
|
const _hoisted_31$l = {
|
|
155420
155420
|
key: 12,
|
|
155421
155421
|
class: "cn-form-dialog__switch-wrapper"
|
|
@@ -156241,7 +156241,7 @@ function render$6c(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
156241
156241
|
: {
|
|
156242
156242
|
name: "option",
|
|
156243
156243
|
fn: vue$1.withCtx((optionProps) => [
|
|
156244
|
-
vue$1.createElementVNode("span", _hoisted_29$
|
|
156244
|
+
vue$1.createElementVNode("span", _hoisted_29$p, vue$1.toDisplayString($options.optionText(optionProps)), 1 /* TEXT */)
|
|
156245
156245
|
]),
|
|
156246
156246
|
key: "1"
|
|
156247
156247
|
},
|
|
@@ -156256,7 +156256,7 @@ function render$6c(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
156256
156256
|
: {
|
|
156257
156257
|
name: "selected-option",
|
|
156258
156258
|
fn: vue$1.withCtx((optionProps) => [
|
|
156259
|
-
vue$1.createElementVNode("span", _hoisted_30$
|
|
156259
|
+
vue$1.createElementVNode("span", _hoisted_30$o, vue$1.toDisplayString($options.optionText(optionProps)), 1 /* TEXT */)
|
|
156260
156260
|
]),
|
|
156261
156261
|
key: "3"
|
|
156262
156262
|
}
|
|
@@ -166306,8 +166306,8 @@ const _hoisted_27$r = {
|
|
|
166306
166306
|
class: "cn-related-objects-widget__meta"
|
|
166307
166307
|
};
|
|
166308
166308
|
const _hoisted_28$p = ["onClick", "onKeydown"];
|
|
166309
|
-
const _hoisted_29$
|
|
166310
|
-
const _hoisted_30$
|
|
166309
|
+
const _hoisted_29$o = { class: "cn-related-objects-widget__label" };
|
|
166310
|
+
const _hoisted_30$n = {
|
|
166311
166311
|
key: 0,
|
|
166312
166312
|
class: "cn-related-objects-widget__meta"
|
|
166313
166313
|
};
|
|
@@ -166589,9 +166589,9 @@ function render$64(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
166589
166589
|
size: 20,
|
|
166590
166590
|
class: "cn-related-objects-widget__icon"
|
|
166591
166591
|
}, null, 8 /* PROPS */, ["name"]),
|
|
166592
|
-
vue$1.createElementVNode("span", _hoisted_29$
|
|
166592
|
+
vue$1.createElementVNode("span", _hoisted_29$o, vue$1.toDisplayString(item.label), 1 /* TEXT */),
|
|
166593
166593
|
(item.meta)
|
|
166594
|
-
? (vue$1.openBlock(), vue$1.createElementBlock("span", _hoisted_30$
|
|
166594
|
+
? (vue$1.openBlock(), vue$1.createElementBlock("span", _hoisted_30$n, vue$1.toDisplayString(item.meta), 1 /* TEXT */))
|
|
166595
166595
|
: vue$1.createCommentVNode("v-if", true),
|
|
166596
166596
|
(item.detail && $options.isExpanded($options.activeGroup.key, item))
|
|
166597
166597
|
? (vue$1.openBlock(), vue$1.createElementBlock("p", _hoisted_31$k, vue$1.toDisplayString(item.detail), 1 /* TEXT */))
|
|
@@ -192377,8 +192377,8 @@ const _hoisted_25$z = { class: "cn-timeline-manage__title" };
|
|
|
192377
192377
|
const _hoisted_26$w = { class: "cn-timeline-manage__subtitle" };
|
|
192378
192378
|
const _hoisted_27$p = { class: "cn-timeline-manage__composer-title" };
|
|
192379
192379
|
const _hoisted_28$o = { class: "cn-timeline-manage__composer-hint" };
|
|
192380
|
-
const _hoisted_29$
|
|
192381
|
-
const _hoisted_30$
|
|
192380
|
+
const _hoisted_29$n = ["for"];
|
|
192381
|
+
const _hoisted_30$m = ["for"];
|
|
192382
192382
|
const _hoisted_31$j = ["id", "placeholder"];
|
|
192383
192383
|
const _hoisted_32$j = { class: "cn-timeline-manage__composer-foot" };
|
|
192384
192384
|
|
|
@@ -192641,7 +192641,7 @@ function render$5r(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
192641
192641
|
key: 1,
|
|
192642
192642
|
class: "cn-timeline-manage__draft-label",
|
|
192643
192643
|
for: $options.blockId
|
|
192644
|
-
}, vue$1.toDisplayString($options.t('nextcloud-vue', 'Template')), 9 /* TEXT, PROPS */, _hoisted_29$
|
|
192644
|
+
}, vue$1.toDisplayString($options.t('nextcloud-vue', 'Template')), 9 /* TEXT, PROPS */, _hoisted_29$n))
|
|
192645
192645
|
: vue$1.createCommentVNode("v-if", true),
|
|
192646
192646
|
($data.textBlocks.length)
|
|
192647
192647
|
? (vue$1.openBlock(), vue$1.createBlock(_component_NcSelect, {
|
|
@@ -192665,7 +192665,7 @@ function render$5r(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
192665
192665
|
vue$1.createElementVNode("label", {
|
|
192666
192666
|
class: "cn-timeline-manage__draft-label",
|
|
192667
192667
|
for: $options.draftId
|
|
192668
|
-
}, vue$1.toDisplayString($options.t('nextcloud-vue', 'Note')), 9 /* TEXT, PROPS */, _hoisted_30$
|
|
192668
|
+
}, vue$1.toDisplayString($options.t('nextcloud-vue', 'Note')), 9 /* TEXT, PROPS */, _hoisted_30$m),
|
|
192669
192669
|
vue$1.withDirectives(vue$1.createElementVNode("textarea", {
|
|
192670
192670
|
id: $options.draftId,
|
|
192671
192671
|
"onUpdate:modelValue": _cache[3] || (_cache[3] = $event => (($data.draft) = $event)),
|
|
@@ -217883,8 +217883,8 @@ const _hoisted_25$w = { class: "cn-links-form__option" };
|
|
|
217883
217883
|
const _hoisted_26$u = ["value"];
|
|
217884
217884
|
const _hoisted_27$o = { value: "small" };
|
|
217885
217885
|
const _hoisted_28$n = { value: "medium" };
|
|
217886
|
-
const _hoisted_29$
|
|
217887
|
-
const _hoisted_30$
|
|
217886
|
+
const _hoisted_29$m = { value: "large" };
|
|
217887
|
+
const _hoisted_30$l = { class: "cn-links-form__option cn-links-form__option--checkbox" };
|
|
217888
217888
|
const _hoisted_31$i = ["checked"];
|
|
217889
217889
|
const _hoisted_32$i = { class: "cn-links-form__option cn-links-form__option--checkbox" };
|
|
217890
217890
|
const _hoisted_33$g = ["checked"];
|
|
@@ -218041,10 +218041,10 @@ function render$4I(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
218041
218041
|
}, [
|
|
218042
218042
|
vue$1.createElementVNode("option", _hoisted_27$o, vue$1.toDisplayString(_ctx.t('nextcloud-vue', 'Small (24 px)')), 1 /* TEXT */),
|
|
218043
218043
|
vue$1.createElementVNode("option", _hoisted_28$n, vue$1.toDisplayString(_ctx.t('nextcloud-vue', 'Medium (40 px)')), 1 /* TEXT */),
|
|
218044
|
-
vue$1.createElementVNode("option", _hoisted_29$
|
|
218044
|
+
vue$1.createElementVNode("option", _hoisted_29$m, vue$1.toDisplayString(_ctx.t('nextcloud-vue', 'Large (64 px)')), 1 /* TEXT */)
|
|
218045
218045
|
], 40 /* PROPS, NEED_HYDRATION */, _hoisted_26$u)
|
|
218046
218046
|
]),
|
|
218047
|
-
vue$1.createElementVNode("label", _hoisted_30$
|
|
218047
|
+
vue$1.createElementVNode("label", _hoisted_30$l, [
|
|
218048
218048
|
vue$1.createElementVNode("input", {
|
|
218049
218049
|
type: "checkbox",
|
|
218050
218050
|
checked: $data.openInNewTab,
|
|
@@ -223915,7 +223915,7 @@ const _hoisted_25$v = {
|
|
|
223915
223915
|
const _hoisted_26$t = { class: "cn-calendar-widget__agenda-header" };
|
|
223916
223916
|
const _hoisted_27$n = { class: "cn-calendar-widget__agenda-time" };
|
|
223917
223917
|
const _hoisted_28$m = { class: "cn-calendar-widget__agenda-title" };
|
|
223918
|
-
const _hoisted_29$
|
|
223918
|
+
const _hoisted_29$l = {
|
|
223919
223919
|
key: 0,
|
|
223920
223920
|
class: "cn-calendar-widget__agenda-cal"
|
|
223921
223921
|
};
|
|
@@ -224034,7 +224034,7 @@ function render$4u(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
224034
224034
|
vue$1.createElementVNode("span", _hoisted_27$n, vue$1.toDisplayString($options.formatTime(event)), 1 /* TEXT */),
|
|
224035
224035
|
vue$1.createElementVNode("span", _hoisted_28$m, vue$1.toDisplayString(event.title), 1 /* TEXT */),
|
|
224036
224036
|
(event.calendarName)
|
|
224037
|
-
? (vue$1.openBlock(), vue$1.createElementBlock("span", _hoisted_29$
|
|
224037
|
+
? (vue$1.openBlock(), vue$1.createElementBlock("span", _hoisted_29$l, vue$1.toDisplayString(event.calendarName), 1 /* TEXT */))
|
|
224038
224038
|
: vue$1.createCommentVNode("v-if", true)
|
|
224039
224039
|
], 4 /* STYLE */))
|
|
224040
224040
|
}), 128 /* KEYED_FRAGMENT */))
|
|
@@ -225123,11 +225123,11 @@ const _hoisted_28$l = {
|
|
|
225123
225123
|
key: 0,
|
|
225124
225124
|
class: "cn-spend-analytics-widget__inline-empty"
|
|
225125
225125
|
};
|
|
225126
|
-
const _hoisted_29$
|
|
225126
|
+
const _hoisted_29$k = {
|
|
225127
225127
|
key: 1,
|
|
225128
225128
|
class: "cn-spend-analytics-widget__inline-empty"
|
|
225129
225129
|
};
|
|
225130
|
-
const _hoisted_30$
|
|
225130
|
+
const _hoisted_30$k = {
|
|
225131
225131
|
key: 2,
|
|
225132
225132
|
class: "cn-spend-analytics-widget__rows"
|
|
225133
225133
|
};
|
|
@@ -225237,8 +225237,8 @@ function render$4s(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
225237
225237
|
($options.vendorMissing)
|
|
225238
225238
|
? (vue$1.openBlock(), vue$1.createElementBlock("div", _hoisted_28$l, vue$1.toDisplayString($options.t('nextcloud-vue', 'No vendor data — procest is not installed')), 1 /* TEXT */))
|
|
225239
225239
|
: ($options.vendorEmpty)
|
|
225240
|
-
? (vue$1.openBlock(), vue$1.createElementBlock("div", _hoisted_29$
|
|
225241
|
-
: (vue$1.openBlock(), vue$1.createElementBlock("ul", _hoisted_30$
|
|
225240
|
+
? (vue$1.openBlock(), vue$1.createElementBlock("div", _hoisted_29$k, vue$1.toDisplayString($options.t('nextcloud-vue', 'No vendor commitments for the selected period')), 1 /* TEXT */))
|
|
225241
|
+
: (vue$1.openBlock(), vue$1.createElementBlock("ul", _hoisted_30$k, [
|
|
225242
225242
|
(vue$1.openBlock(true), vue$1.createElementBlock(vue$1.Fragment, null, vue$1.renderList($data.vendor.topVendors, (row, i) => {
|
|
225243
225243
|
return (vue$1.openBlock(), vue$1.createElementBlock("li", {
|
|
225244
225244
|
key: row.vendor
|
|
@@ -231596,8 +231596,8 @@ const _hoisted_27$l = {
|
|
|
231596
231596
|
class: "cn-tasks-widget__name"
|
|
231597
231597
|
};
|
|
231598
231598
|
const _hoisted_28$k = { class: "cn-tasks-widget__meta" };
|
|
231599
|
-
const _hoisted_29$
|
|
231600
|
-
const _hoisted_30$
|
|
231599
|
+
const _hoisted_29$j = { class: "cn-tasks-widget__others-actions" };
|
|
231600
|
+
const _hoisted_30$j = {
|
|
231601
231601
|
key: 4,
|
|
231602
231602
|
class: "cn-tasks-widget__empty"
|
|
231603
231603
|
};
|
|
@@ -231982,7 +231982,7 @@ function render$4g(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
231982
231982
|
: (vue$1.openBlock(), vue$1.createElementBlock("span", _hoisted_27$l, vue$1.toDisplayString($options.titleOf(task)), 1 /* TEXT */)),
|
|
231983
231983
|
vue$1.createElementVNode("span", _hoisted_28$k, vue$1.toDisplayString($options.dueLabel(task) || $options.tr('No due date')), 1 /* TEXT */)
|
|
231984
231984
|
]),
|
|
231985
|
-
vue$1.createElementVNode("span", _hoisted_29$
|
|
231985
|
+
vue$1.createElementVNode("span", _hoisted_29$j, [
|
|
231986
231986
|
($options.canClaim(task))
|
|
231987
231987
|
? (vue$1.openBlock(), vue$1.createBlock(_component_NcButton, {
|
|
231988
231988
|
key: 0,
|
|
@@ -232043,7 +232043,7 @@ function render$4g(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
232043
232043
|
: vue$1.createCommentVNode("v-if", true)
|
|
232044
232044
|
], 64 /* STABLE_FRAGMENT */))
|
|
232045
232045
|
: ($options.rows.length === 0)
|
|
232046
|
-
? (vue$1.openBlock(), vue$1.createElementBlock("p", _hoisted_30$
|
|
232046
|
+
? (vue$1.openBlock(), vue$1.createElementBlock("p", _hoisted_30$j, vue$1.toDisplayString($options.emptyLabel), 1 /* TEXT */))
|
|
232047
232047
|
: (vue$1.openBlock(), vue$1.createElementBlock(vue$1.Fragment, { key: 5 }, [
|
|
232048
232048
|
(!$options.isList)
|
|
232049
232049
|
? (vue$1.openBlock(), vue$1.createElementBlock("p", _hoisted_31$g, vue$1.toDisplayString($options.countLabel), 1 /* TEXT */))
|
|
@@ -238027,6 +238027,30 @@ function resolveSourceTokens(value, record) {
|
|
|
238027
238027
|
}
|
|
238028
238028
|
|
|
238029
238029
|
/** Kinds of entry a `fields[]` item can be. A labelled item without `as` is a row. */
|
|
238030
|
+
/**
|
|
238031
|
+
* Two or more pills in a row become one `pills` block, drawn on one line.
|
|
238032
|
+
*
|
|
238033
|
+
* @param {Array<object>} blocks The blocks in order.
|
|
238034
|
+
* @return {Array<object>}
|
|
238035
|
+
* @spec openspec/changes/facts-fields-from-context/specs/facts-widget/spec.md#requirement-a-facts-card-can-take-its-entries-from-the-page-context
|
|
238036
|
+
*/
|
|
238037
|
+
function groupPills(blocks) {
|
|
238038
|
+
const out = [];
|
|
238039
|
+
blocks.forEach((block) => {
|
|
238040
|
+
const last = out[out.length - 1];
|
|
238041
|
+
if (block.kind !== 'pill') {
|
|
238042
|
+
out.push(block);
|
|
238043
|
+
} else if (last && last.kind === 'pills') {
|
|
238044
|
+
last.pills.push(block);
|
|
238045
|
+
} else if (last && last.kind === 'pill') {
|
|
238046
|
+
out[out.length - 1] = { kind: 'pills', key: `pills-${last.key}`, pills: [last, block] };
|
|
238047
|
+
} else {
|
|
238048
|
+
out.push(block);
|
|
238049
|
+
}
|
|
238050
|
+
});
|
|
238051
|
+
return out
|
|
238052
|
+
}
|
|
238053
|
+
|
|
238030
238054
|
const KINDS$1 = Object.freeze(['row', 'title', 'line', 'pill', 'lead', 'text', 'meter', 'progress']);
|
|
238031
238055
|
|
|
238032
238056
|
/** The schemes a facts link opens, besides a path on this server. */
|
|
@@ -238167,15 +238191,17 @@ var script$48 = {
|
|
|
238167
238191
|
* `resolve: { register, schema, labelField? }` on an entry or a part turns a value that is a reference (an id, or a list of ids) into the label of the referenced object (`labelField`, else `title`, then `name`): the case type or status of a task shows its name, not its uuid. The ids are fetched once per register and schema through the object store and shared by every facts widget on the page; the entry stays empty until its label is known, and when no label can be read. A resolved value works as a pill too: `map` is applied to the resolved label, and `variantMap` / `colorMap` look the tone up by the value of `resolve.toneField` on the referenced object when that is set (a status named by its `name`, coloured by its `state`), then by the resolved label, then by the stored value.
|
|
238168
238192
|
* `route` (`{ name, params?, query? }`, `@source.<path>` in a param) on a `title` or a `row` links its value to that route; a param that does not fill leaves it plain.
|
|
238169
238193
|
* `format: 'user'` shows a Nextcloud user id as the user's display name, read once per id; the entry stays empty until the name is known.
|
|
238170
|
-
* `template` ("{available} {unit}") fills its `{path}` placeholders from the record instead of reading `path
|
|
238194
|
+
* `template` ("{available} {unit}") fills its `{path}` placeholders from the record instead of reading `path` (`{path:format}` formats one, "{from:year}"); it is empty when every placeholder is. `suffix` (" kg") is added to a value that is not empty, its words translated.
|
|
238171
238195
|
* `labelPath` ("@context.caseType.handlerLabel") names a value on the record or the page's `@context` records that labels the row when it holds text; `label` is the fallback.
|
|
238172
238196
|
* `emptyValue` ("No") is shown, translated, when the entry has no value, so the entry stays drawn whatever `hideEmpty` says (an override that was never set reads "No").
|
|
238173
238197
|
* - `action` — an action drawn as a button under the facts; `headerAction` — one drawn in the card header (reported through the `header` event).
|
|
238174
238198
|
* - `actions` — action buttons under the facts in the `headerActions` shape (`api-call`, `open-form`, `navigate`, `open-modal`, ...; `confirm`, `variant`). `@source.<field>` names a field of the record shown, and an action whose token names an empty field is not drawn. `visibleWhen` reads the record shown; `adminOnly: true` draws the action for an instance admin only (visibility, never authorisation). An api-call or a saved form refreshes the page, and the facts read their source again.
|
|
238199
|
+
* - `fieldsFrom` — `@context.<name>.<path>`, a list of entries on a record the page reads beside this one (a case type's `requestFields`); when it holds entries they are drawn instead of `fields`.
|
|
238175
238200
|
* - `rowsPath` — a path to a list of `{ label, value }` the record holds, drawn as rows after `fields` (a preview the server builds).
|
|
238176
238201
|
* - `headerPill` — a status pill in the card header (reported through the `header` event): `{ path?, text?, map?, variant?, variantMap?, colorMap? }`, read from the record like a `pill` entry (DqBezwaar "Advies ontvangen"); nothing shows while the value is empty.
|
|
238177
238202
|
* - `notice` — `{ text, variant? }`, a note band inside the card under the facts (`info` by default; `success`, `warning` or `error`); the text is translated.
|
|
238178
|
-
*
|
|
238203
|
+
* - `footnote` — a plain muted line under the facts, without a band (DqZaakBesluiten "Na het ondertekenen ..."); the text is translated.
|
|
238204
|
+
* `format` is `text` (default), `date` (board short date), `date-long` (always with the year), `longdate` (the month written out, the year only outside this year: "3 oktober"), `year` ("2026"), `list` (an array joined by ", ", each item read at `itemPath` and written in `itemFormat`), `group` (a Nextcloud group by its display name), `bytes` (a size, "1.5 MB"), `number` (in the reader's language, `decimals` fraction digits when set), `months` (a number of months in words, whole years as years: 240 is "20 jaar") or `currency` (a money amount in the reader's language, "€ 1.234,50": the code in `currency`, else the record's `currencyField`, else the app's reporting currency, else EUR; `decimals` defaults to 2).
|
|
238179
238205
|
* `map` turns a raw value into a label (translated). `parts` (on a `line`) lists paths, or `{ path, label?, format? }`, joined by `separator` (default " · "); empty parts are dropped.
|
|
238180
238206
|
* - `source` — `{ register, schema, id }` or `{ url }`; omitted = the current object. `{ register, schema, filter, sort? }` without `id` reads the first object that matches `filter` in `sort` order (`{ field, dir }`): the latest count of a shift. An entry with `from: "object"` reads the current object even then (a client card that also shows the ticket's channel).
|
|
238181
238207
|
* - `endpointSource` — `{ url, method?, params?, responsePath? }`, the block a stat or chart takes: the facts read an app endpoint, shared and cached like those.
|
|
@@ -238234,6 +238260,29 @@ var script$48 = {
|
|
|
238234
238260
|
},
|
|
238235
238261
|
|
|
238236
238262
|
computed: {
|
|
238263
|
+
/**
|
|
238264
|
+
* The entries to draw: the list `fieldsFrom` names on the page's
|
|
238265
|
+
* `@context` records when it holds entries (a case type's
|
|
238266
|
+
* `requestFields`), else `fields`.
|
|
238267
|
+
*
|
|
238268
|
+
* @return {Array<object>}
|
|
238269
|
+
* @spec openspec/changes/facts-fields-from-context/specs/facts-widget/spec.md#requirement-a-facts-card-can-take-its-entries-from-the-page-context
|
|
238270
|
+
*/
|
|
238271
|
+
entries() {
|
|
238272
|
+
const from = this.content?.fieldsFrom;
|
|
238273
|
+
if (typeof from === 'string' && from.startsWith('@context.')) {
|
|
238274
|
+
const rows = this.cnDetailVisibilityRows && typeof this.cnDetailVisibilityRows === 'object' && 'value' in this.cnDetailVisibilityRows
|
|
238275
|
+
? this.cnDetailVisibilityRows.value
|
|
238276
|
+
: this.cnDetailVisibilityRows;
|
|
238277
|
+
const named = readPath$8({ '@context': rows || {} }, from);
|
|
238278
|
+
const list = Array.isArray(named) ? named.filter((entry) => entry && typeof entry === 'object' && !Array.isArray(entry)) : [];
|
|
238279
|
+
if (list.length > 0) {
|
|
238280
|
+
return list
|
|
238281
|
+
}
|
|
238282
|
+
}
|
|
238283
|
+
return Array.isArray(this.content?.fields) ? this.content.fields : []
|
|
238284
|
+
},
|
|
238285
|
+
|
|
238237
238286
|
/**
|
|
238238
238287
|
* Whether the rows sit in two columns, label above value.
|
|
238239
238288
|
*
|
|
@@ -238278,7 +238327,7 @@ var script$48 = {
|
|
|
238278
238327
|
* @spec openspec/changes/facts-entry-count/specs/facts-widget/spec.md#requirement-a-facts-entry-can-count-a-related-list
|
|
238279
238328
|
*/
|
|
238280
238329
|
countJobsKey() {
|
|
238281
|
-
const fields =
|
|
238330
|
+
const fields = this.entries;
|
|
238282
238331
|
const keys = fields
|
|
238283
238332
|
.filter((field) => field && field.countFrom && typeof field.countFrom === 'object' && field.countFrom.register && field.countFrom.schema)
|
|
238284
238333
|
.map((field) => this.countKey(field.countFrom));
|
|
@@ -238439,7 +238488,7 @@ var script$48 = {
|
|
|
238439
238488
|
*/
|
|
238440
238489
|
blocks() {
|
|
238441
238490
|
const sourceRecord = this.record;
|
|
238442
|
-
const fields =
|
|
238491
|
+
const fields = this.entries;
|
|
238443
238492
|
// A source that finds nothing still leaves the entries that read the
|
|
238444
238493
|
// page's own object (`from: "object"`).
|
|
238445
238494
|
const ownEntries = Boolean(this.objectData) && fields.some((field) => field && field.from === 'object');
|
|
@@ -238518,7 +238567,7 @@ var script$48 = {
|
|
|
238518
238567
|
out.push({ kind: 'rows', key: 'rows-answered', rows: [row] });
|
|
238519
238568
|
}
|
|
238520
238569
|
});
|
|
238521
|
-
return out
|
|
238570
|
+
return groupPills(out)
|
|
238522
238571
|
},
|
|
238523
238572
|
|
|
238524
238573
|
/**
|
|
@@ -238610,6 +238659,12 @@ var script$48 = {
|
|
|
238610
238659
|
return { text, type: ['success', 'warning', 'error'].includes(notice.variant) ? notice.variant : 'info' }
|
|
238611
238660
|
},
|
|
238612
238661
|
|
|
238662
|
+
/** @return {string} The translated footnote, or '' when none is set. */
|
|
238663
|
+
footnote() {
|
|
238664
|
+
const footnote = this.content?.footnote;
|
|
238665
|
+
return typeof footnote === 'string' && footnote.trim() !== '' ? this.tr(footnote) : ''
|
|
238666
|
+
},
|
|
238667
|
+
|
|
238613
238668
|
/** @return {string} The reveal button's text. */
|
|
238614
238669
|
showLabel() {
|
|
238615
238670
|
return l10n.translate('nextcloud-vue', 'Show')
|
|
@@ -238847,7 +238902,7 @@ var script$48 = {
|
|
|
238847
238902
|
* @spec openspec/changes/facts-entry-count/specs/facts-widget/spec.md#requirement-a-facts-entry-can-count-a-related-list
|
|
238848
238903
|
*/
|
|
238849
238904
|
async loadCounts() {
|
|
238850
|
-
const fields =
|
|
238905
|
+
const fields = this.entries;
|
|
238851
238906
|
const seen = new Set();
|
|
238852
238907
|
for (const field of fields) {
|
|
238853
238908
|
const countFrom = field && field.countFrom;
|
|
@@ -238924,8 +238979,8 @@ var script$48 = {
|
|
|
238924
238979
|
*/
|
|
238925
238980
|
templateValue(record, template) {
|
|
238926
238981
|
let filled = false;
|
|
238927
|
-
const text = this.tr(template).replace(/\{([\w.@]+)\}/g, (match, path) => {
|
|
238928
|
-
const value = this.format(readPath$8(record, path), {}, record);
|
|
238982
|
+
const text = this.tr(template).replace(/\{([\w.@]+)(?::([\w-]+))?\}/g, (match, path, format) => {
|
|
238983
|
+
const value = this.format(readPath$8(record, path), format ? { format } : {}, record);
|
|
238929
238984
|
filled = filled || value !== '';
|
|
238930
238985
|
return value
|
|
238931
238986
|
});
|
|
@@ -239317,7 +239372,7 @@ var script$48 = {
|
|
|
239317
239372
|
* @return {Array<{spec: object, raw: unknown}>}
|
|
239318
239373
|
*/
|
|
239319
239374
|
refSpecs(record) {
|
|
239320
|
-
const fields =
|
|
239375
|
+
const fields = this.entries;
|
|
239321
239376
|
const specs = [];
|
|
239322
239377
|
const visit = (spec) => {
|
|
239323
239378
|
if (!spec || typeof spec !== 'object') {
|
|
@@ -239550,6 +239605,10 @@ var script$48 = {
|
|
|
239550
239605
|
.filter((item) => item !== '');
|
|
239551
239606
|
return items.join(', ')
|
|
239552
239607
|
}
|
|
239608
|
+
if (format === 'year') {
|
|
239609
|
+
const date = parseDateValue(raw);
|
|
239610
|
+
return date === null ? '' : String(date.getFullYear())
|
|
239611
|
+
}
|
|
239553
239612
|
// The month written out, the year only outside this year: "3 oktober".
|
|
239554
239613
|
if (format === 'longdate') {
|
|
239555
239614
|
return formatLongDate(raw)
|
|
@@ -239729,7 +239788,16 @@ const _hoisted_24$w = ["aria-label", "aria-valuenow", "aria-valuemax", "aria-val
|
|
|
239729
239788
|
const _hoisted_25$s = ["data-testid"];
|
|
239730
239789
|
const _hoisted_26$q = ["aria-label", "aria-valuenow", "data-testid"];
|
|
239731
239790
|
const _hoisted_27$k = { class: "cn-facts-widget__line" };
|
|
239732
|
-
const _hoisted_28$j = {
|
|
239791
|
+
const _hoisted_28$j = {
|
|
239792
|
+
key: 7,
|
|
239793
|
+
class: "cn-facts-widget__pills"
|
|
239794
|
+
};
|
|
239795
|
+
const _hoisted_29$i = { key: 8 };
|
|
239796
|
+
const _hoisted_30$i = {
|
|
239797
|
+
key: 5,
|
|
239798
|
+
class: "cn-facts-widget__footnote",
|
|
239799
|
+
"data-testid": "cn-facts-footnote"
|
|
239800
|
+
};
|
|
239733
239801
|
|
|
239734
239802
|
function render$47(_ctx, _cache, $props, $setup, $data, $options) {
|
|
239735
239803
|
const _component_NcLoadingIcon = vue$1.resolveComponent("NcLoadingIcon");
|
|
@@ -239987,16 +240055,28 @@ function render$47(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
239987
240055
|
: vue$1.createCommentVNode("v-if", true),
|
|
239988
240056
|
vue$1.createElementVNode("span", _hoisted_27$k, vue$1.toDisplayString(block.value), 1 /* TEXT */)
|
|
239989
240057
|
], 8 /* PROPS */, _hoisted_25$s))
|
|
239990
|
-
: (block.kind === '
|
|
240058
|
+
: (block.kind === 'pills')
|
|
239991
240059
|
? (vue$1.openBlock(), vue$1.createElementBlock("div", _hoisted_28$j, [
|
|
239992
|
-
vue$1.
|
|
239993
|
-
|
|
239994
|
-
|
|
239995
|
-
|
|
239996
|
-
|
|
239997
|
-
|
|
240060
|
+
(vue$1.openBlock(true), vue$1.createElementBlock(vue$1.Fragment, null, vue$1.renderList(block.pills, (pill) => {
|
|
240061
|
+
return (vue$1.openBlock(), vue$1.createBlock(_component_CnStatusBadge, {
|
|
240062
|
+
key: pill.key,
|
|
240063
|
+
label: pill.value,
|
|
240064
|
+
variant: pill.variant,
|
|
240065
|
+
size: "small",
|
|
240066
|
+
"data-testid": `cn-fact-${pill.key}`
|
|
240067
|
+
}, null, 8 /* PROPS */, ["label", "variant", "data-testid"]))
|
|
240068
|
+
}), 128 /* KEYED_FRAGMENT */))
|
|
239998
240069
|
]))
|
|
239999
|
-
:
|
|
240070
|
+
: (block.kind === 'pill')
|
|
240071
|
+
? (vue$1.openBlock(), vue$1.createElementBlock("div", _hoisted_29$i, [
|
|
240072
|
+
vue$1.createVNode(_component_CnStatusBadge, {
|
|
240073
|
+
label: block.value,
|
|
240074
|
+
variant: block.variant,
|
|
240075
|
+
size: "small",
|
|
240076
|
+
"data-testid": `cn-fact-${block.key}`
|
|
240077
|
+
}, null, 8 /* PROPS */, ["label", "variant", "data-testid"])
|
|
240078
|
+
]))
|
|
240079
|
+
: vue$1.createCommentVNode("v-if", true)
|
|
240000
240080
|
], 64 /* STABLE_FRAGMENT */))
|
|
240001
240081
|
}), 128 /* KEYED_FRAGMENT */)),
|
|
240002
240082
|
($options.notice && $options.record)
|
|
@@ -240012,9 +240092,12 @@ function render$47(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
240012
240092
|
_: 1 /* STABLE */
|
|
240013
240093
|
}, 8 /* PROPS */, ["type"]))
|
|
240014
240094
|
: vue$1.createCommentVNode("v-if", true),
|
|
240095
|
+
($options.footnote && $options.record)
|
|
240096
|
+
? (vue$1.openBlock(), vue$1.createElementBlock("div", _hoisted_30$i, vue$1.toDisplayString($options.footnote), 1 /* TEXT */))
|
|
240097
|
+
: vue$1.createCommentVNode("v-if", true),
|
|
240015
240098
|
($options.link && $options.link.sidebarTab && $options.record)
|
|
240016
240099
|
? (vue$1.openBlock(), vue$1.createElementBlock("button", {
|
|
240017
|
-
key:
|
|
240100
|
+
key: 6,
|
|
240018
240101
|
type: "button",
|
|
240019
240102
|
class: "cn-facts-widget__link cn-facts-widget__link--button",
|
|
240020
240103
|
"data-testid": "cn-facts-link",
|
|
@@ -240031,7 +240114,7 @@ function render$47(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
240031
240114
|
]))
|
|
240032
240115
|
: ($options.link && $options.record)
|
|
240033
240116
|
? (vue$1.openBlock(), vue$1.createBlock(vue$1.resolveDynamicComponent($options.link.to ? 'router-link' : 'a'), {
|
|
240034
|
-
key:
|
|
240117
|
+
key: 7,
|
|
240035
240118
|
to: $options.link.to || undefined,
|
|
240036
240119
|
href: $options.link.href || undefined,
|
|
240037
240120
|
target: $options.link.target || undefined,
|
|
@@ -240054,7 +240137,7 @@ function render$47(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
240054
240137
|
: vue$1.createCommentVNode("v-if", true),
|
|
240055
240138
|
($options.action && $options.record)
|
|
240056
240139
|
? (vue$1.openBlock(), vue$1.createElementBlock("button", {
|
|
240057
|
-
key:
|
|
240140
|
+
key: 8,
|
|
240058
240141
|
type: "button",
|
|
240059
240142
|
class: "cn-facts-widget__action",
|
|
240060
240143
|
"data-testid": "cn-facts-action",
|
|
@@ -240072,7 +240155,7 @@ function render$47(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
240072
240155
|
: vue$1.createCommentVNode("v-if", true),
|
|
240073
240156
|
($options.drawnActions.length > 0)
|
|
240074
240157
|
? (vue$1.openBlock(), vue$1.createBlock(_component_CnActionButtons, {
|
|
240075
|
-
key:
|
|
240158
|
+
key: 9,
|
|
240076
240159
|
class: "cn-facts-widget__actions",
|
|
240077
240160
|
actions: $options.drawnActions,
|
|
240078
240161
|
"data-testid": "cn-facts-actions"
|
|
@@ -240082,7 +240165,7 @@ function render$47(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
240082
240165
|
}
|
|
240083
240166
|
|
|
240084
240167
|
script$48.render = render$47;
|
|
240085
|
-
script$48.__scopeId = "data-v-
|
|
240168
|
+
script$48.__scopeId = "data-v-6351bc64";
|
|
240086
240169
|
const __sfc_main$48 = script$48;
|
|
240087
240170
|
|
|
240088
240171
|
/**
|
|
@@ -261099,6 +261182,35 @@ function kindCode(kind) {
|
|
|
261099
261182
|
return String(kind?.code || kind?.key || '')
|
|
261100
261183
|
}
|
|
261101
261184
|
|
|
261185
|
+
/**
|
|
261186
|
+
* Whether a party's kind is among the kinds a record accepts. Two
|
|
261187
|
+
* vocabularies meet here: the party's kind is its schema's (`person`,
|
|
261188
|
+
* `organisation`, `colleague`), while the accepted kinds may be role kinds
|
|
261189
|
+
* that name the identity shapes they take (pipelinq's `aanvrager` with
|
|
261190
|
+
* `identityShapes: ["naturalPerson", "organization"]`). When the accepted
|
|
261191
|
+
* kinds name shapes, the party's own kind is matched by the shapes the
|
|
261192
|
+
* listing gives it; a kind that names none cannot be judged and passes.
|
|
261193
|
+
* Otherwise the codes are compared.
|
|
261194
|
+
*
|
|
261195
|
+
* @param {string} partyKind The party's kind key.
|
|
261196
|
+
* @param {Array<object>} accepted The accepted kinds.
|
|
261197
|
+
* @param {Array<object>} own The listing's own kinds (`{ key, identityShapes? }`).
|
|
261198
|
+
* @return {boolean} False only when the party is known not to fit.
|
|
261199
|
+
* @spec openspec/changes/parties-accepted-kinds-by-shape/specs/object-parties/spec.md#requirement-a-party-is-checked-against-the-accepted-kinds-in-one-vocabulary
|
|
261200
|
+
*/
|
|
261201
|
+
function partyKindAccepted(partyKind, accepted, own) {
|
|
261202
|
+
const kinds = Array.isArray(accepted) ? accepted : [];
|
|
261203
|
+
const shapes = new Set(kinds.flatMap((kind) => (Array.isArray(kind?.identityShapes) ? kind.identityShapes : [])));
|
|
261204
|
+
if (shapes.size === 0) {
|
|
261205
|
+
return kinds.some((kind) => kindCode(kind) === partyKind)
|
|
261206
|
+
}
|
|
261207
|
+
const mine = (Array.isArray(own) ? own : []).find((kind) => kindCode(kind) === partyKind)?.identityShapes;
|
|
261208
|
+
if (!Array.isArray(mine) || mine.length === 0) {
|
|
261209
|
+
return true
|
|
261210
|
+
}
|
|
261211
|
+
return mine.some((shape) => shapes.has(shape))
|
|
261212
|
+
}
|
|
261213
|
+
|
|
261102
261214
|
/**
|
|
261103
261215
|
* Write a value at a dotted path, creating the objects on the way.
|
|
261104
261216
|
*
|
|
@@ -262358,7 +262470,7 @@ var script$3B = {
|
|
|
262358
262470
|
if (!party?.partyKind || !this.kinds || (enforce && this.kinds.source !== enforce)) {
|
|
262359
262471
|
return false
|
|
262360
262472
|
}
|
|
262361
|
-
return !this.kinds.kinds
|
|
262473
|
+
return !partyKindAccepted(party.partyKind, this.kinds.kinds, this.listing?.kinds)
|
|
262362
262474
|
},
|
|
262363
262475
|
|
|
262364
262476
|
/**
|
|
@@ -262871,7 +262983,7 @@ function render$3A(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
262871
262983
|
}
|
|
262872
262984
|
|
|
262873
262985
|
script$3B.render = render$3A;
|
|
262874
|
-
script$3B.__scopeId = "data-v-
|
|
262986
|
+
script$3B.__scopeId = "data-v-24a3d77a";
|
|
262875
262987
|
const __sfc_main$3B = script$3B;
|
|
262876
262988
|
|
|
262877
262989
|
/**
|