This repository has been archived on 2023-03-18. You can view files and clone it, but cannot push or open issues or pull requests.
osr-discourse-src/app/assets/javascripts/discourse/components/date-picker.js.es6
Joffrey JAFFEUX 1ed4f0ee8a
FIX: datepicker will now default to monday as first day
This will be regardless of the user locale. Many users use english forums even if not from the US and would end up having sunday as the first day of the week in the calendar. This commit follows the international standard.
2018-07-11 23:49:52 +02:00

63 lines
1.5 KiB
JavaScript

/* global Pikaday:true */
import loadScript from "discourse/lib/load-script";
import {
default as computed,
on
} from "ember-addons/ember-computed-decorators";
export default Ember.Component.extend({
classNames: ["date-picker-wrapper"],
_picker: null,
@on("didInsertElement")
_loadDatePicker() {
const input = this.$(".date-picker")[0];
const container = $("#" + this.get("containerId"))[0];
loadScript("/javascripts/pikaday.js").then(() => {
Ember.run.next(() => {
let default_opts = {
field: input,
container: container || this.$()[0],
bound: container === undefined,
format: "YYYY-MM-DD",
firstDay: 1,
i18n: {
previousMonth: I18n.t("dates.previous_month"),
nextMonth: I18n.t("dates.next_month"),
months: moment.months(),
weekdays: moment.weekdays(),
weekdaysShort: moment.weekdaysShort()
},
onSelect: date =>
this.set(
"value",
moment(date)
.locale("en")
.format("YYYY-MM-DD")
)
};
this._picker = new Pikaday(_.merge(default_opts, this._opts()));
});
});
},
@on("willDestroyElement")
_destroy() {
if (this._picker) {
this._picker.destroy();
}
this._picker = null;
},
@computed()
placeholder() {
return I18n.t("dates.placeholder");
},
_opts() {
return null;
}
});