@ouestfrance/sipa-bms-ui 8.48.2 → 8.50.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/components/table/BmsTable.vue.d.ts +4 -0
- package/dist/components/table/UiBmsTable.vue.d.ts +15 -10
- package/dist/components/table/UiBmsTableRow.vue.d.ts +18 -8
- package/dist/composables/search.composable.d.ts +1 -1
- package/dist/sipa-bms-ui.css +71 -50
- package/dist/sipa-bms-ui.es.js +245 -143
- package/dist/sipa-bms-ui.es.js.map +1 -1
- package/dist/sipa-bms-ui.umd.js +244 -142
- package/dist/sipa-bms-ui.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/components/table/BmsTable.stories.js +70 -0
- package/src/components/table/BmsTable.vue +27 -5
- package/src/components/table/UiBmsTable.stories.js +40 -0
- package/src/components/table/UiBmsTable.vue +74 -7
- package/src/components/table/UiBmsTableRow.vue +41 -3
- package/src/composables/search.composable.spec.ts +69 -1
- package/src/composables/search.composable.ts +11 -4
package/dist/sipa-bms-ui.umd.js
CHANGED
|
@@ -55095,7 +55095,7 @@
|
|
|
55095
55095
|
key: 1,
|
|
55096
55096
|
class: "bms-switch-icon-button__menu__item__check-placeholder"
|
|
55097
55097
|
};
|
|
55098
|
-
var _hoisted_4$
|
|
55098
|
+
var _hoisted_4$15 = { class: "bms-switch-icon-button__menu__item__label" };
|
|
55099
55099
|
//#endregion
|
|
55100
55100
|
//#region src/components/button/BmsSwitchIconButton.vue
|
|
55101
55101
|
var BmsSwitchIconButton_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ (0, vue.defineComponent)({
|
|
@@ -55186,7 +55186,7 @@
|
|
|
55186
55186
|
size: 16,
|
|
55187
55187
|
class: "bms-switch-icon-button__menu__item__icon"
|
|
55188
55188
|
})) : (0, vue.createCommentVNode)("", true),
|
|
55189
|
-
(0, vue.createElementVNode)("span", _hoisted_4$
|
|
55189
|
+
(0, vue.createElementVNode)("span", _hoisted_4$15, (0, vue.toDisplayString)(option.label), 1)
|
|
55190
55190
|
], 8, _hoisted_2$43);
|
|
55191
55191
|
}), 128))], 4), [[vue.vShow, isOpen.value]])], 2);
|
|
55192
55192
|
};
|
|
@@ -55313,7 +55313,7 @@
|
|
|
55313
55313
|
viewBox: "0 0 100 100"
|
|
55314
55314
|
};
|
|
55315
55315
|
var _hoisted_3$23 = { transform: "rotate(-90, 50, 50)" };
|
|
55316
|
-
var _hoisted_4$
|
|
55316
|
+
var _hoisted_4$14 = ["stroke-dashoffset"];
|
|
55317
55317
|
var _hoisted_5$9 = { class: "percent" };
|
|
55318
55318
|
//#endregion
|
|
55319
55319
|
//#region src/components/feedback/BmsCircularProgress.vue
|
|
@@ -55339,7 +55339,7 @@
|
|
|
55339
55339
|
"stroke-linecap": "round",
|
|
55340
55340
|
"stroke-dashoffset": 283 - __props.progress * 283 / 100,
|
|
55341
55341
|
"stroke-dasharray": "283"
|
|
55342
|
-
}, null, 8, _hoisted_4$
|
|
55342
|
+
}, null, 8, _hoisted_4$14)])])) : (0, vue.createCommentVNode)("", true), (0, vue.createElementVNode)("div", _hoisted_5$9, (0, vue.toDisplayString)(__props.progress) + "%", 1)]);
|
|
55343
55343
|
};
|
|
55344
55344
|
}
|
|
55345
55345
|
}), [["__scopeId", "data-v-7869acfb"]]);
|
|
@@ -55409,7 +55409,7 @@
|
|
|
55409
55409
|
fill: "none",
|
|
55410
55410
|
"fill-rule": "evenodd"
|
|
55411
55411
|
};
|
|
55412
|
-
var _hoisted_4$
|
|
55412
|
+
var _hoisted_4$13 = { transform: "translate(1 1)" };
|
|
55413
55413
|
var _hoisted_5$8 = ["stroke"];
|
|
55414
55414
|
function transformIntoPx(totransform) {
|
|
55415
55415
|
return typeof totransform === "string" ? totransform : `${totransform}px`;
|
|
@@ -55451,7 +55451,7 @@
|
|
|
55451
55451
|
"stop-color": "currentColor",
|
|
55452
55452
|
offset: "100%"
|
|
55453
55453
|
}, null, -1)
|
|
55454
|
-
])], 8, _hoisted_2$39)]), (0, vue.createElementVNode)("g", _hoisted_3$22, [(0, vue.createElementVNode)("g", _hoisted_4$
|
|
55454
|
+
])], 8, _hoisted_2$39)]), (0, vue.createElementVNode)("g", _hoisted_3$22, [(0, vue.createElementVNode)("g", _hoisted_4$13, [(0, vue.createElementVNode)("path", {
|
|
55455
55455
|
d: "M36 18c0-9.94-8.06-18-18-18",
|
|
55456
55456
|
id: "Oval-2",
|
|
55457
55457
|
stroke: `url(#${(0, vue.unref)(gradientId)})`,
|
|
@@ -55867,7 +55867,7 @@
|
|
|
55867
55867
|
"minlength",
|
|
55868
55868
|
"maxlength"
|
|
55869
55869
|
];
|
|
55870
|
-
var _hoisted_4$
|
|
55870
|
+
var _hoisted_4$12 = { class: "field__input-icon field__input-icon--end" };
|
|
55871
55871
|
//#endregion
|
|
55872
55872
|
//#region src/components/form/RawInputText.vue
|
|
55873
55873
|
var RawInputText_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ (0, vue.defineComponent)({
|
|
@@ -55958,7 +55958,7 @@
|
|
|
55958
55958
|
onFocus: _cache[1] || (_cache[1] = ($event) => $emits("focus")),
|
|
55959
55959
|
onClick: _cache[2] || (_cache[2] = ($event) => $emits("click"))
|
|
55960
55960
|
}, null, 40, _hoisted_3$21),
|
|
55961
|
-
(0, vue.createElementVNode)("span", _hoisted_4$
|
|
55961
|
+
(0, vue.createElementVNode)("span", _hoisted_4$12, [(0, vue.renderSlot)(_ctx.$slots, "icon-end", {}, void 0, true)])
|
|
55962
55962
|
], 2);
|
|
55963
55963
|
};
|
|
55964
55964
|
}
|
|
@@ -56504,7 +56504,7 @@
|
|
|
56504
56504
|
var _hoisted_1$54 = { class: "file-upload" };
|
|
56505
56505
|
var _hoisted_2$35 = { class: "file-upload__label" };
|
|
56506
56506
|
var _hoisted_3$20 = { key: 1 };
|
|
56507
|
-
var _hoisted_4$
|
|
56507
|
+
var _hoisted_4$11 = { class: "file-upload__file-name" };
|
|
56508
56508
|
//#endregion
|
|
56509
56509
|
//#region src/components/form/BmsFilePicker.vue
|
|
56510
56510
|
var BmsFilePicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ (0, vue.defineComponent)({
|
|
@@ -56586,7 +56586,7 @@
|
|
|
56586
56586
|
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
|
|
56587
56587
|
key: file.name,
|
|
56588
56588
|
class: "file-upload__file"
|
|
56589
|
-
}, [(0, vue.createElementVNode)("span", _hoisted_4$
|
|
56589
|
+
}, [(0, vue.createElementVNode)("span", _hoisted_4$11, (0, vue.toDisplayString)(file.name), 1), (0, vue.createVNode)((0, vue.unref)(BmsIconButton_default), { onClick: ($event) => onDeleteFile(file) }, {
|
|
56590
56590
|
default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(Trash2))]),
|
|
56591
56591
|
_: 1
|
|
56592
56592
|
}, 8, ["onClick"])]);
|
|
@@ -101462,7 +101462,7 @@
|
|
|
101462
101462
|
key: 0,
|
|
101463
101463
|
class: "field__input-icon field__input-icon--start"
|
|
101464
101464
|
};
|
|
101465
|
-
var _hoisted_4$
|
|
101465
|
+
var _hoisted_4$10 = [
|
|
101466
101466
|
"readonly",
|
|
101467
101467
|
"placeholder",
|
|
101468
101468
|
"required",
|
|
@@ -101756,7 +101756,7 @@
|
|
|
101756
101756
|
disabled: __props.disabled,
|
|
101757
101757
|
onKeyup: (0, vue.withKeys)(openDatalist, ["down"]),
|
|
101758
101758
|
onInput: _cache[1] || (_cache[1] = ($event) => filteringActive.value = true)
|
|
101759
|
-
}, null, 40, _hoisted_4$
|
|
101759
|
+
}, null, 40, _hoisted_4$10)), [[vue.vModelText, searching.value]]) : (0, vue.createCommentVNode)("", true),
|
|
101760
101760
|
hasEndIcon.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_5$7, [(0, vue.renderSlot)(_ctx.$slots, "icon-end", {}, void 0, true)])) : (0, vue.createCommentVNode)("", true)
|
|
101761
101761
|
], true),
|
|
101762
101762
|
(0, vue.createElementVNode)("span", _hoisted_6$7, [canClear.value ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(X), {
|
|
@@ -104880,7 +104880,7 @@
|
|
|
104880
104880
|
var _hoisted_1$35 = { class: "bms-header" };
|
|
104881
104881
|
var _hoisted_2$23 = { class: "bms-header__title" };
|
|
104882
104882
|
var _hoisted_3$13 = { class: "bms-header__title__label" };
|
|
104883
|
-
var _hoisted_4$
|
|
104883
|
+
var _hoisted_4$9 = { key: 0 };
|
|
104884
104884
|
var _hoisted_5$6 = {
|
|
104885
104885
|
key: 1,
|
|
104886
104886
|
class: "bms-header__title__after-title"
|
|
@@ -104911,7 +104911,7 @@
|
|
|
104911
104911
|
return (_ctx, _cache) => {
|
|
104912
104912
|
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$35, [(0, vue.createElementVNode)("span", _hoisted_2$23, [
|
|
104913
104913
|
(0, vue.renderSlot)(_ctx.$slots, "logo", {}, void 0, true),
|
|
104914
|
-
(0, vue.createElementVNode)("span", _hoisted_3$13, [__props.label ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_4$
|
|
104914
|
+
(0, vue.createElementVNode)("span", _hoisted_3$13, [__props.label ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_4$9, (0, vue.toDisplayString)(__props.label), 1)) : (0, vue.createCommentVNode)("", true), (0, vue.createElementVNode)("h1", null, (0, vue.toDisplayString)(__props.title), 1)]),
|
|
104915
104915
|
showHelperLink.value ? ((0, vue.openBlock)(), (0, vue.createBlock)(BmsShortLinkMenu_default, {
|
|
104916
104916
|
key: 0,
|
|
104917
104917
|
outline: true,
|
|
@@ -104946,7 +104946,7 @@
|
|
|
104946
104946
|
var _hoisted_1$34 = ["data-testid"];
|
|
104947
104947
|
var _hoisted_2$22 = { class: "ui-modal__header" };
|
|
104948
104948
|
var _hoisted_3$12 = { class: "ui-modal__header-inner" };
|
|
104949
|
-
var _hoisted_4$
|
|
104949
|
+
var _hoisted_4$8 = { class: "ui-modal__title" };
|
|
104950
104950
|
var _hoisted_5$5 = { class: "ui-modal__content" };
|
|
104951
104951
|
var _hoisted_6$5 = { class: "ui-modal__footer" };
|
|
104952
104952
|
var _hoisted_7$5 = { class: "ui-modal__buttons" };
|
|
@@ -105077,7 +105077,7 @@
|
|
|
105077
105077
|
ref_key: "innerModal",
|
|
105078
105078
|
ref: innerModal
|
|
105079
105079
|
}, [
|
|
105080
|
-
(0, vue.createElementVNode)("header", _hoisted_2$22, [(0, vue.createElementVNode)("div", _hoisted_3$12, [(0, vue.renderSlot)(_ctx.$slots, "header", {}, () => [(0, vue.createElementVNode)("h1", _hoisted_4$
|
|
105080
|
+
(0, vue.createElementVNode)("header", _hoisted_2$22, [(0, vue.createElementVNode)("div", _hoisted_3$12, [(0, vue.renderSlot)(_ctx.$slots, "header", {}, () => [(0, vue.createElementVNode)("h1", _hoisted_4$8, [props.type !== (0, vue.unref)(StatusType).Default ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)(titleComponent.value), {
|
|
105081
105081
|
key: 0,
|
|
105082
105082
|
class: "title-indicator",
|
|
105083
105083
|
size: 20
|
|
@@ -105437,7 +105437,7 @@
|
|
|
105437
105437
|
var _hoisted_1$29 = { class: "stepper" };
|
|
105438
105438
|
var _hoisted_2$18 = { class: "stepper-header" };
|
|
105439
105439
|
var _hoisted_3$10 = ["onClick"];
|
|
105440
|
-
var _hoisted_4$
|
|
105440
|
+
var _hoisted_4$7 = { key: 1 };
|
|
105441
105441
|
var _hoisted_5$4 = ["onClick"];
|
|
105442
105442
|
var _hoisted_6$4 = {
|
|
105443
105443
|
key: 0,
|
|
@@ -105491,7 +105491,7 @@
|
|
|
105491
105491
|
(0, vue.createElementVNode)("div", {
|
|
105492
105492
|
class: (0, vue.normalizeClass)(["stepper-header--indicator", stepIndicator(step, index)]),
|
|
105493
105493
|
onClick: ($event) => onStepClick(index)
|
|
105494
|
-
}, [step.stepComplete ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(Check), { key: 0 })) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_4$
|
|
105494
|
+
}, [step.stepComplete ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(Check), { key: 0 })) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_4$7, (0, vue.toDisplayString)(index + 1), 1))], 10, _hoisted_3$10),
|
|
105495
105495
|
(0, vue.createElementVNode)("div", { onClick: ($event) => onStepClick(index) }, (0, vue.toDisplayString)(step.stepLabel), 9, _hoisted_5$4),
|
|
105496
105496
|
index < steps.value.length - 1 ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("hr", _hoisted_6$4)) : (0, vue.createCommentVNode)("", true)
|
|
105497
105497
|
], 2);
|
|
@@ -105705,7 +105705,7 @@
|
|
|
105705
105705
|
};
|
|
105706
105706
|
var _hoisted_2$16 = { class: "parent-label" };
|
|
105707
105707
|
var _hoisted_3$9 = ["onClick"];
|
|
105708
|
-
var _hoisted_4$
|
|
105708
|
+
var _hoisted_4$6 = { class: "parent-label" };
|
|
105709
105709
|
var _hoisted_5$3 = {
|
|
105710
105710
|
key: 1,
|
|
105711
105711
|
class: "parent-item"
|
|
@@ -105778,7 +105778,7 @@
|
|
|
105778
105778
|
key: 0,
|
|
105779
105779
|
class: "parent-item is-clickable",
|
|
105780
105780
|
onClick: ($event) => toggleParentItem(item)
|
|
105781
|
-
}, [(0, vue.createElementVNode)("span", _hoisted_4$
|
|
105781
|
+
}, [(0, vue.createElementVNode)("span", _hoisted_4$6, (0, vue.toDisplayString)(item.label), 1), !item.open ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(ChevronDown), { key: 0 })) : ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(ChevronUp), { key: 1 }))], 8, _hoisted_3$9)) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_5$3, [(0, vue.createElementVNode)("span", _hoisted_6$3, (0, vue.toDisplayString)(item.label), 1)]))], 64)), (0, vue.createVNode)(vue.Transition, { name: "open" }, {
|
|
105782
105782
|
default: (0, vue.withCtx)(() => [(0, vue.withDirectives)((0, vue.createElementVNode)("ul", null, [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(item.items, (subItem) => {
|
|
105783
105783
|
return (0, vue.openBlock)(), (0, vue.createElementBlock)("li", { key: subItem.label }, [(0, vue.createVNode)(UiMenuItem_default, {
|
|
105784
105784
|
item: subItem,
|
|
@@ -106515,7 +106515,7 @@
|
|
|
106515
106515
|
var _hoisted_1$15 = { class: "empty-screen" };
|
|
106516
106516
|
var _hoisted_2$12 = { class: "empty-screen__img" };
|
|
106517
106517
|
var _hoisted_3$7 = { class: "empty-screen__title" };
|
|
106518
|
-
var _hoisted_4$
|
|
106518
|
+
var _hoisted_4$5 = {
|
|
106519
106519
|
key: 0,
|
|
106520
106520
|
class: "empty-screen__description"
|
|
106521
106521
|
};
|
|
@@ -106533,7 +106533,7 @@
|
|
|
106533
106533
|
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$15, [
|
|
106534
106534
|
(0, vue.createElementVNode)("div", _hoisted_2$12, [(0, vue.createVNode)((0, vue.unref)(empty_default))]),
|
|
106535
106535
|
(0, vue.createElementVNode)("h1", _hoisted_3$7, (0, vue.toDisplayString)(props.title), 1),
|
|
106536
|
-
props.description ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("p", _hoisted_4$
|
|
106536
|
+
props.description ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("p", _hoisted_4$5, (0, vue.toDisplayString)(props.description), 1)) : (0, vue.createCommentVNode)("", true)
|
|
106537
106537
|
]);
|
|
106538
106538
|
};
|
|
106539
106539
|
}
|
|
@@ -108945,15 +108945,16 @@
|
|
|
108945
108945
|
});
|
|
108946
108946
|
//#endregion
|
|
108947
108947
|
//#region src/components/table/UiBmsTableRow.vue?vue&type=script&setup=true&lang.ts
|
|
108948
|
-
var _hoisted_1$12 =
|
|
108949
|
-
|
|
108948
|
+
var _hoisted_1$12 = ["draggable"];
|
|
108949
|
+
var _hoisted_2$10 = {
|
|
108950
|
+
key: 1,
|
|
108950
108951
|
class: "bms-table__row__cell__checkbox"
|
|
108951
108952
|
};
|
|
108952
|
-
var
|
|
108953
|
+
var _hoisted_3$5 = {
|
|
108953
108954
|
key: 0,
|
|
108954
108955
|
class: "bms-table__row__cell--child-element"
|
|
108955
108956
|
};
|
|
108956
|
-
var
|
|
108957
|
+
var _hoisted_4$4 = {
|
|
108957
108958
|
key: 1,
|
|
108958
108959
|
class: "bms-table__row__cell--action"
|
|
108959
108960
|
};
|
|
@@ -108975,11 +108976,22 @@
|
|
|
108975
108976
|
type: Boolean,
|
|
108976
108977
|
default: false
|
|
108977
108978
|
},
|
|
108978
|
-
isChildElement: { type: Boolean }
|
|
108979
|
+
isChildElement: { type: Boolean },
|
|
108980
|
+
draggable: {
|
|
108981
|
+
type: Boolean,
|
|
108982
|
+
default: false
|
|
108983
|
+
}
|
|
108979
108984
|
},
|
|
108980
|
-
emits: [
|
|
108985
|
+
emits: [
|
|
108986
|
+
"select",
|
|
108987
|
+
"dragStart",
|
|
108988
|
+
"dragOver",
|
|
108989
|
+
"dragEnd",
|
|
108990
|
+
"drop"
|
|
108991
|
+
],
|
|
108981
108992
|
setup(__props, { emit: __emit }) {
|
|
108982
108993
|
const props = __props;
|
|
108994
|
+
const gripped = (0, vue.ref)(false);
|
|
108983
108995
|
const emits = __emit;
|
|
108984
108996
|
const currentItem = (0, vue.computed)(() => props.isChildElement ? props.item.childElement : props.item);
|
|
108985
108997
|
const isItemSelected = (item) => {
|
|
@@ -108989,67 +109001,89 @@
|
|
|
108989
109001
|
return `u-text-align-${!header.align ? "start" : header.align}`;
|
|
108990
109002
|
};
|
|
108991
109003
|
return (_ctx, _cache) => {
|
|
108992
|
-
return (0, vue.openBlock)(), (0, vue.createElementBlock)("tr", {
|
|
108993
|
-
"bms-table__row
|
|
108994
|
-
|
|
108995
|
-
|
|
108996
|
-
|
|
108997
|
-
|
|
108998
|
-
|
|
108999
|
-
|
|
109000
|
-
|
|
109001
|
-
|
|
109004
|
+
return (0, vue.openBlock)(), (0, vue.createElementBlock)("tr", {
|
|
109005
|
+
class: (0, vue.normalizeClass)(["bms-table__row", {
|
|
109006
|
+
"bms-table__row--selected": isItemSelected(currentItem.value),
|
|
109007
|
+
"bms-table__row--disabled": __props.isChildElement,
|
|
109008
|
+
"bms-table__row--dense": __props.dense
|
|
109009
|
+
}]),
|
|
109010
|
+
draggable: __props.draggable && gripped.value,
|
|
109011
|
+
onDragstart: _cache[4] || (_cache[4] = ($event) => emits("dragStart")),
|
|
109012
|
+
onDragover: _cache[5] || (_cache[5] = ($event) => __props.draggable && ($event.preventDefault(), emits("dragOver"))),
|
|
109013
|
+
onDragend: _cache[6] || (_cache[6] = ($event) => {
|
|
109014
|
+
gripped.value = false;
|
|
109015
|
+
emits("dragEnd");
|
|
109016
|
+
}),
|
|
109017
|
+
onDrop: _cache[7] || (_cache[7] = ($event) => __props.draggable && ($event.preventDefault(), emits("drop")))
|
|
109018
|
+
}, [
|
|
109019
|
+
__props.draggable ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("td", {
|
|
109002
109020
|
key: 0,
|
|
109003
|
-
|
|
109004
|
-
|
|
109005
|
-
|
|
109006
|
-
|
|
109007
|
-
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => emits("select", currentItem.value))
|
|
109008
|
-
}, null, 8, [
|
|
109009
|
-
"name",
|
|
109010
|
-
"disabled",
|
|
109011
|
-
"value",
|
|
109012
|
-
"model-value"
|
|
109013
|
-
])) : ((0, vue.openBlock)(), (0, vue.createBlock)(UiBmsInputCheckbox_default, {
|
|
109014
|
-
key: 1,
|
|
109015
|
-
name: (0, vue.unref)(v4)(),
|
|
109016
|
-
disabled: __props.selectMode === (0, vue.unref)(SelectMode).ALL || __props.selectableDisabled,
|
|
109017
|
-
"model-value": isItemSelected(currentItem.value),
|
|
109018
|
-
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => emits("select", currentItem.value))
|
|
109019
|
-
}, null, 8, [
|
|
109020
|
-
"name",
|
|
109021
|
-
"disabled",
|
|
109022
|
-
"model-value"
|
|
109023
|
-
]))]),
|
|
109024
|
-
_: 1
|
|
109025
|
-
}, 8, ["direction", "activated"])])) : (0, vue.createCommentVNode)("", true), (0, vue.renderSlot)(_ctx.$slots, "default", { row: __props.item }, () => [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(__props.headers, (cell, index) => {
|
|
109026
|
-
return (0, vue.openBlock)(), (0, vue.createElementBlock)("td", {
|
|
109027
|
-
class: (0, vue.normalizeClass)([getAlignClass(cell), "bms-table__row__cell"]),
|
|
109028
|
-
key: cell.key
|
|
109029
|
-
}, [__props.isChildElement ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_2$10, [index === 0 ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(CornerDownRight), {
|
|
109021
|
+
class: "bms-table__row__cell--drag-handle",
|
|
109022
|
+
onMousedown: _cache[0] || (_cache[0] = ($event) => !__props.isChildElement && (gripped.value = true)),
|
|
109023
|
+
onMouseup: _cache[1] || (_cache[1] = ($event) => gripped.value = false)
|
|
109024
|
+
}, [!__props.isChildElement ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(GripVertical), {
|
|
109030
109025
|
key: 0,
|
|
109031
|
-
class: "
|
|
109032
|
-
})) : (0, vue.createCommentVNode)("", true), (0, vue.
|
|
109033
|
-
|
|
109034
|
-
|
|
109035
|
-
|
|
109036
|
-
|
|
109037
|
-
|
|
109038
|
-
|
|
109039
|
-
|
|
109040
|
-
|
|
109041
|
-
|
|
109042
|
-
|
|
109043
|
-
|
|
109044
|
-
|
|
109045
|
-
|
|
109046
|
-
|
|
109047
|
-
|
|
109048
|
-
|
|
109049
|
-
|
|
109026
|
+
class: "drag-handle-icon"
|
|
109027
|
+
})) : (0, vue.createCommentVNode)("", true)], 32)) : (0, vue.createCommentVNode)("", true),
|
|
109028
|
+
__props.selectable ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("td", _hoisted_2$10, [(0, vue.createVNode)(BmsTooltip_default, {
|
|
109029
|
+
direction: (0, vue.unref)(TooltipDirection).Right,
|
|
109030
|
+
"tooltip-text": "Vous ne pouvez pas désélectionner un élément unitairement si vous avez choisi de sélectionner la totalité des éléments",
|
|
109031
|
+
activated: __props.selectMode === (0, vue.unref)(SelectMode).ALL
|
|
109032
|
+
}, {
|
|
109033
|
+
default: (0, vue.withCtx)(() => [__props.selectMode === (0, vue.unref)(SelectMode).SINGLE ? ((0, vue.openBlock)(), (0, vue.createBlock)(BmsInputRadio_default, {
|
|
109034
|
+
key: 0,
|
|
109035
|
+
name: (0, vue.unref)(v4)(),
|
|
109036
|
+
disabled: __props.selectableDisabled,
|
|
109037
|
+
value: currentItem.value,
|
|
109038
|
+
"model-value": isItemSelected(currentItem.value) ? currentItem.value : null,
|
|
109039
|
+
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => emits("select", currentItem.value))
|
|
109040
|
+
}, null, 8, [
|
|
109041
|
+
"name",
|
|
109042
|
+
"disabled",
|
|
109043
|
+
"value",
|
|
109044
|
+
"model-value"
|
|
109045
|
+
])) : ((0, vue.openBlock)(), (0, vue.createBlock)(UiBmsInputCheckbox_default, {
|
|
109046
|
+
key: 1,
|
|
109047
|
+
name: (0, vue.unref)(v4)(),
|
|
109048
|
+
disabled: __props.selectMode === (0, vue.unref)(SelectMode).ALL || __props.selectableDisabled,
|
|
109049
|
+
"model-value": isItemSelected(currentItem.value),
|
|
109050
|
+
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => emits("select", currentItem.value))
|
|
109051
|
+
}, null, 8, [
|
|
109052
|
+
"name",
|
|
109053
|
+
"disabled",
|
|
109054
|
+
"model-value"
|
|
109055
|
+
]))]),
|
|
109056
|
+
_: 1
|
|
109057
|
+
}, 8, ["direction", "activated"])])) : (0, vue.createCommentVNode)("", true),
|
|
109058
|
+
(0, vue.renderSlot)(_ctx.$slots, "default", { row: __props.item }, () => [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(__props.headers, (cell, index) => {
|
|
109059
|
+
return (0, vue.openBlock)(), (0, vue.createElementBlock)("td", {
|
|
109060
|
+
class: (0, vue.normalizeClass)([getAlignClass(cell), "bms-table__row__cell"]),
|
|
109061
|
+
key: cell.key
|
|
109062
|
+
}, [__props.isChildElement ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_3$5, [index === 0 ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(CornerDownRight), {
|
|
109063
|
+
key: 0,
|
|
109064
|
+
class: "bms-table__row__cell--child-element__icon"
|
|
109065
|
+
})) : (0, vue.createCommentVNode)("", true), (0, vue.renderSlot)(_ctx.$slots, cell.key, {
|
|
109066
|
+
row: __props.item.childElement,
|
|
109067
|
+
isChildElement: __props.isChildElement
|
|
109068
|
+
}, () => [(0, vue.createVNode)(UiBmsTableCell_default, {
|
|
109069
|
+
item: __props.item.childElement,
|
|
109070
|
+
cell
|
|
109071
|
+
}, null, 8, ["item", "cell"])], true)])) : cell?.action ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_4$4, [(0, vue.renderSlot)(_ctx.$slots, cell.key, {
|
|
109072
|
+
row: __props.item,
|
|
109073
|
+
isChildElement: __props.isChildElement
|
|
109074
|
+
}, void 0, true)])) : (0, vue.renderSlot)(_ctx.$slots, cell.key, {
|
|
109075
|
+
key: 2,
|
|
109076
|
+
row: __props.item,
|
|
109077
|
+
isChildElement: __props.isChildElement
|
|
109078
|
+
}, () => [(0, vue.createVNode)(UiBmsTableCell_default, {
|
|
109079
|
+
item: __props.item,
|
|
109080
|
+
cell
|
|
109081
|
+
}, null, 8, ["item", "cell"])], true)], 2);
|
|
109082
|
+
}), 128))], true)
|
|
109083
|
+
], 42, _hoisted_1$12);
|
|
109050
109084
|
};
|
|
109051
109085
|
}
|
|
109052
|
-
}), [["__scopeId", "data-v-
|
|
109086
|
+
}), [["__scopeId", "data-v-13885778"]]);
|
|
109053
109087
|
//#endregion
|
|
109054
109088
|
//#region src/components/table/UiBmsTable.vue?vue&type=script&setup=true&lang.ts
|
|
109055
109089
|
var _hoisted_1$11 = { class: "bms-table" };
|
|
@@ -109072,15 +109106,19 @@
|
|
|
109072
109106
|
class: "bms-table__header"
|
|
109073
109107
|
};
|
|
109074
109108
|
var _hoisted_11$1 = { class: "bms-table__headers bms-table__row" };
|
|
109075
|
-
var _hoisted_12$1 = {
|
|
109076
|
-
|
|
109077
|
-
|
|
109078
|
-
|
|
109079
|
-
var
|
|
109109
|
+
var _hoisted_12$1 = {
|
|
109110
|
+
key: 0,
|
|
109111
|
+
class: "drag-handle-header"
|
|
109112
|
+
};
|
|
109113
|
+
var _hoisted_13$1 = { key: 1 };
|
|
109114
|
+
var _hoisted_14$1 = ["onClick"];
|
|
109115
|
+
var _hoisted_15$1 = { class: "header-content" };
|
|
109116
|
+
var _hoisted_16$1 = { class: "bms-table__body" };
|
|
109117
|
+
var _hoisted_17 = {
|
|
109080
109118
|
key: 1,
|
|
109081
109119
|
class: "bms-table__row"
|
|
109082
109120
|
};
|
|
109083
|
-
var
|
|
109121
|
+
var _hoisted_18 = ["colspan"];
|
|
109084
109122
|
//#endregion
|
|
109085
109123
|
//#region src/components/table/UiBmsTable.vue
|
|
109086
109124
|
var UiBmsTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ (0, vue.defineComponent)({
|
|
@@ -109109,7 +109147,8 @@
|
|
|
109109
109147
|
selectedItems: {},
|
|
109110
109148
|
totalSize: {},
|
|
109111
109149
|
maxSelectedSize: { default: Infinity },
|
|
109112
|
-
selectMode: { default: SelectMode.DEFAULT }
|
|
109150
|
+
selectMode: { default: SelectMode.DEFAULT },
|
|
109151
|
+
draggable: { type: Boolean }
|
|
109113
109152
|
}, {
|
|
109114
109153
|
"selectedItems": { default: [] },
|
|
109115
109154
|
"selectedItemsModifiers": {}
|
|
@@ -109117,12 +109156,34 @@
|
|
|
109117
109156
|
emits: /*@__PURE__*/ (0, vue.mergeModels)([
|
|
109118
109157
|
"clickHeader",
|
|
109119
109158
|
"selectAll",
|
|
109120
|
-
"clearSelection"
|
|
109159
|
+
"clearSelection",
|
|
109160
|
+
"reorder",
|
|
109161
|
+
"selectionIndicesUpdate"
|
|
109121
109162
|
], ["update:selectedItems"]),
|
|
109122
109163
|
setup(__props, { emit: __emit }) {
|
|
109123
109164
|
const props = __props;
|
|
109124
109165
|
const selectedItems = (0, vue.useModel)(__props, "selectedItems");
|
|
109125
109166
|
const emits = __emit;
|
|
109167
|
+
const dragSourceIndex = (0, vue.ref)(null);
|
|
109168
|
+
const dragTargetIndex = (0, vue.ref)(null);
|
|
109169
|
+
const isDraggingDown = (0, vue.computed)(() => dragSourceIndex.value !== null && dragTargetIndex.value !== null && dragSourceIndex.value < dragTargetIndex.value);
|
|
109170
|
+
const onRowDragStart = (index) => {
|
|
109171
|
+
dragSourceIndex.value = index;
|
|
109172
|
+
};
|
|
109173
|
+
const onRowDragOver = (index) => {
|
|
109174
|
+
dragTargetIndex.value = index;
|
|
109175
|
+
};
|
|
109176
|
+
const onRowDragEnd = () => {
|
|
109177
|
+
if (dragSourceIndex.value !== null && dragTargetIndex.value !== null && dragSourceIndex.value !== dragTargetIndex.value) {
|
|
109178
|
+
const reordered = [...props.items];
|
|
109179
|
+
const [moved] = reordered.splice(dragSourceIndex.value, 1);
|
|
109180
|
+
reordered.splice(dragTargetIndex.value, 0, moved);
|
|
109181
|
+
if (selectedItems.value.length > 0) emits("selectionIndicesUpdate", reordered.map((item, i) => selectedItems.value.includes(item) ? i : -1).filter((i) => i !== -1));
|
|
109182
|
+
emits("reorder", reordered);
|
|
109183
|
+
}
|
|
109184
|
+
dragSourceIndex.value = null;
|
|
109185
|
+
dragTargetIndex.value = null;
|
|
109186
|
+
};
|
|
109126
109187
|
const pagination = (0, vue.ref)(null);
|
|
109127
109188
|
const isFocusOnPagination = () => pagination.value?.contains(document.activeElement);
|
|
109128
109189
|
(0, vue.watch)(() => props.items, async function keepFocusOnPaginationWhenUsed(newVal, oldVal) {
|
|
@@ -109231,38 +109292,45 @@
|
|
|
109231
109292
|
class: (0, vue.normalizeClass)(tableClass.value),
|
|
109232
109293
|
ref_key: "mainComponent",
|
|
109233
109294
|
ref: mainComponent
|
|
109234
|
-
}, [(0, vue.createElementVNode)("thead", _hoisted_10$1, [(0, vue.createElementVNode)("tr", _hoisted_11$1, [
|
|
109235
|
-
|
|
109236
|
-
|
|
109237
|
-
|
|
109238
|
-
|
|
109239
|
-
|
|
109240
|
-
|
|
109241
|
-
|
|
109242
|
-
|
|
109243
|
-
|
|
109244
|
-
|
|
109245
|
-
|
|
109246
|
-
|
|
109247
|
-
|
|
109248
|
-
|
|
109249
|
-
|
|
109250
|
-
|
|
109251
|
-
|
|
109252
|
-
|
|
109253
|
-
|
|
109254
|
-
|
|
109255
|
-
|
|
109256
|
-
|
|
109257
|
-
|
|
109258
|
-
|
|
109259
|
-
|
|
109260
|
-
|
|
109261
|
-
|
|
109262
|
-
|
|
109263
|
-
|
|
109264
|
-
|
|
109265
|
-
|
|
109295
|
+
}, [(0, vue.createElementVNode)("thead", _hoisted_10$1, [(0, vue.createElementVNode)("tr", _hoisted_11$1, [
|
|
109296
|
+
__props.draggable ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("th", _hoisted_12$1)) : (0, vue.createCommentVNode)("", true),
|
|
109297
|
+
__props.selectable ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("th", _hoisted_13$1, [__props.selectMode !== (0, vue.unref)(SelectMode).SINGLE ? ((0, vue.openBlock)(), (0, vue.createBlock)(UiBmsInputCheckbox_default, {
|
|
109298
|
+
key: 0,
|
|
109299
|
+
name: "select-all",
|
|
109300
|
+
disabled: __props.items.length === 0 || __props.selectableDisabled,
|
|
109301
|
+
"onUpdate:modelValue": [onToggleSelectAllCurrentItems, _cache[0] || (_cache[0] = ($event) => areAllCurrentItemsSelected.value = $event)],
|
|
109302
|
+
modelValue: areAllCurrentItemsSelected.value
|
|
109303
|
+
}, null, 8, ["disabled", "modelValue"])) : (0, vue.createCommentVNode)("", true)])) : (0, vue.createCommentVNode)("", true),
|
|
109304
|
+
((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(filteredHeaders.value, (header) => {
|
|
109305
|
+
return (0, vue.openBlock)(), (0, vue.createElementBlock)("th", {
|
|
109306
|
+
style: (0, vue.normalizeStyle)({ "--table-cell-width": header?.width || void 0 }),
|
|
109307
|
+
class: (0, vue.normalizeClass)((0, vue.unref)(getHeaderClasses)(header, __props.draggable ? {
|
|
109308
|
+
key: null,
|
|
109309
|
+
value: (0, vue.unref)(SortValue).default
|
|
109310
|
+
} : __props.sort)),
|
|
109311
|
+
key: header.label,
|
|
109312
|
+
onClick: ($event) => !__props.draggable && emits("clickHeader", header)
|
|
109313
|
+
}, [(0, vue.createElementVNode)("span", _hoisted_15$1, [
|
|
109314
|
+
(0, vue.createTextVNode)((0, vue.toDisplayString)(header.label) + " ", 1),
|
|
109315
|
+
header.helperText ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(BmsTooltip_default), {
|
|
109316
|
+
key: 0,
|
|
109317
|
+
tooltipText: header.helperText
|
|
109318
|
+
}, {
|
|
109319
|
+
default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("span", {
|
|
109320
|
+
class: "header-content-helper",
|
|
109321
|
+
onClick: _cache[1] || (_cache[1] = (0, vue.withModifiers)(() => {}, ["stop"])),
|
|
109322
|
+
onPointerdown: _cache[2] || (_cache[2] = (0, vue.withModifiers)(() => {}, ["stop"]))
|
|
109323
|
+
}, [(0, vue.createVNode)((0, vue.unref)(CircleQuestionMark), { size: 18 })], 32)]),
|
|
109324
|
+
_: 1
|
|
109325
|
+
}, 8, ["tooltipText"])) : (0, vue.createCommentVNode)("", true),
|
|
109326
|
+
header.sortable && !__props.draggable ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)(getSortComponent(header)), {
|
|
109327
|
+
key: 1,
|
|
109328
|
+
size: 18,
|
|
109329
|
+
class: "header-content-sort"
|
|
109330
|
+
})) : (0, vue.createCommentVNode)("", true)
|
|
109331
|
+
])], 14, _hoisted_14$1);
|
|
109332
|
+
}), 128))
|
|
109333
|
+
])], 512), (0, vue.createElementVNode)("tbody", _hoisted_16$1, [__props.items.length ? ((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, { key: 0 }, (0, vue.renderList)(__props.items, (item, index) => {
|
|
109266
109334
|
return (0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, { key: item }, [(0, vue.createVNode)(UiBmsTableRow_default, {
|
|
109267
109335
|
item,
|
|
109268
109336
|
"selected-items": selectedItems.value,
|
|
@@ -109271,7 +109339,16 @@
|
|
|
109271
109339
|
"select-mode": __props.selectMode,
|
|
109272
109340
|
"selectable-disabled": __props.selectableDisabled,
|
|
109273
109341
|
dense: __props.mode === (0, vue.unref)(TableMode).DENSE || __props.mode === (0, vue.unref)(TableMode).SMALL,
|
|
109274
|
-
|
|
109342
|
+
draggable: __props.draggable,
|
|
109343
|
+
class: (0, vue.normalizeClass)({
|
|
109344
|
+
"bms-table__row--drag-insert-after": __props.draggable && dragTargetIndex.value === index && dragSourceIndex.value !== index && isDraggingDown.value,
|
|
109345
|
+
"bms-table__row--drag-insert-before": __props.draggable && dragTargetIndex.value === index && dragSourceIndex.value !== index && !isDraggingDown.value
|
|
109346
|
+
}),
|
|
109347
|
+
onSelect: onItemSelect,
|
|
109348
|
+
onDragStart: ($event) => onRowDragStart(index),
|
|
109349
|
+
onDragOver: ($event) => onRowDragOver(index),
|
|
109350
|
+
onDragEnd: onRowDragEnd,
|
|
109351
|
+
onDrop: onRowDragEnd
|
|
109275
109352
|
}, (0, vue.createSlots)({
|
|
109276
109353
|
default: (0, vue.withCtx)(({ row }) => [(0, vue.renderSlot)(_ctx.$slots, "default", { row }, void 0, true)]),
|
|
109277
109354
|
_: 2
|
|
@@ -109287,7 +109364,11 @@
|
|
|
109287
109364
|
"headers",
|
|
109288
109365
|
"select-mode",
|
|
109289
109366
|
"selectable-disabled",
|
|
109290
|
-
"dense"
|
|
109367
|
+
"dense",
|
|
109368
|
+
"draggable",
|
|
109369
|
+
"class",
|
|
109370
|
+
"onDragStart",
|
|
109371
|
+
"onDragOver"
|
|
109291
109372
|
]), item?.childElement ? (0, vue.renderSlot)(_ctx.$slots, "child-element", { key: 0 }, () => [(0, vue.createVNode)(UiBmsTableRow_default, {
|
|
109292
109373
|
"is-child-element": "",
|
|
109293
109374
|
item,
|
|
@@ -109296,6 +109377,7 @@
|
|
|
109296
109377
|
headers: filteredHeaders.value,
|
|
109297
109378
|
"select-mode": __props.selectMode,
|
|
109298
109379
|
"selectable-disabled": __props.selectableDisabled,
|
|
109380
|
+
draggable: __props.draggable,
|
|
109299
109381
|
onSelect: onItemSelect
|
|
109300
109382
|
}, (0, vue.createSlots)({ _: 2 }, [(0, vue.renderList)(__props.headers, (cell) => {
|
|
109301
109383
|
return {
|
|
@@ -109308,12 +109390,13 @@
|
|
|
109308
109390
|
"selectable",
|
|
109309
109391
|
"headers",
|
|
109310
109392
|
"select-mode",
|
|
109311
|
-
"selectable-disabled"
|
|
109393
|
+
"selectable-disabled",
|
|
109394
|
+
"draggable"
|
|
109312
109395
|
])], true) : (0, vue.createCommentVNode)("", true)], 64);
|
|
109313
|
-
}), 128)) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("tr",
|
|
109314
|
-
colspan: __props.selectable ?
|
|
109396
|
+
}), 128)) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("tr", _hoisted_17, [(0, vue.createElementVNode)("td", {
|
|
109397
|
+
colspan: filteredHeaders.value.length + (__props.selectable ? 1 : 0) + (__props.draggable ? 1 : 0),
|
|
109315
109398
|
class: "bms-table__cell bms-table__cell--empty"
|
|
109316
|
-
}, [!props.loading ? (0, vue.renderSlot)(_ctx.$slots, "empty", { key: 0 }, () => [_cache[5] || (_cache[5] = (0, vue.createTextVNode)("Aucune donnée", -1))], true) : (0, vue.createCommentVNode)("", true)], 8,
|
|
109399
|
+
}, [!props.loading ? (0, vue.renderSlot)(_ctx.$slots, "empty", { key: 0 }, () => [_cache[5] || (_cache[5] = (0, vue.createTextVNode)("Aucune donnée", -1))], true) : (0, vue.createCommentVNode)("", true)], 8, _hoisted_18)]))])], 2)) : (0, vue.createCommentVNode)("", true),
|
|
109317
109400
|
(0, vue.createElementVNode)("div", {
|
|
109318
109401
|
ref_key: "pagination",
|
|
109319
109402
|
ref: pagination,
|
|
@@ -109324,7 +109407,7 @@
|
|
|
109324
109407
|
]);
|
|
109325
109408
|
};
|
|
109326
109409
|
}
|
|
109327
|
-
}), [["__scopeId", "data-v-
|
|
109410
|
+
}), [["__scopeId", "data-v-c883a5f1"]]);
|
|
109328
109411
|
//#endregion
|
|
109329
109412
|
//#region src/components/table/UiFilterButton.vue?vue&type=script&setup=true&lang.ts
|
|
109330
109413
|
var _hoisted_1$10 = { class: "filter-button-container" };
|
|
@@ -110191,11 +110274,11 @@
|
|
|
110191
110274
|
//#region src/composables/search.composable.ts
|
|
110192
110275
|
var FILTER_KEY = "bms-ui-filter";
|
|
110193
110276
|
var FILTER_SEARCH_KEY = `${FILTER_KEY}-search`;
|
|
110194
|
-
var useSearch = (persistent = true, defaultFilters = [], defaultFiltersOpened = false) => {
|
|
110277
|
+
var useSearch = (persistent = true, defaultFilters = [], defaultFiltersOpened = false, defaultSearch = "") => {
|
|
110195
110278
|
const route = (0, vue_router.useRoute)();
|
|
110196
110279
|
const userPref = useUserPref();
|
|
110197
110280
|
const reflect = (0, vue.ref)((0, vue.unref)(persistent));
|
|
110198
|
-
const search = (0, vue.ref)("");
|
|
110281
|
+
const search = (0, vue.ref)((0, vue.unref)(defaultSearch) ?? "");
|
|
110199
110282
|
const filters = (0, vue.ref)((0, vue.unref)(defaultFilters));
|
|
110200
110283
|
const isFilterVisible = (0, vue.ref)((0, vue.unref)(defaultFiltersOpened));
|
|
110201
110284
|
const isMounting = (0, vue.ref)(true);
|
|
@@ -110271,6 +110354,9 @@
|
|
|
110271
110354
|
userPref.saveUserPref(savedFilterName, filter.value, route.path);
|
|
110272
110355
|
});
|
|
110273
110356
|
};
|
|
110357
|
+
(0, vue.watch)(() => (0, vue.unref)(defaultSearch), (newDefault) => {
|
|
110358
|
+
search.value = newDefault ?? "";
|
|
110359
|
+
});
|
|
110274
110360
|
(0, vue.watch)(search, () => {
|
|
110275
110361
|
if (reflect.value) {
|
|
110276
110362
|
reflectSearchToPath(search.value, FILTER_SEARCH_KEY);
|
|
@@ -110287,7 +110373,7 @@
|
|
|
110287
110373
|
if (reflect.value) {
|
|
110288
110374
|
const searchParams = new URLSearchParams(window.location.search);
|
|
110289
110375
|
if (searchParams.get(FILTER_SEARCH_KEY)) search.value = searchParams.get(FILTER_SEARCH_KEY) || "";
|
|
110290
|
-
if (!
|
|
110376
|
+
else if (!hasFiltersInUrl()) search.value = userPref.getUserPref(FILTER_SEARCH_KEY, route.path) || (0, vue.unref)(defaultSearch) || "";
|
|
110291
110377
|
}
|
|
110292
110378
|
};
|
|
110293
110379
|
const resetAllFilters = () => {
|
|
@@ -114460,7 +114546,9 @@
|
|
|
114460
114546
|
default: false
|
|
114461
114547
|
},
|
|
114462
114548
|
selectMode: { default: SelectMode.DEFAULT },
|
|
114463
|
-
customSearch: {}
|
|
114549
|
+
customSearch: {},
|
|
114550
|
+
draggable: { type: Boolean },
|
|
114551
|
+
searchDefault: {}
|
|
114464
114552
|
}, {
|
|
114465
114553
|
"selectedItems": {
|
|
114466
114554
|
required: false,
|
|
@@ -114472,7 +114560,8 @@
|
|
|
114472
114560
|
"deleteSavedFilter",
|
|
114473
114561
|
"saveFilter",
|
|
114474
114562
|
"filterInput",
|
|
114475
|
-
"filterChange"
|
|
114563
|
+
"filterChange",
|
|
114564
|
+
"reorder"
|
|
114476
114565
|
], ["update:selectedItems"]),
|
|
114477
114566
|
setup(__props, { emit: __emit }) {
|
|
114478
114567
|
const route = (0, vue_router.useRoute)();
|
|
@@ -114480,7 +114569,7 @@
|
|
|
114480
114569
|
const props = __props;
|
|
114481
114570
|
const { items, size, pagination, currentPage, paginationsOptions, currentItems, totalPages, goToPage, isMounting: isPaginationMounting } = usePagination(props.persistent, props.size, props.pagination);
|
|
114482
114571
|
const { sortItems, changeSort, sort, isMounting: isSortMounting } = useSort(props.persistent, props.headers, props.defaultSort);
|
|
114483
|
-
const { search, reflect, filters, isFilterVisible, numberOfActiveFilters, isMounting: isSearchMounting, toggleFilters, filterItems, isSavedFilterActive, resetFilters, selectSavedFilter, resetAllFilters, updateFiltersFromProps } = useSearch(props.persistent, props.filters, props.defaultFiltersOpened);
|
|
114572
|
+
const { search, reflect, filters, isFilterVisible, numberOfActiveFilters, isMounting: isSearchMounting, toggleFilters, filterItems, isSavedFilterActive, resetFilters, selectSavedFilter, resetAllFilters, updateFiltersFromProps } = useSearch(props.persistent, props.filters, props.defaultFiltersOpened, (0, vue.toRef)(props, "searchDefault"));
|
|
114484
114573
|
const emits = __emit;
|
|
114485
114574
|
const selectedItems = (0, vue.useModel)(__props, "selectedItems");
|
|
114486
114575
|
const emptyText = (0, vue.computed)(() => ({
|
|
@@ -114489,7 +114578,8 @@
|
|
|
114489
114578
|
}));
|
|
114490
114579
|
const getFilteredItems = () => {
|
|
114491
114580
|
const applySearch = props.customSearch ? (item) => props.customSearch(item, search.value) : (item) => bmsDefaultSearchFilterFunction(item, search.value);
|
|
114492
|
-
|
|
114581
|
+
const filtered = filterItems(props.items).filter(applySearch);
|
|
114582
|
+
return props.draggable ? filtered : sortItems(filtered);
|
|
114493
114583
|
};
|
|
114494
114584
|
const isMounting = (0, vue.ref)(true);
|
|
114495
114585
|
(0, vue.watch)(() => props.filters, () => {
|
|
@@ -114513,10 +114603,18 @@
|
|
|
114513
114603
|
(0, vue.watch)(route, () => {
|
|
114514
114604
|
if (!isMounting.value && true) resetAllFilters();
|
|
114515
114605
|
});
|
|
114606
|
+
const pendingSelectionIndices = (0, vue.ref)(null);
|
|
114607
|
+
const onSelectionIndicesUpdate = (indices) => {
|
|
114608
|
+
pendingSelectionIndices.value = indices;
|
|
114609
|
+
};
|
|
114516
114610
|
(0, vue.watch)(() => props.items, () => {
|
|
114517
114611
|
if (!isMounting.value) {
|
|
114518
114612
|
items.value = getFilteredItems();
|
|
114519
|
-
selectedItems.value = [];
|
|
114613
|
+
if (!props.draggable) selectedItems.value = [];
|
|
114614
|
+
else if (pendingSelectionIndices.value !== null) {
|
|
114615
|
+
selectedItems.value = pendingSelectionIndices.value.map((i) => items.value[i]).filter(Boolean);
|
|
114616
|
+
pendingSelectionIndices.value = null;
|
|
114617
|
+
} else selectedItems.value = [];
|
|
114520
114618
|
}
|
|
114521
114619
|
});
|
|
114522
114620
|
(0, vue.watchEffect)(() => {
|
|
@@ -114559,12 +114657,15 @@
|
|
|
114559
114657
|
selectedItems: selectedItems.value,
|
|
114560
114658
|
"onUpdate:selectedItems": _cache[6] || (_cache[6] = ($event) => selectedItems.value = $event),
|
|
114561
114659
|
loading: __props.loading,
|
|
114562
|
-
items: (0, vue.unref)(currentItems),
|
|
114660
|
+
items: __props.draggable ? (0, vue.unref)(items) : (0, vue.unref)(currentItems),
|
|
114563
114661
|
headers: __props.headers,
|
|
114564
114662
|
mode: __props.mode,
|
|
114565
114663
|
hasFilters: (0, vue.unref)(filters).length > 0,
|
|
114566
114664
|
sort: (0, vue.unref)(sort),
|
|
114567
114665
|
selectable: __props.selectable,
|
|
114666
|
+
draggable: __props.draggable,
|
|
114667
|
+
onReorder: _cache[7] || (_cache[7] = ($event) => emits("reorder", $event)),
|
|
114668
|
+
onSelectionIndicesUpdate,
|
|
114568
114669
|
selectableDisabled: __props.selectableDisabled,
|
|
114569
114670
|
totalSize: totalSize.value,
|
|
114570
114671
|
selectMode: __props.selectMode,
|
|
@@ -114663,13 +114764,14 @@
|
|
|
114663
114764
|
"hasFilters",
|
|
114664
114765
|
"sort",
|
|
114665
114766
|
"selectable",
|
|
114767
|
+
"draggable",
|
|
114666
114768
|
"selectableDisabled",
|
|
114667
114769
|
"totalSize",
|
|
114668
114770
|
"selectMode"
|
|
114669
114771
|
]);
|
|
114670
114772
|
};
|
|
114671
114773
|
}
|
|
114672
|
-
}), [["__scopeId", "data-v-
|
|
114774
|
+
}), [["__scopeId", "data-v-e5a8eec2"]]);
|
|
114673
114775
|
//#endregion
|
|
114674
114776
|
//#region src/components/utils/BmsCocarde.vue
|
|
114675
114777
|
var BmsCocarde_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ (0, vue.defineComponent)({
|