{"version":3,"sources":["Themes/Default/Content/ts/Shared/KnockoutBindings/DateTime/dateTimeBindings.ts"],"names":[],"mappings":"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","file":"dateTimeBindings.js","sourcesContent":["// Source : https://github.com/stefangabos/Zebra_Datepicker\r\n// Documentation : https://stefangabos.github.io/Zebra_Datepicker/metallic.html\r\n\r\nimport * as $ from \"jquery\";\r\nimport * as ko from \"knockout\";\r\nimport * as moment from \"moment\";\r\nimport * as localisationHelper from \"localisationHelper\";\r\n\r\n// Types\r\nimport Moment = moment.Moment;\r\n\r\n// Helpers\r\nimport \"dateTimePicker\";\r\n\r\n// Models\r\nimport { TimePickerBindingConfiguration, TimePickerLibraryOptions } from \"Content/ts/Models/Shared/DateTime/timePickerConfiguration\";\r\nimport { DatePickerBindingConfiguration, DatePickerLibraryOptions } from \"Content/ts/Models/Shared/DateTime/datePickerConfiguration\";\r\n\r\n// Services\r\nimport { FontAwesomeServices } from \"Content/ts/Shared/KnockoutBindings/Services/fontAwesomeServices\";\r\nimport { DatePickerServices } from \"Content/ts/Shared/KnockoutBindings/DateTime/Services/datePickerServices\";\r\nimport { TimePickerServices } from \"Content/ts/Shared/KnockoutBindings/DateTime/Services/timePickerServices\";\r\nimport { DateTimePickerServices } from \"Content/ts/Shared/Controls/DateTime/Services/dateTimePickerServices\";\r\nimport { DateTimeFormatterService } from \"Content/ts/Shared/Controls/DateTime/Services/dateTimeFormatterService\";\r\n\r\nexport const Deps = {\r\n LocalisationHelper: localisationHelper\r\n};\r\n\r\nexport module DateTimeBindings {\r\n const ZebraDateFormat = DateTimeFormatterService.RetrieveZebraDateFormat();\r\n const ZebraTimeFormat = DateTimeFormatterService.RetrieveZebraTimeFormat();\r\n const LocalisedMomentDateFormat = DateTimeFormatterService.LocalisedMomentShortDateFormat;\r\n const LocalisedMomentTimeFormat = DateTimeFormatterService.LocalisedMomentTimeFormat;\r\n const OpenDatePickerText = Deps.LocalisationHelper.getString(\"GenericResources\", \"ScreenReaderClickToOpenDatePicker\");\r\n const OpenTimePickerText = Deps.LocalisationHelper.getString(\"GenericResources\", \"ScreenReaderClickToOpenTimePicker\");\r\n\r\n ko.bindingHandlers.datepicker = {\r\n init: (ele: any, valueAccessor: () => KnockoutComputed, allBindingsAccessor: () => DatePickerBindingConfiguration) => {\r\n let value = valueAccessor(),\r\n element = ($(ele));\r\n const allBindings = allBindingsAccessor(),\r\n configuration = allBindings.configuration;\r\n\r\n if (value() != null && value() != undefined && !value().isValid()) {\r\n throw new Error(\"Invalid moment passed to 'datepicker' binding during initialsation\");\r\n }\r\n\r\n var startDate = allBindings.configuration.StartDate != null\r\n ? allBindings.configuration.StartDate.toDate()\r\n : null;\r\n\r\n element.Zebra_DatePicker({\r\n strict: true,\r\n format: ZebraDateFormat,\r\n months: moment.localeData().months(),\r\n months_abbr: moment.localeData().monthsShort(),\r\n days: moment.localeData().weekdays(),\r\n days_abbr: moment.localeData().weekdaysShort(),\r\n readonly_element: false,\r\n default_position: \"above\",\r\n start_date: startDate,\r\n view: allBindings.configuration.View || \"days\",\r\n show_clear_date: configuration ? configuration.AllowClear : true,\r\n direction: DatePickerServices.ConfigurePickerDirection(allBindings),\r\n lang_clear_date: Deps.LocalisationHelper.getString(\"GenericResources\", \"Clear\"),\r\n show_select_today: allBindings.configuration.ShowToday != null ? allBindings.configuration.ShowToday : Deps.LocalisationHelper.getString(\"GenericResources\", \"Today\"),\r\n onSelect: (newValue: string, libraryValue: string, jQueryDate: string) => {\r\n value(moment(jQueryDate));\r\n },\r\n onClear: () => {\r\n value(null);\r\n }\r\n } as DatePickerLibraryOptions);\r\n\r\n if (!allBindings.configuration.TabToCalendarButton) {\r\n //sets the tab index to -1 so the keyboard doesnt tab to it. accessibility requirement \r\n $(\".Zebra_DatePicker_Icon\").attr('tabindex', -1);\r\n }\r\n\r\n DatePickerServices.DatePickerOnLoad(element, allBindings, value);\r\n DatePickerServices.ConfigureKeyPressEvents(element, allBindings, value);\r\n DateTimePickerServices.ConfigureSharedDateTimeMarkup(element, value, FontAwesomeServices.CalendarIcon(), OpenDatePickerText, LocalisedMomentDateFormat);\r\n }\r\n };\r\n\r\n ko.bindingHandlers.timepicker = {\r\n init: (ele: any, valueAccessor: () => KnockoutComputed, allBindingsAccessor: () => TimePickerBindingConfiguration) => {\r\n let value = valueAccessor(),\r\n element = ($(ele));\r\n const allBindings = allBindingsAccessor(),\r\n configuration = allBindings.configuration;\r\n\r\n if (value() != null && value() != undefined && !value().isValid()) {\r\n throw new Error(\"Invalid moment passed to 'timepicker' binding during initialsation\")\r\n }\r\n\r\n element.Zebra_DatePicker({\r\n format: ZebraTimeFormat,\r\n readonly_element: false,\r\n default_position: \"above\",\r\n show_select_today: false,\r\n show_clear_date: configuration ? configuration.AllowClear : true,\r\n enabled_minutes: TimePickerServices.ConfigureEnabledMinutes(configuration),\r\n lang_clear_date: Deps.LocalisationHelper.getString(\"GenericResources\", \"Clear\"),\r\n onSelect: (newValue: string, libraryValue: string, jQueryDate: string) => {\r\n value(moment(jQueryDate));\r\n },\r\n onClear: () => {\r\n value(null);\r\n }\r\n } as TimePickerLibraryOptions);\r\n\r\n TimePickerServices.TimePickerOnLoad(element, value);\r\n TimePickerServices.ConfigureKeyPressEvents(element, value);\r\n DateTimePickerServices.ConfigureSharedDateTimeMarkup(element, value, FontAwesomeServices.ClockIcon(), OpenTimePickerText, LocalisedMomentTimeFormat);\r\n }\r\n };\r\n}"]}