{"version":3,"file":"./Features/Shared/Blocks/DateTimeElementBlock/DateTimeElementBlock.js","mappings":"CAAA,SAAWA,GACPA,EAAEC,QAAO,EAAMC,SAAU,CAErBC,QAAS,CAGLC,YAAa,CACT,QAAS,CACL,aAAgB,WAChB,eAAkB,cAEtB,QAAS,CACL,aAAgB,WAChB,eAAkB,cAEtB,QAAS,CACL,aAAgB,WAChB,eAAkB,cAEtB,QAAS,CACL,aAAgB,WAChB,eAAkB,cAEtB,QAAS,CACL,aAAgB,WAChB,eAAkB,cAEtB,QAAS,CACL,aAAgB,SAChB,eAAkB,YAEtB,QAAS,CACL,aAAgB,SAChB,eAAkB,YAEtB,QAAS,CACL,aAAgB,WAChB,eAAkB,kBAKlC,IAAIC,EAAYH,SAASI,MACrBC,EAAWC,UAAUD,UAAYC,UAAUC,aAE3CC,GADqBR,SAASC,QAAQC,YAAYG,EAASI,gBAAkBT,SAASC,QAAQC,YAAY,UAC1EQ,aAGI,oBAA7BC,4BACPb,EAAEc,KAAKD,2BAA6B,IAAI,SAAUE,EAAGC,GAEjD,IAAIC,EAAUjB,EAAE,IAAMgB,EAAoBE,MAEtCC,EAAU,OACVC,EAAU,KAEd,OAAQJ,EAAoBK,aACxB,IAAK,kBACDF,EAAU,OACVC,EAAU,MACV,MACJ,IAAK,+BACDD,EAAU,OAEVC,EAAU,IAgDtB,WACI,IAAIE,EAAO,IAAIC,KACXC,EAAO,IAAID,KAAKD,EAAKG,WACzBD,EAAKE,SAASJ,EAAKK,WAAa,GAChCH,EAAKI,QAAQ,GACb,IAAIC,EAAOL,EAAKM,UAAYR,EAAKQ,UAAYN,EAAKM,UAAYR,EAAKQ,UAAY,EAE/E,OADAC,QAAQC,IAAI,SAAWH,GAChBA,EAAO,EAvDUI,GAAqB,IACrC,MACJ,IAAK,gBACDd,EAAU,MACVC,EAAU,QACV,MACJ,QACID,EAAU,OACVC,EAAU,QAKlBH,EAAQiB,eAAe,CACnBC,KAAMnB,EAAoBoB,WAC1BC,gBAAgB,EAChB3B,WAAYA,EACZ4B,aAAa,EACbC,YAAY,EACZpB,QAASA,EACTC,QAASA,EACToB,UAAW,cAOnB,SAA6BvB,EAASmB,GAElC,IAAIK,EAAexB,EAAQyB,MAC3B,GAAID,EACA,OAAQL,GACJ,IAAK,aACDnB,EAAQiB,eAAe,UAAW,IAAIX,KAAKkB,IAC3C,MACJ,IAAK,iBACD,IAAIE,EAAmBF,EAAaG,MAAM,KAEV,IAA5BD,EAAiBE,SACjB5B,EAAQiB,eAAe,UAAW,IAAIX,KAAKoB,EAAiB,KAC5D1B,EAAQyB,IAAIzB,EAAQyB,MAAQ,IAAMC,EAAiB,GAAK,IAAMA,EAAiB,MAhB/FG,CAAoB7B,EAASD,EAAoBoB,eAiCrDpC,EAAE,0DAA0D+C,GAAG,WAAW,SAAoBC,GAC1F,OAAO3C,EAAU4C,2BAA2BD,OA3HxD,CA+HGE,YAAclD","sources":["webpack://vmc.website/./Features/Shared/Blocks/DateTimeElementBlock/DateTimeElementBlock.js"],"sourcesContent":["(function ($) {\r\n $.extend(true, FormData, {\r\n // this dateFormats is for using in Samples only\r\n Samples: {\r\n // pickerFormat will be used for jQuery datepicker validation,\r\n // while friendlyFormat will show in validation message for user.\r\n DateFormats: {\r\n \"en-us\": {\r\n \"pickerFormat\": \"mm/dd/yy\",\r\n \"friendlyFormat\": \"MM/dd/yyyy\"\r\n },\r\n \"sv-se\": {\r\n \"pickerFormat\": \"yy-mm-dd\",\r\n \"friendlyFormat\": \"yyyy-MM-dd\"\r\n },\r\n \"nb-no\": {\r\n \"pickerFormat\": \"dd.mm.yy\",\r\n \"friendlyFormat\": \"dd.MM.yyyy\"\r\n },\r\n \"da-dk\": {\r\n \"pickerFormat\": \"dd-mm-yy\",\r\n \"friendlyFormat\": \"dd-MM-yyyy\"\r\n },\r\n \"de-de\": {\r\n \"pickerFormat\": \"dd.mm.yy\",\r\n \"friendlyFormat\": \"dd.MM.yyyy\"\r\n },\r\n \"nl-nl\": {\r\n \"pickerFormat\": \"d-m-yy\",\r\n \"friendlyFormat\": \"d-M-yyyy\"\r\n },\r\n \"fi-fi\": {\r\n \"pickerFormat\": \"d.m.yy\",\r\n \"friendlyFormat\": \"d.M.yyyy\"\r\n },\r\n \"fr-fr\": {\r\n \"pickerFormat\": \"dd/mm/yy\",\r\n \"friendlyFormat\": \"dd/MM/yyyy\"\r\n }\r\n }\r\n }\r\n });\r\n var _utilsSvc = FormData.Utils,\r\n language = navigator.language || navigator.userLanguage, // on iOS naviagtor.language is in lower case (ex: en-us)\r\n dateFormatSettings = FormData.Samples.DateFormats[language.toLowerCase()] || FormData.Samples.DateFormats[\"en-us\"],\r\n dateFormat = dateFormatSettings.pickerFormat;\r\n\r\n // init all DateTimeFormElement on the ViewMode with our modified jQuery DatePicker\r\n if (typeof __SamplesDateTimeElements != \"undefined\") {\r\n $.each(__SamplesDateTimeElements || [], function (i, dateTimeElementInfo) {\r\n\r\n var element = $(\"#\" + dateTimeElementInfo.guid);\r\n\r\n var maxDate = \"+10Y\";\r\n var minDate = \"-1\";\r\n\r\n switch (dateTimeElementInfo.allowedDate) {\r\n case \"futuredatesonly\":\r\n maxDate = \"+10Y\";\r\n minDate = \"+1D\";\r\n break;\r\n case \"futuredatesonlyonemonthahead\":\r\n maxDate = \"+10Y\";\r\n //minDate = \"+30D\";\r\n minDate = \"+\" + getRemainingDays() + \"D\"; \r\n break;\r\n case \"pastdatesonly\":\r\n maxDate = \"-1D\";\r\n minDate = \"-100Y\";\r\n break;\r\n default:\r\n maxDate = \"+10Y\";\r\n minDate = \"-100Y\";\r\n break;\r\n }\r\n\r\n // setup picker\r\n element.datetimepicker({\r\n type: dateTimeElementInfo.pickerType,\r\n constrainInput: false,\r\n dateFormat: dateFormat,\r\n changeMonth: true,\r\n changeYear: true,\r\n maxDate: maxDate,\r\n minDate: minDate,\r\n yearRange: \"-100:+10Y\"\r\n });\r\n\r\n // format datetime value to match with current culture \r\n formatDateTimeValue(element, dateTimeElementInfo.pickerType);\r\n });\r\n\r\n function formatDateTimeValue(element, pickerType) {\r\n // reformat auto fill value\r\n var elementValue = element.val();\r\n if (elementValue) {\r\n switch (pickerType) {\r\n case \"datepicker\":\r\n element.datetimepicker('setDate', new Date(elementValue)); // this will set date only\r\n break;\r\n case \"datetimepicker\":\r\n var dateTimeSegments = elementValue.split(\" \");\r\n\r\n if (dateTimeSegments.length === 3) {\r\n element.datetimepicker('setDate', new Date(dateTimeSegments[0])); // this will set date only\r\n element.val(element.val() + \" \" + dateTimeSegments[1] + \" \" + dateTimeSegments[2]);\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n\r\n function getRemainingDays() {\r\n var date = new Date();\r\n var time = new Date(date.getTime());\r\n time.setMonth(date.getMonth() + 1);\r\n time.setDate(0);\r\n var days = time.getDate() > date.getDate() ? time.getDate() - date.getDate() : 0;\r\n console.log(\"days: \" + days);\r\n return days + 1;\r\n }\r\n\r\n $('.EPiServerForms .Form__CustomInput.FormDateTime__Input').on('keydown', function _onKeyDown(e) {\r\n return _utilsSvc.showNextStepOnEnterKeyDown(e);\r\n });\r\n }\r\n\r\n})($$epiforms || $);"],"names":["$","extend","FormData","Samples","DateFormats","_utilsSvc","Utils","language","navigator","userLanguage","dateFormat","toLowerCase","pickerFormat","__SamplesDateTimeElements","each","i","dateTimeElementInfo","element","guid","maxDate","minDate","allowedDate","date","Date","time","getTime","setMonth","getMonth","setDate","days","getDate","console","log","getRemainingDays","datetimepicker","type","pickerType","constrainInput","changeMonth","changeYear","yearRange","elementValue","val","dateTimeSegments","split","length","formatDateTimeValue","on","e","showNextStepOnEnterKeyDown","$$epiforms"],"sourceRoot":""}