{"version":3,"file":"app/date-picker-link.js","sources":["date-picker-link.js"],"sourcesContent":["/*----------------------------------------------------------------------------*\\\r\n Date picker link\r\n Trigger a date picker from a link\r\n\\*----------------------------------------------------------------------------*/\r\n\r\n/**\r\n * Use strict as per:\r\n * http://ejohn.org/blog/ecmascript-5-strict-mode-json-and-more/\r\n */\r\n'use strict';\r\n\r\n\r\n/**\r\n * Check if oy object exists, otherwise create it\r\n */\r\nvar oy = oy || {};\r\n\r\n\r\n/**\r\n * Jshint global references\r\n * Please define all third party plugins that you use to not break jshinting\r\n */\r\n/*global Pikaday */\r\n/*global moment */\r\n\r\n\r\n/* Component\r\n\\*----------------------------------------------------------------------------*/\r\n\r\noy.datePickerLink = {\r\n init: function(){\r\n if (oy.cutsMustard) {\r\n this.initElement(document);\r\n }\r\n },\r\n\r\n initElement: function($context){\r\n var self = this;\r\n var $elements = $context.querySelectorAll('.js--date-link__toggle');\r\n\r\n for (var i = 0; i < $elements.length; ++i) {\r\n var $element = $elements[i];\r\n self.setupElement($element);\r\n }\r\n },\r\n\r\n setupElement: function ($element) {\r\n\r\n if($element.hasAttribute('href')) {\r\n // remove link so click doesn't interfere with date picker\r\n $element.removeAttribute('href');\r\n }\r\n\r\n var options = {\r\n field : $element.parentElement.querySelector('.js--date-link__input'),\r\n trigger: $element,\r\n format: oy.translations.dateFormat,\r\n i18n: oy.translations.i18n,\r\n yearRange: 20\r\n };\r\n\r\n if ($element.getAttribute('data-date-min')) {\r\n options['minDate'] = moment($element.getAttribute('data-date-min')).toDate();\r\n }\r\n\r\n if ($element.getAttribute('data-date-max')) {\r\n options['maxDate'] = moment($element.getAttribute('data-date-max')).toDate();\r\n }\r\n\r\n if($element.getAttribute('data-date-default')) {\r\n if($element.getAttribute('data-date-default')!=='') {\r\n options['defaultDate'] = moment($element.getAttribute('data-date-default')).toDate();\r\n options['setDefaultDate'] = true;\r\n }\r\n }\r\n\r\n if ($element.getAttribute('data-destination')) {\r\n options.onSelect = function(date) {\r\n var formatted = date.getFullYear() + '-' + (date.getMonth()+1) + '-' + date.getDate();\r\n if (oy.loader) {\r\n oy.loader.open(document.querySelector('body'));\r\n }\r\n window.location = $element.getAttribute('data-destination') + '/' + formatted;\r\n };\r\n }\r\n\r\n new Pikaday(options);\r\n\r\n }\r\n};\r\n\r\n\r\n/**\r\n * Fire ALL the things\r\n */\r\nwindow.addEventListener('load', function () {\r\n oy.datePickerLink.init();\r\n}, false);\r\n"],"names":[],"mappings":"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","sourceRoot":"/source/"}