{"version":3,"names":[],"mappings":"","sources":["src/components/event time line item/custom-timeline.js"],"sourcesContent":["(function ($, Drupal, drupalSettings) {\n Drupal.behaviors.timelineBehaviour = {\n attach: function (context, settings) {\n\n var slideNum = 2;\n\n if (!drupalSettings.hasOwnProperty(\"path\")){\n var currentLanguage = $(\"html\").attr(\"lang\");\n var requestUrl = window.location.protocol + \"//\" + window.location.hostname;\n var port = window.location.port;\n\n if (port != \"\"){\n requestUrl+= \":\" + port;\n }\n\n if (currentLanguage != \"\" && typeof currentLanguage != \"undefined\"){\n requestUrl+= \"/\" + currentLanguage;\n }\n\n requestUrl+=\"/rest/event-timeline\";\n } else {\n /*\n Use pathPrefix instead of currentLanguage since current language will\n always be available even if the site doesnt have the prefix on the url\n */\n var currentLanguage = drupalSettings.path.pathPrefix ? `${drupalSettings.path.pathPrefix}` : \"\";\n var requestUrl = `${drupalSettings.path.baseUrl}${currentLanguage}rest/event-timeline`;\n }\n\n $.getJSON(requestUrl, function(timeline_json) {\n //console.log( drupalSettings.path.baseUrl + currentLanguage + \"rest/event-timeline\" );\n var dates = [];\n var datePositions = [];\n var count = 0;\n var diffdate = new Date();\n\n for (var key in timeline_json.events) {\n dates[count] = new Date(parseInt(timeline_json.events[key].start_date.year), parseInt(timeline_json.events[key].start_date.month) - 1, parseInt(timeline_json.events[key].start_date.day));\n datePositions[count] = new Date(parseInt(timeline_json.events[key].start_date.year), parseInt(timeline_json.events[key].start_date.month) - 1, parseInt(timeline_json.events[key].start_date.day));\n count++;\n\n }\n\n dates.sort(function (a, b) {\n var distancea = Math.abs(diffdate - a);\n var distanceb = Math.abs(diffdate - b);\n return distancea - distanceb; // sort a before b when the distance is smaller\n });\n\n $.each(datePositions, function (index, value) {\n //console.log(value);\n if (value.getTime() === dates[0].getTime()) {\n slideNum = index;\n\n var additionalOptions = {\n default_bg_color: {r:255, g:255, b:255},\n dragging: true,\n initial_zoom: 3,\n scale_factor: 2,\n start_at_slide: parseInt(slideNum),\n zoom_sequence: [0.5, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89],\n language: document.documentElement.lang ? document.documentElement.lang : 'en' //null coalescing not working on EDGE\n };\n\n timeline = new TL.Timeline('timeline-embed', timeline_json, additionalOptions);\n\n $(\".tl-timemarker-content\").each(function () {\n var className = $(this).attr('class');\n className = className.replace(\"tl-timemarker-content\", \"\");\n className = className.replace(\"tl-timemarker-content-small\", \"\");\n className = className.replace(\"bg-col-\", \"\");\n className = className.replace(\" \", \"\");\n\n if(className.trim() === \"undefined\" || !className.trim()){\n $(this).css(\"background-color\", \"grey\");\n $(this).parent().prev().css(\"background-color\", \"grey\");\n }\n else{\n $(this).css(\"background-color\", className);\n $(this).parent().prev().css(\"background-color\", className);\n }\n });\n }\n });\n\n });\n }\n }\n\n})(jQuery, Drupal, drupalSettings);\n"],"file":"custom-timeline.js"}