@websy/websy-designs 0.0.124 → 0.0.128
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -42,13 +42,22 @@ class WebsyPopupDialog {
|
|
|
42
42
|
handleClick (event) {
|
|
43
43
|
if (event.target.classList.contains('websy-btn')) {
|
|
44
44
|
const buttonIndex = event.target.getAttribute('data-index')
|
|
45
|
-
const buttonInfo = this.options.buttons[buttonIndex]
|
|
46
|
-
if (buttonInfo && buttonInfo.preventClose !== true) {
|
|
47
|
-
this.hide()
|
|
48
|
-
}
|
|
45
|
+
const buttonInfo = this.options.buttons[buttonIndex]
|
|
49
46
|
if (buttonInfo && buttonInfo.fn) {
|
|
47
|
+
if (typeof this.options.collectData !== 'undefined') {
|
|
48
|
+
const collectEl = document.getElementById(`${this.elementId}_collect`)
|
|
49
|
+
if (collectEl) {
|
|
50
|
+
buttonInfo.collectedData = collectEl.value
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
if (buttonInfo.preventClose !== true) {
|
|
54
|
+
this.hide()
|
|
55
|
+
}
|
|
50
56
|
buttonInfo.fn(buttonInfo)
|
|
51
|
-
}
|
|
57
|
+
}
|
|
58
|
+
else if (buttonInfo && buttonInfo.preventClose !== true) {
|
|
59
|
+
this.hide()
|
|
60
|
+
}
|
|
52
61
|
}
|
|
53
62
|
else if (this.closeOnOutsideClick === true) {
|
|
54
63
|
this.hide()
|
|
@@ -74,6 +83,13 @@ class WebsyPopupDialog {
|
|
|
74
83
|
if (this.options.message) {
|
|
75
84
|
html += `<p>${this.options.message}</p>`
|
|
76
85
|
}
|
|
86
|
+
if (typeof this.options.collectData !== 'undefined') {
|
|
87
|
+
html += `
|
|
88
|
+
<div>
|
|
89
|
+
<input id="${this.elementId}_collect" class="websy-input" value="${typeof this.options.collectData === 'boolean' ? '' : this.options.collectData}" placeholder="${this.options.collectPlaceholder || ''}">
|
|
90
|
+
</div>
|
|
91
|
+
`
|
|
92
|
+
}
|
|
77
93
|
this.closeOnOutsideClick = true
|
|
78
94
|
if (this.options.buttons) {
|
|
79
95
|
if (this.options.allowCloseOnOutsideClick !== true) {
|
package/dist/websy-designs.js
CHANGED
|
@@ -76,12 +76,22 @@ var WebsyPopupDialog = /*#__PURE__*/function () {
|
|
|
76
76
|
var buttonIndex = event.target.getAttribute('data-index');
|
|
77
77
|
var buttonInfo = this.options.buttons[buttonIndex];
|
|
78
78
|
|
|
79
|
-
if (buttonInfo && buttonInfo.preventClose !== true) {
|
|
80
|
-
this.hide();
|
|
81
|
-
}
|
|
82
|
-
|
|
83
79
|
if (buttonInfo && buttonInfo.fn) {
|
|
80
|
+
if (typeof this.options.collectData !== 'undefined') {
|
|
81
|
+
var collectEl = document.getElementById("".concat(this.elementId, "_collect"));
|
|
82
|
+
|
|
83
|
+
if (collectEl) {
|
|
84
|
+
buttonInfo.collectedData = collectEl.value;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
if (buttonInfo.preventClose !== true) {
|
|
89
|
+
this.hide();
|
|
90
|
+
}
|
|
91
|
+
|
|
84
92
|
buttonInfo.fn(buttonInfo);
|
|
93
|
+
} else if (buttonInfo && buttonInfo.preventClose !== true) {
|
|
94
|
+
this.hide();
|
|
85
95
|
}
|
|
86
96
|
} else if (this.closeOnOutsideClick === true) {
|
|
87
97
|
this.hide();
|
|
@@ -112,6 +122,10 @@ var WebsyPopupDialog = /*#__PURE__*/function () {
|
|
|
112
122
|
html += "<p>".concat(this.options.message, "</p>");
|
|
113
123
|
}
|
|
114
124
|
|
|
125
|
+
if (typeof this.options.collectData !== 'undefined') {
|
|
126
|
+
html += "\n <div>\n <input id=\"".concat(this.elementId, "_collect\" class=\"websy-input\" value=\"").concat(typeof this.options.collectData === 'boolean' ? '' : this.options.collectData, "\" placeholder=\"").concat(this.options.collectPlaceholder || '', "\">\n </div>\n ");
|
|
127
|
+
}
|
|
128
|
+
|
|
115
129
|
this.closeOnOutsideClick = true;
|
|
116
130
|
|
|
117
131
|
if (this.options.buttons) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function _toConsumableArray(t){return _arrayWithoutHoles(t)||_iterableToArray(t)||_unsupportedIterableToArray(t)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(t,e){if(t){if("string"==typeof t)return _arrayLikeToArray(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?_arrayLikeToArray(t,e):void 0}}function _iterableToArray(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}function _arrayWithoutHoles(t){if(Array.isArray(t))return _arrayLikeToArray(t)}function _arrayLikeToArray(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,s=new Array(e);i<e;i++)s[i]=t[i];return s}function _extends(){return(_extends=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var i=arguments[e];for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(t[s]=i[s])}return t}).apply(this,arguments)}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _defineProperties(t,e){for(var i=0;i<e.length;i++){var s=e[i];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(t,s.key,s)}}function _createClass(t,e,i){return e&&_defineProperties(t.prototype,e),i&&_defineProperties(t,i),t}var WebsyPopupDialog=function(){function s(t,e){if(_classCallCheck(this,s),this.DEFAULTS={buttons:[]},this.options=_extends({},this.DEFAULTS,e),t){this.closeOnOutsideClick=!0;var i=document.getElementById(t);this.elementId=t,i.addEventListener("click",this.handleClick.bind(this))}else console.log("No element Id provided for Websy Popup")}return _createClass(s,[{key:"hide",value:function(){document.getElementById(this.elementId).innerHTML=""}},{key:"handleClick",value:function(t){if(t.target.classList.contains("websy-btn")){var e=t.target.getAttribute("data-index"),i=this.options.buttons[e];i&&!0!==i.preventClose&&this.hide(),i&&i.fn&&i.fn(i)}else!0===this.closeOnOutsideClick&&this.hide()}},{key:"render",value:function(){if(this.elementId){var t=document.getElementById(this.elementId),e="";if(!0===this.options.mask&&(e+="<div class='websy-mask'></div>"),e+="\n\t\t\t<div class='websy-popup-dialog-container'>\n\t\t\t\t<div class='websy-popup-dialog'>\n\t\t",this.options.title&&(e+="<h1>".concat(this.options.title,"</h1>")),this.options.message&&(e+="<p>".concat(this.options.message,"</p>")),this.closeOnOutsideClick=!0,this.options.buttons){!0!==this.options.allowCloseOnOutsideClick&&(this.closeOnOutsideClick=!1),e+="<div class='websy-popup-button-panel'>";for(var i=0;i<this.options.buttons.length;i++)e+="\n\t\t\t\t\t<button class='websy-btn ".concat((this.options.buttons[i].classes||[]).join(" "),"' data-index='").concat(i,"'>\n\t\t\t\t\t\t").concat(this.options.buttons[i].label,"\n\t\t\t\t\t</button>\n\t\t\t\t");e+="</div>"}e+="\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t",t.innerHTML=e}else console.log("No element Id provided for Websy Popup")}},{key:"show",value:function(t){t&&(this.options=_extends({},this.DEFAULTS,t)),this.render()}}]),s}(),WebsyLoadingDialog=function(){function i(t,e){_classCallCheck(this,i),this.options=_extends({},e),t?this.elementId=t:console.log("No element Id provided")}return _createClass(i,[{key:"hide",value:function(){var t=document.getElementById(this.elementId);t.classList.remove("loading"),t.innerHTML=""}},{key:"render",value:function(){if(this.elementId){var t=document.getElementById(this.elementId),e="\n\t\t\t<div class='websy-loading-container ".concat((this.options.classes||[]).join(" "),"'>\n\t\t\t\t<div class='websy-ripple'>\n\t\t\t\t\t<div></div>\n\t\t\t\t\t<div></div>\n\t\t\t\t</div>\n\t\t\t\t<h4>").concat(this.options.title||"Loading...","</h4>\n\t\t");if(this.options.messages)for(var i=0;i<this.options.messages.length;i++)e+="<p>".concat(this.options.messages[i],"</p>");e+="\n\t\t\t</div>\t\n ",t.classList.add("loading"),t.innerHTML=e}else console.log("No element Id provided for Websy Loading Dialog")}},{key:"show",value:function(t){var e=1<arguments.length&&void 0!==arguments[1]&&arguments[1];t&&(this.options=!0===e?_extends({},t):_extends({},this.options,t)),this.render()}}]),i}(),WebsyNavigationMenu=function(){function s(t,e){if(_classCallCheck(this,s),this.options=_extends({},{collapsable:!1,orientation:"horizontal",parentMap:{},childIndentation:10},e),t){var i=document.getElementById(t);i&&(this.elementId=t,i.classList.add("websy-".concat(this.options.orientation,"-list-container")),i.classList.add("websy-menu"),this.options.classes&&this.options.classes.forEach(function(t){return i.classList.add(t)}),i.addEventListener("click",this.handleClick.bind(this)),this.render())}else console.log("No element Id provided for Websy Menu")}return _createClass(s,[{key:"handleClick",value:function(t){(t.target.classList.contains("websy-menu-icon")||"svg"===t.target.nodeName||"rect"===t.target.nodeName)&&this.toggleMobileMenu(),t.target.classList.contains("trigger-item")&&t.target.classList.contains("websy-menu-header")&&this.toggleMobileMenu("remove"),t.target.classList.contains("websy-menu-mask")&&this.toggleMobileMenu()}},{key:"normaliseString",value:function(t){return t.replace(/-/g,"").replace(/\s/g,"_")}},{key:"render",value:function(){var t=document.getElementById(this.elementId);if(t){var e="";!0===this.options.collapsable&&(e+="\n <div id='".concat(this.elementId,'_menuIcon\' class=\'websy-menu-icon\'>\n <svg viewbox="0 0 40 40" width="30" height="40"> \n <rect x="0" y="0" width="30" height="4" rx="2"></rect>\n <rect x="0" y="12" width="30" height="4" rx="2"></rect>\n <rect x="0" y="24" width="30" height="4" rx="2"></rect>\n </svg>\n </div>\n ')),this.options.logo&&(e+=" \n <div \n class='logo ".concat(this.options.logo.classes&&this.options.logo.classes.join(" ")||"","'\n ").concat(this.options.logo.attributes&&this.options.logo.attributes.join(" "),"\n >\n <img src='").concat(this.options.logo.url,"'></img>\n </div>\n <div id='").concat(this.elementId,"_mask' class='websy-menu-mask'></div>\n <div id=\"").concat(this.elementId,'_menuContainer" class="websy-menu-block-container">\n ')),e+=this.renderBlock(this.options.items,"main",1),e+="</div>",t.innerHTML=e,this.options.navigator&&this.options.navigator.registerElements(t)}}},{key:"renderBlock",value:function(t,e,i){var s="\n\t\t <ul class='websy-".concat(this.options.orientation,"-list ").concat("main"!==e?"websy-menu-collapsed":"","' id='").concat(this.elementId,"_").concat(e,"_list'\n\t ");"main"!==e&&(s+=" data-collapsed='".concat("main"!==e?"true":"false","'")),s+=">";for(var n=0;n<t.length;n++){var o=!0===t[n].default?"active":"",a=this.normaliseString(t[n].text),r=t[n].id||"".concat(this.elementId,"_").concat(a,"_label");s+="\n\t\t\t<li class='websy-".concat(this.options.orientation,"-list-item'>\n\t\t\t\t<div class='websy-menu-header ").concat(t[n].classes&&t[n].classes.join(" ")," ").concat(""," ").concat(o,"' \n\t\t\t\t\t\t id='").concat(r,"' \n\t\t\t\t\t\t data-id='").concat(a,"'\n data-menu-id='").concat(this.elementId,"_").concat(a,"_list'\n\t\t\t\t\t\t data-popout-id='").concat(1<i?e:a,"'\n\t\t\t\t\t\t data-text='").concat(t[n].text,"'\n\t\t\t\t\t\t style='padding-left: ").concat(i*this.options.childIndentation,"px'\n\t\t\t\t\t\t ").concat(t[n].attributes&&t[n].attributes.join(" "),"\n >\n "),"horizontal"===this.options.orientation&&(s+=t[n].text),s+="\n <span class='selected-bar'></span>\n <span class='active-square'></span>\n <span class='".concat(t[n].items&&0<t[n].items.length?"menu-carat":"","'></span>\n "),"vertical"===this.options.orientation&&(s+="\n \n "),s+=" \n\t\t\t\t</div>\n\t\t ",t[n].items&&(s+=this.renderBlock(t[n].items,a,i+1)),e&&"main"!==e&&(this.options.parentMap[a]||(this.options.parentMap[a]=e)),s+="\n\t\t\t</li>\n\t\t"}return s+="</ul>"}},{key:"toggleOpen",value:function(){}},{key:"toggleMobileMenu",value:function(t){void 0===t&&(t="toggle");var e=document.getElementById("".concat(this.elementId));e&&e.classList[t]("open"),this.options.onToggle&&this.options.onToggle(t)}}]),s}(),WebsyForm=function(){function n(t,e){_classCallCheck(this,n);var i={submit:{text:"Save",classes:""},clearAfterSave:!1,fields:[],onSuccess:function(t){},onError:function(t){console.log("Error submitting form data:",t)}};if(GlobalPubSub.subscribe("recaptchaready",this.recaptchaReady.bind(this)),this.recaptchaResult=null,this.options=_extends(i,{},{},e),t){this.apiService=new WebsyDesigns.APIService(""),this.elementId=t;var s=document.getElementById(t);s&&(this.options.classes&&this.options.classes.forEach(function(t){return s.classList.add(t)}),s.addEventListener("click",this.handleClick.bind(this)),s.addEventListener("keyup",this.handleKeyUp.bind(this)),s.addEventListener("keydown",this.handleKeyDown.bind(this)),this.render())}else console.log("No element Id provided")}return _createClass(n,[{key:"cancelForm",value:function(){document.getElementById("".concat(this.elementId,"Form")).reset(),this.options.cancelFn&&this.options.cancelFn(this.elementId)}},{key:"checkRecaptcha",value:function(){var t=this;return new Promise(function(e,i){!0===t.options.useRecaptcha?t.recaptchaValue?t.apiService.add("/google/checkrecaptcha",JSON.stringify({grecaptcharesponse:t.recaptchaValue})).then(function(t){t.success&&!0===t.success?e(!0):i(!1)}):i(!1):e(!0)})}},{key:"confirmValidation",value:function(){var t=document.getElementById("".concat(this.elementId,"_validationFail"));t&&(t.innerHTML="")}},{key:"failValidation",value:function(t){var e=document.getElementById("".concat(this.elementId,"_validationFail"));e&&(e.innerHTML=t)}},{key:"handleClick",value:function(t){t.preventDefault(),t.target.classList.contains("submit")?this.submitForm():t.target.classList.contains("cancel")&&this.cancelForm()}},{key:"handleKeyDown",value:function(t){"enter"===t.key&&this.submitForm()}},{key:"handleKeyUp",value:function(t){}},{key:"processComponents",value:function(t,e){var i=this;0===t.length?e():t.forEach(function(t){if(void 0!==WebsyDesigns[t.component])new WebsyDesigns[t.component]("".concat(i.elementId,"_input_").concat(t.field,"_component"),t.options)})}},{key:"recaptchaReady",value:function(){document.getElementById("".concat(this.elementId,"_recaptcha"))&&grecaptcha.render("".concat(this.elementId,"_recaptcha"),{sitekey:ENVIRONMENT.RECAPTCHA_KEY,callback:this.validateRecaptcha.bind(this)})}},{key:"render",value:function(t,e){var i=this,s=document.getElementById(this.elementId),n=[];if(s){var o='\n <form id="'.concat(this.elementId,'Form">\n ');this.options.fields.forEach(function(t,e){t.component?(n.push(t),o+="\n ".concat(0<e?"--\x3e":"","<div class='").concat(t.classes,"'>\n ").concat(t.label?'<label for="'.concat(t.field,'">').concat(t.label,"</label>"):"","\n <div id='").concat(i.elementId,"_input_").concat(t.field,"_component' class='form-component'></div>\n </div>\x3c!--\n ")):"longtext"===t.type?o+="\n ".concat(0<e?"--\x3e":"","<div class='").concat(t.classes,"'>\n ").concat(t.label?'<label for="'.concat(t.field,'">').concat(t.label,"</label>"):"",'\n <textarea\n id="').concat(i.elementId,"_input_").concat(t.field,'"\n ').concat(!0===t.required?"required":"",' \n placeholder="').concat(t.placeholder||"",'"\n name="').concat(t.field,'" \n class="websy-input websy-textarea"\n ></textarea>\n </div>\x3c!--\n '):o+="\n ".concat(0<e?"--\x3e":"","<div class='").concat(t.classes,"'>\n ").concat(t.label?'<label for="'.concat(t.field,'">').concat(t.label,"</label>"):"",'\n <input \n id="').concat(i.elementId,"_input_").concat(t.field,'"\n ').concat(!0===t.required?"required":"",' \n type="').concat(t.type||"text",'" \n class="websy-input" \n name="').concat(t.field,'" \n placeholder="').concat(t.placeholder||"",'"\n value="').concat(t.value||"",'"\n oninvalidx="this.setCustomValidity(\'').concat(t.invalidMessage||"Please fill in this field.","')\"\n />\n </div>\x3c!--\n ")}),o+='\n --\x3e<button class="websy-btn submit '.concat(this.options.submit.classes,'">').concat(this.options.submit.text||"Save","</button>").concat(this.options.cancel?"\x3c!--":"","\n "),this.options.cancel&&(o+='\n --\x3e<button class="websy-btn cancel '.concat(this.options.cancel.classes,'">').concat(this.options.cancel.text||"Cancel","</button>\n ")),o+=' \n </form>\n <div id="'.concat(this.elementId,'_validationFail" class="websy-validation-failure"></div>\n '),!0===this.options.useRecaptcha&&(o+="\n <div id='".concat(this.elementId,"_recaptcha'></div>\n ")),s.innerHTML=o,this.processComponents(n,function(){!0===i.options.useRecaptcha&&"undefined"!=typeof grecaptcha&&i.recaptchaReady()})}}},{key:"submitForm",value:function(){var e=this,s=document.getElementById("".concat(this.elementId,"Form"));!0===s.reportValidity()&&this.checkRecaptcha().then(function(t){if(!0===t){new FormData(s);var i={};new FormData(s).forEach(function(t,e){i[e]=t}),e.options.url?e.apiService.add(e.options.url,i).then(function(t){!0===e.options.clearAfterSave&&s.reset(),e.options.onSuccess.call(e,t)},function(t){console.log("Error submitting form data:",t),e.options.onError.call(e,t)}):e.options.submitFn&&e.options.submitFn(i,function(){!0===e.options.clearAfterSave&&s.reset()})}else console.log("bad recaptcha")})}},{key:"validateRecaptcha",value:function(t){this.recaptchaValue=t}},{key:"data",set:function(i){var s=this;this.options.fields||(this.options.fields=[]);var t=function(e){s.options.fields.forEach(function(t){t.field===e&&(t.value=i[e],document.getElementById("".concat(s.elementId,"_input_").concat(t.field)).value=t.value)})};for(var e in i)t(e);this.render()}}]),n}(),WebsyDatePicker=function(){function o(t,e){_classCallCheck(this,o),this.oneDay=864e5,this.currentselection=[],this.validDates=[];var i={defaultRange:0,minAllowedDate:this.floorDate(new Date(new Date((new Date).setFullYear((new Date).getFullYear()-1)).setDate(1))),maxAllowedDate:this.floorDate(new Date(new Date)),daysOfWeek:["S","M","T","W","T","F","S"],monthMap:{0:"Jan",1:"Feb",2:"Mar",3:"Apr",4:"May",5:"Jun",6:"Jul",7:"Aug",8:"Sep",9:"Oct",10:"Nov",11:"Dec"},ranges:[]};if(i.ranges=[{label:"All Dates",range:[i.minAllowedDate,i.maxAllowedDate]},{label:"Today",range:[this.floorDate(new Date)]},{label:"Yesterday",range:[this.floorDate((new Date).setDate((new Date).getDate()-1))]},{label:"Last 7 Days",range:[this.floorDate((new Date).setDate((new Date).getDate()-6)),this.floorDate(new Date)]},{label:"This Month",range:[this.floorDate((new Date).setDate(1)),this.floorDate(new Date((new Date).setDate(1)).setMonth((new Date).getMonth()+1)-this.oneDay)]},{label:"Last Month",range:[this.floorDate(new Date((new Date).setDate(1)).setMonth((new Date).getMonth()-1)),this.floorDate(new Date((new Date).setDate(1)).setMonth((new Date).getMonth())-this.oneDay)]},{label:"This Year",range:[this.floorDate(new Date("1/1/".concat((new Date).getFullYear()))),this.floorDate(new Date("12/31/".concat((new Date).getFullYear())))]},{label:"Last Year",range:[this.floorDate(new Date("1/1/".concat((new Date).getFullYear()-1))),this.floorDate(new Date("12/31/".concat((new Date).getFullYear()-1)))]}],this.options=_extends({},i,e),this.selectedRange=this.options.defaultRange||0,this.selectedRangeDates=_toConsumableArray(this.options.ranges[this.options.defaultRange||0].range),this.priorSelectedDates=null,t){var s=document.getElementById(t);if(s){this.elementId=t,s.addEventListener("click",this.handleClick.bind(this));var n="\n <div class='websy-date-picker-container'>\n <span class='websy-dropdown-header-label'>".concat(this.options.label||"Date","</span>\n <div class='websy-date-picker-header'>\n <span id='").concat(this.elementId,"_selectedRange'>").concat(this.options.ranges[this.selectedRange].label,'</span>\n <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M23.677 18.52c.914 1.523-.183 3.472-1.967 3.472h-19.414c-1.784 0-2.881-1.949-1.967-3.472l9.709-16.18c.891-1.483 3.041-1.48 3.93 0l9.709 16.18z"/></svg>\n </div>\n <div id=\'').concat(this.elementId,"_mask' class='websy-date-picker-mask'></div>\n <div id='").concat(this.elementId,"_content' class='websy-date-picker-content'>\n <div class='websy-date-picker-ranges'>\n <ul id='").concat(this.elementId,"_rangelist'>\n ").concat(this.renderRanges(),"\n </ul>\n </div>\x3c!--\n --\x3e<div id='").concat(this.elementId,"_datelist' class='websy-date-picker-custom'>").concat(this.renderDates(),"</div>\n <div class='websy-dp-button-container'>\n <button class='websy-btn websy-dp-cancel'>Cancel</button>\n <button class='websy-btn websy-dp-confirm'>Confirm</button>\n </div>\n </div> \n </div>\n ");s.innerHTML=n,this.render()}else console.log("No element found with Id",t)}else console.log("No element Id provided")}return _createClass(o,[{key:"close",value:function(t){var e=document.getElementById("".concat(this.elementId,"_mask")),i=document.getElementById("".concat(this.elementId,"_content"));e.classList.remove("active"),i.classList.remove("active"),!0===t?(this.options.onChange&&this.options.onChange(this.selectedRangeDates),this.updateRange()):(this.selectedRangeDates=_toConsumableArray(this.priorSelectedDates),this.selectedRange=this.priorSelectedRange)}},{key:"floorDate",value:function(t){return"number"==typeof t&&(t=new Date(t)),new Date(t.setHours(0,0,0,0))}},{key:"handleClick",value:function(t){if(t.target.classList.contains("websy-date-picker-header"))this.open();else if(t.target.classList.contains("websy-date-picker-mask"))this.close();else if(t.target.classList.contains("websy-date-picker-range")){if(t.target.classList.contains("websy-disabled-range"))return;var e=t.target.getAttribute("data-index");this.selectRange(e),this.updateRange(e)}else if(t.target.classList.contains("websy-dp-date")){if(t.target.classList.contains("websy-disabled-date"))return;var i=t.target.id.split("_")[0];this.selectDate(+i)}else t.target.classList.contains("websy-dp-confirm")?this.close(!0):t.target.classList.contains("websy-dp-cancel")&&this.close()}},{key:"highlightRange",value:function(){for(var t=document.getElementById("".concat(this.elementId,"_dateList")).querySelectorAll(".websy-dp-date"),e=0;e<t.length;e++)t[e].classList.remove("selected"),t[e].classList.remove("first"),t[e].classList.remove("last");if(0!==this.selectedRange){var i=Math.floor((this.selectedRangeDates[this.selectedRangeDates.length-1].getTime()-this.selectedRangeDates[0].getTime())/this.oneDay);this.selectedRangeDates[0].getMonth()!==this.selectedRangeDates[this.selectedRangeDates.length-1].getMonth()&&(i+=1);for(var s=0;s<i+1;s++){var n=this.floorDate(new Date(this.selectedRangeDates[0].getTime()+s*this.oneDay)),o=document.getElementById("".concat(n.getTime(),"_date"));o&&(o.classList.add("selected"),n.getTime()===this.selectedRangeDates[0].getTime()&&o.classList.add("first"),n.getTime()===this.selectedRangeDates[this.selectedRangeDates.length-1].getTime()&&o.classList.add("last"))}}}},{key:"open",value:function(t){1<arguments.length&&void 0!==arguments[1]&&arguments[1];var e=document.getElementById("".concat(this.elementId,"_mask")),i=document.getElementById("".concat(this.elementId,"_content"));e.classList.add("active"),i.classList.add("active"),this.priorSelectedDates=_toConsumableArray(this.selectedRangeDates),this.priorSelectedRange=this.selectedRange,this.scrollRangeIntoView()}},{key:"render",value:function(t){if(this.elementId){var e=document.getElementById("".concat(this.elementId,"_datelist"));e&&t&&(e.innerHTML=this.renderDates(t));var i=document.getElementById("".concat(this.elementId,"_rangelist"));i&&t&&(i.innerHTML=this.renderRanges()),this.highlightRange()}else console.log("No element Id provided for Websy Loading Dialog")}},{key:"renderDates",value:function(t){var e=[];this.validDates=[],t&&(e=t.map(function(t){return t.getTime()})),this.options.ranges.forEach(function(t){return t.disabled=!0});for(var i=Math.ceil((this.options.maxAllowedDate.getTime()-this.options.minAllowedDate.getTime())/this.oneDay)+1,s={},n=0;n<i;n++){var o=this.floorDate(new Date(this.options.minAllowedDate.getTime()+n*this.oneDay)),a="".concat(this.options.monthMap[o.getMonth()]," ").concat(o.getFullYear());s[a]||(s[a]=[]),-1===e.indexOf(o.getTime())&&this.validDates.push(o.getTime()),s[a].push({date:o,dayOfMonth:o.getDate(),dayOfWeek:o.getDay(),id:o.getTime(),disabled:-1!==e.indexOf(o.getTime())})}for(var r=0;r<this.options.ranges.length;r++){var l=this.options.ranges[r];if(-1!==this.validDates.indexOf(l.range[0].getTime()))l.disabled=!1;else if(l.range[1])if(-1!==this.validDates.indexOf(l.range[1].getTime()))l.disabled=!1;else for(var c=l.range[0].getTime();c<=l.range[1].getTime();c+=this.oneDay){var h=this.floorDate(new Date(c));if(-1!==this.validDates.indexOf(h.getTime())){l.disabled=!1;break}}}var d="";for(var p in d+="\n <ul class='websy-dp-days-header'>\n ",d+=this.options.daysOfWeek.map(function(t){return"<li>".concat(t,"</li>")}).join(""),d+="\n </ul>\n <div id='".concat(this.elementId,"_dateList' class='websy-dp-date-list'>\n "),s){if(d+="\n <div class='websy-dp-month-container'>\n <span id='".concat(p.replace(/\s/g,"_"),"'>").concat(p,"</span>\n <ul>\n "),0<s[p][0].dayOfWeek){for(var u=[],m=0;m<s[p][0].dayOfWeek;m++)u.push("<li> </li>");d+=u.join("")}d+=s[p].map(function(t){return"<li id='".concat(t.id,"_date' class='websy-dp-date ").concat(!0===t.disabled?"websy-disabled-date":"","'>").concat(t.dayOfMonth,"</li>")}).join(""),d+="\n </ul>\n </div>\n "}return d+="</div>"}},{key:"renderRanges",value:function(){var i=this;return this.options.ranges.map(function(t,e){return"\n <li data-index='".concat(e,"' class='websy-date-picker-range ").concat(e===i.selectedRange?"active":""," ").concat(!0===t.disabled?"websy-disabled-range":"","'>").concat(t.label,"</li>\n ")}).join("")}},{key:"scrollRangeIntoView",value:function(){if(this.selectedRangeDates[0]){var t=document.getElementById("".concat(this.selectedRangeDates[0].getTime(),"_date")),e=document.getElementById("".concat(this.elementId,"_dateList"));t&&e&&e.scrollTo(0,t.offsetTop)}}},{key:"selectDate",value:function(t){0===this.currentselection.length?this.currentselection.push(t):t>this.currentselection[0]?this.currentselection.push(t):this.currentselection.splice(0,0,t),this.selectedRangeDates=[new Date(this.currentselection[0]),new Date(this.currentselection[1]||this.currentselection[0])],2===this.currentselection.length&&(this.currentselection=[]),this.selectedRange=-1,this.highlightRange()}},{key:"selectRange",value:function(t){this.options.ranges[t]&&(this.selectedRangeDates=_toConsumableArray(this.options.ranges[t].range),this.selectedRange=+t,this.highlightRange(),this.close(!0))}},{key:"selectCustomRange",value:function(t){this.selectedRange=-1,this.selectedRangeDates=t,this.highlightRange(),this.updateRange()}},{key:"setDateBounds",value:function(t){"All Dates"===this.options.ranges[0].label&&(this.options.ranges[0].range=[t[0],t[1]||t[0]]),this.options.minAllowedDate=t[0],this.options.maxAllowedDate=t[1]||t[0]}},{key:"updateRange",value:function(){var t;if(-1===this.selectedRange){var e=this.selectedRangeDates[0].toLocaleDateString(),i="";this.selectedRangeDates[1]&&this.selectedRangeDates[0].getTime()!==this.selectedRangeDates[1].getTime()&&(i=" - ".concat(this.selectedRangeDates[1].toLocaleDateString())),t={label:"".concat(e).concat(i)}}else t=this.options.ranges[this.selectedRange];for(var s=document.getElementById(this.elementId),n=document.getElementById("".concat(this.elementId,"_selectedRange")),o=s.querySelectorAll(".websy-date-picker-range"),a=0;a<o.length;a++)o[a].classList.remove("active"),a===this.selectedRange&&o[a].classList.add("active");n&&(n.innerHTML=t.label)}}]),o}();Date.prototype.floor=function(){return new Date("".concat(this.getMonth()+1,"/").concat(this.getDate(),"/").concat(this.getFullYear()))};var WebsyDropdown=function(){function s(t,e){_classCallCheck(this,s);if(this.options=_extends({},{multiSelect:!1,multiValueDelimiter:",",allowClear:!0,style:"plain",items:[],label:"",disabled:!1,minSearchCharacters:2,showCompleteSelectedList:!1,closeAfterSelection:!0},e),this.tooltipTimeoutFn=null,this._originalData=[],this.selectedItems=this.options.selectedItems||[],t){var i=document.getElementById(t);i?(this.elementId=t,i.addEventListener("click",this.handleClick.bind(this)),i.addEventListener("keyup",this.handleKeyUp.bind(this)),i.addEventListener("mouseout",this.handleMouseOut.bind(this)),i.addEventListener("mousemove",this.handleMouseMove.bind(this)),this.render()):console.log("No element found with Id",t)}else console.log("No element Id provided")}return _createClass(s,[{key:"clearSelected",value:function(){this.selectedItems=[],this.updateHeader(),this.options.onClearSelected&&this.options.onClearSelected()}},{key:"close",value:function(){var t=document.getElementById("".concat(this.elementId,"_mask")),e=document.getElementById("".concat(this.elementId,"_content"));t.classList.remove("active"),e.classList.remove("active"),e.classList.remove("on-top");var i=document.getElementById("".concat(this.elementId,"_search"));i&&0<i.value.length&&this.options.onCancelSearch&&(this.options.onCancelSearch(""),i.value="")}},{key:"handleClick",value:function(t){if(!0!==this.options.disabled)if(t.target.classList.contains("websy-dropdown-header"))this.open();else if(t.target.classList.contains("websy-dropdown-mask"))this.close();else if(t.target.classList.contains("websy-dropdown-item")){var e=t.target.getAttribute("data-index");this.updateSelected(+e)}else t.target.classList.contains("clear")&&this.clearSelected()}},{key:"handleKeyUp",value:function(e){e.target.classList.contains("websy-dropdown-search")&&(0===this._originalData.length&&(this._originalData=_toConsumableArray(this.options.items)),e.target.value.length>=this.options.minSearchCharacters?"Enter"===e.key?this.options.onConfirmSearch&&(this.options.onConfirmSearch(e.target.value),e.target.value=""):"Escape"===e.key?this.options.onCancelSearch?(this.options.onCancelSearch(e.target.value),e.target.value=""):(this.data=this._originalData,this._originalData=[]):this.options.onSearch?this.options.onSearch(e.target.value):this.data=this._originalData.filter(function(t){return-1!==t.label.toLowerCase().indexOf(e.target.value.toLowerCase())}):this.options.onCancelSearch&&this.options.onCancelSearch(e.target.value))}},{key:"handleMouseMove",value:function(t){this.tooltipTimeoutFn&&(t.target.classList.remove("websy-delayed"),t.target.classList.remove("websy-delayed-info"),t.target.children[1]&&t.target.children[1].classList.remove("websy-delayed-info"),clearTimeout(this.tooltipTimeoutFn)),"LI"===t.target.tagName&&(this.tooltipTimeoutFn=setTimeout(function(){t.target.classList.add("websy-delayed")},500)),t.target.classList.contains("websy-dropdown-header")&&t.target.children[1]&&(this.tooltipTimeoutFn=setTimeout(function(){t.target.children[1].classList.add("websy-delayed-info")},500))}},{key:"handleMouseOut",value:function(t){this.tooltipTimeoutFn&&(t.target.classList.remove("websy-delayed"),t.target.classList.remove("websy-delayed-info"),t.target.children[1]&&t.target.children[1].classList.remove("websy-delayed-info"),clearTimeout(this.tooltipTimeoutFn))}},{key:"open",value:function(t){1<arguments.length&&void 0!==arguments[1]&&arguments[1];var e=document.getElementById("".concat(this.elementId,"_mask")),i=document.getElementById("".concat(this.elementId,"_content"));if(e.classList.add("active"),i.classList.add("active"),WebsyUtils.getElementPos(i).bottom>window.innerHeight&&i.classList.add("on-top"),!0!==this.options.disableSearch){var s=document.getElementById("".concat(this.elementId,"_search"));s&&s.focus()}}},{key:"render",value:function(){var e=this;if(this.elementId){var t=document.getElementById(this.elementId),i=this.selectedItems.map(function(t){return e.options.items[t].label||e.options.items[t].value}).join(this.options.multiValueDelimiter),s=this.selectedItems.map(function(t){return e.options.items[t].value||e.options.items[t].label}).join(this.options.multiValueDelimiter),n="\n <div class='websy-dropdown-container ".concat(this.options.disabled?"disabled":""," ").concat(!0!==this.options.disableSearch?"with-search":"","'>\n <div id='").concat(this.elementId,"_header' class='websy-dropdown-header ").concat(1===this.selectedItems.length?"one-selected":""," ").concat(!0===this.options.allowClear?"allow-clear":"","'>\n <span id='").concat(this.elementId,"_headerLabel' class='websy-dropdown-header-label'>").concat(this.options.label,"</span>\n <span data-info='").concat(i,"' class='websy-dropdown-header-value' id='").concat(this.elementId,"_selectedItems'>").concat(i,"</span>\n <input class='dropdown-input' id='").concat(this.elementId,"_input' name='").concat(this.options.field||this.options.label,"' value='").concat(s,'\'>\n <svg class=\'arrow\' xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M23.677 18.52c.914 1.523-.183 3.472-1.967 3.472h-19.414c-1.784 0-2.881-1.949-1.967-3.472l9.709-16.18c.891-1.483 3.041-1.48 3.93 0l9.709 16.18z"/></svg>\n ');!0===this.options.allowClear&&(n+='\n <svg class=\'clear\' xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 512 512"><title>ionicons-v5-l</title><line x1="368" y1="368" x2="144" y2="144" style="fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:32px"/><line x1="368" y1="144" x2="144" y2="368" style="fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:32px"/></svg>\n '),n+=" \n </div>\n <div id='".concat(this.elementId,"_mask' class='websy-dropdown-mask'></div>\n <div id='").concat(this.elementId,"_content' class='websy-dropdown-content'>\n "),!0!==this.options.disableSearch&&(n+="\n <input id='".concat(this.elementId,"_search' class='websy-dropdown-search' placeholder='").concat(this.options.searchPlaceholder||"Search","'>\n ")),n+="\n <div class='websy-dropdown-items'>\n <ul id='".concat(this.elementId,"_items'> \n </ul>\n </div>\x3c!--\n --\x3e<div class='websy-dropdown-custom'></div>\n </div>\n </div>\n "),t.innerHTML=n,this.renderItems()}else console.log("No element Id provided for Websy Dropdown")}},{key:"renderItems",value:function(){var t,i=this,e=this.options.items.map(function(t,e){return"\n <li data-index='".concat(e,"' class='websy-dropdown-item ").concat(-1!==i.selectedItems.indexOf(e)?"active":"","'>").concat(t.label,"</li>\n ")}).join(""),s=document.getElementById("".concat(this.elementId,"_items"));s&&(s.innerHTML=e),1===this.selectedItems.length&&(t=this.options.items[this.selectedItems[0]]),this.updateHeader(t)}},{key:"updateHeader",value:function(t){for(var e=this,i=document.getElementById(this.elementId),s=document.getElementById("".concat(this.elementId,"_header")),n=document.getElementById("".concat(this.elementId,"_headerLabel")),o=document.getElementById("".concat(this.elementId,"_selectedItems")),a=document.getElementById("".concat(this.elementId,"_input")),r=i.querySelectorAll(".websy-dropdown-item"),l=0;l<r.length;l++)r[l].classList.remove("active"),-1!==this.selectedItems.indexOf(l)&&r[l].classList.add("active");if(n&&(n.innerHTML=this.options.label),s&&(s.classList.remove("one-selected"),s.classList.remove("multi-selected"),1===this.selectedItems.length?s.classList.add("one-selected"):1<this.selectedItems.length&&(!0===this.options.showCompleteSelectedList?s.classList.add("one-selected"):s.classList.add("multi-selected"))),o)if(1===this.selectedItems.length)o.innerHTML=t.label,o.setAttribute("data-info",t.label),a.value=t.value;else if(1<this.selectedItems.length)if(!0===this.options.showCompleteSelectedList){var c=this.selectedItems.map(function(t){return e.options.items[t].label||e.options.items[t].value}).join(this.options.multiValueDelimiter),h=this.selectedItems.map(function(t){return e.options.items[t].value||e.options.items[t].label}).join(this.options.multiValueDelimiter);o.innerHTML=c,o.setAttribute("data-info",c),a.value=h}else{var d=this.selectedItems.map(function(t){return e.options.items[t].value||e.options.items[t].label}).join(this.options.multiValueDelimiter);o.innerHTML="".concat(this.selectedItems.length," selected"),o.setAttribute("data-info",""),a.value=d}else o.innerHTML="",o.setAttribute("data-info",""),a.value=""}},{key:"updateSelected",value:function(t){if(null!=t){var e=this.selectedItems.indexOf(t);-1!==e&&this.selectedItems.splice(e,1),!1===this.options.multiSelect?this.selectedItems=[t]:this.selectedItems.push(t)}var i=this.options.items[t];this.updateHeader(i),i&&this.options.onItemSelected&&this.options.onItemSelected(i,this.selectedItems,this.options.items),!0===this.options.closeAfterSelection&&this.close()}},{key:"selections",set:function(t){this.selectedItems=t||[]}},{key:"data",set:function(t){this.options.items=t||[],0===document.getElementById("".concat(this.elementId,"_items")).childElementCount?this.render():(0===this.options.items.length&&(this.options.items=[{label:this.options.noItemsText||"No Items"}]),this.renderItems())},get:function(){return this.options.items}}]),s}(),WebsyResultList=function(){function n(t,e){var i=this;_classCallCheck(this,n);if(this.options=_extends({},{listeners:{click:{}}},e),this.elementId=t,this.rows=[],this.apiService=new WebsyDesigns.APIService("/api"),this.templateService=new WebsyDesigns.APIService(""),t){var s=document.getElementById(t);s&&s.addEventListener("click",this.handleClick.bind(this)),"object"===_typeof(e.template)&&e.template.url?this.templateService.get(e.template.url).then(function(t){i.options.template=t,i.render()}):this.render()}else console.log("No element Id provided for Websy Search List")}return _createClass(n,[{key:"appendData",value:function(t){var e=this.rows.length;this.rows=this.rows.concat(t);var i=this.buildHTML(t,e);document.getElementById(this.elementId).innerHTML+=i.replace(/\n/g,"")}},{key:"buildHTML",value:function(n){var o=this,a=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0,c="";return this.options.template&&(0<n.length?n.forEach(function(r,e){var l="".concat(0<e?"--\x3e":"").concat(o.options.template).concat(e<n.length-1?"\x3c!--":"");_toConsumableArray(l.matchAll(/<\s*if[^>]*>([\s\S]*?)<\s*\/\s*if>/g)).forEach(function(t){if(t[0]&&-1<t.index){var e=t[0].match(/(\scondition=["|']\w.+)["|']/g);if(e&&e[0]){var i=e[0].trim().replace("condition=","");'"'===i.split("")[0]?i=i.replace(/"/g,""):"'"===i.split("")[0]&&(i=i.replace(/'/g,""));var s=[],n=!0;-1!==i.indexOf("===")?s=i.split("==="):-1!==i.indexOf("!==")?(s=i.split("!=="),n=!1):-1!==i.indexOf("==")?s=i.split("=="):-1!==i.indexOf("!=")&&(s=i.split("!="),n=!1);var o=!0;if(2===s.length&&(isNaN(s[1])||(s[1]=+s[1]),"true"===s[1]&&(s[1]=!0),"false"===s[1]&&(s[1]=!1),"string"==typeof s[1]&&(-1!==s[1].indexOf('"')?s[1]=s[1].replace(/"/g,""):-1!==s[1].indexOf("'")&&(s[1]=s[1].replace(/'/g,""))),!0===n?void 0!==r[s[0]]&&r[s[0]]===s[1]?o=!1:s[0]===s[1]&&(o=!1):!1===n&&void 0!==r[s[0]]&&r[s[0]]!==s[1]&&(o=!1)),!0===o)l=l.replace(t[0],"");else{var a=t[0];a=a.replace("</if>","").replace(/<\s*if[^>]*>/g,""),l=l.replace(t[0],a)}}}});var t=_toConsumableArray(l.matchAll(/(\sdata-event=["|']\w.+)["|']/g));for(var i in t.forEach(function(t){t[0]&&-1<t.index&&(l=l.replace(t[0],"".concat(t[0]," data-id=").concat(a+e)))}),r){var s=new RegExp("{".concat(i,"}"),"gm");l=l.replace(s,r[i])}c+=l}):this.options.noRowsHTML&&(c+=this.options.noRowsHTML)),c}},{key:"findById",value:function(t){for(var e=0;e<this.rows.length;e++)if(this.rows[e].id===t)return this.rows[e];return null}},{key:"handleClick",value:function(t){var e=this;if(t.target.classList.contains("clickable")){var i=t.target.getAttribute("data-event");if(i){i=i.split("(");var s,n=[],o=t.target.getAttribute("data-id");if(i[1]&&(i[1]=i[1].replace(")",""),n=i[1].split(",")),i=i[0],n=n.map(function(t){return"string"!=typeof t&&"number"!=typeof t?e.rows[+o]&&(t=e.rows[+o][t]):"string"==typeof t&&(t=t.replace(/"/g,"").replace(/'/g,"")),t}),t.target.classList.contains("clickable")&&this.options.listeners.click[i])t.stopPropagation(),(s=this.options.listeners.click[i]).call.apply(s,[this,t,this.rows[+o]].concat(_toConsumableArray(n)))}}}},{key:"render",value:function(){var e=this;this.options.entity?this.apiService.get(this.options.entity).then(function(t){e.rows=t.rows,e.resize()}):this.resize()}},{key:"resize",value:function(){var t=this.buildHTML(this.rows);document.getElementById(this.elementId).innerHTML=t.replace(/\n/g,"")}},{key:"data",set:function(t){this.rows=t||[],this.render()},get:function(){return this.rows}}]),n}(),WebsyTemplate=function(){function n(t,e){var i=this;_classCallCheck(this,n);if(this.options=_extends({},{listeners:{click:{}}},e),this.elementId=t,this.templateService=new WebsyDesigns.APIService(""),t){var s=document.getElementById(t);s&&s.addEventListener("click",this.handleClick.bind(this)),"object"===_typeof(e.template)&&e.template.url?this.templateService.get(e.template.url).then(function(t){i.options.template=t,i.render()}):this.render()}else console.log("No element Id provided for Websy Template")}return _createClass(n,[{key:"buildHTML",value:function(){var r=this,t="";if(this.options.template){var l=this.options.template;_toConsumableArray(l.matchAll(/<\s*if[^>]*>([\s\S]*?)<\s*\/\s*if>/g)).forEach(function(t){if(t[0]&&-1<t.index){var e=t[0].match(/(\scondition=["|']\w.+)["|']/g);if(e&&e[0]){var i=e[0].trim().replace("condition=","");'"'===i.split("")[0]?i=i.replace(/"/g,""):"'"===i.split("")[0]&&(i=i.replace(/'/g,""));var s=[],n=!0;-1!==i.indexOf("===")?s=i.split("==="):-1!==i.indexOf("!==")?(s=i.split("!=="),n=!1):-1!==i.indexOf("==")?s=i.split("=="):-1!==i.indexOf("!=")&&(s=i.split("!="),n=!1);var o=!0;if(2===s.length&&(isNaN(s[1])||(s[1]=+s[1]),"true"===s[1]&&(s[1]=!0),"false"===s[1]&&(s[1]=!1),"string"==typeof s[1]&&(-1!==s[1].indexOf('"')?s[1]=s[1].replace(/"/g,""):-1!==s[1].indexOf("'")&&(s[1]=s[1].replace(/'/g,""))),!0===n?void 0!==r.options.data[s[0]]&&r.options.data[s[0]]===s[1]?o=!1:s[0]===s[1]&&(o=!1):!1===n&&void 0!==r.options.data[s[0]]&&r.options.data[s[0]]!==s[1]&&(o=!1)),!0===o)l=l.replace(t[0],"");else{var a=t[0];a=a.replace("</if>","").replace(/<\s*if[^>]*>/g,""),l=l.replace(t[0],a)}}}});var e=_toConsumableArray(l.matchAll(/(\sdata-event=["|']\w.+)["|']/g));for(var i in e.forEach(function(t){t[0]&&-1<t.index&&(l=l.replace(t[0],"".concat(t[0])))}),this.options.data){var s=new RegExp("{".concat(i,"}"),"gm");s&&(l=l.replace(s,this.options.data[i]))}t=l}return t}},{key:"handleClick",value:function(t){}},{key:"render",value:function(){this.resize()}},{key:"resize",value:function(){var t=this.buildHTML();document.getElementById(this.elementId).innerHTML=t.replace(/\n/g,""),this.options.readyCallbackFn&&this.options.readyCallbackFn()}}]),n}(),WebsyPubSub=function(){function i(t,e){_classCallCheck(this,i),this.options=_extends({},e),t?(this.elementId=t,this.subscriptions={}):console.log("No element Id provided")}return _createClass(i,[{key:"publish",value:function(t,e){this.subscriptions[t]&&this.subscriptions[t].forEach(function(t){t(e)})}},{key:"subscribe",value:function(t,e){this.subscriptions[t]||(this.subscriptions[t]=[]),this.subscriptions[t].push(e)}}]),i}(),WebsyRouter=function(){function s(t){_classCallCheck(this,s);var e={triggerClass:"trigger-item",triggerToggleClass:"trigger-toggle",viewClass:"view",activeClass:"active",viewAttribute:"data-view",groupAttribute:"data-group",parentAttribute:"data-parent",defaultView:"",defaultGroup:"main",subscribers:{show:[],hide:[]}};if(this.triggerIdList=[],this.viewIdList=[],this.previousPath="",this.previousView="",this.currentView="",this.currentViewMain="",this.currentParams={},this.controlPressed=!1,this.usesHTMLSuffix=-1!==window.location.pathname.indexOf(".htm"),window.addEventListener("popstate",this.onPopState.bind(this)),window.addEventListener("keydown",this.handleKeyDown.bind(this)),window.addEventListener("keyup",this.handleKeyUp.bind(this)),window.addEventListener("focus",this.handleFocus.bind(this)),window.addEventListener("click",this.handleClick.bind(this)),this.options=_extends({},e,t),this.options.viewClass!==e.viewClass||this.options.activeClass!==e.activeClass){var i="\n <style>\n .".concat(this.options.viewClass,"{ display: none; }\n .").concat(this.options.viewClass,".").concat(this.options.activeClass,"{ display: initial; }\n .").concat(this.options.triggerClass,"{cursor: pointer;}\n </style>\n ");document.querySelector("head").innerHTML+=i}}return _createClass(s,[{key:"addGroup",value:function(t){this.groups[t]||(this.groups[t]={activeView:""})}},{key:"addUrlParams",value:function(t){if(void 0!==t){var e={path:"",items:{}},i="";this.currentParams&&this.currentParams.items?(e.items=_extends({},this.currentParams.items,t),i=this.buildUrlPath(e.items)):0<Object.keys(t).length&&(e.items=_extends({},t),i=this.buildUrlPath(e.items)),this.currentParams=e;var s=this.currentView;this.options.urlPrefix&&(s="/".concat(this.options.urlPrefix,"/").concat(s)),history.pushState({inputPath:s},s,"".concat(s,"?").concat(i))}}},{key:"buildUrlPath",value:function(t){var e=[];for(var i in t)e.push("".concat(i,"=").concat(t[i]));return e.join("&")}},{key:"formatParams",value:function(t){var e={path:t,items:{}};if(void 0!==t){for(var i=t.split("&"),s=0;s<i.length;s++){var n=i[s].split("=");e.items[n[0]]=n[1]}return this.currentParams=e}}},{key:"generateId",value:function(t){for(var e="abcdefghijklmnopqrstuwxyzABCDEFGHIJKLMNOPQRSTUWXYZ0123456789",i=[],s=0;s<6;s++){var n=Math.floor(62*Math.random());i.push(e[n])}return"".concat(t,"_").concat(i.join(""))}},{key:"getActiveViewsFromParent",value:function(t){var e=[];for(var i in this.groups)this.groups[i].parent===t&&this.groups[i].activeView&&e.push(this.groups[i].activeView);return e}},{key:"handleClick",value:function(t){if(t.target.classList.contains(this.options.triggerClass)){var e=t.target.getAttribute(this.options.viewAttribute),i=t.target.getAttribute(this.options.groupAttribute);this.navigate(e,i||"main",t)}}},{key:"init",value:function(){this.registerElements(document);var t="",e=this.formatParams(this.queryParams);""===this.currentPath&&""!==this.options.defaultView?t=this.options.defaultView:""!==this.currentPath&&(t=this.currentPath),void 0!==e&&"?".concat(e.path),this.currentView=t,this.currentViewMain=t,"/"!==this.currentView&&""!==this.currentView||(this.currentView=this.options.defaultView),"/"!==this.currentViewMain&&""!==this.currentViewMain||(this.currentViewMain=this.options.defaultView),""!==t&&this.showView(t,e)}},{key:"handleFocus",value:function(t){this.controlPressed=!1}},{key:"handleKeyDown",value:function(t){switch(t.key){case"Control":case"Meta":this.controlPressed=!0}}},{key:"handleKeyUp",value:function(t){this.controlPressed=!1}},{key:"hideView",value:function(t,e){if(this.hideTriggerItems(t,e),this.hideViewItems(t,e),e===this.options.defaultGroup){var i=document.getElementsByClassName("parent-".concat(t));if(i)for(var s=0;s<i.length;s++)if(i[s].classList.contains(this.options.viewClass)){var n=i[s].attributes[this.options.viewAttribute],o=i[s].attributes[this.options.groupAttribute];n&&""!==n.value&&this.hideView(n.value,o.value||this.options.defaultGroup)}}else this.groups[e]&&this.groups[e].activeView===t&&(this.groups[e].activeView=null);this.publish("hide",[t])}},{key:"registerElements",value:function(t){"#document"===t.nodeName&&(this.groups={});for(var e=t.getElementsByClassName(this.options.triggerClass),i=0;i<e.length;i++)if(e[i].id||(e[i].id=this.generateId("trigger")),-1===this.triggerIdList.indexOf(e[i].id)){this.triggerIdList.push(e[i].id);var s=e[i].attributes[this.options.viewAttribute];if(s&&""!==s.value){var n=e[i].attributes[this.options.groupAttribute],o=this.options.defaultGroup;n&&""!==n.value&&(o=n.value);var a=e[i].attributes[this.options.parentAttribute];a&&""!==a.value&&e[i].classList.add("parent-".concat(a.value)),e[i].classList.add("".concat(this.options.triggerClass,"-").concat(o))}}for(var r=t.getElementsByClassName(this.options.viewClass),l=0;l<r.length;l++){var c=r[l].attributes[this.options.groupAttribute],h=r[l].attributes[this.options.viewAttribute];c&&""!==c.value?(this.addGroup(c.value),r[l].classList.contains(this.options.activeClass)&&(this.groups[c.value].activeView=h.value),r[l].classList.add("".concat(this.options.viewClass,"-").concat(c.value))):r[l].classList.add("".concat(this.options.viewClass,"-").concat(this.options.defaultGroup));var d=r[l].attributes[this.options.parentAttribute];d&&""!==d.value&&(r[l].classList.add("parent-".concat(d.value)),c&&""!==c.value&&this.groups[c.value]&&(this.groups[c.value].parent=d.value))}}},{key:"showView",value:function(t,e){this.activateItem(t,this.options.triggerClass),this.activateItem(t,this.options.viewClass);for(var i=this.getActiveViewsFromParent(t),s=0;s<i.length;s++)this.activateItem(i[s],this.options.triggerClass),this.activateItem(i[s],this.options.viewClass),this.publish("show",[i[s]]);this.publish("show",[t,e])}},{key:"reloadCurrentView",value:function(){this.showView(this.currentView,this.currentParams)}},{key:"navigate",value:function(t,e,i,s){void 0===s&&(s=!1),this.popped=s;var n,o=!1,a=t;t===this.options.defaultView&&!1===this.usesHTMLSuffix&&(t=t.replace(this.options.defaultView,"/")),!0===this.options.persistentParameters&&-1===t.indexOf("?")&&this.queryParams&&(t+="?".concat(this.queryParams)),!0===this.usesHTMLSuffix&&(-1===t.indexOf("?")?t="?view=".concat(t):-1===t.indexOf("view=")&&(t="&view=".concat(t)));var r=this.currentParams.path;if(!0!==this.controlPressed||e!==this.options.defaultGroup){if(-1!==t.indexOf("?")&&e===this.options.defaultGroup){var l=t.split("?");this.formatParams(l[1]),t=l[0]}else e===this.options.defaultGroup&&(this.currentParams={});if(i&&(i.target&&i.target.classList.contains(this.options.triggerToggleClass)?o=!0:"boolean"==typeof i&&(o=i)),!0===o&&""!==this.groups[e].activeView&&(a=""),this.previousView=this.currentView,this.previousPath=this.currentPath,this.groups||(this.groups={}),this.groups[e]&&(!1===o&&(n=this.groups[e].activeView),this.previousPath=this.groups[e].activeView),!0===o?""!==this.previousPath&&this.hideView(this.previousPath,e):this.hideView(this.previousView,e),!(!0===o&&a===n||(e&&this.groups[e]&&e!==this.options.defaultGroup&&(this.groups[e].activeView=a),!1===o&&"main"===e&&(this.currentView=t),"main"===e&&(this.currentViewMain=t),"/"===this.currentView&&(this.currentView=this.options.defaultView),"/"===this.currentViewMain&&(this.currentViewMain=this.options.defaultView),!1===o?this.showView(this.currentView,this.currentParams):a&&""!==a&&this.showView(a),!0===this.usesHTMLSuffix&&(t=window.location.pathname.split("/").pop()+t),this.currentPath===a&&r===this.currentParams.path||e!==this.options.defaultGroup||!1!==s))){var c=t;this.options.urlPrefix&&(c="/".concat(this.options.urlPrefix,"/").concat(c),t="/".concat(this.options.urlPrefix,"/").concat(t)),this.currentParams&&this.currentParams.path?c+="?".concat(this.currentParams.path):this.queryParams&&(c+="?".concat(this.queryParams)),history.pushState({inputPath:t},t,c)}}else window.open("".concat(window.location.origin,"/").concat(t),"_blank")}},{key:"onPopState",value:function(t){var e;t.state?(t.state.url?e=t.state.url:-1!==(e=t.state.inputPath).indexOf(this.options.urlPrefix)&&(e=e.replace("/".concat(this.options.urlPrefix,"/"),"")),this.navigate(e,"main",null,!0)):this.navigate(this.options.defaultView||"/","main",null,!0)}},{key:"publish",value:function(t,e){this.options.subscribers[t].forEach(function(t){t.apply(null,e)})}},{key:"subscribe",value:function(t,e){this.options.subscribers[t].push(e)}},{key:"hideTriggerItems",value:function(t,e){this.hideItems(this.options.triggerClass,e)}},{key:"hideViewItems",value:function(t,e){this.hideItems(t,e)}},{key:"hideItems",value:function(t,e){var i;if(i=_toConsumableArray(e&&"main"!==e?document.querySelectorAll("[".concat(this.options.groupAttribute,"='").concat(e,"']")):document.querySelectorAll("[".concat(this.options.viewAttribute,"='").concat(t,"']"))))for(var s=0;s<i.length;s++)i[s].classList.remove(this.options.activeClass)}},{key:"activateItem",value:function(t,e){var i=document.getElementsByClassName(e);if(i)for(var s=0;s<i.length;s++)if(i[s].attributes[this.options.viewAttribute]&&i[s].attributes[this.options.viewAttribute].value===t){i[s].classList.add(this.options.activeClass);break}}},{key:"currentPath",get:function(){var t=window.location.pathname.split("/").pop();return-1!==t.indexOf(".htm")?"":this.options.urlPrefix&&t===this.options.urlPrefix?"":t}},{key:"queryParams",get:function(){return 1<window.location.search.length?window.location.search.substring(1):""}}]),s}(),APIService=function(){function e(t){_classCallCheck(this,e),this.baseUrl=t}return _createClass(e,[{key:"add",value:function(t,e){var i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{},s=this.buildUrl(t);return this.run("POST",s,e,i)}},{key:"buildUrl",value:function(t,e,i){return void 0===i&&(i=[]),e&&i.push("id:".concat(e)),"".concat(this.baseUrl,"/").concat(t).concat(0<i.length?"".concat(-1===t.indexOf("?")?"?":"&","where=").concat(i.join(";")):"")}},{key:"delete",value:function(t,e){var i=this.buildUrl(t,e);return this.run("DELETE",i)}},{key:"get",value:function(t,e,i){var s=this.buildUrl(t,e,i);return this.run("GET",s)}},{key:"update",value:function(t,e,i){var s=this.buildUrl(t,e);return this.run("PUT",s,i)}},{key:"fetchData",value:function(t,e,i){3<arguments.length&&void 0!==arguments[3]&&arguments[3];return fetch(e,{method:t,mode:"cors",cache:"no-cache",credentials:"same-origin",headers:{"Content-Type":"application/json"},redirect:"follow",referrerPolicy:"no-referrer",body:JSON.stringify(i)}).then(function(t){return t.json()})}},{key:"run",value:function(n,o,a){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:{},l=4<arguments.length&&void 0!==arguments[4]&&arguments[4];return new Promise(function(e,i){var s=new XMLHttpRequest;if(s.open(n,o),s.setRequestHeader("Content-Type","application/json"),s.responseType="text",r.responseType&&(s.responseType=r.responseType),r.headers)for(var t in r.headers)s.setRequestHeader(t,r.headers[t]);s.withCredentials=!0,s.onload=function(){if(401!==s.status&&403!==s.status){var t="text"===s.responseType?s.responseText:s.response;if(""!==t&&"null"!==t)try{t=JSON.parse(t)}catch(t){}else t=[];t.err?i(JSON.stringify(t)):e(!0===l?[t,function(t){t=t.split("\r\n");var e={};return t.forEach(function(t){2===(t=t.split(":")).length&&(e[t[0]]=t[1].trim())}),e}(s.getAllResponseHeaders())]:t)}else ENV&&ENV.AUTH_REDIRECT?window.location=ENV.AUTH_REDIRECT:window.location="/login"},s.onerror=function(){return i(s.statusText)},a?s.send(JSON.stringify(a)):s.send()})}}]),e}(),WebsyPDFButton=function(){function s(t,e){_classCallCheck(this,s);this.elementId=t,this.options=_extends({},{classes:[],wait:0,buttonText:"Download"},e),this.service=new WebsyDesigns.APIService("/pdf");var i=document.getElementById(this.elementId);i&&(i.addEventListener("click",this.handleClick.bind(this)),e.html?i.innerHTML=e.html:(i.innerHTML="\n \x3c!--<form style='display: none;' id='".concat(this.elementId,"_form' action='/pdf' method='POST'>\n <input id='").concat(this.elementId,"_pdfHeader' value='' name='header'>\n <input id='").concat(this.elementId,"_pdfHTML' value='' name='html'>\n <input id='").concat(this.elementId,"_pdfFooter' value='' name='footer'>\n </form>--\x3e\n <button class='websy-btn websy-pdf-button ").concat(this.options.classes.join(" "),'\'>\n Create PDF\n <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"\n viewBox="0 0 184.153 184.153" style="enable-background:new 0 0 184.153 184.153;" xml:space="preserve">\n <g>\n <g>\n <g>\n <path d="M129.318,0H26.06c-1.919,0-3.475,1.554-3.475,3.475v177.203c0,1.92,1.556,3.475,3.475,3.475h132.034\n c1.919,0,3.475-1.554,3.475-3.475V34.131C161.568,22.011,140.771,0,129.318,0z M154.62,177.203H29.535V6.949h99.784\n c7.803,0,25.301,18.798,25.301,27.182V177.203z"/>\n <path d="M71.23,76.441c15.327,0,27.797-12.47,27.797-27.797c0-15.327-12.47-27.797-27.797-27.797\n c-15.327,0-27.797,12.47-27.797,27.797C43.433,63.971,55.902,76.441,71.23,76.441z M71.229,27.797\n c11.497,0,20.848,9.351,20.848,20.847c0,0.888-0.074,1.758-0.183,2.617l-18.071-2.708L62.505,29.735\n C65.162,28.503,68.112,27.797,71.229,27.797z M56.761,33.668l11.951,19.869c0.534,0.889,1.437,1.49,2.462,1.646l18.669,2.799\n c-3.433,6.814-10.477,11.51-18.613,11.51c-11.496,0-20.847-9.351-20.847-20.847C50.381,42.767,52.836,37.461,56.761,33.668z"/>\n <rect x="46.907" y="90.339" width="73.058" height="6.949"/>\n <rect x="46.907" y="107.712" width="48.644" height="6.949"/>\n <rect x="46.907" y="125.085" width="62.542" height="6.949"/>\n </g>\n </g>\n </g> \n </svg>\n </button> \n <div id=\'').concat(this.elementId,"_loader'></div>\n <div id='").concat(this.elementId,"_popup'></div>\n "),this.loader=new WebsyDesigns.WebsyLoadingDialog("".concat(this.elementId,"_loader"),{classes:["global-loader"]}),this.popup=new WebsyDesigns.WebsyPopupDialog("".concat(this.elementId,"_popup"))))}return _createClass(s,[{key:"handleClick",value:function(t){var n=this;t.target.classList.contains("websy-pdf-button")?(this.loader.show(),setTimeout(function(){if(n.options.targetId){var t=document.getElementById(n.options.targetId);if(t){var e={options:{}};if(n.options.pdfOptions&&(e.options=_extends({},n.options.pdfOptions)),n.options.header)if(n.options.header.elementId){var i=document.getElementById(n.options.header.elementId);i&&(e.header=i.outerHTML,n.options.header.css&&(e.options.headerCSS=n.options.header.css))}else n.options.header.html?(e.header=n.options.header.html,n.options.header.css&&(e.options.headerCSS=n.options.header.css)):e.header=n.options.header;if(n.options.footer)if(n.options.footer.elementId){var s=document.getElementById(n.options.footer.elementId);s&&(e.footer=s.outerHTML,n.options.footer.css&&(e.options.footerCSS=n.options.footer.css))}else e.footer=n.options.footer;e.html=t.outerHTML,n.service.add("",e,{responseType:"blob"}).then(function(t){n.loader.hide();var e=new Blob([t],{type:"application/pdf"});n.popup.show({message:"\n <div class='text-center websy-pdf-download'>\n <div>Your file is ready to download</div>\n <a href='".concat(URL.createObjectURL(e),"' target='_blank'>\n <button class='websy-btn download-pdf'>").concat(n.options.buttonText,"</button>\n </a>\n </div>\n "),mask:!0})},function(t){console.error(t)})}}},this.options.wait)):t.target.classList.contains("download-pdf")&&(this.popup.hide(),this.options.onClose&&this.options.onClose())}},{key:"render",value:function(){}}]),s}(),WebsyTable=function(){function s(t,e){_classCallCheck(this,s);this.elementId=t,this.options=_extends({},{pageSize:20},e),this.rowCount=0,this.busy=!1,this.tooltipTimeoutFn=null,this.data=[];var i=document.getElementById(this.elementId);i?(i.innerHTML="\n <div id='".concat(this.elementId,'_tableContainer\' class=\'websy-vis-table\'>\n \x3c!--<div class="download-button">\n <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M16 11h5l-9 10-9-10h5v-11h8v11zm1 11h-10v2h10v-2z"/></svg>\n </div>--\x3e\n <table>\n <thead id="').concat(this.elementId,'_head">\n </thead>\n <tbody id="').concat(this.elementId,'_body">\n </tbody>\n <tfoot id="').concat(this.elementId,'_foot">\n </tfoot>\n </table>\n </div>\n '),i.addEventListener("click",this.handleClick.bind(this)),i.addEventListener("mouseout",this.handleMouseOut.bind(this)),i.addEventListener("mousemove",this.handleMouseMove.bind(this)),document.getElementById("".concat(this.elementId,"_tableContainer")).addEventListener("scroll",this.handleScroll.bind(this)),this.render()):console.error("No element found with ID ".concat(this.elementId))}return _createClass(s,[{key:"appendRows",value:function(t){var o=this,e="";t&&(e+=t.map(function(t,n){return"<tr>"+t.map(function(t,e){if(!1!==o.options.columns[e].show){var i="";if(t.style&&(i+=t.style),o.options.columns[e].width&&(i+="width: ".concat(o.options.columns[e].width,"; ")),t.backgroundColor&&(i+="background-color: ".concat(t.backgroundColor,"; ")),t.color&&(i+="color: ".concat(t.color,"; ")),!0===o.options.columns[e].showAsLink&&""!==t.value.trim())return"\n <td \n data-row-index='".concat(o.rowCount+n,"' \n data-col-index='").concat(e,"' \n class='").concat(o.options.columns[e].classes||"","' \n style='").concat(i,"'\n colspan='").concat(t.colspan||1,"'\n >\n <a href='").concat(t.value,"' target='").concat(!0===o.options.columns[e].openInNewTab?"_blank":"_self","'>").concat(t.displayText||o.options.columns[e].linkText||t.value,"</a>\n </td>\n ");if(!0===o.options.columns[e].showAsNavigatorLink&&""!==t.value.trim())return"\n <td \n data-view='".concat(t.value,"' \n data-row-index='").concat(o.rowCount+n,"' \n data-col-index='").concat(e,"' \n class='trigger-item ").concat(!0===o.options.columns[e].clickable?"clickable":""," ").concat(o.options.columns[e].classes||"","' \n style='").concat(i,"'\n colspan='").concat(t.colspan||1,"'\n >").concat(t.displayText||o.options.columns[e].linkText||t.value,"</td>\n ");var s=t.value;return!0===o.options.columns[e].showAsImage&&(t.value="\n <img src='".concat(t.value,"'>\n ")),"\n <td \n data-info='".concat(s,"' \n data-row-index='").concat(o.rowCount+n,"' \n data-col-index='").concat(e,"' \n class='").concat(o.options.columns[e].classes||"","' \n style='").concat(i,"'\n colspan='").concat(t.colspan||1,"'\n >").concat(t.value,"</td>\n ")}}).join("")+"</tr>"}).join(""),this.data=this.data.concat(t),this.rowCount=this.data.length),document.getElementById("".concat(this.elementId,"_body")).innerHTML+=e}},{key:"buildSearchIcon",value:function(t){return'\n <div>\n <svg\n class="tableSearchIcon"\n data-field="'.concat(t,'"\n xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"\n >\n <path d="M0 0h24v24H0z" fill="none"/>\n <path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/>\n </svg>\n </div>\n ')}},{key:"handleClick",value:function(t){if(t.target.classList.contains("download-button")&&window.viewManager.dataExportController.exportData(this.options.model),t.target.classList.contains("sortable-column")){var e=+t.target.getAttribute("data-index"),i=this.options.columns[e];this.options.onSort?this.options.onSort(t,i,e):this.internalSort(i,e)}else if(t.target.classList.contains("tableSearchIcon")){var s=t.target.getAttribute("data-field");window.viewManager.views.global.objects[1].instance.show(s,{x:t.pageX,y:t.pageY},function(){t.target.classList.remove("active")})}else if(t.target.classList.contains("clickable")){var n=+t.target.getAttribute("data-col-index"),o=+t.target.getAttribute("data-row-index");this.options.onClick&&this.options.onClick(t,this.data[o][n],this.data[o],this.options.columns[n])}}},{key:"handleMouseMove",value:function(t){this.tooltipTimeoutFn&&(t.target.classList.remove("websy-delayed-info"),clearTimeout(this.tooltipTimeoutFn)),"TD"===t.target.tagName&&(this.tooltipTimeoutFn=setTimeout(function(){t.target.classList.add("websy-delayed-info")},500))}},{key:"handleMouseOut",value:function(t){this.tooltipTimeoutFn&&(t.target.classList.remove("websy-delayed-info"),clearTimeout(this.tooltipTimeoutFn))}},{key:"handleScroll",value:function(t){this.options.onScroll&&this.options.onScroll(t)}},{key:"internalSort",value:function(t,i){if(this.options.columns.forEach(function(t,e){t.activeSort=e===i}),t.sortFunction)this.data=t.sortFunction(this.data,t);else{var s="value",n="asc"===t.sort?"desc":"asc";t.sort=n;var o=t.sortType||"alphanumeric";t.sortProp&&(s=t.sortProp),this.data.sort(function(t,e){switch(o){case"numeric":return"asc"===n?t[i][s]-e[i][s]:e[i][s]-t[i][s];default:return"asc"===n?t[i][s]>e[i][s]?1:-1:t[i][s]<e[i][s]?1:-1}})}this.render(this.data)}},{key:"render",value:function(t){var i=this;if(this.options.columns){if(this.data=[],this.rowCount=0,!(document.getElementById("".concat(this.elementId,"_body")).innerHTML="")===this.options.allowDownload){var e=document.getElementById(this.elementId);e?e.classList.add("allow-download"):e.classList.remove("allow-download")}var s="<tr>"+this.options.columns.map(function(t,e){if(!1!==t.show)return"\n <th ".concat(t.width?'style="width: '+(t.width||"auto")+';"':"",'>\n <div class ="tableHeader">\n <div class="leftSection">\n <div\n class="tableHeaderField ').concat(-1!==["asc","desc"].indexOf(t.sort)?"sortable-column":"",'"\n data-index="').concat(e,'" \n data-sort="').concat(t.sort,'" \n >\n ').concat(t.name,'\n </div>\n </div>\n <div class="').concat(t.activeSort?t.sort+" sortOrder":"",'"></div>\n \x3c!--').concat(!0===t.searchable?i.buildSearchIcon(t.qGroupFieldDefs[0]):"","--\x3e\n </div>\n </th>\n ")}).join("")+"</tr>";document.getElementById("".concat(this.elementId,"_head")).innerHTML=s;var n="<tr>"+this.options.columns.map(function(t,e){if(!1!==t.show)return"\n <th></th>\n "}).join("")+"</tr>";document.getElementById("".concat(this.elementId,"_foot")).innerHTML=n,t&&this.appendRows(t)}}}]),s}(),WebsyChart=function(){function n(t,e){_classCallCheck(this,n);var i={margin:{top:3,left:3,bottom:3,right:3,axisBottom:0,axisLeft:0,axisRight:0,axisTop:0},orientation:"vertical",colors:d3.schemeCategory10,transitionDuration:650,curveStyle:"curveLinear",lineWidth:2,forceZero:!0,fontSize:14,symbolSize:20,dateFormat:"%b/%m/%Y",showTrackingLine:!0,showTooltip:!0,tooltipWidth:200};if(this.elementId=t,this.options=_extends({},i,e),this.leftAxis=null,this.rightAxis=null,this.topAxis=null,this.bottomAxis=null,t){var s=document.getElementById(this.elementId);s?(s.classList.add("websy-chart"),"undefined"==typeof d3?console.error("d3 library has not been loaded"):(s.innerHTML="",this.svg=d3.select(s).append("svg"),this.prep())):console.error("No element found with ID ".concat(this.elementId))}else console.log("No element Id provided for Websy Chart")}return _createClass(n,[{key:"createDomain",value:function(t){var e=[];if(void 0!==this.options.data[t].min&&void 0!==this.options.data[t].max&&(e=[this.options.data[t].min,this.options.data[t].max],!0===this.options.forceZero&&(e=[Math.min(0,this.options.data[t].min),this.options.data[t].max])),this.options.data[t].data&&(e=this.options.data[t].data.map(function(t){return t.value})),"Time"===this.options.data[t].scale){var i=this.options.data[t].data[0].value,s=this.options.data[t].data[this.options.data[t].data.length-1].value;e=[i=this.parseX(i),s=this.parseX(s)]}return e}},{key:"createIdentity",value:function(){for(var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:10,e="",i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",s=0;s<t;s++)e+=i.charAt(Math.floor(Math.random()*i.length));return e}},{key:"handleEventMouseOut",value:function(t,e){this.trackingLineLayer.select(".tracking-line").attr("stroke-opacity",0),this.tooltip.hide()}},{key:"handleEventMouseMove",value:function(r,t){var l=this,c=d3.bisector(function(t){return l.parseX(t.x.value)}).left;if(!0===this.options.showTrackingLine&&d3.pointer(r)){var h,d=d3.pointer(r)[0],e="",p="",u=[];if(this.bottomAxis.invert){d=this.bottomAxis.invert(d),this.options.data.series.forEach(function(t){var e=c(t.data,d,1),i=t.data[e-1],s=t.data[e];if(i&&(h=l.bottomAxis(l.parseX(i.x.value)),p=i.x.value,void 0!==i.x.value.getTime&&(p=d3.timeFormat(l.options.dateFormat)(i.x.value))),i&&s){var n=l.bottomAxis(l.parseX(i.x.value)),o=l.bottomAxis(l.parseX(s.x.value)),a=Math.abs(n-o)/2;d3.pointer(r)[0]-n>=a?(h=o,p=s.x.value,void 0!==s.x.value.getTime&&(p=d3.timeFormat(l.options.dateFormat)(s.x.value)),u.push(s.y)):(h=n,u.push(i.y))}}),e=" \n <ul>\n ",e+=u.map(function(t){return"\n <li>\n <i style='background-color: ".concat(t.color,";'></i>\n ").concat(t.tooltipLabel||"","<span>").concat(t.tooltipValue||t.value,"</span>\n </li>\n ")}).join(""),e+="</ul>";var i={width:this.options.tooltipWidth,left:0,top:0,onLeft:h>this.plotWidth/2};h>this.plotWidth/2?i.left=h-this.options.tooltipWidth-15:i.left=h+this.options.margin.left+this.options.margin.axisLeft+15,i.top=this.options.margin.top+this.options.margin.axisTop,this.tooltip.show(p,e,i)}else h=d;this.trackingLineLayer.select(".tracking-line").attr("x1",h).attr("x2",h).attr("y1",0).attr("y2",this.plotHeight).attr("stroke-width",1).attr("stroke-dasharray","4 2").attr("stroke","#cccccc").attr("stroke-opacity",1)}}},{key:"prep",value:function(){this.leftAxisLayer=this.svg.append("g"),this.rightAxisLayer=this.svg.append("g"),this.bottomAxisLayer=this.svg.append("g"),this.leftAxisLabel=this.svg.append("g"),this.rightAxisLabel=this.svg.append("g"),this.bottomAxisLabel=this.svg.append("g"),this.plotArea=this.svg.append("g"),this.areaLayer=this.svg.append("g"),this.lineLayer=this.svg.append("g"),this.barLayer=this.svg.append("g"),this.labelLayer=this.svg.append("g"),this.symbolLayer=this.svg.append("g"),this.trackingLineLayer=this.svg.append("g"),this.trackingLineLayer.append("line").attr("class","tracking-line"),this.tooltip=new WebsyDesigns.WebsyChartTooltip(this.svg),this.eventLayer=this.svg.append("g").append("rect"),this.eventLayer.on("mouseout",this.handleEventMouseOut.bind(this)).on("mousemove",this.handleEventMouseMove.bind(this)),this.render()}},{key:"render",value:function(t){var i=this;if(void 0!==t&&(this.options=_extends({},this.options,t)),this.options.data){this.transition=d3.transition().duration(this.options.transitionDuration),this.options.data.bottom.scale&&"Time"===this.options.data.bottom.scale?this.parseX=function(t){if(void 0!==t.getTime)return t;d3.timeParse(this.options.timeParseFormat)(t)}:this.parseX=function(t){return t},!0===this.options.disableTransitions&&(this.transition=d3.transition().duration(0)),this.options.data.left||(this.options.data.left={data:[]}),this.options.data.right||(this.options.data.right={data:[]}),this.options.data.bottom||(this.options.data.bottom={data:[]}),"vertical"===this.options.orientation?(this.leftAxisLayer.attr("class","y-axis"),this.rightAxisLayer.attr("class","y-axis"),this.bottomAxisLayer.attr("class","x-axis")):(this.leftAxisLayer.attr("class","x-axis"),this.rightAxisLayer.attr("class","x-axis"),this.bottomAxisLayer.attr("class","y-axis"));var e=document.getElementById(this.elementId);if(e){this.width=e.clientWidth,this.height=e.clientHeight,this.svg.attr("width",this.width).attr("height",this.height),this.longestLeft=0,this.longestRight=0,this.longestBottom=0,this.options.data.bottom&&this.options.data.bottom.data&&void 0===this.options.data.bottom.max&&(this.options.data.bottom.max=this.options.data.bottom.data[this.options.data.bottom.data.length-1].value,this.options.data.bottom.min=this.options.data.bottom.data[0].value),this.options.data.bottom&&void 0!==this.options.data.bottom.max&&(this.longestBottom=this.options.data.bottom.max.toString().length,this.options.data.bottom.formatter&&(this.longestBottom=this.options.data.bottom.formatter(this.options.data.bottom.max).toString().length)),this.options.data.left&&this.options.data.left.data&&"undefined"===this.options.data.left.max&&(this.options.data.left.min=d3.min(this.options.data.left.data),this.options.data.left.max=d3.max(this.options.data.left.data)),!this.options.data.left.max&&this.options.data.left.data&&(this.options.data.left.max=this.options.data.left.data.reduce(function(t,e){return t.length>e.value.length?t:e.value},"")),!this.options.data.left.min&&this.options.data.left.data&&(this.options.data.left.min=this.options.data.left.data.reduce(function(t,e){return t.length<e.value.length?t:e.value},this.options.data.left.max)),this.options.data.left&&void 0!==this.options.data.left.max&&(this.longestLeft=this.options.data.left.max.toString().length,this.options.data.left.formatter&&(this.longestLeft=this.options.data.left.formatter(this.options.data.left.max).toString().length)),this.options.data.right&&this.options.data.right.data&&"undefined"===this.options.data.right.max&&(this.options.data.right.min=d3.min(this.options.data.right.data),this.options.data.right.max=d3.max(this.options.data.right.data)),this.options.data.right&&void 0!==this.options.data.right.max&&(this.longestRight=this.options.data.right.max.toString().length,this.options.data.right.formatter&&(this.longestRight=this.options.data.right.formatter(this.options.data.right.max).toString().length)),this.options.margin.axisLeft=this.longestLeft*(this.options.data.left&&this.options.data.left.fontSize||this.options.fontSize)*.7,this.options.margin.axisRight=this.longestRight*(this.options.data.right&&this.options.data.right.fontSize||this.options.fontSize)*.7,this.options.margin.axisBottom=(this.options.data.bottom&&this.options.data.bottom.fontSize||this.options.fontSize)+10,this.options.margin.axisTop=0,this.options.data.left&&!0===this.options.data.left.showTitle&&(1===this.options.data.left.titlePosition?this.options.margin.axisLeft+=(this.options.data.left.titleFontSize||10)+10:this.options.margin.axisTop+=(this.options.data.left.titleFontSize||10)+10),this.options.data.right&&!0===this.options.data.right.showTitle&&(1===this.options.data.right.titlePosition?this.options.margin.axisRight+=(this.options.data.right.titleFontSize||10)+10:0===this.options.margin.axisTop&&(this.options.margin.axisTop+=(this.options.data.right.titleFontSize||10)+10)),this.options.data.bottom.rotate&&(this.options.margin.axisBottom=this.longestBottom*(this.options.data.bottom&&this.options.data.bottom.fontSize||this.options.fontSize)*.4),this.options.axis&&(!0===this.options.axis.hideAll&&(this.options.margin.axisLeft=0,this.options.margin.axisRight=0,this.options.margin.axisBottom=0),!0===this.options.axis.hideLeft&&(this.options.margin.axisLeft=0),!0===this.options.axis.hideRight&&(this.options.margin.axisRight=0),!0===this.options.axis.hideBottom&&(this.options.margin.axisBottom=0)),this.plotWidth=this.width-this.options.margin.left-this.options.margin.right-this.options.margin.axisLeft-this.options.margin.axisRight,this.plotHeight=this.height-this.options.margin.top-this.options.margin.bottom-this.options.margin.axisBottom-this.options.margin.axisTop,this.leftAxisLayer.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.rightAxisLayer.attr("transform","translate(".concat(this.options.margin.left+this.plotWidth+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.bottomAxisLayer.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop+this.plotHeight,")")),this.leftAxisLabel.attr("transform","translate(".concat(this.options.margin.left,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.rightAxisLabel.attr("transform","translate(".concat(this.options.margin.left+this.plotWidth+this.options.margin.axisLeft+this.options.margin.axisRight,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.bottomAxisLabel.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop+this.plotHeight,")")),this.plotArea.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.areaLayer.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.lineLayer.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.barLayer.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.labelLayer.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.symbolLayer.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.trackingLineLayer.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.eventLayer.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop,")"));this.eventLayer.attr("x",0).attr("y",0).attr("width",this.plotWidth).attr("height",this.plotHeight).attr("fill-opacity","0");var s=this.createDomain("bottom");if(this.bottomAxis=d3["scale".concat(this.options.data.bottom.scale||"Band")]().domain(s).range([0,this.plotWidth]),this.bottomAxis.nice,this.bottomAxis.padding&&this.options.data.bottom.padding&&this.bottomAxis.padding(this.options.data.bottom.padding||0),0<this.options.margin.axisBottom){var n;if(this.options.data.bottom.data)if("Time"===this.options.data.bottom.scale){var o=this.options.data.bottom.max.getTime()-this.options.data.bottom.min.getTime(),a=864e5;n=o<7*a?d3.timeDay.every(1):o<14*a?d3.timeDay.every(2):o<21*a?d3.timeDay.every(3):o<28*a?d3.timeDay.every(4):o<60*a?d3.timeDay.every(7):d3.timeMonth.every(1)}else n=this.options.data.bottom.ticks||Math.min(this.options.data.bottom.data.length,5);else n=this.options.data.bottom.ticks||5;var r=d3.axisBottom(this.bottomAxis).ticks(n);this.options.data.bottom.formatter&&r.tickFormat(function(t){return i.options.data.bottom.formatter(t)}),this.bottomAxisLayer.call(r),this.options.data.bottom.rotate&&this.bottomAxisLayer.selectAll("text").attr("transform","rotate(".concat(this.options.data.bottom.rotate,")")).style("text-anchor","end")}var l=this.createDomain("left"),c=this.createDomain("right");if(this.leftAxis=d3["scale".concat(this.options.data.left.scale||"Linear")]().domain(l).range([this.plotHeight,0]),this.leftAxis.padding&&this.options.data.left.padding&&this.leftAxis.padding(this.options.data.left.padding||0),this.leftAxis.nice&&this.leftAxis.nice(),0<this.options.margin.axisLeft&&this.leftAxisLayer.call(d3.axisLeft(this.leftAxis).ticks(this.options.data.left.ticks||5).tickFormat(function(t){return i.options.data.left.formatter&&(t=i.options.data.left.formatter(t)),t})),this.options.data.left&&!0===this.options.data.left.showTitle)if(this.leftAxisLabel.selectAll(".title").remove(),this.leftAxisLabel.selectAll(".dot").remove(),1===this.options.data.left.titlePosition){var h=this.leftAxisLabel.append("text").attr("class","title").attr("x",1-this.plotHeight/2).attr("y",5).attr("font-size",this.options.data.left.titleFontSize||10).attr("fill",this.options.data.left.titleColor||"#888888").attr("text-anchor","middle").style("transform","rotate(-90deg)").text(this.options.data.left.title||"");0<c.length&&this.leftAxisLabel.append("circle").attr("class","dot").style("fill",this.options.data.left.color||"transparent").attr("r",this.options.data.left.titleFontSize&&this.options.data.left.titleFontSize/2||5).attr("cx",3).attr("cy",this.plotHeight/2-h.node().getBBox().width/2-15)}else this.leftAxisLabel.append("text").attr("class","title").attr("x",0).attr("y",5).attr("font-size",this.options.data.left.titleFontSize||10).attr("fill",this.options.data.left.titleColor||"#888888").attr("text-anchor","left").text(this.options.data.left.title||"");if(0<c.length&&(this.rightAxis=d3["scale".concat(this.options.data.right.scale||"Linear")]().domain(c).range([this.plotHeight,0]),this.rightAxis.nice&&this.rightAxis.nice(),0<this.options.margin.axisRight&&this.rightAxisLayer.call(d3.axisRight(this.rightAxis).ticks(this.options.data.left.ticks||5).tickFormat(function(t){return i.options.data.right.formatter&&(t=i.options.data.right.formatter(t)),t}))),this.options.data.right&&!0===this.options.data.right.showTitle&&(this.rightAxisLabel.selectAll(".title").remove(),1===this.options.data.right.titlePosition)){var d=this.rightAxisLabel.append("text").attr("class","title").attr("x",this.plotHeight/2).attr("y",5).attr("font-size",this.options.data.right.titleFontSize||10).attr("fill",this.options.data.right.titleColor||"#888888").attr("text-anchor","middle").style("transform","rotate(90deg)").text(this.options.data.right.title||"");0<c.length&&this.rightAxisLabel.append("circle").attr("class","dot").style("fill",this.options.data.right.color||"transparent").attr("r",this.options.data.right.titleFontSize&&this.options.data.right.titleFontSize/2||5).attr("cx",-2).attr("cy",this.plotHeight/2-d.node().getBBox().width/2-15)}this.options.data.series.forEach(function(t,e){t.key||(t.key=i.createIdentity()),t.color||(t.color=i.options.colors[e%i.options.colors.length]),i["render".concat(t.type||"bar")](t,e),i.renderLabels(t,e)})}}else;}},{key:"renderarea",value:function(e,t){var s=this,i=function(e,i,t){return d3.area().x(function(t){return s[e](s.parseX(t.x.value))}).y0(function(t){return s[i](0)}).y1(function(t){return s[i](isNaN(t.y.value)?0:t.y.value)}).curve(d3[t||s.options.curveStyle])},n="bottomAxis",o="secondary"===e.axis?"rightAxis":"leftAxis";"horizontal"===this.options.orienation&&(n="secondary"===e.axis?"rightAxis":"leftAxis",o="bottomAxis");var a=this.areaLayer.selectAll(".area_".concat(e.key)).data([e.data]);a.exit().transition(this.transition).style("fill-opacity",1e-6).remove(),a.transition(this.transition).attr("d",function(t){return i(n,o,e.curveStyle)(t)}),a.enter().append("path").attr("d",function(t){return i(n,o,e.curveStyle)(t)}).attr("class","area_".concat(e.key)).attr("id","area_".concat(e.key)).attr("fill",e.color).attr("stroke","transparent").style("fill-opacity",e.opacity||1)}},{key:"renderbar",value:function(e,t){var i="bottomAxis",s="leftAxis",n=this.barLayer.selectAll(".bar_".concat(e.key)).data(e.data);"horizontal"===this.options.orientation&&(i="leftAxis",s="bottomAxis");var o=this[i].bandwidth();function a(t){return"horizontal"===this.options.orientation?o:this[s](t.y.value)}function r(t){return"horizontal"===this.options.orientation?this[s](t.y.value):o}function l(t){return"horizontal"===this.options.orientation?0:this[i](this.parseX(t.x.value))}function c(t){return"horizontal"===this.options.orientation?this[i](this.parseX(t.x.value)):this[s](isNaN(t.y.value)?0:t.y.value)}n.exit().transition(this.transition).style("stroke-opacity",1e-6).remove(),n.attr("width",r.bind(this)).attr("height",a.bind(this)).attr("x",l.bind(this)).attr("y",c.bind(this)).transition(this.transition).attr("fill",e.color),n.enter().append("rect").attr("width",r.bind(this)).attr("height",a.bind(this)).attr("x",l.bind(this)).attr("y",c.bind(this)).attr("fill",e.color).attr("class",function(t){return"bar bar_".concat(e.key)})}},{key:"renderLabels",value:function(t,e){var i="bottomAxis",s="leftAxis",n=this;if("horizontal"===this.options.orientation&&(i="leftAxis",s="bottomAxis"),this.options.showLabels){var o=this.labelLayer.selectAll(".label_".concat(t.key)).data(t.data);o.exit().transition(this.transition).style("stroke-opacity",1e-6).remove(),o.attr("x",a.bind(this)).attr("y",r.bind(this)).attr("class","label_".concat(t.key)).style("font-size","".concat(this.options.labelSize||this.options.fontSize,"px")).transition(this.transition).text(function(t){return t.y.label||t.y.value}),o.enter().append("text").attr("class","label_".concat(t.key)).attr("x",a.bind(this)).attr("y",r.bind(this)).attr("alignment-baseline","central").attr("text-anchor","horizontal"===this.options.orientation?"left":"middle").style("font-size","".concat(this.options.labelSize||this.options.fontSize,"px")).text(function(t){return t.y.label||t.y.value}).each(function(t,e){"horizontal"===n.options.orientation?n.plotWidth-a.call(n,t)<this.getComputedTextLength()&&(this.setAttribute("text-anchor","end"),this.setAttribute("x",+this.getAttribute("x")-8)):n.plotheight-a.call(n,t)<(n.options.labelSize||n.options.fontSize)&&this.setAttribute("y",+this.getAttribute("y")+8)})}function a(t){return"horizontal"===this.options.orientation?this[s](isNaN(t.y.value)?0:t.y.value)+4:this[i](this.parseX(t.x.value))+this[i].bandwidth()/2}function r(t){return"horizontal"===this.options.orientation?this[i](this.parseX(t.x.value))+this[i].bandwidth()/2:this[s](isNaN(t.y.value)?0:t.y.value)-4}}},{key:"renderline",value:function(e,t){var s=this,i=function(e,i,t){return d3.line().x(function(t){return s[e](s.parseX(t.x.value))}).y(function(t){return s[i](isNaN(t.y.value)?0:t.y.value)}).curve(d3[t||s.options.curveStyle])},n="bottomAxis",o="secondary"===e.axis?"rightAxis":"leftAxis";"horizontal"===this.options.orienation&&(n="secondary"===e.axis?"rightAxis":"leftAxis",o="bottomAxis");var a=this.lineLayer.selectAll(".line_".concat(e.key)).data([e.data]);a.exit().transition(this.transition).style("stroke-opacity",1e-6).remove(),a.style("stroke-width",e.lineWidth||this.options.lineWidth).attr("stroke",e.color).attr("fill","transparent").transition(this.transition).attr("d",function(t){return i(n,o,e.curveStyle)(t)}),a.enter().append("path").attr("d",function(t){return i(n,o,e.curveStyle)(t)}).attr("class","line_".concat(e.key)).attr("id","line_".concat(e.key)).style("stroke-width",e.lineWidth||this.options.lineWidth).attr("stroke",e.color).attr("fill","transparent").style("stroke-opacity",1),!0===e.showArea&&this.renderarea(e,t),!0===e.showSymbols&&this.rendersymbol(e,t)}},{key:"rendersymbol",value:function(e,t){var i=this,s=function(t){return d3.symbol().size(t||i.options.symbolSize)},n="bottomAxis",o="secondary"===e.axis?"rightAxis":"leftAxis";"horizontal"===this.options.orienation&&(n="secondary"===e.axis?"rightAxis":"leftAxis",o="bottomAxis");var a=this.symbolLayer.selectAll(".symbol_".concat(e.key)).data(e.data);a.exit().transition(this.transition).style("fill-opacity",1e-6).remove(),a.attr("d",function(t){return s(t.y.size||e.symbolSize)(t)}).transition(this.transition).attr("fill","white").attr("stroke",e.color).attr("transform",function(t){return"translate(".concat(i[n](i.parseX(t.x.value)),", ").concat(i[o](isNaN(t.y.value)?0:t.y.value),")")}),a.enter().append("path").attr("d",function(t){return s(t.y.size||e.symbolSize)(t)}).attr("fill","white").attr("stroke",e.color).attr("class",function(t){return"symbol symbol_".concat(e.key)}).attr("transform",function(t){return"translate(".concat(i[n](i.parseX(t.x.value)),", ").concat(i[o](isNaN(t.y.value)?0:t.y.value),")")})}},{key:"resize",value:function(){var t=document.getElementById(this.elementId);t&&(this.width=t.clientWidth,this.height=t.clientHeight,this.svg.attr("width",this.width).attr("height",this.height),this.plotWidth=this.width-this.options.margin.left-this.options.margin.right-this.options.margin.axisLeft-this.options.margin.axisRight,this.plotHeight=this.height-this.options.margin.top-this.options.margin.bottom-this.options.margin.axisBottom-this.options.margin.axisTop,this.longestRight=5,this.longestBottom=5,this.options.margin.axisLeft=this.longestLeft*(this.options.data.left&&this.options.data.left.fontSize||this.options.fontSize)*.7,this.options.margin.axisRight=this.longestRight*(this.options.data.right&&this.options.data.right.fontSize||this.options.fontSize)*.7,this.options.margin.axisBottom=(this.options.data.bottom&&this.options.data.bottom.fontSize||this.options.fontSize)+10,this.options.data.bottom.rotate&&(this.options.margin.axisBottom=this.longestBottom*(this.options.data.bottom&&this.options.data.bottom.fontSize||this.options.fontSize)*.4),this.options.axis&&(!0===this.options.axis.hideAll&&(this.options.margin.axisLeft=0,this.options.margin.axisRight=0,this.options.margin.axisBottom=0),!0===this.options.axis.hideLeft&&(this.options.margin.axisLeft=0),!0===this.options.axis.hideRight&&(this.options.margin.axisRight=0),!0===this.options.axis.hideBottom&&(this.options.margin.axisBottom=0)),this.leftAxisLayer.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.rightAxisLayer.attr("transform","translate(".concat(this.options.margin.left+this.plotWidth+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.bottomAxisLayer.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop+this.plotHeight,")")),this.leftAxisLabel.attr("transform","translate(".concat(this.options.margin.left,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.rightAxisLabel.attr("transform","translate(".concat(this.options.margin.left+this.plotWidth+this.options.margin.axisLeft+this.options.margin.axisRight,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.bottomAxisLabel.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop+this.plotHeight,")")),this.plotArea.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.areaLayer.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.lineLayer.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.barLayer.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.labelLayer.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.symbolLayer.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.trackingLineLayer.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.eventLayer.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")))}},{key:"data",set:function(t){this.options.data=t,this.render()}}]),n}(),WebsyKPI=function(){function i(t,e){_classCallCheck(this,i);this.elementId=t,this.options=_extends({},{tooltip:{},label:{},value:{},subValue:{}},e)}return _createClass(i,[{key:"render",value:function(t){this.options=_extends({},this.options,t),this.options.label.classes||(this.options.label.classes=[]),this.options.value.classes||(this.options.value.classes=[]),this.options.subValue.classes||(this.options.subValue.classes=[]),this.options.tooltip.classes||(this.options.tooltip.classes=[]),this.resize()}},{key:"resize",value:function(){var t=document.getElementById(this.elementId);if(t){var e='\n <div class="websy-kpi-container">\n ';this.options.icon&&(e+='\n <div class="websy-kpi-icon"><img src="'.concat(this.options.icon,'"></div> \n ')),e+=' \n <div class="websy-kpi-info">\n <div class="websy-kpi-label '.concat(this.options.label.classes.join(" ")||"",'">\n ').concat(this.options.label.value||"","\n "),this.options.tooltip&&this.options.tooltip.value&&(e+='\n <div class="websy-info '.concat(this.options.tooltip.classes.join(" ")||"",'" data-info="').concat(this.options.tooltip.value,'">\n <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 512 512"><title>ionicons-v5-e</title><path d="M256,56C145.72,56,56,145.72,56,256s89.72,200,200,200,200-89.72,200-200S366.28,56,256,56Zm0,82a26,26,0,1,1-26,26A26,26,0,0,1,256,138Zm48,226H216a16,16,0,0,1,0-32h28V244H228a16,16,0,0,1,0-32h32a16,16,0,0,1,16,16V332h28a16,16,0,0,1,0,32Z"/></svg>\n </div> \n ')),e+='\n </div>\n <div class="websy-kpi-value '.concat(this.options.value.classes.join(" ")||"",'">').concat(this.options.value.value,"</div>\n "),this.options.subValue&&(e+='\n <div class="websy-kpi-sub-value '.concat(this.options.subValue.classes.join(" ")||"",'">').concat(this.options.subValue.value,"</div>\n ")),e+=" \n </div>\n </div>\n ",t.innerHTML=e}}}]),i}(),WebsyMap=function(){function n(t,e){_classCallCheck(this,n);if(this.elementId=t,this.options=_extends({},{tileUrl:"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",disablePan:!1,disableZoom:!1,markerSize:10,useClustering:!1,maxMarkerSize:50,minMarkerSize:20},e),t){var i={click:this.handleMapClick.bind(this)};!0===this.options.disableZoom&&(i.scrollWheelZoom=!1,i.zoomControl=!1),!0===this.options.disablePan&&(i.dragging=!1);var s=document.getElementById(this.elementId);s&&("undefined"==typeof d3&&console.error("d3 library has not been loaded"),"undefined"==typeof L&&console.error("Leaflet library has not been loaded"),s.addEventListener("click",this.handleClick.bind(this)),this.map=L.map(this.elementId,i),this.render())}else console.log("No element Id provided for Websy Map")}return _createClass(n,[{key:"handleClick",value:function(t){}},{key:"handleMapClick",value:function(t){}},{key:"render",value:function(){var s=this,t=document.getElementById("".concat(this.options.elementId,"_map"));L.tileLayer(this.options.tileUrl,{attribution:'Map data © <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'}).addTo(this.map);if(this.geo&&this.map.removeLayer(this.geo),this.options.geoJSON&&(this.geo=L.geoJSON(this.options.geoJSON,{style:function(t){return{color:t.color||"#ffffff",colorOpacity:t.colorOpacity||1,fillColor:t.fillColor||"#e6463c",fillOpacity:t.fillOpacity||0,weight:t.weight||1}},onEachFeature:function(t,e){e.bindTooltip(t.tooltip,{permanent:!0,direction:"center",className:t.tooltipClass||"websy-polygon-tooltip"})}}).addTo(this.map)),this.markers=[],this.cluster&&this.map.removeLayer(this.cluster),this.data=[],this.data.forEach(function(t){if(0!==t.Latitude.qNum&&0!==t.Longitude.qNum){var e={};!0===s.options.simpleMarker&&(e.icon=L.divIcon({className:"simple-marker"})),s.options.markerUrl&&(e.icon=L.icon({iconUrl:s.options.markerUrl})),e.data=t;var i=L.marker([t.Latitude.qText,t.Longitude.qText],e);i.on("click",s.handleMapClick.bind(s)),!1===s.options.useClustering&&i.addTo(s.map),s.markers.push(i),!0===s.options.useClustering&&s.cluster.addLayer(i)}}),0<this.data.length){t.classList.remove("hidden"),!0===this.options.useClustering&&this.map.addLayer(this.cluster);var e=L.featureGroup(this.markers);this.map.fitBounds(e.getBounds()),this.map.invalidateSize()}else this.geo?this.map.fitBounds(this.geo.getBounds()):this.options.center&&this.map.setView(this.options.center,this.options.zoom||null)}}]),n}(),WebsyChartTooltip=function(){function e(t){_classCallCheck(this,e),this.svg="string"==typeof t?document.getElementById(t):t,this.tooltipLayer=this.svg.append("g").attr("class","tooltip-layer"),this.tooltipContent=this.tooltipLayer.append("foreignObject").attr("class","websy-chart-tooltip").append("xhtml:div").attr("class","websy-chart-tooltip-content")}return _createClass(e,[{key:"hide",value:function(){this.tooltipContent.classed("active",!1)}},{key:"setHeight",value:function(t){this.tooltipLayer.select("foreignObject").style("height",t)}},{key:"show",value:function(t,e){var i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{top:0,left:0,width:0,height:0,onLeft:!1},s=this.tooltipLayer.selectAll("foreignObject").attr("width","".concat(i.width,"px")).attr("y","0px").classed("left",i.onLeft);this.tooltipContent.classed("active",!0).style("width","".concat(i.width,"px")).style("top","0px").html("<div class='title'>".concat(t,"</div>").concat(e)),-1===navigator.userAgent.indexOf("Chrome")&&-1!==navigator.userAgent.indexOf("Safari")?(s.attr("x","0px"),this.tooltipContent.style("left","".concat(i.top,"px")).style("top","".concat(i.top,"px"))):(s.attr("x","".concat(i.left,"px")),this.tooltipContent.style("left","0px"))}},{key:"transform",value:function(t,e){this.tooltipLayer.attr("transform","translate(".concat(t,", ").concat(e,")"))}}]),e}(),WebsyUtils={createIdentity:function(){for(var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:6,e="",i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",s=0;s<t;s++)e+=i.charAt(Math.floor(Math.random()*i.length));return e},getElementPos:function(t){var e=t.getBoundingClientRect(),i=window.pageXOffset||document.documentElement.scrollLeft,s=window.pageYOffset||document.documentElement.scrollTop;return{top:e.top+s,left:e.left+i,bottom:e.top+s+t.clientHeight,right:e.left+i+t.clientWidth}}},WebsyDesigns={WebsyPopupDialog:WebsyPopupDialog,WebsyLoadingDialog:WebsyLoadingDialog,WebsyNavigationMenu:WebsyNavigationMenu,WebsyForm:WebsyForm,WebsyDatePicker:WebsyDatePicker,WebsyDropdown:WebsyDropdown,WebsyResultList:WebsyResultList,WebsyTemplate:WebsyTemplate,WebsyPubSub:WebsyPubSub,WebsyRouter:WebsyRouter,WebsyTable:WebsyTable,WebsyChart:WebsyChart,WebsyChartTooltip:WebsyChartTooltip,WebsyMap:WebsyMap,WebsyKPI:WebsyKPI,WebsyPDFButton:WebsyPDFButton,PDFButton:WebsyPDFButton,APIService:APIService,WebsyUtils:WebsyUtils},GlobalPubSub=new WebsyPubSub("empty",{});function recaptchaReadyCallBack(){GlobalPubSub.publish("recaptchaready")}function useGoogleRecaptcha(){var t=document.createElement("script");t.src="//www.google.com/recaptcha/api.js?onload=recaptchaReadyCallBack",document.getElementsByTagName("body")[0].appendChild(t)}function usePayPal(){var t=document.createElement("script");t.src="//www.paypal.com/sdk/js",document.getElementsByTagName("body")[0].appendChild(t)}
|
|
1
|
+
"use strict";function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function _toConsumableArray(t){return _arrayWithoutHoles(t)||_iterableToArray(t)||_unsupportedIterableToArray(t)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(t,e){if(t){if("string"==typeof t)return _arrayLikeToArray(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?_arrayLikeToArray(t,e):void 0}}function _iterableToArray(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}function _arrayWithoutHoles(t){if(Array.isArray(t))return _arrayLikeToArray(t)}function _arrayLikeToArray(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,s=new Array(e);i<e;i++)s[i]=t[i];return s}function _extends(){return(_extends=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var i=arguments[e];for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(t[s]=i[s])}return t}).apply(this,arguments)}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _defineProperties(t,e){for(var i=0;i<e.length;i++){var s=e[i];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(t,s.key,s)}}function _createClass(t,e,i){return e&&_defineProperties(t.prototype,e),i&&_defineProperties(t,i),t}var WebsyPopupDialog=function(){function s(t,e){if(_classCallCheck(this,s),this.DEFAULTS={buttons:[]},this.options=_extends({},this.DEFAULTS,e),t){this.closeOnOutsideClick=!0;var i=document.getElementById(t);this.elementId=t,i.addEventListener("click",this.handleClick.bind(this))}else console.log("No element Id provided for Websy Popup")}return _createClass(s,[{key:"hide",value:function(){document.getElementById(this.elementId).innerHTML=""}},{key:"handleClick",value:function(t){if(t.target.classList.contains("websy-btn")){var e=t.target.getAttribute("data-index"),i=this.options.buttons[e];if(i&&i.fn){if(void 0!==this.options.collectData){var s=document.getElementById("".concat(this.elementId,"_collect"));s&&(i.collectedData=s.value)}!0!==i.preventClose&&this.hide(),i.fn(i)}else i&&!0!==i.preventClose&&this.hide()}else!0===this.closeOnOutsideClick&&this.hide()}},{key:"render",value:function(){if(this.elementId){var t=document.getElementById(this.elementId),e="";if(!0===this.options.mask&&(e+="<div class='websy-mask'></div>"),e+="\n\t\t\t<div class='websy-popup-dialog-container'>\n\t\t\t\t<div class='websy-popup-dialog'>\n\t\t",this.options.title&&(e+="<h1>".concat(this.options.title,"</h1>")),this.options.message&&(e+="<p>".concat(this.options.message,"</p>")),void 0!==this.options.collectData&&(e+='\n <div>\n <input id="'.concat(this.elementId,'_collect" class="websy-input" value="').concat("boolean"==typeof this.options.collectData?"":this.options.collectData,'" placeholder="').concat(this.options.collectPlaceholder||"",'">\n </div>\n ')),this.closeOnOutsideClick=!0,this.options.buttons){!0!==this.options.allowCloseOnOutsideClick&&(this.closeOnOutsideClick=!1),e+="<div class='websy-popup-button-panel'>";for(var i=0;i<this.options.buttons.length;i++)e+="\n\t\t\t\t\t<button class='websy-btn ".concat((this.options.buttons[i].classes||[]).join(" "),"' data-index='").concat(i,"'>\n\t\t\t\t\t\t").concat(this.options.buttons[i].label,"\n\t\t\t\t\t</button>\n\t\t\t\t");e+="</div>"}e+="\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t",t.innerHTML=e}else console.log("No element Id provided for Websy Popup")}},{key:"show",value:function(t){t&&(this.options=_extends({},this.DEFAULTS,t)),this.render()}}]),s}(),WebsyLoadingDialog=function(){function i(t,e){_classCallCheck(this,i),this.options=_extends({},e),t?this.elementId=t:console.log("No element Id provided")}return _createClass(i,[{key:"hide",value:function(){var t=document.getElementById(this.elementId);t.classList.remove("loading"),t.innerHTML=""}},{key:"render",value:function(){if(this.elementId){var t=document.getElementById(this.elementId),e="\n\t\t\t<div class='websy-loading-container ".concat((this.options.classes||[]).join(" "),"'>\n\t\t\t\t<div class='websy-ripple'>\n\t\t\t\t\t<div></div>\n\t\t\t\t\t<div></div>\n\t\t\t\t</div>\n\t\t\t\t<h4>").concat(this.options.title||"Loading...","</h4>\n\t\t");if(this.options.messages)for(var i=0;i<this.options.messages.length;i++)e+="<p>".concat(this.options.messages[i],"</p>");e+="\n\t\t\t</div>\t\n ",t.classList.add("loading"),t.innerHTML=e}else console.log("No element Id provided for Websy Loading Dialog")}},{key:"show",value:function(t){var e=1<arguments.length&&void 0!==arguments[1]&&arguments[1];t&&(this.options=!0===e?_extends({},t):_extends({},this.options,t)),this.render()}}]),i}(),WebsyNavigationMenu=function(){function s(t,e){if(_classCallCheck(this,s),this.options=_extends({},{collapsable:!1,orientation:"horizontal",parentMap:{},childIndentation:10},e),t){var i=document.getElementById(t);i&&(this.elementId=t,i.classList.add("websy-".concat(this.options.orientation,"-list-container")),i.classList.add("websy-menu"),this.options.classes&&this.options.classes.forEach(function(t){return i.classList.add(t)}),i.addEventListener("click",this.handleClick.bind(this)),this.render())}else console.log("No element Id provided for Websy Menu")}return _createClass(s,[{key:"handleClick",value:function(t){(t.target.classList.contains("websy-menu-icon")||"svg"===t.target.nodeName||"rect"===t.target.nodeName)&&this.toggleMobileMenu(),t.target.classList.contains("trigger-item")&&t.target.classList.contains("websy-menu-header")&&this.toggleMobileMenu("remove"),t.target.classList.contains("websy-menu-mask")&&this.toggleMobileMenu()}},{key:"normaliseString",value:function(t){return t.replace(/-/g,"").replace(/\s/g,"_")}},{key:"render",value:function(){var t=document.getElementById(this.elementId);if(t){var e="";!0===this.options.collapsable&&(e+="\n <div id='".concat(this.elementId,'_menuIcon\' class=\'websy-menu-icon\'>\n <svg viewbox="0 0 40 40" width="30" height="40"> \n <rect x="0" y="0" width="30" height="4" rx="2"></rect>\n <rect x="0" y="12" width="30" height="4" rx="2"></rect>\n <rect x="0" y="24" width="30" height="4" rx="2"></rect>\n </svg>\n </div>\n ')),this.options.logo&&(e+=" \n <div \n class='logo ".concat(this.options.logo.classes&&this.options.logo.classes.join(" ")||"","'\n ").concat(this.options.logo.attributes&&this.options.logo.attributes.join(" "),"\n >\n <img src='").concat(this.options.logo.url,"'></img>\n </div>\n <div id='").concat(this.elementId,"_mask' class='websy-menu-mask'></div>\n <div id=\"").concat(this.elementId,'_menuContainer" class="websy-menu-block-container">\n ')),e+=this.renderBlock(this.options.items,"main",1),e+="</div>",t.innerHTML=e,this.options.navigator&&this.options.navigator.registerElements(t)}}},{key:"renderBlock",value:function(t,e,i){var s="\n\t\t <ul class='websy-".concat(this.options.orientation,"-list ").concat("main"!==e?"websy-menu-collapsed":"","' id='").concat(this.elementId,"_").concat(e,"_list'\n\t ");"main"!==e&&(s+=" data-collapsed='".concat("main"!==e?"true":"false","'")),s+=">";for(var n=0;n<t.length;n++){var o=!0===t[n].default?"active":"",a=this.normaliseString(t[n].text),r=t[n].id||"".concat(this.elementId,"_").concat(a,"_label");s+="\n\t\t\t<li class='websy-".concat(this.options.orientation,"-list-item'>\n\t\t\t\t<div class='websy-menu-header ").concat(t[n].classes&&t[n].classes.join(" ")," ").concat(""," ").concat(o,"' \n\t\t\t\t\t\t id='").concat(r,"' \n\t\t\t\t\t\t data-id='").concat(a,"'\n data-menu-id='").concat(this.elementId,"_").concat(a,"_list'\n\t\t\t\t\t\t data-popout-id='").concat(1<i?e:a,"'\n\t\t\t\t\t\t data-text='").concat(t[n].text,"'\n\t\t\t\t\t\t style='padding-left: ").concat(i*this.options.childIndentation,"px'\n\t\t\t\t\t\t ").concat(t[n].attributes&&t[n].attributes.join(" "),"\n >\n "),"horizontal"===this.options.orientation&&(s+=t[n].text),s+="\n <span class='selected-bar'></span>\n <span class='active-square'></span>\n <span class='".concat(t[n].items&&0<t[n].items.length?"menu-carat":"","'></span>\n "),"vertical"===this.options.orientation&&(s+="\n \n "),s+=" \n\t\t\t\t</div>\n\t\t ",t[n].items&&(s+=this.renderBlock(t[n].items,a,i+1)),e&&"main"!==e&&(this.options.parentMap[a]||(this.options.parentMap[a]=e)),s+="\n\t\t\t</li>\n\t\t"}return s+="</ul>"}},{key:"toggleOpen",value:function(){}},{key:"toggleMobileMenu",value:function(t){void 0===t&&(t="toggle");var e=document.getElementById("".concat(this.elementId));e&&e.classList[t]("open"),this.options.onToggle&&this.options.onToggle(t)}}]),s}(),WebsyForm=function(){function n(t,e){_classCallCheck(this,n);var i={submit:{text:"Save",classes:""},clearAfterSave:!1,fields:[],onSuccess:function(t){},onError:function(t){console.log("Error submitting form data:",t)}};if(GlobalPubSub.subscribe("recaptchaready",this.recaptchaReady.bind(this)),this.recaptchaResult=null,this.options=_extends(i,{},{},e),t){this.apiService=new WebsyDesigns.APIService(""),this.elementId=t;var s=document.getElementById(t);s&&(this.options.classes&&this.options.classes.forEach(function(t){return s.classList.add(t)}),s.addEventListener("click",this.handleClick.bind(this)),s.addEventListener("keyup",this.handleKeyUp.bind(this)),s.addEventListener("keydown",this.handleKeyDown.bind(this)),this.render())}else console.log("No element Id provided")}return _createClass(n,[{key:"cancelForm",value:function(){document.getElementById("".concat(this.elementId,"Form")).reset(),this.options.cancelFn&&this.options.cancelFn(this.elementId)}},{key:"checkRecaptcha",value:function(){var t=this;return new Promise(function(e,i){!0===t.options.useRecaptcha?t.recaptchaValue?t.apiService.add("/google/checkrecaptcha",JSON.stringify({grecaptcharesponse:t.recaptchaValue})).then(function(t){t.success&&!0===t.success?e(!0):i(!1)}):i(!1):e(!0)})}},{key:"confirmValidation",value:function(){var t=document.getElementById("".concat(this.elementId,"_validationFail"));t&&(t.innerHTML="")}},{key:"failValidation",value:function(t){var e=document.getElementById("".concat(this.elementId,"_validationFail"));e&&(e.innerHTML=t)}},{key:"handleClick",value:function(t){t.preventDefault(),t.target.classList.contains("submit")?this.submitForm():t.target.classList.contains("cancel")&&this.cancelForm()}},{key:"handleKeyDown",value:function(t){"enter"===t.key&&this.submitForm()}},{key:"handleKeyUp",value:function(t){}},{key:"processComponents",value:function(t,e){var i=this;0===t.length?e():t.forEach(function(t){if(void 0!==WebsyDesigns[t.component])new WebsyDesigns[t.component]("".concat(i.elementId,"_input_").concat(t.field,"_component"),t.options)})}},{key:"recaptchaReady",value:function(){document.getElementById("".concat(this.elementId,"_recaptcha"))&&grecaptcha.render("".concat(this.elementId,"_recaptcha"),{sitekey:ENVIRONMENT.RECAPTCHA_KEY,callback:this.validateRecaptcha.bind(this)})}},{key:"render",value:function(t,e){var i=this,s=document.getElementById(this.elementId),n=[];if(s){var o='\n <form id="'.concat(this.elementId,'Form">\n ');this.options.fields.forEach(function(t,e){t.component?(n.push(t),o+="\n ".concat(0<e?"--\x3e":"","<div class='").concat(t.classes,"'>\n ").concat(t.label?'<label for="'.concat(t.field,'">').concat(t.label,"</label>"):"","\n <div id='").concat(i.elementId,"_input_").concat(t.field,"_component' class='form-component'></div>\n </div>\x3c!--\n ")):"longtext"===t.type?o+="\n ".concat(0<e?"--\x3e":"","<div class='").concat(t.classes,"'>\n ").concat(t.label?'<label for="'.concat(t.field,'">').concat(t.label,"</label>"):"",'\n <textarea\n id="').concat(i.elementId,"_input_").concat(t.field,'"\n ').concat(!0===t.required?"required":"",' \n placeholder="').concat(t.placeholder||"",'"\n name="').concat(t.field,'" \n class="websy-input websy-textarea"\n ></textarea>\n </div>\x3c!--\n '):o+="\n ".concat(0<e?"--\x3e":"","<div class='").concat(t.classes,"'>\n ").concat(t.label?'<label for="'.concat(t.field,'">').concat(t.label,"</label>"):"",'\n <input \n id="').concat(i.elementId,"_input_").concat(t.field,'"\n ').concat(!0===t.required?"required":"",' \n type="').concat(t.type||"text",'" \n class="websy-input" \n name="').concat(t.field,'" \n placeholder="').concat(t.placeholder||"",'"\n value="').concat(t.value||"",'"\n oninvalidx="this.setCustomValidity(\'').concat(t.invalidMessage||"Please fill in this field.","')\"\n />\n </div>\x3c!--\n ")}),o+='\n --\x3e<button class="websy-btn submit '.concat(this.options.submit.classes,'">').concat(this.options.submit.text||"Save","</button>").concat(this.options.cancel?"\x3c!--":"","\n "),this.options.cancel&&(o+='\n --\x3e<button class="websy-btn cancel '.concat(this.options.cancel.classes,'">').concat(this.options.cancel.text||"Cancel","</button>\n ")),o+=' \n </form>\n <div id="'.concat(this.elementId,'_validationFail" class="websy-validation-failure"></div>\n '),!0===this.options.useRecaptcha&&(o+="\n <div id='".concat(this.elementId,"_recaptcha'></div>\n ")),s.innerHTML=o,this.processComponents(n,function(){!0===i.options.useRecaptcha&&"undefined"!=typeof grecaptcha&&i.recaptchaReady()})}}},{key:"submitForm",value:function(){var e=this,s=document.getElementById("".concat(this.elementId,"Form"));!0===s.reportValidity()&&this.checkRecaptcha().then(function(t){if(!0===t){new FormData(s);var i={};new FormData(s).forEach(function(t,e){i[e]=t}),e.options.url?e.apiService.add(e.options.url,i).then(function(t){!0===e.options.clearAfterSave&&s.reset(),e.options.onSuccess.call(e,t)},function(t){console.log("Error submitting form data:",t),e.options.onError.call(e,t)}):e.options.submitFn&&e.options.submitFn(i,function(){!0===e.options.clearAfterSave&&s.reset()})}else console.log("bad recaptcha")})}},{key:"validateRecaptcha",value:function(t){this.recaptchaValue=t}},{key:"data",set:function(i){var s=this;this.options.fields||(this.options.fields=[]);var t=function(e){s.options.fields.forEach(function(t){t.field===e&&(t.value=i[e],document.getElementById("".concat(s.elementId,"_input_").concat(t.field)).value=t.value)})};for(var e in i)t(e);this.render()}}]),n}(),WebsyDatePicker=function(){function o(t,e){_classCallCheck(this,o),this.oneDay=864e5,this.currentselection=[],this.validDates=[];var i={defaultRange:0,minAllowedDate:this.floorDate(new Date(new Date((new Date).setFullYear((new Date).getFullYear()-1)).setDate(1))),maxAllowedDate:this.floorDate(new Date(new Date)),daysOfWeek:["S","M","T","W","T","F","S"],monthMap:{0:"Jan",1:"Feb",2:"Mar",3:"Apr",4:"May",5:"Jun",6:"Jul",7:"Aug",8:"Sep",9:"Oct",10:"Nov",11:"Dec"},ranges:[]};if(i.ranges=[{label:"All Dates",range:[i.minAllowedDate,i.maxAllowedDate]},{label:"Today",range:[this.floorDate(new Date)]},{label:"Yesterday",range:[this.floorDate((new Date).setDate((new Date).getDate()-1))]},{label:"Last 7 Days",range:[this.floorDate((new Date).setDate((new Date).getDate()-6)),this.floorDate(new Date)]},{label:"This Month",range:[this.floorDate((new Date).setDate(1)),this.floorDate(new Date((new Date).setDate(1)).setMonth((new Date).getMonth()+1)-this.oneDay)]},{label:"Last Month",range:[this.floorDate(new Date((new Date).setDate(1)).setMonth((new Date).getMonth()-1)),this.floorDate(new Date((new Date).setDate(1)).setMonth((new Date).getMonth())-this.oneDay)]},{label:"This Year",range:[this.floorDate(new Date("1/1/".concat((new Date).getFullYear()))),this.floorDate(new Date("12/31/".concat((new Date).getFullYear())))]},{label:"Last Year",range:[this.floorDate(new Date("1/1/".concat((new Date).getFullYear()-1))),this.floorDate(new Date("12/31/".concat((new Date).getFullYear()-1)))]}],this.options=_extends({},i,e),this.selectedRange=this.options.defaultRange||0,this.selectedRangeDates=_toConsumableArray(this.options.ranges[this.options.defaultRange||0].range),this.priorSelectedDates=null,t){var s=document.getElementById(t);if(s){this.elementId=t,s.addEventListener("click",this.handleClick.bind(this));var n="\n <div class='websy-date-picker-container'>\n <span class='websy-dropdown-header-label'>".concat(this.options.label||"Date","</span>\n <div class='websy-date-picker-header'>\n <span id='").concat(this.elementId,"_selectedRange'>").concat(this.options.ranges[this.selectedRange].label,'</span>\n <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M23.677 18.52c.914 1.523-.183 3.472-1.967 3.472h-19.414c-1.784 0-2.881-1.949-1.967-3.472l9.709-16.18c.891-1.483 3.041-1.48 3.93 0l9.709 16.18z"/></svg>\n </div>\n <div id=\'').concat(this.elementId,"_mask' class='websy-date-picker-mask'></div>\n <div id='").concat(this.elementId,"_content' class='websy-date-picker-content'>\n <div class='websy-date-picker-ranges'>\n <ul id='").concat(this.elementId,"_rangelist'>\n ").concat(this.renderRanges(),"\n </ul>\n </div>\x3c!--\n --\x3e<div id='").concat(this.elementId,"_datelist' class='websy-date-picker-custom'>").concat(this.renderDates(),"</div>\n <div class='websy-dp-button-container'>\n <button class='websy-btn websy-dp-cancel'>Cancel</button>\n <button class='websy-btn websy-dp-confirm'>Confirm</button>\n </div>\n </div> \n </div>\n ");s.innerHTML=n,this.render()}else console.log("No element found with Id",t)}else console.log("No element Id provided")}return _createClass(o,[{key:"close",value:function(t){var e=document.getElementById("".concat(this.elementId,"_mask")),i=document.getElementById("".concat(this.elementId,"_content"));e.classList.remove("active"),i.classList.remove("active"),!0===t?(this.options.onChange&&this.options.onChange(this.selectedRangeDates),this.updateRange()):(this.selectedRangeDates=_toConsumableArray(this.priorSelectedDates),this.selectedRange=this.priorSelectedRange)}},{key:"floorDate",value:function(t){return"number"==typeof t&&(t=new Date(t)),new Date(t.setHours(0,0,0,0))}},{key:"handleClick",value:function(t){if(t.target.classList.contains("websy-date-picker-header"))this.open();else if(t.target.classList.contains("websy-date-picker-mask"))this.close();else if(t.target.classList.contains("websy-date-picker-range")){if(t.target.classList.contains("websy-disabled-range"))return;var e=t.target.getAttribute("data-index");this.selectRange(e),this.updateRange(e)}else if(t.target.classList.contains("websy-dp-date")){if(t.target.classList.contains("websy-disabled-date"))return;var i=t.target.id.split("_")[0];this.selectDate(+i)}else t.target.classList.contains("websy-dp-confirm")?this.close(!0):t.target.classList.contains("websy-dp-cancel")&&this.close()}},{key:"highlightRange",value:function(){for(var t=document.getElementById("".concat(this.elementId,"_dateList")).querySelectorAll(".websy-dp-date"),e=0;e<t.length;e++)t[e].classList.remove("selected"),t[e].classList.remove("first"),t[e].classList.remove("last");if(0!==this.selectedRange){var i=Math.floor((this.selectedRangeDates[this.selectedRangeDates.length-1].getTime()-this.selectedRangeDates[0].getTime())/this.oneDay);this.selectedRangeDates[0].getMonth()!==this.selectedRangeDates[this.selectedRangeDates.length-1].getMonth()&&(i+=1);for(var s=0;s<i+1;s++){var n=this.floorDate(new Date(this.selectedRangeDates[0].getTime()+s*this.oneDay)),o=document.getElementById("".concat(n.getTime(),"_date"));o&&(o.classList.add("selected"),n.getTime()===this.selectedRangeDates[0].getTime()&&o.classList.add("first"),n.getTime()===this.selectedRangeDates[this.selectedRangeDates.length-1].getTime()&&o.classList.add("last"))}}}},{key:"open",value:function(t){1<arguments.length&&void 0!==arguments[1]&&arguments[1];var e=document.getElementById("".concat(this.elementId,"_mask")),i=document.getElementById("".concat(this.elementId,"_content"));e.classList.add("active"),i.classList.add("active"),this.priorSelectedDates=_toConsumableArray(this.selectedRangeDates),this.priorSelectedRange=this.selectedRange,this.scrollRangeIntoView()}},{key:"render",value:function(t){if(this.elementId){var e=document.getElementById("".concat(this.elementId,"_datelist"));e&&t&&(e.innerHTML=this.renderDates(t));var i=document.getElementById("".concat(this.elementId,"_rangelist"));i&&t&&(i.innerHTML=this.renderRanges()),this.highlightRange()}else console.log("No element Id provided for Websy Loading Dialog")}},{key:"renderDates",value:function(t){var e=[];this.validDates=[],t&&(e=t.map(function(t){return t.getTime()})),this.options.ranges.forEach(function(t){return t.disabled=!0});for(var i=Math.ceil((this.options.maxAllowedDate.getTime()-this.options.minAllowedDate.getTime())/this.oneDay)+1,s={},n=0;n<i;n++){var o=this.floorDate(new Date(this.options.minAllowedDate.getTime()+n*this.oneDay)),a="".concat(this.options.monthMap[o.getMonth()]," ").concat(o.getFullYear());s[a]||(s[a]=[]),-1===e.indexOf(o.getTime())&&this.validDates.push(o.getTime()),s[a].push({date:o,dayOfMonth:o.getDate(),dayOfWeek:o.getDay(),id:o.getTime(),disabled:-1!==e.indexOf(o.getTime())})}for(var r=0;r<this.options.ranges.length;r++){var l=this.options.ranges[r];if(-1!==this.validDates.indexOf(l.range[0].getTime()))l.disabled=!1;else if(l.range[1])if(-1!==this.validDates.indexOf(l.range[1].getTime()))l.disabled=!1;else for(var c=l.range[0].getTime();c<=l.range[1].getTime();c+=this.oneDay){var h=this.floorDate(new Date(c));if(-1!==this.validDates.indexOf(h.getTime())){l.disabled=!1;break}}}var d="";for(var p in d+="\n <ul class='websy-dp-days-header'>\n ",d+=this.options.daysOfWeek.map(function(t){return"<li>".concat(t,"</li>")}).join(""),d+="\n </ul>\n <div id='".concat(this.elementId,"_dateList' class='websy-dp-date-list'>\n "),s){if(d+="\n <div class='websy-dp-month-container'>\n <span id='".concat(p.replace(/\s/g,"_"),"'>").concat(p,"</span>\n <ul>\n "),0<s[p][0].dayOfWeek){for(var u=[],m=0;m<s[p][0].dayOfWeek;m++)u.push("<li> </li>");d+=u.join("")}d+=s[p].map(function(t){return"<li id='".concat(t.id,"_date' class='websy-dp-date ").concat(!0===t.disabled?"websy-disabled-date":"","'>").concat(t.dayOfMonth,"</li>")}).join(""),d+="\n </ul>\n </div>\n "}return d+="</div>"}},{key:"renderRanges",value:function(){var i=this;return this.options.ranges.map(function(t,e){return"\n <li data-index='".concat(e,"' class='websy-date-picker-range ").concat(e===i.selectedRange?"active":""," ").concat(!0===t.disabled?"websy-disabled-range":"","'>").concat(t.label,"</li>\n ")}).join("")}},{key:"scrollRangeIntoView",value:function(){if(this.selectedRangeDates[0]){var t=document.getElementById("".concat(this.selectedRangeDates[0].getTime(),"_date")),e=document.getElementById("".concat(this.elementId,"_dateList"));t&&e&&e.scrollTo(0,t.offsetTop)}}},{key:"selectDate",value:function(t){0===this.currentselection.length?this.currentselection.push(t):t>this.currentselection[0]?this.currentselection.push(t):this.currentselection.splice(0,0,t),this.selectedRangeDates=[new Date(this.currentselection[0]),new Date(this.currentselection[1]||this.currentselection[0])],2===this.currentselection.length&&(this.currentselection=[]),this.selectedRange=-1,this.highlightRange()}},{key:"selectRange",value:function(t){this.options.ranges[t]&&(this.selectedRangeDates=_toConsumableArray(this.options.ranges[t].range),this.selectedRange=+t,this.highlightRange(),this.close(!0))}},{key:"selectCustomRange",value:function(t){this.selectedRange=-1,this.selectedRangeDates=t,this.highlightRange(),this.updateRange()}},{key:"setDateBounds",value:function(t){"All Dates"===this.options.ranges[0].label&&(this.options.ranges[0].range=[t[0],t[1]||t[0]]),this.options.minAllowedDate=t[0],this.options.maxAllowedDate=t[1]||t[0]}},{key:"updateRange",value:function(){var t;if(-1===this.selectedRange){var e=this.selectedRangeDates[0].toLocaleDateString(),i="";this.selectedRangeDates[1]&&this.selectedRangeDates[0].getTime()!==this.selectedRangeDates[1].getTime()&&(i=" - ".concat(this.selectedRangeDates[1].toLocaleDateString())),t={label:"".concat(e).concat(i)}}else t=this.options.ranges[this.selectedRange];for(var s=document.getElementById(this.elementId),n=document.getElementById("".concat(this.elementId,"_selectedRange")),o=s.querySelectorAll(".websy-date-picker-range"),a=0;a<o.length;a++)o[a].classList.remove("active"),a===this.selectedRange&&o[a].classList.add("active");n&&(n.innerHTML=t.label)}}]),o}();Date.prototype.floor=function(){return new Date("".concat(this.getMonth()+1,"/").concat(this.getDate(),"/").concat(this.getFullYear()))};var WebsyDropdown=function(){function s(t,e){_classCallCheck(this,s);if(this.options=_extends({},{multiSelect:!1,multiValueDelimiter:",",allowClear:!0,style:"plain",items:[],label:"",disabled:!1,minSearchCharacters:2,showCompleteSelectedList:!1,closeAfterSelection:!0},e),this.tooltipTimeoutFn=null,this._originalData=[],this.selectedItems=this.options.selectedItems||[],t){var i=document.getElementById(t);i?(this.elementId=t,i.addEventListener("click",this.handleClick.bind(this)),i.addEventListener("keyup",this.handleKeyUp.bind(this)),i.addEventListener("mouseout",this.handleMouseOut.bind(this)),i.addEventListener("mousemove",this.handleMouseMove.bind(this)),this.render()):console.log("No element found with Id",t)}else console.log("No element Id provided")}return _createClass(s,[{key:"clearSelected",value:function(){this.selectedItems=[],this.updateHeader(),this.options.onClearSelected&&this.options.onClearSelected()}},{key:"close",value:function(){var t=document.getElementById("".concat(this.elementId,"_mask")),e=document.getElementById("".concat(this.elementId,"_content"));t.classList.remove("active"),e.classList.remove("active"),e.classList.remove("on-top");var i=document.getElementById("".concat(this.elementId,"_search"));i&&0<i.value.length&&this.options.onCancelSearch&&(this.options.onCancelSearch(""),i.value="")}},{key:"handleClick",value:function(t){if(!0!==this.options.disabled)if(t.target.classList.contains("websy-dropdown-header"))this.open();else if(t.target.classList.contains("websy-dropdown-mask"))this.close();else if(t.target.classList.contains("websy-dropdown-item")){var e=t.target.getAttribute("data-index");this.updateSelected(+e)}else t.target.classList.contains("clear")&&this.clearSelected()}},{key:"handleKeyUp",value:function(e){e.target.classList.contains("websy-dropdown-search")&&(0===this._originalData.length&&(this._originalData=_toConsumableArray(this.options.items)),e.target.value.length>=this.options.minSearchCharacters?"Enter"===e.key?this.options.onConfirmSearch&&(this.options.onConfirmSearch(e.target.value),e.target.value=""):"Escape"===e.key?this.options.onCancelSearch?(this.options.onCancelSearch(e.target.value),e.target.value=""):(this.data=this._originalData,this._originalData=[]):this.options.onSearch?this.options.onSearch(e.target.value):this.data=this._originalData.filter(function(t){return-1!==t.label.toLowerCase().indexOf(e.target.value.toLowerCase())}):this.options.onCancelSearch&&this.options.onCancelSearch(e.target.value))}},{key:"handleMouseMove",value:function(t){this.tooltipTimeoutFn&&(t.target.classList.remove("websy-delayed"),t.target.classList.remove("websy-delayed-info"),t.target.children[1]&&t.target.children[1].classList.remove("websy-delayed-info"),clearTimeout(this.tooltipTimeoutFn)),"LI"===t.target.tagName&&(this.tooltipTimeoutFn=setTimeout(function(){t.target.classList.add("websy-delayed")},500)),t.target.classList.contains("websy-dropdown-header")&&t.target.children[1]&&(this.tooltipTimeoutFn=setTimeout(function(){t.target.children[1].classList.add("websy-delayed-info")},500))}},{key:"handleMouseOut",value:function(t){this.tooltipTimeoutFn&&(t.target.classList.remove("websy-delayed"),t.target.classList.remove("websy-delayed-info"),t.target.children[1]&&t.target.children[1].classList.remove("websy-delayed-info"),clearTimeout(this.tooltipTimeoutFn))}},{key:"open",value:function(t){1<arguments.length&&void 0!==arguments[1]&&arguments[1];var e=document.getElementById("".concat(this.elementId,"_mask")),i=document.getElementById("".concat(this.elementId,"_content"));if(e.classList.add("active"),i.classList.add("active"),WebsyUtils.getElementPos(i).bottom>window.innerHeight&&i.classList.add("on-top"),!0!==this.options.disableSearch){var s=document.getElementById("".concat(this.elementId,"_search"));s&&s.focus()}}},{key:"render",value:function(){var e=this;if(this.elementId){var t=document.getElementById(this.elementId),i=this.selectedItems.map(function(t){return e.options.items[t].label||e.options.items[t].value}).join(this.options.multiValueDelimiter),s=this.selectedItems.map(function(t){return e.options.items[t].value||e.options.items[t].label}).join(this.options.multiValueDelimiter),n="\n <div class='websy-dropdown-container ".concat(this.options.disabled?"disabled":""," ").concat(!0!==this.options.disableSearch?"with-search":"","'>\n <div id='").concat(this.elementId,"_header' class='websy-dropdown-header ").concat(1===this.selectedItems.length?"one-selected":""," ").concat(!0===this.options.allowClear?"allow-clear":"","'>\n <span id='").concat(this.elementId,"_headerLabel' class='websy-dropdown-header-label'>").concat(this.options.label,"</span>\n <span data-info='").concat(i,"' class='websy-dropdown-header-value' id='").concat(this.elementId,"_selectedItems'>").concat(i,"</span>\n <input class='dropdown-input' id='").concat(this.elementId,"_input' name='").concat(this.options.field||this.options.label,"' value='").concat(s,'\'>\n <svg class=\'arrow\' xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M23.677 18.52c.914 1.523-.183 3.472-1.967 3.472h-19.414c-1.784 0-2.881-1.949-1.967-3.472l9.709-16.18c.891-1.483 3.041-1.48 3.93 0l9.709 16.18z"/></svg>\n ');!0===this.options.allowClear&&(n+='\n <svg class=\'clear\' xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 512 512"><title>ionicons-v5-l</title><line x1="368" y1="368" x2="144" y2="144" style="fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:32px"/><line x1="368" y1="144" x2="144" y2="368" style="fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:32px"/></svg>\n '),n+=" \n </div>\n <div id='".concat(this.elementId,"_mask' class='websy-dropdown-mask'></div>\n <div id='").concat(this.elementId,"_content' class='websy-dropdown-content'>\n "),!0!==this.options.disableSearch&&(n+="\n <input id='".concat(this.elementId,"_search' class='websy-dropdown-search' placeholder='").concat(this.options.searchPlaceholder||"Search","'>\n ")),n+="\n <div class='websy-dropdown-items'>\n <ul id='".concat(this.elementId,"_items'> \n </ul>\n </div>\x3c!--\n --\x3e<div class='websy-dropdown-custom'></div>\n </div>\n </div>\n "),t.innerHTML=n,this.renderItems()}else console.log("No element Id provided for Websy Dropdown")}},{key:"renderItems",value:function(){var t,i=this,e=this.options.items.map(function(t,e){return"\n <li data-index='".concat(e,"' class='websy-dropdown-item ").concat(-1!==i.selectedItems.indexOf(e)?"active":"","'>").concat(t.label,"</li>\n ")}).join(""),s=document.getElementById("".concat(this.elementId,"_items"));s&&(s.innerHTML=e),1===this.selectedItems.length&&(t=this.options.items[this.selectedItems[0]]),this.updateHeader(t)}},{key:"updateHeader",value:function(t){for(var e=this,i=document.getElementById(this.elementId),s=document.getElementById("".concat(this.elementId,"_header")),n=document.getElementById("".concat(this.elementId,"_headerLabel")),o=document.getElementById("".concat(this.elementId,"_selectedItems")),a=document.getElementById("".concat(this.elementId,"_input")),r=i.querySelectorAll(".websy-dropdown-item"),l=0;l<r.length;l++)r[l].classList.remove("active"),-1!==this.selectedItems.indexOf(l)&&r[l].classList.add("active");if(n&&(n.innerHTML=this.options.label),s&&(s.classList.remove("one-selected"),s.classList.remove("multi-selected"),1===this.selectedItems.length?s.classList.add("one-selected"):1<this.selectedItems.length&&(!0===this.options.showCompleteSelectedList?s.classList.add("one-selected"):s.classList.add("multi-selected"))),o)if(1===this.selectedItems.length)o.innerHTML=t.label,o.setAttribute("data-info",t.label),a.value=t.value;else if(1<this.selectedItems.length)if(!0===this.options.showCompleteSelectedList){var c=this.selectedItems.map(function(t){return e.options.items[t].label||e.options.items[t].value}).join(this.options.multiValueDelimiter),h=this.selectedItems.map(function(t){return e.options.items[t].value||e.options.items[t].label}).join(this.options.multiValueDelimiter);o.innerHTML=c,o.setAttribute("data-info",c),a.value=h}else{var d=this.selectedItems.map(function(t){return e.options.items[t].value||e.options.items[t].label}).join(this.options.multiValueDelimiter);o.innerHTML="".concat(this.selectedItems.length," selected"),o.setAttribute("data-info",""),a.value=d}else o.innerHTML="",o.setAttribute("data-info",""),a.value=""}},{key:"updateSelected",value:function(t){if(null!=t){var e=this.selectedItems.indexOf(t);-1!==e&&this.selectedItems.splice(e,1),!1===this.options.multiSelect?this.selectedItems=[t]:this.selectedItems.push(t)}var i=this.options.items[t];this.updateHeader(i),i&&this.options.onItemSelected&&this.options.onItemSelected(i,this.selectedItems,this.options.items),!0===this.options.closeAfterSelection&&this.close()}},{key:"selections",set:function(t){this.selectedItems=t||[]}},{key:"data",set:function(t){this.options.items=t||[],0===document.getElementById("".concat(this.elementId,"_items")).childElementCount?this.render():(0===this.options.items.length&&(this.options.items=[{label:this.options.noItemsText||"No Items"}]),this.renderItems())},get:function(){return this.options.items}}]),s}(),WebsyResultList=function(){function n(t,e){var i=this;_classCallCheck(this,n);if(this.options=_extends({},{listeners:{click:{}}},e),this.elementId=t,this.rows=[],this.apiService=new WebsyDesigns.APIService("/api"),this.templateService=new WebsyDesigns.APIService(""),t){var s=document.getElementById(t);s&&s.addEventListener("click",this.handleClick.bind(this)),"object"===_typeof(e.template)&&e.template.url?this.templateService.get(e.template.url).then(function(t){i.options.template=t,i.render()}):this.render()}else console.log("No element Id provided for Websy Search List")}return _createClass(n,[{key:"appendData",value:function(t){var e=this.rows.length;this.rows=this.rows.concat(t);var i=this.buildHTML(t,e);document.getElementById(this.elementId).innerHTML+=i.replace(/\n/g,"")}},{key:"buildHTML",value:function(n){var o=this,a=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0,c="";return this.options.template&&(0<n.length?n.forEach(function(r,e){var l="".concat(0<e?"--\x3e":"").concat(o.options.template).concat(e<n.length-1?"\x3c!--":"");_toConsumableArray(l.matchAll(/<\s*if[^>]*>([\s\S]*?)<\s*\/\s*if>/g)).forEach(function(t){if(t[0]&&-1<t.index){var e=t[0].match(/(\scondition=["|']\w.+)["|']/g);if(e&&e[0]){var i=e[0].trim().replace("condition=","");'"'===i.split("")[0]?i=i.replace(/"/g,""):"'"===i.split("")[0]&&(i=i.replace(/'/g,""));var s=[],n=!0;-1!==i.indexOf("===")?s=i.split("==="):-1!==i.indexOf("!==")?(s=i.split("!=="),n=!1):-1!==i.indexOf("==")?s=i.split("=="):-1!==i.indexOf("!=")&&(s=i.split("!="),n=!1);var o=!0;if(2===s.length&&(isNaN(s[1])||(s[1]=+s[1]),"true"===s[1]&&(s[1]=!0),"false"===s[1]&&(s[1]=!1),"string"==typeof s[1]&&(-1!==s[1].indexOf('"')?s[1]=s[1].replace(/"/g,""):-1!==s[1].indexOf("'")&&(s[1]=s[1].replace(/'/g,""))),!0===n?void 0!==r[s[0]]&&r[s[0]]===s[1]?o=!1:s[0]===s[1]&&(o=!1):!1===n&&void 0!==r[s[0]]&&r[s[0]]!==s[1]&&(o=!1)),!0===o)l=l.replace(t[0],"");else{var a=t[0];a=a.replace("</if>","").replace(/<\s*if[^>]*>/g,""),l=l.replace(t[0],a)}}}});var t=_toConsumableArray(l.matchAll(/(\sdata-event=["|']\w.+)["|']/g));for(var i in t.forEach(function(t){t[0]&&-1<t.index&&(l=l.replace(t[0],"".concat(t[0]," data-id=").concat(a+e)))}),r){var s=new RegExp("{".concat(i,"}"),"gm");l=l.replace(s,r[i])}c+=l}):this.options.noRowsHTML&&(c+=this.options.noRowsHTML)),c}},{key:"findById",value:function(t){for(var e=0;e<this.rows.length;e++)if(this.rows[e].id===t)return this.rows[e];return null}},{key:"handleClick",value:function(t){var e=this;if(t.target.classList.contains("clickable")){var i=t.target.getAttribute("data-event");if(i){i=i.split("(");var s,n=[],o=t.target.getAttribute("data-id");if(i[1]&&(i[1]=i[1].replace(")",""),n=i[1].split(",")),i=i[0],n=n.map(function(t){return"string"!=typeof t&&"number"!=typeof t?e.rows[+o]&&(t=e.rows[+o][t]):"string"==typeof t&&(t=t.replace(/"/g,"").replace(/'/g,"")),t}),t.target.classList.contains("clickable")&&this.options.listeners.click[i])t.stopPropagation(),(s=this.options.listeners.click[i]).call.apply(s,[this,t,this.rows[+o]].concat(_toConsumableArray(n)))}}}},{key:"render",value:function(){var e=this;this.options.entity?this.apiService.get(this.options.entity).then(function(t){e.rows=t.rows,e.resize()}):this.resize()}},{key:"resize",value:function(){var t=this.buildHTML(this.rows);document.getElementById(this.elementId).innerHTML=t.replace(/\n/g,"")}},{key:"data",set:function(t){this.rows=t||[],this.render()},get:function(){return this.rows}}]),n}(),WebsyTemplate=function(){function n(t,e){var i=this;_classCallCheck(this,n);if(this.options=_extends({},{listeners:{click:{}}},e),this.elementId=t,this.templateService=new WebsyDesigns.APIService(""),t){var s=document.getElementById(t);s&&s.addEventListener("click",this.handleClick.bind(this)),"object"===_typeof(e.template)&&e.template.url?this.templateService.get(e.template.url).then(function(t){i.options.template=t,i.render()}):this.render()}else console.log("No element Id provided for Websy Template")}return _createClass(n,[{key:"buildHTML",value:function(){var r=this,t="";if(this.options.template){var l=this.options.template;_toConsumableArray(l.matchAll(/<\s*if[^>]*>([\s\S]*?)<\s*\/\s*if>/g)).forEach(function(t){if(t[0]&&-1<t.index){var e=t[0].match(/(\scondition=["|']\w.+)["|']/g);if(e&&e[0]){var i=e[0].trim().replace("condition=","");'"'===i.split("")[0]?i=i.replace(/"/g,""):"'"===i.split("")[0]&&(i=i.replace(/'/g,""));var s=[],n=!0;-1!==i.indexOf("===")?s=i.split("==="):-1!==i.indexOf("!==")?(s=i.split("!=="),n=!1):-1!==i.indexOf("==")?s=i.split("=="):-1!==i.indexOf("!=")&&(s=i.split("!="),n=!1);var o=!0;if(2===s.length&&(isNaN(s[1])||(s[1]=+s[1]),"true"===s[1]&&(s[1]=!0),"false"===s[1]&&(s[1]=!1),"string"==typeof s[1]&&(-1!==s[1].indexOf('"')?s[1]=s[1].replace(/"/g,""):-1!==s[1].indexOf("'")&&(s[1]=s[1].replace(/'/g,""))),!0===n?void 0!==r.options.data[s[0]]&&r.options.data[s[0]]===s[1]?o=!1:s[0]===s[1]&&(o=!1):!1===n&&void 0!==r.options.data[s[0]]&&r.options.data[s[0]]!==s[1]&&(o=!1)),!0===o)l=l.replace(t[0],"");else{var a=t[0];a=a.replace("</if>","").replace(/<\s*if[^>]*>/g,""),l=l.replace(t[0],a)}}}});var e=_toConsumableArray(l.matchAll(/(\sdata-event=["|']\w.+)["|']/g));for(var i in e.forEach(function(t){t[0]&&-1<t.index&&(l=l.replace(t[0],"".concat(t[0])))}),this.options.data){var s=new RegExp("{".concat(i,"}"),"gm");s&&(l=l.replace(s,this.options.data[i]))}t=l}return t}},{key:"handleClick",value:function(t){}},{key:"render",value:function(){this.resize()}},{key:"resize",value:function(){var t=this.buildHTML();document.getElementById(this.elementId).innerHTML=t.replace(/\n/g,""),this.options.readyCallbackFn&&this.options.readyCallbackFn()}}]),n}(),WebsyPubSub=function(){function i(t,e){_classCallCheck(this,i),this.options=_extends({},e),t?(this.elementId=t,this.subscriptions={}):console.log("No element Id provided")}return _createClass(i,[{key:"publish",value:function(t,e){this.subscriptions[t]&&this.subscriptions[t].forEach(function(t){t(e)})}},{key:"subscribe",value:function(t,e){this.subscriptions[t]||(this.subscriptions[t]=[]),this.subscriptions[t].push(e)}}]),i}(),WebsyRouter=function(){function s(t){_classCallCheck(this,s);var e={triggerClass:"trigger-item",triggerToggleClass:"trigger-toggle",viewClass:"view",activeClass:"active",viewAttribute:"data-view",groupAttribute:"data-group",parentAttribute:"data-parent",defaultView:"",defaultGroup:"main",subscribers:{show:[],hide:[]}};if(this.triggerIdList=[],this.viewIdList=[],this.previousPath="",this.previousView="",this.currentView="",this.currentViewMain="",this.currentParams={},this.controlPressed=!1,this.usesHTMLSuffix=-1!==window.location.pathname.indexOf(".htm"),window.addEventListener("popstate",this.onPopState.bind(this)),window.addEventListener("keydown",this.handleKeyDown.bind(this)),window.addEventListener("keyup",this.handleKeyUp.bind(this)),window.addEventListener("focus",this.handleFocus.bind(this)),window.addEventListener("click",this.handleClick.bind(this)),this.options=_extends({},e,t),this.options.viewClass!==e.viewClass||this.options.activeClass!==e.activeClass){var i="\n <style>\n .".concat(this.options.viewClass,"{ display: none; }\n .").concat(this.options.viewClass,".").concat(this.options.activeClass,"{ display: initial; }\n .").concat(this.options.triggerClass,"{cursor: pointer;}\n </style>\n ");document.querySelector("head").innerHTML+=i}}return _createClass(s,[{key:"addGroup",value:function(t){this.groups[t]||(this.groups[t]={activeView:""})}},{key:"addUrlParams",value:function(t){if(void 0!==t){var e={path:"",items:{}},i="";this.currentParams&&this.currentParams.items?(e.items=_extends({},this.currentParams.items,t),i=this.buildUrlPath(e.items)):0<Object.keys(t).length&&(e.items=_extends({},t),i=this.buildUrlPath(e.items)),this.currentParams=e;var s=this.currentView;this.options.urlPrefix&&(s="/".concat(this.options.urlPrefix,"/").concat(s)),history.pushState({inputPath:s},s,"".concat(s,"?").concat(i))}}},{key:"buildUrlPath",value:function(t){var e=[];for(var i in t)e.push("".concat(i,"=").concat(t[i]));return e.join("&")}},{key:"formatParams",value:function(t){var e={path:t,items:{}};if(void 0!==t){for(var i=t.split("&"),s=0;s<i.length;s++){var n=i[s].split("=");e.items[n[0]]=n[1]}return this.currentParams=e}}},{key:"generateId",value:function(t){for(var e="abcdefghijklmnopqrstuwxyzABCDEFGHIJKLMNOPQRSTUWXYZ0123456789",i=[],s=0;s<6;s++){var n=Math.floor(62*Math.random());i.push(e[n])}return"".concat(t,"_").concat(i.join(""))}},{key:"getActiveViewsFromParent",value:function(t){var e=[];for(var i in this.groups)this.groups[i].parent===t&&this.groups[i].activeView&&e.push(this.groups[i].activeView);return e}},{key:"handleClick",value:function(t){if(t.target.classList.contains(this.options.triggerClass)){var e=t.target.getAttribute(this.options.viewAttribute),i=t.target.getAttribute(this.options.groupAttribute);this.navigate(e,i||"main",t)}}},{key:"init",value:function(){this.registerElements(document);var t="",e=this.formatParams(this.queryParams);""===this.currentPath&&""!==this.options.defaultView?t=this.options.defaultView:""!==this.currentPath&&(t=this.currentPath),void 0!==e&&"?".concat(e.path),this.currentView=t,this.currentViewMain=t,"/"!==this.currentView&&""!==this.currentView||(this.currentView=this.options.defaultView),"/"!==this.currentViewMain&&""!==this.currentViewMain||(this.currentViewMain=this.options.defaultView),""!==t&&this.showView(t,e)}},{key:"handleFocus",value:function(t){this.controlPressed=!1}},{key:"handleKeyDown",value:function(t){switch(t.key){case"Control":case"Meta":this.controlPressed=!0}}},{key:"handleKeyUp",value:function(t){this.controlPressed=!1}},{key:"hideView",value:function(t,e){if(this.hideTriggerItems(t,e),this.hideViewItems(t,e),e===this.options.defaultGroup){var i=document.getElementsByClassName("parent-".concat(t));if(i)for(var s=0;s<i.length;s++)if(i[s].classList.contains(this.options.viewClass)){var n=i[s].attributes[this.options.viewAttribute],o=i[s].attributes[this.options.groupAttribute];n&&""!==n.value&&this.hideView(n.value,o.value||this.options.defaultGroup)}}else this.groups[e]&&this.groups[e].activeView===t&&(this.groups[e].activeView=null);this.publish("hide",[t])}},{key:"registerElements",value:function(t){"#document"===t.nodeName&&(this.groups={});for(var e=t.getElementsByClassName(this.options.triggerClass),i=0;i<e.length;i++)if(e[i].id||(e[i].id=this.generateId("trigger")),-1===this.triggerIdList.indexOf(e[i].id)){this.triggerIdList.push(e[i].id);var s=e[i].attributes[this.options.viewAttribute];if(s&&""!==s.value){var n=e[i].attributes[this.options.groupAttribute],o=this.options.defaultGroup;n&&""!==n.value&&(o=n.value);var a=e[i].attributes[this.options.parentAttribute];a&&""!==a.value&&e[i].classList.add("parent-".concat(a.value)),e[i].classList.add("".concat(this.options.triggerClass,"-").concat(o))}}for(var r=t.getElementsByClassName(this.options.viewClass),l=0;l<r.length;l++){var c=r[l].attributes[this.options.groupAttribute],h=r[l].attributes[this.options.viewAttribute];c&&""!==c.value?(this.addGroup(c.value),r[l].classList.contains(this.options.activeClass)&&(this.groups[c.value].activeView=h.value),r[l].classList.add("".concat(this.options.viewClass,"-").concat(c.value))):r[l].classList.add("".concat(this.options.viewClass,"-").concat(this.options.defaultGroup));var d=r[l].attributes[this.options.parentAttribute];d&&""!==d.value&&(r[l].classList.add("parent-".concat(d.value)),c&&""!==c.value&&this.groups[c.value]&&(this.groups[c.value].parent=d.value))}}},{key:"showView",value:function(t,e){this.activateItem(t,this.options.triggerClass),this.activateItem(t,this.options.viewClass);for(var i=this.getActiveViewsFromParent(t),s=0;s<i.length;s++)this.activateItem(i[s],this.options.triggerClass),this.activateItem(i[s],this.options.viewClass),this.publish("show",[i[s]]);this.publish("show",[t,e])}},{key:"reloadCurrentView",value:function(){this.showView(this.currentView,this.currentParams)}},{key:"navigate",value:function(t,e,i,s){void 0===s&&(s=!1),this.popped=s;var n,o=!1,a=t;t===this.options.defaultView&&!1===this.usesHTMLSuffix&&(t=t.replace(this.options.defaultView,"/")),!0===this.options.persistentParameters&&-1===t.indexOf("?")&&this.queryParams&&(t+="?".concat(this.queryParams)),!0===this.usesHTMLSuffix&&(-1===t.indexOf("?")?t="?view=".concat(t):-1===t.indexOf("view=")&&(t="&view=".concat(t)));var r=this.currentParams.path;if(!0!==this.controlPressed||e!==this.options.defaultGroup){if(-1!==t.indexOf("?")&&e===this.options.defaultGroup){var l=t.split("?");this.formatParams(l[1]),t=l[0]}else e===this.options.defaultGroup&&(this.currentParams={});if(i&&(i.target&&i.target.classList.contains(this.options.triggerToggleClass)?o=!0:"boolean"==typeof i&&(o=i)),!0===o&&""!==this.groups[e].activeView&&(a=""),this.previousView=this.currentView,this.previousPath=this.currentPath,this.groups||(this.groups={}),this.groups[e]&&(!1===o&&(n=this.groups[e].activeView),this.previousPath=this.groups[e].activeView),!0===o?""!==this.previousPath&&this.hideView(this.previousPath,e):this.hideView(this.previousView,e),!(!0===o&&a===n||(e&&this.groups[e]&&e!==this.options.defaultGroup&&(this.groups[e].activeView=a),!1===o&&"main"===e&&(this.currentView=t),"main"===e&&(this.currentViewMain=t),"/"===this.currentView&&(this.currentView=this.options.defaultView),"/"===this.currentViewMain&&(this.currentViewMain=this.options.defaultView),!1===o?this.showView(this.currentView,this.currentParams):a&&""!==a&&this.showView(a),!0===this.usesHTMLSuffix&&(t=window.location.pathname.split("/").pop()+t),this.currentPath===a&&r===this.currentParams.path||e!==this.options.defaultGroup||!1!==s))){var c=t;this.options.urlPrefix&&(c="/".concat(this.options.urlPrefix,"/").concat(c),t="/".concat(this.options.urlPrefix,"/").concat(t)),this.currentParams&&this.currentParams.path?c+="?".concat(this.currentParams.path):this.queryParams&&(c+="?".concat(this.queryParams)),history.pushState({inputPath:t},t,c)}}else window.open("".concat(window.location.origin,"/").concat(t),"_blank")}},{key:"onPopState",value:function(t){var e;t.state?(t.state.url?e=t.state.url:-1!==(e=t.state.inputPath).indexOf(this.options.urlPrefix)&&(e=e.replace("/".concat(this.options.urlPrefix,"/"),"")),this.navigate(e,"main",null,!0)):this.navigate(this.options.defaultView||"/","main",null,!0)}},{key:"publish",value:function(t,e){this.options.subscribers[t].forEach(function(t){t.apply(null,e)})}},{key:"subscribe",value:function(t,e){this.options.subscribers[t].push(e)}},{key:"hideTriggerItems",value:function(t,e){this.hideItems(this.options.triggerClass,e)}},{key:"hideViewItems",value:function(t,e){this.hideItems(t,e)}},{key:"hideItems",value:function(t,e){var i;if(i=_toConsumableArray(e&&"main"!==e?document.querySelectorAll("[".concat(this.options.groupAttribute,"='").concat(e,"']")):document.querySelectorAll("[".concat(this.options.viewAttribute,"='").concat(t,"']"))))for(var s=0;s<i.length;s++)i[s].classList.remove(this.options.activeClass)}},{key:"activateItem",value:function(t,e){var i=document.getElementsByClassName(e);if(i)for(var s=0;s<i.length;s++)if(i[s].attributes[this.options.viewAttribute]&&i[s].attributes[this.options.viewAttribute].value===t){i[s].classList.add(this.options.activeClass);break}}},{key:"currentPath",get:function(){var t=window.location.pathname.split("/").pop();return-1!==t.indexOf(".htm")?"":this.options.urlPrefix&&t===this.options.urlPrefix?"":t}},{key:"queryParams",get:function(){return 1<window.location.search.length?window.location.search.substring(1):""}}]),s}(),APIService=function(){function e(t){_classCallCheck(this,e),this.baseUrl=t}return _createClass(e,[{key:"add",value:function(t,e){var i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{},s=this.buildUrl(t);return this.run("POST",s,e,i)}},{key:"buildUrl",value:function(t,e,i){return void 0===i&&(i=[]),e&&i.push("id:".concat(e)),"".concat(this.baseUrl,"/").concat(t).concat(0<i.length?"".concat(-1===t.indexOf("?")?"?":"&","where=").concat(i.join(";")):"")}},{key:"delete",value:function(t,e){var i=this.buildUrl(t,e);return this.run("DELETE",i)}},{key:"get",value:function(t,e,i){var s=this.buildUrl(t,e,i);return this.run("GET",s)}},{key:"update",value:function(t,e,i){var s=this.buildUrl(t,e);return this.run("PUT",s,i)}},{key:"fetchData",value:function(t,e,i){3<arguments.length&&void 0!==arguments[3]&&arguments[3];return fetch(e,{method:t,mode:"cors",cache:"no-cache",credentials:"same-origin",headers:{"Content-Type":"application/json"},redirect:"follow",referrerPolicy:"no-referrer",body:JSON.stringify(i)}).then(function(t){return t.json()})}},{key:"run",value:function(n,o,a){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:{},l=4<arguments.length&&void 0!==arguments[4]&&arguments[4];return new Promise(function(e,i){var s=new XMLHttpRequest;if(s.open(n,o),s.setRequestHeader("Content-Type","application/json"),s.responseType="text",r.responseType&&(s.responseType=r.responseType),r.headers)for(var t in r.headers)s.setRequestHeader(t,r.headers[t]);s.withCredentials=!0,s.onload=function(){if(401!==s.status&&403!==s.status){var t="text"===s.responseType?s.responseText:s.response;if(""!==t&&"null"!==t)try{t=JSON.parse(t)}catch(t){}else t=[];t.err?i(JSON.stringify(t)):e(!0===l?[t,function(t){t=t.split("\r\n");var e={};return t.forEach(function(t){2===(t=t.split(":")).length&&(e[t[0]]=t[1].trim())}),e}(s.getAllResponseHeaders())]:t)}else ENV&&ENV.AUTH_REDIRECT?window.location=ENV.AUTH_REDIRECT:window.location="/login"},s.onerror=function(){return i(s.statusText)},a?s.send(JSON.stringify(a)):s.send()})}}]),e}(),WebsyPDFButton=function(){function s(t,e){_classCallCheck(this,s);this.elementId=t,this.options=_extends({},{classes:[],wait:0,buttonText:"Download"},e),this.service=new WebsyDesigns.APIService("/pdf");var i=document.getElementById(this.elementId);i&&(i.addEventListener("click",this.handleClick.bind(this)),e.html?i.innerHTML=e.html:(i.innerHTML="\n \x3c!--<form style='display: none;' id='".concat(this.elementId,"_form' action='/pdf' method='POST'>\n <input id='").concat(this.elementId,"_pdfHeader' value='' name='header'>\n <input id='").concat(this.elementId,"_pdfHTML' value='' name='html'>\n <input id='").concat(this.elementId,"_pdfFooter' value='' name='footer'>\n </form>--\x3e\n <button class='websy-btn websy-pdf-button ").concat(this.options.classes.join(" "),'\'>\n Create PDF\n <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"\n viewBox="0 0 184.153 184.153" style="enable-background:new 0 0 184.153 184.153;" xml:space="preserve">\n <g>\n <g>\n <g>\n <path d="M129.318,0H26.06c-1.919,0-3.475,1.554-3.475,3.475v177.203c0,1.92,1.556,3.475,3.475,3.475h132.034\n c1.919,0,3.475-1.554,3.475-3.475V34.131C161.568,22.011,140.771,0,129.318,0z M154.62,177.203H29.535V6.949h99.784\n c7.803,0,25.301,18.798,25.301,27.182V177.203z"/>\n <path d="M71.23,76.441c15.327,0,27.797-12.47,27.797-27.797c0-15.327-12.47-27.797-27.797-27.797\n c-15.327,0-27.797,12.47-27.797,27.797C43.433,63.971,55.902,76.441,71.23,76.441z M71.229,27.797\n c11.497,0,20.848,9.351,20.848,20.847c0,0.888-0.074,1.758-0.183,2.617l-18.071-2.708L62.505,29.735\n C65.162,28.503,68.112,27.797,71.229,27.797z M56.761,33.668l11.951,19.869c0.534,0.889,1.437,1.49,2.462,1.646l18.669,2.799\n c-3.433,6.814-10.477,11.51-18.613,11.51c-11.496,0-20.847-9.351-20.847-20.847C50.381,42.767,52.836,37.461,56.761,33.668z"/>\n <rect x="46.907" y="90.339" width="73.058" height="6.949"/>\n <rect x="46.907" y="107.712" width="48.644" height="6.949"/>\n <rect x="46.907" y="125.085" width="62.542" height="6.949"/>\n </g>\n </g>\n </g> \n </svg>\n </button> \n <div id=\'').concat(this.elementId,"_loader'></div>\n <div id='").concat(this.elementId,"_popup'></div>\n "),this.loader=new WebsyDesigns.WebsyLoadingDialog("".concat(this.elementId,"_loader"),{classes:["global-loader"]}),this.popup=new WebsyDesigns.WebsyPopupDialog("".concat(this.elementId,"_popup"))))}return _createClass(s,[{key:"handleClick",value:function(t){var n=this;t.target.classList.contains("websy-pdf-button")?(this.loader.show(),setTimeout(function(){if(n.options.targetId){var t=document.getElementById(n.options.targetId);if(t){var e={options:{}};if(n.options.pdfOptions&&(e.options=_extends({},n.options.pdfOptions)),n.options.header)if(n.options.header.elementId){var i=document.getElementById(n.options.header.elementId);i&&(e.header=i.outerHTML,n.options.header.css&&(e.options.headerCSS=n.options.header.css))}else n.options.header.html?(e.header=n.options.header.html,n.options.header.css&&(e.options.headerCSS=n.options.header.css)):e.header=n.options.header;if(n.options.footer)if(n.options.footer.elementId){var s=document.getElementById(n.options.footer.elementId);s&&(e.footer=s.outerHTML,n.options.footer.css&&(e.options.footerCSS=n.options.footer.css))}else e.footer=n.options.footer;e.html=t.outerHTML,n.service.add("",e,{responseType:"blob"}).then(function(t){n.loader.hide();var e=new Blob([t],{type:"application/pdf"});n.popup.show({message:"\n <div class='text-center websy-pdf-download'>\n <div>Your file is ready to download</div>\n <a href='".concat(URL.createObjectURL(e),"' target='_blank'>\n <button class='websy-btn download-pdf'>").concat(n.options.buttonText,"</button>\n </a>\n </div>\n "),mask:!0})},function(t){console.error(t)})}}},this.options.wait)):t.target.classList.contains("download-pdf")&&(this.popup.hide(),this.options.onClose&&this.options.onClose())}},{key:"render",value:function(){}}]),s}(),WebsyTable=function(){function s(t,e){_classCallCheck(this,s);this.elementId=t,this.options=_extends({},{pageSize:20},e),this.rowCount=0,this.busy=!1,this.tooltipTimeoutFn=null,this.data=[];var i=document.getElementById(this.elementId);i?(i.innerHTML="\n <div id='".concat(this.elementId,'_tableContainer\' class=\'websy-vis-table\'>\n \x3c!--<div class="download-button">\n <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M16 11h5l-9 10-9-10h5v-11h8v11zm1 11h-10v2h10v-2z"/></svg>\n </div>--\x3e\n <table>\n <thead id="').concat(this.elementId,'_head">\n </thead>\n <tbody id="').concat(this.elementId,'_body">\n </tbody>\n <tfoot id="').concat(this.elementId,'_foot">\n </tfoot>\n </table>\n </div>\n '),i.addEventListener("click",this.handleClick.bind(this)),i.addEventListener("mouseout",this.handleMouseOut.bind(this)),i.addEventListener("mousemove",this.handleMouseMove.bind(this)),document.getElementById("".concat(this.elementId,"_tableContainer")).addEventListener("scroll",this.handleScroll.bind(this)),this.render()):console.error("No element found with ID ".concat(this.elementId))}return _createClass(s,[{key:"appendRows",value:function(t){var o=this,e="";t&&(e+=t.map(function(t,n){return"<tr>"+t.map(function(t,e){if(!1!==o.options.columns[e].show){var i="";if(t.style&&(i+=t.style),o.options.columns[e].width&&(i+="width: ".concat(o.options.columns[e].width,"; ")),t.backgroundColor&&(i+="background-color: ".concat(t.backgroundColor,"; ")),t.color&&(i+="color: ".concat(t.color,"; ")),!0===o.options.columns[e].showAsLink&&""!==t.value.trim())return"\n <td \n data-row-index='".concat(o.rowCount+n,"' \n data-col-index='").concat(e,"' \n class='").concat(o.options.columns[e].classes||"","' \n style='").concat(i,"'\n colspan='").concat(t.colspan||1,"'\n >\n <a href='").concat(t.value,"' target='").concat(!0===o.options.columns[e].openInNewTab?"_blank":"_self","'>").concat(t.displayText||o.options.columns[e].linkText||t.value,"</a>\n </td>\n ");if(!0===o.options.columns[e].showAsNavigatorLink&&""!==t.value.trim())return"\n <td \n data-view='".concat(t.value,"' \n data-row-index='").concat(o.rowCount+n,"' \n data-col-index='").concat(e,"' \n class='trigger-item ").concat(!0===o.options.columns[e].clickable?"clickable":""," ").concat(o.options.columns[e].classes||"","' \n style='").concat(i,"'\n colspan='").concat(t.colspan||1,"'\n >").concat(t.displayText||o.options.columns[e].linkText||t.value,"</td>\n ");var s=t.value;return!0===o.options.columns[e].showAsImage&&(t.value="\n <img src='".concat(t.value,"'>\n ")),"\n <td \n data-info='".concat(s,"' \n data-row-index='").concat(o.rowCount+n,"' \n data-col-index='").concat(e,"' \n class='").concat(o.options.columns[e].classes||"","' \n style='").concat(i,"'\n colspan='").concat(t.colspan||1,"'\n >").concat(t.value,"</td>\n ")}}).join("")+"</tr>"}).join(""),this.data=this.data.concat(t),this.rowCount=this.data.length),document.getElementById("".concat(this.elementId,"_body")).innerHTML+=e}},{key:"buildSearchIcon",value:function(t){return'\n <div>\n <svg\n class="tableSearchIcon"\n data-field="'.concat(t,'"\n xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"\n >\n <path d="M0 0h24v24H0z" fill="none"/>\n <path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/>\n </svg>\n </div>\n ')}},{key:"handleClick",value:function(t){if(t.target.classList.contains("download-button")&&window.viewManager.dataExportController.exportData(this.options.model),t.target.classList.contains("sortable-column")){var e=+t.target.getAttribute("data-index"),i=this.options.columns[e];this.options.onSort?this.options.onSort(t,i,e):this.internalSort(i,e)}else if(t.target.classList.contains("tableSearchIcon")){var s=t.target.getAttribute("data-field");window.viewManager.views.global.objects[1].instance.show(s,{x:t.pageX,y:t.pageY},function(){t.target.classList.remove("active")})}else if(t.target.classList.contains("clickable")){var n=+t.target.getAttribute("data-col-index"),o=+t.target.getAttribute("data-row-index");this.options.onClick&&this.options.onClick(t,this.data[o][n],this.data[o],this.options.columns[n])}}},{key:"handleMouseMove",value:function(t){this.tooltipTimeoutFn&&(t.target.classList.remove("websy-delayed-info"),clearTimeout(this.tooltipTimeoutFn)),"TD"===t.target.tagName&&(this.tooltipTimeoutFn=setTimeout(function(){t.target.classList.add("websy-delayed-info")},500))}},{key:"handleMouseOut",value:function(t){this.tooltipTimeoutFn&&(t.target.classList.remove("websy-delayed-info"),clearTimeout(this.tooltipTimeoutFn))}},{key:"handleScroll",value:function(t){this.options.onScroll&&this.options.onScroll(t)}},{key:"internalSort",value:function(t,i){if(this.options.columns.forEach(function(t,e){t.activeSort=e===i}),t.sortFunction)this.data=t.sortFunction(this.data,t);else{var s="value",n="asc"===t.sort?"desc":"asc";t.sort=n;var o=t.sortType||"alphanumeric";t.sortProp&&(s=t.sortProp),this.data.sort(function(t,e){switch(o){case"numeric":return"asc"===n?t[i][s]-e[i][s]:e[i][s]-t[i][s];default:return"asc"===n?t[i][s]>e[i][s]?1:-1:t[i][s]<e[i][s]?1:-1}})}this.render(this.data)}},{key:"render",value:function(t){var i=this;if(this.options.columns){if(this.data=[],this.rowCount=0,!(document.getElementById("".concat(this.elementId,"_body")).innerHTML="")===this.options.allowDownload){var e=document.getElementById(this.elementId);e?e.classList.add("allow-download"):e.classList.remove("allow-download")}var s="<tr>"+this.options.columns.map(function(t,e){if(!1!==t.show)return"\n <th ".concat(t.width?'style="width: '+(t.width||"auto")+';"':"",'>\n <div class ="tableHeader">\n <div class="leftSection">\n <div\n class="tableHeaderField ').concat(-1!==["asc","desc"].indexOf(t.sort)?"sortable-column":"",'"\n data-index="').concat(e,'" \n data-sort="').concat(t.sort,'" \n >\n ').concat(t.name,'\n </div>\n </div>\n <div class="').concat(t.activeSort?t.sort+" sortOrder":"",'"></div>\n \x3c!--').concat(!0===t.searchable?i.buildSearchIcon(t.qGroupFieldDefs[0]):"","--\x3e\n </div>\n </th>\n ")}).join("")+"</tr>";document.getElementById("".concat(this.elementId,"_head")).innerHTML=s;var n="<tr>"+this.options.columns.map(function(t,e){if(!1!==t.show)return"\n <th></th>\n "}).join("")+"</tr>";document.getElementById("".concat(this.elementId,"_foot")).innerHTML=n,t&&this.appendRows(t)}}}]),s}(),WebsyChart=function(){function n(t,e){_classCallCheck(this,n);var i={margin:{top:3,left:3,bottom:3,right:3,axisBottom:0,axisLeft:0,axisRight:0,axisTop:0},orientation:"vertical",colors:d3.schemeCategory10,transitionDuration:650,curveStyle:"curveLinear",lineWidth:2,forceZero:!0,fontSize:14,symbolSize:20,dateFormat:"%b/%m/%Y",showTrackingLine:!0,showTooltip:!0,tooltipWidth:200};if(this.elementId=t,this.options=_extends({},i,e),this.leftAxis=null,this.rightAxis=null,this.topAxis=null,this.bottomAxis=null,t){var s=document.getElementById(this.elementId);s?(s.classList.add("websy-chart"),"undefined"==typeof d3?console.error("d3 library has not been loaded"):(s.innerHTML="",this.svg=d3.select(s).append("svg"),this.prep())):console.error("No element found with ID ".concat(this.elementId))}else console.log("No element Id provided for Websy Chart")}return _createClass(n,[{key:"createDomain",value:function(t){var e=[];if(void 0!==this.options.data[t].min&&void 0!==this.options.data[t].max&&(e=[this.options.data[t].min,this.options.data[t].max],!0===this.options.forceZero&&(e=[Math.min(0,this.options.data[t].min),this.options.data[t].max])),this.options.data[t].data&&(e=this.options.data[t].data.map(function(t){return t.value})),"Time"===this.options.data[t].scale){var i=this.options.data[t].data[0].value,s=this.options.data[t].data[this.options.data[t].data.length-1].value;e=[i=this.parseX(i),s=this.parseX(s)]}return e}},{key:"createIdentity",value:function(){for(var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:10,e="",i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",s=0;s<t;s++)e+=i.charAt(Math.floor(Math.random()*i.length));return e}},{key:"handleEventMouseOut",value:function(t,e){this.trackingLineLayer.select(".tracking-line").attr("stroke-opacity",0),this.tooltip.hide()}},{key:"handleEventMouseMove",value:function(r,t){var l=this,c=d3.bisector(function(t){return l.parseX(t.x.value)}).left;if(!0===this.options.showTrackingLine&&d3.pointer(r)){var h,d=d3.pointer(r)[0],e="",p="",u=[];if(this.bottomAxis.invert){d=this.bottomAxis.invert(d),this.options.data.series.forEach(function(t){var e=c(t.data,d,1),i=t.data[e-1],s=t.data[e];if(i&&(h=l.bottomAxis(l.parseX(i.x.value)),p=i.x.value,void 0!==i.x.value.getTime&&(p=d3.timeFormat(l.options.dateFormat)(i.x.value))),i&&s){var n=l.bottomAxis(l.parseX(i.x.value)),o=l.bottomAxis(l.parseX(s.x.value)),a=Math.abs(n-o)/2;d3.pointer(r)[0]-n>=a?(h=o,p=s.x.value,void 0!==s.x.value.getTime&&(p=d3.timeFormat(l.options.dateFormat)(s.x.value)),u.push(s.y)):(h=n,u.push(i.y))}}),e=" \n <ul>\n ",e+=u.map(function(t){return"\n <li>\n <i style='background-color: ".concat(t.color,";'></i>\n ").concat(t.tooltipLabel||"","<span>").concat(t.tooltipValue||t.value,"</span>\n </li>\n ")}).join(""),e+="</ul>";var i={width:this.options.tooltipWidth,left:0,top:0,onLeft:h>this.plotWidth/2};h>this.plotWidth/2?i.left=h-this.options.tooltipWidth-15:i.left=h+this.options.margin.left+this.options.margin.axisLeft+15,i.top=this.options.margin.top+this.options.margin.axisTop,this.tooltip.show(p,e,i)}else h=d;this.trackingLineLayer.select(".tracking-line").attr("x1",h).attr("x2",h).attr("y1",0).attr("y2",this.plotHeight).attr("stroke-width",1).attr("stroke-dasharray","4 2").attr("stroke","#cccccc").attr("stroke-opacity",1)}}},{key:"prep",value:function(){this.leftAxisLayer=this.svg.append("g"),this.rightAxisLayer=this.svg.append("g"),this.bottomAxisLayer=this.svg.append("g"),this.leftAxisLabel=this.svg.append("g"),this.rightAxisLabel=this.svg.append("g"),this.bottomAxisLabel=this.svg.append("g"),this.plotArea=this.svg.append("g"),this.areaLayer=this.svg.append("g"),this.lineLayer=this.svg.append("g"),this.barLayer=this.svg.append("g"),this.labelLayer=this.svg.append("g"),this.symbolLayer=this.svg.append("g"),this.trackingLineLayer=this.svg.append("g"),this.trackingLineLayer.append("line").attr("class","tracking-line"),this.tooltip=new WebsyDesigns.WebsyChartTooltip(this.svg),this.eventLayer=this.svg.append("g").append("rect"),this.eventLayer.on("mouseout",this.handleEventMouseOut.bind(this)).on("mousemove",this.handleEventMouseMove.bind(this)),this.render()}},{key:"render",value:function(t){var i=this;if(void 0!==t&&(this.options=_extends({},this.options,t)),this.options.data){this.transition=d3.transition().duration(this.options.transitionDuration),this.options.data.bottom.scale&&"Time"===this.options.data.bottom.scale?this.parseX=function(t){if(void 0!==t.getTime)return t;d3.timeParse(this.options.timeParseFormat)(t)}:this.parseX=function(t){return t},!0===this.options.disableTransitions&&(this.transition=d3.transition().duration(0)),this.options.data.left||(this.options.data.left={data:[]}),this.options.data.right||(this.options.data.right={data:[]}),this.options.data.bottom||(this.options.data.bottom={data:[]}),"vertical"===this.options.orientation?(this.leftAxisLayer.attr("class","y-axis"),this.rightAxisLayer.attr("class","y-axis"),this.bottomAxisLayer.attr("class","x-axis")):(this.leftAxisLayer.attr("class","x-axis"),this.rightAxisLayer.attr("class","x-axis"),this.bottomAxisLayer.attr("class","y-axis"));var e=document.getElementById(this.elementId);if(e){this.width=e.clientWidth,this.height=e.clientHeight,this.svg.attr("width",this.width).attr("height",this.height),this.longestLeft=0,this.longestRight=0,this.longestBottom=0,this.options.data.bottom&&this.options.data.bottom.data&&void 0===this.options.data.bottom.max&&(this.options.data.bottom.max=this.options.data.bottom.data[this.options.data.bottom.data.length-1].value,this.options.data.bottom.min=this.options.data.bottom.data[0].value),this.options.data.bottom&&void 0!==this.options.data.bottom.max&&(this.longestBottom=this.options.data.bottom.max.toString().length,this.options.data.bottom.formatter&&(this.longestBottom=this.options.data.bottom.formatter(this.options.data.bottom.max).toString().length)),this.options.data.left&&this.options.data.left.data&&"undefined"===this.options.data.left.max&&(this.options.data.left.min=d3.min(this.options.data.left.data),this.options.data.left.max=d3.max(this.options.data.left.data)),!this.options.data.left.max&&this.options.data.left.data&&(this.options.data.left.max=this.options.data.left.data.reduce(function(t,e){return t.length>e.value.length?t:e.value},"")),!this.options.data.left.min&&this.options.data.left.data&&(this.options.data.left.min=this.options.data.left.data.reduce(function(t,e){return t.length<e.value.length?t:e.value},this.options.data.left.max)),this.options.data.left&&void 0!==this.options.data.left.max&&(this.longestLeft=this.options.data.left.max.toString().length,this.options.data.left.formatter&&(this.longestLeft=this.options.data.left.formatter(this.options.data.left.max).toString().length)),this.options.data.right&&this.options.data.right.data&&"undefined"===this.options.data.right.max&&(this.options.data.right.min=d3.min(this.options.data.right.data),this.options.data.right.max=d3.max(this.options.data.right.data)),this.options.data.right&&void 0!==this.options.data.right.max&&(this.longestRight=this.options.data.right.max.toString().length,this.options.data.right.formatter&&(this.longestRight=this.options.data.right.formatter(this.options.data.right.max).toString().length)),this.options.margin.axisLeft=this.longestLeft*(this.options.data.left&&this.options.data.left.fontSize||this.options.fontSize)*.7,this.options.margin.axisRight=this.longestRight*(this.options.data.right&&this.options.data.right.fontSize||this.options.fontSize)*.7,this.options.margin.axisBottom=(this.options.data.bottom&&this.options.data.bottom.fontSize||this.options.fontSize)+10,this.options.margin.axisTop=0,this.options.data.left&&!0===this.options.data.left.showTitle&&(1===this.options.data.left.titlePosition?this.options.margin.axisLeft+=(this.options.data.left.titleFontSize||10)+10:this.options.margin.axisTop+=(this.options.data.left.titleFontSize||10)+10),this.options.data.right&&!0===this.options.data.right.showTitle&&(1===this.options.data.right.titlePosition?this.options.margin.axisRight+=(this.options.data.right.titleFontSize||10)+10:0===this.options.margin.axisTop&&(this.options.margin.axisTop+=(this.options.data.right.titleFontSize||10)+10)),this.options.data.bottom.rotate&&(this.options.margin.axisBottom=this.longestBottom*(this.options.data.bottom&&this.options.data.bottom.fontSize||this.options.fontSize)*.4),this.options.axis&&(!0===this.options.axis.hideAll&&(this.options.margin.axisLeft=0,this.options.margin.axisRight=0,this.options.margin.axisBottom=0),!0===this.options.axis.hideLeft&&(this.options.margin.axisLeft=0),!0===this.options.axis.hideRight&&(this.options.margin.axisRight=0),!0===this.options.axis.hideBottom&&(this.options.margin.axisBottom=0)),this.plotWidth=this.width-this.options.margin.left-this.options.margin.right-this.options.margin.axisLeft-this.options.margin.axisRight,this.plotHeight=this.height-this.options.margin.top-this.options.margin.bottom-this.options.margin.axisBottom-this.options.margin.axisTop,this.leftAxisLayer.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.rightAxisLayer.attr("transform","translate(".concat(this.options.margin.left+this.plotWidth+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.bottomAxisLayer.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop+this.plotHeight,")")),this.leftAxisLabel.attr("transform","translate(".concat(this.options.margin.left,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.rightAxisLabel.attr("transform","translate(".concat(this.options.margin.left+this.plotWidth+this.options.margin.axisLeft+this.options.margin.axisRight,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.bottomAxisLabel.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop+this.plotHeight,")")),this.plotArea.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.areaLayer.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.lineLayer.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.barLayer.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.labelLayer.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.symbolLayer.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.trackingLineLayer.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.eventLayer.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop,")"));this.eventLayer.attr("x",0).attr("y",0).attr("width",this.plotWidth).attr("height",this.plotHeight).attr("fill-opacity","0");var s=this.createDomain("bottom");if(this.bottomAxis=d3["scale".concat(this.options.data.bottom.scale||"Band")]().domain(s).range([0,this.plotWidth]),this.bottomAxis.nice,this.bottomAxis.padding&&this.options.data.bottom.padding&&this.bottomAxis.padding(this.options.data.bottom.padding||0),0<this.options.margin.axisBottom){var n;if(this.options.data.bottom.data)if("Time"===this.options.data.bottom.scale){var o=this.options.data.bottom.max.getTime()-this.options.data.bottom.min.getTime(),a=864e5;n=o<7*a?d3.timeDay.every(1):o<14*a?d3.timeDay.every(2):o<21*a?d3.timeDay.every(3):o<28*a?d3.timeDay.every(4):o<60*a?d3.timeDay.every(7):d3.timeMonth.every(1)}else n=this.options.data.bottom.ticks||Math.min(this.options.data.bottom.data.length,5);else n=this.options.data.bottom.ticks||5;var r=d3.axisBottom(this.bottomAxis).ticks(n);this.options.data.bottom.formatter&&r.tickFormat(function(t){return i.options.data.bottom.formatter(t)}),this.bottomAxisLayer.call(r),this.options.data.bottom.rotate&&this.bottomAxisLayer.selectAll("text").attr("transform","rotate(".concat(this.options.data.bottom.rotate,")")).style("text-anchor","end")}var l=this.createDomain("left"),c=this.createDomain("right");if(this.leftAxis=d3["scale".concat(this.options.data.left.scale||"Linear")]().domain(l).range([this.plotHeight,0]),this.leftAxis.padding&&this.options.data.left.padding&&this.leftAxis.padding(this.options.data.left.padding||0),this.leftAxis.nice&&this.leftAxis.nice(),0<this.options.margin.axisLeft&&this.leftAxisLayer.call(d3.axisLeft(this.leftAxis).ticks(this.options.data.left.ticks||5).tickFormat(function(t){return i.options.data.left.formatter&&(t=i.options.data.left.formatter(t)),t})),this.options.data.left&&!0===this.options.data.left.showTitle)if(this.leftAxisLabel.selectAll(".title").remove(),this.leftAxisLabel.selectAll(".dot").remove(),1===this.options.data.left.titlePosition){var h=this.leftAxisLabel.append("text").attr("class","title").attr("x",1-this.plotHeight/2).attr("y",5).attr("font-size",this.options.data.left.titleFontSize||10).attr("fill",this.options.data.left.titleColor||"#888888").attr("text-anchor","middle").style("transform","rotate(-90deg)").text(this.options.data.left.title||"");0<c.length&&this.leftAxisLabel.append("circle").attr("class","dot").style("fill",this.options.data.left.color||"transparent").attr("r",this.options.data.left.titleFontSize&&this.options.data.left.titleFontSize/2||5).attr("cx",3).attr("cy",this.plotHeight/2-h.node().getBBox().width/2-15)}else this.leftAxisLabel.append("text").attr("class","title").attr("x",0).attr("y",5).attr("font-size",this.options.data.left.titleFontSize||10).attr("fill",this.options.data.left.titleColor||"#888888").attr("text-anchor","left").text(this.options.data.left.title||"");if(0<c.length&&(this.rightAxis=d3["scale".concat(this.options.data.right.scale||"Linear")]().domain(c).range([this.plotHeight,0]),this.rightAxis.nice&&this.rightAxis.nice(),0<this.options.margin.axisRight&&this.rightAxisLayer.call(d3.axisRight(this.rightAxis).ticks(this.options.data.left.ticks||5).tickFormat(function(t){return i.options.data.right.formatter&&(t=i.options.data.right.formatter(t)),t}))),this.options.data.right&&!0===this.options.data.right.showTitle&&(this.rightAxisLabel.selectAll(".title").remove(),1===this.options.data.right.titlePosition)){var d=this.rightAxisLabel.append("text").attr("class","title").attr("x",this.plotHeight/2).attr("y",5).attr("font-size",this.options.data.right.titleFontSize||10).attr("fill",this.options.data.right.titleColor||"#888888").attr("text-anchor","middle").style("transform","rotate(90deg)").text(this.options.data.right.title||"");0<c.length&&this.rightAxisLabel.append("circle").attr("class","dot").style("fill",this.options.data.right.color||"transparent").attr("r",this.options.data.right.titleFontSize&&this.options.data.right.titleFontSize/2||5).attr("cx",-2).attr("cy",this.plotHeight/2-d.node().getBBox().width/2-15)}this.options.data.series.forEach(function(t,e){t.key||(t.key=i.createIdentity()),t.color||(t.color=i.options.colors[e%i.options.colors.length]),i["render".concat(t.type||"bar")](t,e),i.renderLabels(t,e)})}}else;}},{key:"renderarea",value:function(e,t){var s=this,i=function(e,i,t){return d3.area().x(function(t){return s[e](s.parseX(t.x.value))}).y0(function(t){return s[i](0)}).y1(function(t){return s[i](isNaN(t.y.value)?0:t.y.value)}).curve(d3[t||s.options.curveStyle])},n="bottomAxis",o="secondary"===e.axis?"rightAxis":"leftAxis";"horizontal"===this.options.orienation&&(n="secondary"===e.axis?"rightAxis":"leftAxis",o="bottomAxis");var a=this.areaLayer.selectAll(".area_".concat(e.key)).data([e.data]);a.exit().transition(this.transition).style("fill-opacity",1e-6).remove(),a.transition(this.transition).attr("d",function(t){return i(n,o,e.curveStyle)(t)}),a.enter().append("path").attr("d",function(t){return i(n,o,e.curveStyle)(t)}).attr("class","area_".concat(e.key)).attr("id","area_".concat(e.key)).attr("fill",e.color).attr("stroke","transparent").style("fill-opacity",e.opacity||1)}},{key:"renderbar",value:function(e,t){var i="bottomAxis",s="leftAxis",n=this.barLayer.selectAll(".bar_".concat(e.key)).data(e.data);"horizontal"===this.options.orientation&&(i="leftAxis",s="bottomAxis");var o=this[i].bandwidth();function a(t){return"horizontal"===this.options.orientation?o:this[s](t.y.value)}function r(t){return"horizontal"===this.options.orientation?this[s](t.y.value):o}function l(t){return"horizontal"===this.options.orientation?0:this[i](this.parseX(t.x.value))}function c(t){return"horizontal"===this.options.orientation?this[i](this.parseX(t.x.value)):this[s](isNaN(t.y.value)?0:t.y.value)}n.exit().transition(this.transition).style("stroke-opacity",1e-6).remove(),n.attr("width",r.bind(this)).attr("height",a.bind(this)).attr("x",l.bind(this)).attr("y",c.bind(this)).transition(this.transition).attr("fill",e.color),n.enter().append("rect").attr("width",r.bind(this)).attr("height",a.bind(this)).attr("x",l.bind(this)).attr("y",c.bind(this)).attr("fill",e.color).attr("class",function(t){return"bar bar_".concat(e.key)})}},{key:"renderLabels",value:function(t,e){var i="bottomAxis",s="leftAxis",n=this;if("horizontal"===this.options.orientation&&(i="leftAxis",s="bottomAxis"),this.options.showLabels){var o=this.labelLayer.selectAll(".label_".concat(t.key)).data(t.data);o.exit().transition(this.transition).style("stroke-opacity",1e-6).remove(),o.attr("x",a.bind(this)).attr("y",r.bind(this)).attr("class","label_".concat(t.key)).style("font-size","".concat(this.options.labelSize||this.options.fontSize,"px")).transition(this.transition).text(function(t){return t.y.label||t.y.value}),o.enter().append("text").attr("class","label_".concat(t.key)).attr("x",a.bind(this)).attr("y",r.bind(this)).attr("alignment-baseline","central").attr("text-anchor","horizontal"===this.options.orientation?"left":"middle").style("font-size","".concat(this.options.labelSize||this.options.fontSize,"px")).text(function(t){return t.y.label||t.y.value}).each(function(t,e){"horizontal"===n.options.orientation?n.plotWidth-a.call(n,t)<this.getComputedTextLength()&&(this.setAttribute("text-anchor","end"),this.setAttribute("x",+this.getAttribute("x")-8)):n.plotheight-a.call(n,t)<(n.options.labelSize||n.options.fontSize)&&this.setAttribute("y",+this.getAttribute("y")+8)})}function a(t){return"horizontal"===this.options.orientation?this[s](isNaN(t.y.value)?0:t.y.value)+4:this[i](this.parseX(t.x.value))+this[i].bandwidth()/2}function r(t){return"horizontal"===this.options.orientation?this[i](this.parseX(t.x.value))+this[i].bandwidth()/2:this[s](isNaN(t.y.value)?0:t.y.value)-4}}},{key:"renderline",value:function(e,t){var s=this,i=function(e,i,t){return d3.line().x(function(t){return s[e](s.parseX(t.x.value))}).y(function(t){return s[i](isNaN(t.y.value)?0:t.y.value)}).curve(d3[t||s.options.curveStyle])},n="bottomAxis",o="secondary"===e.axis?"rightAxis":"leftAxis";"horizontal"===this.options.orienation&&(n="secondary"===e.axis?"rightAxis":"leftAxis",o="bottomAxis");var a=this.lineLayer.selectAll(".line_".concat(e.key)).data([e.data]);a.exit().transition(this.transition).style("stroke-opacity",1e-6).remove(),a.style("stroke-width",e.lineWidth||this.options.lineWidth).attr("stroke",e.color).attr("fill","transparent").transition(this.transition).attr("d",function(t){return i(n,o,e.curveStyle)(t)}),a.enter().append("path").attr("d",function(t){return i(n,o,e.curveStyle)(t)}).attr("class","line_".concat(e.key)).attr("id","line_".concat(e.key)).style("stroke-width",e.lineWidth||this.options.lineWidth).attr("stroke",e.color).attr("fill","transparent").style("stroke-opacity",1),!0===e.showArea&&this.renderarea(e,t),!0===e.showSymbols&&this.rendersymbol(e,t)}},{key:"rendersymbol",value:function(e,t){var i=this,s=function(t){return d3.symbol().size(t||i.options.symbolSize)},n="bottomAxis",o="secondary"===e.axis?"rightAxis":"leftAxis";"horizontal"===this.options.orienation&&(n="secondary"===e.axis?"rightAxis":"leftAxis",o="bottomAxis");var a=this.symbolLayer.selectAll(".symbol_".concat(e.key)).data(e.data);a.exit().transition(this.transition).style("fill-opacity",1e-6).remove(),a.attr("d",function(t){return s(t.y.size||e.symbolSize)(t)}).transition(this.transition).attr("fill","white").attr("stroke",e.color).attr("transform",function(t){return"translate(".concat(i[n](i.parseX(t.x.value)),", ").concat(i[o](isNaN(t.y.value)?0:t.y.value),")")}),a.enter().append("path").attr("d",function(t){return s(t.y.size||e.symbolSize)(t)}).attr("fill","white").attr("stroke",e.color).attr("class",function(t){return"symbol symbol_".concat(e.key)}).attr("transform",function(t){return"translate(".concat(i[n](i.parseX(t.x.value)),", ").concat(i[o](isNaN(t.y.value)?0:t.y.value),")")})}},{key:"resize",value:function(){var t=document.getElementById(this.elementId);t&&(this.width=t.clientWidth,this.height=t.clientHeight,this.svg.attr("width",this.width).attr("height",this.height),this.plotWidth=this.width-this.options.margin.left-this.options.margin.right-this.options.margin.axisLeft-this.options.margin.axisRight,this.plotHeight=this.height-this.options.margin.top-this.options.margin.bottom-this.options.margin.axisBottom-this.options.margin.axisTop,this.longestRight=5,this.longestBottom=5,this.options.margin.axisLeft=this.longestLeft*(this.options.data.left&&this.options.data.left.fontSize||this.options.fontSize)*.7,this.options.margin.axisRight=this.longestRight*(this.options.data.right&&this.options.data.right.fontSize||this.options.fontSize)*.7,this.options.margin.axisBottom=(this.options.data.bottom&&this.options.data.bottom.fontSize||this.options.fontSize)+10,this.options.data.bottom.rotate&&(this.options.margin.axisBottom=this.longestBottom*(this.options.data.bottom&&this.options.data.bottom.fontSize||this.options.fontSize)*.4),this.options.axis&&(!0===this.options.axis.hideAll&&(this.options.margin.axisLeft=0,this.options.margin.axisRight=0,this.options.margin.axisBottom=0),!0===this.options.axis.hideLeft&&(this.options.margin.axisLeft=0),!0===this.options.axis.hideRight&&(this.options.margin.axisRight=0),!0===this.options.axis.hideBottom&&(this.options.margin.axisBottom=0)),this.leftAxisLayer.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.rightAxisLayer.attr("transform","translate(".concat(this.options.margin.left+this.plotWidth+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.bottomAxisLayer.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop+this.plotHeight,")")),this.leftAxisLabel.attr("transform","translate(".concat(this.options.margin.left,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.rightAxisLabel.attr("transform","translate(".concat(this.options.margin.left+this.plotWidth+this.options.margin.axisLeft+this.options.margin.axisRight,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.bottomAxisLabel.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop+this.plotHeight,")")),this.plotArea.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.areaLayer.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.lineLayer.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.barLayer.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.labelLayer.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.symbolLayer.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.trackingLineLayer.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")),this.eventLayer.attr("transform","translate(".concat(this.options.margin.left+this.options.margin.axisLeft,", ").concat(this.options.margin.top+this.options.margin.axisTop,")")))}},{key:"data",set:function(t){this.options.data=t,this.render()}}]),n}(),WebsyKPI=function(){function i(t,e){_classCallCheck(this,i);this.elementId=t,this.options=_extends({},{tooltip:{},label:{},value:{},subValue:{}},e)}return _createClass(i,[{key:"render",value:function(t){this.options=_extends({},this.options,t),this.options.label.classes||(this.options.label.classes=[]),this.options.value.classes||(this.options.value.classes=[]),this.options.subValue.classes||(this.options.subValue.classes=[]),this.options.tooltip.classes||(this.options.tooltip.classes=[]),this.resize()}},{key:"resize",value:function(){var t=document.getElementById(this.elementId);if(t){var e='\n <div class="websy-kpi-container">\n ';this.options.icon&&(e+='\n <div class="websy-kpi-icon"><img src="'.concat(this.options.icon,'"></div> \n ')),e+=' \n <div class="websy-kpi-info">\n <div class="websy-kpi-label '.concat(this.options.label.classes.join(" ")||"",'">\n ').concat(this.options.label.value||"","\n "),this.options.tooltip&&this.options.tooltip.value&&(e+='\n <div class="websy-info '.concat(this.options.tooltip.classes.join(" ")||"",'" data-info="').concat(this.options.tooltip.value,'">\n <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 512 512"><title>ionicons-v5-e</title><path d="M256,56C145.72,56,56,145.72,56,256s89.72,200,200,200,200-89.72,200-200S366.28,56,256,56Zm0,82a26,26,0,1,1-26,26A26,26,0,0,1,256,138Zm48,226H216a16,16,0,0,1,0-32h28V244H228a16,16,0,0,1,0-32h32a16,16,0,0,1,16,16V332h28a16,16,0,0,1,0,32Z"/></svg>\n </div> \n ')),e+='\n </div>\n <div class="websy-kpi-value '.concat(this.options.value.classes.join(" ")||"",'">').concat(this.options.value.value,"</div>\n "),this.options.subValue&&(e+='\n <div class="websy-kpi-sub-value '.concat(this.options.subValue.classes.join(" ")||"",'">').concat(this.options.subValue.value,"</div>\n ")),e+=" \n </div>\n </div>\n ",t.innerHTML=e}}}]),i}(),WebsyMap=function(){function n(t,e){_classCallCheck(this,n);if(this.elementId=t,this.options=_extends({},{tileUrl:"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",disablePan:!1,disableZoom:!1,markerSize:10,useClustering:!1,maxMarkerSize:50,minMarkerSize:20},e),t){var i={click:this.handleMapClick.bind(this)};!0===this.options.disableZoom&&(i.scrollWheelZoom=!1,i.zoomControl=!1),!0===this.options.disablePan&&(i.dragging=!1);var s=document.getElementById(this.elementId);s&&("undefined"==typeof d3&&console.error("d3 library has not been loaded"),"undefined"==typeof L&&console.error("Leaflet library has not been loaded"),s.addEventListener("click",this.handleClick.bind(this)),this.map=L.map(this.elementId,i),this.render())}else console.log("No element Id provided for Websy Map")}return _createClass(n,[{key:"handleClick",value:function(t){}},{key:"handleMapClick",value:function(t){}},{key:"render",value:function(){var s=this,t=document.getElementById("".concat(this.options.elementId,"_map"));L.tileLayer(this.options.tileUrl,{attribution:'Map data © <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'}).addTo(this.map);if(this.geo&&this.map.removeLayer(this.geo),this.options.geoJSON&&(this.geo=L.geoJSON(this.options.geoJSON,{style:function(t){return{color:t.color||"#ffffff",colorOpacity:t.colorOpacity||1,fillColor:t.fillColor||"#e6463c",fillOpacity:t.fillOpacity||0,weight:t.weight||1}},onEachFeature:function(t,e){e.bindTooltip(t.tooltip,{permanent:!0,direction:"center",className:t.tooltipClass||"websy-polygon-tooltip"})}}).addTo(this.map)),this.markers=[],this.cluster&&this.map.removeLayer(this.cluster),this.data=[],this.data.forEach(function(t){if(0!==t.Latitude.qNum&&0!==t.Longitude.qNum){var e={};!0===s.options.simpleMarker&&(e.icon=L.divIcon({className:"simple-marker"})),s.options.markerUrl&&(e.icon=L.icon({iconUrl:s.options.markerUrl})),e.data=t;var i=L.marker([t.Latitude.qText,t.Longitude.qText],e);i.on("click",s.handleMapClick.bind(s)),!1===s.options.useClustering&&i.addTo(s.map),s.markers.push(i),!0===s.options.useClustering&&s.cluster.addLayer(i)}}),0<this.data.length){t.classList.remove("hidden"),!0===this.options.useClustering&&this.map.addLayer(this.cluster);var e=L.featureGroup(this.markers);this.map.fitBounds(e.getBounds()),this.map.invalidateSize()}else this.geo?this.map.fitBounds(this.geo.getBounds()):this.options.center&&this.map.setView(this.options.center,this.options.zoom||null)}}]),n}(),WebsyChartTooltip=function(){function e(t){_classCallCheck(this,e),this.svg="string"==typeof t?document.getElementById(t):t,this.tooltipLayer=this.svg.append("g").attr("class","tooltip-layer"),this.tooltipContent=this.tooltipLayer.append("foreignObject").attr("class","websy-chart-tooltip").append("xhtml:div").attr("class","websy-chart-tooltip-content")}return _createClass(e,[{key:"hide",value:function(){this.tooltipContent.classed("active",!1)}},{key:"setHeight",value:function(t){this.tooltipLayer.select("foreignObject").style("height",t)}},{key:"show",value:function(t,e){var i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{top:0,left:0,width:0,height:0,onLeft:!1},s=this.tooltipLayer.selectAll("foreignObject").attr("width","".concat(i.width,"px")).attr("y","0px").classed("left",i.onLeft);this.tooltipContent.classed("active",!0).style("width","".concat(i.width,"px")).style("top","0px").html("<div class='title'>".concat(t,"</div>").concat(e)),-1===navigator.userAgent.indexOf("Chrome")&&-1!==navigator.userAgent.indexOf("Safari")?(s.attr("x","0px"),this.tooltipContent.style("left","".concat(i.top,"px")).style("top","".concat(i.top,"px"))):(s.attr("x","".concat(i.left,"px")),this.tooltipContent.style("left","0px"))}},{key:"transform",value:function(t,e){this.tooltipLayer.attr("transform","translate(".concat(t,", ").concat(e,")"))}}]),e}(),WebsyUtils={createIdentity:function(){for(var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:6,e="",i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",s=0;s<t;s++)e+=i.charAt(Math.floor(Math.random()*i.length));return e},getElementPos:function(t){var e=t.getBoundingClientRect(),i=window.pageXOffset||document.documentElement.scrollLeft,s=window.pageYOffset||document.documentElement.scrollTop;return{top:e.top+s,left:e.left+i,bottom:e.top+s+t.clientHeight,right:e.left+i+t.clientWidth}}},WebsyDesigns={WebsyPopupDialog:WebsyPopupDialog,WebsyLoadingDialog:WebsyLoadingDialog,WebsyNavigationMenu:WebsyNavigationMenu,WebsyForm:WebsyForm,WebsyDatePicker:WebsyDatePicker,WebsyDropdown:WebsyDropdown,WebsyResultList:WebsyResultList,WebsyTemplate:WebsyTemplate,WebsyPubSub:WebsyPubSub,WebsyRouter:WebsyRouter,WebsyTable:WebsyTable,WebsyChart:WebsyChart,WebsyChartTooltip:WebsyChartTooltip,WebsyMap:WebsyMap,WebsyKPI:WebsyKPI,WebsyPDFButton:WebsyPDFButton,PDFButton:WebsyPDFButton,APIService:APIService,WebsyUtils:WebsyUtils},GlobalPubSub=new WebsyPubSub("empty",{});function recaptchaReadyCallBack(){GlobalPubSub.publish("recaptchaready")}function useGoogleRecaptcha(){var t=document.createElement("script");t.src="//www.google.com/recaptcha/api.js?onload=recaptchaReadyCallBack",document.getElementsByTagName("body")[0].appendChild(t)}function usePayPal(){var t=document.createElement("script");t.src="//www.paypal.com/sdk/js",document.getElementsByTagName("body")[0].appendChild(t)}
|