@katlux/toolkit 0.1.0-beta.44 → 0.1.0-beta.46
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/module.json +1 -1
- package/dist/runtime/components/KButton/KButton.logic.d.ts +1 -1
- package/dist/runtime/components/KCombobox/KCombobox.global.d.vue.ts +1 -1
- package/dist/runtime/components/KCombobox/KCombobox.global.vue.d.ts +1 -1
- package/dist/runtime/components/KDatatable/KDataIterator.logic.d.ts +0 -20
- package/dist/runtime/components/KDatatable/KDatatable.logic.d.ts +0 -12
- package/dist/runtime/components/KDatePicker/KDatePicker.global.d.vue.ts +15 -6
- package/dist/runtime/components/KDatePicker/KDatePicker.global.vue +13 -2
- package/dist/runtime/components/KDatePicker/KDatePicker.global.vue.d.ts +15 -6
- package/dist/runtime/components/KDatePicker/KDatePicker.logic.d.ts +6 -1
- package/dist/runtime/components/KDatePicker/KDatePicker.logic.js +49 -4
- package/dist/runtime/components/KDateTimePicker/KDateTimePicker.global.d.vue.ts +45 -8
- package/dist/runtime/components/KDateTimePicker/KDateTimePicker.global.vue +26 -1
- package/dist/runtime/components/KDateTimePicker/KDateTimePicker.global.vue.d.ts +45 -8
- package/dist/runtime/components/KDateTimePicker/KDateTimePicker.logic.d.ts +16 -1
- package/dist/runtime/components/KDateTimePicker/KDateTimePicker.logic.js +132 -13
- package/dist/runtime/components/KHourPicker/KHourPicker.global.d.vue.ts +21 -1
- package/dist/runtime/components/KHourPicker/KHourPicker.global.vue +24 -11
- package/dist/runtime/components/KHourPicker/KHourPicker.global.vue.d.ts +21 -1
- package/dist/runtime/components/KHourPicker/KHourPicker.logic.d.ts +14 -3
- package/dist/runtime/components/KHourPicker/KHourPicker.logic.js +25 -10
- package/dist/runtime/components/KHourSelect/KHourSelect.logic.js +4 -1
- package/dist/runtime/components/KMaskTextbox/KMaskTextbox.global.d.vue.ts +1 -1
- package/dist/runtime/components/KMaskTextbox/KMaskTextbox.global.vue.d.ts +1 -1
- package/dist/runtime/components/KTextbox/KTextbox.global.d.vue.ts +3 -2
- package/dist/runtime/components/KTextbox/KTextbox.global.vue +2 -2
- package/dist/runtime/components/KTextbox/KTextbox.global.vue.d.ts +3 -2
- package/dist/runtime/components/KTextbox/KTextbox.logic.d.ts +4 -4
- package/dist/runtime/components/KTextbox/KTextbox.logic.js +4 -4
- package/dist/runtime/components/KTreePicker/KTreePicker.global.d.vue.ts +3 -3
- package/dist/runtime/components/KTreePicker/KTreePicker.global.vue.d.ts +3 -3
- package/dist/runtime/components/KTreeView/KTreeView.global.d.vue.ts +3 -3
- package/dist/runtime/components/KTreeView/KTreeView.global.vue.d.ts +3 -3
- package/dist/runtime/presets/default/components/KDatePicker/KDatePicker.d.vue.ts +2 -0
- package/dist/runtime/presets/default/components/KDatePicker/KDatePicker.vue +3 -1
- package/dist/runtime/presets/default/components/KDatePicker/KDatePicker.vue.d.ts +2 -0
- package/dist/runtime/presets/default/components/KDateTimePicker/KDateTimePicker.d.vue.ts +2 -0
- package/dist/runtime/presets/default/components/KDateTimePicker/KDateTimePicker.vue +3 -1
- package/dist/runtime/presets/default/components/KDateTimePicker/KDateTimePicker.vue.d.ts +2 -0
- package/dist/runtime/presets/default/components/KDropdown/KDropdown.vue +5 -1
- package/dist/runtime/presets/default/components/KHourPicker/KHourPicker.d.vue.ts +6 -2
- package/dist/runtime/presets/default/components/KHourPicker/KHourPicker.vue +23 -13
- package/dist/runtime/presets/default/components/KHourPicker/KHourPicker.vue.d.ts +6 -2
- package/dist/runtime/presets/default/components/KMaskTextbox/KMaskTextbox.vue +6 -1
- package/dist/runtime/presets/default/components/KTextbox/KTextbox.d.vue.ts +1 -1
- package/dist/runtime/presets/default/components/KTextbox/KTextbox.vue +2 -2
- package/dist/runtime/presets/default/components/KTextbox/KTextbox.vue.d.ts +1 -1
- package/package.json +1 -1
package/dist/module.json
CHANGED
|
@@ -22,7 +22,7 @@ export interface KButtonEmits {
|
|
|
22
22
|
export declare function useKButtonLogic(props: KButtonProps, emit: KButtonEmits): {
|
|
23
23
|
isLink: import("vue").ComputedRef<boolean>;
|
|
24
24
|
isDisabled: import("vue").ComputedRef<boolean | undefined>;
|
|
25
|
-
buttonClasses: import("vue").ComputedRef<("info" | "default" | "primary" | "danger" | "success" | "warning" | "light" | "dark" | "
|
|
25
|
+
buttonClasses: import("vue").ComputedRef<("info" | "default" | "small" | "primary" | "danger" | "success" | "warning" | "light" | "dark" | "large" | "medium" | {
|
|
26
26
|
disabled: boolean | undefined;
|
|
27
27
|
})[]>;
|
|
28
28
|
onClick: () => void;
|
|
@@ -86,13 +86,13 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
|
|
|
86
86
|
"onUpdate:modelValue"?: ((value: import("@katlux/providers").TDataRow | import("@katlux/providers").TDataRow[] | null) => any) | undefined;
|
|
87
87
|
}>, {
|
|
88
88
|
disabled: boolean;
|
|
89
|
+
modelValue: import("@katlux/providers").TDataRow | import("@katlux/providers").TDataRow[] | null;
|
|
89
90
|
searchbox: boolean;
|
|
90
91
|
placeholder: string;
|
|
91
92
|
closeOnSelect: boolean;
|
|
92
93
|
multiSelect: boolean;
|
|
93
94
|
maxSelectedDisplay: string | number | boolean;
|
|
94
95
|
visibleFields: String[];
|
|
95
|
-
modelValue: import("@katlux/providers").TDataRow | import("@katlux/providers").TDataRow[] | null;
|
|
96
96
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
97
97
|
declare const _default: typeof __VLS_export;
|
|
98
98
|
export default _default;
|
|
@@ -86,13 +86,13 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
|
|
|
86
86
|
"onUpdate:modelValue"?: ((value: import("@katlux/providers").TDataRow | import("@katlux/providers").TDataRow[] | null) => any) | undefined;
|
|
87
87
|
}>, {
|
|
88
88
|
disabled: boolean;
|
|
89
|
+
modelValue: import("@katlux/providers").TDataRow | import("@katlux/providers").TDataRow[] | null;
|
|
89
90
|
searchbox: boolean;
|
|
90
91
|
placeholder: string;
|
|
91
92
|
closeOnSelect: boolean;
|
|
92
93
|
multiSelect: boolean;
|
|
93
94
|
maxSelectedDisplay: string | number | boolean;
|
|
94
95
|
visibleFields: String[];
|
|
95
|
-
modelValue: import("@katlux/providers").TDataRow | import("@katlux/providers").TDataRow[] | null;
|
|
96
96
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
97
97
|
declare const _default: typeof __VLS_export;
|
|
98
98
|
export default _default;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { ADataProvider } from '@katlux/providers';
|
|
2
|
-
export interface KDataIteratorProps {
|
|
3
|
-
dataProvider: ADataProvider;
|
|
4
|
-
visibleFields?: Array<string> | null;
|
|
5
|
-
loading?: boolean;
|
|
6
|
-
search?: string;
|
|
7
|
-
itemsPerPage?: number;
|
|
8
|
-
page?: number;
|
|
9
|
-
}
|
|
10
|
-
export declare const KDataIteratorDefaultProps: {
|
|
11
|
-
visibleFields: null;
|
|
12
|
-
loading: boolean;
|
|
13
|
-
search: string;
|
|
14
|
-
itemsPerPage: number;
|
|
15
|
-
page: number;
|
|
16
|
-
};
|
|
17
|
-
export declare function useKDataIteratorLogic(props: KDataIteratorProps): {
|
|
18
|
-
selectedRows: import("vue").Ref<any[], any[]>;
|
|
19
|
-
selectAll: import("vue").Ref<boolean, boolean>;
|
|
20
|
-
};
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { ADataProvider } from '@katlux/providers';
|
|
2
|
-
export interface KDatatableProps {
|
|
3
|
-
dataProvider: ADataProvider;
|
|
4
|
-
visibleFields?: Array<string> | null;
|
|
5
|
-
}
|
|
6
|
-
export declare const KDatatableDefaultProps: {
|
|
7
|
-
visibleFields: null;
|
|
8
|
-
};
|
|
9
|
-
export declare function useKDatatableLogic(props: KDatatableProps): {
|
|
10
|
-
selectedRows: import("vue").Ref<any[], any[]>;
|
|
11
|
-
selectAll: import("vue").Ref<boolean, boolean>;
|
|
12
|
-
};
|
|
@@ -15,12 +15,16 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
|
|
|
15
15
|
type: BooleanConstructor;
|
|
16
16
|
default: boolean;
|
|
17
17
|
};
|
|
18
|
+
showClear: {
|
|
19
|
+
type: BooleanConstructor;
|
|
20
|
+
default: boolean;
|
|
21
|
+
};
|
|
18
22
|
calendarDefinedDays: {
|
|
19
|
-
type: import("vue").PropType<IDefinedDay[]>;
|
|
23
|
+
type: import("vue").PropType<import("../KCalendar/types.js").IDefinedDay[]>;
|
|
20
24
|
default: () => never[];
|
|
21
25
|
};
|
|
22
26
|
calendarMarkedDays: {
|
|
23
|
-
type: import("vue").PropType<IMarkedDay[]>;
|
|
27
|
+
type: import("vue").PropType<import("../KCalendar/types.js").IMarkedDay[]>;
|
|
24
28
|
default: () => never[];
|
|
25
29
|
};
|
|
26
30
|
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
@@ -46,12 +50,16 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
|
|
|
46
50
|
type: BooleanConstructor;
|
|
47
51
|
default: boolean;
|
|
48
52
|
};
|
|
53
|
+
showClear: {
|
|
54
|
+
type: BooleanConstructor;
|
|
55
|
+
default: boolean;
|
|
56
|
+
};
|
|
49
57
|
calendarDefinedDays: {
|
|
50
|
-
type: import("vue").PropType<IDefinedDay[]>;
|
|
58
|
+
type: import("vue").PropType<import("../KCalendar/types.js").IDefinedDay[]>;
|
|
51
59
|
default: () => never[];
|
|
52
60
|
};
|
|
53
61
|
calendarMarkedDays: {
|
|
54
|
-
type: import("vue").PropType<IMarkedDay[]>;
|
|
62
|
+
type: import("vue").PropType<import("../KCalendar/types.js").IMarkedDay[]>;
|
|
55
63
|
default: () => never[];
|
|
56
64
|
};
|
|
57
65
|
}>> & Readonly<{
|
|
@@ -65,8 +73,9 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
|
|
|
65
73
|
day: string | Date;
|
|
66
74
|
modelValue: string | Date;
|
|
67
75
|
format: string;
|
|
68
|
-
|
|
69
|
-
|
|
76
|
+
showClear: boolean;
|
|
77
|
+
calendarDefinedDays: import("../KCalendar/types.js").IDefinedDay[];
|
|
78
|
+
calendarMarkedDays: import("../KCalendar/types.js").IMarkedDay[];
|
|
70
79
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
71
80
|
declare const _default: typeof __VLS_export;
|
|
72
81
|
export default _default;
|
|
@@ -20,11 +20,17 @@ const templateProps = computed(() => ({
|
|
|
20
20
|
_date: _date.value,
|
|
21
21
|
calendarDay: calendarDay.value,
|
|
22
22
|
format: props.format,
|
|
23
|
+
showClear: props.showClear,
|
|
23
24
|
calendarDefinedDays: props.calendarDefinedDays,
|
|
24
25
|
calendarMarkedDays: props.calendarMarkedDays,
|
|
25
26
|
textboxClicked,
|
|
27
|
+
onClear: handleClear,
|
|
26
28
|
dateSelected: handleDateSelected
|
|
27
29
|
}));
|
|
30
|
+
const handleClear = () => {
|
|
31
|
+
_date.value = "";
|
|
32
|
+
maskedModel.value = "";
|
|
33
|
+
};
|
|
28
34
|
const updateMaskedModel = (val) => {
|
|
29
35
|
maskedModel.value = val;
|
|
30
36
|
};
|
|
@@ -35,8 +41,13 @@ const handleDateSelected = (date) => {
|
|
|
35
41
|
dateSelected(date);
|
|
36
42
|
};
|
|
37
43
|
watch(_date, (newDate) => {
|
|
38
|
-
|
|
39
|
-
|
|
44
|
+
const d1 = newDate instanceof Date ? newDate.getTime() : new Date(newDate).getTime();
|
|
45
|
+
const d2 = props.modelValue instanceof Date ? props.modelValue.getTime() : new Date(props.modelValue || "").getTime();
|
|
46
|
+
const d3 = props.day instanceof Date ? props.day.getTime() : new Date(props.day || "").getTime();
|
|
47
|
+
if (d1 !== d2 && d1 !== d3) {
|
|
48
|
+
emit("update:day", newDate);
|
|
49
|
+
emit("update:modelValue", newDate);
|
|
50
|
+
}
|
|
40
51
|
});
|
|
41
52
|
watch(calendarShow, (newVal) => {
|
|
42
53
|
emit("update:isOpen", newVal);
|
|
@@ -15,12 +15,16 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
|
|
|
15
15
|
type: BooleanConstructor;
|
|
16
16
|
default: boolean;
|
|
17
17
|
};
|
|
18
|
+
showClear: {
|
|
19
|
+
type: BooleanConstructor;
|
|
20
|
+
default: boolean;
|
|
21
|
+
};
|
|
18
22
|
calendarDefinedDays: {
|
|
19
|
-
type: import("vue").PropType<IDefinedDay[]>;
|
|
23
|
+
type: import("vue").PropType<import("../KCalendar/types.js").IDefinedDay[]>;
|
|
20
24
|
default: () => never[];
|
|
21
25
|
};
|
|
22
26
|
calendarMarkedDays: {
|
|
23
|
-
type: import("vue").PropType<IMarkedDay[]>;
|
|
27
|
+
type: import("vue").PropType<import("../KCalendar/types.js").IMarkedDay[]>;
|
|
24
28
|
default: () => never[];
|
|
25
29
|
};
|
|
26
30
|
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
@@ -46,12 +50,16 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
|
|
|
46
50
|
type: BooleanConstructor;
|
|
47
51
|
default: boolean;
|
|
48
52
|
};
|
|
53
|
+
showClear: {
|
|
54
|
+
type: BooleanConstructor;
|
|
55
|
+
default: boolean;
|
|
56
|
+
};
|
|
49
57
|
calendarDefinedDays: {
|
|
50
|
-
type: import("vue").PropType<IDefinedDay[]>;
|
|
58
|
+
type: import("vue").PropType<import("../KCalendar/types.js").IDefinedDay[]>;
|
|
51
59
|
default: () => never[];
|
|
52
60
|
};
|
|
53
61
|
calendarMarkedDays: {
|
|
54
|
-
type: import("vue").PropType<IMarkedDay[]>;
|
|
62
|
+
type: import("vue").PropType<import("../KCalendar/types.js").IMarkedDay[]>;
|
|
55
63
|
default: () => never[];
|
|
56
64
|
};
|
|
57
65
|
}>> & Readonly<{
|
|
@@ -65,8 +73,9 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
|
|
|
65
73
|
day: string | Date;
|
|
66
74
|
modelValue: string | Date;
|
|
67
75
|
format: string;
|
|
68
|
-
|
|
69
|
-
|
|
76
|
+
showClear: boolean;
|
|
77
|
+
calendarDefinedDays: import("../KCalendar/types.js").IDefinedDay[];
|
|
78
|
+
calendarMarkedDays: import("../KCalendar/types.js").IMarkedDay[];
|
|
70
79
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
71
80
|
declare const _default: typeof __VLS_export;
|
|
72
81
|
export default _default;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { type PropType } from 'vue';
|
|
2
|
-
import type { IMarkedDay, IDefinedDay } from '
|
|
2
|
+
import type { IMarkedDay, IDefinedDay } from '../KCalendar/types.js';
|
|
3
3
|
export interface KDatePickerProps {
|
|
4
4
|
format: string;
|
|
5
5
|
day?: Date | string;
|
|
6
6
|
modelValue?: Date | string;
|
|
7
7
|
isOpen?: boolean;
|
|
8
|
+
showClear?: boolean;
|
|
8
9
|
calendarDefinedDays: IDefinedDay[];
|
|
9
10
|
calendarMarkedDays: IMarkedDay[];
|
|
10
11
|
}
|
|
@@ -25,6 +26,10 @@ export declare const KDatePickerDefaultProps: {
|
|
|
25
26
|
type: BooleanConstructor;
|
|
26
27
|
default: boolean;
|
|
27
28
|
};
|
|
29
|
+
showClear: {
|
|
30
|
+
type: BooleanConstructor;
|
|
31
|
+
default: boolean;
|
|
32
|
+
};
|
|
28
33
|
calendarDefinedDays: {
|
|
29
34
|
type: PropType<IDefinedDay[]>;
|
|
30
35
|
default: () => never[];
|
|
@@ -16,6 +16,10 @@ export const KDatePickerDefaultProps = {
|
|
|
16
16
|
type: Boolean,
|
|
17
17
|
default: false
|
|
18
18
|
},
|
|
19
|
+
showClear: {
|
|
20
|
+
type: Boolean,
|
|
21
|
+
default: false
|
|
22
|
+
},
|
|
19
23
|
calendarDefinedDays: {
|
|
20
24
|
type: Array,
|
|
21
25
|
default: () => []
|
|
@@ -29,6 +33,39 @@ export function useKDatePickerLogic(props) {
|
|
|
29
33
|
const _date = ref("");
|
|
30
34
|
const maskedModel = ref("");
|
|
31
35
|
const calendarShow = ref(false);
|
|
36
|
+
watch(maskedModel, (newVal) => {
|
|
37
|
+
if (newVal === "") {
|
|
38
|
+
if (_date.value !== "") {
|
|
39
|
+
_date.value = "";
|
|
40
|
+
}
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
const format = props.format;
|
|
44
|
+
let day = "", month = "", year = "";
|
|
45
|
+
let rawIdx = 0;
|
|
46
|
+
for (let i = 0; i < format.length; i++) {
|
|
47
|
+
const char = format[i];
|
|
48
|
+
if (char === "M") {
|
|
49
|
+
month += newVal[rawIdx] || "";
|
|
50
|
+
rawIdx++;
|
|
51
|
+
} else if (char === "D") {
|
|
52
|
+
day += newVal[rawIdx] || "";
|
|
53
|
+
rawIdx++;
|
|
54
|
+
} else if (char === "Y") {
|
|
55
|
+
year += newVal[rawIdx] || "";
|
|
56
|
+
rawIdx++;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
if (month.length === 2 && day.length === 2 && year.length === 4) {
|
|
60
|
+
const d = new Date(parseInt(year), parseInt(month) - 1, parseInt(day));
|
|
61
|
+
if (!isNaN(d.getTime())) {
|
|
62
|
+
const oldTime = _date.value instanceof Date ? _date.value.getTime() : new Date(_date.value).getTime();
|
|
63
|
+
if (d.getTime() !== oldTime) {
|
|
64
|
+
_date.value = d;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
});
|
|
32
69
|
const textboxClicked = () => {
|
|
33
70
|
calendarShow.value = true;
|
|
34
71
|
};
|
|
@@ -69,14 +106,22 @@ export function useKDatePickerLogic(props) {
|
|
|
69
106
|
});
|
|
70
107
|
watch(() => props.day, (newDay) => {
|
|
71
108
|
if (newDay) {
|
|
72
|
-
|
|
73
|
-
|
|
109
|
+
const d1 = newDay instanceof Date ? newDay.getTime() : new Date(newDay).getTime();
|
|
110
|
+
const d2 = _date.value instanceof Date ? _date.value.getTime() : new Date(_date.value).getTime();
|
|
111
|
+
if (d1 !== d2) {
|
|
112
|
+
_date.value = newDay;
|
|
113
|
+
syncMaskedModel(newDay);
|
|
114
|
+
}
|
|
74
115
|
}
|
|
75
116
|
});
|
|
76
117
|
watch(() => props.modelValue, (newVal) => {
|
|
77
118
|
if (newVal) {
|
|
78
|
-
|
|
79
|
-
|
|
119
|
+
const d1 = newVal instanceof Date ? newVal.getTime() : new Date(newVal).getTime();
|
|
120
|
+
const d2 = _date.value instanceof Date ? _date.value.getTime() : new Date(_date.value).getTime();
|
|
121
|
+
if (d1 !== d2) {
|
|
122
|
+
_date.value = newVal;
|
|
123
|
+
syncMaskedModel(newVal);
|
|
124
|
+
}
|
|
80
125
|
}
|
|
81
126
|
});
|
|
82
127
|
watch(() => props.isOpen, (newVal) => {
|
|
@@ -11,19 +11,36 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
|
|
|
11
11
|
type: (DateConstructor | StringConstructor)[];
|
|
12
12
|
default: undefined;
|
|
13
13
|
};
|
|
14
|
+
modelValue: {
|
|
15
|
+
type: (DateConstructor | StringConstructor)[];
|
|
16
|
+
default: undefined;
|
|
17
|
+
};
|
|
18
|
+
isOpen: {
|
|
19
|
+
type: BooleanConstructor;
|
|
20
|
+
default: boolean;
|
|
21
|
+
};
|
|
22
|
+
showClear: {
|
|
23
|
+
type: BooleanConstructor;
|
|
24
|
+
default: boolean;
|
|
25
|
+
};
|
|
14
26
|
timeStep: {
|
|
15
27
|
type: NumberConstructor;
|
|
16
28
|
default: number;
|
|
17
29
|
};
|
|
18
30
|
calendarDefinedDays: {
|
|
19
|
-
type: import("vue").PropType<IDefinedDay[]>;
|
|
31
|
+
type: import("vue").PropType<import("../KCalendar/types.js").IDefinedDay[]>;
|
|
20
32
|
default: () => never[];
|
|
21
33
|
};
|
|
22
34
|
calendarMarkedDays: {
|
|
23
|
-
type: import("vue").PropType<IMarkedDay[]>;
|
|
35
|
+
type: import("vue").PropType<import("../KCalendar/types.js").IMarkedDay[]>;
|
|
24
36
|
default: () => never[];
|
|
25
37
|
};
|
|
26
|
-
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}
|
|
38
|
+
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
39
|
+
"update:modelValue": (value: string | Date) => any;
|
|
40
|
+
"update:maskedModel": (value: string) => any;
|
|
41
|
+
"update:calendarShow": (value: boolean) => any;
|
|
42
|
+
"update:isOpen": (value: boolean) => any;
|
|
43
|
+
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
27
44
|
format: {
|
|
28
45
|
type: StringConstructor;
|
|
29
46
|
default: string;
|
|
@@ -36,23 +53,43 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
|
|
|
36
53
|
type: (DateConstructor | StringConstructor)[];
|
|
37
54
|
default: undefined;
|
|
38
55
|
};
|
|
56
|
+
modelValue: {
|
|
57
|
+
type: (DateConstructor | StringConstructor)[];
|
|
58
|
+
default: undefined;
|
|
59
|
+
};
|
|
60
|
+
isOpen: {
|
|
61
|
+
type: BooleanConstructor;
|
|
62
|
+
default: boolean;
|
|
63
|
+
};
|
|
64
|
+
showClear: {
|
|
65
|
+
type: BooleanConstructor;
|
|
66
|
+
default: boolean;
|
|
67
|
+
};
|
|
39
68
|
timeStep: {
|
|
40
69
|
type: NumberConstructor;
|
|
41
70
|
default: number;
|
|
42
71
|
};
|
|
43
72
|
calendarDefinedDays: {
|
|
44
|
-
type: import("vue").PropType<IDefinedDay[]>;
|
|
73
|
+
type: import("vue").PropType<import("../KCalendar/types.js").IDefinedDay[]>;
|
|
45
74
|
default: () => never[];
|
|
46
75
|
};
|
|
47
76
|
calendarMarkedDays: {
|
|
48
|
-
type: import("vue").PropType<IMarkedDay[]>;
|
|
77
|
+
type: import("vue").PropType<import("../KCalendar/types.js").IMarkedDay[]>;
|
|
49
78
|
default: () => never[];
|
|
50
79
|
};
|
|
51
|
-
}>> & Readonly<{
|
|
80
|
+
}>> & Readonly<{
|
|
81
|
+
"onUpdate:modelValue"?: ((value: string | Date) => any) | undefined;
|
|
82
|
+
"onUpdate:maskedModel"?: ((value: string) => any) | undefined;
|
|
83
|
+
"onUpdate:calendarShow"?: ((value: boolean) => any) | undefined;
|
|
84
|
+
"onUpdate:isOpen"?: ((value: boolean) => any) | undefined;
|
|
85
|
+
}>, {
|
|
86
|
+
isOpen: boolean;
|
|
52
87
|
day: string | Date;
|
|
88
|
+
modelValue: string | Date;
|
|
53
89
|
format: string;
|
|
54
|
-
|
|
55
|
-
|
|
90
|
+
showClear: boolean;
|
|
91
|
+
calendarDefinedDays: import("../KCalendar/types.js").IDefinedDay[];
|
|
92
|
+
calendarMarkedDays: import("../KCalendar/types.js").IMarkedDay[];
|
|
56
93
|
timeFormat: string;
|
|
57
94
|
timeStep: number;
|
|
58
95
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { useKDateTimePickerLogic, KDateTimePickerDefaultProps } from "./KDateTimePicker.logic";
|
|
3
3
|
import { usePresetComponent } from "../../composables/usePresetComponent";
|
|
4
|
-
import { computed } from "vue";
|
|
4
|
+
import { computed, watch } from "vue";
|
|
5
5
|
import KDateTimePickerDefault from "../../presets/default/components/KDateTimePicker/KDateTimePicker.vue";
|
|
6
6
|
const props = defineProps(KDateTimePickerDefaultProps);
|
|
7
|
+
const emit = defineEmits(["update:maskedModel", "update:calendarShow", "update:modelValue", "update:isOpen"]);
|
|
7
8
|
const {
|
|
8
9
|
_date,
|
|
9
10
|
_time,
|
|
@@ -26,16 +27,40 @@ const templateProps = computed(() => ({
|
|
|
26
27
|
timeStep: props.timeStep,
|
|
27
28
|
calendarDefinedDays: props.calendarDefinedDays,
|
|
28
29
|
calendarMarkedDays: props.calendarMarkedDays,
|
|
30
|
+
showClear: props.showClear,
|
|
29
31
|
textboxClicked,
|
|
32
|
+
onClear: handleClear,
|
|
30
33
|
dateSelected,
|
|
31
34
|
timeSelected
|
|
32
35
|
}));
|
|
36
|
+
const handleClear = () => {
|
|
37
|
+
_date.value = "";
|
|
38
|
+
_time.value = "";
|
|
39
|
+
maskedModel.value = "";
|
|
40
|
+
};
|
|
33
41
|
const updateMaskedModel = (val) => {
|
|
34
42
|
maskedModel.value = val;
|
|
35
43
|
};
|
|
36
44
|
const updateCalendarShow = (val) => {
|
|
37
45
|
calendarShow.value = val;
|
|
38
46
|
};
|
|
47
|
+
watch(_date, (newDate) => {
|
|
48
|
+
if (!newDate) {
|
|
49
|
+
if (props.modelValue || props.day) {
|
|
50
|
+
emit("update:modelValue", "");
|
|
51
|
+
}
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
const d1 = newDate instanceof Date ? newDate.getTime() : new Date(newDate).getTime();
|
|
55
|
+
const d2 = props.modelValue instanceof Date ? props.modelValue.getTime() : new Date(props.modelValue || "").getTime();
|
|
56
|
+
const d3 = props.day instanceof Date ? props.day.getTime() : new Date(props.day || "").getTime();
|
|
57
|
+
if (d1 !== d2 && d1 !== d3) {
|
|
58
|
+
emit("update:modelValue", newDate);
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
watch(calendarShow, (newVal) => {
|
|
62
|
+
emit("update:isOpen", newVal);
|
|
63
|
+
});
|
|
39
64
|
</script>
|
|
40
65
|
|
|
41
66
|
<template lang="pug">
|
|
@@ -11,19 +11,36 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
|
|
|
11
11
|
type: (DateConstructor | StringConstructor)[];
|
|
12
12
|
default: undefined;
|
|
13
13
|
};
|
|
14
|
+
modelValue: {
|
|
15
|
+
type: (DateConstructor | StringConstructor)[];
|
|
16
|
+
default: undefined;
|
|
17
|
+
};
|
|
18
|
+
isOpen: {
|
|
19
|
+
type: BooleanConstructor;
|
|
20
|
+
default: boolean;
|
|
21
|
+
};
|
|
22
|
+
showClear: {
|
|
23
|
+
type: BooleanConstructor;
|
|
24
|
+
default: boolean;
|
|
25
|
+
};
|
|
14
26
|
timeStep: {
|
|
15
27
|
type: NumberConstructor;
|
|
16
28
|
default: number;
|
|
17
29
|
};
|
|
18
30
|
calendarDefinedDays: {
|
|
19
|
-
type: import("vue").PropType<IDefinedDay[]>;
|
|
31
|
+
type: import("vue").PropType<import("../KCalendar/types.js").IDefinedDay[]>;
|
|
20
32
|
default: () => never[];
|
|
21
33
|
};
|
|
22
34
|
calendarMarkedDays: {
|
|
23
|
-
type: import("vue").PropType<IMarkedDay[]>;
|
|
35
|
+
type: import("vue").PropType<import("../KCalendar/types.js").IMarkedDay[]>;
|
|
24
36
|
default: () => never[];
|
|
25
37
|
};
|
|
26
|
-
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}
|
|
38
|
+
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
39
|
+
"update:modelValue": (value: string | Date) => any;
|
|
40
|
+
"update:maskedModel": (value: string) => any;
|
|
41
|
+
"update:calendarShow": (value: boolean) => any;
|
|
42
|
+
"update:isOpen": (value: boolean) => any;
|
|
43
|
+
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
27
44
|
format: {
|
|
28
45
|
type: StringConstructor;
|
|
29
46
|
default: string;
|
|
@@ -36,23 +53,43 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
|
|
|
36
53
|
type: (DateConstructor | StringConstructor)[];
|
|
37
54
|
default: undefined;
|
|
38
55
|
};
|
|
56
|
+
modelValue: {
|
|
57
|
+
type: (DateConstructor | StringConstructor)[];
|
|
58
|
+
default: undefined;
|
|
59
|
+
};
|
|
60
|
+
isOpen: {
|
|
61
|
+
type: BooleanConstructor;
|
|
62
|
+
default: boolean;
|
|
63
|
+
};
|
|
64
|
+
showClear: {
|
|
65
|
+
type: BooleanConstructor;
|
|
66
|
+
default: boolean;
|
|
67
|
+
};
|
|
39
68
|
timeStep: {
|
|
40
69
|
type: NumberConstructor;
|
|
41
70
|
default: number;
|
|
42
71
|
};
|
|
43
72
|
calendarDefinedDays: {
|
|
44
|
-
type: import("vue").PropType<IDefinedDay[]>;
|
|
73
|
+
type: import("vue").PropType<import("../KCalendar/types.js").IDefinedDay[]>;
|
|
45
74
|
default: () => never[];
|
|
46
75
|
};
|
|
47
76
|
calendarMarkedDays: {
|
|
48
|
-
type: import("vue").PropType<IMarkedDay[]>;
|
|
77
|
+
type: import("vue").PropType<import("../KCalendar/types.js").IMarkedDay[]>;
|
|
49
78
|
default: () => never[];
|
|
50
79
|
};
|
|
51
|
-
}>> & Readonly<{
|
|
80
|
+
}>> & Readonly<{
|
|
81
|
+
"onUpdate:modelValue"?: ((value: string | Date) => any) | undefined;
|
|
82
|
+
"onUpdate:maskedModel"?: ((value: string) => any) | undefined;
|
|
83
|
+
"onUpdate:calendarShow"?: ((value: boolean) => any) | undefined;
|
|
84
|
+
"onUpdate:isOpen"?: ((value: boolean) => any) | undefined;
|
|
85
|
+
}>, {
|
|
86
|
+
isOpen: boolean;
|
|
52
87
|
day: string | Date;
|
|
88
|
+
modelValue: string | Date;
|
|
53
89
|
format: string;
|
|
54
|
-
|
|
55
|
-
|
|
90
|
+
showClear: boolean;
|
|
91
|
+
calendarDefinedDays: import("../KCalendar/types.js").IDefinedDay[];
|
|
92
|
+
calendarMarkedDays: import("../KCalendar/types.js").IMarkedDay[];
|
|
56
93
|
timeFormat: string;
|
|
57
94
|
timeStep: number;
|
|
58
95
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { type PropType } from 'vue';
|
|
2
|
-
import type { IMarkedDay, IDefinedDay } from '
|
|
2
|
+
import type { IMarkedDay, IDefinedDay } from '../KCalendar/types.js';
|
|
3
3
|
export interface KDateTimePickerProps {
|
|
4
4
|
format?: string;
|
|
5
5
|
timeFormat?: string;
|
|
6
6
|
day?: Date | string;
|
|
7
|
+
modelValue?: Date | string;
|
|
8
|
+
isOpen?: boolean;
|
|
9
|
+
showClear?: boolean;
|
|
7
10
|
timeStep?: number;
|
|
8
11
|
calendarDefinedDays?: IDefinedDay[];
|
|
9
12
|
calendarMarkedDays?: IMarkedDay[];
|
|
@@ -21,6 +24,18 @@ export declare const KDateTimePickerDefaultProps: {
|
|
|
21
24
|
type: (DateConstructor | StringConstructor)[];
|
|
22
25
|
default: undefined;
|
|
23
26
|
};
|
|
27
|
+
modelValue: {
|
|
28
|
+
type: (DateConstructor | StringConstructor)[];
|
|
29
|
+
default: undefined;
|
|
30
|
+
};
|
|
31
|
+
isOpen: {
|
|
32
|
+
type: BooleanConstructor;
|
|
33
|
+
default: boolean;
|
|
34
|
+
};
|
|
35
|
+
showClear: {
|
|
36
|
+
type: BooleanConstructor;
|
|
37
|
+
default: boolean;
|
|
38
|
+
};
|
|
24
39
|
timeStep: {
|
|
25
40
|
type: NumberConstructor;
|
|
26
41
|
default: number;
|