@stsdti/funky-ui-kit 1.8.9 → 1.8.10
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/funky-ui-kit.css +1 -1
- package/dist/funky-ui-kit.esm.js +1055 -968
- package/dist/funky-ui-kit.esm.js.map +1 -1
- package/package.json +1 -1
- package/web-types.json +44 -515
package/dist/funky-ui-kit.esm.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as Vue from "vue";
|
|
2
|
-
import { Fragment, Teleport, Transition, TransitionGroup, computed, createApp, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createTextVNode, createVNode, defineComponent, getCurrentInstance, guardReactiveProps, h, inject, isReactive, isRef, isVNode, markRaw, mergeDefaults, mergeModels, mergeProps, nextTick, normalizeClass, normalizeProps, normalizeStyle, onBeforeUnmount, onBeforeUpdate, onMounted, onUnmounted, openBlock, provide, reactive, readonly, ref, render, renderList, renderSlot, resolveComponent, resolveDirective, resolveDynamicComponent, shallowRef, toDisplayString, toRef, toValue, unref, useAttrs, useModel, useSlots, useTemplateRef, vModelDynamic, vModelText, vShow, watch, watchEffect, withCtx, withDirectives, withKeys, withModifiers } from "vue";
|
|
2
|
+
import { Fragment, Teleport, Transition, TransitionGroup, computed, createApp, createBlock, createCommentVNode, createElementBlock, createElementVNode, createPropsRestProxy, createSlots, createTextVNode, createVNode, defineComponent, getCurrentInstance, guardReactiveProps, h, inject, isReactive, isRef, isVNode, markRaw, mergeDefaults, mergeModels, mergeProps, nextTick, normalizeClass, normalizeProps, normalizeStyle, onBeforeUnmount, onBeforeUpdate, onMounted, onUnmounted, openBlock, provide, reactive, readonly, ref, render, renderList, renderSlot, resolveComponent, resolveDirective, resolveDynamicComponent, shallowRef, toDisplayString, toRef, toValue, unref, useAttrs, useModel, useSlots, useTemplateRef, vModelDynamic, vModelText, vShow, watch, watchEffect, withCtx, withDirectives, withKeys, withModifiers } from "vue";
|
|
3
3
|
import draggable from "vuedraggable";
|
|
4
4
|
//#region \0rolldown/runtime.js
|
|
5
5
|
var __create = Object.create;
|
|
@@ -16226,7 +16226,7 @@ var deepHas = (obj, p) => {
|
|
|
16226
16226
|
let parent = (0, import_property_expr.getter)((0, import_property_expr.join)(path), true)(obj);
|
|
16227
16227
|
return !!(parent && last in parent);
|
|
16228
16228
|
};
|
|
16229
|
-
var isObject$
|
|
16229
|
+
var isObject$16 = (obj) => Object.prototype.toString.call(obj) === "[object Object]";
|
|
16230
16230
|
function unknown(ctx, value) {
|
|
16231
16231
|
let known = Object.keys(ctx.fields);
|
|
16232
16232
|
return Object.keys(value).filter((key) => known.indexOf(key) === -1);
|
|
@@ -16240,7 +16240,7 @@ var ObjectSchema = class extends Schema {
|
|
|
16240
16240
|
super({
|
|
16241
16241
|
type: "object",
|
|
16242
16242
|
check(value) {
|
|
16243
|
-
return isObject$
|
|
16243
|
+
return isObject$16(value) || typeof value === "function";
|
|
16244
16244
|
}
|
|
16245
16245
|
});
|
|
16246
16246
|
this.fields = Object.create(null);
|
|
@@ -16299,7 +16299,7 @@ var ObjectSchema = class extends Schema {
|
|
|
16299
16299
|
options.__validating = true;
|
|
16300
16300
|
options.originalValue = originalValue;
|
|
16301
16301
|
super._validate(_value, options, panic, (objectErrors, value) => {
|
|
16302
|
-
if (!recursive || !isObject$
|
|
16302
|
+
if (!recursive || !isObject$16(value)) {
|
|
16303
16303
|
next(objectErrors, value);
|
|
16304
16304
|
return;
|
|
16305
16305
|
}
|
|
@@ -18850,12 +18850,12 @@ var _sfc_main$33 = {
|
|
|
18850
18850
|
//#endregion
|
|
18851
18851
|
//#region src/components/small/app-breadcrumb/AppBreadcrumbs.vue
|
|
18852
18852
|
var _hoisted_1$83 = { class: "breadcrumb" };
|
|
18853
|
-
var _hoisted_2$
|
|
18853
|
+
var _hoisted_2$59 = {
|
|
18854
18854
|
key: 0,
|
|
18855
18855
|
class: "breadcrumb-elements-item"
|
|
18856
18856
|
};
|
|
18857
|
-
var _hoisted_3$
|
|
18858
|
-
var _hoisted_4$
|
|
18857
|
+
var _hoisted_3$42 = { class: "flex-center-vertical" };
|
|
18858
|
+
var _hoisted_4$33 = {
|
|
18859
18859
|
key: 0,
|
|
18860
18860
|
class: "pl-5 pr-5"
|
|
18861
18861
|
};
|
|
@@ -18880,14 +18880,14 @@ var _sfc_main$2 = {
|
|
|
18880
18880
|
};
|
|
18881
18881
|
return (_ctx, _cache) => {
|
|
18882
18882
|
const _component_router_link = resolveComponent("router-link");
|
|
18883
|
-
return openBlock(), createElementBlock("div", _hoisted_1$83, [__props.isLoading ? (openBlock(), createElementBlock("div", _hoisted_2$
|
|
18883
|
+
return openBlock(), createElementBlock("div", _hoisted_1$83, [__props.isLoading ? (openBlock(), createElementBlock("div", _hoisted_2$59, [createVNode(_sfc_main$33, { style: {
|
|
18884
18884
|
"width": "200px",
|
|
18885
18885
|
"height": "20px"
|
|
18886
18886
|
} })])) : (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList(__props.value, (breadcrumb, index) => {
|
|
18887
|
-
return openBlock(), createElementBlock("div", _hoisted_3$
|
|
18887
|
+
return openBlock(), createElementBlock("div", _hoisted_3$42, [renderSlot(_ctx.$slots, "breadcrumb", {
|
|
18888
18888
|
index,
|
|
18889
18889
|
item: breadcrumb
|
|
18890
|
-
}, () => [index !== 0 ? (openBlock(), createElementBlock("span", _hoisted_4$
|
|
18890
|
+
}, () => [index !== 0 ? (openBlock(), createElementBlock("span", _hoisted_4$33, "/")) : createCommentVNode("", true), (openBlock(), createBlock(_component_router_link, {
|
|
18891
18891
|
key: index,
|
|
18892
18892
|
class: normalizeClass(getBreadcrumbClass(breadcrumb)),
|
|
18893
18893
|
to: breadcrumb.route ? breadcrumb.route : "/"
|
|
@@ -21857,20 +21857,20 @@ var booleanProps = [
|
|
|
21857
21857
|
"touch",
|
|
21858
21858
|
"touchHold"
|
|
21859
21859
|
];
|
|
21860
|
-
var props = {};
|
|
21860
|
+
var props$2 = {};
|
|
21861
21861
|
Object.keys(tippy.defaultProps).forEach((prop) => {
|
|
21862
|
-
if (booleanProps.includes(prop)) props[prop] = {
|
|
21862
|
+
if (booleanProps.includes(prop)) props$2[prop] = {
|
|
21863
21863
|
type: Boolean,
|
|
21864
21864
|
default: function() {
|
|
21865
21865
|
return tippy.defaultProps[prop];
|
|
21866
21866
|
}
|
|
21867
21867
|
};
|
|
21868
|
-
else props[prop] = { default: function() {
|
|
21868
|
+
else props$2[prop] = { default: function() {
|
|
21869
21869
|
return tippy.defaultProps[prop];
|
|
21870
21870
|
} };
|
|
21871
21871
|
});
|
|
21872
21872
|
var TippySingleton = defineComponent({
|
|
21873
|
-
props,
|
|
21873
|
+
props: props$2,
|
|
21874
21874
|
setup(props) {
|
|
21875
21875
|
const instances = ref([]);
|
|
21876
21876
|
const { singleton } = useSingleton(instances, props);
|
|
@@ -22295,15 +22295,15 @@ var _plugin_vue_export_helper_default = (sfc, props) => {
|
|
|
22295
22295
|
//#endregion
|
|
22296
22296
|
//#region src/components/small/base/app-form-element/AppFormElement.vue
|
|
22297
22297
|
var _hoisted_1$82 = ["name"];
|
|
22298
|
-
var _hoisted_2$
|
|
22298
|
+
var _hoisted_2$58 = {
|
|
22299
22299
|
key: 0,
|
|
22300
22300
|
class: "text-danger"
|
|
22301
22301
|
};
|
|
22302
|
-
var _hoisted_3$
|
|
22302
|
+
var _hoisted_3$41 = {
|
|
22303
22303
|
key: 0,
|
|
22304
22304
|
class: "help-block text-danger"
|
|
22305
22305
|
};
|
|
22306
|
-
var _hoisted_4$
|
|
22306
|
+
var _hoisted_4$32 = {
|
|
22307
22307
|
key: 1,
|
|
22308
22308
|
class: "help-block"
|
|
22309
22309
|
};
|
|
@@ -22377,14 +22377,14 @@ var AppFormElement_default = /*#__PURE__*/ _plugin_vue_export_helper_default({
|
|
|
22377
22377
|
key: 0,
|
|
22378
22378
|
class: "mb-0",
|
|
22379
22379
|
style: normalizeStyle(labelStyle.value)
|
|
22380
|
-
}, [createTextVNode(toDisplayString(unref(computedLabel)) + " ", 1), _ctx.isRequired ? withDirectives((openBlock(), createElementBlock("span", _hoisted_2$
|
|
22380
|
+
}, [createTextVNode(toDisplayString(unref(computedLabel)) + " ", 1), _ctx.isRequired ? withDirectives((openBlock(), createElementBlock("span", _hoisted_2$58, [..._cache[0] || (_cache[0] = [createTextVNode(" * ", -1)])])), [[_directive_tippy, "Camp obligatoriu"]]) : createCommentVNode("", true)], 4)) : createCommentVNode("", true), createElementVNode("div", { style: normalizeStyle(contentStyle.value) }, [
|
|
22381
22381
|
createElementVNode("div", { class: normalizeClass(contentContainerClass.value) }, [
|
|
22382
22382
|
renderSlot(_ctx.$slots, "beforeContent", {}, void 0, true),
|
|
22383
22383
|
createElementVNode("div", { class: normalizeClass(contentSlotClass.value) }, [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 2),
|
|
22384
22384
|
renderSlot(_ctx.$slots, "afterContent", {}, void 0, true)
|
|
22385
22385
|
], 2),
|
|
22386
|
-
currentError.value ? (openBlock(), createElementBlock("span", _hoisted_3$
|
|
22387
|
-
_ctx.infoText ? (openBlock(), createElementBlock("span", _hoisted_4$
|
|
22386
|
+
currentError.value ? (openBlock(), createElementBlock("span", _hoisted_3$41, toDisplayString(currentError.value), 1)) : createCommentVNode("", true),
|
|
22387
|
+
_ctx.infoText ? (openBlock(), createElementBlock("span", _hoisted_4$32, toDisplayString(_ctx.infoText), 1)) : createCommentVNode("", true),
|
|
22388
22388
|
renderSlot(_ctx.$slots, "help-block", {}, void 0, true)
|
|
22389
22389
|
], 4)], 10, _hoisted_1$82)) : createCommentVNode("", true);
|
|
22390
22390
|
};
|
|
@@ -27646,10 +27646,10 @@ var booleanOption = {
|
|
|
27646
27646
|
}
|
|
27647
27647
|
};
|
|
27648
27648
|
//#endregion
|
|
27649
|
-
//#region src/components/small/app-
|
|
27649
|
+
//#region src/components/small/app-day-of-week/AppDayOfWeek.vue
|
|
27650
27650
|
var _hoisted_1$81 = { class: "badge bg-secondary day-of-week-badge" };
|
|
27651
27651
|
var _sfc_main$8 = {
|
|
27652
|
-
__name: "
|
|
27652
|
+
__name: "AppDayOfWeek",
|
|
27653
27653
|
props: {
|
|
27654
27654
|
value: { type: Date },
|
|
27655
27655
|
language: {
|
|
@@ -27673,41 +27673,15 @@ var _sfc_main$8 = {
|
|
|
27673
27673
|
}
|
|
27674
27674
|
};
|
|
27675
27675
|
//#endregion
|
|
27676
|
-
//#region src/components/small/app-date
|
|
27677
|
-
var appDatePickerProps_default = {
|
|
27678
|
-
showEasyButtons: Boolean,
|
|
27679
|
-
showDayOfWeek: { default: true },
|
|
27680
|
-
currentLanguage: {
|
|
27681
|
-
type: String,
|
|
27682
|
-
default: Constants_default.LANGUAGE_RO
|
|
27683
|
-
},
|
|
27684
|
-
currentFormat: {
|
|
27685
|
-
type: String,
|
|
27686
|
-
default: "dd.MM.yyyy"
|
|
27687
|
-
},
|
|
27688
|
-
disabledDates: {},
|
|
27689
|
-
isTypeable: {
|
|
27690
|
-
type: Boolean,
|
|
27691
|
-
default: true
|
|
27692
|
-
},
|
|
27693
|
-
yearRange: {
|
|
27694
|
-
type: Array,
|
|
27695
|
-
validator: (value) => {
|
|
27696
|
-
return Array.isArray(value) && value.length === 2 && (typeof value[0] === "number" || value[0] === null) && (typeof value[1] === "number" || value[1] === null);
|
|
27697
|
-
}
|
|
27698
|
-
}
|
|
27699
|
-
};
|
|
27700
|
-
//#endregion
|
|
27701
|
-
//#region src/components/small/app-date-time-picker/AppDateEasyButtons.vue
|
|
27676
|
+
//#region src/components/small/app-date/AppDateEasyButtons.vue
|
|
27702
27677
|
var _hoisted_1$80 = { class: "" };
|
|
27703
|
-
var CODE_SUB_DAY
|
|
27704
|
-
var CODE_TODAY
|
|
27705
|
-
var CODE_ADD_DAY
|
|
27706
|
-
var _sfc_main$
|
|
27678
|
+
var CODE_SUB_DAY = "subday";
|
|
27679
|
+
var CODE_TODAY = "today";
|
|
27680
|
+
var CODE_ADD_DAY = "addday";
|
|
27681
|
+
var _sfc_main$115 = {
|
|
27707
27682
|
__name: "AppDateEasyButtons",
|
|
27708
27683
|
props: {
|
|
27709
27684
|
modelValue: Date,
|
|
27710
|
-
...appDatePickerProps_default,
|
|
27711
27685
|
...appFormElementProps_default
|
|
27712
27686
|
},
|
|
27713
27687
|
emits: ["update:modelValue"],
|
|
@@ -27717,17 +27691,17 @@ var _sfc_main$116 = {
|
|
|
27717
27691
|
const buttons = ref([
|
|
27718
27692
|
{
|
|
27719
27693
|
value: "-1",
|
|
27720
|
-
code: CODE_SUB_DAY
|
|
27694
|
+
code: CODE_SUB_DAY,
|
|
27721
27695
|
class: "btn-light"
|
|
27722
27696
|
},
|
|
27723
27697
|
{
|
|
27724
27698
|
value: "Astazi",
|
|
27725
|
-
code: CODE_TODAY
|
|
27699
|
+
code: CODE_TODAY,
|
|
27726
27700
|
class: "btn-light"
|
|
27727
27701
|
},
|
|
27728
27702
|
{
|
|
27729
27703
|
value: "+1",
|
|
27730
|
-
code: CODE_ADD_DAY
|
|
27704
|
+
code: CODE_ADD_DAY,
|
|
27731
27705
|
class: "btn-light"
|
|
27732
27706
|
}
|
|
27733
27707
|
]);
|
|
@@ -27741,13 +27715,13 @@ var _sfc_main$116 = {
|
|
|
27741
27715
|
});
|
|
27742
27716
|
const onEasyButtonsInput = (value) => {
|
|
27743
27717
|
switch (value.code) {
|
|
27744
|
-
case CODE_ADD_DAY
|
|
27718
|
+
case CODE_ADD_DAY:
|
|
27745
27719
|
onAddDay();
|
|
27746
27720
|
break;
|
|
27747
|
-
case CODE_TODAY
|
|
27721
|
+
case CODE_TODAY:
|
|
27748
27722
|
onSelectToday();
|
|
27749
27723
|
break;
|
|
27750
|
-
case CODE_SUB_DAY
|
|
27724
|
+
case CODE_SUB_DAY:
|
|
27751
27725
|
onSubtractDay();
|
|
27752
27726
|
break;
|
|
27753
27727
|
}
|
|
@@ -27829,7 +27803,7 @@ function toValue$2(r) {
|
|
|
27829
27803
|
var isClient$1 = typeof window !== "undefined" && typeof document !== "undefined";
|
|
27830
27804
|
typeof WorkerGlobalScope !== "undefined" && globalThis instanceof WorkerGlobalScope;
|
|
27831
27805
|
var toString$2 = Object.prototype.toString;
|
|
27832
|
-
var isObject$
|
|
27806
|
+
var isObject$14 = (val) => toString$2.call(val) === "[object Object]";
|
|
27833
27807
|
var noop$2 = () => {};
|
|
27834
27808
|
var isIOS$1 = /* @__PURE__ */ getIsIOS$1();
|
|
27835
27809
|
function getIsIOS$1() {
|
|
@@ -28002,7 +27976,7 @@ function useEventListener$1(...args) {
|
|
|
28002
27976
|
const stopWatch = (0, lib_exports$1.watch)(() => [unrefElement$1(target), toValue$2(options)], ([el, options2]) => {
|
|
28003
27977
|
cleanup();
|
|
28004
27978
|
if (!el) return;
|
|
28005
|
-
const optionsClone = isObject$
|
|
27979
|
+
const optionsClone = isObject$14(options2) ? { ...options2 } : options2;
|
|
28006
27980
|
cleanups.push(...events.flatMap((event) => {
|
|
28007
27981
|
return listeners.map((listener) => register(el, event, listener, optionsClone));
|
|
28008
27982
|
}));
|
|
@@ -28294,7 +28268,7 @@ function useClickOutside(options = {}) {
|
|
|
28294
28268
|
//#endregion
|
|
28295
28269
|
//#region src/components/small/app-date/AppDate.vue
|
|
28296
28270
|
var _hoisted_1$79 = ["onClick"];
|
|
28297
|
-
var _hoisted_2$
|
|
28271
|
+
var _hoisted_2$57 = [
|
|
28298
28272
|
"value",
|
|
28299
28273
|
"disabled",
|
|
28300
28274
|
"placeholder",
|
|
@@ -28305,14 +28279,14 @@ var _hoisted_2$59 = [
|
|
|
28305
28279
|
"onKeypress",
|
|
28306
28280
|
"onPaste"
|
|
28307
28281
|
];
|
|
28308
|
-
var _hoisted_3$
|
|
28309
|
-
var _hoisted_4$
|
|
28282
|
+
var _hoisted_3$40 = { key: 0 };
|
|
28283
|
+
var _hoisted_4$31 = {
|
|
28310
28284
|
key: 1,
|
|
28311
28285
|
class: "app-form-element-placeholder"
|
|
28312
28286
|
};
|
|
28313
28287
|
var _hoisted_5$24 = { class: "mr-10" };
|
|
28314
|
-
var _hoisted_6$
|
|
28315
|
-
var _hoisted_7$
|
|
28288
|
+
var _hoisted_6$14 = ["onClick"];
|
|
28289
|
+
var _hoisted_7$7 = {
|
|
28316
28290
|
key: 0,
|
|
28317
28291
|
class: "ml-10"
|
|
28318
28292
|
};
|
|
@@ -28443,12 +28417,12 @@ var AppDate_default = /*#__PURE__*/ _plugin_vue_export_helper_default({
|
|
|
28443
28417
|
onKeydown: [withKeys(onEnter, ["enter"]), withKeys(onTab, ["tab"])],
|
|
28444
28418
|
onKeypress,
|
|
28445
28419
|
onPaste
|
|
28446
|
-
}, null, 40, _hoisted_2$
|
|
28420
|
+
}, null, 40, _hoisted_2$57)) : (openBlock(), createElementBlock(Fragment, { key: 2 }, [modelValue.value ? (openBlock(), createElementBlock("span", _hoisted_3$40, toDisplayString(value), 1)) : (openBlock(), createElementBlock("span", _hoisted_4$31, toDisplayString(unref(computedPlaceHolder)), 1))], 64))
|
|
28447
28421
|
], 8, _hoisted_1$79)]),
|
|
28448
28422
|
"clear-icon": withCtx(({ clear }) => [createElementVNode("div", _hoisted_5$24, [withDirectives(createElementVNode("i", {
|
|
28449
28423
|
class: "ph-x-circle app-cross-icon",
|
|
28450
28424
|
onClick: withModifiers(clear, ["stop"])
|
|
28451
|
-
}, null, 8, _hoisted_6$
|
|
28425
|
+
}, null, 8, _hoisted_6$14), [[_directive_tippy, "Sterge"]])])]),
|
|
28452
28426
|
_: 2
|
|
28453
28427
|
}, [renderList(forwardedSlots.value, (slot) => {
|
|
28454
28428
|
return {
|
|
@@ -28467,7 +28441,7 @@ var AppDate_default = /*#__PURE__*/ _plugin_vue_export_helper_default({
|
|
|
28467
28441
|
"weekStart",
|
|
28468
28442
|
"locale",
|
|
28469
28443
|
"teleport"
|
|
28470
|
-
]), __props.showEasyButtons && !_ctx.disabled ? (openBlock(), createElementBlock("div", _hoisted_7$
|
|
28444
|
+
]), __props.showEasyButtons && !_ctx.disabled ? (openBlock(), createElementBlock("div", _hoisted_7$7, [createVNode(_sfc_main$115, {
|
|
28471
28445
|
modelValue: modelValue.value,
|
|
28472
28446
|
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => modelValue.value = $event)
|
|
28473
28447
|
}, null, 8, ["modelValue"])])) : createCommentVNode("", true)]),
|
|
@@ -28475,21 +28449,42 @@ var AppDate_default = /*#__PURE__*/ _plugin_vue_export_helper_default({
|
|
|
28475
28449
|
}, 16);
|
|
28476
28450
|
};
|
|
28477
28451
|
}
|
|
28478
|
-
}, [["__scopeId", "data-v-
|
|
28479
|
-
|
|
28480
|
-
|
|
28481
|
-
|
|
28482
|
-
|
|
28452
|
+
}, [["__scopeId", "data-v-f92c063d"]]);
|
|
28453
|
+
//#endregion
|
|
28454
|
+
//#region src/components/small/app-date/AppDate.js
|
|
28455
|
+
var props$1 = {
|
|
28456
|
+
showEasyButtons: Boolean,
|
|
28457
|
+
showDayOfWeek: { default: true },
|
|
28458
|
+
currentLanguage: {
|
|
28459
|
+
type: String,
|
|
28460
|
+
default: Constants_default.LANGUAGE_RO
|
|
28461
|
+
},
|
|
28462
|
+
currentFormat: {
|
|
28463
|
+
type: String,
|
|
28464
|
+
default: "dd.MM.yyyy"
|
|
28465
|
+
},
|
|
28466
|
+
disabledDates: {},
|
|
28467
|
+
isTypeable: {
|
|
28468
|
+
type: Boolean,
|
|
28469
|
+
default: true
|
|
28470
|
+
},
|
|
28471
|
+
yearRange: {
|
|
28472
|
+
type: Array,
|
|
28473
|
+
validator: (value) => {
|
|
28474
|
+
return Array.isArray(value) && value.length === 2 && (typeof value[0] === "number" || value[0] === null) && (typeof value[1] === "number" || value[1] === null);
|
|
28475
|
+
}
|
|
28476
|
+
}
|
|
28477
|
+
};
|
|
28483
28478
|
//#endregion
|
|
28484
|
-
//#region src/components/small/app-date
|
|
28485
|
-
var _hoisted_1$
|
|
28486
|
-
var _hoisted_2$
|
|
28487
|
-
var _hoisted_3$
|
|
28479
|
+
//#region src/components/small/app-date/AppDateRange.vue
|
|
28480
|
+
var _hoisted_1$78 = { class: "w-100" };
|
|
28481
|
+
var _hoisted_2$56 = { class: "flex-center-vertical w-100 gap-1" };
|
|
28482
|
+
var _hoisted_3$39 = {
|
|
28488
28483
|
key: 0,
|
|
28489
28484
|
class: "flex-center-vertical mt-1"
|
|
28490
28485
|
};
|
|
28491
28486
|
var _sfc_main$9 = {
|
|
28492
|
-
__name: "
|
|
28487
|
+
__name: "AppDateRange",
|
|
28493
28488
|
props: /*@__PURE__*/ mergeModels({
|
|
28494
28489
|
placeholderLeft: {
|
|
28495
28490
|
type: String,
|
|
@@ -28501,7 +28496,7 @@ var _sfc_main$9 = {
|
|
|
28501
28496
|
},
|
|
28502
28497
|
startName: { type: String },
|
|
28503
28498
|
endName: { type: String },
|
|
28504
|
-
...
|
|
28499
|
+
...props$1,
|
|
28505
28500
|
...appFormElementProps_default
|
|
28506
28501
|
}, {
|
|
28507
28502
|
"start": { type: Date },
|
|
@@ -28550,8 +28545,8 @@ var _sfc_main$9 = {
|
|
|
28550
28545
|
const _component_app_date = resolveComponent("app-date");
|
|
28551
28546
|
const _component_app_button_group = resolveComponent("app-button-group");
|
|
28552
28547
|
return openBlock(), createBlock(AppFormElement_default, normalizeProps(guardReactiveProps(unref(formElementProps))), {
|
|
28553
|
-
default: withCtx(() => [createElementVNode("div", _hoisted_1$
|
|
28554
|
-
createElementVNode("div", _hoisted_2$
|
|
28548
|
+
default: withCtx(() => [createElementVNode("div", _hoisted_1$78, [
|
|
28549
|
+
createElementVNode("div", _hoisted_2$56, [createVNode(_component_app_date, mergeProps({
|
|
28555
28550
|
modelValue: modelValueStart.value,
|
|
28556
28551
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => modelValueStart.value = $event),
|
|
28557
28552
|
class: "app-form-group-element flex-1",
|
|
@@ -28574,7 +28569,7 @@ var _sfc_main$9 = {
|
|
|
28574
28569
|
"placeholder",
|
|
28575
28570
|
"name"
|
|
28576
28571
|
])]),
|
|
28577
|
-
_ctx.showEasyButtons ? (openBlock(), createElementBlock("div", _hoisted_3$
|
|
28572
|
+
_ctx.showEasyButtons ? (openBlock(), createElementBlock("div", _hoisted_3$39, [createVNode(_component_app_button_group, {
|
|
28578
28573
|
value: unref(easyButtonsList),
|
|
28579
28574
|
onClick: onEasyButtonClick
|
|
28580
28575
|
}, null, 8, ["value"])])) : createCommentVNode("", true),
|
|
@@ -28587,9 +28582,9 @@ var _sfc_main$9 = {
|
|
|
28587
28582
|
};
|
|
28588
28583
|
//#endregion
|
|
28589
28584
|
//#region src/components/small/app-card/AppCard.vue
|
|
28590
|
-
var _hoisted_1$
|
|
28591
|
-
var _hoisted_2$
|
|
28592
|
-
var _hoisted_3$
|
|
28585
|
+
var _hoisted_1$77 = { class: "d-flex align-items-center" };
|
|
28586
|
+
var _hoisted_2$55 = { class: "mb-0 fw-normal" };
|
|
28587
|
+
var _hoisted_3$38 = { class: "ms-auto" };
|
|
28593
28588
|
var _sfc_main$5 = {
|
|
28594
28589
|
__name: "AppCard",
|
|
28595
28590
|
props: {
|
|
@@ -28680,10 +28675,10 @@ var _sfc_main$5 = {
|
|
|
28680
28675
|
key: 0,
|
|
28681
28676
|
class: normalizeClass([headerClasses.value]),
|
|
28682
28677
|
onClick: collapseBody
|
|
28683
|
-
}, [createElementVNode("div", _hoisted_1$
|
|
28678
|
+
}, [createElementVNode("div", _hoisted_1$77, [createElementVNode("div", _hoisted_2$55, [renderSlot(_ctx.$slots, "title"), createElementVNode("div", {
|
|
28684
28679
|
class: "header-elements-toggle d-none",
|
|
28685
28680
|
onClick: toggleVisibleHeadingElement
|
|
28686
|
-
}, [..._cache[0] || (_cache[0] = [createElementVNode("i", { class: "icon-more" }, null, -1)])])]), createElementVNode("div", _hoisted_3$
|
|
28681
|
+
}, [..._cache[0] || (_cache[0] = [createElementVNode("i", { class: "icon-more" }, null, -1)])])]), createElementVNode("div", _hoisted_3$38, [createElementVNode("div", { class: normalizeClass([headerElementsClasses.value]) }, [renderSlot(_ctx.$slots, "heading-elements"), __props.canCollapse ? (openBlock(), createElementBlock("i", {
|
|
28687
28682
|
key: 0,
|
|
28688
28683
|
class: normalizeClass(expandArrowClass.value)
|
|
28689
28684
|
}, null, 2)) : createCommentVNode("", true)], 2)])])], 2)) : createCommentVNode("", true), createElementVNode("div", {
|
|
@@ -28695,7 +28690,7 @@ var _sfc_main$5 = {
|
|
|
28695
28690
|
};
|
|
28696
28691
|
//#endregion
|
|
28697
28692
|
//#region src/components/small/app-checkbox/AppCheckbox.vue
|
|
28698
|
-
var _hoisted_1$
|
|
28693
|
+
var _hoisted_1$76 = ["checked"];
|
|
28699
28694
|
var _sfc_main$7 = {
|
|
28700
28695
|
__name: "AppCheckbox",
|
|
28701
28696
|
props: {
|
|
@@ -28738,7 +28733,7 @@ var _sfc_main$7 = {
|
|
|
28738
28733
|
checked: __props.modelValue,
|
|
28739
28734
|
class: checkedClass.value,
|
|
28740
28735
|
type: "checkbox"
|
|
28741
|
-
}, getDisabled.value), null, 16, _hoisted_1$
|
|
28736
|
+
}, getDisabled.value), null, 16, _hoisted_1$76), renderSlot(_ctx.$slots, "afterCheckbox")], 2)]),
|
|
28742
28737
|
_: 3
|
|
28743
28738
|
}, 16, ["label-style"]);
|
|
28744
28739
|
};
|
|
@@ -30242,435 +30237,414 @@ var _sfc_main$112 = {
|
|
|
30242
30237
|
}
|
|
30243
30238
|
};
|
|
30244
30239
|
//#endregion
|
|
30245
|
-
//#region src/components/small/app-
|
|
30246
|
-
var _hoisted_1$
|
|
30247
|
-
var
|
|
30248
|
-
var
|
|
30249
|
-
|
|
30250
|
-
|
|
30251
|
-
|
|
30252
|
-
|
|
30253
|
-
|
|
30254
|
-
|
|
30255
|
-
}
|
|
30256
|
-
|
|
30257
|
-
|
|
30258
|
-
|
|
30259
|
-
props: /*@__PURE__*/ mergeModels({
|
|
30260
|
-
options: {
|
|
30261
|
-
type: Array,
|
|
30262
|
-
required: true
|
|
30263
|
-
},
|
|
30264
|
-
displayBy: {
|
|
30265
|
-
type: [String],
|
|
30266
|
-
default: "name"
|
|
30267
|
-
},
|
|
30268
|
-
openDirection: {
|
|
30269
|
-
type: String,
|
|
30270
|
-
default: "bottom"
|
|
30271
|
-
},
|
|
30272
|
-
columns: {
|
|
30273
|
-
type: Number,
|
|
30274
|
-
default: 4
|
|
30275
|
-
},
|
|
30276
|
-
width: {
|
|
30277
|
-
type: Number,
|
|
30278
|
-
default: 200
|
|
30279
|
-
},
|
|
30280
|
-
height: {
|
|
30281
|
-
type: Number,
|
|
30282
|
-
default: 500
|
|
30283
|
-
},
|
|
30284
|
-
showRemoveButtons: {
|
|
30285
|
-
type: Boolean,
|
|
30286
|
-
default: true
|
|
30287
|
-
},
|
|
30288
|
-
isTypeable: {
|
|
30289
|
-
type: Boolean,
|
|
30290
|
-
default: true
|
|
30240
|
+
//#region src/components/small/app-time/AppTimeEasyButtons.vue
|
|
30241
|
+
var _hoisted_1$75 = { class: "" };
|
|
30242
|
+
var CODE_SUB_HOUR = "subhour";
|
|
30243
|
+
var CODE_NOW = "now";
|
|
30244
|
+
var CODE_ADD_HOUR = "addhour";
|
|
30245
|
+
var _sfc_main$111 = {
|
|
30246
|
+
__name: "AppTimeEasyButtons",
|
|
30247
|
+
props: /*@__PURE__*/ mergeModels({ format: {
|
|
30248
|
+
type: String,
|
|
30249
|
+
default: "hh:mm"
|
|
30250
|
+
} }, {
|
|
30251
|
+
"modelValue": {
|
|
30252
|
+
type: [String, null],
|
|
30253
|
+
default: null
|
|
30291
30254
|
},
|
|
30292
|
-
search: { type: Function },
|
|
30293
|
-
isItemSelected: {},
|
|
30294
|
-
...appFormElementProps_default
|
|
30295
|
-
}, {
|
|
30296
|
-
"modelValue": {},
|
|
30297
30255
|
"modelModifiers": {}
|
|
30298
30256
|
}),
|
|
30299
|
-
emits:
|
|
30300
|
-
setup(__props
|
|
30301
|
-
const modelValue = useModel(__props, "modelValue");
|
|
30257
|
+
emits: ["update:modelValue"],
|
|
30258
|
+
setup(__props) {
|
|
30302
30259
|
const props = __props;
|
|
30303
|
-
const
|
|
30304
|
-
|
|
30305
|
-
const showGrid = ref(false);
|
|
30306
|
-
const input = ref(null);
|
|
30307
|
-
const grid = ref(null);
|
|
30308
|
-
const searchValue = ref(null);
|
|
30309
|
-
const searchField = ref(null);
|
|
30310
|
-
const filteredOptions = ref((0, import_lodash.cloneDeep)(props.options));
|
|
30311
|
-
const { formElementProps } = useAppFormElement(props);
|
|
30312
|
-
const heightComputed = computed(() => {
|
|
30313
|
-
const rows = Math.ceil(filteredOptions.value.length / props.columns);
|
|
30314
|
-
return (0, import_lodash.min)([props.width / props.columns * rows, props.height]);
|
|
30315
|
-
});
|
|
30316
|
-
computed(() => {
|
|
30317
|
-
return {
|
|
30318
|
-
width: props.width + "px",
|
|
30319
|
-
height: heightComputed.value + "px"
|
|
30320
|
-
};
|
|
30321
|
-
});
|
|
30322
|
-
const cellStyle = computed(() => {
|
|
30323
|
-
const width = props.width / props.columns;
|
|
30324
|
-
return {
|
|
30325
|
-
width: width + "px",
|
|
30326
|
-
height: width + "px"
|
|
30327
|
-
};
|
|
30328
|
-
});
|
|
30329
|
-
const open = () => {
|
|
30330
|
-
if (props.disabled) return;
|
|
30331
|
-
showGrid.value = true;
|
|
30332
|
-
if (props.isTypeable) nextTick(() => searchField.value.focus());
|
|
30333
|
-
};
|
|
30334
|
-
const close = () => {
|
|
30335
|
-
showGrid.value = false;
|
|
30336
|
-
emits("close");
|
|
30337
|
-
};
|
|
30338
|
-
const onSelectValue = (element, index) => {
|
|
30339
|
-
modelValue.value = element;
|
|
30340
|
-
close();
|
|
30341
|
-
};
|
|
30342
|
-
const getDisplayValue = (value) => {
|
|
30343
|
-
if ((0, import_lodash.isObject)(value)) return (0, import_lodash.get)(value, props.displayBy, null);
|
|
30344
|
-
return value;
|
|
30345
|
-
};
|
|
30346
|
-
const getActiveClass = (element) => {
|
|
30347
|
-
return { active: (0, import_lodash.isEqual)(element, modelValue.value) };
|
|
30348
|
-
};
|
|
30349
|
-
const onDeleteInput = () => {
|
|
30350
|
-
modelValue.value = null;
|
|
30351
|
-
};
|
|
30352
|
-
useClickOutside({
|
|
30353
|
-
target: grid,
|
|
30354
|
-
handler: () => {
|
|
30355
|
-
if (!showGrid.value) return;
|
|
30356
|
-
close();
|
|
30357
|
-
},
|
|
30358
|
-
isOpen: showGrid,
|
|
30359
|
-
ignore: [input, searchField]
|
|
30360
|
-
});
|
|
30361
|
-
const inputClass = computed(() => ({
|
|
30362
|
-
"w-100 form-control": true,
|
|
30363
|
-
disabled: props.disabled
|
|
30364
|
-
}));
|
|
30365
|
-
const getFilteredOptions = async (search = "") => {
|
|
30366
|
-
if (props.search) return await props.search(props.options, search);
|
|
30367
|
-
if (!search || search.length === 0) return props.options;
|
|
30368
|
-
return props.options.filter((item) => {
|
|
30369
|
-
let itemName = (0, import_lodash.isObject)(item) ? (0, import_lodash.get)(item, props.displayBy, "") : item;
|
|
30370
|
-
itemName = String(itemName).toLowerCase();
|
|
30371
|
-
return itemName.includes(search.toLowerCase());
|
|
30372
|
-
});
|
|
30373
|
-
};
|
|
30374
|
-
const onSearch = async (text) => {
|
|
30375
|
-
filteredOptions.value = await getFilteredOptions(text);
|
|
30376
|
-
emits("searchValue", text);
|
|
30377
|
-
searchValue.value = text;
|
|
30378
|
-
};
|
|
30379
|
-
const onKeyEnter = () => {
|
|
30380
|
-
modelValue.value = (0, import_lodash.head)(filteredOptions.value);
|
|
30381
|
-
close();
|
|
30382
|
-
};
|
|
30383
|
-
watch(searchValue, async (newValue) => {
|
|
30384
|
-
await onSearch(newValue);
|
|
30385
|
-
});
|
|
30386
|
-
watch(() => props.options, async (newValue) => {
|
|
30387
|
-
filteredOptions.value = newValue;
|
|
30388
|
-
});
|
|
30389
|
-
__expose({
|
|
30390
|
-
open,
|
|
30391
|
-
close,
|
|
30392
|
-
props
|
|
30393
|
-
});
|
|
30394
|
-
return (_ctx, _cache) => {
|
|
30395
|
-
const _directive_tippy = resolveDirective("tippy");
|
|
30396
|
-
return openBlock(), createBlock(AppFormElement_default, normalizeProps(guardReactiveProps(unref(formElementProps))), {
|
|
30397
|
-
default: withCtx(() => [createElementVNode("div", _hoisted_1$74, [createElementVNode("div", {
|
|
30398
|
-
ref_key: "input",
|
|
30399
|
-
ref: input,
|
|
30400
|
-
class: "d-flex"
|
|
30401
|
-
}, [
|
|
30402
|
-
renderSlot(_ctx.$slots, "icon", {}, void 0, true),
|
|
30403
|
-
__props.isTypeable && showGrid.value ? withDirectives((openBlock(), createElementBlock("input", {
|
|
30404
|
-
key: 0,
|
|
30405
|
-
ref_key: "searchField",
|
|
30406
|
-
ref: searchField,
|
|
30407
|
-
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => searchValue.value = $event),
|
|
30408
|
-
class: "mb-0 no-hover flex-1 form-control",
|
|
30409
|
-
placeholder: props.placeholder,
|
|
30410
|
-
onKeyup: withKeys(onKeyEnter, ["enter"])
|
|
30411
|
-
}, null, 40, _hoisted_2$55)), [[vModelText, searchValue.value]]) : (openBlock(), createElementBlock("div", {
|
|
30412
|
-
key: 1,
|
|
30413
|
-
class: normalizeClass(inputClass.value),
|
|
30414
|
-
onClick: withModifiers(open, ["stop"])
|
|
30415
|
-
}, [renderSlot(_ctx.$slots, "default", { item: modelValue.value }, () => [modelValue.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createTextVNode(toDisplayString(getDisplayValue(modelValue.value)), 1)], 64)) : (openBlock(), createElementBlock("span", _hoisted_3$38, toDisplayString(props.placeholder), 1))], true)], 2)),
|
|
30416
|
-
modelValue.value && __props.showRemoveButtons ? (openBlock(), createElementBlock("div", _hoisted_4$30, [withDirectives(createElementVNode("i", {
|
|
30417
|
-
class: "ph-x-circle app-cross-icon",
|
|
30418
|
-
onClick: withModifiers(onDeleteInput, ["stop"])
|
|
30419
|
-
}, null, 512), [[_directive_tippy, "Ștergeți opțiunile selectate"]])])) : createCommentVNode("", true)
|
|
30420
|
-
], 512), input.value ? (openBlock(), createBlock(_sfc_main$112, {
|
|
30421
|
-
key: 0,
|
|
30422
|
-
anchor: input.value,
|
|
30423
|
-
"use-teleport": true,
|
|
30424
|
-
"is-open": showGrid.value,
|
|
30425
|
-
width: props.width
|
|
30426
|
-
}, {
|
|
30427
|
-
default: withCtx(() => [withDirectives(createElementVNode("div", {
|
|
30428
|
-
ref_key: "grid",
|
|
30429
|
-
ref: grid,
|
|
30430
|
-
class: "app-grid-dropdown overflow-auto scrollbar-hidden"
|
|
30431
|
-
}, [(openBlock(true), createElementBlock(Fragment, null, renderList(filteredOptions.value, (element, index) => {
|
|
30432
|
-
return openBlock(), createElementBlock("div", {
|
|
30433
|
-
key: index,
|
|
30434
|
-
class: "cell",
|
|
30435
|
-
onClick: ($event) => onSelectValue(element, index)
|
|
30436
|
-
}, [createElementVNode("span", {
|
|
30437
|
-
class: normalizeClass(getActiveClass(element)),
|
|
30438
|
-
style: normalizeStyle(cellStyle.value)
|
|
30439
|
-
}, [renderSlot(_ctx.$slots, "default", { item: element }, () => [createTextVNode(toDisplayString(getDisplayValue(element)), 1)], true)], 6)], 8, _hoisted_5$22);
|
|
30440
|
-
}), 128))], 512), [[vShow, showGrid.value]])]),
|
|
30441
|
-
_: 3
|
|
30442
|
-
}, 8, [
|
|
30443
|
-
"anchor",
|
|
30444
|
-
"is-open",
|
|
30445
|
-
"width"
|
|
30446
|
-
])) : createCommentVNode("", true)])]),
|
|
30447
|
-
_: 3
|
|
30448
|
-
}, 16);
|
|
30449
|
-
};
|
|
30450
|
-
}
|
|
30451
|
-
}, [["__scopeId", "data-v-12dbbc29"]]);
|
|
30452
|
-
//#endregion
|
|
30453
|
-
//#region src/components/small/app-time-picker/AppTimePickerEasyButtons.vue
|
|
30454
|
-
var EMIT_SUB_HOUR = "sub-hour";
|
|
30455
|
-
var EMIT_NOW = "now";
|
|
30456
|
-
var EMIT_ADD_HOUR = "add-hour";
|
|
30457
|
-
var _sfc_main$110 = {
|
|
30458
|
-
__name: "AppTimePickerEasyButtons",
|
|
30459
|
-
emits: [
|
|
30460
|
-
EMIT_NOW,
|
|
30461
|
-
EMIT_ADD_HOUR,
|
|
30462
|
-
EMIT_SUB_HOUR
|
|
30463
|
-
],
|
|
30464
|
-
setup(__props, { emit: __emit }) {
|
|
30465
|
-
const buttons = ref([
|
|
30260
|
+
const modelValue = useModel(__props, "modelValue");
|
|
30261
|
+
const buttons = [
|
|
30466
30262
|
{
|
|
30467
30263
|
value: "-1",
|
|
30468
|
-
|
|
30264
|
+
code: CODE_SUB_HOUR,
|
|
30469
30265
|
class: "btn-light"
|
|
30470
30266
|
},
|
|
30471
30267
|
{
|
|
30472
30268
|
value: "Acum",
|
|
30473
|
-
|
|
30269
|
+
code: CODE_NOW,
|
|
30474
30270
|
class: "btn-light"
|
|
30475
30271
|
},
|
|
30476
30272
|
{
|
|
30477
30273
|
value: "+1",
|
|
30478
|
-
|
|
30274
|
+
code: CODE_ADD_HOUR,
|
|
30479
30275
|
class: "btn-light"
|
|
30480
30276
|
}
|
|
30481
|
-
]
|
|
30482
|
-
const
|
|
30483
|
-
|
|
30484
|
-
|
|
30277
|
+
];
|
|
30278
|
+
const onEasyButtonsInput = ({ code }) => {
|
|
30279
|
+
const time = /* @__PURE__ */ new Date();
|
|
30280
|
+
if (modelValue.value && code !== CODE_NOW) {
|
|
30281
|
+
const [hours, minutes = 0, seconds = 0] = modelValue.value.split(":");
|
|
30282
|
+
time.setHours(hours, minutes, seconds, 0);
|
|
30283
|
+
}
|
|
30284
|
+
if (code !== CODE_NOW) time.setHours(time.getHours() + (code === CODE_ADD_HOUR ? 1 : -1));
|
|
30285
|
+
modelValue.value = time.toTimeString().slice(0, props.format.length);
|
|
30485
30286
|
};
|
|
30486
30287
|
return (_ctx, _cache) => {
|
|
30487
|
-
return openBlock(), createElementBlock("div",
|
|
30488
|
-
value: buttons
|
|
30489
|
-
onClick
|
|
30490
|
-
}
|
|
30288
|
+
return openBlock(), createElementBlock("div", _hoisted_1$75, [createVNode(_sfc_main$4, {
|
|
30289
|
+
value: buttons,
|
|
30290
|
+
onClick: onEasyButtonsInput
|
|
30291
|
+
})]);
|
|
30491
30292
|
};
|
|
30492
30293
|
}
|
|
30493
30294
|
};
|
|
30494
30295
|
//#endregion
|
|
30495
|
-
//#region src/components/small/app-time
|
|
30496
|
-
var
|
|
30497
|
-
|
|
30498
|
-
|
|
30296
|
+
//#region src/components/small/app-time/AppTime.js
|
|
30297
|
+
var props = {
|
|
30298
|
+
hours: {
|
|
30299
|
+
type: Array,
|
|
30300
|
+
default: () => Array.from({ length: 24 }, (_, index) => index.toString().padStart(2, "0"))
|
|
30301
|
+
},
|
|
30302
|
+
minutes: {
|
|
30303
|
+
type: Array,
|
|
30304
|
+
default: () => Array.from({ length: 60 }, (_, index) => index.toString().padStart(2, "0"))
|
|
30305
|
+
},
|
|
30306
|
+
seconds: {
|
|
30307
|
+
type: Array,
|
|
30308
|
+
default: () => Array.from({ length: 60 }, (_, index) => index.toString().padStart(2, "0"))
|
|
30309
|
+
},
|
|
30310
|
+
format: {
|
|
30311
|
+
type: String,
|
|
30312
|
+
default: "hh:mm",
|
|
30313
|
+
validator: (value) => [
|
|
30314
|
+
"hh",
|
|
30315
|
+
"hh:mm",
|
|
30316
|
+
"hh:mm:ss"
|
|
30317
|
+
].includes(value)
|
|
30318
|
+
},
|
|
30319
|
+
openDirection: {
|
|
30320
|
+
type: String,
|
|
30321
|
+
default: "bottom"
|
|
30322
|
+
},
|
|
30323
|
+
showEasyButtons: {
|
|
30324
|
+
type: Boolean,
|
|
30325
|
+
default: false
|
|
30326
|
+
},
|
|
30327
|
+
isTypeable: {
|
|
30328
|
+
type: Boolean,
|
|
30329
|
+
default: true
|
|
30330
|
+
},
|
|
30331
|
+
useDropdown: {
|
|
30332
|
+
type: Boolean,
|
|
30333
|
+
default: true
|
|
30334
|
+
}
|
|
30499
30335
|
};
|
|
30336
|
+
//#endregion
|
|
30337
|
+
//#region src/components/small/app-time/AppTime.vue
|
|
30338
|
+
var _hoisted_1$74 = { class: "display-flex w-100" };
|
|
30500
30339
|
var _hoisted_2$54 = {
|
|
30501
30340
|
key: 0,
|
|
30502
|
-
class: "
|
|
30341
|
+
class: "app-time2-separator user-select-none"
|
|
30503
30342
|
};
|
|
30504
|
-
var _hoisted_3$37 =
|
|
30505
|
-
|
|
30506
|
-
|
|
30343
|
+
var _hoisted_3$37 = [
|
|
30344
|
+
"onUpdate:modelValue",
|
|
30345
|
+
"disabled",
|
|
30346
|
+
"name",
|
|
30347
|
+
"readonly",
|
|
30348
|
+
"placeholder",
|
|
30349
|
+
"onBlur",
|
|
30350
|
+
"onClick",
|
|
30351
|
+
"onFocus",
|
|
30352
|
+
"onInput",
|
|
30353
|
+
"onKeydown"
|
|
30354
|
+
];
|
|
30355
|
+
var _hoisted_4$30 = {
|
|
30356
|
+
key: 0,
|
|
30357
|
+
class: "ml-10"
|
|
30507
30358
|
};
|
|
30508
|
-
var
|
|
30509
|
-
|
|
30359
|
+
var _hoisted_5$23 = ["onClick"];
|
|
30360
|
+
var AppTime_default = /*#__PURE__*/ _plugin_vue_export_helper_default({
|
|
30361
|
+
__name: "AppTime",
|
|
30510
30362
|
props: /*@__PURE__*/ mergeModels({
|
|
30511
|
-
minuteOptions: {
|
|
30512
|
-
type: Array,
|
|
30513
|
-
default: () => [{
|
|
30514
|
-
id: 1,
|
|
30515
|
-
value: "00"
|
|
30516
|
-
}, {
|
|
30517
|
-
id: 2,
|
|
30518
|
-
value: "30"
|
|
30519
|
-
}]
|
|
30520
|
-
},
|
|
30521
|
-
hourOptions: {
|
|
30522
|
-
type: Array,
|
|
30523
|
-
default: () => {
|
|
30524
|
-
const hours = [];
|
|
30525
|
-
for (let i = 0; i < 24; i++) hours.push({
|
|
30526
|
-
id: i + 1,
|
|
30527
|
-
value: i.toString().padStart(2, "0")
|
|
30528
|
-
});
|
|
30529
|
-
return hours;
|
|
30530
|
-
}
|
|
30531
|
-
},
|
|
30532
|
-
openDirection: {
|
|
30533
|
-
type: String,
|
|
30534
|
-
default: "bottom"
|
|
30535
|
-
},
|
|
30536
30363
|
isClearable: {
|
|
30537
30364
|
type: Boolean,
|
|
30538
30365
|
default: true
|
|
30539
30366
|
},
|
|
30540
|
-
|
|
30541
|
-
...appFormElementProps_default
|
|
30542
|
-
...appDatePickerProps_default
|
|
30367
|
+
...props,
|
|
30368
|
+
...appFormElementProps_default
|
|
30543
30369
|
}, {
|
|
30544
|
-
"modelValue": {
|
|
30370
|
+
"modelValue": {
|
|
30371
|
+
type: [String, null],
|
|
30372
|
+
default: null
|
|
30373
|
+
},
|
|
30545
30374
|
"modelModifiers": {}
|
|
30546
30375
|
}),
|
|
30547
30376
|
emits: /*@__PURE__*/ mergeModels(["input"], ["update:modelValue"]),
|
|
30548
|
-
setup(__props, { emit: __emit }) {
|
|
30377
|
+
setup(__props, { expose: __expose, emit: __emit }) {
|
|
30378
|
+
const partsByFormat = {
|
|
30379
|
+
hh: ["hour"],
|
|
30380
|
+
"hh:mm": ["hour", "minute"],
|
|
30381
|
+
"hh:mm:ss": [
|
|
30382
|
+
"hour",
|
|
30383
|
+
"minute",
|
|
30384
|
+
"second"
|
|
30385
|
+
]
|
|
30386
|
+
};
|
|
30549
30387
|
const props = __props;
|
|
30550
30388
|
const emit = __emit;
|
|
30551
|
-
const { formElementProps } = useAppFormElement(props);
|
|
30552
|
-
const hour = ref("12");
|
|
30553
|
-
const minute = ref("00");
|
|
30554
|
-
const minutePicker = ref(null);
|
|
30555
|
-
const hourPicker = ref(null);
|
|
30556
30389
|
const modelValue = useModel(__props, "modelValue");
|
|
30557
|
-
const
|
|
30390
|
+
const { formElementProps, computedName } = useAppFormElement(props);
|
|
30391
|
+
const control = ref(null);
|
|
30392
|
+
const dropdown = ref(null);
|
|
30393
|
+
const partInputs = reactive({
|
|
30394
|
+
hour: null,
|
|
30395
|
+
minute: null,
|
|
30396
|
+
second: null
|
|
30397
|
+
});
|
|
30398
|
+
const openPart = ref(null);
|
|
30399
|
+
const selected = reactive({
|
|
30400
|
+
hour: null,
|
|
30401
|
+
minute: null,
|
|
30402
|
+
second: null
|
|
30403
|
+
});
|
|
30404
|
+
const texts = reactive({
|
|
30405
|
+
hour: "",
|
|
30406
|
+
minute: "",
|
|
30407
|
+
second: ""
|
|
30408
|
+
});
|
|
30409
|
+
const partPlaceholders = {
|
|
30410
|
+
hour: "Ora",
|
|
30411
|
+
minute: "Min",
|
|
30412
|
+
second: "Sec"
|
|
30413
|
+
};
|
|
30414
|
+
const visibleParts = computed(() => partsByFormat[props.format]);
|
|
30415
|
+
const partOptions = computed(() => ({
|
|
30416
|
+
hour: props.hours,
|
|
30417
|
+
minute: props.minutes,
|
|
30418
|
+
second: props.seconds
|
|
30419
|
+
}));
|
|
30420
|
+
const isDropdownOpen = computed(() => Boolean(openPart.value));
|
|
30421
|
+
const dropdownOptions = computed(() => openPart.value ? partOptions.value[openPart.value] : []);
|
|
30422
|
+
const dropdownColumns = computed(() => dropdownOptions.value.length > 12 ? 4 : 2);
|
|
30423
|
+
const dropdownWidth = computed(() => dropdownColumns.value === 4 ? 200 : 120);
|
|
30424
|
+
const activeAnchor = computed(() => partInputs[openPart.value] ?? control.value);
|
|
30425
|
+
const dropdownPlacement = computed(() => {
|
|
30558
30426
|
return {
|
|
30559
|
-
"
|
|
30560
|
-
"
|
|
30561
|
-
"
|
|
30562
|
-
"
|
|
30563
|
-
|
|
30564
|
-
|
|
30565
|
-
});
|
|
30566
|
-
|
|
30567
|
-
|
|
30568
|
-
|
|
30569
|
-
|
|
30570
|
-
|
|
30571
|
-
|
|
30572
|
-
|
|
30573
|
-
|
|
30574
|
-
|
|
30575
|
-
const
|
|
30576
|
-
|
|
30577
|
-
|
|
30578
|
-
|
|
30579
|
-
|
|
30580
|
-
|
|
30581
|
-
|
|
30582
|
-
|
|
30427
|
+
top: "top-start",
|
|
30428
|
+
bottom: "bottom-start",
|
|
30429
|
+
left: "left-start",
|
|
30430
|
+
right: "right-start"
|
|
30431
|
+
}[props.openDirection] ?? props.openDirection;
|
|
30432
|
+
});
|
|
30433
|
+
const dropdownStyle = computed(() => ({ gridTemplateColumns: `repeat(${dropdownColumns.value}, minmax(0, 1fr))` }));
|
|
30434
|
+
const getOptionValue = (option) => {
|
|
30435
|
+
if ((0, import_lodash.isObject)(option)) return (0, import_lodash.get)(option, "value", "");
|
|
30436
|
+
return option;
|
|
30437
|
+
};
|
|
30438
|
+
const optionToText = (option) => {
|
|
30439
|
+
const value = getOptionValue(option);
|
|
30440
|
+
return value === null || value === void 0 ? "" : String(value);
|
|
30441
|
+
};
|
|
30442
|
+
const cleanText = (value) => String(value ?? "").replace(/\D/g, "").slice(0, 2);
|
|
30443
|
+
const findOption = (part, value) => {
|
|
30444
|
+
const cleanValue = cleanText(value);
|
|
30445
|
+
if (!cleanValue) return null;
|
|
30446
|
+
return partOptions.value[part].find((option) => {
|
|
30447
|
+
const optionValue = cleanText(getOptionValue(option));
|
|
30448
|
+
return optionValue === cleanValue || optionValue === cleanValue.padStart(2, "0");
|
|
30449
|
+
}) ?? null;
|
|
30450
|
+
};
|
|
30451
|
+
const getNextPart = (part) => visibleParts.value[visibleParts.value.indexOf(part) + 1];
|
|
30452
|
+
const setTextsFromSelection = () => {
|
|
30453
|
+
visibleParts.value.forEach((part) => {
|
|
30454
|
+
texts[part] = optionToText(selected[part]);
|
|
30455
|
+
});
|
|
30456
|
+
};
|
|
30457
|
+
const closeDropdown = () => {
|
|
30458
|
+
openPart.value = null;
|
|
30459
|
+
};
|
|
30460
|
+
const openDropdown = async (part) => {
|
|
30461
|
+
if (props.disabled || !props.useDropdown) return;
|
|
30462
|
+
openPart.value = part;
|
|
30463
|
+
await nextTick();
|
|
30464
|
+
dropdown.value?.querySelector(".active")?.scrollIntoView({ block: "nearest" });
|
|
30465
|
+
};
|
|
30466
|
+
const onFocus = (part) => {
|
|
30467
|
+
if (isDropdownOpen.value && openPart.value !== part) openDropdown(part);
|
|
30468
|
+
};
|
|
30469
|
+
const onBlur = (part, event) => {
|
|
30470
|
+
validatePart(part);
|
|
30471
|
+
const next = event.relatedTarget;
|
|
30472
|
+
if (next && (control.value?.contains(next) || dropdown.value?.contains(next))) return;
|
|
30473
|
+
closeDropdown();
|
|
30474
|
+
};
|
|
30475
|
+
const openNearestPart = (event) => {
|
|
30476
|
+
if (props.disabled) return;
|
|
30477
|
+
const nearest = visibleParts.value.reduce((best, part) => {
|
|
30478
|
+
const rect = partInputs[part]?.getBoundingClientRect();
|
|
30479
|
+
if (!rect) return best;
|
|
30480
|
+
const distance = Math.abs(event.clientX - (rect.left + rect.width / 2));
|
|
30481
|
+
return !best || distance < best.distance ? {
|
|
30482
|
+
part,
|
|
30483
|
+
distance
|
|
30484
|
+
} : best;
|
|
30485
|
+
}, null);
|
|
30486
|
+
if (!nearest) return;
|
|
30487
|
+
partInputs[nearest.part]?.focus();
|
|
30488
|
+
openDropdown(nearest.part);
|
|
30489
|
+
};
|
|
30490
|
+
const setModelFromSelection = () => {
|
|
30491
|
+
if (visibleParts.value.some((part) => !selected[part])) return;
|
|
30492
|
+
modelValue.value = visibleParts.value.map((part) => getOptionValue(selected[part])).join(":");
|
|
30493
|
+
emit("input", selected.hour, selected.minute, selected.second);
|
|
30494
|
+
};
|
|
30495
|
+
const fillEmptyPartsFrom = (part) => {
|
|
30496
|
+
visibleParts.value.slice(visibleParts.value.indexOf(part) + 1).forEach((nextPart) => {
|
|
30497
|
+
if (!selected[nextPart]) selected[nextPart] = partOptions.value[nextPart][0];
|
|
30498
|
+
});
|
|
30499
|
+
};
|
|
30500
|
+
const selectOption = async (option) => {
|
|
30501
|
+
const part = openPart.value;
|
|
30502
|
+
selected[part] = option;
|
|
30503
|
+
fillEmptyPartsFrom(part);
|
|
30504
|
+
setTextsFromSelection();
|
|
30505
|
+
setModelFromSelection();
|
|
30506
|
+
const nextPart = getNextPart(part);
|
|
30507
|
+
if (!nextPart) {
|
|
30508
|
+
closeDropdown();
|
|
30509
|
+
return;
|
|
30583
30510
|
}
|
|
30511
|
+
await openDropdown(nextPart);
|
|
30512
|
+
partInputs[nextPart]?.focus();
|
|
30513
|
+
};
|
|
30514
|
+
const onType = async (part) => {
|
|
30515
|
+
if (!props.isTypeable) return;
|
|
30516
|
+
texts[part] = cleanText(texts[part]);
|
|
30517
|
+
if (texts[part].length < 2) return;
|
|
30518
|
+
const nextPart = getNextPart(part);
|
|
30519
|
+
if (!nextPart) return;
|
|
30520
|
+
await openDropdown(nextPart);
|
|
30521
|
+
partInputs[nextPart]?.focus();
|
|
30522
|
+
partInputs[nextPart]?.select();
|
|
30523
|
+
};
|
|
30524
|
+
const validatePart = (part) => {
|
|
30525
|
+
if (!props.isTypeable) return;
|
|
30526
|
+
const option = findOption(part, texts[part]);
|
|
30527
|
+
if (!option) {
|
|
30528
|
+
setTextsFromSelection();
|
|
30529
|
+
return;
|
|
30530
|
+
}
|
|
30531
|
+
selected[part] = option;
|
|
30532
|
+
setTextsFromSelection();
|
|
30533
|
+
setModelFromSelection();
|
|
30534
|
+
};
|
|
30535
|
+
const onEnter = (part) => {
|
|
30536
|
+
validatePart(part);
|
|
30537
|
+
closeDropdown();
|
|
30584
30538
|
};
|
|
30585
30539
|
const reset = () => {
|
|
30586
|
-
|
|
30587
|
-
|
|
30588
|
-
|
|
30589
|
-
|
|
30590
|
-
|
|
30591
|
-
|
|
30592
|
-
modelValue.value = `${hour.value.value}:${minute.value.value}`;
|
|
30593
|
-
};
|
|
30594
|
-
const onHourPickerClose = () => {
|
|
30595
|
-
if (hour.value && !minute.value) minute.value = props.minuteOptions[0];
|
|
30596
|
-
minutePicker.value.open();
|
|
30597
|
-
};
|
|
30598
|
-
const onAddHour = () => {
|
|
30599
|
-
if (!hour.value) hour.value = props.hourOptions[12];
|
|
30600
|
-
const newHour = ((parseInt(hour.value.value) + 1) % 24).toString().padStart(2, "0");
|
|
30601
|
-
hour.value = props.hourOptions.find((element) => element.value == newHour);
|
|
30602
|
-
minute.value = minute.value ? minute.value : (0, import_lodash.head)(props.minuteOptions);
|
|
30603
|
-
};
|
|
30604
|
-
const onSubHour = () => {
|
|
30605
|
-
if (!hour.value) hour.value = props.hourOptions[12];
|
|
30606
|
-
const newHour = ((parseInt(hour.value.value) + 23) % 24).toString().padStart(2, "0");
|
|
30607
|
-
hour.value = props.hourOptions.find((element) => element.value == newHour);
|
|
30608
|
-
minute.value = minute.value ? minute.value : (0, import_lodash.head)(props.minuteOptions);
|
|
30609
|
-
};
|
|
30610
|
-
const onSelectNow = () => {
|
|
30611
|
-
const now = /* @__PURE__ */ new Date();
|
|
30612
|
-
const currentHour = now.getHours().toString().padStart(2, "0");
|
|
30613
|
-
const currentMinute = now.getMinutes() >= 30 ? "30" : "00";
|
|
30614
|
-
hour.value = props.hourOptions.find((element) => element.value === currentHour);
|
|
30615
|
-
minute.value = props.minuteOptions.find((element) => element.value === currentMinute);
|
|
30540
|
+
visibleParts.value.forEach((part) => {
|
|
30541
|
+
selected[part] = null;
|
|
30542
|
+
texts[part] = "";
|
|
30543
|
+
});
|
|
30544
|
+
modelValue.value = null;
|
|
30545
|
+
closeDropdown();
|
|
30616
30546
|
};
|
|
30617
|
-
|
|
30547
|
+
const setTime = (value) => {
|
|
30548
|
+
const values = value ? String(value).split(":") : [];
|
|
30549
|
+
visibleParts.value.forEach((part, index) => {
|
|
30550
|
+
selected[part] = findOption(part, values[index]);
|
|
30551
|
+
});
|
|
30552
|
+
setTextsFromSelection();
|
|
30553
|
+
};
|
|
30554
|
+
watch(() => modelValue.value, (newValue, oldValue) => {
|
|
30618
30555
|
if (newValue !== oldValue) setTime(newValue);
|
|
30556
|
+
}, { immediate: true });
|
|
30557
|
+
watch(() => [
|
|
30558
|
+
props.hours,
|
|
30559
|
+
props.minutes,
|
|
30560
|
+
props.seconds,
|
|
30561
|
+
props.format
|
|
30562
|
+
], () => {
|
|
30563
|
+
setTime(modelValue.value);
|
|
30564
|
+
});
|
|
30565
|
+
useClickOutside({
|
|
30566
|
+
target: dropdown,
|
|
30567
|
+
handler: closeDropdown,
|
|
30568
|
+
isOpen: isDropdownOpen,
|
|
30569
|
+
ignore: [control]
|
|
30570
|
+
});
|
|
30571
|
+
__expose({
|
|
30572
|
+
open: () => openDropdown("hour"),
|
|
30573
|
+
close: closeDropdown,
|
|
30574
|
+
focus: () => partInputs.hour?.focus()
|
|
30619
30575
|
});
|
|
30620
30576
|
return (_ctx, _cache) => {
|
|
30621
30577
|
const _directive_tippy = resolveDirective("tippy");
|
|
30622
30578
|
return openBlock(), createBlock(AppFormElement_default, normalizeProps(guardReactiveProps(unref(formElementProps))), createSlots({
|
|
30623
30579
|
"help-block": withCtx(() => [renderSlot(_ctx.$slots, "help-block", {}, void 0, true)]),
|
|
30624
|
-
default: withCtx(() => [createElementVNode("div", _hoisted_1$
|
|
30625
|
-
|
|
30626
|
-
|
|
30627
|
-
|
|
30628
|
-
|
|
30629
|
-
"
|
|
30630
|
-
|
|
30631
|
-
|
|
30632
|
-
|
|
30633
|
-
|
|
30634
|
-
|
|
30635
|
-
|
|
30636
|
-
|
|
30637
|
-
|
|
30638
|
-
|
|
30639
|
-
}, null, 8, [
|
|
30640
|
-
"modelValue",
|
|
30641
|
-
"disabled",
|
|
30642
|
-
"options"
|
|
30643
|
-
]),
|
|
30644
|
-
_cache[2] || (_cache[2] = createElementVNode("span", { class: "flex-center-vertical ml-10 mr-10" }, ":", -1)),
|
|
30645
|
-
createVNode(AppGridPicker_default, {
|
|
30646
|
-
ref_key: "minutePicker",
|
|
30647
|
-
ref: minutePicker,
|
|
30648
|
-
modelValue: minute.value,
|
|
30649
|
-
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => minute.value = $event),
|
|
30650
|
-
columns: 2,
|
|
30580
|
+
default: withCtx(() => [createElementVNode("div", _hoisted_1$74, [createElementVNode("div", {
|
|
30581
|
+
ref_key: "control",
|
|
30582
|
+
ref: control,
|
|
30583
|
+
class: normalizeClass(["app-time2-control form-control flex-center-vertical p-0 overflow-hidden", {
|
|
30584
|
+
"disabled-element": _ctx.disabled,
|
|
30585
|
+
"cursor-pointer": !_ctx.disabled && _ctx.useDropdown
|
|
30586
|
+
}]),
|
|
30587
|
+
onClick: openNearestPart,
|
|
30588
|
+
onKeydown: withKeys(closeDropdown, ["esc"])
|
|
30589
|
+
}, [(openBlock(true), createElementBlock(Fragment, null, renderList(visibleParts.value, (part, index) => {
|
|
30590
|
+
return openBlock(), createElementBlock(Fragment, { key: part }, [index > 0 ? (openBlock(), createElementBlock("span", _hoisted_2$54, ":")) : createCommentVNode("", true), withDirectives(createElementVNode("input", {
|
|
30591
|
+
ref_for: true,
|
|
30592
|
+
ref: (el) => partInputs[part] = el,
|
|
30593
|
+
"onUpdate:modelValue": ($event) => texts[part] = $event,
|
|
30594
|
+
class: normalizeClass(["app-time2-field h-100 p-0 text-center bg-transparent border-0 no-hover", { "cursor-pointer": !_ctx.disabled && _ctx.useDropdown }]),
|
|
30651
30595
|
disabled: _ctx.disabled,
|
|
30652
|
-
|
|
30653
|
-
|
|
30654
|
-
|
|
30655
|
-
"
|
|
30656
|
-
|
|
30657
|
-
|
|
30658
|
-
|
|
30659
|
-
|
|
30660
|
-
|
|
30661
|
-
|
|
30662
|
-
"
|
|
30663
|
-
]),
|
|
30664
|
-
|
|
30665
|
-
|
|
30666
|
-
|
|
30667
|
-
|
|
30668
|
-
|
|
30669
|
-
|
|
30670
|
-
|
|
30671
|
-
|
|
30672
|
-
|
|
30673
|
-
|
|
30596
|
+
name: index === 0 ? unref(computedName) : void 0,
|
|
30597
|
+
readonly: !_ctx.isTypeable,
|
|
30598
|
+
placeholder: partPlaceholders[part],
|
|
30599
|
+
inputmode: "numeric",
|
|
30600
|
+
maxlength: "2",
|
|
30601
|
+
type: "text",
|
|
30602
|
+
onBlur: ($event) => onBlur(part, $event),
|
|
30603
|
+
onClick: withModifiers(($event) => openDropdown(part), ["stop"]),
|
|
30604
|
+
onFocus: ($event) => onFocus(part),
|
|
30605
|
+
onInput: ($event) => onType(part),
|
|
30606
|
+
onKeydown: withKeys(withModifiers(($event) => onEnter(part), ["prevent"]), ["enter"])
|
|
30607
|
+
}, null, 42, _hoisted_3$37), [[vModelText, texts[part]]])], 64);
|
|
30608
|
+
}), 128)), !_ctx.disabled && __props.isClearable && modelValue.value ? (openBlock(), createElementBlock("div", {
|
|
30609
|
+
key: 0,
|
|
30610
|
+
class: "app-time2-clear flex-center-vertical h-100 ml-auto",
|
|
30611
|
+
onClick: _cache[0] || (_cache[0] = withModifiers(() => {}, ["stop"]))
|
|
30612
|
+
}, [withDirectives(createElementVNode("i", {
|
|
30613
|
+
class: "ph-x-circle app-cross-icon",
|
|
30614
|
+
onClick: withModifiers(reset, ["stop"])
|
|
30615
|
+
}, null, 512), [[_directive_tippy, "Sterge ora"]])])) : createCommentVNode("", true)], 34), _ctx.showEasyButtons && !_ctx.disabled ? (openBlock(), createElementBlock("div", _hoisted_4$30, [createVNode(_sfc_main$111, {
|
|
30616
|
+
modelValue: modelValue.value,
|
|
30617
|
+
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => modelValue.value = $event),
|
|
30618
|
+
format: _ctx.format
|
|
30619
|
+
}, null, 8, ["modelValue", "format"])])) : createCommentVNode("", true)]), control.value ? (openBlock(), createBlock(_sfc_main$112, {
|
|
30620
|
+
key: 0,
|
|
30621
|
+
anchor: activeAnchor.value,
|
|
30622
|
+
"is-open": isDropdownOpen.value,
|
|
30623
|
+
placement: dropdownPlacement.value,
|
|
30624
|
+
"use-teleport": true,
|
|
30625
|
+
width: dropdownWidth.value
|
|
30626
|
+
}, {
|
|
30627
|
+
default: withCtx(() => [withDirectives(createElementVNode("div", {
|
|
30628
|
+
ref_key: "dropdown",
|
|
30629
|
+
ref: dropdown,
|
|
30630
|
+
class: "app-time2-dropdown app-grid-dropdown overflow-auto scrollbar-hidden w-100",
|
|
30631
|
+
style: normalizeStyle(dropdownStyle.value)
|
|
30632
|
+
}, [(openBlock(true), createElementBlock(Fragment, null, renderList(dropdownOptions.value, (option) => {
|
|
30633
|
+
return openBlock(), createElementBlock("button", {
|
|
30634
|
+
key: getOptionValue(option),
|
|
30635
|
+
class: normalizeClass(["app-time2-option cell bg-transparent border-0 p-0", { active: unref(import_lodash.isEqual)(option, selected[openPart.value]) }]),
|
|
30636
|
+
type: "button",
|
|
30637
|
+
onMousedown: _cache[2] || (_cache[2] = withModifiers(() => {}, ["prevent"])),
|
|
30638
|
+
onClick: ($event) => selectOption(option)
|
|
30639
|
+
}, toDisplayString(getOptionValue(option)), 43, _hoisted_5$23);
|
|
30640
|
+
}), 128))], 4), [[vShow, isDropdownOpen.value]])]),
|
|
30641
|
+
_: 1
|
|
30642
|
+
}, 8, [
|
|
30643
|
+
"anchor",
|
|
30644
|
+
"is-open",
|
|
30645
|
+
"placement",
|
|
30646
|
+
"width"
|
|
30647
|
+
])) : createCommentVNode("", true)]),
|
|
30674
30648
|
_: 2
|
|
30675
30649
|
}, [renderList(Object.keys(_ctx.$slots), (slot) => {
|
|
30676
30650
|
return {
|
|
@@ -30680,424 +30654,68 @@ var AppTimePicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default({
|
|
|
30680
30654
|
})]), 1040);
|
|
30681
30655
|
};
|
|
30682
30656
|
}
|
|
30683
|
-
}, [["__scopeId", "data-v-
|
|
30657
|
+
}, [["__scopeId", "data-v-d1c8386d"]]);
|
|
30684
30658
|
//#endregion
|
|
30685
|
-
//#region src/
|
|
30686
|
-
var
|
|
30687
|
-
static getDayNames() {
|
|
30688
|
-
return {
|
|
30689
|
-
[Constants_default.LANGUAGE_EN]: [
|
|
30690
|
-
"Sun",
|
|
30691
|
-
"Mon",
|
|
30692
|
-
"Tue",
|
|
30693
|
-
"Wed",
|
|
30694
|
-
"Thu",
|
|
30695
|
-
"Fri",
|
|
30696
|
-
"Sat"
|
|
30697
|
-
],
|
|
30698
|
-
[Constants_default.LANGUAGE_RO]: [
|
|
30699
|
-
"Dum",
|
|
30700
|
-
"Lun",
|
|
30701
|
-
"Mar",
|
|
30702
|
-
"Mie",
|
|
30703
|
-
"Joi",
|
|
30704
|
-
"Vin",
|
|
30705
|
-
"Sam"
|
|
30706
|
-
]
|
|
30707
|
-
};
|
|
30708
|
-
}
|
|
30709
|
-
static getMonthNames() {
|
|
30710
|
-
return {
|
|
30711
|
-
[Constants_default.LANGUAGE_EN]: [
|
|
30712
|
-
"Jan",
|
|
30713
|
-
"Feb",
|
|
30714
|
-
"Mar",
|
|
30715
|
-
"Apr",
|
|
30716
|
-
"May",
|
|
30717
|
-
"Jun",
|
|
30718
|
-
"Jul",
|
|
30719
|
-
"Aug",
|
|
30720
|
-
"Sep",
|
|
30721
|
-
"Oct",
|
|
30722
|
-
"Nov",
|
|
30723
|
-
"Dec"
|
|
30724
|
-
],
|
|
30725
|
-
[Constants_default.LANGUAGE_RO]: [
|
|
30726
|
-
"Ian",
|
|
30727
|
-
"Feb",
|
|
30728
|
-
"Mar",
|
|
30729
|
-
"Apr",
|
|
30730
|
-
"Mai",
|
|
30731
|
-
"Iun",
|
|
30732
|
-
"Iul",
|
|
30733
|
-
"Aug",
|
|
30734
|
-
"Sep",
|
|
30735
|
-
"Oct",
|
|
30736
|
-
"Noi",
|
|
30737
|
-
"Dec"
|
|
30738
|
-
]
|
|
30739
|
-
};
|
|
30740
|
-
}
|
|
30741
|
-
static commonFormats = [
|
|
30742
|
-
"yyyy-MM-dd HH:mm:ss",
|
|
30743
|
-
"yyyy-MM-dd HH:mm",
|
|
30744
|
-
"yyyy-MM-dd",
|
|
30745
|
-
"MM/dd/yyyy HH:mm:ss",
|
|
30746
|
-
"MM/dd/yyyy HH:mm",
|
|
30747
|
-
"MM/dd/yyyy",
|
|
30748
|
-
"dd/MM/yyyy HH:mm:ss",
|
|
30749
|
-
"dd/MM/yyyy HH:mm",
|
|
30750
|
-
"dd/MM/yyyy",
|
|
30751
|
-
"dd.MM.yyyy HH:mm:ss",
|
|
30752
|
-
"dd.MM.yyyy HH:mm",
|
|
30753
|
-
"dd.MM.yyyy",
|
|
30754
|
-
"yyyy/MM/dd HH:mm:ss",
|
|
30755
|
-
"yyyy/MM/dd HH:mm",
|
|
30756
|
-
"yyyy/MM/dd",
|
|
30757
|
-
"dd-MM-yyyy HH:mm:ss",
|
|
30758
|
-
"dd-MM-yyyy HH:mm",
|
|
30759
|
-
"dd-MM-yyyy",
|
|
30760
|
-
"yyyy-MM-dd h:mm:ss a",
|
|
30761
|
-
"yyyy-MM-dd h:mm a",
|
|
30762
|
-
"MM/dd/yyyy h:mm:ss a",
|
|
30763
|
-
"MM/dd/yyyy h:mm a",
|
|
30764
|
-
"dd/MM/yyyy h:mm:ss a",
|
|
30765
|
-
"dd/MM/yyyy h:mm a"
|
|
30766
|
-
];
|
|
30767
|
-
static getCalendarComponentLanguageData(language) {
|
|
30768
|
-
return {
|
|
30769
|
-
days: DateUtils.getDayNames()[language],
|
|
30770
|
-
months: DateUtils.getMonthNames()[language],
|
|
30771
|
-
placeholder: {},
|
|
30772
|
-
formatLocale: { firstDayOfWeek: this.getCalendarComponentFirstDatOfWeek(language) }
|
|
30773
|
-
};
|
|
30774
|
-
}
|
|
30775
|
-
static getCalendarComponentFirstDatOfWeek(language) {
|
|
30776
|
-
if (language === Constants_default.LANGUAGE_EN) return Constants_default.CALENDAR_FIRST_DAY_OF_WEEK_EN;
|
|
30777
|
-
else return Constants_default.CALENDAR_FIRST_DAY_OF_WEEK_RO;
|
|
30778
|
-
}
|
|
30779
|
-
static get FORMAT_ROMANIAN_DATE() {
|
|
30780
|
-
return "dd.MM.yyyy";
|
|
30781
|
-
}
|
|
30782
|
-
static get FORMAT_ROMANIAN_DATE_HOUR() {
|
|
30783
|
-
return "dd.MM.yyyy HH";
|
|
30784
|
-
}
|
|
30785
|
-
static get FORMAT_ROMANIAN_DATE_HOUR_MINUTE() {
|
|
30786
|
-
return "dd.MM.yyyy HH:mm";
|
|
30787
|
-
}
|
|
30788
|
-
static get FORMAT_ROMANIAN_DATE_HOUR_MINUTE_SECOND() {
|
|
30789
|
-
return "dd.MM.yyyy HH:mm:ss";
|
|
30790
|
-
}
|
|
30791
|
-
static get FORMAT_ENGLISH_DATE() {
|
|
30792
|
-
return "yyyy-MM-dd";
|
|
30793
|
-
}
|
|
30794
|
-
static get FORMAT_ENGLISH_DATE_HOUR() {
|
|
30795
|
-
return "yyyy-MM-dd HH";
|
|
30796
|
-
}
|
|
30797
|
-
static get FORMAT_ENGLISH_DATE_HOUR_MINUTE() {
|
|
30798
|
-
return "yyyy-MM-dd HH:mm";
|
|
30799
|
-
}
|
|
30800
|
-
static get FORMAT_ENGLISH_DATE_HOUR_MINUTE_SECOND() {
|
|
30801
|
-
return "yyyy-MM-dd HH:mm:ss";
|
|
30802
|
-
}
|
|
30803
|
-
static stringToDate(dateString, format = null) {
|
|
30804
|
-
if (!dateString) return null;
|
|
30805
|
-
if (format) return parse$2(dateString, format, /* @__PURE__ */ new Date());
|
|
30806
|
-
for (const format of this.commonFormats) try {
|
|
30807
|
-
const result = parse$2(dateString, format, /* @__PURE__ */ new Date());
|
|
30808
|
-
if (isValid$1(result)) return result;
|
|
30809
|
-
} catch (error) {
|
|
30810
|
-
continue;
|
|
30811
|
-
}
|
|
30812
|
-
const nativeParsed = new Date(dateString);
|
|
30813
|
-
return isValid$1(nativeParsed) ? nativeParsed : null;
|
|
30814
|
-
}
|
|
30815
|
-
static stringFromTo(date, formatFrom = this.FORMAT_ENGLISH_DATE, formatTo = this.FORMAT_ROMANIAN_DATE) {
|
|
30816
|
-
if (!date) return null;
|
|
30817
|
-
return format$1(parse$2(date, formatFrom, /* @__PURE__ */ new Date()), formatTo);
|
|
30818
|
-
}
|
|
30819
|
-
static dateToString(date, dateFormat = this.FORMAT_ROMANIAN_DATE) {
|
|
30820
|
-
if (!date) return null;
|
|
30821
|
-
return format$1(date, dateFormat);
|
|
30822
|
-
}
|
|
30823
|
-
/**
|
|
30824
|
-
* @deprecated since version 1.9.7
|
|
30825
|
-
*/
|
|
30826
|
-
static dateToStringWithTime(date, dateFormat = "dd-MM-yyyy HH:mm:ss") {
|
|
30827
|
-
return format$1(date, dateFormat);
|
|
30828
|
-
}
|
|
30829
|
-
/**
|
|
30830
|
-
* @deprecated since version 1.9.7
|
|
30831
|
-
*/
|
|
30832
|
-
static dateFromTo(date, formatFrom = "yyyy-MM-dd", formatTo = "dd-MM-yyyy") {
|
|
30833
|
-
console.warn("Warning! Deprecated function from 01.03.2023 called!");
|
|
30834
|
-
if (!date) return null;
|
|
30835
|
-
return format$1(parse$2(date, formatFrom, /* @__PURE__ */ new Date()), formatTo);
|
|
30836
|
-
}
|
|
30837
|
-
/**
|
|
30838
|
-
* @deprecated since version 1.9.7
|
|
30839
|
-
*/
|
|
30840
|
-
static dateFromToWithTime(date, formatFrom = "yyyy-MM-dd HH:mm:ss", formatTo = "dd-MM-yyyy HH:mm:ss") {
|
|
30841
|
-
console.warn("Warning! Deprecated function from 01.03.2023 called!");
|
|
30842
|
-
if (!date) return null;
|
|
30843
|
-
return format$1(parse$2(date, formatFrom, /* @__PURE__ */ new Date()), formatTo);
|
|
30844
|
-
}
|
|
30845
|
-
/**
|
|
30846
|
-
* @deprecated since version 1.9.7
|
|
30847
|
-
*/
|
|
30848
|
-
static stringFromToWithTime(date, formatFrom = "yyyy-MM-dd HH:mm:ss", formatTo = "dd-MM-yyyy HH:mm:ss") {
|
|
30849
|
-
console.warn("Warning! Deprecated function from 01.03.2023 called!");
|
|
30850
|
-
if (!date) return null;
|
|
30851
|
-
return format$1(parse$2(date, formatFrom, /* @__PURE__ */ new Date()), formatTo);
|
|
30852
|
-
}
|
|
30853
|
-
/**
|
|
30854
|
-
* @deprecated since version 1.9.7
|
|
30855
|
-
*/
|
|
30856
|
-
static romanianToEnglishDate(dateString) {
|
|
30857
|
-
console.warn("Warning! Deprecated function from 01.03.2023 called!");
|
|
30858
|
-
return this.stringFromTo(dateString, "dd-MM-yyyy", "yyyy-MM-dd");
|
|
30859
|
-
}
|
|
30860
|
-
/**
|
|
30861
|
-
* @deprecated since version 1.9.7
|
|
30862
|
-
*/
|
|
30863
|
-
static romanianToEnglishDateHour(dateString) {
|
|
30864
|
-
console.warn("Warning! Deprecated function from 01.03.2023 called!");
|
|
30865
|
-
return this.stringFromTo(dateString, "dd-MM-yyyy HH", "yyyy-MM-dd HH:00");
|
|
30866
|
-
}
|
|
30867
|
-
/**
|
|
30868
|
-
* @deprecated since version 1.9.7
|
|
30869
|
-
*/
|
|
30870
|
-
static romanianToEnglishDateHourMinute(dateString) {
|
|
30871
|
-
console.warn("Warning! Deprecated function from 01.03.2023 called!");
|
|
30872
|
-
return this.stringFromTo(dateString, "dd-MM-yyyy HH:mm", "yyyy-MM-dd HH:mm");
|
|
30873
|
-
}
|
|
30874
|
-
/**
|
|
30875
|
-
* @deprecated since version 1.9.7
|
|
30876
|
-
*/
|
|
30877
|
-
static romanianToEnglishDateHourMinuteSeconds(dateString) {
|
|
30878
|
-
console.warn("Warning! Deprecated function from 01.03.2023 called!");
|
|
30879
|
-
return this.stringFromTo(dateString, "dd-MM-yyyy HH:mm:ss", "yyyy-MM-dd HH:mm:ss");
|
|
30880
|
-
}
|
|
30881
|
-
/**
|
|
30882
|
-
* @deprecated since version 1.9.7
|
|
30883
|
-
*/
|
|
30884
|
-
static englishToRomanianDate(dateString) {
|
|
30885
|
-
console.warn("Warning! Deprecated function from 01.03.2023 called!");
|
|
30886
|
-
return this.stringFromTo(dateString, "yyyy-MM-dd", "dd-MM-yyyy");
|
|
30887
|
-
}
|
|
30888
|
-
/**
|
|
30889
|
-
* @deprecated since version 2.0
|
|
30890
|
-
*/
|
|
30891
|
-
static englishToRomanianDateHour(dateString) {
|
|
30892
|
-
console.warn("Warning! Depricated function from 01.03.2023 called!");
|
|
30893
|
-
return this.stringFromTo(dateString, "yyyy-MM-dd HH:00", "dd-MM-yyyy HH");
|
|
30894
|
-
}
|
|
30895
|
-
/**
|
|
30896
|
-
* @deprecated since version 2.0
|
|
30897
|
-
*/
|
|
30898
|
-
static englishToRomanianDateHourMinute(dateString) {
|
|
30899
|
-
return this.stringFromTo(dateString, "yyyy-MM-dd HH:mm", "dd-MM-yyyy HH:mm");
|
|
30900
|
-
}
|
|
30901
|
-
/**
|
|
30902
|
-
* @deprecated since version 2.0
|
|
30903
|
-
*/
|
|
30904
|
-
static englishToRomanianDateHourMinuteSeconds(dateString) {
|
|
30905
|
-
return this.stringFromTo(dateString, "yyyy-MM-dd HH:mm:ss", "dd-MM-yyyy HH:mm:ss");
|
|
30906
|
-
}
|
|
30907
|
-
static displayInterval(start, end, dateFormat = this.FORMAT_ROMANIAN_DATE) {
|
|
30908
|
-
if (!start && !end) return `Nedeterminata`;
|
|
30909
|
-
if (start && end) return `${DateUtils.dateToString(start, dateFormat)} - ${DateUtils.dateToString(end, dateFormat)}`;
|
|
30910
|
-
if (start) return `>= ${DateUtils.dateToString(start, dateFormat)}`;
|
|
30911
|
-
if (end) return `<= ${DateUtils.dateToString(end, dateFormat)}`;
|
|
30912
|
-
}
|
|
30913
|
-
static isStringDate = (dateString) => {
|
|
30914
|
-
return /^\d{2,4}[-./]\d{1,2}[-./]\d{1,4}([ T]\d{2}:\d{2}(:\d{2}(\.\d+)?(Z|[+-]\d{2}:?\d{2})?)?)?$/.test(dateString);
|
|
30915
|
-
};
|
|
30916
|
-
static stringToDateRecursive = (item, deep = false) => {
|
|
30917
|
-
if (!item) return item;
|
|
30918
|
-
if ((0, import_lodash.isArray)(item)) return item.map((el) => DateUtils.stringToDateRecursive(el, deep));
|
|
30919
|
-
if ((0, import_lodash.isPlainObject)(item)) {
|
|
30920
|
-
for (const key in item) if (Object.prototype.hasOwnProperty.call(item, key)) item[key] = deep ? DateUtils.stringToDateRecursive(item[key], deep) : DateUtils.stringToDateRecursive(item[key]);
|
|
30921
|
-
return item;
|
|
30922
|
-
}
|
|
30923
|
-
if (typeof item === "string") return DateUtils.isStringDate(item) ? DateUtils.stringToDate(item) : item;
|
|
30924
|
-
return item;
|
|
30925
|
-
};
|
|
30926
|
-
static isOlderThan = (timestamp, minutes) => {
|
|
30927
|
-
return Date.now() - timestamp > minutes * 60 * 1e3;
|
|
30928
|
-
};
|
|
30929
|
-
static nextMonth({ month, year }) {
|
|
30930
|
-
const d = new Date(+year, +month);
|
|
30931
|
-
return {
|
|
30932
|
-
month: String(d.getMonth() + 1),
|
|
30933
|
-
year: String(d.getFullYear())
|
|
30934
|
-
};
|
|
30935
|
-
}
|
|
30936
|
-
static previousMonth({ month, year }) {
|
|
30937
|
-
const d = new Date(+year, +month - 2);
|
|
30938
|
-
return {
|
|
30939
|
-
month: String(d.getMonth() + 1),
|
|
30940
|
-
year: String(d.getFullYear())
|
|
30941
|
-
};
|
|
30942
|
-
}
|
|
30943
|
-
};
|
|
30944
|
-
//#endregion
|
|
30945
|
-
//#region src/components/small/app-date-time-picker/AppDateTimePicker.vue
|
|
30946
|
-
var _hoisted_1$72 = { class: "flex-center-vertical w-100" };
|
|
30947
|
-
var _hoisted_2$53 = { class: "app-form-group-element flex-grow-1 mr-5" };
|
|
30948
|
-
var _hoisted_3$36 = { class: "app-form-group-element flex-grow-1" };
|
|
30949
|
-
var _hoisted_4$29 = {
|
|
30950
|
-
key: 0,
|
|
30951
|
-
class: "easy-buttons"
|
|
30952
|
-
};
|
|
30953
|
-
var CODE_SUB_DAY = "subday";
|
|
30954
|
-
var CODE_TODAY = "today";
|
|
30955
|
-
var CODE_ADD_DAY = "addday";
|
|
30659
|
+
//#region src/components/small/app-date-time/AppDateTime.vue
|
|
30660
|
+
var _hoisted_1$73 = { class: "flex-center-vertical w-100 gap-1" };
|
|
30956
30661
|
var _sfc_main$10 = {
|
|
30957
|
-
__name: "
|
|
30958
|
-
props: {
|
|
30959
|
-
|
|
30960
|
-
|
|
30961
|
-
type: String,
|
|
30962
|
-
default: "app-date-time-picker"
|
|
30963
|
-
},
|
|
30964
|
-
minuteOptions: {
|
|
30965
|
-
type: Array,
|
|
30966
|
-
default: () => {
|
|
30967
|
-
return [{
|
|
30968
|
-
id: 1,
|
|
30969
|
-
value: "00"
|
|
30970
|
-
}, {
|
|
30971
|
-
id: 2,
|
|
30972
|
-
value: "30"
|
|
30973
|
-
}];
|
|
30974
|
-
}
|
|
30975
|
-
},
|
|
30976
|
-
dateClass: { default: "flex-1" },
|
|
30977
|
-
timeClass: { default: "flex-1" },
|
|
30978
|
-
valueType: {
|
|
30979
|
-
type: String,
|
|
30980
|
-
default: "date"
|
|
30981
|
-
},
|
|
30982
|
-
format: {
|
|
30983
|
-
type: String,
|
|
30984
|
-
default: "YYYY-MM-DD"
|
|
30985
|
-
},
|
|
30986
|
-
...appDatePickerProps_default,
|
|
30662
|
+
__name: "AppDateTime",
|
|
30663
|
+
props: /*@__PURE__*/ mergeModels({
|
|
30664
|
+
...props$1,
|
|
30665
|
+
...props,
|
|
30987
30666
|
...appFormElementProps_default
|
|
30988
|
-
},
|
|
30989
|
-
|
|
30990
|
-
|
|
30991
|
-
|
|
30992
|
-
|
|
30667
|
+
}, {
|
|
30668
|
+
"modelValue": { type: Date },
|
|
30669
|
+
"modelModifiers": {}
|
|
30670
|
+
}),
|
|
30671
|
+
emits: ["update:modelValue"],
|
|
30672
|
+
setup(__props) {
|
|
30673
|
+
const modelValue = useModel(__props, "modelValue");
|
|
30674
|
+
const props = createPropsRestProxy(__props, ["modelValue"]);
|
|
30993
30675
|
const { formElementProps } = useAppFormElement(props);
|
|
30994
|
-
const
|
|
30995
|
-
|
|
30996
|
-
|
|
30997
|
-
|
|
30998
|
-
{
|
|
30999
|
-
value: "-1",
|
|
31000
|
-
code: CODE_SUB_DAY
|
|
31001
|
-
},
|
|
31002
|
-
{
|
|
31003
|
-
value: "Astazi",
|
|
31004
|
-
code: CODE_TODAY
|
|
31005
|
-
},
|
|
31006
|
-
{
|
|
31007
|
-
value: "+1",
|
|
31008
|
-
code: CODE_ADD_DAY
|
|
30676
|
+
const date = computed({
|
|
30677
|
+
get: () => modelValue.value,
|
|
30678
|
+
set: (value) => {
|
|
30679
|
+
modelValue.value = value && new Date(value.getFullYear(), value.getMonth(), value.getDate(), modelValue.value?.getHours() ?? 0, modelValue.value?.getMinutes() ?? 0, modelValue.value?.getSeconds() ?? 0);
|
|
31009
30680
|
}
|
|
31010
|
-
]);
|
|
31011
|
-
const computedDisabled = computed(() => {
|
|
31012
|
-
return !localDate.value || props.disabled;
|
|
31013
|
-
});
|
|
31014
|
-
const setLocalDate = () => {
|
|
31015
|
-
if (localValue.value) localDate.value = startOfDay$1(localValue.value);
|
|
31016
|
-
};
|
|
31017
|
-
const setLocalTime = () => {
|
|
31018
|
-
if (localValue.value) localTime.value = DateUtils.dateToString(localValue.value, "HH:mm");
|
|
31019
|
-
};
|
|
31020
|
-
const onInput = () => {
|
|
31021
|
-
if (!localValue.value) emits("update:modelValue", null);
|
|
31022
|
-
if (!localTime.value || !localDate.value) return;
|
|
31023
|
-
emits("update:modelValue", localValue.value);
|
|
31024
|
-
};
|
|
31025
|
-
watch(() => localTime.value, (newValue, oldValue) => {
|
|
31026
|
-
if ((0, import_lodash.isEqual)(newValue, oldValue) || !newValue) return;
|
|
31027
|
-
let localDateFormatted = DateUtils.dateToString(localDate.value, DateUtils.FORMAT_ENGLISH_DATE);
|
|
31028
|
-
localValue.value = DateUtils.stringToDate(`${localDateFormatted} ${newValue}`, DateUtils.FORMAT_ENGLISH_DATE_HOUR_MINUTE);
|
|
31029
30681
|
});
|
|
31030
|
-
|
|
31031
|
-
|
|
31032
|
-
|
|
31033
|
-
|
|
31034
|
-
|
|
31035
|
-
|
|
30682
|
+
const time = computed({
|
|
30683
|
+
get: () => {
|
|
30684
|
+
const result = modelValue.value?.toTimeString().slice(0, props.format.length) ?? null;
|
|
30685
|
+
console.log({ result });
|
|
30686
|
+
return result;
|
|
30687
|
+
},
|
|
30688
|
+
set: (value) => {
|
|
30689
|
+
if (!value) return modelValue.value = null;
|
|
30690
|
+
const [hours, minutes = 0, seconds = 0] = value.split(":");
|
|
30691
|
+
const date = new Date(modelValue.value ?? /* @__PURE__ */ new Date());
|
|
30692
|
+
date.setHours(hours, minutes, seconds, 0);
|
|
30693
|
+
modelValue.value = date;
|
|
31036
30694
|
}
|
|
31037
|
-
let localValueNew = (0, import_lodash.cloneDeep)(localValue.value) ?? startOfDay$1(/* @__PURE__ */ new Date());
|
|
31038
|
-
localValueNew.setFullYear(newValue.getFullYear(), newValue.getMonth(), newValue.getDate());
|
|
31039
|
-
localValue.value = localValueNew;
|
|
31040
30695
|
});
|
|
31041
|
-
watch(() => localValue.value, (newValue, oldValue) => {
|
|
31042
|
-
if ((0, import_lodash.isEqual)(newValue, oldValue)) return;
|
|
31043
|
-
setLocalDate();
|
|
31044
|
-
setLocalTime();
|
|
31045
|
-
onInput();
|
|
31046
|
-
}, { immediate: true });
|
|
31047
|
-
const setLocalValue = (value) => {
|
|
31048
|
-
if (!value) {
|
|
31049
|
-
localValue.value = null;
|
|
31050
|
-
return;
|
|
31051
|
-
}
|
|
31052
|
-
if (value instanceof Date) {
|
|
31053
|
-
localValue.value = (0, import_lodash.cloneDeep)(value);
|
|
31054
|
-
setLocalDate();
|
|
31055
|
-
setLocalTime();
|
|
31056
|
-
} else {
|
|
31057
|
-
localDate.value = startOfDay$1(/* @__PURE__ */ new Date());
|
|
31058
|
-
localTime.value = DateUtils.dateToString(localDate.value, "HH:mm");
|
|
31059
|
-
}
|
|
31060
|
-
};
|
|
31061
|
-
watch(() => props.modelValue, (newValue, oldValue) => {
|
|
31062
|
-
if ((0, import_lodash.isEqual)(newValue, oldValue)) return;
|
|
31063
|
-
setLocalValue(props.modelValue);
|
|
31064
|
-
onInput();
|
|
31065
|
-
}, { immediate: true });
|
|
31066
30696
|
return (_ctx, _cache) => {
|
|
31067
|
-
const _component_app_date = resolveComponent("app-date");
|
|
31068
|
-
const _component_app_time = resolveComponent("app-time");
|
|
31069
30697
|
return openBlock(), createBlock(AppFormElement_default, normalizeProps(guardReactiveProps(unref(formElementProps))), {
|
|
31070
30698
|
"help-block": withCtx(() => [renderSlot(_ctx.$slots, "help-block")]),
|
|
31071
|
-
default: withCtx(() => [createElementVNode("div", _hoisted_1$
|
|
31072
|
-
|
|
31073
|
-
|
|
31074
|
-
|
|
31075
|
-
|
|
31076
|
-
|
|
31077
|
-
|
|
31078
|
-
|
|
31079
|
-
|
|
31080
|
-
|
|
31081
|
-
|
|
31082
|
-
|
|
31083
|
-
|
|
31084
|
-
|
|
31085
|
-
|
|
31086
|
-
|
|
31087
|
-
|
|
31088
|
-
|
|
31089
|
-
|
|
31090
|
-
|
|
31091
|
-
}, null, 8, [
|
|
31092
|
-
"modelValue",
|
|
31093
|
-
"disabled",
|
|
31094
|
-
"minute-options"
|
|
31095
|
-
])]),
|
|
31096
|
-
_ctx.showEasyButtons ? (openBlock(), createElementBlock("div", _hoisted_4$29, [createVNode(_sfc_main$116, {
|
|
31097
|
-
modelValue: localValue.value,
|
|
31098
|
-
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => localValue.value = $event)
|
|
31099
|
-
}, null, 8, ["modelValue"])])) : createCommentVNode("", true)
|
|
31100
|
-
])]),
|
|
30699
|
+
default: withCtx(() => [createElementVNode("div", _hoisted_1$73, [createVNode(AppDate_default, mergeProps({
|
|
30700
|
+
modelValue: date.value,
|
|
30701
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => date.value = $event)
|
|
30702
|
+
}, {
|
|
30703
|
+
..._ctx.$attrs,
|
|
30704
|
+
...props
|
|
30705
|
+
}, {
|
|
30706
|
+
class: "app-form-group-element flex-1",
|
|
30707
|
+
"input-only": true
|
|
30708
|
+
}), null, 16, ["modelValue"]), createVNode(AppTime_default, mergeProps({
|
|
30709
|
+
modelValue: time.value,
|
|
30710
|
+
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => time.value = $event)
|
|
30711
|
+
}, {
|
|
30712
|
+
..._ctx.$attrs,
|
|
30713
|
+
...props
|
|
30714
|
+
}, {
|
|
30715
|
+
class: "app-form-group-element flex-1",
|
|
30716
|
+
disabled: !modelValue.value || props.disabled,
|
|
30717
|
+
"input-only": true
|
|
30718
|
+
}), null, 16, ["modelValue", "disabled"])])]),
|
|
31101
30719
|
_: 3
|
|
31102
30720
|
}, 16);
|
|
31103
30721
|
};
|
|
@@ -66634,11 +66252,11 @@ var IconSquareCheckFilled = createVueComponent("filled", "square-check-filled",
|
|
|
66634
66252
|
*/
|
|
66635
66253
|
//#endregion
|
|
66636
66254
|
//#region src/components/small/app-drawer/AppDrawer.vue
|
|
66637
|
-
var _hoisted_1$
|
|
66638
|
-
var _hoisted_2$
|
|
66639
|
-
var _hoisted_3$
|
|
66640
|
-
var _hoisted_4$
|
|
66641
|
-
var _hoisted_5$
|
|
66255
|
+
var _hoisted_1$72 = { class: "display-flex-column h-100" };
|
|
66256
|
+
var _hoisted_2$53 = { class: "flex-center-vertical w-100 p-3" };
|
|
66257
|
+
var _hoisted_3$36 = { class: "flex-1" };
|
|
66258
|
+
var _hoisted_4$29 = { class: "font-600 text-size-14" };
|
|
66259
|
+
var _hoisted_5$22 = { class: "p-20 flex-1 w-100" };
|
|
66642
66260
|
var AppDrawer_default = /*#__PURE__*/ _plugin_vue_export_helper_default({
|
|
66643
66261
|
__name: "AppDrawer",
|
|
66644
66262
|
props: /*@__PURE__*/ mergeModels({
|
|
@@ -66689,26 +66307,26 @@ var AppDrawer_default = /*#__PURE__*/ _plugin_vue_export_helper_default({
|
|
|
66689
66307
|
ref: drawer,
|
|
66690
66308
|
class: normalizeClass(["filter-sidebar", drawerClass.value]),
|
|
66691
66309
|
style: normalizeStyle(drawerStyle.value)
|
|
66692
|
-
}, [createElementVNode("div", _hoisted_1$
|
|
66693
|
-
createElementVNode("div", _hoisted_2$
|
|
66310
|
+
}, [createElementVNode("div", _hoisted_1$72, [
|
|
66311
|
+
createElementVNode("div", _hoisted_2$53, [createElementVNode("div", _hoisted_3$36, [renderSlot(_ctx.$slots, "title", {}, () => [createElementVNode("div", _hoisted_4$29, toDisplayString(__props.title), 1)], true)]), createVNode(unref(IconX), {
|
|
66694
66312
|
size: 24,
|
|
66695
66313
|
stroke: 1.5,
|
|
66696
66314
|
class: "cursor-pointer",
|
|
66697
66315
|
onClick: hide
|
|
66698
66316
|
})]),
|
|
66699
66317
|
_cache[0] || (_cache[0] = createElementVNode("hr", { class: "mb-5 mt-0 w-100" }, null, -1)),
|
|
66700
|
-
createElementVNode("div", _hoisted_5$
|
|
66318
|
+
createElementVNode("div", _hoisted_5$22, [renderSlot(_ctx.$slots, "default", {}, void 0, true)])
|
|
66701
66319
|
])], 6)]);
|
|
66702
66320
|
};
|
|
66703
66321
|
}
|
|
66704
66322
|
}, [["__scopeId", "data-v-7b902216"]]);
|
|
66705
66323
|
//#endregion
|
|
66706
66324
|
//#region src/components/small/app-table/AppTableFilterDrawer.vue
|
|
66707
|
-
var _hoisted_1$
|
|
66708
|
-
var _hoisted_2$
|
|
66709
|
-
var _hoisted_3$
|
|
66710
|
-
var _hoisted_4$
|
|
66711
|
-
var _hoisted_5$
|
|
66325
|
+
var _hoisted_1$71 = { class: "display-flex-column h-100" };
|
|
66326
|
+
var _hoisted_2$52 = { class: "flex-center-vertical pr-20 pl-20 w-100 mt-15" };
|
|
66327
|
+
var _hoisted_3$35 = { class: "flex-1 mb-10" };
|
|
66328
|
+
var _hoisted_4$28 = { class: "mb-0" };
|
|
66329
|
+
var _hoisted_5$21 = { class: "p-20 flex-1 w-100" };
|
|
66712
66330
|
var _hoisted_6$13 = { class: "flex-center p-10 w-100 gap-1" };
|
|
66713
66331
|
var AppTableFilterDrawer_default = /*#__PURE__*/ _plugin_vue_export_helper_default({
|
|
66714
66332
|
__name: "AppTableFilterDrawer",
|
|
@@ -66771,13 +66389,13 @@ var AppTableFilterDrawer_default = /*#__PURE__*/ _plugin_vue_export_helper_defau
|
|
|
66771
66389
|
createElementVNode("div", {
|
|
66772
66390
|
ref: "drawer",
|
|
66773
66391
|
class: normalizeClass(["filter-sidebar", { active: isExpanded.value }])
|
|
66774
|
-
}, [createElementVNode("div", _hoisted_1$
|
|
66775
|
-
createElementVNode("div", _hoisted_2$
|
|
66392
|
+
}, [createElementVNode("div", _hoisted_1$71, [
|
|
66393
|
+
createElementVNode("div", _hoisted_2$52, [createElementVNode("div", _hoisted_3$35, [createElementVNode("h4", _hoisted_4$28, toDisplayString(__props.title), 1)]), createElementVNode("i", {
|
|
66776
66394
|
class: "icon-x cursor-pointer",
|
|
66777
66395
|
onClick: toggleDrawer
|
|
66778
66396
|
})]),
|
|
66779
66397
|
_cache[0] || (_cache[0] = createElementVNode("hr", { class: "mb-5 mt-0 w-100" }, null, -1)),
|
|
66780
|
-
createElementVNode("div", _hoisted_5$
|
|
66398
|
+
createElementVNode("div", _hoisted_5$21, [renderSlot(_ctx.$slots, "content", {}, void 0, true)]),
|
|
66781
66399
|
_cache[1] || (_cache[1] = createElementVNode("hr", { class: "mb-5 mt-0 w-100" }, null, -1)),
|
|
66782
66400
|
createElementVNode("div", _hoisted_6$13, [createVNode(_sfc_main$3, {
|
|
66783
66401
|
class: "btn-default",
|
|
@@ -67246,7 +66864,7 @@ var isNumeric = (value) => {
|
|
|
67246
66864
|
};
|
|
67247
66865
|
//#endregion
|
|
67248
66866
|
//#region src/components/small/app-file/AppFileDropZone.vue
|
|
67249
|
-
var _sfc_main$
|
|
66867
|
+
var _sfc_main$107 = {
|
|
67250
66868
|
__name: "AppFileDropZone",
|
|
67251
66869
|
emits: ["files-dropped"],
|
|
67252
66870
|
setup(__props, { emit: __emit }) {
|
|
@@ -67292,11 +66910,11 @@ var _sfc_main$106 = {
|
|
|
67292
66910
|
};
|
|
67293
66911
|
//#endregion
|
|
67294
66912
|
//#region src/components/small/app-modal/AppModal.vue
|
|
67295
|
-
var _hoisted_1$
|
|
66913
|
+
var _hoisted_1$70 = {
|
|
67296
66914
|
class: "app-modal-overlay",
|
|
67297
66915
|
style: { "z-index": "99999" }
|
|
67298
66916
|
};
|
|
67299
|
-
var _hoisted_2$
|
|
66917
|
+
var _hoisted_2$51 = {
|
|
67300
66918
|
"aria-modal": "true",
|
|
67301
66919
|
class: "modal fade show display-block",
|
|
67302
66920
|
tabindex: "-1"
|
|
@@ -67410,7 +67028,7 @@ var AppModal_default = /*#__PURE__*/ _plugin_vue_export_helper_default({
|
|
|
67410
67028
|
});
|
|
67411
67029
|
return (_ctx, _cache) => {
|
|
67412
67030
|
return openBlock(), createBlock(Transition, { name: "fadeHeight" }, {
|
|
67413
|
-
default: withCtx(() => [withDirectives(createElementVNode("div", _hoisted_1$
|
|
67031
|
+
default: withCtx(() => [withDirectives(createElementVNode("div", _hoisted_1$70, [createElementVNode("div", _hoisted_2$51, [createElementVNode("div", {
|
|
67414
67032
|
ref_key: "modal",
|
|
67415
67033
|
ref: modal,
|
|
67416
67034
|
style: normalizeStyle(modalStyle.value),
|
|
@@ -67426,15 +67044,15 @@ var AppModal_default = /*#__PURE__*/ _plugin_vue_export_helper_default({
|
|
|
67426
67044
|
}, [["__scopeId", "data-v-4065aede"]]);
|
|
67427
67045
|
//#endregion
|
|
67428
67046
|
//#region src/components/small/app-alert-modal/AppAlertModal.vue
|
|
67429
|
-
var _hoisted_1$
|
|
67430
|
-
var _hoisted_2$
|
|
67431
|
-
var _hoisted_3$
|
|
67432
|
-
var _hoisted_4$
|
|
67047
|
+
var _hoisted_1$69 = { class: "app-alert-modal rounded-3 shadow p-3" };
|
|
67048
|
+
var _hoisted_2$50 = { class: "mb-2 fw-semibold" };
|
|
67049
|
+
var _hoisted_3$34 = ["innerHTML"];
|
|
67050
|
+
var _hoisted_4$27 = {
|
|
67433
67051
|
key: 1,
|
|
67434
67052
|
class: "mb-0 app-alert-modal-text"
|
|
67435
67053
|
};
|
|
67436
|
-
var _hoisted_5$
|
|
67437
|
-
var _sfc_main$
|
|
67054
|
+
var _hoisted_5$20 = { class: "d-flex justify-content-end gap-2 mt-4" };
|
|
67055
|
+
var _sfc_main$105 = {
|
|
67438
67056
|
__name: "AppAlertModal",
|
|
67439
67057
|
props: {
|
|
67440
67058
|
title: {
|
|
@@ -67509,11 +67127,11 @@ var _sfc_main$104 = {
|
|
|
67509
67127
|
class: "app-modal-content",
|
|
67510
67128
|
onHide: onCancel
|
|
67511
67129
|
}, {
|
|
67512
|
-
default: withCtx(() => [createElementVNode("div", _hoisted_1$
|
|
67130
|
+
default: withCtx(() => [createElementVNode("div", _hoisted_1$69, [createElementVNode("div", null, [createElementVNode("h5", _hoisted_2$50, toDisplayString(__props.title), 1), __props.html ? (openBlock(), createElementBlock("div", {
|
|
67513
67131
|
key: 0,
|
|
67514
67132
|
class: "app-alert-modal-text",
|
|
67515
67133
|
innerHTML: __props.text
|
|
67516
|
-
}, null, 8, _hoisted_3$
|
|
67134
|
+
}, null, 8, _hoisted_3$34)) : (openBlock(), createElementBlock("p", _hoisted_4$27, toDisplayString(__props.text), 1))]), createElementVNode("div", _hoisted_5$20, [__props.showCancelButton ? (openBlock(), createBlock(_sfc_main$3, {
|
|
67517
67135
|
key: 0,
|
|
67518
67136
|
class: "btn app-alert-cancel-btn border",
|
|
67519
67137
|
onClick: onCancel
|
|
@@ -67577,7 +67195,7 @@ var UIUtils = class {
|
|
|
67577
67195
|
container.remove();
|
|
67578
67196
|
}, 300);
|
|
67579
67197
|
};
|
|
67580
|
-
render(h(_sfc_main$
|
|
67198
|
+
render(h(_sfc_main$105, {
|
|
67581
67199
|
...options,
|
|
67582
67200
|
resolve: (value) => {
|
|
67583
67201
|
resolve(value);
|
|
@@ -67589,11 +67207,11 @@ var UIUtils = class {
|
|
|
67589
67207
|
};
|
|
67590
67208
|
//#endregion
|
|
67591
67209
|
//#region src/components/small/app-toast/AppToastCard.vue
|
|
67592
|
-
var _hoisted_1$
|
|
67210
|
+
var _hoisted_1$68 = {
|
|
67593
67211
|
key: 0,
|
|
67594
67212
|
class: "fw-semibold"
|
|
67595
67213
|
};
|
|
67596
|
-
var _sfc_main$
|
|
67214
|
+
var _sfc_main$104 = {
|
|
67597
67215
|
__name: "AppToastCard",
|
|
67598
67216
|
props: {
|
|
67599
67217
|
item: {
|
|
@@ -67637,7 +67255,7 @@ var _sfc_main$103 = {
|
|
|
67637
67255
|
}, [__props.item.component ? (openBlock(), createBlock(resolveDynamicComponent(__props.item.component), mergeProps({ key: 0 }, __props.item.props, {
|
|
67638
67256
|
toast: __props.item,
|
|
67639
67257
|
close
|
|
67640
|
-
}), null, 16, ["toast"])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [__props.item.title ? (openBlock(), createElementBlock("div", _hoisted_1$
|
|
67258
|
+
}), null, 16, ["toast"])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [__props.item.title ? (openBlock(), createElementBlock("div", _hoisted_1$68, toDisplayString(__props.item.title), 1)) : createCommentVNode("", true), __props.item.message ? (openBlock(), createElementBlock("div", mergeProps({
|
|
67641
67259
|
key: 1,
|
|
67642
67260
|
class: { "small mt-1": __props.item.title }
|
|
67643
67261
|
}, isHtml(__props.item.message) ? { innerHTML: __props.item.message } : {}), [!isHtml(__props.item.message) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createTextVNode(toDisplayString(__props.item.message), 1)], 64)) : createCommentVNode("", true)], 16)) : createCommentVNode("", true)], 64))], 4), __props.item.isClosable ? (openBlock(), createElementBlock("button", {
|
|
@@ -67655,7 +67273,7 @@ var _sfc_main$103 = {
|
|
|
67655
67273
|
};
|
|
67656
67274
|
//#endregion
|
|
67657
67275
|
//#region src/components/small/app-toast/AppToastContainer.vue
|
|
67658
|
-
var _sfc_main$
|
|
67276
|
+
var _sfc_main$103 = {
|
|
67659
67277
|
__name: "AppToastContainer",
|
|
67660
67278
|
setup(__props) {
|
|
67661
67279
|
const { positions, positionStyle, getVisibleToasts, getPositionClasses, getToastClass, getContainerHoverStyle, getCombinedToastStyle, isContentHidden, onMeasure, pauseAll, resumeAll } = useToastLayout();
|
|
@@ -67672,7 +67290,7 @@ var _sfc_main$102 = {
|
|
|
67672
67290
|
onMouseenter: _cache[0] || (_cache[0] = (...args) => unref(pauseAll) && unref(pauseAll)(...args)),
|
|
67673
67291
|
onMouseleave: _cache[1] || (_cache[1] = (...args) => unref(resumeAll) && unref(resumeAll)(...args))
|
|
67674
67292
|
}, [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(getVisibleToasts)(position), (item, index) => {
|
|
67675
|
-
return openBlock(), createBlock(_sfc_main$
|
|
67293
|
+
return openBlock(), createBlock(_sfc_main$104, {
|
|
67676
67294
|
key: item.id,
|
|
67677
67295
|
item,
|
|
67678
67296
|
"toast-class": unref(getToastClass)(item),
|
|
@@ -67723,7 +67341,7 @@ function ensureMounted() {
|
|
|
67723
67341
|
container.id = "app-toast-root";
|
|
67724
67342
|
document.body.appendChild(container);
|
|
67725
67343
|
}
|
|
67726
|
-
render(h(_sfc_main$
|
|
67344
|
+
render(h(_sfc_main$103), container);
|
|
67727
67345
|
mounted = true;
|
|
67728
67346
|
}
|
|
67729
67347
|
function createId() {
|
|
@@ -68136,7 +67754,7 @@ var typeOfTest = (type) => (thing) => typeof thing === type;
|
|
|
68136
67754
|
*
|
|
68137
67755
|
* @returns {boolean} True if value is an Array, otherwise false
|
|
68138
67756
|
*/
|
|
68139
|
-
var { isArray: isArray$
|
|
67757
|
+
var { isArray: isArray$4 } = Array;
|
|
68140
67758
|
/**
|
|
68141
67759
|
* Determine if a value is undefined
|
|
68142
67760
|
*
|
|
@@ -68206,7 +67824,7 @@ var isNumber = typeOfTest("number");
|
|
|
68206
67824
|
*
|
|
68207
67825
|
* @returns {boolean} True if value is an Object, otherwise false
|
|
68208
67826
|
*/
|
|
68209
|
-
var isObject$
|
|
67827
|
+
var isObject$12 = (thing) => thing !== null && typeof thing === "object";
|
|
68210
67828
|
/**
|
|
68211
67829
|
* Determine if a value is a Boolean
|
|
68212
67830
|
*
|
|
@@ -68221,7 +67839,7 @@ var isBoolean = (thing) => thing === true || thing === false;
|
|
|
68221
67839
|
*
|
|
68222
67840
|
* @returns {boolean} True if value is a plain Object, otherwise false
|
|
68223
67841
|
*/
|
|
68224
|
-
var isPlainObject = (val) => {
|
|
67842
|
+
var isPlainObject$1 = (val) => {
|
|
68225
67843
|
if (kindOf(val) !== "object") return false;
|
|
68226
67844
|
const prototype = getPrototypeOf(val);
|
|
68227
67845
|
return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);
|
|
@@ -68265,7 +67883,7 @@ var isFileList = kindOfTest("FileList");
|
|
|
68265
67883
|
*
|
|
68266
67884
|
* @returns {boolean} True if value is a Stream, otherwise false
|
|
68267
67885
|
*/
|
|
68268
|
-
var isStream = (val) => isObject$
|
|
67886
|
+
var isStream = (val) => isObject$12(val) && isFunction(val.pipe);
|
|
68269
67887
|
/**
|
|
68270
67888
|
* Determine if a value is a FormData
|
|
68271
67889
|
*
|
|
@@ -68319,7 +67937,7 @@ function forEach$2(obj, fn, { allOwnKeys = false } = {}) {
|
|
|
68319
67937
|
let i;
|
|
68320
67938
|
let l;
|
|
68321
67939
|
if (typeof obj !== "object") obj = [obj];
|
|
68322
|
-
if (isArray$
|
|
67940
|
+
if (isArray$4(obj)) for (i = 0, l = obj.length; i < l; i++) fn.call(null, obj[i], i, obj);
|
|
68323
67941
|
else {
|
|
68324
67942
|
const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);
|
|
68325
67943
|
const len = keys.length;
|
|
@@ -68369,9 +67987,9 @@ function merge$1() {
|
|
|
68369
67987
|
const result = {};
|
|
68370
67988
|
const assignValue = (val, key) => {
|
|
68371
67989
|
const targetKey = caseless && findKey$1(result, key) || key;
|
|
68372
|
-
if (isPlainObject(result[targetKey]) && isPlainObject(val)) result[targetKey] = merge$1(result[targetKey], val);
|
|
68373
|
-
else if (isPlainObject(val)) result[targetKey] = merge$1({}, val);
|
|
68374
|
-
else if (isArray$
|
|
67990
|
+
if (isPlainObject$1(result[targetKey]) && isPlainObject$1(val)) result[targetKey] = merge$1(result[targetKey], val);
|
|
67991
|
+
else if (isPlainObject$1(val)) result[targetKey] = merge$1({}, val);
|
|
67992
|
+
else if (isArray$4(val)) result[targetKey] = val.slice();
|
|
68375
67993
|
else result[targetKey] = val;
|
|
68376
67994
|
};
|
|
68377
67995
|
for (let i = 0, l = arguments.length; i < l; i++) arguments[i] && forEach$2(arguments[i], assignValue);
|
|
@@ -68475,7 +68093,7 @@ var endsWith = (str, searchString, position) => {
|
|
|
68475
68093
|
*/
|
|
68476
68094
|
var toArray$1 = (thing) => {
|
|
68477
68095
|
if (!thing) return null;
|
|
68478
|
-
if (isArray$
|
|
68096
|
+
if (isArray$4(thing)) return thing;
|
|
68479
68097
|
let i = thing.length;
|
|
68480
68098
|
if (!isNumber(i)) return null;
|
|
68481
68099
|
const arr = new Array(i);
|
|
@@ -68579,7 +68197,7 @@ var toObjectSet = (arrayOrString, delimiter) => {
|
|
|
68579
68197
|
obj[value] = true;
|
|
68580
68198
|
});
|
|
68581
68199
|
};
|
|
68582
|
-
isArray$
|
|
68200
|
+
isArray$4(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));
|
|
68583
68201
|
return obj;
|
|
68584
68202
|
};
|
|
68585
68203
|
var noop$1 = () => {};
|
|
@@ -68599,11 +68217,11 @@ function isSpecCompliantForm(thing) {
|
|
|
68599
68217
|
var toJSONObject = (obj) => {
|
|
68600
68218
|
const stack = new Array(10);
|
|
68601
68219
|
const visit = (source, i) => {
|
|
68602
|
-
if (isObject$
|
|
68220
|
+
if (isObject$12(source)) {
|
|
68603
68221
|
if (stack.indexOf(source) >= 0) return;
|
|
68604
68222
|
if (!("toJSON" in source)) {
|
|
68605
68223
|
stack[i] = source;
|
|
68606
|
-
const target = isArray$
|
|
68224
|
+
const target = isArray$4(source) ? [] : {};
|
|
68607
68225
|
forEach$2(source, (value, key) => {
|
|
68608
68226
|
const reducedValue = visit(value, i + 1);
|
|
68609
68227
|
!isUndefined(reducedValue) && (target[key] = reducedValue);
|
|
@@ -68617,7 +68235,7 @@ var toJSONObject = (obj) => {
|
|
|
68617
68235
|
return visit(obj, 0);
|
|
68618
68236
|
};
|
|
68619
68237
|
var isAsyncFn = kindOfTest("AsyncFunction");
|
|
68620
|
-
var isThenable = (thing) => thing && (isObject$
|
|
68238
|
+
var isThenable = (thing) => thing && (isObject$12(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);
|
|
68621
68239
|
var _setImmediate = ((setImmediateSupported, postMessageSupported) => {
|
|
68622
68240
|
if (setImmediateSupported) return setImmediate;
|
|
68623
68241
|
return postMessageSupported ? ((token, callbacks) => {
|
|
@@ -68631,7 +68249,7 @@ var _setImmediate = ((setImmediateSupported, postMessageSupported) => {
|
|
|
68631
68249
|
})(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);
|
|
68632
68250
|
})(typeof setImmediate === "function", isFunction(_global.postMessage));
|
|
68633
68251
|
var utils_default = {
|
|
68634
|
-
isArray: isArray$
|
|
68252
|
+
isArray: isArray$4,
|
|
68635
68253
|
isArrayBuffer,
|
|
68636
68254
|
isBuffer,
|
|
68637
68255
|
isFormData,
|
|
@@ -68639,8 +68257,8 @@ var utils_default = {
|
|
|
68639
68257
|
isString: isString$1,
|
|
68640
68258
|
isNumber,
|
|
68641
68259
|
isBoolean,
|
|
68642
|
-
isObject: isObject$
|
|
68643
|
-
isPlainObject,
|
|
68260
|
+
isObject: isObject$12,
|
|
68261
|
+
isPlainObject: isPlainObject$1,
|
|
68644
68262
|
isReadableStream,
|
|
68645
68263
|
isRequest,
|
|
68646
68264
|
isResponse,
|
|
@@ -70980,14 +70598,14 @@ var fileStatus = {
|
|
|
70980
70598
|
};
|
|
70981
70599
|
//#endregion
|
|
70982
70600
|
//#region src/components/small/app-file/AppFileItem.vue
|
|
70983
|
-
var _hoisted_1$
|
|
70984
|
-
var _hoisted_2$
|
|
70985
|
-
var _hoisted_3$
|
|
70601
|
+
var _hoisted_1$67 = { class: "flex-center-vertical" };
|
|
70602
|
+
var _hoisted_2$49 = { key: 0 };
|
|
70603
|
+
var _hoisted_3$33 = {
|
|
70986
70604
|
key: 1,
|
|
70987
70605
|
class: "file-action-button flex-1 mr-10"
|
|
70988
70606
|
};
|
|
70989
|
-
var _hoisted_4$
|
|
70990
|
-
var _hoisted_5$
|
|
70607
|
+
var _hoisted_4$26 = { class: "ph-eye" };
|
|
70608
|
+
var _hoisted_5$19 = { class: "ph-download" };
|
|
70991
70609
|
var _hoisted_6$12 = { class: "ph-x-circle" };
|
|
70992
70610
|
var AppFileItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default({
|
|
70993
70611
|
__name: "AppFileItem",
|
|
@@ -71034,23 +70652,23 @@ var AppFileItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default({
|
|
|
71034
70652
|
});
|
|
71035
70653
|
return (_ctx, _cache) => {
|
|
71036
70654
|
const _directive_tippy = resolveDirective("tippy");
|
|
71037
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
70655
|
+
return openBlock(), createElementBlock("div", _hoisted_1$67, [
|
|
71038
70656
|
createElementVNode("i", {
|
|
71039
70657
|
class: normalizeClass([mediaIconClass.value, "mr-10"]),
|
|
71040
70658
|
style: { "font-size": "22px" }
|
|
71041
70659
|
}, null, 2),
|
|
71042
|
-
__props.file ? (openBlock(), createElementBlock("div", _hoisted_2$
|
|
71043
|
-
__props.file ? (openBlock(), createElementBlock("div", _hoisted_3$
|
|
70660
|
+
__props.file ? (openBlock(), createElementBlock("div", _hoisted_2$49, toDisplayString(filename.value), 1)) : createCommentVNode("", true),
|
|
70661
|
+
__props.file ? (openBlock(), createElementBlock("div", _hoisted_3$33, [
|
|
71044
70662
|
props.showPreview ? (openBlock(), createElementBlock("div", {
|
|
71045
70663
|
key: 0,
|
|
71046
70664
|
class: "ml-5 mr-5 action-icon",
|
|
71047
70665
|
onClick: _cache[0] || (_cache[0] = () => emits("preview", __props.file))
|
|
71048
|
-
}, [withDirectives(createElementVNode("i", _hoisted_4$
|
|
70666
|
+
}, [withDirectives(createElementVNode("i", _hoisted_4$26, null, 512), [[_directive_tippy, "Vizualizați fișierul"]])])) : createCommentVNode("", true),
|
|
71049
70667
|
props.showDownload ? (openBlock(), createElementBlock("div", {
|
|
71050
70668
|
key: 1,
|
|
71051
70669
|
class: "ml-5 mr-5 action-icon",
|
|
71052
70670
|
onClick: _cache[1] || (_cache[1] = () => emits("download", __props.file))
|
|
71053
|
-
}, [withDirectives(createElementVNode("i", _hoisted_5$
|
|
70671
|
+
}, [withDirectives(createElementVNode("i", _hoisted_5$19, null, 512), [[_directive_tippy, "Descărcați fișierul"]])])) : createCommentVNode("", true),
|
|
71054
70672
|
!__props.disabled ? (openBlock(), createElementBlock("div", {
|
|
71055
70673
|
key: 2,
|
|
71056
70674
|
class: "ml-5 mr-5 action-icon",
|
|
@@ -71063,17 +70681,17 @@ var AppFileItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default({
|
|
|
71063
70681
|
}, [["__scopeId", "data-v-307075d7"]]);
|
|
71064
70682
|
//#endregion
|
|
71065
70683
|
//#region src/components/small/app-file/AppFileInput.vue
|
|
71066
|
-
var _hoisted_1$
|
|
71067
|
-
var _hoisted_2$
|
|
70684
|
+
var _hoisted_1$66 = { class: "flex-center-vertical" };
|
|
70685
|
+
var _hoisted_2$48 = {
|
|
71068
70686
|
key: 0,
|
|
71069
70687
|
class: "flex-1"
|
|
71070
70688
|
};
|
|
71071
|
-
var _hoisted_3$
|
|
70689
|
+
var _hoisted_3$32 = {
|
|
71072
70690
|
key: 1,
|
|
71073
70691
|
class: "flex-1"
|
|
71074
70692
|
};
|
|
71075
|
-
var _hoisted_4$
|
|
71076
|
-
var _hoisted_5$
|
|
70693
|
+
var _hoisted_4$25 = { class: "btn-group" };
|
|
70694
|
+
var _hoisted_5$18 = ["accept", "disabled"];
|
|
71077
70695
|
var AppFileInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default({
|
|
71078
70696
|
__name: "AppFileInput",
|
|
71079
70697
|
props: /*@__PURE__*/ mergeModels({
|
|
@@ -71144,7 +70762,7 @@ var AppFileInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default({
|
|
|
71144
70762
|
isLoading.value = false;
|
|
71145
70763
|
};
|
|
71146
70764
|
return (_ctx, _cache) => {
|
|
71147
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
70765
|
+
return openBlock(), createElementBlock("div", _hoisted_1$66, [!isMediaEmpty.value ? (openBlock(), createElementBlock("div", _hoisted_2$48, [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(import_lodash.isArray)(media.value) ? media.value : [media.value], (file) => {
|
|
71148
70766
|
return openBlock(), createBlock(AppFileItem_default, {
|
|
71149
70767
|
key: file.id,
|
|
71150
70768
|
file,
|
|
@@ -71164,7 +70782,7 @@ var AppFileInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default({
|
|
|
71164
70782
|
"onDownload",
|
|
71165
70783
|
"onPreview"
|
|
71166
70784
|
]);
|
|
71167
|
-
}), 128))])) : (openBlock(), createElementBlock("div", _hoisted_3$
|
|
70785
|
+
}), 128))])) : (openBlock(), createElementBlock("div", _hoisted_3$32, toDisplayString(__props.disabled ? "Nu a fost ales niciun fișier." : "Alegeți un fișier."), 1)), createElementVNode("div", _hoisted_4$25, [!__props.disabled ? (openBlock(), createElementBlock("div", {
|
|
71168
70786
|
key: 0,
|
|
71169
70787
|
class: "btn-container",
|
|
71170
70788
|
onClick: confirm
|
|
@@ -71176,7 +70794,7 @@ var AppFileInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default({
|
|
|
71176
70794
|
type: "file",
|
|
71177
70795
|
style: { "display": "none" },
|
|
71178
70796
|
onChange: uploadFile
|
|
71179
|
-
}, null, 40, _hoisted_5$
|
|
70797
|
+
}, null, 40, _hoisted_5$18), _cache[0] || (_cache[0] = createElementVNode("div", { class: "btn btn-primary text-capitalize font-500" }, [createElementVNode("i", {
|
|
71180
70798
|
class: "ph-upload",
|
|
71181
70799
|
style: { "font-size": "16px" }
|
|
71182
70800
|
}), createElementVNode("span", { class: "ml-5" }, "Încarcă")], -1))])) : createCommentVNode("", true), !isMediaEmpty.value && __props.isMultiple ? (openBlock(), createElementBlock("div", {
|
|
@@ -71189,16 +70807,16 @@ var AppFileInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default({
|
|
|
71189
70807
|
}, [["__scopeId", "data-v-c5bb432b"]]);
|
|
71190
70808
|
//#endregion
|
|
71191
70809
|
//#region src/components/small/app-overlay/AppOverlay.vue
|
|
71192
|
-
var _sfc_main$
|
|
71193
|
-
var _hoisted_1$
|
|
70810
|
+
var _sfc_main$100 = {};
|
|
70811
|
+
var _hoisted_1$65 = { class: "blockUI blockOverlay" };
|
|
71194
70812
|
function _sfc_render$2(_ctx, _cache) {
|
|
71195
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
70813
|
+
return openBlock(), createElementBlock("div", _hoisted_1$65, [renderSlot(_ctx.$slots, "default", {}, void 0, true)]);
|
|
71196
70814
|
}
|
|
71197
|
-
var AppOverlay_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main$
|
|
70815
|
+
var AppOverlay_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main$100, [["render", _sfc_render$2], ["__scopeId", "data-v-07e2c47c"]]);
|
|
71198
70816
|
//#endregion
|
|
71199
70817
|
//#region src/components/small/app-loading-overlay/AppLoadingOverlay.vue
|
|
71200
|
-
var _hoisted_1$
|
|
71201
|
-
var _hoisted_2$
|
|
70818
|
+
var _hoisted_1$64 = { class: "w-100 h-100 flex-center" };
|
|
70819
|
+
var _hoisted_2$47 = {
|
|
71202
70820
|
key: 0,
|
|
71203
70821
|
class: "icon-spinner11 spinner"
|
|
71204
70822
|
};
|
|
@@ -71211,7 +70829,7 @@ var _sfc_main$26 = {
|
|
|
71211
70829
|
setup(__props) {
|
|
71212
70830
|
return (_ctx, _cache) => {
|
|
71213
70831
|
return openBlock(), createBlock(AppOverlay_default, null, {
|
|
71214
|
-
default: withCtx(() => [createElementVNode("div", _hoisted_1$
|
|
70832
|
+
default: withCtx(() => [createElementVNode("div", _hoisted_1$64, [__props.showIcon ? (openBlock(), createElementBlock("i", _hoisted_2$47)) : createCommentVNode("", true)])]),
|
|
71215
70833
|
_: 1
|
|
71216
70834
|
});
|
|
71217
70835
|
};
|
|
@@ -71219,7 +70837,7 @@ var _sfc_main$26 = {
|
|
|
71219
70837
|
};
|
|
71220
70838
|
//#endregion
|
|
71221
70839
|
//#region src/components/small/app-file/AppFile.vue
|
|
71222
|
-
var _hoisted_1$
|
|
70840
|
+
var _hoisted_1$63 = { class: "form-control" };
|
|
71223
70841
|
var _sfc_main$14 = {
|
|
71224
70842
|
__name: "AppFile",
|
|
71225
70843
|
props: /*@__PURE__*/ mergeModels({
|
|
@@ -71304,7 +70922,7 @@ var _sfc_main$14 = {
|
|
|
71304
70922
|
};
|
|
71305
70923
|
return (_ctx, _cache) => {
|
|
71306
70924
|
return openBlock(), createBlock(AppFormElement_default, normalizeProps(guardReactiveProps(unref(formElementProps))), {
|
|
71307
|
-
default: withCtx(() => [__props.isLoading ? (openBlock(), createBlock(_sfc_main$26, { key: 0 })) : createCommentVNode("", true), createElementVNode("div", _hoisted_1$
|
|
70925
|
+
default: withCtx(() => [__props.isLoading ? (openBlock(), createBlock(_sfc_main$26, { key: 0 })) : createCommentVNode("", true), createElementVNode("div", _hoisted_1$63, [createVNode(_sfc_main$107, { onFilesDropped: addFiles }, {
|
|
71308
70926
|
default: withCtx(({ dropZoneActive }) => [createVNode(AppFileInput_default, {
|
|
71309
70927
|
modelValue: files.value,
|
|
71310
70928
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => files.value = $event),
|
|
@@ -71334,14 +70952,14 @@ var _sfc_main$14 = {
|
|
|
71334
70952
|
};
|
|
71335
70953
|
//#endregion
|
|
71336
70954
|
//#region src/components/small/app-form-repeater/AppFormRepeater.vue
|
|
71337
|
-
var _hoisted_1$
|
|
71338
|
-
var _hoisted_2$
|
|
71339
|
-
var _hoisted_3$
|
|
70955
|
+
var _hoisted_1$62 = { class: "display-flex align-items-center" };
|
|
70956
|
+
var _hoisted_2$46 = { class: "display-flex pl-10" };
|
|
70957
|
+
var _hoisted_3$31 = {
|
|
71340
70958
|
key: 1,
|
|
71341
70959
|
class: "card list app-form-repeater-list'"
|
|
71342
70960
|
};
|
|
71343
|
-
var _hoisted_4$
|
|
71344
|
-
var _hoisted_5$
|
|
70961
|
+
var _hoisted_4$24 = { class: "d-flex py-2 px-1" };
|
|
70962
|
+
var _hoisted_5$17 = { class: "flex-center mx-2" };
|
|
71345
70963
|
var _hoisted_6$11 = { class: "px-1" };
|
|
71346
70964
|
var _hoisted_7$6 = { class: "flex-grow-1" };
|
|
71347
70965
|
var _hoisted_8$5 = { class: "display-flex align-items-center" };
|
|
@@ -71456,11 +71074,11 @@ var _sfc_main$19 = {
|
|
|
71456
71074
|
type: "list",
|
|
71457
71075
|
onIsCollapsedChanged: (isCollapsed) => handleIsCollapsedChange(index, isCollapsed)
|
|
71458
71076
|
}, {
|
|
71459
|
-
title: withCtx(() => [createElementVNode("div", _hoisted_1$
|
|
71077
|
+
title: withCtx(() => [createElementVNode("div", _hoisted_1$62, [!__props.disabled && __props.isDraggable ? (openBlock(), createBlock(unref(IconMenu2), {
|
|
71460
71078
|
key: 0,
|
|
71461
71079
|
size: 22,
|
|
71462
71080
|
class: "drag-handle"
|
|
71463
|
-
})) : createCommentVNode("", true), createElementVNode("div", _hoisted_2$
|
|
71081
|
+
})) : createCommentVNode("", true), createElementVNode("div", _hoisted_2$46, [renderSlot(_ctx.$slots, "title", normalizeProps(guardReactiveProps({
|
|
71464
71082
|
element,
|
|
71465
71083
|
index,
|
|
71466
71084
|
removeItemAtIndex
|
|
@@ -71490,8 +71108,8 @@ var _sfc_main$19 = {
|
|
|
71490
71108
|
"can-collapse",
|
|
71491
71109
|
"is-collapsed",
|
|
71492
71110
|
"onIsCollapsedChanged"
|
|
71493
|
-
])) : (openBlock(), createElementBlock("div", _hoisted_3$
|
|
71494
|
-
createElementVNode("div", _hoisted_5$
|
|
71111
|
+
])) : (openBlock(), createElementBlock("div", _hoisted_3$31, [createElementVNode("div", _hoisted_4$24, [
|
|
71112
|
+
createElementVNode("div", _hoisted_5$17, [!__props.disabled && __props.isDraggable ? (openBlock(), createBlock(unref(IconMenu2), {
|
|
71495
71113
|
key: 0,
|
|
71496
71114
|
size: 22,
|
|
71497
71115
|
class: "drag-handle"
|
|
@@ -71546,6 +71164,214 @@ var _sfc_main$19 = {
|
|
|
71546
71164
|
}
|
|
71547
71165
|
};
|
|
71548
71166
|
//#endregion
|
|
71167
|
+
//#region src/components/small/app-grid-picker/AppGridPicker.vue
|
|
71168
|
+
var _hoisted_1$61 = { class: "w-100 position-relative cursor-pointer" };
|
|
71169
|
+
var _hoisted_2$45 = ["placeholder"];
|
|
71170
|
+
var _hoisted_3$30 = {
|
|
71171
|
+
key: 1,
|
|
71172
|
+
class: "flex-1 input-placeholder"
|
|
71173
|
+
};
|
|
71174
|
+
var _hoisted_4$23 = {
|
|
71175
|
+
key: 2,
|
|
71176
|
+
class: "form-control-feedback-icon clear-button"
|
|
71177
|
+
};
|
|
71178
|
+
var _hoisted_5$16 = ["onClick"];
|
|
71179
|
+
var AppGridPicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default({
|
|
71180
|
+
__name: "AppGridPicker",
|
|
71181
|
+
props: /*@__PURE__*/ mergeModels({
|
|
71182
|
+
options: {
|
|
71183
|
+
type: Array,
|
|
71184
|
+
required: true
|
|
71185
|
+
},
|
|
71186
|
+
displayBy: {
|
|
71187
|
+
type: [String],
|
|
71188
|
+
default: "name"
|
|
71189
|
+
},
|
|
71190
|
+
openDirection: {
|
|
71191
|
+
type: String,
|
|
71192
|
+
default: "bottom"
|
|
71193
|
+
},
|
|
71194
|
+
columns: {
|
|
71195
|
+
type: Number,
|
|
71196
|
+
default: 4
|
|
71197
|
+
},
|
|
71198
|
+
width: {
|
|
71199
|
+
type: Number,
|
|
71200
|
+
default: 200
|
|
71201
|
+
},
|
|
71202
|
+
height: {
|
|
71203
|
+
type: Number,
|
|
71204
|
+
default: 500
|
|
71205
|
+
},
|
|
71206
|
+
showRemoveButtons: {
|
|
71207
|
+
type: Boolean,
|
|
71208
|
+
default: true
|
|
71209
|
+
},
|
|
71210
|
+
isTypeable: {
|
|
71211
|
+
type: Boolean,
|
|
71212
|
+
default: true
|
|
71213
|
+
},
|
|
71214
|
+
search: { type: Function },
|
|
71215
|
+
isItemSelected: {},
|
|
71216
|
+
...appFormElementProps_default
|
|
71217
|
+
}, {
|
|
71218
|
+
"modelValue": {},
|
|
71219
|
+
"modelModifiers": {}
|
|
71220
|
+
}),
|
|
71221
|
+
emits: /*@__PURE__*/ mergeModels(["close", "search"], ["update:modelValue"]),
|
|
71222
|
+
setup(__props, { expose: __expose, emit: __emit }) {
|
|
71223
|
+
const modelValue = useModel(__props, "modelValue");
|
|
71224
|
+
const props = __props;
|
|
71225
|
+
const emits = __emit;
|
|
71226
|
+
ref("100%");
|
|
71227
|
+
const showGrid = ref(false);
|
|
71228
|
+
const input = ref(null);
|
|
71229
|
+
const grid = ref(null);
|
|
71230
|
+
const searchValue = ref(null);
|
|
71231
|
+
const searchField = ref(null);
|
|
71232
|
+
const filteredOptions = ref((0, import_lodash.cloneDeep)(props.options));
|
|
71233
|
+
const { formElementProps } = useAppFormElement(props);
|
|
71234
|
+
const heightComputed = computed(() => {
|
|
71235
|
+
const rows = Math.ceil(filteredOptions.value.length / props.columns);
|
|
71236
|
+
return (0, import_lodash.min)([props.width / props.columns * rows, props.height]);
|
|
71237
|
+
});
|
|
71238
|
+
computed(() => {
|
|
71239
|
+
return {
|
|
71240
|
+
width: props.width + "px",
|
|
71241
|
+
height: heightComputed.value + "px"
|
|
71242
|
+
};
|
|
71243
|
+
});
|
|
71244
|
+
const cellStyle = computed(() => {
|
|
71245
|
+
const width = props.width / props.columns;
|
|
71246
|
+
return {
|
|
71247
|
+
width: width + "px",
|
|
71248
|
+
height: width + "px"
|
|
71249
|
+
};
|
|
71250
|
+
});
|
|
71251
|
+
const open = () => {
|
|
71252
|
+
if (props.disabled) return;
|
|
71253
|
+
showGrid.value = true;
|
|
71254
|
+
if (props.isTypeable) nextTick(() => searchField.value.focus());
|
|
71255
|
+
};
|
|
71256
|
+
const close = () => {
|
|
71257
|
+
showGrid.value = false;
|
|
71258
|
+
emits("close");
|
|
71259
|
+
};
|
|
71260
|
+
const onSelectValue = (element, index) => {
|
|
71261
|
+
modelValue.value = element;
|
|
71262
|
+
close();
|
|
71263
|
+
};
|
|
71264
|
+
const getDisplayValue = (value) => {
|
|
71265
|
+
if ((0, import_lodash.isObject)(value)) return (0, import_lodash.get)(value, props.displayBy, null);
|
|
71266
|
+
return value;
|
|
71267
|
+
};
|
|
71268
|
+
const getActiveClass = (element) => {
|
|
71269
|
+
return { active: (0, import_lodash.isEqual)(element, modelValue.value) };
|
|
71270
|
+
};
|
|
71271
|
+
const onDeleteInput = () => {
|
|
71272
|
+
modelValue.value = null;
|
|
71273
|
+
};
|
|
71274
|
+
useClickOutside({
|
|
71275
|
+
target: grid,
|
|
71276
|
+
handler: () => {
|
|
71277
|
+
if (!showGrid.value) return;
|
|
71278
|
+
close();
|
|
71279
|
+
},
|
|
71280
|
+
isOpen: showGrid,
|
|
71281
|
+
ignore: [input, searchField]
|
|
71282
|
+
});
|
|
71283
|
+
const inputClass = computed(() => ({
|
|
71284
|
+
"w-100 form-control": true,
|
|
71285
|
+
disabled: props.disabled
|
|
71286
|
+
}));
|
|
71287
|
+
const getFilteredOptions = async (search = "") => {
|
|
71288
|
+
if (props.search) return await props.search(props.options, search);
|
|
71289
|
+
if (!search || search.length === 0) return props.options;
|
|
71290
|
+
return props.options.filter((item) => {
|
|
71291
|
+
let itemName = (0, import_lodash.isObject)(item) ? (0, import_lodash.get)(item, props.displayBy, "") : item;
|
|
71292
|
+
itemName = String(itemName).toLowerCase();
|
|
71293
|
+
return itemName.includes(search.toLowerCase());
|
|
71294
|
+
});
|
|
71295
|
+
};
|
|
71296
|
+
const onSearch = async (text) => {
|
|
71297
|
+
filteredOptions.value = await getFilteredOptions(text);
|
|
71298
|
+
emits("searchValue", text);
|
|
71299
|
+
searchValue.value = text;
|
|
71300
|
+
};
|
|
71301
|
+
const onKeyEnter = () => {
|
|
71302
|
+
modelValue.value = (0, import_lodash.head)(filteredOptions.value);
|
|
71303
|
+
close();
|
|
71304
|
+
};
|
|
71305
|
+
watch(searchValue, async (newValue) => {
|
|
71306
|
+
await onSearch(newValue);
|
|
71307
|
+
});
|
|
71308
|
+
watch(() => props.options, async (newValue) => {
|
|
71309
|
+
filteredOptions.value = newValue;
|
|
71310
|
+
});
|
|
71311
|
+
__expose({
|
|
71312
|
+
open,
|
|
71313
|
+
close,
|
|
71314
|
+
props
|
|
71315
|
+
});
|
|
71316
|
+
return (_ctx, _cache) => {
|
|
71317
|
+
const _directive_tippy = resolveDirective("tippy");
|
|
71318
|
+
return openBlock(), createBlock(AppFormElement_default, normalizeProps(guardReactiveProps(unref(formElementProps))), {
|
|
71319
|
+
default: withCtx(() => [createElementVNode("div", _hoisted_1$61, [createElementVNode("div", {
|
|
71320
|
+
ref_key: "input",
|
|
71321
|
+
ref: input,
|
|
71322
|
+
class: "d-flex"
|
|
71323
|
+
}, [
|
|
71324
|
+
renderSlot(_ctx.$slots, "icon", {}, void 0, true),
|
|
71325
|
+
__props.isTypeable && showGrid.value ? withDirectives((openBlock(), createElementBlock("input", {
|
|
71326
|
+
key: 0,
|
|
71327
|
+
ref_key: "searchField",
|
|
71328
|
+
ref: searchField,
|
|
71329
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => searchValue.value = $event),
|
|
71330
|
+
class: "mb-0 no-hover flex-1 form-control",
|
|
71331
|
+
placeholder: props.placeholder,
|
|
71332
|
+
onKeyup: withKeys(onKeyEnter, ["enter"])
|
|
71333
|
+
}, null, 40, _hoisted_2$45)), [[vModelText, searchValue.value]]) : (openBlock(), createElementBlock("div", {
|
|
71334
|
+
key: 1,
|
|
71335
|
+
class: normalizeClass(inputClass.value),
|
|
71336
|
+
onClick: withModifiers(open, ["stop"])
|
|
71337
|
+
}, [renderSlot(_ctx.$slots, "default", { item: modelValue.value }, () => [modelValue.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createTextVNode(toDisplayString(getDisplayValue(modelValue.value)), 1)], 64)) : (openBlock(), createElementBlock("span", _hoisted_3$30, toDisplayString(props.placeholder), 1))], true)], 2)),
|
|
71338
|
+
modelValue.value && __props.showRemoveButtons ? (openBlock(), createElementBlock("div", _hoisted_4$23, [withDirectives(createElementVNode("i", {
|
|
71339
|
+
class: "ph-x-circle app-cross-icon",
|
|
71340
|
+
onClick: withModifiers(onDeleteInput, ["stop"])
|
|
71341
|
+
}, null, 512), [[_directive_tippy, "Ștergeți opțiunile selectate"]])])) : createCommentVNode("", true)
|
|
71342
|
+
], 512), input.value ? (openBlock(), createBlock(_sfc_main$112, {
|
|
71343
|
+
key: 0,
|
|
71344
|
+
anchor: input.value,
|
|
71345
|
+
"use-teleport": true,
|
|
71346
|
+
"is-open": showGrid.value,
|
|
71347
|
+
width: props.width
|
|
71348
|
+
}, {
|
|
71349
|
+
default: withCtx(() => [withDirectives(createElementVNode("div", {
|
|
71350
|
+
ref_key: "grid",
|
|
71351
|
+
ref: grid,
|
|
71352
|
+
class: "app-grid-dropdown overflow-auto scrollbar-hidden"
|
|
71353
|
+
}, [(openBlock(true), createElementBlock(Fragment, null, renderList(filteredOptions.value, (element, index) => {
|
|
71354
|
+
return openBlock(), createElementBlock("div", {
|
|
71355
|
+
key: index,
|
|
71356
|
+
class: "cell",
|
|
71357
|
+
onClick: ($event) => onSelectValue(element, index)
|
|
71358
|
+
}, [createElementVNode("span", {
|
|
71359
|
+
class: normalizeClass(getActiveClass(element)),
|
|
71360
|
+
style: normalizeStyle(cellStyle.value)
|
|
71361
|
+
}, [renderSlot(_ctx.$slots, "default", { item: element }, () => [createTextVNode(toDisplayString(getDisplayValue(element)), 1)], true)], 6)], 8, _hoisted_5$16);
|
|
71362
|
+
}), 128))], 512), [[vShow, showGrid.value]])]),
|
|
71363
|
+
_: 3
|
|
71364
|
+
}, 8, [
|
|
71365
|
+
"anchor",
|
|
71366
|
+
"is-open",
|
|
71367
|
+
"width"
|
|
71368
|
+
])) : createCommentVNode("", true)])]),
|
|
71369
|
+
_: 3
|
|
71370
|
+
}, 16);
|
|
71371
|
+
};
|
|
71372
|
+
}
|
|
71373
|
+
}, [["__scopeId", "data-v-12dbbc29"]]);
|
|
71374
|
+
//#endregion
|
|
71549
71375
|
//#region node_modules/lodash/isArray.js
|
|
71550
71376
|
var require_isArray = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
71551
71377
|
module.exports = Array.isArray;
|
|
@@ -125129,7 +124955,7 @@ var _sfc_main$62 = {
|
|
|
125129
124955
|
return renderSlot(_ctx.$slots, slotName, {
|
|
125130
124956
|
key: slotName,
|
|
125131
124957
|
file,
|
|
125132
|
-
|
|
124958
|
+
context: unref(fileUploadContext)
|
|
125133
124959
|
});
|
|
125134
124960
|
}), 128))
|
|
125135
124961
|
])]),
|
|
@@ -125139,7 +124965,7 @@ var _sfc_main$62 = {
|
|
|
125139
124965
|
action,
|
|
125140
124966
|
file,
|
|
125141
124967
|
index,
|
|
125142
|
-
|
|
124968
|
+
context: unref(fileUploadContext)
|
|
125143
124969
|
}, () => [createVNode(_component_app_button, {
|
|
125144
124970
|
disabled: action.name === "removed" && __props.disabled,
|
|
125145
124971
|
class: "btn-transparent",
|
|
@@ -125352,7 +125178,7 @@ var _sfc_main$15 = {
|
|
|
125352
125178
|
accept: unref(fileUpload).normalizedAccept.value,
|
|
125353
125179
|
disabled: _ctx.disabled,
|
|
125354
125180
|
onChange: _cache[0] || (_cache[0] = (...args) => unref(fileUpload).onFileSelect && unref(fileUpload).onFileSelect(...args))
|
|
125355
|
-
}, null, 40, _hoisted_2$3), createVNode(_sfc_main$
|
|
125181
|
+
}, null, 40, _hoisted_2$3), createVNode(_sfc_main$107, {
|
|
125356
125182
|
disabled: _ctx.disabled,
|
|
125357
125183
|
onFilesDropped: unref(fileUpload).onFileSelect
|
|
125358
125184
|
}, {
|
|
@@ -125587,6 +125413,266 @@ function useFormDirty(config) {
|
|
|
125587
125413
|
};
|
|
125588
125414
|
}
|
|
125589
125415
|
//#endregion
|
|
125416
|
+
//#region src/utils/DateUtils.js
|
|
125417
|
+
var DateUtils = class DateUtils {
|
|
125418
|
+
static getDayNames() {
|
|
125419
|
+
return {
|
|
125420
|
+
[Constants_default.LANGUAGE_EN]: [
|
|
125421
|
+
"Sun",
|
|
125422
|
+
"Mon",
|
|
125423
|
+
"Tue",
|
|
125424
|
+
"Wed",
|
|
125425
|
+
"Thu",
|
|
125426
|
+
"Fri",
|
|
125427
|
+
"Sat"
|
|
125428
|
+
],
|
|
125429
|
+
[Constants_default.LANGUAGE_RO]: [
|
|
125430
|
+
"Dum",
|
|
125431
|
+
"Lun",
|
|
125432
|
+
"Mar",
|
|
125433
|
+
"Mie",
|
|
125434
|
+
"Joi",
|
|
125435
|
+
"Vin",
|
|
125436
|
+
"Sam"
|
|
125437
|
+
]
|
|
125438
|
+
};
|
|
125439
|
+
}
|
|
125440
|
+
static getMonthNames() {
|
|
125441
|
+
return {
|
|
125442
|
+
[Constants_default.LANGUAGE_EN]: [
|
|
125443
|
+
"Jan",
|
|
125444
|
+
"Feb",
|
|
125445
|
+
"Mar",
|
|
125446
|
+
"Apr",
|
|
125447
|
+
"May",
|
|
125448
|
+
"Jun",
|
|
125449
|
+
"Jul",
|
|
125450
|
+
"Aug",
|
|
125451
|
+
"Sep",
|
|
125452
|
+
"Oct",
|
|
125453
|
+
"Nov",
|
|
125454
|
+
"Dec"
|
|
125455
|
+
],
|
|
125456
|
+
[Constants_default.LANGUAGE_RO]: [
|
|
125457
|
+
"Ian",
|
|
125458
|
+
"Feb",
|
|
125459
|
+
"Mar",
|
|
125460
|
+
"Apr",
|
|
125461
|
+
"Mai",
|
|
125462
|
+
"Iun",
|
|
125463
|
+
"Iul",
|
|
125464
|
+
"Aug",
|
|
125465
|
+
"Sep",
|
|
125466
|
+
"Oct",
|
|
125467
|
+
"Noi",
|
|
125468
|
+
"Dec"
|
|
125469
|
+
]
|
|
125470
|
+
};
|
|
125471
|
+
}
|
|
125472
|
+
static commonFormats = [
|
|
125473
|
+
"yyyy-MM-dd HH:mm:ss",
|
|
125474
|
+
"yyyy-MM-dd HH:mm",
|
|
125475
|
+
"yyyy-MM-dd",
|
|
125476
|
+
"MM/dd/yyyy HH:mm:ss",
|
|
125477
|
+
"MM/dd/yyyy HH:mm",
|
|
125478
|
+
"MM/dd/yyyy",
|
|
125479
|
+
"dd/MM/yyyy HH:mm:ss",
|
|
125480
|
+
"dd/MM/yyyy HH:mm",
|
|
125481
|
+
"dd/MM/yyyy",
|
|
125482
|
+
"dd.MM.yyyy HH:mm:ss",
|
|
125483
|
+
"dd.MM.yyyy HH:mm",
|
|
125484
|
+
"dd.MM.yyyy",
|
|
125485
|
+
"yyyy/MM/dd HH:mm:ss",
|
|
125486
|
+
"yyyy/MM/dd HH:mm",
|
|
125487
|
+
"yyyy/MM/dd",
|
|
125488
|
+
"dd-MM-yyyy HH:mm:ss",
|
|
125489
|
+
"dd-MM-yyyy HH:mm",
|
|
125490
|
+
"dd-MM-yyyy",
|
|
125491
|
+
"yyyy-MM-dd h:mm:ss a",
|
|
125492
|
+
"yyyy-MM-dd h:mm a",
|
|
125493
|
+
"MM/dd/yyyy h:mm:ss a",
|
|
125494
|
+
"MM/dd/yyyy h:mm a",
|
|
125495
|
+
"dd/MM/yyyy h:mm:ss a",
|
|
125496
|
+
"dd/MM/yyyy h:mm a"
|
|
125497
|
+
];
|
|
125498
|
+
static getCalendarComponentLanguageData(language) {
|
|
125499
|
+
return {
|
|
125500
|
+
days: DateUtils.getDayNames()[language],
|
|
125501
|
+
months: DateUtils.getMonthNames()[language],
|
|
125502
|
+
placeholder: {},
|
|
125503
|
+
formatLocale: { firstDayOfWeek: this.getCalendarComponentFirstDatOfWeek(language) }
|
|
125504
|
+
};
|
|
125505
|
+
}
|
|
125506
|
+
static getCalendarComponentFirstDatOfWeek(language) {
|
|
125507
|
+
if (language === Constants_default.LANGUAGE_EN) return Constants_default.CALENDAR_FIRST_DAY_OF_WEEK_EN;
|
|
125508
|
+
else return Constants_default.CALENDAR_FIRST_DAY_OF_WEEK_RO;
|
|
125509
|
+
}
|
|
125510
|
+
static get FORMAT_ROMANIAN_DATE() {
|
|
125511
|
+
return "dd.MM.yyyy";
|
|
125512
|
+
}
|
|
125513
|
+
static get FORMAT_ROMANIAN_DATE_HOUR() {
|
|
125514
|
+
return "dd.MM.yyyy HH";
|
|
125515
|
+
}
|
|
125516
|
+
static get FORMAT_ROMANIAN_DATE_HOUR_MINUTE() {
|
|
125517
|
+
return "dd.MM.yyyy HH:mm";
|
|
125518
|
+
}
|
|
125519
|
+
static get FORMAT_ROMANIAN_DATE_HOUR_MINUTE_SECOND() {
|
|
125520
|
+
return "dd.MM.yyyy HH:mm:ss";
|
|
125521
|
+
}
|
|
125522
|
+
static get FORMAT_ENGLISH_DATE() {
|
|
125523
|
+
return "yyyy-MM-dd";
|
|
125524
|
+
}
|
|
125525
|
+
static get FORMAT_ENGLISH_DATE_HOUR() {
|
|
125526
|
+
return "yyyy-MM-dd HH";
|
|
125527
|
+
}
|
|
125528
|
+
static get FORMAT_ENGLISH_DATE_HOUR_MINUTE() {
|
|
125529
|
+
return "yyyy-MM-dd HH:mm";
|
|
125530
|
+
}
|
|
125531
|
+
static get FORMAT_ENGLISH_DATE_HOUR_MINUTE_SECOND() {
|
|
125532
|
+
return "yyyy-MM-dd HH:mm:ss";
|
|
125533
|
+
}
|
|
125534
|
+
static stringToDate(dateString, format = null) {
|
|
125535
|
+
if (!dateString) return null;
|
|
125536
|
+
if (format) return parse$2(dateString, format, /* @__PURE__ */ new Date());
|
|
125537
|
+
for (const format of this.commonFormats) try {
|
|
125538
|
+
const result = parse$2(dateString, format, /* @__PURE__ */ new Date());
|
|
125539
|
+
if (isValid$1(result)) return result;
|
|
125540
|
+
} catch (error) {
|
|
125541
|
+
continue;
|
|
125542
|
+
}
|
|
125543
|
+
const nativeParsed = new Date(dateString);
|
|
125544
|
+
return isValid$1(nativeParsed) ? nativeParsed : null;
|
|
125545
|
+
}
|
|
125546
|
+
static stringFromTo(date, formatFrom = this.FORMAT_ENGLISH_DATE, formatTo = this.FORMAT_ROMANIAN_DATE) {
|
|
125547
|
+
if (!date) return null;
|
|
125548
|
+
return format$1(parse$2(date, formatFrom, /* @__PURE__ */ new Date()), formatTo);
|
|
125549
|
+
}
|
|
125550
|
+
static dateToString(date, dateFormat = this.FORMAT_ROMANIAN_DATE) {
|
|
125551
|
+
if (!date) return null;
|
|
125552
|
+
return format$1(date, dateFormat);
|
|
125553
|
+
}
|
|
125554
|
+
/**
|
|
125555
|
+
* @deprecated since version 1.9.7
|
|
125556
|
+
*/
|
|
125557
|
+
static dateToStringWithTime(date, dateFormat = "dd-MM-yyyy HH:mm:ss") {
|
|
125558
|
+
return format$1(date, dateFormat);
|
|
125559
|
+
}
|
|
125560
|
+
/**
|
|
125561
|
+
* @deprecated since version 1.9.7
|
|
125562
|
+
*/
|
|
125563
|
+
static dateFromTo(date, formatFrom = "yyyy-MM-dd", formatTo = "dd-MM-yyyy") {
|
|
125564
|
+
console.warn("Warning! Deprecated function from 01.03.2023 called!");
|
|
125565
|
+
if (!date) return null;
|
|
125566
|
+
return format$1(parse$2(date, formatFrom, /* @__PURE__ */ new Date()), formatTo);
|
|
125567
|
+
}
|
|
125568
|
+
/**
|
|
125569
|
+
* @deprecated since version 1.9.7
|
|
125570
|
+
*/
|
|
125571
|
+
static dateFromToWithTime(date, formatFrom = "yyyy-MM-dd HH:mm:ss", formatTo = "dd-MM-yyyy HH:mm:ss") {
|
|
125572
|
+
console.warn("Warning! Deprecated function from 01.03.2023 called!");
|
|
125573
|
+
if (!date) return null;
|
|
125574
|
+
return format$1(parse$2(date, formatFrom, /* @__PURE__ */ new Date()), formatTo);
|
|
125575
|
+
}
|
|
125576
|
+
/**
|
|
125577
|
+
* @deprecated since version 1.9.7
|
|
125578
|
+
*/
|
|
125579
|
+
static stringFromToWithTime(date, formatFrom = "yyyy-MM-dd HH:mm:ss", formatTo = "dd-MM-yyyy HH:mm:ss") {
|
|
125580
|
+
console.warn("Warning! Deprecated function from 01.03.2023 called!");
|
|
125581
|
+
if (!date) return null;
|
|
125582
|
+
return format$1(parse$2(date, formatFrom, /* @__PURE__ */ new Date()), formatTo);
|
|
125583
|
+
}
|
|
125584
|
+
/**
|
|
125585
|
+
* @deprecated since version 1.9.7
|
|
125586
|
+
*/
|
|
125587
|
+
static romanianToEnglishDate(dateString) {
|
|
125588
|
+
console.warn("Warning! Deprecated function from 01.03.2023 called!");
|
|
125589
|
+
return this.stringFromTo(dateString, "dd-MM-yyyy", "yyyy-MM-dd");
|
|
125590
|
+
}
|
|
125591
|
+
/**
|
|
125592
|
+
* @deprecated since version 1.9.7
|
|
125593
|
+
*/
|
|
125594
|
+
static romanianToEnglishDateHour(dateString) {
|
|
125595
|
+
console.warn("Warning! Deprecated function from 01.03.2023 called!");
|
|
125596
|
+
return this.stringFromTo(dateString, "dd-MM-yyyy HH", "yyyy-MM-dd HH:00");
|
|
125597
|
+
}
|
|
125598
|
+
/**
|
|
125599
|
+
* @deprecated since version 1.9.7
|
|
125600
|
+
*/
|
|
125601
|
+
static romanianToEnglishDateHourMinute(dateString) {
|
|
125602
|
+
console.warn("Warning! Deprecated function from 01.03.2023 called!");
|
|
125603
|
+
return this.stringFromTo(dateString, "dd-MM-yyyy HH:mm", "yyyy-MM-dd HH:mm");
|
|
125604
|
+
}
|
|
125605
|
+
/**
|
|
125606
|
+
* @deprecated since version 1.9.7
|
|
125607
|
+
*/
|
|
125608
|
+
static romanianToEnglishDateHourMinuteSeconds(dateString) {
|
|
125609
|
+
console.warn("Warning! Deprecated function from 01.03.2023 called!");
|
|
125610
|
+
return this.stringFromTo(dateString, "dd-MM-yyyy HH:mm:ss", "yyyy-MM-dd HH:mm:ss");
|
|
125611
|
+
}
|
|
125612
|
+
/**
|
|
125613
|
+
* @deprecated since version 1.9.7
|
|
125614
|
+
*/
|
|
125615
|
+
static englishToRomanianDate(dateString) {
|
|
125616
|
+
console.warn("Warning! Deprecated function from 01.03.2023 called!");
|
|
125617
|
+
return this.stringFromTo(dateString, "yyyy-MM-dd", "dd-MM-yyyy");
|
|
125618
|
+
}
|
|
125619
|
+
/**
|
|
125620
|
+
* @deprecated since version 2.0
|
|
125621
|
+
*/
|
|
125622
|
+
static englishToRomanianDateHour(dateString) {
|
|
125623
|
+
console.warn("Warning! Depricated function from 01.03.2023 called!");
|
|
125624
|
+
return this.stringFromTo(dateString, "yyyy-MM-dd HH:00", "dd-MM-yyyy HH");
|
|
125625
|
+
}
|
|
125626
|
+
/**
|
|
125627
|
+
* @deprecated since version 2.0
|
|
125628
|
+
*/
|
|
125629
|
+
static englishToRomanianDateHourMinute(dateString) {
|
|
125630
|
+
return this.stringFromTo(dateString, "yyyy-MM-dd HH:mm", "dd-MM-yyyy HH:mm");
|
|
125631
|
+
}
|
|
125632
|
+
/**
|
|
125633
|
+
* @deprecated since version 2.0
|
|
125634
|
+
*/
|
|
125635
|
+
static englishToRomanianDateHourMinuteSeconds(dateString) {
|
|
125636
|
+
return this.stringFromTo(dateString, "yyyy-MM-dd HH:mm:ss", "dd-MM-yyyy HH:mm:ss");
|
|
125637
|
+
}
|
|
125638
|
+
static displayInterval(start, end, dateFormat = this.FORMAT_ROMANIAN_DATE) {
|
|
125639
|
+
if (!start && !end) return `Nedeterminata`;
|
|
125640
|
+
if (start && end) return `${DateUtils.dateToString(start, dateFormat)} - ${DateUtils.dateToString(end, dateFormat)}`;
|
|
125641
|
+
if (start) return `>= ${DateUtils.dateToString(start, dateFormat)}`;
|
|
125642
|
+
if (end) return `<= ${DateUtils.dateToString(end, dateFormat)}`;
|
|
125643
|
+
}
|
|
125644
|
+
static isStringDate = (dateString) => {
|
|
125645
|
+
return /^\d{2,4}[-./]\d{1,2}[-./]\d{1,4}([ T]\d{2}:\d{2}(:\d{2}(\.\d+)?(Z|[+-]\d{2}:?\d{2})?)?)?$/.test(dateString);
|
|
125646
|
+
};
|
|
125647
|
+
static stringToDateRecursive = (item, deep = false) => {
|
|
125648
|
+
if (!item) return item;
|
|
125649
|
+
if ((0, import_lodash.isArray)(item)) return item.map((el) => DateUtils.stringToDateRecursive(el, deep));
|
|
125650
|
+
if ((0, import_lodash.isPlainObject)(item)) {
|
|
125651
|
+
for (const key in item) if (Object.prototype.hasOwnProperty.call(item, key)) item[key] = deep ? DateUtils.stringToDateRecursive(item[key], deep) : DateUtils.stringToDateRecursive(item[key]);
|
|
125652
|
+
return item;
|
|
125653
|
+
}
|
|
125654
|
+
if (typeof item === "string") return DateUtils.isStringDate(item) ? DateUtils.stringToDate(item) : item;
|
|
125655
|
+
return item;
|
|
125656
|
+
};
|
|
125657
|
+
static isOlderThan = (timestamp, minutes) => {
|
|
125658
|
+
return Date.now() - timestamp > minutes * 60 * 1e3;
|
|
125659
|
+
};
|
|
125660
|
+
static nextMonth({ month, year }) {
|
|
125661
|
+
const d = new Date(+year, +month);
|
|
125662
|
+
return {
|
|
125663
|
+
month: String(d.getMonth() + 1),
|
|
125664
|
+
year: String(d.getFullYear())
|
|
125665
|
+
};
|
|
125666
|
+
}
|
|
125667
|
+
static previousMonth({ month, year }) {
|
|
125668
|
+
const d = new Date(+year, +month - 2);
|
|
125669
|
+
return {
|
|
125670
|
+
month: String(d.getMonth() + 1),
|
|
125671
|
+
year: String(d.getFullYear())
|
|
125672
|
+
};
|
|
125673
|
+
}
|
|
125674
|
+
};
|
|
125675
|
+
//#endregion
|
|
125590
125676
|
//#region src/components/small/app-form-draft-toast/AppFormDraftToast.vue
|
|
125591
125677
|
var _hoisted_1$4 = { class: "app-form-draft-toast flex-center-vertical" };
|
|
125592
125678
|
var _hoisted_2$1 = { class: "mr-20" };
|
|
@@ -137401,7 +137487,9 @@ var components_exports = /* @__PURE__ */ __exportAll({
|
|
|
137401
137487
|
AppDatePickerDayOfWeek: () => _sfc_main$8,
|
|
137402
137488
|
AppDatePickerRange: () => _sfc_main$9,
|
|
137403
137489
|
AppDateRange: () => _sfc_main$9,
|
|
137490
|
+
AppDateTime: () => _sfc_main$10,
|
|
137404
137491
|
AppDateTimePicker: () => _sfc_main$10,
|
|
137492
|
+
AppDayOfWeek: () => _sfc_main$8,
|
|
137405
137493
|
AppDrawer: () => AppDrawer_default,
|
|
137406
137494
|
AppDropdown: () => _sfc_main$11,
|
|
137407
137495
|
AppDualListMagic: () => _sfc_main$12,
|
|
@@ -137465,12 +137553,11 @@ var components_exports = /* @__PURE__ */ __exportAll({
|
|
|
137465
137553
|
AppTeleport: () => _sfc_main$51,
|
|
137466
137554
|
AppTeleportTarget: () => _sfc_main$52,
|
|
137467
137555
|
AppTextArea: () => AppTextArea_default,
|
|
137468
|
-
|
|
137556
|
+
AppTime: () => AppTime_default,
|
|
137469
137557
|
AppToggleButton: () => _sfc_main$53,
|
|
137470
137558
|
AppToolbar: () => _sfc_main$54,
|
|
137471
137559
|
AppToolbarSubheader: () => AppToolbarSubheader_default,
|
|
137472
137560
|
AppTree: () => _sfc_main$55,
|
|
137473
|
-
DayOfWeek: () => _sfc_main$8,
|
|
137474
137561
|
VueDatePicker: () => Nr
|
|
137475
137562
|
});
|
|
137476
137563
|
//#endregion
|
|
@@ -137773,6 +137860,6 @@ var plugin = { install(Vue, config) {
|
|
|
137773
137860
|
config?.mediaType && setMediaType(config.mediaType);
|
|
137774
137861
|
} };
|
|
137775
137862
|
//#endregion
|
|
137776
|
-
export { _sfc_main as AppBadge, _sfc_main$1 as AppBoard, _sfc_main$2 as AppBreadcrumbs, _sfc_main$3 as AppButton, _sfc_main$4 as AppButtonGroup, _sfc_main$5 as AppCard, _sfc_main$6 as AppCarousel, _sfc_main$7 as AppCheckbox, AppChild_default as AppChild, AppColorPicker_default as AppColorPicker, AppDate_default as AppDate, AppDate_default as AppDatePicker, _sfc_main$8 as AppDatePickerDayOfWeek, _sfc_main$8 as
|
|
137863
|
+
export { _sfc_main as AppBadge, _sfc_main$1 as AppBoard, _sfc_main$2 as AppBreadcrumbs, _sfc_main$3 as AppButton, _sfc_main$4 as AppButtonGroup, _sfc_main$5 as AppCard, _sfc_main$6 as AppCarousel, _sfc_main$7 as AppCheckbox, AppChild_default as AppChild, AppColorPicker_default as AppColorPicker, AppDate_default as AppDate, AppDate_default as AppDatePicker, _sfc_main$8 as AppDatePickerDayOfWeek, _sfc_main$8 as AppDayOfWeek, _sfc_main$9 as AppDatePickerRange, _sfc_main$9 as AppDateRange, _sfc_main$10 as AppDateTime, _sfc_main$10 as AppDateTimePicker, AppDrawer_default as AppDrawer, _sfc_main$11 as AppDropdown, _sfc_main$12 as AppDualListMagic, _sfc_main$13 as AppEllipsisText, _sfc_main$14 as AppFile, AppFileInput_default as AppFileInput, _sfc_main$15 as AppFileNew, _sfc_main$16 as AppFilePreview, AppFooter_default as AppFooter, _sfc_main$17 as AppFormDynamic, AppFormElement_default as AppFormElement, _sfc_main$18 as AppFormModal, _sfc_main$19 as AppFormRepeater, _sfc_main$20 as AppFormWizard, AppGridPicker_default as AppGridPicker, _sfc_main$21 as AppHtml, _sfc_main$22 as AppIcon, _sfc_main$23 as AppIframe, AppInput_default as AppInput, _sfc_main$24 as AppLink, _sfc_main$25 as AppLoading, AppLoadingModal_default as AppLoadingModal, _sfc_main$26 as AppLoadingOverlay, _sfc_main$27 as AppMenu, AppModal_default as AppModal, _sfc_main$28 as AppModalCard, AppNumberInput_default as AppNumberInput, AppOverlay_default as AppOverlay, _sfc_main$29 as AppPage, _sfc_main$30 as AppPagination, AppPhone_default as AppPhone, _sfc_main$31 as AppPlaceholderCard, _sfc_main$32 as AppPlaceholderHeading, _sfc_main$33 as AppPlaceholderImage, _sfc_main$34 as AppPlaceholderText, _sfc_main$35 as AppPlaceholderTitle, AppProgressBar_default as AppProgressBar, AppProgressBarOverlay_default as AppProgressBarOverlay, AppRadioButton_default as AppRadioButton, AppRemovableTag_default as AppRemovableTag, AppScrollToBottom_default as AppScrollToBottom, AppScrollToTop_default as AppScrollToTop, _sfc_main$36 as AppScrollTopAndBottom, _sfc_main$37 as AppSelect, _sfc_main$38 as AppSelectBoolean, _sfc_main$39 as AppSelectIcon, _sfc_main$40 as AppSelectNew, _sfc_main$41 as AppSidebar, _sfc_main$42 as AppSidebarHeader, _sfc_main$43 as AppSkeleton, _sfc_main$44 as AppSkeletonGroup, AppSliderInput_default as AppSliderInput, _sfc_main$45 as AppSummary, _sfc_main$46 as AppTable, _sfc_main$47 as AppTableFilter, AppTableFilterDrawer_default as AppTableFilterDrawer, _sfc_main$48 as AppTableMagic, _sfc_main$49 as AppTabs, _sfc_main$50 as AppTabsBoolean, AppTag_default as AppTag, _sfc_main$51 as AppTeleport, _sfc_main$52 as AppTeleportTarget, AppTextArea_default as AppTextArea, AppTime_default as AppTime, _sfc_main$53 as AppToggleButton, _sfc_main$54 as AppToolbar, AppToolbarSubheader_default as AppToolbarSubheader, _sfc_main$55 as AppTree, BaseRepository, DateUtils, ResponseUtils, TableUtils, ToastUtils, UIUtils, Nr as VueDatePicker, VueUtils_exports as VueUtils, appFormElementProps_default as appFormElementProps, useAppSelectCore_default as appSelectProps, useAppSelectCore_default as sharedProps, bindOneWay, bindTwoWay, booleanOption, plugin as default, fetchBuilder, fetchBuilderNew, flattenSchemaFields, generateComputedChildren, generateComputedParent, getBinding, getBindingImmutableFor, getFormBuilder, getFormElementName, getFormElementNameKey, getGUID, getStyleFromObject, hasValue, isEqualLoose, isNumeric, joinList, makeArray, mergeObjectWithoutOverwrite, resolveValue, resolveValueSync, sleep, toPathString, urlToBooleanOption, useAppFormElement, useClickOutside, useForm, useFormOld_default as useFormFunky, useFormValidation, useModelWatch, useSelectOld as useSelect, selectOldProps as useSelectProps, useTable, useTableFilters, useTableModel, useTableModelTableButton, useTableModelTopButton, veeBinds };
|
|
137777
137864
|
|
|
137778
137865
|
//# sourceMappingURL=funky-ui-kit.esm.js.map
|