Skip to content
This repository was archived by the owner on Apr 17, 2022. It is now read-only.

Commit 793bcef

Browse files
committed
feat: Add option to reverse years order (resolves #113)
1 parent d41da66 commit 793bcef

File tree

4 files changed

+10
-2
lines changed

4 files changed

+10
-2
lines changed

index.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,7 @@ interface Vue3DatePicker {
192192
fixedEnd?: boolean;
193193
utc?: boolean;
194194
multiDatesLimit?: number | string;
195+
reverseYears?: boolean;
195196
}
196197

197198
interface PublicMethods extends MethodOptions {

src/Vue3DatePicker/Vue3DatePicker.vue

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@
114114
fixedStart,
115115
fixedEnd,
116116
multiDatesLimit,
117+
reverseYears,
117118
}"
118119
v-model:internalModelValue="internalModelValue"
119120
@close-picker="closeMenu"
@@ -289,6 +290,7 @@
289290
fixedEnd: { type: Boolean as PropType<boolean>, default: false },
290291
utc: { type: Boolean as PropType<boolean>, default: false },
291292
multiDatesLimit: { type: [Number, String] as PropType<number | string>, default: null },
293+
reverseYears: { type: Boolean as PropType<boolean>, default: false },
292294
});
293295
const slots = useSlots();
294296
const isOpen = ref(false);

src/Vue3DatePicker/components/DatepickerMenu.vue

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
preventMinMaxNavigation,
5454
internalModelValue,
5555
range,
56+
reverseYears,
5657
}"
5758
@mount="childMount('monthYearInput')"
5859
@reset-flow="resetFlow"
@@ -296,6 +297,7 @@
296297
fixedStart: { type: Boolean as PropType<boolean>, default: false },
297298
fixedEnd: { type: Boolean as PropType<boolean>, default: false },
298299
multiDatesLimit: { type: [Number, String] as PropType<number | string>, default: null },
300+
reverseYears: { type: Boolean as PropType<boolean>, default: false },
299301
});
300302
const slots = useSlots();
301303
const calendarWrapperRef = ref(null);

src/Vue3DatePicker/components/MonthYearInput.vue

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,7 @@
204204
preventMinMaxNavigation: { type: Boolean as PropType<boolean>, default: false },
205205
internalModelValue: { type: [Date, Array] as PropType<InternalModuleValue>, default: null },
206206
range: { type: Boolean as PropType<boolean>, default: false },
207+
reverseYears: { type: Boolean as PropType<boolean>, default: false },
207208
});
208209
209210
const { transitionName, showTransition } = useTransitions();
@@ -255,7 +256,8 @@
255256
const list = [];
256257
257258
for (let i = 0; i < items.length; i += 3) {
258-
list.push([items[i], items[i + 1], items[i + 2]]);
259+
const listItems = [items[i], items[i + 1], items[i + 2]];
260+
list.push(props.reverseYears ? listItems.reverse() : listItems);
259261
}
260262
return list;
261263
};
@@ -271,7 +273,8 @@
271273
});
272274
273275
const groupedYears = computed((): IDefaultSelect[][] => {
274-
return getGroupedList(props.years);
276+
const list = getGroupedList(props.years);
277+
return props.reverseYears ? list.reverse() : list;
275278
});
276279
277280
const showLeftIcon = computed(() => {

0 commit comments

Comments
 (0)