www_archline_hu/cadline/docroot/iskolak/public/js/gijgo.min.js
LÁZÁR Imre AI Agent 82dd7d89d8 feat(cadline): add Cadline docroot apps + root PHPs
Docroot sub-apps beiratkozas/, iskolak/, phpext/; root PHPs crashadmin.php, crm_hardlock.class.php, login-external.php, tips.php, recaptchalib.php, configuration.php (74-byte MightySites multi-site stub, legit). public/ excluded (user data, ~219k files).

Signed-off-by: LÁZÁR Imre <imre@illusion.hu>
Assisted-by: claude-code@claude-opus-4-8
2026-07-16 11:34:31 +02:00

8 lines
174 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* Gijgo JavaScript Library v1.9.13
* http://gijgo.com/
*
* Copyright 2014, 2019 gijgo.com
* Released under the MIT license
*/
var gj={widget:function(){this.xhr=null,this.generateGUID=function(){function e(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return e()+e()+"-"+e()+"-"+e()+"-"+e()+"-"+e()+e()+e()},this.mouseX=function(e){if(e){if(e.pageX)return e.pageX;if(e.clientX)return e.clientX+(document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft);if(e.touches&&e.touches.length)return e.touches[0].pageX;if(e.changedTouches&&e.changedTouches.length)return e.changedTouches[0].pageX;if(e.originalEvent&&e.originalEvent.touches&&e.originalEvent.touches.length)return e.originalEvent.touches[0].pageX;if(e.originalEvent&&e.originalEvent.changedTouches&&e.originalEvent.changedTouches.length)return e.originalEvent.touches[0].pageX}return null},this.mouseY=function(e){if(e){if(e.pageY)return e.pageY;if(e.clientY)return e.clientY+(document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop);if(e.touches&&e.touches.length)return e.touches[0].pageY;if(e.changedTouches&&e.changedTouches.length)return e.changedTouches[0].pageY;if(e.originalEvent&&e.originalEvent.touches&&e.originalEvent.touches.length)return e.originalEvent.touches[0].pageY;if(e.originalEvent&&e.originalEvent.changedTouches&&e.originalEvent.changedTouches.length)return e.originalEvent.touches[0].pageY}return null}}};gj.widget.prototype.init=function(e,t){var r,a,i;for(r in this.attr("data-type",t),a=$.extend(!0,{},this.getHTMLConfig()||{}),$.extend(!0,a,e||{}),i=this.getConfig(a,t),this.attr("data-guid",i.guid),this.data(i),i)gj[t].events.hasOwnProperty(r)&&(this.on(r,i[r]),delete i[r]);for(plugin in gj[t].plugins)gj[t].plugins.hasOwnProperty(plugin)&&gj[t].plugins[plugin].configure(this,i,a);return this},gj.widget.prototype.getConfig=function(e,t){var r,a,i,o;for(o in r=$.extend(!0,{},gj[t].config.base),a=e.hasOwnProperty("uiLibrary")?e.uiLibrary:r.uiLibrary,gj[t].config[a]&&$.extend(!0,r,gj[t].config[a]),i=e.hasOwnProperty("iconsLibrary")?e.iconsLibrary:r.iconsLibrary,gj[t].config[i]&&$.extend(!0,r,gj[t].config[i]),gj[t].plugins)gj[t].plugins.hasOwnProperty(o)&&($.extend(!0,r,gj[t].plugins[o].config.base),gj[t].plugins[o].config[a]&&$.extend(!0,r,gj[t].plugins[o].config[a]),gj[t].plugins[o].config[i]&&$.extend(!0,r,gj[t].plugins[o].config[i]));return $.extend(!0,r,e),r.guid||(r.guid=this.generateGUID()),r},gj.widget.prototype.getHTMLConfig=function(){var e=this.data(),t=this[0].attributes;return t.width&&(e.width=t.width.value),t.height&&(e.height=t.height.value),t.value&&(e.value=t.value.value),t.align&&(e.align=t.align.value),e&&e.source&&(e.dataSource=e.source,delete e.source),e},gj.widget.prototype.createDoneHandler=function(){var e=this;return function(t){"string"==typeof t&&JSON&&(t=JSON.parse(t)),gj[e.data("type")].methods.render(e,t)}},gj.widget.prototype.createErrorHandler=function(){return function(e){e&&e.statusText&&"abort"!==e.statusText&&alert(e.statusText)}},gj.widget.prototype.reload=function(e){var t,r,a=this.data(),i=this.data("type");return void 0===a.dataSource&&gj[i].methods.useHtmlDataSource(this,a),$.extend(a.params,e),$.isArray(a.dataSource)?(r=gj[i].methods.filter(this),gj[i].methods.render(this,r)):"string"==typeof a.dataSource?(t={url:a.dataSource,data:a.params},this.xhr&&this.xhr.abort(),this.xhr=$.ajax(t).done(this.createDoneHandler()).fail(this.createErrorHandler())):"object"==typeof a.dataSource&&(a.dataSource.data||(a.dataSource.data={}),$.extend(a.dataSource.data,a.params),"json"===(t=$.extend(!0,{},a.dataSource)).dataType&&"object"==typeof t.data&&(t.data=JSON.stringify(t.data)),t.success||(t.success=this.createDoneHandler()),t.error||(t.error=this.createErrorHandler()),this.xhr&&this.xhr.abort(),this.xhr=$.ajax(t)),this},gj.documentManager={events:{},subscribeForEvent:function(e,t,r){if(gj.documentManager.events[e]&&0!==gj.documentManager.events[e].length){if(gj.documentManager.events[e][t])throw"Event "+e+' for widget with guid="'+t+'" is already attached.';gj.documentManager.events[e].push({widgetId:t,callback:r})}else gj.documentManager.events[e]=[{widgetId:t,callback:r}],$(document).on(e,gj.documentManager.executeCallbacks)},executeCallbacks:function(e){var t=gj.documentManager.events[e.type];if(t)for(var r=0;r<t.length;r++)t[r].callback(e)},unsubscribeForEvent:function(e,t){var r=!1,a=gj.documentManager.events[e];if(a)for(var i=0;i<a.length;i++)a[i].widgetId===t&&(a.splice(i,1),r=!0,0===a.length&&($(document).off(e),delete gj.documentManager.events[e]));if(!r)throw'The "'+e+'" for widget with guid="'+t+"\" can't be removed."}},gj.core={messages:{"en-us":{monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthShortNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekDaysMin:["S","M","T","W","T","F","S"],weekDaysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],weekDays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],am:"AM",pm:"PM",ok:"Ok",cancel:"Cancel",titleFormat:"mmmm yyyy"},"hu-hu":{monthNames:["Január","Február","Március","Április","Május","Június","Július","Augusztus","Szeptember","Október","November","December"],monthShortNames:["Jan","Feb","Márc","Ápr","Máj","Jún","Júl","Aug","Szept","Okt","Nov","Dec"],weekDaysMin:["V","H","K","Sze","Cs","P","Szo"],weekDaysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],weekDays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],am:"AM",pm:"PM",ok:"Ok",cancel:"Cancel",titleFormat:"mmmm yyyy"}},parseDate:function(e,t,r){var a,i,o,n,d=0,s=0,l=1,c=0,g=0;if(e&&"string"==typeof e){if(/^\d+$/.test(e))n=new Date(e);else if(e.indexOf("/Date(")>-1)n=new Date(parseInt(e.substr(6),10));else if(e){for(o=t.split(/[\s,-\.\/\/\:]+/),(i=e.split(/[\s]+/)).length!=o.length&&(i=e.split(/[\s,-\.\/\/\:]+/)),a=0;a<o.length;a++)["d","dd"].indexOf(o[a])>-1?l=parseInt(i[a],10):["m","mm"].indexOf(o[a])>-1?s=parseInt(i[a],10)-1:"mmm"===o[a]?s=gj.core.messages[r||"en-us"].monthShortNames.indexOf(i[a]):"mmmm"===o[a]?s=gj.core.messages[r||"en-us"].monthNames.indexOf(i[a]):["yy","yyyy"].indexOf(o[a])>-1?(d=parseInt(i[a],10),"yy"===o[a]&&(d+=2e3)):["h","hh","H","HH"].indexOf(o[a])>-1?c=parseInt(i[a],10):["M","MM"].indexOf(o[a])>-1&&(g=parseInt(i[a],10));n=new Date(d,s,l,c,g)}}else"number"==typeof e?n=new Date(e):e instanceof Date&&(n=e);return n},formatDate:function(e,t,r){var a,o,n="",d=t.split(/[\s,-\.\/\/\:]+/),s=t.split(/s+|M+|H+|h+|t+|T+|d+|m+|y+/);for(s=s.splice(1,s.length-2),i=0;i<d.length;i++)switch(a=s[i]||"",d[i]){case"s":n+=e.getSeconds()+a;break;case"ss":n+=gj.core.pad(e.getSeconds())+a;break;case"M":n+=e.getMinutes()+a;break;case"MM":n+=gj.core.pad(e.getMinutes())+a;break;case"H":n+=e.getHours()+a;break;case"HH":n+=gj.core.pad(e.getHours())+a;break;case"h":n+=(o=e.getHours()>12?e.getHours()%12:e.getHours())+a;break;case"hh":o=e.getHours()>12?e.getHours()%12:e.getHours(),n+=gj.core.pad(o)+a;break;case"tt":n+=(e.getHours()>=12?"pm":"am")+a;break;case"TT":n+=(e.getHours()>=12?"PM":"AM")+a;break;case"d":n+=e.getDate()+a;break;case"dd":n+=gj.core.pad(e.getDate())+a;break;case"ddd":n+=gj.core.messages[r||"en-us"].weekDaysShort[e.getDay()]+a;break;case"dddd":n+=gj.core.messages[r||"en-us"].weekDays[e.getDay()]+a;break;case"m":n+=e.getMonth()+1+a;break;case"mm":n+=gj.core.pad(e.getMonth()+1)+a;break;case"mmm":n+=gj.core.messages[r||"en-us"].monthShortNames[e.getMonth()]+a;break;case"mmmm":n+=gj.core.messages[r||"en-us"].monthNames[e.getMonth()]+a;break;case"yy":n+=e.getFullYear().toString().substr(2)+a;break;case"yyyy":n+=e.getFullYear()+a}return n},pad:function(e,t){for(e=String(e),t=t||2;e.length<t;)e="0"+e;return e},center:function(e){var t=$(window).width()/2-e.width()/2,r=$(window).height()/2-e.height()/2;e.css("position","absolute"),e.css("left",t>0?t:0),e.css("top",r>0?r:0)},isIE:function(){return!!navigator.userAgent.match(/Trident/g)||!!navigator.userAgent.match(/MSIE/g)},setChildPosition:function(e,t){var r=e.getBoundingClientRect(),a=gj.core.height(e,!0),i=gj.core.height(t,!0),o=gj.core.width(e,!0),n=gj.core.width(t,!0),d=window.scrollY||window.pageYOffset||0,s=window.scrollX||window.pageXOffset||0;r.top+a+i>window.innerHeight&&r.top>i?t.style.top=Math.round(r.top+d-i-3)+"px":t.style.top=Math.round(r.top+d+a+3)+"px",r.left+n>document.body.clientWidth?t.style.left=Math.round(r.left+s+o-n)+"px":t.style.left=Math.round(r.left+s)+"px"},height:function(e,t){var r,a=window.getComputedStyle(e);return"border-box"===a.boxSizing?(r=parseInt(a.height,10),gj.core.isIE()&&(r+=parseInt(a.paddingTop||0,10)+parseInt(a.paddingBottom||0,10),r+=parseInt(a.borderTopWidth||0,10)+parseInt(a.borderBottomWidth||0,10))):(r=parseInt(a.height,10),r+=parseInt(a.paddingTop||0,10)+parseInt(a.paddingBottom||0,10),r+=parseInt(a.borderTopWidth||0,10)+parseInt(a.borderBottomWidth||0,10)),t&&(r+=parseInt(a.marginTop||0,10)+parseInt(a.marginBottom||0,10)),r},width:function(e,t){var r,a=window.getComputedStyle(e);return"border-box"===a.boxSizing?r=parseInt(a.width,10):(r=parseInt(a.width,10),r+=parseInt(a.paddingLeft||0,10)+parseInt(a.paddingRight||0,10),r+=parseInt(a.borderLeftWidth||0,10)+parseInt(a.borderRightWidth||0,10)),t&&(r+=parseInt(a.marginLeft||0,10)+parseInt(a.marginRight||0,10)),r},addClasses:function(e,t){var r,a;if(t)for(a=t.split(" "),r=0;r<a.length;r++)e.classList.add(a[r])},position:function(e){for(var t,r,a=0,i=0,o=gj.core.height(e),n=gj.core.width(e);e;)"BODY"==e.tagName?(t=e.scrollLeft||document.documentElement.scrollLeft,r=e.scrollTop||document.documentElement.scrollTop,a+=e.offsetLeft-t,i+=e.offsetTop-r):(a+=e.offsetLeft-e.scrollLeft,i+=e.offsetTop-e.scrollTop),e=e.offsetParent;return{top:i,left:a,bottom:i+o,right:a+n}},setCaretAtEnd:function(e){var t;if(e)if(t=e.value.length,document.selection){e.focus();var r=document.selection.createRange();r.moveStart("character",-t),r.moveStart("character",t),r.moveEnd("character",0),r.select()}else(e.selectionStart||"0"==e.selectionStart)&&(e.selectionStart=t,e.selectionEnd=t,e.focus())},getScrollParent:function(e){return null==e?null:e.scrollHeight>e.clientHeight?e:gj.core.getScrollParent(e.parentNode)}},gj.picker={messages:{"en-us":{}}},gj.picker.methods={initialize:function(e,t,r){var a,i=r.createPicker(e,t),o=e.parent('div[role="wrapper"]');(a="bootstrap"===t.uiLibrary?$('<span class="input-group-addon">'+t.icons.rightIcon+"</span>"):"bootstrap4"===t.uiLibrary?$('<span class="input-group-append"><button class="btn btn-outline-secondary border-left-0" type="button">'+t.icons.rightIcon+"</button></span>"):$(t.icons.rightIcon)).attr("role","right-icon"),0===o.length?(o=$('<div role="wrapper" />').addClass(t.style.wrapper),e.wrap(o)):o.addClass(t.style.wrapper),o=e.parent('div[role="wrapper"]'),t.width&&o.css("width",t.width),e.val(t.value).addClass(t.style.input).attr("role","input"),t.fontSize&&e.css("font-size",t.fontSize),"bootstrap"===t.uiLibrary||"bootstrap4"===t.uiLibrary?"small"===t.size?(o.addClass("input-group-sm"),e.addClass("form-control-sm")):"large"===t.size&&(o.addClass("input-group-lg"),e.addClass("form-control-lg")):"small"===t.size?o.addClass("small"):"large"===t.size&&o.addClass("large"),a.on("click",function(t){i.is(":visible")?e.close():e.open()}),o.append(a),!0!==t.footer&&(e.on("blur",function(){e.timeout=setTimeout(function(){e.close()},500)}),i.mousedown(function(){return clearTimeout(e.timeout),e.focus(),!1}),i.on("click",function(){clearTimeout(e.timeout),e.focus()}))}},gj.picker.widget=function(e,t){var r=gj.picker.methods;return this.destroy=function(){return r.destroy(this)},e},gj.picker.widget.prototype=new gj.widget,gj.picker.widget.constructor=gj.picker.widget,gj.picker.widget.prototype.init=function(e,t,r){return gj.widget.prototype.init.call(this,e,t),this.attr("data-"+t,"true"),gj.picker.methods.initialize(this,this.data(),gj[t].methods),this},gj.picker.widget.prototype.open=function(e){var t=this.data(),r=$("body").find('[role="picker"][guid="'+this.attr("data-guid")+'"]');return r.show(),r.closest('div[role="modal"]').show(),t.modal?gj.core.center(r):(gj.core.setChildPosition(this[0],r[0]),this.focus()),clearTimeout(this.timeout),gj[e].events.open(this),this},gj.picker.widget.prototype.close=function(e){var t=$("body").find('[role="picker"][guid="'+this.attr("data-guid")+'"]');return t.hide(),t.closest('div[role="modal"]').hide(),gj[e].events.close(this),this},gj.picker.widget.prototype.destroy=function(e){var t=this.data(),r=this.parent(),a=$("body").find('[role="picker"][guid="'+this.attr("data-guid")+'"]');return t&&(this.off(),a.parent('[role="modal"]').length>0&&a.unwrap(),a.remove(),this.removeData(),this.removeAttr("data-type").removeAttr("data-guid").removeAttr("data-"+e),this.removeClass(),r.children('[role="right-icon"]').remove(),this.unwrap()),this},gj.dialog={plugins:{},messages:{}},gj.dialog.config={base:{autoOpen:!0,closeButtonInHeader:!0,closeOnEscape:!0,draggable:!0,height:"auto",locale:"en-us",maxHeight:void 0,maxWidth:void 0,minHeight:void 0,minWidth:void 0,modal:!1,resizable:!1,scrollable:!1,title:void 0,uiLibrary:void 0,width:300,style:{modal:"gj-modal",content:"gj-dialog-md",header:"gj-dialog-md-header gj-unselectable",headerTitle:"gj-dialog-md-title",headerCloseButton:"gj-dialog-md-close",body:"gj-dialog-md-body",footer:"gj-dialog-footer gj-dialog-md-footer"}},bootstrap:{style:{modal:"modal",content:"modal-content gj-dialog-bootstrap",header:"modal-header",headerTitle:"modal-title",headerCloseButton:"close",body:"modal-body",footer:"gj-dialog-footer modal-footer"}},bootstrap4:{style:{modal:"modal",content:"modal-content gj-dialog-bootstrap4",header:"modal-header",headerTitle:"modal-title",headerCloseButton:"close",body:"modal-body",footer:"gj-dialog-footer modal-footer"}}},gj.dialog.events={initialized:function(e){e.trigger("initialized")},opening:function(e){e.trigger("opening")},opened:function(e){e.trigger("opened")},closing:function(e){e.trigger("closing")},closed:function(e){e.trigger("closed")},drag:function(e){e.trigger("drag")},dragStart:function(e){e.trigger("dragStart")},dragStop:function(e){e.trigger("dragStop")},resize:function(e){e.trigger("resize")},resizeStart:function(e){e.trigger("resizeStart")},resizeStop:function(e){e.trigger("resizeStop")}},gj.dialog.methods={init:function(e){return gj.widget.prototype.init.call(this,e,"dialog"),gj.dialog.methods.localization(this),gj.dialog.methods.initialize(this),gj.dialog.events.initialized(this),this},localization:function(e){var t=e.data();void 0===t.title&&(t.title=gj.dialog.messages[t.locale].DefaultTitle)},getHTMLConfig:function(){var e=gj.widget.prototype.getHTMLConfig.call(this),t=this[0].attributes;return t.title&&(e.title=t.title.value),e},initialize:function(e){var t,r,a,i=e.data();e.addClass(i.style.content),gj.dialog.methods.setSize(e),i.closeOnEscape&&$(document).keyup(function(t){27===t.keyCode&&e.close()}),0===(r=e.children('div[data-role="body"]')).length?(r=$('<div data-role="body"/>').addClass(i.style.body),e.wrapInner(r)):r.addClass(i.style.body),t=gj.dialog.methods.renderHeader(e),a=e.children('div[data-role="footer"]').addClass(i.style.footer),e.find('[data-role="close"]').on("click",function(){e.close()}),gj.draggable&&(i.draggable&&gj.dialog.methods.draggable(e,t),i.resizable&&gj.dialog.methods.resizable(e)),i.scrollable&&i.height&&(e.addClass("gj-dialog-scrollable"),e.on("opened",function(){e.children('div[data-role="body"]').css("height",i.height-t.outerHeight()-(a.length?a.outerHeight():0))})),gj.core.center(e),i.modal&&e.wrapAll('<div data-role="modal" class="'+i.style.modal+'"/>'),i.autoOpen&&e.open()},setSize:function(e){var t=e.data();t.width&&e.css("width",t.width),t.height&&e.css("height",t.height)},renderHeader:function(e){var t,r,a,i=e.data();return 0===(t=e.children('div[data-role="header"]')).length&&(t=$('<div data-role="header" />'),e.prepend(t)),t.addClass(i.style.header),0===(r=t.find('[data-role="title"]')).length&&(r=$('<h4 data-role="title">'+i.title+"</h4>"),t.append(r)),r.addClass(i.style.headerTitle),0===(a=t.find('[data-role="close"]')).length&&i.closeButtonInHeader?((a=$('<button type="button" data-role="close" title="'+gj.dialog.messages[i.locale].Close+'"><span>×</span></button>')).addClass(i.style.headerCloseButton),t.append(a)):a.length>0&&!1===i.closeButtonInHeader?a.hide():a.addClass(i.style.headerCloseButton),t},draggable:function(e,t){e.appendTo("body"),t.addClass("gj-draggable"),e.draggable({handle:t,start:function(){e.addClass("gj-unselectable"),gj.dialog.events.dragStart(e)},stop:function(){e.removeClass("gj-unselectable"),gj.dialog.events.dragStop(e)}})},resizable:function(e){var t={drag:gj.dialog.methods.resize,start:function(){e.addClass("gj-unselectable"),gj.dialog.events.resizeStart(e)},stop:function(){this.removeAttribute("style"),e.removeClass("gj-unselectable"),gj.dialog.events.resizeStop(e)}};e.append($('<div class="gj-resizable-handle gj-resizable-n"></div>').draggable($.extend(!0,{horizontal:!1},t))),e.append($('<div class="gj-resizable-handle gj-resizable-e"></div>').draggable($.extend(!0,{vertical:!1},t))),e.append($('<div class="gj-resizable-handle gj-resizable-s"></div>').draggable($.extend(!0,{horizontal:!1},t))),e.append($('<div class="gj-resizable-handle gj-resizable-w"></div>').draggable($.extend(!0,{vertical:!1},t))),e.append($('<div class="gj-resizable-handle gj-resizable-ne"></div>').draggable($.extend(!0,{},t))),e.append($('<div class="gj-resizable-handle gj-resizable-nw"></div>').draggable($.extend(!0,{},t))),e.append($('<div class="gj-resizable-handle gj-resizable-sw"></div>').draggable($.extend(!0,{},t))),e.append($('<div class="gj-resizable-handle gj-resizable-se"></div>').draggable($.extend(!0,{},t)))},resize:function(e,t){var r,a,i,o,n,d,s,l,c=!1;return a=(r=$(this)).parent(),i=gj.core.position(this),offset={top:t.top-i.top,left:t.left-i.left},o=a.data(),r.hasClass("gj-resizable-n")?(n=a.height()-offset.top,s=a.offset().top+offset.top):r.hasClass("gj-resizable-e")?d=a.width()+offset.left:r.hasClass("gj-resizable-s")?n=a.height()+offset.top:r.hasClass("gj-resizable-w")?(d=a.width()-offset.left,l=a.offset().left+offset.left):r.hasClass("gj-resizable-ne")?(n=a.height()-offset.top,s=a.offset().top+offset.top,d=a.width()+offset.left):r.hasClass("gj-resizable-nw")?(n=a.height()-offset.top,s=a.offset().top+offset.top,d=a.width()-offset.left,l=a.offset().left+offset.left):r.hasClass("gj-resizable-se")?(n=a.height()+offset.top,d=a.width()+offset.left):r.hasClass("gj-resizable-sw")&&(n=a.height()+offset.top,d=a.width()-offset.left,l=a.offset().left+offset.left),n&&(!o.minHeight||n>=o.minHeight)&&(!o.maxHeight||n<=o.maxHeight)&&(a.height(n),s&&a.css("top",s),c=!0),d&&(!o.minWidth||d>=o.minWidth)&&(!o.maxWidth||d<=o.maxWidth)&&(a.width(d),l&&a.css("left",l),c=!0),c&&gj.dialog.events.resize(a),c},open:function(e,t){var r;return gj.dialog.events.opening(e),e.css("display","block"),e.closest('div[data-role="modal"]').css("display","block"),(r=e.children('div[data-role="footer"]')).length&&r.outerHeight()&&e.children('div[data-role="body"]').css("margin-bottom",r.outerHeight()),void 0!==t&&e.find('[data-role="title"]').html(t),gj.dialog.events.opened(e),e},close:function(e){return e.is(":visible")&&(gj.dialog.events.closing(e),e.css("display","none"),e.closest('div[data-role="modal"]').css("display","none"),gj.dialog.events.closed(e)),e},isOpen:function(e){return e.is(":visible")},content:function(e,t){var r=e.children('div[data-role="body"]');return void 0===t?r.html():r.html(t)},destroy:function(e,t){var r=e.data();return r&&(!1===t?e.remove():(e.close(),e.off(),e.removeData(),e.removeAttr("data-type"),e.removeClass(r.style.content),e.find('[data-role="header"]').removeClass(r.style.header),e.find('[data-role="title"]').removeClass(r.style.headerTitle),e.find('[data-role="close"]').remove(),e.find('[data-role="body"]').removeClass(r.style.body),e.find('[data-role="footer"]').removeClass(r.style.footer))),e}},gj.dialog.widget=function(e,t){var r=gj.dialog.methods;return this.open=function(e){return r.open(this,e)},this.close=function(){return r.close(this)},this.isOpen=function(){return r.isOpen(this)},this.content=function(e){return r.content(this,e)},this.destroy=function(e){return r.destroy(this,e)},$.extend(e,this),"dialog"!==e.attr("data-type")&&r.init.call(e,t),e},gj.dialog.widget.prototype=new gj.widget,gj.dialog.widget.constructor=gj.dialog.widget,gj.dialog.widget.prototype.getHTMLConfig=gj.dialog.methods.getHTMLConfig,jQuery.fn.dialog=function(e){var t;if(this&&this.length){if("object"!=typeof e&&e){if((t=new gj.dialog.widget(this,null))[e])return t[e].apply(this,Array.prototype.slice.call(arguments,1));throw"Method "+e+" does not exist."}return new gj.dialog.widget(this,e)}},gj.dialog.messages["en-us"]={Close:"Close",DefaultTitle:"Dialog"},gj.draggable={plugins:{}},gj.draggable.config={base:{handle:void 0,vertical:!0,horizontal:!0,containment:void 0}},gj.draggable.methods={init:function(e){var t,r,a=this;return gj.widget.prototype.init.call(this,e,"draggable"),r=this.data(),a.attr("data-draggable","true"),(t=gj.draggable.methods.getHandleElement(a)).on("touchstart mousedown",function(e){var i=gj.core.position(a[0]);a[0].style.top=i.top+"px",a[0].style.left=i.left+"px",a[0].style.position="fixed",a.attr("draggable-dragging",!0),a.removeAttr("draggable-x").removeAttr("draggable-y"),gj.documentManager.subscribeForEvent("touchmove",a.data("guid"),gj.draggable.methods.createMoveHandler(a,t,r)),gj.documentManager.subscribeForEvent("mousemove",a.data("guid"),gj.draggable.methods.createMoveHandler(a,t,r))}),gj.documentManager.subscribeForEvent("mouseup",a.data("guid"),gj.draggable.methods.createUpHandler(a)),gj.documentManager.subscribeForEvent("touchend",a.data("guid"),gj.draggable.methods.createUpHandler(a)),gj.documentManager.subscribeForEvent("touchcancel",a.data("guid"),gj.draggable.methods.createUpHandler(a)),a},getHandleElement:function(e){var t=e.data("handle");return t&&t.length?t:e},createUpHandler:function(e){return function(t){"true"===e.attr("draggable-dragging")&&(e.attr("draggable-dragging",!1),gj.documentManager.unsubscribeForEvent("mousemove",e.data("guid")),gj.documentManager.unsubscribeForEvent("touchmove",e.data("guid")),gj.draggable.events.stop(e,{x:e.mouseX(t),y:e.mouseY(t)}))}},createMoveHandler:function(e,t,r){return function(t){var a,i,o,n,d,s;"true"===e.attr("draggable-dragging")&&(a=Math.round(e.mouseX(t)),i=Math.round(e.mouseY(t)),d=e.attr("draggable-x"),s=e.attr("draggable-y"),d&&s?(o=r.horizontal?a-parseInt(d,10):0,n=r.vertical?i-parseInt(s,10):0,gj.draggable.methods.move(e[0],r,o,n,a,i)):gj.draggable.events.start(e,a,i),e.attr("draggable-x",a),e.attr("draggable-y",i))}},move:function(e,t,r,a,i,o){var n,d,s,l=gj.core.position(e),c=l.top+a,g=l.left+r;t.containment&&(d=(n=gj.core.position(t.containment)).top+gj.core.height(t.containment)-gj.core.height(e),s=n.left+gj.core.width(t.containment)-gj.core.width(e),c>n.top&&c<d?(n.top>=o||n.bottom<=o)&&(c=l.top):c=c<=n.top?n.top+1:d-1,g>n.left&&g<s?(n.left>=i||n.right<=i)&&(g=l.left):g=g<=n.left?n.left+1:s-1),!1!==gj.draggable.events.drag($(e),g,c,i,o)&&(e.style.top=c+"px",e.style.left=g+"px")},destroy:function(e){return"true"===e.attr("data-draggable")&&(gj.documentManager.unsubscribeForEvent("mouseup",e.data("guid")),e.removeData(),e.removeAttr("data-guid").removeAttr("data-type").removeAttr("data-draggable"),e.removeAttr("draggable-x").removeAttr("draggable-y").removeAttr("draggable-dragging"),e[0].style.top="",e[0].style.left="",e[0].style.position="",e.off("drag").off("start").off("stop"),gj.draggable.methods.getHandleElement(e).off("mousedown")),e}},gj.draggable.events={drag:function(e,t,r,a,i){return e.triggerHandler("drag",[{left:t,top:r},{x:a,y:i}])},start:function(e,t,r){e.triggerHandler("start",[{x:t,y:r}])},stop:function(e,t){e.triggerHandler("stop",[t])}},gj.draggable.widget=function(e,t){var r=gj.draggable.methods;return e.destroy||(this.destroy=function(){return r.destroy(this)}),$.extend(e,this),"true"!==e.attr("data-draggable")&&r.init.call(e,t),e},gj.draggable.widget.prototype=new gj.widget,gj.draggable.widget.constructor=gj.draggable.widget,jQuery.fn.draggable=function(e){var t;if(this&&this.length){if("object"!=typeof e&&e){if((t=new gj.draggable.widget(this,null))[e])return t[e].apply(this,Array.prototype.slice.call(arguments,1));throw"Method "+e+" does not exist."}return new gj.draggable.widget(this,e)}},gj.droppable={plugins:{}},gj.droppable.config={hoverClass:void 0},gj.droppable.methods={init:function(e){return gj.widget.prototype.init.call(this,e,"droppable"),this.attr("data-droppable","true"),gj.documentManager.subscribeForEvent("mousedown",this.data("guid"),gj.droppable.methods.createMouseDownHandler(this)),gj.documentManager.subscribeForEvent("mousemove",this.data("guid"),gj.droppable.methods.createMouseMoveHandler(this)),gj.documentManager.subscribeForEvent("mouseup",this.data("guid"),gj.droppable.methods.createMouseUpHandler(this)),this},createMouseDownHandler:function(e){return function(t){e.isDragging=!0}},createMouseMoveHandler:function(e){return function(t){if(e.isDragging){var r=e.data("hoverClass"),a={x:e.mouseX(t),y:e.mouseY(t)},i=gj.droppable.methods.isOver(e,a);i!=e.isOver&&(i?(r&&e.addClass(r),gj.droppable.events.over(e,a)):(r&&e.removeClass(r),gj.droppable.events.out(e))),e.isOver=i}}},createMouseUpHandler:function(e){return function(t){var r={left:e.mouseX(t),top:e.mouseY(t)};e.isDragging=!1,gj.droppable.methods.isOver(e,r)&&gj.droppable.events.drop(e)}},isOver:function(e,t){var r=e.offset().top,a=e.offset().left;return t.x>a&&t.x<a+e.outerWidth(!0)&&t.y>r&&t.y<r+e.outerHeight(!0)},destroy:function(e){return"true"===e.attr("data-droppable")&&(gj.documentManager.unsubscribeForEvent("mousedown",e.data("guid")),gj.documentManager.unsubscribeForEvent("mousemove",e.data("guid")),gj.documentManager.unsubscribeForEvent("mouseup",e.data("guid")),e.removeData(),e.removeAttr("data-guid"),e.removeAttr("data-droppable"),e.off("drop").off("over").off("out")),e}},gj.droppable.events={drop:function(e,t,r){e.trigger("drop",[{top:r,left:t}])},over:function(e,t){e.trigger("over",[t])},out:function(e){e.trigger("out")}},gj.droppable.widget=function(e,t){var r=gj.droppable.methods;return this.isOver=!1,this.isDragging=!1,this.destroy=function(){return r.destroy(this)},this.isOver=function(e){return r.isOver(this,e)},$.extend(e,this),"true"!==e.attr("data-droppable")&&r.init.call(e,t),e},gj.droppable.widget.prototype=new gj.widget,gj.droppable.widget.constructor=gj.droppable.widget,jQuery.fn.droppable=function(e){var t;if(this&&this.length){if("object"!=typeof e&&e){if((t=new gj.droppable.widget(this,null))[e])return t[e].apply(this,Array.prototype.slice.call(arguments,1));throw"Method "+e+" does not exist."}return new gj.droppable.widget(this,e)}},gj.grid={plugins:{},messages:{}},gj.grid.config={base:{dataSource:void 0,columns:[],autoGenerateColumns:!1,defaultColumnSettings:{hidden:!1,width:void 0,sortable:!1,type:"text",title:void 0,field:void 0,align:void 0,cssClass:void 0,headerCssClass:void 0,tooltip:void 0,icon:void 0,events:void 0,format:"mm/dd/yyyy",decimalDigits:void 0,tmpl:void 0,stopPropagation:!1,renderer:void 0,filter:void 0},mapping:{dataField:"records",totalRecordsField:"total"},params:{},paramNames:{sortBy:"sortBy",direction:"direction"},uiLibrary:"materialdesign",iconsLibrary:"materialicons",selectionType:"single",selectionMethod:"basic",autoLoad:!0,notFoundText:void 0,width:void 0,minWidth:void 0,headerRowHeight:"fixed",bodyRowHeight:"autogrow",fontSize:void 0,primaryKey:void 0,locale:"en-us",defaultIconColumnWidth:70,defaultCheckBoxColumnWidth:70,style:{wrapper:"gj-grid-wrapper",table:"gj-grid gj-grid-md",loadingCover:"gj-grid-loading-cover",loadingText:"gj-grid-loading-text",header:{cell:void 0,sortable:"gj-cursor-pointer gj-unselectable"},content:{rowSelected:"gj-grid-md-select"}},icons:{asc:"▲",desc:"▼"}},bootstrap:{style:{wrapper:"gj-grid-wrapper",table:"gj-grid gj-grid-bootstrap gj-grid-bootstrap-3 table table-bordered table-hover",content:{rowSelected:"active"}},iconsLibrary:"glyphicons",defaultIconColumnWidth:34,defaultCheckBoxColumnWidth:36},bootstrap4:{style:{wrapper:"gj-grid-wrapper",table:"gj-grid gj-grid-bootstrap gj-grid-bootstrap-4 table table-bordered table-hover",content:{rowSelected:"active"}},defaultIconColumnWidth:42,defaultCheckBoxColumnWidth:44},materialicons:{icons:{asc:'<i class="gj-icon arrow-upward" />',desc:'<i class="gj-icon arrow-downward" />'}},fontawesome:{icons:{asc:'<i class="fa fa-sort-amount-asc" aria-hidden="true"></i>',desc:'<i class="fa fa-sort-amount-desc" aria-hidden="true"></i>'}},glyphicons:{icons:{asc:'<span class="glyphicon glyphicon-sort-by-alphabet" />',desc:'<span class="glyphicon glyphicon-sort-by-alphabet-alt" />'}}},gj.grid.events={beforeEmptyRowInsert:function(e,t){return e.triggerHandler("beforeEmptyRowInsert",[t])},dataBinding:function(e,t){return e.triggerHandler("dataBinding",[t])},dataBound:function(e,t,r){return e.triggerHandler("dataBound",[t,r])},rowDataBound:function(e,t,r,a){return e.triggerHandler("rowDataBound",[t,r,a])},cellDataBound:function(e,t,r,a,i){return e.triggerHandler("cellDataBound",[t,r,a,i])},rowSelect:function(e,t,r,a){return e.triggerHandler("rowSelect",[t,r,a])},rowUnselect:function(e,t,r,a){return e.triggerHandler("rowUnselect",[t,r,a])},rowRemoving:function(e,t,r,a){return e.triggerHandler("rowRemoving",[t,r,a])},destroying:function(e){return e.triggerHandler("destroying")},columnHide:function(e,t){return e.triggerHandler("columnHide",[t])},columnShow:function(e,t){return e.triggerHandler("columnShow",[t])},initialized:function(e){return e.triggerHandler("initialized")},dataFiltered:function(e,t){return e.triggerHandler("dataFiltered",[t])}},gj.grid.methods={init:function(e){return gj.widget.prototype.init.call(this,e,"grid"),gj.grid.methods.initialize(this),this.data("autoLoad")&&this.reload(),this},getConfig:function(e,t){var r=gj.widget.prototype.getConfig.call(this,e,t);return gj.grid.methods.setDefaultColumnConfig(r.columns,r.defaultColumnSettings),r},setDefaultColumnConfig:function(e,t){var r,a;if(e&&e.length)for(a=0;a<e.length;a++)r=$.extend(!0,{},t),$.extend(!0,r,e[a]),e[a]=r},getHTMLConfig:function(){var e=gj.widget.prototype.getHTMLConfig.call(this);return e.columns=[],this.find("thead > tr > th").each(function(){var t=$(this),r=t.text(),a=gj.widget.prototype.getHTMLConfig.call(t);a.title=r,a.field||(a.field=r),a.events&&(a.events=gj.grid.methods.eventsParser(a.events)),e.columns.push(a)}),e},eventsParser:function(events){var result={},list,i,key,func,position;for(list=events.split(","),i=0;i<list.length;i++)position=list[i].indexOf(":"),position>0&&(key=$.trim(list[i].substr(0,position)),func=$.trim(list[i].substr(position+1,list[i].length)),result[key]=eval("window."+func));return result},initialize:function(e){var t=e.data(),r=e.parent('div[data-role="wrapper"]');gj.grid.methods.localization(t),0===r.length?(r=$('<div data-role="wrapper" />').addClass(t.style.wrapper),e.wrap(r)):r.addClass(t.style.wrapper),t.width&&e.parent().css("width",t.width),t.minWidth&&e.css("min-width",t.minWidth),t.fontSize&&e.css("font-size",t.fontSize),"autogrow"===t.headerRowHeight&&e.addClass("autogrow-header-row"),"fixed"===t.bodyRowHeight&&e.addClass("fixed-body-rows"),e.addClass(t.style.table),"checkbox"===t.selectionMethod&&t.columns.splice(gj.grid.methods.getColumnPositionNotInRole(e),0,{title:"",width:t.defaultCheckBoxColumnWidth,align:"center",type:"checkbox",role:"selectRow",events:{click:function(t){gj.grid.methods.setSelected(e,t.data.id,$(this).closest("tr"))}},headerCssClass:"gj-grid-select-all",stopPropagation:!0}),0===e.children("tbody").length&&e.append($("<tbody/>")),gj.grid.methods.renderHeader(e),gj.grid.methods.appendEmptyRow(e,"&nbsp;"),gj.grid.events.initialized(e)},localization:function(e){e.notFoundText||(e.notFoundText=gj.grid.messages[e.locale].NoRecordsFound)},renderHeader:function(e){var t,r,a,i,o,n,d,s,l;for(r=(t=e.data()).columns,a=t.style.header,0===(i=e.children("thead")).length&&(i=$("<thead />"),e.prepend(i)),o=$('<tr data-role="caption" />'),s=0;s<r.length;s+=1)n=$('<th data-field="'+(r[s].field||"")+'" />'),r[s].width?n.attr("width",r[s].width):"checkbox"===r[s].type&&n.attr("width",t.defaultIconColumnWidth),n.addClass(a.cell),r[s].headerCssClass&&n.addClass(r[s].headerCssClass),n.css("text-align",r[s].align||"left"),"checkbox"===t.selectionMethod&&"multiple"===t.selectionType&&"checkbox"===r[s].type&&"selectRow"===r[s].role?(0===(l=n.find('input[data-role="selectAll"]')).length&&(l=$('<input type="checkbox" data-role="selectAll" />'),n.append(l),l.checkbox({uiLibrary:t.uiLibrary})),l.off("click").on("click",function(){this.checked?e.selectAll():e.unSelectAll()})):(d=$('<div data-role="title"/>').html(void 0===r[s].title?r[s].field:r[s].title),n.append(d),r[s].sortable&&(d.addClass(a.sortable),d.on("click",gj.grid.methods.createSortHandler(e,r[s])))),r[s].hidden&&n.hide(),o.append(n);i.empty().append(o)},createSortHandler:function(e,t){return function(){var r,a={};e.count()>0&&(a[(r=e.data()).paramNames.sortBy]=t.field,t.direction="asc"===t.direction?"desc":"asc",a[r.paramNames.direction]=t.direction,e.reload(a))}},updateHeader:function(e){var t,r,a=e.data(),i=a.params[a.paramNames.sortBy],o=a.params[a.paramNames.direction];e.find('thead tr th [data-role="sorticon"]').remove(),i&&(position=gj.grid.methods.getColumnPosition(e.data("columns"),i),position>-1&&(r=e.find("thead tr th:eq("+position+') div[data-role="title"]'),t=$('<div data-role="sorticon" class="gj-unselectable" />').append("desc"===o?a.icons.desc:a.icons.asc),r.after(t)))},useHtmlDataSource:function(e,t){var r,a,i,o,n=[],d=e.find('tbody tr[data-role != "empty"]');for(r=0;r<d.length;r++){for(i=$(d[r]).find("td"),o={},a=0;a<i.length;a++)o[t.columns[a].field]=$(i[a]).html();n.push(o)}t.dataSource=n},startLoading:function(e){var t,r,a,i,o,n,d;gj.grid.methods.stopLoading(e),d=e.data(),0!==e.outerHeight()&&(i=(t=e.children("tbody")).outerWidth(!1),o=t.outerHeight(!1),n=Math.abs(e.parent().offset().top-t.offset().top),r=$('<div data-role="loading-cover" />').addClass(d.style.loadingCover).css({width:i,height:o,top:n}),(a=$('<div data-role="loading-text">'+gj.grid.messages[d.locale].Loading+"</div>").addClass(d.style.loadingText)).insertAfter(e),r.insertAfter(e),a.css({top:n+o/2-a.outerHeight(!1)/2,left:i/2-a.outerWidth(!1)/2}))},stopLoading:function(e){e.parent().find('div[data-role="loading-cover"]').remove(),e.parent().find('div[data-role="loading-text"]').remove()},appendEmptyRow:function(e,t){var r,a,i,o;r=e.data(),a=$('<tr data-role="empty"/>'),(i=$("<td/>").css({width:"100%","text-align":"center"})).attr("colspan",gj.grid.methods.countVisibleColumns(e)),o=$("<div />").html(t||r.notFoundText),i.append(o),a.append(i),gj.grid.events.beforeEmptyRowInsert(e,a),e.append(a)},autoGenerateColumns:function(e,t){var r,a,i,o,n=e.data();if(n.columns=[],t.length>0){for(r=Object.getOwnPropertyNames(t[0]),o=0;o<r.length;o++)i="text",(a=t[0][r[o]])&&("number"==typeof a?i="number":a.indexOf("/Date(")>-1&&(i="date")),n.columns.push({field:r[o],type:i});gj.grid.methods.setDefaultColumnConfig(n.columns,n.defaultColumnSettings)}gj.grid.methods.renderHeader(e)},loadData:function(e){var t,r,a,i,o,n,d,s;for(t=e.data(),r=e.getAll(),gj.grid.events.dataBinding(e,r),i=r.length,gj.grid.methods.stopLoading(e),t.autoGenerateColumns&&gj.grid.methods.autoGenerateColumns(e,r),n=e.children("tbody"),"checkbox"===t.selectionMethod&&"multiple"===t.selectionType&&e.find('thead input[data-role="selectAll"]').prop("checked",!1),n.children("tr").not('[data-role="row"]').remove(),0===i&&(n.empty(),gj.grid.methods.appendEmptyRow(e)),o=(d=n.children("tr")).length,a=0;a<o;a++){if(!(a<i)){n.find('tr[data-role="row"]:gt('+(a-1)+")").remove();break}s=d.eq(a),gj.grid.methods.renderRow(e,s,r[a],a)}for(a=o;a<i;a++)gj.grid.methods.renderRow(e,null,r[a],a);gj.grid.events.dataBound(e,r,t.totalRecords)},getId:function(e,t,r){return t&&e[t]?e[t]:r},renderRow:function(e,t,r,a){var i,o,n,d,s;for(d=e.data(),t&&0!==t.length?(s="update",t.removeClass(d.style.content.rowSelected).removeAttr("data-selected").off("click")):(s="create",t=$('<tr data-role="row"/>'),e.children("tbody").append(t)),i=gj.grid.methods.getId(r,d.primaryKey,a+1),t.attr("data-position",a+1),"checkbox"!==d.selectionMethod&&t.on("click",gj.grid.methods.createRowClickHandler(e,i)),n=0;n<d.columns.length;n++)"update"===s?(o=t.find("td:eq("+n+")"),gj.grid.methods.renderCell(e,o,d.columns[n],r,i)):(o=gj.grid.methods.renderCell(e,null,d.columns[n],r,i),t.append(o));gj.grid.events.rowDataBound(e,t,i,r)},renderCell:function(e,t,r,a,i,o){var n,d;if(t&&0!==t.length?(n=t.find('div[data-role="display"]'),o="update"):(t=$("<td/>"),n=$('<div data-role="display" />'),r.align&&t.css("text-align",r.align),r.cssClass&&t.addClass(r.cssClass),t.append(n),o="create"),gj.grid.methods.renderDisplayElement(e,n,r,a,i,o),"update"===o&&(t.off(),n.off()),r.events)for(d in r.events)r.events.hasOwnProperty(d)&&t.on(d,{id:i,field:r.field,record:a},gj.grid.methods.createCellEventHandler(r,r.events[d]));return r.hidden&&t.hide(),gj.grid.events.cellDataBound(e,n,i,r,a),t},createCellEventHandler:function(e,t){return function(r){e.stopPropagation&&r.stopPropagation(),t.call(this,r)}},renderDisplayElement:function(e,t,r,a,i,o){var n,d;"checkbox"===r.type&&gj.checkbox?"create"===o?(d=$('<input type="checkbox" />').val(i).prop("checked",!!a[r.field]),r.role&&d.attr("data-role",r.role),t.append(d),d.checkbox({uiLibrary:e.data("uiLibrary")}),"selectRow"===r.role?d.on("click",function(){return!1}):d.prop("disabled",!0)):t.find('input[type="checkbox"]').val(i).prop("checked",!!a[r.field]):"icon"===r.type?"create"===o&&(t.append($("<span/>").addClass(r.icon).css({cursor:"pointer"})),"bootstrap"===e.data().uiLibrary&&t.children("span").addClass("glyphicon"),r.stopPropagation=!0):r.tmpl?(n=r.tmpl,r.tmpl.replace(/\{(.+?)\}/g,function(e,t){n=n.replace(e,gj.grid.methods.formatText(a[t],r))}),t.html(n)):r.renderer&&"function"==typeof r.renderer?(n=r.renderer(a[r.field],a,t.parent(),t,i,e))&&t.html(n):(a[r.field]=gj.grid.methods.formatText(a[r.field],r),!r.tooltip&&a[r.field]&&t.attr("title",a[r.field]),t.html(a[r.field])),r.tooltip&&"create"===o&&t.attr("title",r.tooltip)},formatText:function(e,t){return e=e&&["date","time","datetime"].indexOf(t.type)>-1?gj.core.formatDate(gj.core.parseDate(e,t.format),t.format):null==e?"":e.toString(),t.decimalDigits&&e&&(e=parseFloat(e).toFixed(t.decimalDigits)),e},setRecordsData:function(e,t){var r=[],a=0,i=e.data();return $.isArray(t)?(r=t,a=t.length):i&&i.mapping&&$.isArray(t[i.mapping.dataField])&&(r=t[i.mapping.dataField],(a=t[i.mapping.totalRecordsField])&&!isNaN(a)||(a=0)),e.data("records",r),e.data("totalRecords",a),r},createRowClickHandler:function(e,t){return function(){gj.grid.methods.setSelected(e,t,$(this))}},selectRow:function(e,t,r,a){var i;return r.addClass(t.style.content.rowSelected),r.attr("data-selected","true"),"checkbox"===t.selectionMethod&&((i=r.find('input[type="checkbox"][data-role="selectRow"]')).length&&!i.prop("checked")&&i.prop("checked",!0),"multiple"===t.selectionType&&e.getSelections().length===e.count(!1)&&e.find('thead input[data-role="selectAll"]').prop("checked",!0)),gj.grid.events.rowSelect(e,r,a,e.getById(a))},unselectRow:function(e,t,r,a){var i;if("true"===r.attr("data-selected"))return r.removeClass(t.style.content.rowSelected),"checkbox"===t.selectionMethod&&((i=r.find('td input[type="checkbox"][data-role="selectRow"]')).length&&i.prop("checked")&&i.prop("checked",!1),"multiple"===t.selectionType&&e.find('thead input[data-role="selectAll"]').prop("checked",!1)),r.removeAttr("data-selected"),gj.grid.events.rowUnselect(e,r,a,e.getById(a))},setSelected:function(e,t,r){var a=e.data();return r&&r.length||(r=gj.grid.methods.getRowById(e,t)),r&&("true"===r.attr("data-selected")?gj.grid.methods.unselectRow(e,a,r,t):("single"===a.selectionType&&r.siblings('[data-selected="true"]').each(function(){var t=$(this),r=gj.grid.methods.getId(t,a.primaryKey,t.data("position"));gj.grid.methods.unselectRow(e,a,t,r)}),gj.grid.methods.selectRow(e,a,r,t))),e},selectAll:function(e){var t=e.data();return e.find('tbody tr[data-role="row"]').each(function(){var r=$(this),a=r.data("position"),i=e.get(a),o=gj.grid.methods.getId(i,t.primaryKey,a);gj.grid.methods.selectRow(e,t,r,o)}),e.find('thead input[data-role="selectAll"]').prop("checked",!0),e},unSelectAll:function(e){var t=e.data();return e.find("tbody tr").each(function(){var r=$(this),a=r.data("position"),i=e.get(a),o=gj.grid.methods.getId(i,t.primaryKey,a);gj.grid.methods.unselectRow(e,t,r,o),r.find('input[type="checkbox"][data-role="selectRow"]').prop("checked",!1)}),e.find('thead input[data-role="selectAll"]').prop("checked",!1),e},getSelected:function(e){var t,r,a,i=null;return(t=e.find('tbody>tr[data-selected="true"]')).length>0&&(a=$(t[0]).data("position"),r=e.get(a),i=gj.grid.methods.getId(r,e.data().primaryKey,a)),i},getSelectedRows:function(e){e.data();return e.find('tbody>tr[data-selected="true"]')},getSelections:function(e){var t,r,a=[],i=e.data(),o=gj.grid.methods.getSelectedRows(e);return 0<o.length&&o.each(function(){t=$(this).data("position"),r=e.get(t),a.push(gj.grid.methods.getId(r,i.primaryKey,t))}),a},getById:function(e,t){var r,a=null,i=e.data("primaryKey"),o=e.data("records");if(i){for(r=0;r<o.length;r++)if(o[r][i]==t){a=o[r];break}}else a=e.get(t);return a},getRecVPosById:function(e,t){var r,a=t,i=e.data();if(i.primaryKey)for(r=0;r<i.dataSource.length;r++)if(i.dataSource[r][i.primaryKey]==t){a=r;break}return a},getRowById:function(e,t){var r,a,i=e.getAll(!1),o=e.data("primaryKey"),n=void 0;if(o){for(a=0;a<i.length;a++)if(i[a][o]==t){r=a+1;break}}else r=t;return r&&(n=e.children("tbody").children('tr[data-position="'+r+'"]')),n},getByPosition:function(e,t){return e.getAll(!1)[t-1]},getColumnPosition:function(e,t){var r,a=-1;for(r=0;r<e.length;r++)if(e[r].field===t){a=r;break}return a},getColumnInfo:function(e,t){var r,a={},i=e.data();for(r=0;r<i.columns.length;r+=1)if(i.columns[r].field===t){a=i.columns[r];break}return a},getCell:function(e,t,r){var a,i=null;return(a=gj.grid.methods.getColumnPosition(e.data("columns"),r))>-1&&(i=gj.grid.methods.getRowById(e,t).find("td:eq("+a+') div[data-role="display"]')),i},setCellContent:function(e,t,r,a){var i,o=gj.grid.methods.getCell(e,t,r);o&&(o.empty(),"object"==typeof a?o.append(a):(i=gj.grid.methods.getColumnInfo(e,r),gj.grid.methods.renderDisplayElement(e,o,i,e.getById(t),t,"update")))},clone:function(e){var t=[];return $.each(e,function(){t.push(this.clone())}),t},getAll:function(e){return e.data("records")},countVisibleColumns:function(e){var t,r,a;for(t=e.data().columns,r=0,a=0;a<t.length;a++)!0!==t[a].hidden&&r++;return r},clear:function(e,t){var r=e.data();return e.xhr&&e.xhr.abort(),e.children("tbody").empty(),r.records=[],gj.grid.methods.stopLoading(e),gj.grid.methods.appendEmptyRow(e,t?r.notFoundText:"&nbsp;"),gj.grid.events.dataBound(e,[],0),e},render:function(e,t){return t&&(gj.grid.methods.setRecordsData(e,t),gj.grid.methods.updateHeader(e),gj.grid.methods.loadData(e)),e},filter:function(e){var t,r,a=e.data(),i=a.dataSource.slice();for(t in a.params[a.paramNames.sortBy]&&(r=gj.grid.methods.getColumnInfo(e,a.params[a.paramNames.sortBy]),i.sort(r.sortable.sorter?r.sortable.sorter(r.direction,r):gj.grid.methods.createDefaultSorter(r.direction,r.field))),a.params)a.params[t]&&!a.paramNames[t]&&(r=gj.grid.methods.getColumnInfo(e,t),i=$.grep(i,function(e){var i=e[t]||"",o=a.params[t]||"";return r&&"function"==typeof r.filter?r.filter(i,o):i.toUpperCase().indexOf(o.toUpperCase())>-1}));return gj.grid.events.dataFiltered(e,i),i},createDefaultSorter:function(e,t){return function(r,a){var i=(r[t]||"").toString(),o=(a[t]||"").toString();return"asc"===e?i.localeCompare(o):o.localeCompare(i)}},destroy:function(e,t,r){return e.data()&&(gj.grid.events.destroying(e),gj.grid.methods.stopLoading(e),e.xhr&&e.xhr.abort(),e.off(),!1===r&&e.parent('div[data-role="wrapper"]').length>0&&e.unwrap(),e.removeData(),!1===t?e.remove():e.removeClass().empty(),e.removeAttr("data-type")),e},showColumn:function(e,t){var r,a=e.data(),i=gj.grid.methods.getColumnPosition(a.columns,t);return i>-1&&(e.find("thead>tr").each(function(){$(this).children("th").eq(i).show()}),$.each(e.find("tbody>tr"),function(){$(this).children("td").eq(i).show()}),a.columns[i].hidden=!1,(r=e.find('tbody > tr[data-role="empty"] > td'))&&r.length&&r.attr("colspan",gj.grid.methods.countVisibleColumns(e)),gj.grid.events.columnShow(e,a.columns[i])),e},hideColumn:function(e,t){var r,a=e.data(),i=gj.grid.methods.getColumnPosition(a.columns,t);return i>-1&&(e.find("thead>tr").each(function(){$(this).children("th").eq(i).hide()}),$.each(e.find("tbody>tr"),function(){$(this).children("td").eq(i).hide()}),a.columns[i].hidden=!0,(r=e.find('tbody > tr[data-role="empty"] > td'))&&r.length&&r.attr("colspan",gj.grid.methods.countVisibleColumns(e)),gj.grid.events.columnHide(e,a.columns[i])),e},isLastRecordVisible:function(){return!0},addRow:function(e,t){var r=e.data();return r.totalRecords=e.data("totalRecords")+1,gj.grid.events.dataBinding(e,[t]),r.records.push(t),$.isArray(r.dataSource)&&r.dataSource.push(t),1===r.totalRecords&&e.children("tbody").empty(),gj.grid.methods.isLastRecordVisible(e)&&gj.grid.methods.renderRow(e,null,t,e.count()-1),gj.grid.events.dataBound(e,[t],r.totalRecords),e},updateRow:function(e,t,r){var a,i=gj.grid.methods.getRowById(e,t),o=e.data();return o.records[i.data("position")-1]=r,$.isArray(o.dataSource)&&(a=gj.grid.methods.getRecVPosById(e,t),o.dataSource[a]=r),gj.grid.methods.renderRow(e,i,r,i.index()),e},removeRow:function(e,t){var r,a=e.data(),i=gj.grid.methods.getRowById(e,t);return gj.grid.events.rowRemoving(e,i,t,e.getById(t)),$.isArray(a.dataSource)&&(r=gj.grid.methods.getRecVPosById(e,t),a.dataSource.splice(r,1)),e.reload(),e},count:function(e,t){return t?e.data().totalRecords:e.getAll().length},getColumnPositionByRole:function(e,t){var r,a,i=e.data("columns");for(r=0;r<i.length;r++)if(i[r].role===t){a=r;break}return a},getColumnPositionNotInRole:function(e){var t,r=0,a=e.data("columns");for(t=0;t<a.length;t++)if(!a[t].role){r=t;break}return r}},gj.grid.widget=function(e,t){var r=gj.grid.methods;return this.reload=function(e){return r.startLoading(this),gj.widget.prototype.reload.call(this,e)},this.clear=function(e){return r.clear(this,e)},this.count=function(e){return r.count(this,e)},this.render=function(t){return r.render(e,t)},this.destroy=function(e,t){return r.destroy(this,e,t)},this.setSelected=function(e){return r.setSelected(this,e)},this.getSelected=function(){return r.getSelected(this)},this.getSelections=function(){return r.getSelections(this)},this.selectAll=function(){return r.selectAll(this)},this.unSelectAll=function(){return r.unSelectAll(this)},this.getById=function(e){return r.getById(this,e)},this.get=function(e){return r.getByPosition(this,e)},this.getAll=function(e){return r.getAll(this,e)},this.showColumn=function(e){return r.showColumn(this,e)},this.hideColumn=function(e){return r.hideColumn(this,e)},this.addRow=function(e){return r.addRow(this,e)},this.updateRow=function(e,t){return r.updateRow(this,e,t)},this.setCellContent=function(e,t,a){r.setCellContent(this,e,t,a)},this.removeRow=function(e){return r.removeRow(this,e)},$.extend(e,this),"grid"!==e.attr("data-type")&&r.init.call(e,t),e},gj.grid.widget.prototype=new gj.widget,gj.grid.widget.constructor=gj.grid.widget,gj.grid.widget.prototype.getConfig=gj.grid.methods.getConfig,gj.grid.widget.prototype.getHTMLConfig=gj.grid.methods.getHTMLConfig,jQuery.fn.grid=function(e){var t;if(this&&this.length){if("object"!=typeof e&&e){if((t=new gj.grid.widget(this,null))[e])return t[e].apply(this,Array.prototype.slice.call(arguments,1));throw"Method "+e+" does not exist."}return new gj.grid.widget(this,e)}},gj.grid.plugins.fixedHeader={config:{base:{fixedHeader:!1,height:300}},private:{init:function(e){var t=e.data(),r=e.children("tbody"),a=e.children("thead"),i=t.height-a.outerHeight()-(e.children("tfoot").outerHeight()||0);e.addClass("gj-grid-scrollable"),r.css("width",a.outerWidth()),r.height(i)},refresh:function(e){e.data();var t,r,a=e.children("tbody"),i=e.children("thead"),o=e.find('tbody tr[data-role="row"] td'),n=e.find('thead tr[data-role="caption"] th');for(e.children("tbody").height()<gj.grid.plugins.fixedHeader.private.getRowsHeight(e)?a.css("width",i.outerWidth()+gj.grid.plugins.fixedHeader.private.getScrollBarWidth()+(navigator.userAgent.toLowerCase().indexOf("firefox")>-1?1:0)):a.css("width",i.outerWidth()),t=0;t<n.length;t++)r=$(n[t]).outerWidth(),0===t&&gj.core.isIE()&&(r-=1),$(o[t]).attr("width",r)},getRowsHeight:function(e){var t=0;return e.find("tbody tr").each(function(){t+=$(this).height()}),t},getScrollBarWidth:function(){var e=document.createElement("p");e.style.width="100%",e.style.height="200px";var t=document.createElement("div");t.style.position="absolute",t.style.top="0px",t.style.left="0px",t.style.visibility="hidden",t.style.width="200px",t.style.height="150px",t.style.overflow="hidden",t.appendChild(e),document.body.appendChild(t);var r=e.offsetWidth;t.style.overflow="scroll";var a=e.offsetWidth;return r==a&&(a=t.clientWidth),document.body.removeChild(t),r-a}},public:{},events:{},configure:function(e,t,r){$.extend(!0,e,gj.grid.plugins.fixedHeader.public);e.data();r.fixedHeader&&(e.on("initialized",function(){gj.grid.plugins.fixedHeader.private.init(e)}),e.on("dataBound",function(){gj.grid.plugins.fixedHeader.private.refresh(e)}),e.on("resize",function(){gj.grid.plugins.fixedHeader.private.refresh(e)}))}},gj.grid.plugins.expandCollapseRows={config:{base:{detailTemplate:void 0,keepExpandedRows:!0,expandedRows:[],icons:{expandRow:'<i class="gj-icon chevron-right" />',collapseRow:'<i class="gj-icon chevron-down" />'}},fontawesome:{icons:{expandRow:'<i class="fa fa-angle-right" aria-hidden="true"></i>',collapseRow:'<i class="fa fa-angle-down" aria-hidden="true"></i>'}},glyphicons:{icons:{expandRow:'<span class="glyphicon glyphicon-chevron-right" />',collapseRow:'<span class="glyphicon glyphicon-chevron-down" />'}}},private:{expandDetail:function(e,t,r){var a=t.closest("tr"),i=$('<tr data-role="details" />'),o=$('<td colspan="'+gj.grid.methods.countVisibleColumns(e)+'" />'),n=$('<div data-role="display" />'),d=e.data(),s=a.data("position"),l=e.get(s),c=gj.grid.plugins.expandCollapseRows;void 0===typeof r&&(r=gj.grid.methods.getId(l,d.primaryKey,l)),i.append(o.append(n.append(a.data("details")))),i.insertAfter(a),t.children('div[data-role="display"]').empty().append(d.icons.collapseRow),e.updateDetails(a),c.private.keepSelection(e,r),c.events.detailExpand(e,i.find("td>div"),r)},collapseDetail:function(e,t,r){var a=t.closest("tr").next('tr[data-role="details"]'),i=e.data(),o=gj.grid.plugins.expandCollapseRows;void 0===typeof r&&(r=gj.grid.methods.getId(record,i.primaryKey,record)),a.remove(),t.children('div[data-role="display"]').empty().append(i.icons.expandRow),o.private.removeSelection(e,r),o.events.detailCollapse(e,a.find("td>div"),r)},keepSelection:function(e,t){var r=e.data();r.keepExpandedRows&&($.isArray(r.expandedRows)?-1==r.expandedRows.indexOf(t)&&r.expandedRows.push(t):r.expandedRows=[t])},removeSelection:function(e,t){var r=e.data();r.keepExpandedRows&&$.isArray(r.expandedRows)&&r.expandedRows.indexOf(t)>-1&&r.expandedRows.splice(r.expandedRows.indexOf(t),1)},updateDetailsColSpan:function(e){var t=e.find('tbody > tr[data-role="details"] > td');t&&t.length&&t.attr("colspan",gj.grid.methods.countVisibleColumns(e))}},public:{collapseAll:function(){var e,t=this,r=t.data();return void 0!==r.detailTemplate&&(e=gj.grid.methods.getColumnPositionByRole(t,"expander"),t.find('tbody tr[data-role="row"]').each(function(){gj.grid.plugins.expandCollapseRows.private.collapseDetail(t,$(this).find("td:eq("+e+")"))})),void 0!==r.grouping&&t.find('tbody tr[role="group"]').each(function(){gj.grid.plugins.grouping.private.collapseGroup(r,$(this).find("td:eq(0)"))}),t},expandAll:function(){var e,t=this,r=t.data();return void 0!==r.detailTemplate&&(e=gj.grid.methods.getColumnPositionByRole(t,"expander"),t.find('tbody tr[data-role="row"]').each(function(){gj.grid.plugins.expandCollapseRows.private.expandDetail(t,$(this).find("td:eq("+e+")"))})),void 0!==r.grouping&&t.find('tbody tr[role="group"]').each(function(){gj.grid.plugins.grouping.private.expandGroup(r,$(this).find("td:eq(0)"))}),t},updateDetails:function(e){var t=this,r=e.data("details"),a=r.html(),i=t.get(e.data("position"));return i&&a&&(r.html().replace(/\{(.+?)\}/g,function(e,r){var o=gj.grid.methods.getColumnInfo(t,r);a=a.replace(e,gj.grid.methods.formatText(i[r],o))}),r.html(a)),t}},events:{detailExpand:function(e,t,r){e.triggerHandler("detailExpand",[t,r])},detailCollapse:function(e,t,r){e.triggerHandler("detailCollapse",[t,r])}},configure:function(e){var t,r=e.data();$.extend(!0,e,gj.grid.plugins.expandCollapseRows.public),void 0!==r.detailTemplate&&(t={title:"",width:r.defaultIconColumnWidth,align:"center",stopPropagation:!0,cssClass:"gj-cursor-pointer gj-unselectable",tmpl:r.icons.expandRow,role:"expander",events:{click:function(t){var r=$(this),a=gj.grid.plugins.expandCollapseRows.private;"details"===r.closest("tr").next().attr("data-role")?a.collapseDetail(e,r,t.data.id):a.expandDetail(e,$(this),t.data.id)}}},r.columns=[t].concat(r.columns),e.on("rowDataBound",function(e,t,a,i){t.data("details",$(r.detailTemplate))}),e.on("columnShow",function(t,r){gj.grid.plugins.expandCollapseRows.private.updateDetailsColSpan(e)}),e.on("columnHide",function(t,r){gj.grid.plugins.expandCollapseRows.private.updateDetailsColSpan(e)}),e.on("rowRemoving",function(t,r,a,i){gj.grid.plugins.expandCollapseRows.private.collapseDetail(e,r.children("td").first(),a)}),e.on("dataBinding",function(){e.collapseAll()}),e.on("pageChanging",function(){e.collapseAll()}),e.on("dataBound",function(){var t,r,a,i,o=e.data();if(o.keepExpandedRows&&$.isArray(o.expandedRows))for(t=0;t<o.expandedRows.length;t++)(a=gj.grid.methods.getRowById(e,o.expandedRows[t]))&&a.length&&(i=gj.grid.methods.getColumnPositionByRole(e,"expander"),(r=a.children("td:eq("+i+")"))&&r.length&&gj.grid.plugins.expandCollapseRows.private.expandDetail(e,r))}))}},gj.grid.plugins.inlineEditing={renderers:{editManager:function(e,t,r,a,i,o){var n=o.data(),d=$(n.inlineEditing.editButton).attr("key",i),s=$(n.inlineEditing.deleteButton).attr("key",i),l=$(n.inlineEditing.updateButton).attr("key",i).hide(),c=$(n.inlineEditing.cancelButton).attr("key",i).hide();d.on("click",function(e){o.edit($(this).attr("key"))}),s.on("click",function(e){o.removeRow($(this).attr("key"))}),l.on("click",function(e){o.update($(this).attr("key"))}),c.on("click",function(e){o.cancel($(this).attr("key"))}),a.empty().append(d).append(s).append(l).append(c)}}},gj.grid.plugins.inlineEditing.config={base:{defaultColumnSettings:{editor:void 0,editField:void 0,mode:"readEdit"},inlineEditing:{mode:"click",managementColumn:!0,managementColumnConfig:{width:300,role:"managementColumn",align:"center",renderer:gj.grid.plugins.inlineEditing.renderers.editManager,cssClass:"gj-grid-management-column"}}},bootstrap:{inlineEditing:{managementColumnConfig:{width:200,role:"managementColumn",align:"center",renderer:gj.grid.plugins.inlineEditing.renderers.editManager,cssClass:"gj-grid-management-column"}}},bootstrap4:{inlineEditing:{managementColumnConfig:{width:280,role:"managementColumn",align:"center",renderer:gj.grid.plugins.inlineEditing.renderers.editManager,cssClass:"gj-grid-management-column"}}}},gj.grid.plugins.inlineEditing.private={localization:function(e){"bootstrap"===e.uiLibrary?(e.inlineEditing.editButton='<button role="edit" class="btn btn-default btn-sm"><span class="glyphicon glyphicon-pencil" aria-hidden="true"></span> '+gj.grid.messages[e.locale].Edit+"</button>",e.inlineEditing.deleteButton='<button role="delete" class="btn btn-default btn-sm gj-margin-left-10"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span> '+gj.grid.messages[e.locale].Delete+"</button>",e.inlineEditing.updateButton='<button role="update" class="btn btn-default btn-sm"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span> '+gj.grid.messages[e.locale].Update+"</button>",e.inlineEditing.cancelButton='<button role="cancel" class="btn btn-default btn-sm gj-margin-left-10"><span class="glyphicon glyphicon-ban-circle" aria-hidden="true"></span> '+gj.grid.messages[e.locale].Cancel+"</button>"):(e.inlineEditing.editButton='<button role="edit" class="gj-button-md"><i class="gj-icon pencil" /> '+gj.grid.messages[e.locale].Edit.toUpperCase()+"</button>",e.inlineEditing.deleteButton='<button role="delete" class="gj-button-md"><i class="gj-icon delete" /> '+gj.grid.messages[e.locale].Delete.toUpperCase()+"</button>",e.inlineEditing.updateButton='<button role="update" class="gj-button-md"><i class="gj-icon check-circle" /> '+gj.grid.messages[e.locale].Update.toUpperCase()+"</button>",e.inlineEditing.cancelButton='<button role="cancel" class="gj-button-md"><i class="gj-icon cancel" /> '+gj.grid.messages[e.locale].Cancel.toUpperCase()+"</button>")},editMode:function(e,t,r,a){var i,o,n,d,s,l=e.data();if("edit"!==t.attr("data-mode"))if(r.editor){if(gj.grid.plugins.inlineEditing.private.updateOtherCells(e,r.mode),i=t.find('div[data-role="display"]').hide(),0===(o=t.find('div[data-role="edit"]').show()).length&&(o=$('<div data-role="edit" />'),t.append(o)),d=a[r.editField||r.field],(n=o.find("input, select, textarea").first()).length)switch(r.type){case"checkbox":n.prop("checked",d);break;case"dropdown":n=n.dropdown("value",d);break;default:n.val(d)}else{if("function"==typeof r.editor)r.editor(o,d,a),n=o.find("input, select, textarea").first();else if((s="object"==typeof r.editor?r.editor:{}).uiLibrary=l.uiLibrary,s.iconsLibrary=l.iconsLibrary,s.fontSize=e.css("font-size"),s.showOnFocus=!1,"checkbox"===r.type&&gj.checkbox)n=$('<input type="checkbox" />').prop("checked",d),o.append(n),n.checkbox(s);else if("date"===r.type&&gj.datepicker||"time"===r.type&&gj.timepicker||"datetime"===r.type&&gj.datetimepicker){switch(n=$('<input type="text" width="100%"/>'),o.append(n),r.format&&(s.format=r.format),r.type){case"date":n=n.datepicker(s);break;case"time":n=n.timepicker(s);break;case"datetime":n=n.datetimepicker(s)}n.value&&n.value(i.html())}else"dropdown"===r.type&&gj.dropdown?(n=$('<select type="text" width="100%"/>'),o.append(n),s.dataBound=function(e){var t=$(this).dropdown();r.editField?t.value(a[r.editField]):t.value(a[r.field])},n=n.dropdown(s)):(n=$('<input type="text" value="'+d+'" class="gj-width-full"/>'),"materialdesign"===l.uiLibrary&&n.addClass("gj-textbox-md").css("font-size",e.css("font-size")),o.append(n));"command"!==l.inlineEditing.mode&&"editOnly"!==r.mode&&(n=o.find("input, select, textarea").first()).on("keyup",function(a){13!==a.keyCode&&27!==a.keyCode||gj.grid.plugins.inlineEditing.private.displayMode(e,t,r)})}"INPUT"===n.prop("tagName").toUpperCase()&&"TEXT"===n.prop("type").toUpperCase()?gj.core.setCaretAtEnd(n[0]):n.focus(),t.attr("data-mode","edit")}else"managementColumn"===r.role&&(t.find('[role="edit"]').hide(),t.find('[role="delete"]').hide(),t.find('[role="update"]').show(),t.find('[role="cancel"]').show())},displayMode:function(e,t,r,a){var i,o,n,d,s,l,c;"editOnly"!==r.mode&&("edit"===t.attr("data-mode")&&(i=t.find('div[data-role="edit"]'),o=t.find('div[data-role="display"]'),"SELECT"===(n=i.find("input, select, textarea").first())[0].tagName.toUpperCase()&&n[0].selectedIndex>-1?(d=n[0].options[n[0].selectedIndex].innerHTML,s=n[0].value):d="INPUT"===n[0].tagName.toUpperCase()&&"CHECKBOX"===n[0].type.toUpperCase()?n[0].checked:n.val(),c=t.parent().data("position"),l=e.get(c),!0!==a&&d!==l[r.field]&&(l[r.field]="date"===r.type?gj.core.parseDate(d,r.format):d,r.editField&&(l[r.editField]=s||d),"editOnly"!==r.mode&&(gj.grid.methods.renderDisplayElement(e,o,r,l,gj.grid.methods.getId(l,e.data("primaryKey"),c),"update"),0===t.find("span.gj-dirty").length&&t.prepend($('<span class="gj-dirty" />'))),gj.grid.plugins.inlineEditing.events.cellDataChanged(e,t,r,l,d),gj.grid.plugins.inlineEditing.private.updateChanges(e,r,l,d)),i.hide(),o.show(),t.attr("data-mode","display")),"managementColumn"===r.role&&(t.find('[role="update"]').hide(),t.find('[role="cancel"]').hide(),t.find('[role="edit"]').show(),t.find('[role="delete"]').show()))},updateOtherCells:function(e,t){var r=e.data();"command"!==r.inlineEditing.mode&&"editOnly"!==t&&e.find('div[data-role="edit"]:visible').parent("td").each(function(){var t=$(this),a=r.columns[t.index()];gj.grid.plugins.inlineEditing.private.displayMode(e,t,a)})},updateChanges:function(e,t,r,a){var i,o,n,d=e.data();d.guid||(d.guid=gj.grid.plugins.inlineEditing.private.generateGUID()),d.primaryKey&&((i=JSON.parse(sessionStorage.getItem("gj.grid."+d.guid)))?o=i.filter(function(e){return e[d.primaryKey]===r[d.primaryKey]}):i=[],o&&1===o.length?o[0][t.field]=a:((n={})[d.primaryKey]=r[d.primaryKey],d.primaryKey!==t.field&&(n[t.field]=a),i.push(n)),sessionStorage.setItem("gj.grid."+d.guid,JSON.stringify(i)))},generateGUID:function(){function e(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return e()+e()+"-"+e()+"-"+e()+"-"+e()+"-"+e()+e()+e()}},gj.grid.plugins.inlineEditing.public={getChanges:function(){return JSON.parse(sessionStorage.getItem("gj.grid."+this.data().guid))},edit:function(e){var t,r=this.getById(e),a=gj.grid.methods.getRowById(this,e).children("td"),i=this.data("columns");for(t=0;t<a.length;t++)gj.grid.plugins.inlineEditing.private.editMode(this,$(a[t]),i[t],r);return this},update:function(e){var t,r=this.getById(e),a=gj.grid.methods.getRowById(this,e).children("td"),i=this.data("columns");for(t=0;t<a.length;t++)gj.grid.plugins.inlineEditing.private.displayMode(this,$(a[t]),i[t],!1);return gj.grid.plugins.inlineEditing.events.rowDataChanged(this,e,r),this},cancel:function(e){this.getById(e);var t,r=gj.grid.methods.getRowById(this,e).children("td"),a=this.data("columns");for(t=0;t<r.length;t++)gj.grid.plugins.inlineEditing.private.displayMode(this,$(r[t]),a[t],!0);return this}},gj.grid.plugins.inlineEditing.events={cellDataChanged:function(e,t,r,a,i,o){e.triggerHandler("cellDataChanged",[t,r,a,i,o])},rowDataChanged:function(e,t,r){e.triggerHandler("rowDataChanged",[t,r])}},gj.grid.plugins.inlineEditing.configure=function(e,t,r){var a=e.data();$.extend(!0,e,gj.grid.plugins.inlineEditing.public),r.inlineEditing&&(e.on("dataBound",function(){e.find("span.gj-dirty").remove()}),e.on("rowDataBound",function(t,r,a,i){e.cancel(a)})),"command"===a.inlineEditing.mode?(gj.grid.plugins.inlineEditing.private.localization(a),t.inlineEditing.managementColumn&&a.columns.push(t.inlineEditing.managementColumnConfig)):e.on("cellDataBound",function(t,r,i,o,n){o.editor&&("editOnly"===o.mode?gj.grid.plugins.inlineEditing.private.editMode(e,r.parent(),o,n):r.parent("td").on("dblclick"===a.inlineEditing.mode?"dblclick":"click",function(){gj.grid.plugins.inlineEditing.private.editMode(e,r.parent(),o,n)}))})},gj.grid.plugins.optimisticPersistence={config:{base:{optimisticPersistence:{localStorage:void 0,sessionStorage:void 0}}},private:{applyParams:function(e){var t,r=e.data(),a={};(t=JSON.parse(sessionStorage.getItem("gj.grid."+r.guid)))&&t.optimisticPersistence&&$.extend(a,t.optimisticPersistence),(t=JSON.parse(localStorage.getItem("gj.grid."+r.guid)))&&t.optimisticPersistence&&$.extend(a,t.optimisticPersistence),$.extend(r.params,a)},saveParams:function(e){var t,r,a=e.data(),i={optimisticPersistence:{}};if(a.optimisticPersistence.sessionStorage){for(t=0;t<a.optimisticPersistence.sessionStorage.length;t++)r=a.optimisticPersistence.sessionStorage[t],i.optimisticPersistence[r]=a.params[r];i=$.extend(!0,JSON.parse(sessionStorage.getItem("gj.grid."+a.guid)),i),sessionStorage.setItem("gj.grid."+a.guid,JSON.stringify(i))}if(a.optimisticPersistence.localStorage){for(i={optimisticPersistence:{}},t=0;t<a.optimisticPersistence.localStorage.length;t++)r=a.optimisticPersistence.localStorage[t],i.optimisticPersistence[r]=a.params[r];i=$.extend(!0,JSON.parse(localStorage.getItem("gj.grid."+a.guid)),i),localStorage.setItem("gj.grid."+a.guid,JSON.stringify(i))}}},configure:function(e,t,r){t.guid&&(t.optimisticPersistence.localStorage||t.optimisticPersistence.sessionStorage)&&(gj.grid.plugins.optimisticPersistence.private.applyParams(e),e.on("dataBound",function(t){gj.grid.plugins.optimisticPersistence.private.saveParams(e)}))}},gj.grid.plugins.pagination={config:{base:{style:{pager:{panel:"",stateDisabled:"",activeButton:""}},paramNames:{page:"page",limit:"limit"},pager:{limit:10,sizes:[5,10,20,100],leftControls:void 0,rightControls:void 0}},bootstrap:{style:{pager:{panel:"",stateDisabled:""}}},bootstrap4:{style:{pager:{panel:"btn-toolbar",stateDisabled:""}}},glyphicons:{icons:{first:'<span class="glyphicon glyphicon-step-backward"></span>',previous:'<span class="glyphicon glyphicon-backward"></span>',next:'<span class="glyphicon glyphicon-forward"></span>',last:'<span class="glyphicon glyphicon-step-forward"></span>',refresh:'<span class="glyphicon glyphicon-refresh"></span>'}},materialicons:{icons:{first:'<i class="gj-icon first-page" />',previous:'<i class="gj-icon chevron-left" />',next:'<i class="gj-icon chevron-right" />',last:'<i class="gj-icon last-page" />',refresh:'<i class="gj-icon refresh" />'}},fontawesome:{icons:{first:'<i class="fa fa-fast-backward" aria-hidden="true"></i>',previous:'<i class="fa fa-backward" aria-hidden="true"></i>',next:'<i class="fa fa-forward" aria-hidden="true"></i>',last:'<i class="fa fa-fast-forward" aria-hidden="true"></i>',refresh:'<i class="fa fa-refresh" aria-hidden="true"></i>'}}},private:{init:function(e){var t,r,a,i,o,n,d,s,l,c;if((a=e.data()).pager)for(a.params[a.paramNames.page]||(a.params[a.paramNames.page]=1),a.params[a.paramNames.limit]||(a.params[a.paramNames.limit]=a.pager.limit),gj.grid.plugins.pagination.private.localization(a),t=$('<tr data-role="pager"/>'),r=$("<th/>"),t.append(r),o=$('<div data-role="display" />').addClass(a.style.pager.panel).css({float:"left"}),n=$('<div data-role="display" />').addClass(a.style.pager.panel).css({float:"right"}),r.append(o).append(n),d=$("<tfoot />").append(t),e.append(d),gj.grid.plugins.pagination.private.updatePagerColSpan(e),s=gj.grid.methods.clone(a.pager.leftControls),$.each(s,function(){o.append(this)}),l=gj.grid.methods.clone(a.pager.rightControls),$.each(l,function(){n.append(this)}),i=e.find("tfoot [data-role]"),c=0;c<i.length;c++)gj.grid.plugins.pagination.private.initPagerControl($(i[c]),e)},localization:function(e){"bootstrap"===e.uiLibrary?gj.grid.plugins.pagination.private.localizationBootstrap(e):"bootstrap4"===e.uiLibrary?gj.grid.plugins.pagination.private.localizationBootstrap4(e):gj.grid.plugins.pagination.private.localizationMaterialDesign(e)},localizationBootstrap:function(e){var t=gj.grid.messages[e.locale];void 0===e.pager.leftControls&&(e.pager.leftControls=[$('<button type="button" class="btn btn-default btn-sm">'+(e.icons.first||t.First)+"</button>").attr("title",t.FirstPageTooltip).attr("data-role","page-first"),$('<button type="button" class="btn btn-default btn-sm">'+(e.icons.previous||t.Previous)+"</button>").attr("title",t.PreviousPageTooltip).attr("data-role","page-previous"),$("<div>"+t.Page+"</div>"),$('<input data-role="page-number" class="form-control input-sm" type="text" value="0">'),$("<div>"+t.Of+"</div>"),$('<div data-role="page-label-last">0</div>'),$('<button type="button" class="btn btn-default btn-sm">'+(e.icons.next||t.Next)+"</button>").attr("title",t.NextPageTooltip).attr("data-role","page-next"),$('<button type="button" class="btn btn-default btn-sm">'+(e.icons.last||t.Last)+"</button>").attr("title",t.LastPageTooltip).attr("data-role","page-last"),$('<button type="button" class="btn btn-default btn-sm">'+(e.icons.refresh||t.Refresh)+"</button>").attr("title",t.Refresh).attr("data-role","page-refresh"),$('<select data-role="page-size" class="form-control input-sm" width="60"></select>')]),void 0===e.pager.rightControls&&(e.pager.rightControls=[$("<div>"+t.DisplayingRecords+"</div>"),$('<div data-role="record-first">0</div>'),$("<div>-</div>"),$('<div data-role="record-last">0</div>'),$("<div>"+t.Of+"</div>"),$('<div data-role="record-total">0</div>')])},localizationBootstrap4:function(e){var t=gj.grid.messages[e.locale];void 0===e.pager.leftControls&&(e.pager.leftControls=[$('<button class="btn btn-default btn-sm gj-cursor-pointer">'+(e.icons.first||t.First)+"</button>").attr("title",t.FirstPageTooltip).attr("data-role","page-first"),$('<button class="btn btn-default btn-sm gj-cursor-pointer">'+(e.icons.previous||t.Previous)+"</button>").attr("title",t.PreviousPageTooltip).attr("data-role","page-previous"),$("<div>"+t.Page+"</div>"),$('<div class="input-group"><input data-role="page-number" class="form-control form-control-sm" type="text" value="0"></div>'),$("<div>"+t.Of+"</div>"),$('<div data-role="page-label-last">0</div>'),$('<button class="btn btn-default btn-sm gj-cursor-pointer">'+(e.icons.next||t.Next)+"</button>").attr("title",t.NextPageTooltip).attr("data-role","page-next"),$('<button class="btn btn-default btn-sm gj-cursor-pointer">'+(e.icons.last||t.Last)+"</button>").attr("title",t.LastPageTooltip).attr("data-role","page-last"),$('<button class="btn btn-default btn-sm gj-cursor-pointer">'+(e.icons.refresh||t.Refresh)+"</button>").attr("title",t.Refresh).attr("data-role","page-refresh"),$('<select data-role="page-size" class="form-control input-sm" width="60"></select>')]),void 0===e.pager.rightControls&&(e.pager.rightControls=[$("<div>"+t.DisplayingRecords+"&nbsp;</div>"),$('<div data-role="record-first">0</div>'),$("<div>-</div>"),$('<div data-role="record-last">0</div>'),$("<div>"+t.Of+"</div>"),$('<div data-role="record-total">0</div>')])},localizationMaterialDesign:function(e){var t=gj.grid.messages[e.locale];void 0===e.pager.leftControls&&(e.pager.leftControls=[]),void 0===e.pager.rightControls&&(e.pager.rightControls=[$('<span class="">'+t.RowsPerPage+"</span>"),$('<select data-role="page-size" class="gj-grid-md-limit-select" width="52"></select></div>'),$('<span class="gj-md-spacer-32">&nbsp;</span>'),$('<span data-role="record-first" class="">0</span>'),$('<span class="">-</span>'),$('<span data-role="record-last" class="">0</span>'),$('<span class="gj-grid-mdl-pager-label">'+t.Of+"</span>"),$('<span data-role="record-total" class="">0</span>'),$('<span class="gj-md-spacer-32">&nbsp;</span>'),$('<button class="gj-button-md">'+(e.icons.previous||t.Previous)+"</button>").attr("title",t.PreviousPageTooltip).attr("data-role","page-previous").addClass(e.icons.first?"gj-button-md-icon":""),$('<span class="gj-md-spacer-24">&nbsp;</span>'),$('<button class="gj-button-md">'+(e.icons.next||t.Next)+"</button>").attr("title",t.NextPageTooltip).attr("data-role","page-next").addClass(e.icons.first?"gj-button-md-icon":"")])},initPagerControl:function(e,t){var r=t.data();switch(e.data("role")){case"page-size":r.pager.sizes&&0<r.pager.sizes.length?(e.show(),$.each(r.pager.sizes,function(){e.append($("<option/>").attr("value",this.toString()).text(this.toString()))}),e.change(function(){var e=parseInt(this.value,10);r.params[r.paramNames.limit]=e,gj.grid.plugins.pagination.private.changePage(t,1),gj.grid.plugins.pagination.events.pageSizeChange(t,e)}),e.val(r.params[r.paramNames.limit]),gj.dropdown&&e.dropdown({uiLibrary:r.uiLibrary,iconsLibrary:r.iconsLibrary,fontSize:e.css("font-size"),style:{presenter:"btn btn-default btn-sm"}})):e.hide();break;case"page-refresh":e.on("click",function(){t.reload()})}},reloadPager:function(e,t){var r,a,i,o,n,d,s,l;if((d=e.data()).pager){for(r=0===t?0:parseInt(d.params[d.paramNames.page],10),a=parseInt(d.params[d.paramNames.limit],10),i=Math.ceil(t/a),n=(o=0===r?0:a*(r-1)+1)+a>t?t:o+a-1,s=e.find("TFOOT [data-role]"),l=0;l<s.length;l++)gj.grid.plugins.pagination.private.reloadPagerControl($(s[l]),e,r,i,o,n,t);gj.grid.plugins.pagination.private.updatePagerColSpan(e)}},reloadPagerControl:function(e,t,r,a,i,o,n){var d;switch(e.data("role")){case"page-first":gj.grid.plugins.pagination.private.assignPageHandler(t,e,1,r<2);break;case"page-previous":gj.grid.plugins.pagination.private.assignPageHandler(t,e,r-1,r<2);break;case"page-number":e.val(r).off("change").on("change",gj.grid.plugins.pagination.private.createChangePageHandler(t,r));break;case"page-label-last":e.text(a);break;case"page-next":gj.grid.plugins.pagination.private.assignPageHandler(t,e,r+1,a===r);break;case"page-last":gj.grid.plugins.pagination.private.assignPageHandler(t,e,a,a===r);break;case"page-button-one":d=1===r?1:r==a?r-2:r-1,gj.grid.plugins.pagination.private.assignButtonHandler(t,e,r,d,a);break;case"page-button-two":d=1===r?2:r==a?a-1:r,gj.grid.plugins.pagination.private.assignButtonHandler(t,e,r,d,a);break;case"page-button-three":d=1===r?r+2:r==a?r:r+1,gj.grid.plugins.pagination.private.assignButtonHandler(t,e,r,d,a);break;case"record-first":e.text(i);break;case"record-last":e.text(o);break;case"record-total":e.text(n)}},assignPageHandler:function(e,t,r,a){var i=e.data().style.pager;a?t.addClass(i.stateDisabled).prop("disabled",!0).off("click"):t.removeClass(i.stateDisabled).prop("disabled",!1).off("click").on("click",function(){gj.grid.plugins.pagination.private.changePage(e,r)})},assignButtonHandler:function(e,t,r,a,i){var o=e.data().style.pager;a<1||a>i?t.hide():(t.show().off("click").text(a),a===r?t.addClass(o.activeButton):t.removeClass(o.activeButton).on("click",function(){gj.grid.plugins.pagination.private.changePage(e,a)}))},createChangePageHandler:function(e,t){return function(){e.data();var t=parseInt(this.value,10);gj.grid.plugins.pagination.private.changePage(e,t)}},changePage:function(e,t){var r=e.data();!1===gj.grid.plugins.pagination.events.pageChanging(e,t)||isNaN(t)||(e.find('TFOOT [data-role="page-number"]').val(t),r.params[r.paramNames.page]=t),e.reload()},updatePagerColSpan:function(e){var t=e.find('tfoot > tr[data-role="pager"] > th');t&&t.length&&t.attr("colspan",gj.grid.methods.countVisibleColumns(e))},isLastRecordVisible:function(e){var t=!0,r=e.data(),a=parseInt(r.params[r.paramNames.limit],10),i=parseInt(r.params[r.paramNames.page],10),o=e.count();return a&&i&&(t=(i-1)*a+o===r.totalRecords),t}},public:{getAll:function(e){var t,r,a=this.data();return $.isArray(a.dataSource)?e?a.dataSource:a.params[a.paramNames.limit]&&a.params[a.paramNames.page]?(t=parseInt(a.params[a.paramNames.limit],10),r=(parseInt(a.params[a.paramNames.page],10)-1)*t,a.records.slice(r,r+t)):a.records:a.records}},events:{pageSizeChange:function(e,t){e.triggerHandler("pageSizeChange",[t])},pageChanging:function(e,t){e.triggerHandler("pageChanging",[t])}},configure:function(e,t,r){$.extend(!0,e,gj.grid.plugins.pagination.public);e.data();r.pager&&(gj.grid.methods.isLastRecordVisible=gj.grid.plugins.pagination.private.isLastRecordVisible,e.on("initialized",function(){gj.grid.plugins.pagination.private.init(e)}),e.on("dataBound",function(t,r,a){gj.grid.plugins.pagination.private.reloadPager(e,a)}),e.on("columnShow",function(){gj.grid.plugins.pagination.private.updatePagerColSpan(e)}),e.on("columnHide",function(){gj.grid.plugins.pagination.private.updatePagerColSpan(e)}))}},gj.grid.plugins.responsiveDesign={config:{base:{resizeCheckInterval:500,responsive:!1,showHiddenColumnsAsDetails:!1,defaultColumn:{priority:void 0,minWidth:250},style:{rowDetailItem:""}},bootstrap:{style:{rowDetailItem:"col-lg-4"}}},private:{orderColumns:function(e){var t=[];if(e.columns&&e.columns.length){for(i=0;i<e.columns.length;i++)t.push({position:i,field:e.columns[i].field,minWidth:e.columns[i].width||e.columns[i].minWidth||e.defaultColumn.minWidth,priority:e.columns[i].priority||0});t.sort(function(e,t){var r=0;return e.priority<t.priority?r=-1:e.priority>t.priority&&(r=1),r})}return t},updateDetails:function(e){var t,r,a,i,o,n,d,s,l;for(t=e.find('tbody > tr[data-role="row"]'),r=e.data(),a=0;a<t.length;a++){for(n=(o=$(t[a])).data("details"),i=0;i<r.columns.length;i++)s=r.columns[i],d=n&&n.find('div[data-id="'+s.field+'"]'),r.columns[i].hidden?(l="<b>"+(s.title||s.field)+"</b>: {"+s.field+"}",d&&d.length?d.empty().html(l):((d=$('<div data-id="'+s.field+'"/>').html(l)).addClass(r.style.rowDetailItem),n&&n.length||(n=$('<div class="row"/>')),n.append(d))):d&&d.length&&d.remove();e.updateDetails(o)}}},public:{oldWidth:void 0,resizeCheckIntervalId:void 0,makeResponsive:function(){var e,t,r=0,a=this.data(),i=gj.grid.plugins.responsiveDesign.private.orderColumns(a);for(e=0;e<i.length;e++)(t=this.find("thead>tr>th:eq("+i[e].position+")")).is(":visible")&&i[e].minWidth<t.width()&&(r+=t.width()-i[e].minWidth);if(r)for(e=0;e<i.length;e++)!(t=this.find("thead>tr>th:eq("+i[e].position+")")).is(":visible")&&i[e].minWidth<=r&&(this.showColumn(i[e].field),r-=t.width());for(e=i.length-1;e>=0;e--)(t=this.find("thead>tr>th:eq("+i[e].position+")")).is(":visible")&&i[e].priority&&i[e].minWidth>t.outerWidth()&&this.hideColumn(i[e].field);return this}},events:{resize:function(e,t,r){e.triggerHandler("resize",[t,r])}},configure:function(e,t,r){$.extend(!0,e,gj.grid.plugins.responsiveDesign.public),t.responsive&&(e.on("initialized",function(){e.makeResponsive(),e.oldWidth=e.width(),e.resizeCheckIntervalId=setInterval(function(){var t=e.width();t!==e.oldWidth&&gj.grid.plugins.responsiveDesign.events.resize(e,t,e.oldWidth),e.oldWidth=t},t.resizeCheckInterval)}),e.on("destroy",function(){e.resizeCheckIntervalId&&clearInterval(e.resizeCheckIntervalId)}),e.on("resize",function(){e.makeResponsive()})),t.showHiddenColumnsAsDetails&&gj.grid.plugins.expandCollapseRows&&(e.on("dataBound",function(){gj.grid.plugins.responsiveDesign.private.updateDetails(e)}),e.on("columnHide",function(){gj.grid.plugins.responsiveDesign.private.updateDetails(e)}),e.on("columnShow",function(){gj.grid.plugins.responsiveDesign.private.updateDetails(e)}),e.on("rowDataBound",function(){gj.grid.plugins.responsiveDesign.private.updateDetails(e)}))}},gj.grid.plugins.toolbar={config:{base:{toolbarTemplate:void 0,title:void 0,style:{toolbar:"gj-grid-md-toolbar"}},bootstrap:{style:{toolbar:"gj-grid-bootstrap-toolbar"}},bootstrap4:{style:{toolbar:"gj-grid-bootstrap-4-toolbar"}}},private:{init:function(e){var t,r,a;t=e.data(),r=e.prev('div[data-role="toolbar"]'),(void 0!==t.toolbarTemplate||void 0!==t.title||r.length>0)&&(0===r.length&&(r=$('<div data-role="toolbar"></div>'),e.before(r)),r.addClass(t.style.toolbar),0===r.children().length&&t.toolbarTemplate&&r.append(t.toolbarTemplate),0===(a=r.find('[data-role="title"]')).length&&(a=$('<div data-role="title"/>'),r.prepend(a)),t.title&&a.text(t.title),t.minWidth&&r.css("min-width",t.minWidth))}},public:{title:function(e){var t=this.parent().find('div[data-role="toolbar"] [data-role="title"]');return void 0!==e?(t.text(e),this):t.text()}},configure:function(e){$.extend(!0,e,gj.grid.plugins.toolbar.public),e.on("initialized",function(){gj.grid.plugins.toolbar.private.init(e)}),e.on("destroying",function(){e.prev('[data-role="toolbar"]').remove()})}},gj.grid.plugins.resizableColumns={config:{base:{resizableColumns:!1}},private:{init:function(e,t){var r,a,i,o,n,d;if((r=e.find('thead tr[data-role="caption"] th')).length){for(i=0;i<r.length-1;i++)a=$(r[i]),o=$('<div class="gj-grid-column-resizer-wrapper" />'),d=parseInt(a.css("padding-right"),10)+3,(n=$('<span class="gj-grid-column-resizer" />').css("margin-right","-"+d+"px")).draggable({start:function(){e.addClass("gj-unselectable"),e.addClass("gj-grid-resize-cursor")},stop:function(){e.removeClass("gj-unselectable"),e.removeClass("gj-grid-resize-cursor"),this.style.removeProperty("top"),this.style.removeProperty("left"),this.style.removeProperty("position")},drag:gj.grid.plugins.resizableColumns.private.createResizeHandle(e,a,t.columns[i])}),a.append(o.append(n));for(i=0;i<r.length;i++)(a=$(r[i])).attr("width")||a.attr("width",a.outerWidth())}},createResizeHandle:function(e,t,r){var a=e.data();return function(i,o){var n,d,s,l,c,g,p=parseInt(t.attr("width"),10),u=gj.core.position(this),h=(o.top,u.top,o.left-u.left);if(p||(p=t.outerWidth()),h&&(c=p+h,r.width=c,t.attr("width",c),d=t[0].cellIndex,l=t[0].parentElement.children[d+1],g=parseInt($(l).attr("width"),10)-h,l.setAttribute("width",g),a.resizableColumns))for(s=e[0].tBodies[0].children,n=0;n<s.length;n++)s[n].cells[d].setAttribute("width",c),(l=s[n].cells[d+1]).setAttribute("width",g)}}},public:{},configure:function(e,t,r){$.extend(!0,e,gj.grid.plugins.resizableColumns.public),t.resizableColumns&&gj.draggable&&e.on("initialized",function(){gj.grid.plugins.resizableColumns.private.init(e,t)})}},gj.grid.plugins.rowReorder={config:{base:{rowReorder:!1,rowReorderColumn:void 0,orderNumberField:void 0,style:{targetRowIndicatorTop:"gj-grid-row-reorder-indicator-top",targetRowIndicatorBottom:"gj-grid-row-reorder-indicator-bottom"}}},private:{init:function(e){var t,r,a,i=e.find('tbody tr[data-role="row"]');for(e.data("rowReorderColumn")&&(r=gj.grid.methods.getColumnPosition(e.data("columns"),e.data("rowReorderColumn"))),t=0;t<i.length;t++)a=$(i[t]),void 0!==r?a.find("td:eq("+r+")").on("mousedown",gj.grid.plugins.rowReorder.private.createRowMouseDownHandler(e,a)):a.on("mousedown",gj.grid.plugins.rowReorder.private.createRowMouseDownHandler(e,a))},createRowMouseDownHandler:function(e,t){return function(r){var a,i,o=e.clone(),n=e.data("columns");for(e.addClass("gj-unselectable"),$("body").append(o),o.attr("data-role","draggable-clone").css("cursor","move"),o.children("thead").remove().children("tfoot").remove(),o.find('tbody tr:not([data-position="'+t.data("position")+'"])').remove(),i=o.find("tbody tr td"),a=0;a<i.length;a++)n[a].width&&i[a].setAttribute("width",n[a].width);o.draggable({stop:gj.grid.plugins.rowReorder.private.createDragStopHandler(e,t)}),o.css({position:"absolute",top:t.offset().top,left:t.offset().left,width:t.width(),zIndex:1}),"true"===t.attr("data-droppable")&&t.droppable("destroy"),t.siblings('tr[data-role="row"]').each(function(){var e=$(this);"true"===e.attr("data-droppable")&&e.droppable("destroy"),e.droppable({over:gj.grid.plugins.rowReorder.private.createDroppableOverHandler(t),out:gj.grid.plugins.rowReorder.private.droppableOut})}),o.trigger("mousedown")}},createDragStopHandler:function(e,t){return function(r,a){$('table[data-role="draggable-clone"]').draggable("destroy").remove(),e.removeClass("gj-unselectable"),t.siblings('tr[data-role="row"]').each(function(){var r,i,o,n,d,s=$(this),l=s.data("position"),c=t.data("position"),g=e.data();if(s.droppable("isOver",a)){for(l<c?s.before(t):s.after(t),g.records.splice(l-1,0,g.records.splice(c-1,1)[0]),r=s.parent().find('tr[data-role="row"]'),o=0;o<r.length;o++)$(r[o]).attr("data-position",o+1);if(g.orderNumberField){for(o=0;o<g.records.length;o++)g.records[o][g.orderNumberField]=o+1;for(o=0;o<r.length;o++)i=$(r[o]),d=gj.grid.methods.getId(i,g.primaryKey,i.attr("data-position")),n=gj.grid.methods.getByPosition(e,i.attr("data-position")),e.setCellContent(d,g.orderNumberField,n[g.orderNumberField])}}s.removeClass("gj-grid-top-border"),s.removeClass("gj-grid-bottom-border"),s.droppable("destroy")})}},createDroppableOverHandler:function(e){return function(t){var r=$(this);r.data("position")<e.data("position")?r.addClass("gj-grid-top-border"):r.addClass("gj-grid-bottom-border")}},droppableOut:function(){$(this).removeClass("gj-grid-top-border"),$(this).removeClass("gj-grid-bottom-border")}},public:{},configure:function(e,t,r){$.extend(!0,e,gj.grid.plugins.rowReorder.public),t.rowReorder&&gj.draggable&&gj.droppable&&e.on("dataBound",function(){gj.grid.plugins.rowReorder.private.init(e)})}},gj.grid.plugins.export={config:{base:{}},public:{getCSV:function(e){var t,r,a="",i="",o=this.data().columns,n=this.getAll(e);if(n.length){for(t=0;t<o.length;t++)gj.grid.plugins.export.public.isColumnApplicable(o[t])&&(a+='"'+(o[t].title||o[t].field).replace(/<[^>]+>/g," ")+'",');for(i+=a.slice(0,a.length-1)+"\r\n",t=0;t<n.length;t++){for(a="",r=0;r<o.length;r++)gj.grid.plugins.export.public.isColumnApplicable(o[r])&&(a+='"'+n[t][o[r].field]+'",');i+=a.slice(0,a.length-1)+"\r\n"}}return i},downloadCSV:function(e,t){var r=document.createElement("a");return document.body.appendChild(r),r.download=e||"griddata.csv",window.navigator.userAgent.indexOf("Edge")>-1?r.href=URL.createObjectURL(new Blob([this.getCSV(t)],{type:"text/csv;charset=utf-8;"})):r.href="data:text/csv;charset=utf-8,"+escape(this.getCSV(t)),r.click(),document.body.removeChild(r),this},isColumnApplicable:function(e){return!0!==e.hidden&&!e.role}},configure:function(e){$.extend(!0,e,gj.grid.plugins.export.public)}},gj.grid.plugins.columnReorder={config:{base:{columnReorder:!1,dragReady:!1,style:{targetRowIndicatorTop:"gj-grid-row-reorder-indicator-top",targetRowIndicatorBottom:"gj-grid-row-reorder-indicator-bottom"}}},private:{init:function(e){var t,r,a=e.find("thead tr th");for(t=0;t<a.length;t++)(r=$(a[t])).on("mousedown",gj.grid.plugins.columnReorder.private.createMouseDownHandler(e,r)),r.on("mousemove",gj.grid.plugins.columnReorder.private.createMouseMoveHandler(e,r)),r.on("mouseup",gj.grid.plugins.columnReorder.private.createMouseUpHandler(e,r))},createMouseDownHandler:function(e){return function(t){e.timeout=setTimeout(function(){e.data("dragReady",!0)},100)}},createMouseUpHandler:function(e){return function(t){clearTimeout(e.timeout),e.data("dragReady",!1)}},createMouseMoveHandler:function(e,t){return function(r){var a,i;e.data("dragReady")&&(e.data("dragReady",!1),a=e.clone(),i=t.index(),e.addClass("gj-unselectable"),$("body").append(a),a.attr("data-role","draggable-clone").css("cursor","move"),a.find("thead tr th:eq("+i+")").siblings().remove(),a.find('tbody tr[data-role != "row"]').remove(),a.find("tbody tr td:nth-child("+(i+1)+")").siblings().remove(),a.find("tfoot").remove(),a.draggable({stop:gj.grid.plugins.columnReorder.private.createDragStopHandler(e,t)}),a.css({position:"absolute",top:t.offset().top,left:t.offset().left,width:t.width(),zIndex:1}),"true"===t.attr("data-droppable")&&t.droppable("destroy"),t.siblings("th").each(function(){var r=$(this);"true"===r.attr("data-droppable")&&r.droppable("destroy"),r.droppable({over:gj.grid.plugins.columnReorder.private.createDroppableOverHandler(e,t),out:gj.grid.plugins.columnReorder.private.droppableOut})}),a.trigger("mousedown"))}},createDragStopHandler:function(e,t){return function(r,a){$('table[data-role="draggable-clone"]').draggable("destroy").remove(),e.removeClass("gj-unselectable"),t.siblings("th").each(function(){var r=$(this),i=e.data(),o=gj.grid.methods.getColumnPosition(i.columns,r.data("field")),n=gj.grid.methods.getColumnPosition(i.columns,t.data("field"));r.removeClass("gj-grid-left-border").removeClass("gj-grid-right-border"),r.closest("table").find('tbody tr[data-role="row"] td:nth-child('+(r.index()+1)+")").removeClass("gj-grid-left-border").removeClass("gj-grid-right-border"),r.droppable("isOver",a)&&(o<n?r.before(t):r.after(t),gj.grid.plugins.columnReorder.private.moveRowCells(e,n,o),i.columns.splice(o,0,i.columns.splice(n,1)[0])),r.droppable("destroy")})}},moveRowCells:function(e,t,r){var a,i,o=e.find('tbody tr[data-role="row"]');for(a=0;a<o.length;a++)i=$(o[a]),r<t?i.find("td:eq("+r+")").before(i.find("td:eq("+t+")")):i.find("td:eq("+r+")").after(i.find("td:eq("+t+")"))},createDroppableOverHandler:function(e,t){return function(r){var a=$(this),i=e.data();gj.grid.methods.getColumnPosition(i.columns,a.data("field"))<gj.grid.methods.getColumnPosition(i.columns,t.data("field"))?(a.addClass("gj-grid-left-border"),e.find('tbody tr[data-role="row"] td:nth-child('+(a.index()+1)+")").addClass("gj-grid-left-border")):(a.addClass("gj-grid-right-border"),e.find('tbody tr[data-role="row"] td:nth-child('+(a.index()+1)+")").addClass("gj-grid-right-border"))}},droppableOut:function(){var e=$(this);e.removeClass("gj-grid-left-border").removeClass("gj-grid-right-border"),e.closest("table").find('tbody tr[data-role="row"] td:nth-child('+(e.index()+1)+")").removeClass("gj-grid-left-border").removeClass("gj-grid-right-border")}},public:{},configure:function(e,t,r){$.extend(!0,e,gj.grid.plugins.columnReorder.public),t.columnReorder&&e.on("initialized",function(){gj.grid.plugins.columnReorder.private.init(e)})}},gj.grid.plugins.headerFilter={config:{base:{defaultColumnSettings:{filterable:!0},headerFilter:{type:"onenterkeypress"}}},private:{init:function(e){var t,r,a,i=e.data(),o=$('<tr data-role="filter"/>');for(t=0;t<i.columns.length;t++)r=$("<th/>"),i.columns[t].filterable&&(a=$('<input data-field="'+i.columns[t].field+'" class="gj-width-full" />'),"onchange"===i.headerFilter.type?a.on("input propertychange",function(t){gj.grid.plugins.headerFilter.private.reload(e,$(this))}):(a.on("keypress",function(t){13==t.which&&gj.grid.plugins.headerFilter.private.reload(e,$(this))}),a.on("blur",function(t){gj.grid.plugins.headerFilter.private.reload(e,$(this))})),r.append(a)),i.columns[t].hidden&&r.hide(),o.append(r);e.children("thead").append(o)},reload:function(e,t){var r={};r[t.data("field")]=t.val(),e.reload(r)}},public:{},events:{},configure:function(e,t,r){$.extend(!0,e,gj.grid.plugins.headerFilter.public);e.data();r.headerFilter&&e.on("initialized",function(){gj.grid.plugins.headerFilter.private.init(e)})}},gj.grid.plugins.grouping={config:{base:{paramNames:{groupBy:"groupBy",groupByDirection:"groupByDirection"},grouping:{groupBy:void 0,direction:"asc"},icons:{expandGroup:'<i class="gj-icon plus" />',collapseGroup:'<i class="gj-icon minus" />'}},fontawesome:{icons:{expandGroup:'<i class="fa fa-plus" aria-hidden="true"></i>',collapseGroup:'<i class="fa fa-minus" aria-hidden="true"></i>'}},glyphicons:{icons:{expandGroup:'<span class="glyphicon glyphicon-plus" />',collapseGroup:'<span class="glyphicon glyphicon-minus" />'}}},private:{init:function(e){var t,r=e.data();t=void 0,e.on("rowDataBound",function(a,i,o,n){if(t!==n[r.grouping.groupBy]||1===i[0].rowIndex){var d=gj.grid.methods.countVisibleColumns(e)-1,s=$('<tr role="group" />'),l=$('<td class="gj-text-align-center gj-unselectable gj-cursor-pointer" />');l.append('<div data-role="display">'+r.icons.collapseGroup+"</div>"),l.on("click",gj.grid.plugins.grouping.private.createExpandCollapseHandler(r)),s.append(l),s.append('<td colspan="'+d+'"><div data-role="display">'+r.grouping.groupBy+": "+n[r.grouping.groupBy]+"</div></td>"),s.insertBefore(i),t=n[r.grouping.groupBy]}i.show()}),r.params[r.paramNames.groupBy]=r.grouping.groupBy,r.params[r.paramNames.groupByDirection]=r.grouping.direction},grouping:function(e,t){var r=e.data();t.sort(gj.grid.methods.createDefaultSorter(r.grouping.direction,r.grouping.groupBy))},createExpandCollapseHandler:function(e){return function(t){var r=$(this),a=gj.grid.plugins.grouping.private;"row"===r.closest("tr").next(":visible").data("role")?a.collapseGroup(e,r):a.expandGroup(e,r)}},collapseGroup:function(e,t){var r=t.children('div[data-role="display"]');t.closest("tr").nextUntil('[role="group"]').hide(),r.empty().append(e.icons.expandGroup)},expandGroup:function(e,t){var r=t.children('div[data-role="display"]');t.closest("tr").nextUntil('[role="group"]').show(),r.empty().append(e.icons.collapseGroup)}},public:{},configure:function(e){var t,r=e.data();$.extend(!0,e,gj.grid.plugins.grouping.public),r.grouping&&r.grouping.groupBy&&(t={title:"",width:r.defaultIconColumnWidth,align:"center",stopPropagation:!0,cssClass:"gj-cursor-pointer gj-unselectable"},r.columns=[t].concat(r.columns),e.on("initialized",function(){gj.grid.plugins.grouping.private.init(e)}),e.on("dataFiltered",function(t,r){gj.grid.plugins.grouping.private.grouping(e,r)}))}},gj.grid.messages["en-us"]={First:"First",Previous:"Previous",Next:"Next",Last:"Last",Page:"Page",FirstPageTooltip:"First Page",PreviousPageTooltip:"Previous Page",NextPageTooltip:"Next Page",LastPageTooltip:"Last Page",Refresh:"Refresh",Of:"of",DisplayingRecords:"Displaying records",RowsPerPage:"Rows per page:",Edit:"Edit",Delete:"Delete",Update:"Update",Cancel:"Cancel",NoRecordsFound:"No records found.",Loading:"Loading..."},gj.tree={plugins:{}},gj.tree.config={base:{params:{},autoLoad:!0,selectionType:"single",cascadeSelection:!1,dataSource:void 0,primaryKey:void 0,textField:"text",childrenField:"children",hasChildrenField:"hasChildren",imageCssClassField:"imageCssClass",imageUrlField:"imageUrl",imageHtmlField:"imageHtml",disabledField:"disabled",width:void 0,border:!1,uiLibrary:"materialdesign",iconsLibrary:"materialicons",autoGenId:1,autoGenFieldName:"autoId_b5497cc5-7ef3-49f5-a7dc-4a932e1aee4a",indentation:24,style:{wrapper:"gj-unselectable",list:"gj-list gj-list-md",item:void 0,active:"gj-list-md-active",leafIcon:void 0,border:"gj-tree-md-border"},icons:{expand:'<i class="gj-icon chevron-right" />',collapse:'<i class="gj-icon chevron-down" />'}},bootstrap:{style:{wrapper:"gj-unselectable gj-tree-bootstrap-3",list:"gj-list gj-list-bootstrap list-group",item:"list-group-item",active:"active",border:"gj-tree-bootstrap-border"},iconsLibrary:"glyphicons"},bootstrap4:{style:{wrapper:"gj-unselectable gj-tree-bootstrap-4",list:"gj-list gj-list-bootstrap",item:"list-group-item",active:"active",border:"gj-tree-bootstrap-border"},icons:{expand:'<i class="gj-icon plus" />',collapse:'<i class="gj-icon minus" />'}},materialicons:{style:{expander:"gj-tree-material-icons-expander"}},fontawesome:{style:{expander:"gj-tree-font-awesome-expander"},icons:{expand:'<i class="fa fa-plus" aria-hidden="true"></i>',collapse:'<i class="fa fa-minus" aria-hidden="true"></i>'}},glyphicons:{style:{expander:"gj-tree-glyphicons-expander"},icons:{expand:'<span class="glyphicon glyphicon-plus" />',collapse:'<span class="glyphicon glyphicon-minus" />'}}},gj.tree.events={initialized:function(e){e.triggerHandler("initialized")},dataBinding:function(e){e.triggerHandler("dataBinding")},dataBound:function(e){e.triggerHandler("dataBound")},select:function(e,t,r){return e.triggerHandler("select",[t,r])},unselect:function(e,t,r){return e.triggerHandler("unselect",[t,r])},expand:function(e,t,r){return e.triggerHandler("expand",[t,r])},collapse:function(e,t,r){return e.triggerHandler("collapse",[t,r])},enable:function(e,t){return e.triggerHandler("enable",[t])},disable:function(e,t){return e.triggerHandler("disable",[t])},destroying:function(e){return e.triggerHandler("destroying")},nodeDataBound:function(e,t,r,a){return e.triggerHandler("nodeDataBound",[t,r,a])}},gj.tree.methods={init:function(e){return gj.widget.prototype.init.call(this,e,"tree"),gj.tree.methods.initialize.call(this),this.data("autoLoad")&&this.reload(),this},initialize:function(){var e=this.data(),t=$('<ul class="'+e.style.list+'"/>');this.empty().addClass(e.style.wrapper).append(t),e.width&&this.width(e.width),e.border&&this.addClass(e.style.border),gj.tree.events.initialized(this)},useHtmlDataSource:function(e,t){t.dataSource=[]},render:function(e,t){var r;return t&&("string"==typeof t&&JSON&&(t=JSON.parse(t)),(r=e.data()).records=t,r.primaryKey||gj.tree.methods.genAutoId(r,r.records),gj.tree.methods.loadData(e)),e},filter:function(e){return e.data().dataSource},genAutoId:function(e,t){var r;for(r=0;r<t.length;r++)t[r][e.autoGenFieldName]=e.autoGenId++,t[r][e.childrenField]&&t[r][e.childrenField].length&&gj.tree.methods.genAutoId(e,t[r][e.childrenField])},loadData:function(e){var t,r=e.data("records"),a=e.children("ul");for(gj.tree.events.dataBinding(e),a.off().empty(),t=0;t<r.length;t++)gj.tree.methods.appendNode(e,a,r[t],1);gj.tree.events.dataBound(e)},appendNode:function(e,t,r,a,i){var o,n,d,s,l,c=e.data(),g=c.primaryKey?r[c.primaryKey]:r[c.autoGenFieldName];if(n=$('<li data-id="'+g+'" data-role="node" />').addClass(c.style.item),$wrapper=$('<div data-role="wrapper" />'),$expander=$('<span data-role="expander" data-mode="close"></span>').addClass(c.style.expander),$display=$('<span data-role="display">'+r[c.textField]+"</span>"),hasChildren=void 0!==r[c.hasChildrenField]&&"true"===r[c.hasChildrenField].toString().toLowerCase(),disabled=void 0!==r[c.disabledField]&&"true"===r[c.disabledField].toString().toLowerCase(),c.indentation&&$wrapper.append('<span data-role="spacer" style="width: '+c.indentation*(a-1)+'px;"></span>'),disabled?gj.tree.methods.disableNode(e,n):($expander.on("click",gj.tree.methods.expanderClickHandler(e)),$display.on("click",gj.tree.methods.displayClickHandler(e))),$wrapper.append($expander),$wrapper.append($display),n.append($wrapper),i?t.find("li:eq("+(i-1)+")").before(n):t.append(n),c.imageCssClassField&&r[c.imageCssClassField]?(s=$('<span data-role="image"><span class="'+r[c.imageCssClassField]+'"></span></span>')).insertBefore($display):c.imageUrlField&&r[c.imageUrlField]?((s=$('<span data-role="image"></span>')).insertBefore($display),(l=$('<img src="'+r[c.imageUrlField]+'"></img>')).attr("width",s.width()).attr("height",s.height()),s.append(l)):c.imageHtmlField&&r[c.imageHtmlField]&&(s=$('<span data-role="image">'+r[c.imageHtmlField]+"</span>")).insertBefore($display),r[c.childrenField]&&r[c.childrenField].length||hasChildren){if($expander.empty().append(c.icons.expand),d=$("<ul />").addClass(c.style.list).addClass("gj-hidden"),n.append(d),r[c.childrenField]&&r[c.childrenField].length)for(o=0;o<r[c.childrenField].length;o++)gj.tree.methods.appendNode(e,d,r[c.childrenField][o],a+1)}else c.style.leafIcon?$expander.addClass(c.style.leafIcon):$expander.html("&nbsp;");gj.tree.events.nodeDataBound(e,n,r.id,r)},expanderClickHandler:function(e){return function(t){var r=$(this),a=r.closest("li");"close"===r.attr("data-mode")?e.expand(a):e.collapse(a)}},expand:function(e,t,r){var a,i,o=t.find('>[data-role="wrapper"]>[data-role="expander"]'),n=e.data(),d=t.attr("data-id"),s=t.children("ul");if(!1!==gj.tree.events.expand(e,t,d)&&s&&s.length&&(s.show(),o.attr("data-mode","open"),o.empty().append(n.icons.collapse),r))for(a=t.find("ul>li"),i=0;i<a.length;i++)gj.tree.methods.expand(e,$(a[i]),r);return e},collapse:function(e,t,r){var a,i,o=t.find('>[data-role="wrapper"]>[data-role="expander"]'),n=e.data(),d=t.attr("data-id"),s=t.children("ul");if(!1!==gj.tree.events.collapse(e,t,d)&&s&&s.length&&(s.hide(),o.attr("data-mode","close"),o.empty().append(n.icons.expand),r))for(a=t.find("ul>li"),i=0;i<a.length;i++)gj.tree.methods.collapse(e,$(a[i]),r);return e},expandAll:function(e){var t,r=e.find("ul>li");for(t=0;t<r.length;t++)gj.tree.methods.expand(e,$(r[t]),!0);return e},collapseAll:function(e){var t,r=e.find("ul>li");for(t=0;t<r.length;t++)gj.tree.methods.collapse(e,$(r[t]),!0);return e},displayClickHandler:function(e){return function(t){var r=$(this).closest("li"),a=e.data().cascadeSelection;"true"===r.attr("data-selected")?gj.tree.methods.unselect(e,r,a):("single"===e.data("selectionType")&&gj.tree.methods.unselectAll(e),gj.tree.methods.select(e,r,a))}},selectAll:function(e){var t,r=e.find("ul>li");for(t=0;t<r.length;t++)gj.tree.methods.select(e,$(r[t]),!0);return e},select:function(e,t,r){var a,i,o=e.data();if("true"!==t.attr("data-selected")&&!1!==gj.tree.events.select(e,t,t.attr("data-id"))&&(t.addClass(o.style.active).attr("data-selected","true"),r))for(i=t.find("ul>li"),a=0;a<i.length;a++)gj.tree.methods.select(e,$(i[a]),r)},unselectAll:function(e){var t,r=e.find("ul>li");for(t=0;t<r.length;t++)gj.tree.methods.unselect(e,$(r[t]),!0);return e},unselect:function(e,t,r){var a,i;e.data();if("true"===t.attr("data-selected")&&!1!==gj.tree.events.unselect(e,t,t.attr("data-id"))&&(t.removeClass(e.data().style.active).removeAttr("data-selected"),r))for(i=t.find("ul>li"),a=0;a<i.length;a++)gj.tree.methods.unselect(e,$(i[a]),r)},getSelections:function(e){var t,r,a,i=[],o=e.children("li");if(o&&o.length)for(t=0;t<o.length;t++)"true"===(r=$(o[t])).attr("data-selected")?i.push(r.attr("data-id")):r.has("ul")&&(a=gj.tree.methods.getSelections(r.children("ul"))).length&&(i=i.concat(a));return i},getDataById:function(e,t,r){var a,i=e.data(),o=void 0;for(a=0;a<r.length;a++){if(i.primaryKey&&r[a][i.primaryKey]==t){o=r[a];break}if(r[a][i.autoGenFieldName]==t){o=r[a];break}if(r[a][i.childrenField]&&r[a][i.childrenField].length&&(o=gj.tree.methods.getDataById(e,t,r[a][i.childrenField])))break}return o},getDataByText:function(e,t,r){var a,i=void 0,o=e.data();for(a=0;a<r.length;a++){if(t===r[a][o.textField]){i=r[a];break}if(r[a][o.childrenField]&&r[a][o.childrenField].length&&(i=gj.tree.methods.getDataByText(e,t,r[a][o.childrenField])))break}return i},getNodeById:function(e,t){var r,a,i=void 0,o=e.children("li");if(o&&o.length)for(r=0;r<o.length;r++){if(t==(a=$(o[r])).attr("data-id")){i=a;break}if(a.has("ul")&&(i=gj.tree.methods.getNodeById(a.children("ul"),t)))break}return i},getNodeByText:function(e,t){var r,a,i=void 0,o=e.children("li");if(o&&o.length)for(r=0;r<o.length;r++){if(t===(a=$(o[r])).find('>[data-role="wrapper"]>[data-role="display"]').text()){i=a;break}if(a.has("ul")&&(i=gj.tree.methods.getNodeByText(a.children("ul"),t)))break}return i},addNode:function(e,t,r,a){var i,o,n=e.data();return r&&r.length?("li"===r[0].tagName.toLowerCase()&&(0===r.children("ul").length&&(r.find('[data-role="expander"]').empty().append(n.icons.collapse),r.append($("<ul />").addClass(n.style.list))),r=r.children("ul")),(o=e.getDataById(r.parent().data("id")))[n.childrenField]||(o[n.childrenField]=[]),o[n.childrenField].push(t)):(r=e.children("ul"),e.data("records").push(t)),i=r.parentsUntil('[data-type="tree"]',"ul").length+1,n.primaryKey||gj.tree.methods.genAutoId(n,[t]),gj.tree.methods.appendNode(e,r,t,i,a),e},remove:function(e,t){return gj.tree.methods.removeDataById(e,t.attr("data-id"),e.data("records")),t.remove(),e},removeDataById:function(e,t,r){var a,i=e.data();for(a=0;a<r.length;a++){if(i.primaryKey&&r[a][i.primaryKey]==t){r.splice(a,1);break}if(r[a][i.autoGenFieldName]==t){r.splice(a,1);break}r[a][i.childrenField]&&r[a][i.childrenField].length&&gj.tree.methods.removeDataById(e,t,r[a][i.childrenField])}},update:function(e,t,r){var a=e.data(),i=e.getNodeById(t);e.getDataById(t);return r,i.find('>[data-role="wrapper"]>[data-role="display"]').html(r[a.textField]),gj.tree.events.nodeDataBound(e,i,t,r),e},getChildren:function(e,t,r){var a,i,o=[];for(i=(r=void 0===r||r)?t.find("ul li"):t.find(">ul>li"),a=0;a<i.length;a++)o.push($(i[a]).data("id"));return o},enableAll:function(e){var t,r=e.find("ul>li");for(t=0;t<r.length;t++)gj.tree.methods.enableNode(e,$(r[t]),!0);return e},enableNode:function(e,t,r){var a,i,o=t.find('>[data-role="wrapper"]>[data-role="expander"]'),n=t.find('>[data-role="wrapper"]>[data-role="display"]');r=void 0===r||r;if(t.removeClass("disabled"),o.on("click",gj.tree.methods.expanderClickHandler(e)),n.on("click",gj.tree.methods.displayClickHandler(e)),gj.tree.events.enable(e,t),r)for(i=t.find("ul>li"),a=0;a<i.length;a++)gj.tree.methods.enableNode(e,$(i[a]),r)},disableAll:function(e){var t,r=e.find("ul>li");for(t=0;t<r.length;t++)gj.tree.methods.disableNode(e,$(r[t]),!0);return e},disableNode:function(e,t,r){var a,i,o=t.find('>[data-role="wrapper"]>[data-role="expander"]'),n=t.find('>[data-role="wrapper"]>[data-role="display"]');r=void 0===r||r;if(t.addClass("disabled"),o.off("click"),n.off("click"),gj.tree.events.disable(e,t),r)for(i=t.find("ul>li"),a=0;a<i.length;a++)gj.tree.methods.disableNode(e,$(i[a]),r)},destroy:function(e){return e.data()&&(gj.tree.events.destroying(e),e.xhr&&e.xhr.abort(),e.off(),e.removeData(),e.removeAttr("data-type"),e.removeClass().empty()),e},pathFinder:function(e,t,r,a){var i,o=!1;for(i=0;i<t.length;i++){if(t[i].id==r){o=!0;break}if(gj.tree.methods.pathFinder(e,t[i][e.childrenField],r,a)){a.push(t[i].data[e.textField]),o=!0;break}}return o}},gj.tree.widget=function(e,t){var r=gj.tree.methods;return this.reload=function(e){return gj.widget.prototype.reload.call(this,e)},this.render=function(e){return r.render(this,e)},this.addNode=function(e,t,a){return r.addNode(this,e,t,a)},this.removeNode=function(e){return r.remove(this,e)},this.updateNode=function(e,t){return r.update(this,e,t)},this.destroy=function(){return r.destroy(this)},this.expand=function(e,t){return r.expand(this,e,t)},this.collapse=function(e,t){return r.collapse(this,e,t)},this.expandAll=function(){return r.expandAll(this)},this.collapseAll=function(){return r.collapseAll(this)},this.getDataById=function(e){return r.getDataById(this,e,this.data("records"))},this.getDataByText=function(e){return r.getDataByText(this,e,this.data("records"))},this.getNodeById=function(e){return r.getNodeById(this.children("ul"),e)},this.getNodeByText=function(e){return r.getNodeByText(this.children("ul"),e)},this.getAll=function(){return this.data("records")},this.select=function(e){return r.select(this,e)},this.unselect=function(e){return r.unselect(this,e)},this.selectAll=function(){return r.selectAll(this)},this.unselectAll=function(){return r.unselectAll(this)},this.getSelections=function(){return r.getSelections(this.children("ul"))},this.getChildren=function(e,t){return r.getChildren(this,e,t)},this.parents=function(e){var t=[],a=this.data();return r.pathFinder(a,a.records,e,t),t.reverse()},this.enable=function(e,t){return r.enableNode(this,e,t)},this.enableAll=function(){return r.enableAll(this)},this.disable=function(e,t){return r.disableNode(this,e,t)},this.disableAll=function(){return r.disableAll(this)},$.extend(e,this),"tree"!==e.attr("data-type")&&r.init.call(e,t),e},gj.tree.widget.prototype=new gj.widget,gj.tree.widget.constructor=gj.tree.widget,jQuery.fn.tree=function(e){var t;if(this&&this.length){if("object"!=typeof e&&e){if((t=new gj.tree.widget(this,null))[e])return t[e].apply(this,Array.prototype.slice.call(arguments,1));throw"Method "+e+" does not exist."}return new gj.tree.widget(this,e)}},gj.tree.plugins.checkboxes={config:{base:{checkboxes:void 0,checkedField:"checked",cascadeCheck:!0}},private:{dataBound:function(e){var t;e.data("cascadeCheck")&&(t=e.find('li[data-role="node"]'),$.each(t,function(){var e=$(this),t=e.find('[data-role="checkbox"] input[type="checkbox"]').checkbox("state");"checked"===t&&(gj.tree.plugins.checkboxes.private.updateChildrenState(e,t),gj.tree.plugins.checkboxes.private.updateParentState(e,t))}))},nodeDataBound:function(e,t,r,a){var i,o,n,d,s;0===t.find('> [data-role="wrapper"] > [data-role="checkbox"]').length&&(i=e.data(),o=t.find('> [data-role="wrapper"] > [data-role="expander"]'),n=$('<input type="checkbox"/>'),d=$('<span data-role="checkbox"></span>').append(n),s=void 0!==a[i.disabledField]&&"true"===a[i.disabledField].toString().toLowerCase(),n=n.checkbox({uiLibrary:i.uiLibrary,iconsLibrary:i.iconsLibrary,change:function(r,i){gj.tree.plugins.checkboxes.events.checkboxChange(e,t,a,n.state())}}),s&&n.prop("disabled",!0),a[i.checkedField]&&n.state("checked"),n.on("click",function(e){var t=n.closest("li"),r=n.state();i.cascadeCheck&&(gj.tree.plugins.checkboxes.private.updateChildrenState(t,r),gj.tree.plugins.checkboxes.private.updateParentState(t,r))}),o.after(d))},updateParentState:function(e,t){var r,a,i,o,n,d;1===(r=e.parent("ul").parent("li")).length&&(a=e.parent("ul").parent("li").find('> [data-role="wrapper"] > [data-role="checkbox"] input[type="checkbox"]'),i=e.siblings().find('> [data-role="wrapper"] > span[data-role="checkbox"] input[type="checkbox"]'),o="checked"===t,n="unchecked"===t,d="indeterminate",$.each(i,function(){var e=$(this).checkbox("state");o&&"checked"!==e&&(o=!1),n&&"unchecked"!==e&&(n=!1)}),o&&!n&&(d="checked"),!o&&n&&(d="unchecked"),a.checkbox("state",d),gj.tree.plugins.checkboxes.private.updateParentState(r,a.checkbox("state")))},updateChildrenState:function(e,t){var r=e.find('ul li [data-role="wrapper"] [data-role="checkbox"] input[type="checkbox"]');r.length>0&&$.each(r,function(){$(this).checkbox("state",t)})},update:function(e,t,r){var a=t.find('[data-role="checkbox"] input[type="checkbox"]').first();$(a).checkbox("state",r),e.data().cascadeCheck&&(gj.tree.plugins.checkboxes.private.updateChildrenState(t,r),gj.tree.plugins.checkboxes.private.updateParentState(t,r))}},public:{getCheckedNodes:function(){var e=[],t=this.find('li [data-role="checkbox"] input[type="checkbox"]');return $.each(t,function(){var t=$(this);"checked"===t.checkbox("state")&&e.push(t.closest("li").data("id"))}),e},checkAll:function(){var e=this.find('li [data-role="checkbox"] input[type="checkbox"]');return $.each(e,function(){$(this).checkbox("state","checked")}),this},uncheckAll:function(){var e=this.find('li [data-role="checkbox"] input[type="checkbox"]');return $.each(e,function(){$(this).checkbox("state","unchecked")}),this},check:function(e){return gj.tree.plugins.checkboxes.private.update(this,e,"checked"),this},uncheck:function(e){return gj.tree.plugins.checkboxes.private.update(this,e,"unchecked"),this}},events:{checkboxChange:function(e,t,r,a){return e.triggerHandler("checkboxChange",[t,r,a])}},configure:function(e){e.data("checkboxes")&&gj.checkbox&&($.extend(!0,e,gj.tree.plugins.checkboxes.public),e.on("nodeDataBound",function(t,r,a,i){gj.tree.plugins.checkboxes.private.nodeDataBound(e,r,a,i)}),e.on("dataBound",function(){gj.tree.plugins.checkboxes.private.dataBound(e)}),e.on("enable",function(e,t){t.find('>[data-role="wrapper"]>[data-role="checkbox"] input[type="checkbox"]').prop("disabled",!1)}),e.on("disable",function(e,t){t.find('>[data-role="wrapper"]>[data-role="checkbox"] input[type="checkbox"]').prop("disabled",!0)}))}},gj.tree.plugins.dragAndDrop={config:{base:{dragAndDrop:void 0,style:{dragEl:"gj-tree-drag-el gj-tree-md-drag-el",dropAsChildIcon:"gj-cursor-pointer gj-icon plus",dropAbove:"gj-tree-drop-above",dropBelow:"gj-tree-drop-below"}},bootstrap:{style:{dragEl:"gj-tree-drag-el gj-tree-bootstrap-drag-el",dropAsChildIcon:"glyphicon glyphicon-plus",dropAbove:"drop-above",dropBelow:"drop-below"}},bootstrap4:{style:{dragEl:"gj-tree-drag-el gj-tree-bootstrap-drag-el",dropAsChildIcon:"gj-cursor-pointer gj-icon plus",dropAbove:"drop-above",dropBelow:"drop-below"}}},private:{nodeDataBound:function(e,t){var r=t.children('[data-role="wrapper"]'),a=t.find('>[data-role="wrapper"]>[data-role="display"]');r.length&&a.length&&(a.on("mousedown",gj.tree.plugins.dragAndDrop.private.createNodeMouseDownHandler(e)),a.on("mousemove",gj.tree.plugins.dragAndDrop.private.createNodeMouseMoveHandler(e,t,a)),a.on("mouseup",gj.tree.plugins.dragAndDrop.private.createNodeMouseUpHandler(e)))},createNodeMouseDownHandler:function(e){return function(t){e.data("dragReady",!0)}},createNodeMouseUpHandler:function(e){return function(t){e.data("dragReady",!1)}},createNodeMouseMoveHandler:function(e,t,r){return function(a){if(e.data("dragReady")){var i,o,n,d,s=e.data();e.data("dragReady",!1),i=r.clone().wrap('<div data-role="wrapper"/>').closest("div").wrap('<li class="'+s.style.item+'" />').closest("li").wrap('<ul class="'+s.style.list+'" />').closest("ul"),$("body").append(i),i.attr("data-role","draggable-clone").addClass("gj-unselectable").addClass(s.style.dragEl),i.find('[data-role="wrapper"]').prepend('<span data-role="indicator" />'),i.draggable({drag:gj.tree.plugins.dragAndDrop.private.createDragHandler(e,t,r),stop:gj.tree.plugins.dragAndDrop.private.createDragStopHandler(e,t,r)}),o=r.parent(),n=r.offset().top,n-=parseInt(o.css("border-top-width"))+parseInt(o.css("margin-top"))+parseInt(o.css("padding-top")),d=r.offset().left,d-=parseInt(o.css("border-left-width"))+parseInt(o.css("margin-left"))+parseInt(o.css("padding-left")),d-=i.find('[data-role="indicator"]').outerWidth(!0),i.css({position:"absolute",top:n,left:d,width:r.outerWidth(!0)}),"true"===r.attr("data-droppable")&&r.droppable("destroy"),gj.tree.plugins.dragAndDrop.private.getTargetDisplays(e,t,r).each(function(){var e=$(this);"true"===e.attr("data-droppable")&&e.droppable("destroy"),e.droppable()}),gj.tree.plugins.dragAndDrop.private.getTargetDisplays(e,t).each(function(){var e=$(this);"true"===e.attr("data-droppable")&&e.droppable("destroy"),e.droppable()}),i.trigger("mousedown")}}},getTargetDisplays:function(e,t,r){return e.find('[data-role="display"]').not(r).not(t.find('[data-role="display"]'))},getTargetWrappers:function(e,t){return e.find('[data-role="wrapper"]').not(t.find('[data-role="wrapper"]'))},createDragHandler:function(e,t,r){var a=gj.tree.plugins.dragAndDrop.private.getTargetDisplays(e,t,r),i=gj.tree.plugins.dragAndDrop.private.getTargetWrappers(e,t),o=e.data();return function(e,t,r){var n=$(this),d=!1;a.each(function(){var e;if($(this).droppable("isOver",r))return e=n.find('[data-role="indicator"]'),o.style.dropAsChildIcon?e.addClass(o.style.dropAsChildIcon):e.text("+"),d=!0,!1;n.find('[data-role="indicator"]').removeClass(o.style.dropAsChildIcon).empty()}),i.each(function(){var e,t=$(this);!d&&t.droppable("isOver",r)?(e=t.position().top+t.outerHeight()/2,r.y<e?t.addClass(o.style.dropAbove).removeClass(o.style.dropBelow):t.addClass(o.style.dropBelow).removeClass(o.style.dropAbove)):t.removeClass(o.style.dropAbove).removeClass(o.style.dropBelow)})}},createDragStopHandler:function(e,t,r){var a=gj.tree.plugins.dragAndDrop.private.getTargetDisplays(e,t,r),i=gj.tree.plugins.dragAndDrop.private.getTargetWrappers(e,t),o=e.data();return function(r,n){var d,s,l,c,g=!1;$(this).draggable("destroy").remove(),a.each(function(){var r,a=$(this);if(a.droppable("isOver",n))return s=a.closest("li"),l=t.parent("ul").parent("li"),0===(r=s.children("ul")).length&&(r=$("<ul />").addClass(o.style.list),s.append(r)),!1!==gj.tree.plugins.dragAndDrop.events.nodeDrop(e,t.data("id"),s.data("id"),r.children("li").length+1)&&(r.append(t),d=e.getDataById(t.data("id")),gj.tree.methods.removeDataById(e,t.data("id"),o.records),void 0===(c=e.getDataById(r.parent().data("id")))[o.childrenField]&&(c[o.childrenField]=[]),c[o.childrenField].push(d),gj.tree.plugins.dragAndDrop.private.refresh(e,t,s,l)),g=!0,!1;a.droppable("destroy")}),g||i.each(function(){var r,a,i,c=$(this);if(c.droppable("isOver",n))return s=c.closest("li"),l=t.parent("ul").parent("li"),r=n.y<c.position().top+c.outerHeight()/2,i=t.data("id"),a=s.prevAll('li:not([data-id="'+i+'"])').length+(r?1:2),!1!==gj.tree.plugins.dragAndDrop.events.nodeDrop(e,i,s.parent("ul").parent("li").data("id"),a)&&(d=e.getDataById(t.data("id")),gj.tree.methods.removeDataById(e,t.data("id"),o.records),e.getDataById(s.parent().data("id"))[o.childrenField].splice(s.index()+(r?0:1),0,d),r?t.insertBefore(s):t.insertAfter(s),gj.tree.plugins.dragAndDrop.private.refresh(e,t,s,l)),!1;c.droppable("destroy")})}},refresh:function(e,t,r,a){var i=e.data();gj.tree.plugins.dragAndDrop.private.refreshNode(e,r),gj.tree.plugins.dragAndDrop.private.refreshNode(e,a),gj.tree.plugins.dragAndDrop.private.refreshNode(e,t),t.find('li[data-role="node"]').each(function(){gj.tree.plugins.dragAndDrop.private.refreshNode(e,$(this))}),r.children('[data-role="wrapper"]').removeClass(i.style.dropAbove).removeClass(i.style.dropBelow)},refreshNode:function(e,t){var r=t.children('[data-role="wrapper"]'),a=r.children('[data-role="expander"]'),i=r.children('[data-role="spacer"]'),o=t.children("ul"),n=e.data(),d=t.parentsUntil('[data-type="tree"]',"ul").length;o.length&&o.children().length?o.is(":visible")?a.empty().append(n.icons.collapse):a.empty().append(n.icons.expand):a.empty(),r.removeClass(n.style.dropAbove).removeClass(n.style.dropBelow),i.css("width",n.indentation*(d-1))}},public:{},events:{nodeDrop:function(e,t,r,a){return e.triggerHandler("nodeDrop",[t,r,a])}},configure:function(e){$.extend(!0,e,gj.tree.plugins.dragAndDrop.public),e.data("dragAndDrop")&&gj.draggable&&gj.droppable&&e.on("nodeDataBound",function(t,r){gj.tree.plugins.dragAndDrop.private.nodeDataBound(e,r)})}},gj.tree.plugins.lazyLoading={config:{base:{paramNames:{parentId:"parentId"},lazyLoading:!1}},private:{nodeDataBound:function(e,t,r,a){var i=e.data(),o=t.find('> [data-role="wrapper"] > [data-role="expander"]');a.hasChildren&&o.empty().append(i.icons.expand)},createDoneHandler:function(e,t){return function(r){var a,i,o,n=e.data();if("string"==typeof r&&JSON&&(r=JSON.parse(r)),r&&r.length){for(0===(o=t.children("ul")).length&&(o=$("<ul />").addClass(n.style.list),t.append(o)),a=0;a<r.length;a++)e.addNode(r[a],o);(i=t.find('>[data-role="wrapper"]>[data-role="expander"]')).attr("data-mode","open"),i.empty().append(n.icons.collapse),gj.tree.events.dataBound(e)}}},expand:function(e,t,r){var a,i=e.data(),o={},n=t.find(">ul>li");n&&n.length||"string"==typeof i.dataSource&&(o[i.paramNames.parentId]=r,a={url:i.dataSource,data:o},e.xhr&&e.xhr.abort(),e.xhr=$.ajax(a).done(gj.tree.plugins.lazyLoading.private.createDoneHandler(e,t)).fail(e.createErrorHandler()))}},public:{},events:{},configure:function(e,t,r){r.lazyLoading&&(e.on("nodeDataBound",function(t,r,a,i){gj.tree.plugins.lazyLoading.private.nodeDataBound(e,r,a,i)}),e.on("expand",function(t,r,a){gj.tree.plugins.lazyLoading.private.expand(e,r,a)}))}},gj.checkbox={plugins:{}},gj.checkbox.config={base:{uiLibrary:"materialdesign",iconsLibrary:"materialicons",style:{wrapperCssClass:"gj-checkbox-md",spanCssClass:void 0}},bootstrap:{style:{wrapperCssClass:"gj-checkbox-bootstrap"},iconsLibrary:"glyphicons"},bootstrap4:{style:{wrapperCssClass:"gj-checkbox-bootstrap gj-checkbox-bootstrap-4"},iconsLibrary:"materialicons"},materialicons:{style:{iconsCssClass:"gj-checkbox-material-icons",spanCssClass:"gj-icon"}},glyphicons:{style:{iconsCssClass:"gj-checkbox-glyphicons",spanCssClass:""}},fontawesome:{style:{iconsCssClass:"gj-checkbox-fontawesome",spanCssClass:"fa"}}},gj.checkbox.methods={init:function(e){return gj.widget.prototype.init.call(this,e,"checkbox"),this.attr("data-checkbox","true"),gj.checkbox.methods.initialize(this),this},initialize:function(e){var t,r,a=e.data();a.style.wrapperCssClass&&(t=$('<label class="'+a.style.wrapperCssClass+" "+a.style.iconsCssClass+'"></label>'),e.attr("id")&&t.attr("for",e.attr("id")),e.wrap(t),r=$("<span />"),a.style.spanCssClass&&r.addClass(a.style.spanCssClass),e.parent().append(r))},state:function(e,t){return t?("checked"===t?(e.prop("indeterminate",!1),e.prop("checked",!0)):"unchecked"===t?(e.prop("indeterminate",!1),e.prop("checked",!1)):"indeterminate"===t&&(e.prop("checked",!0),e.prop("indeterminate",!0)),gj.checkbox.events.change(e,t),e):t=e.prop("indeterminate")?"indeterminate":e.prop("checked")?"checked":"unchecked"},toggle:function(e){return"checked"==e.state()?e.state("unchecked"):e.state("checked"),e},destroy:function(e){return"true"===e.attr("data-checkbox")&&(e.removeData(),e.removeAttr("data-guid"),e.removeAttr("data-checkbox"),e.off(),e.next("span").remove(),e.unwrap()),e}},gj.checkbox.events={change:function(e,t){return e.triggerHandler("change",[t])}},gj.checkbox.widget=function(e,t){var r=gj.checkbox.methods;return this.toggle=function(){return r.toggle(this)},this.state=function(e){return r.state(this,e)},this.destroy=function(){return r.destroy(this)},$.extend(e,this),"true"!==e.attr("data-checkbox")&&r.init.call(e,t),e},gj.checkbox.widget.prototype=new gj.widget,gj.checkbox.widget.constructor=gj.checkbox.widget,jQuery.fn.checkbox=function(e){var t;if(this&&this.length){if("object"!=typeof e&&e){if((t=new gj.checkbox.widget(this,null))[e])return t[e].apply(this,Array.prototype.slice.call(arguments,1));throw"Method "+e+" does not exist."}return new gj.checkbox.widget(this,e)}},gj.editor={plugins:{},messages:{}},gj.editor.config={base:{height:300,width:void 0,uiLibrary:"materialdesign",iconsLibrary:"materialicons",locale:"en-us",buttons:void 0,style:{wrapper:"gj-editor gj-editor-md",buttonsGroup:"gj-button-md-group",button:"gj-button-md",buttonActive:"active"}},bootstrap:{style:{wrapper:"gj-editor gj-editor-bootstrap",buttonsGroup:"btn-group",button:"btn btn-default gj-cursor-pointer",buttonActive:"active"}},bootstrap4:{style:{wrapper:"gj-editor gj-editor-bootstrap",buttonsGroup:"btn-group",button:"btn btn-outline-secondary gj-cursor-pointer",buttonActive:"active"}},materialicons:{icons:{bold:'<i class="gj-icon bold" />',italic:'<i class="gj-icon italic" />',strikethrough:'<i class="gj-icon strikethrough" />',underline:'<i class="gj-icon underlined" />',listBulleted:'<i class="gj-icon list-bulleted" />',listNumbered:'<i class="gj-icon list-numbered" />',indentDecrease:'<i class="gj-icon indent-decrease" />',indentIncrease:'<i class="gj-icon indent-increase" />',alignLeft:'<i class="gj-icon align-left" />',alignCenter:'<i class="gj-icon align-center" />',alignRight:'<i class="gj-icon align-right" />',alignJustify:'<i class="gj-icon align-justify" />',undo:'<i class="gj-icon undo" />',redo:'<i class="gj-icon redo" />'}},fontawesome:{icons:{bold:'<i class="fa fa-bold" aria-hidden="true"></i>',italic:'<i class="fa fa-italic" aria-hidden="true"></i>',strikethrough:'<i class="fa fa-strikethrough" aria-hidden="true"></i>',underline:'<i class="fa fa-underline" aria-hidden="true"></i>',listBulleted:'<i class="fa fa-list-ul" aria-hidden="true"></i>',listNumbered:'<i class="fa fa-list-ol" aria-hidden="true"></i>',indentDecrease:'<i class="fa fa-indent" aria-hidden="true"></i>',indentIncrease:'<i class="fa fa-outdent" aria-hidden="true"></i>',alignLeft:'<i class="fa fa-align-left" aria-hidden="true"></i>',alignCenter:'<i class="fa fa-align-center" aria-hidden="true"></i>',alignRight:'<i class="fa fa-align-right" aria-hidden="true"></i>',alignJustify:'<i class="fa fa-align-justify" aria-hidden="true"></i>',undo:'<i class="fa fa-undo" aria-hidden="true"></i>',redo:'<i class="fa fa-repeat" aria-hidden="true"></i>'}}},gj.editor.methods={init:function(e){return gj.widget.prototype.init.call(this,e,"editor"),this.attr("data-editor","true"),gj.editor.methods.initialize(this),this},initialize:function(e){var t,r,a,i,o,n=this,d=e.data();if(e.hide(),"wrapper"!==e[0].parentElement.attributes.role&&((a=document.createElement("div")).setAttribute("role","wrapper"),e[0].parentNode.insertBefore(a,e[0]),a.appendChild(e[0])),gj.editor.methods.localization(d),$(a).addClass(d.style.wrapper),d.width&&$(a).width(d.width),0===(i=$(a).children('div[role="body"]')).length&&(i=$('<div role="body"></div>'),$(a).append(i),e[0].innerText&&(i[0].innerHTML=e[0].innerText)),i.attr("contenteditable",!0),i.on("keydown",function(t){var r=event.keyCode||event.charCode;!1===gj.editor.events.changing(e)&&8!==r&&46!==r&&t.preventDefault()}),i.on("mouseup keyup mouseout cut paste",function(t){n.updateToolbar(e,o),gj.editor.events.changed(e),e.html(i.html())}),0===(o=$(a).children('div[role="toolbar"]')).length)for(var s in o=$('<div role="toolbar"></div>'),i.before(o),d.buttons){for(var l in t=$("<div />").addClass(d.style.buttonsGroup),d.buttons[s])(r=$(d.buttons[s][l])).on("click",function(){gj.editor.methods.executeCmd(e,i,o,$(this))}),t.append(r);o.append(t)}i.height(d.height-gj.core.height(o[0],!0))},localization:function(e){var t=gj.editor.messages[e.locale];void 0===e.buttons&&(e.buttons=[['<button type="button" class="'+e.style.button+'" title="'+t.bold+'" role="bold">'+e.icons.bold+"</button>",'<button type="button" class="'+e.style.button+'" title="'+t.italic+'" role="italic">'+e.icons.italic+"</button>",'<button type="button" class="'+e.style.button+'" title="'+t.strikethrough+'" role="strikethrough">'+e.icons.strikethrough+"</button>",'<button type="button" class="'+e.style.button+'" title="'+t.underline+'" role="underline">'+e.icons.underline+"</button>"],['<button type="button" class="'+e.style.button+'" title="'+t.listBulleted+'" role="insertunorderedlist">'+e.icons.listBulleted+"</button>",'<button type="button" class="'+e.style.button+'" title="'+t.listNumbered+'" role="insertorderedlist">'+e.icons.listNumbered+"</button>",'<button type="button" class="'+e.style.button+'" title="'+t.indentDecrease+'" role="outdent">'+e.icons.indentDecrease+"</button>",'<button type="button" class="'+e.style.button+'" title="'+t.indentIncrease+'" role="indent">'+e.icons.indentIncrease+"</button>"],['<button type="button" class="'+e.style.button+'" title="'+t.alignLeft+'" role="justifyleft">'+e.icons.alignLeft+"</button>",'<button type="button" class="'+e.style.button+'" title="'+t.alignCenter+'" role="justifycenter">'+e.icons.alignCenter+"</button>",'<button type="button" class="'+e.style.button+'" title="'+t.alignRight+'" role="justifyright">'+e.icons.alignRight+"</button>",'<button type="button" class="'+e.style.button+'" title="'+t.alignJustify+'" role="justifyfull">'+e.icons.alignJustify+"</button>"],['<button type="button" class="'+e.style.button+'" title="'+t.undo+'" role="undo">'+e.icons.undo+"</button>",'<button type="button" class="'+e.style.button+'" title="'+t.redo+'" role="redo">'+e.icons.redo+"</button>"]])},updateToolbar:function(e,t){var r=e.data();$buttons=t.find("[role]").each(function(){var e=$(this),t=e.attr("role");t&&document.queryCommandEnabled(t)&&"true"===document.queryCommandValue(t)?e.addClass(r.style.buttonActive):e.removeClass(r.style.buttonActive)})},executeCmd:function(e,t,r,a){t.focus(),document.execCommand(a.attr("role"),!1),gj.editor.methods.updateToolbar(e,r)},content:function(e,t){var r=e.parent().children('div[role="body"]');return void 0===t?r.html():r.html(t)},destroy:function(e){var t;return"true"===e.attr("data-editor")&&((t=e.parent()).children('div[role="body"]').remove(),t.children('div[role="toolbar"]').remove(),e.unwrap(),e.removeData(),e.removeAttr("data-guid"),e.removeAttr("data-editor"),e.off(),e.show()),e}},gj.editor.events={changing:function(e){return e.triggerHandler("changing")},changed:function(e){return e.triggerHandler("changed")}},gj.editor.widget=function(e,t){var r=gj.editor.methods;return this.content=function(e){return r.content(this,e)},this.destroy=function(){return r.destroy(this)},$.extend(e,this),"true"!==e.attr("data-editor")&&r.init.call(e,t),e},gj.editor.widget.prototype=new gj.widget,gj.editor.widget.constructor=gj.editor.widget,jQuery.fn.editor=function(e){var t;if(this&&this.length){if("object"!=typeof e&&e){if((t=new gj.editor.widget(this,null))[e])return t[e].apply(this,Array.prototype.slice.call(arguments,1));throw"Method "+e+" does not exist."}return new gj.editor.widget(this,e)}},gj.editor.messages["en-us"]={bold:"Bold",italic:"Italic",strikethrough:"Strikethrough",underline:"Underline",listBulleted:"List Bulleted",listNumbered:"List Numbered",indentDecrease:"Indent Decrease",indentIncrease:"Indent Increase",alignLeft:"Align Left",alignCenter:"Align Center",alignRight:"Align Right",alignJustify:"Align Justify",undo:"Undo",redo:"Redo"},gj.dropdown={plugins:{}},gj.dropdown.config={base:{dataSource:void 0,textField:"text",valueField:"value",selectedField:"selected",width:void 0,maxHeight:"auto",placeholder:void 0,fontSize:void 0,uiLibrary:"materialdesign",iconsLibrary:"materialicons",icons:{dropdown:'<i class="gj-icon arrow-dropdown" />',dropup:'<i class="gj-icon arrow-dropup" />'},style:{wrapper:"gj-dropdown gj-dropdown-md gj-unselectable",list:"gj-list gj-list-md gj-dropdown-list-md",active:"gj-list-md-active"}},bootstrap:{style:{wrapper:"gj-dropdown gj-dropdown-bootstrap gj-dropdown-bootstrap-3 gj-unselectable",presenter:"btn btn-default",list:"gj-list gj-list-bootstrap gj-dropdown-list-bootstrap list-group",item:"list-group-item",active:"active"},iconsLibrary:"glyphicons"},bootstrap4:{style:{wrapper:"gj-dropdown gj-dropdown-bootstrap gj-dropdown-bootstrap-4 gj-unselectable",presenter:"btn btn-outline-secondary",list:"gj-list gj-list-bootstrap gj-dropdown-list-bootstrap list-group",item:"list-group-item",active:"active"}},materialicons:{style:{expander:"gj-dropdown-expander-mi"}},fontawesome:{icons:{dropdown:'<i class="fa fa-caret-down" aria-hidden="true"></i>',dropup:'<i class="fa fa-caret-up" aria-hidden="true"></i>'},style:{expander:"gj-dropdown-expander-fa"}},glyphicons:{icons:{dropdown:'<span class="caret"></span>',dropup:'<span class="dropup"><span class="caret" ></span></span>'},style:{expander:"gj-dropdown-expander-glyphicons"}}},gj.dropdown.methods={init:function(e){return gj.widget.prototype.init.call(this,e,"dropdown"),this.attr("data-dropdown","true"),gj.dropdown.methods.initialize(this),this},getHTMLConfig:function(){var e=gj.widget.prototype.getHTMLConfig.call(this),t=this[0].attributes;return t.placeholder&&(e.placeholder=t.placeholder.value),e},initialize:function(e){var t=e.data(),r=e.parent('div[role="wrapper"]'),a=$('<span role="display"></span>'),i=$('<span role="expander">'+t.icons.dropdown+"</span>").addClass(t.style.expander),o=$('<button role="presenter" type="button"></button>').addClass(t.style.presenter),n=$('<ul role="list" class="'+t.style.list+'"></ul>').attr("guid",e.attr("data-guid"));0===r.length?(r=$('<div role="wrapper" />').addClass(t.style.wrapper),e.wrap(r)):r.addClass(t.style.wrapper),t.fontSize&&o.css("font-size",t.fontSize),o.on("click",function(t){n.is(":visible")?gj.dropdown.methods.close(e,n):gj.dropdown.methods.open(e,n)}),o.on("blur",function(t){setTimeout(function(){gj.dropdown.methods.close(e,n)},500)}),o.append(a).append(i),e.hide(),e.after(o),$("body").append(n),n.hide(),e.reload()},setListPosition:function(e,t,r){var a,i,o,n,d=e.getBoundingClientRect(),s=window.scrollY||window.pageYOffset||0;window.scrollX||window.pageXOffset;t.style.overflow="",t.style.overflowX="",t.style.height="",gj.core.setChildPosition(e,t),a=gj.core.height(t,!0),n=t.getBoundingClientRect(),i=gj.core.height(e,!0),"auto"===r.maxHeight?d.top<n.top?d.top+a+i>window.innerHeight&&(o=window.innerHeight-d.top-i-3):d.top-a-3>0?t.style.top=Math.round(d.top+s-a-3)+"px":(t.style.top=s+"px",o=d.top-3):!isNaN(r.maxHeight)&&r.maxHeight<a&&(o=r.maxHeight),o&&(t.style.overflow="scroll",t.style.overflowX="hidden",t.style.height=o+"px")},useHtmlDataSource:function(e,t){var r,a,i=[],o=e.find("option");for(r=0;r<o.length;r++)(a={})[t.valueField]=o[r].value,a[t.textField]=o[r].innerHTML,a[t.selectedField]=e[0].value===o[r].value,i.push(a);t.dataSource=i},filter:function(e){var t,r,a=e.data();if(a.dataSource){if("string"==typeof a.dataSource[0])for(t=0;t<a.dataSource.length;t++)(r={})[a.valueField]=a.dataSource[t],r[a.textField]=a.dataSource[t],a.dataSource[t]=r}else a.dataSource=[];return a.dataSource},render:function(e,t){var r=[],a=e.data(),o=e.parent(),n=$("body").children('[role="list"][guid="'+e.attr("data-guid")+'"]'),d=o.children('[role="presenter"]'),s=(d.children('[role="expander"]'),d.children('[role="display"]'));if(e.data("records",t),e.empty(),n.empty(),t&&t.length)if($.each(t,function(){var t,i=this[a.valueField],o=this[a.textField],d=this[a.selectedField]&&"true"===this[a.selectedField].toString().toLowerCase();(t=$('<li value="'+i+'"><div data-role="wrapper"><span data-role="display">'+o+"</span></div></li>")).addClass(a.style.item),t.on("click",function(t){gj.dropdown.methods.select(e,i)}),n.append(t),e.append('<option value="'+i+'">'+o+"</option>"),d&&r.push(i)}),0===r.length)e.prepend('<option value=""></option>'),e[0].selectedIndex=0,a.placeholder&&(s[0].innerHTML='<span class="placeholder">'+a.placeholder+"</span>");else for(i=0;i<r.length;i++)gj.dropdown.methods.select(e,r[i]);return a.width&&(o.css("width",a.width),d.css("width",a.width)),a.fontSize&&n.children("li").css("font-size",a.fontSize),gj.dropdown.events.dataBound(e),e},open:function(e,t){var r=e.data(),a=e.parent().find('[role="expander"]'),i=e.parent().find('[role="presenter"]'),o=gj.core.getScrollParent(e[0]);t.css("width",gj.core.width(i[0])),t.show(),gj.dropdown.methods.setListPosition(i[0],t[0],r),a.html(r.icons.dropup),o&&(r.parentScrollHandler=function(){gj.dropdown.methods.setListPosition(i[0],t[0],r)},gj.dropdown.methods.addParentsScrollListener(o,r.parentScrollHandler))},close:function(e,t){var r=e.data(),a=e.parent().find('[role="expander"]'),i=gj.core.getScrollParent(e[0]);a.html(r.icons.dropdown),i&&r.parentScrollHandler&&gj.dropdown.methods.removeParentsScrollListener(i,r.parentScrollHandler),t.hide()},addParentsScrollListener:function(e,t){var r=gj.core.getScrollParent(e.parentNode);e.addEventListener("scroll",t),r&&gj.dropdown.methods.addParentsScrollListener(r,t)},removeParentsScrollListener:function(e,t){var r=gj.core.getScrollParent(e.parentNode);e.removeEventListener("scroll",t),r&&gj.dropdown.methods.removeParentsScrollListener(r,t)},select:function(e,t){var r=e.data(),a=$("body").children('[role="list"][guid="'+e.attr("data-guid")+'"]'),i=a.children('li[value="'+t+'"]'),o=e.next('[role="presenter"]').find('[role="display"]'),n=gj.dropdown.methods.getRecordByValue(e,t);return a.children("li").removeClass(r.style.active),n?(i.addClass(r.style.active),e[0].value=t,o[0].innerHTML=n[r.textField]):(r.placeholder&&(o[0].innerHTML='<span class="placeholder">'+r.placeholder+"</span>"),e[0].value=""),gj.dropdown.events.change(e),gj.dropdown.methods.close(e,a),e},getRecordByValue:function(e,t){var r,a=e.data(),i=void 0;for(r=0;r<a.records.length;r++)if(a.records[r][a.valueField]===t){i=a.records[r];break}return i},value:function(e,t){return void 0===t?e.val():(gj.dropdown.methods.select(e,t),e)},destroy:function(e){var t=e.data(),r=e.parent('div[role="wrapper"]');return t&&(e.xhr&&e.xhr.abort(),e.off(),e.removeData(),e.removeAttr("data-type").removeAttr("data-guid").removeAttr("data-dropdown"),e.removeClass(),r.length>0&&(r.children('[role="presenter"]').remove(),r.children('[role="list"]').remove(),e.unwrap()),e.show()),e}},gj.dropdown.events={change:function(e){return e.triggerHandler("change")},dataBound:function(e){return e.triggerHandler("dataBound")}},gj.dropdown.widget=function(e,t){var r=gj.dropdown.methods;return this.value=function(e){return r.value(this,e)},this.enable=function(){return r.enable(this)},this.disable=function(){return r.disable(this)},this.destroy=function(){return r.destroy(this)},$.extend(e,this),"true"!==e.attr("data-dropdown")&&r.init.call(e,t),e},gj.dropdown.widget.prototype=new gj.widget,gj.dropdown.widget.constructor=gj.dropdown.widget,gj.dropdown.widget.prototype.getHTMLConfig=gj.dropdown.methods.getHTMLConfig,jQuery.fn.dropdown=function(e){var t;if(this&&this.length){if("object"!=typeof e&&e){if((t=new gj.dropdown.widget(this,null))[e])return t[e].apply(this,Array.prototype.slice.call(arguments,1));throw"Method "+e+" does not exist."}return new gj.dropdown.widget(this,e)}},gj.datepicker={plugins:{}},gj.datepicker.config={base:{showOtherMonths:!1,selectOtherMonths:!0,width:void 0,minDate:void 0,maxDate:void 0,format:"mm/dd/yyyy",uiLibrary:"materialdesign",iconsLibrary:"materialicons",value:void 0,weekStartDay:0,disableDates:void 0,disableDaysOfWeek:void 0,calendarWeeks:!1,keyboardNavigation:!0,locale:"en-us",icons:{rightIcon:'<i class="gj-icon">event</i>',previousMonth:'<i class="gj-icon chevron-left"></i>',nextMonth:'<i class="gj-icon chevron-right"></i>'},fontSize:void 0,size:"default",modal:!1,header:!1,footer:!1,showOnFocus:!0,showRightIcon:!0,style:{modal:"gj-modal",wrapper:"gj-datepicker gj-datepicker-md gj-unselectable",input:"gj-textbox-md",calendar:"gj-picker gj-picker-md datepicker gj-unselectable",footer:"",button:"gj-button-md"}},bootstrap:{style:{wrapper:"gj-datepicker gj-datepicker-bootstrap gj-unselectable input-group",input:"form-control",calendar:"gj-picker gj-picker-bootstrap datepicker gj-unselectable",footer:"modal-footer",button:"btn btn-default"},iconsLibrary:"glyphicons",showOtherMonths:!0},bootstrap4:{style:{wrapper:"gj-datepicker gj-datepicker-bootstrap gj-unselectable input-group",input:"form-control",calendar:"gj-picker gj-picker-bootstrap datepicker gj-unselectable",footer:"modal-footer",button:"btn btn-default"},showOtherMonths:!0},fontawesome:{icons:{rightIcon:'<i class="fa fa-calendar" aria-hidden="true"></i>',previousMonth:'<i class="fa fa-chevron-left" aria-hidden="true"></i>',nextMonth:'<i class="fa fa-chevron-right" aria-hidden="true"></i>'}},glyphicons:{icons:{rightIcon:'<span class="glyphicon glyphicon-calendar"></span>',previousMonth:'<span class="glyphicon glyphicon-chevron-left"></span>',nextMonth:'<span class="glyphicon glyphicon-chevron-right"></span>'}}},gj.datepicker.methods={init:function(e){return gj.widget.prototype.init.call(this,e,"datepicker"),this.attr("data-datepicker","true"),gj.datepicker.methods.initialize(this,this.data()),this},initialize:function(e,t){var r,a,i=e.parent('div[role="wrapper"]');0===i.length?(i=$('<div role="wrapper" />').addClass(t.style.wrapper),e.wrap(i)):i.addClass(t.style.wrapper),i=e.parent('div[role="wrapper"]'),t.width&&i.css("width",t.width),e.val(t.value).addClass(t.style.input).attr("role","input"),t.fontSize&&e.css("font-size",t.fontSize),"bootstrap"===t.uiLibrary||"bootstrap4"===t.uiLibrary?"small"===t.size?(i.addClass("input-group-sm"),e.addClass("form-control-sm")):"large"===t.size&&(i.addClass("input-group-lg"),e.addClass("form-control-lg")):"small"===t.size?i.addClass("small"):"large"===t.size&&i.addClass("large"),t.showRightIcon&&((a="bootstrap"===t.uiLibrary?$('<span class="input-group-addon">'+t.icons.rightIcon+"</span>"):"bootstrap4"===t.uiLibrary?$('<span class="input-group-append"><button class="btn btn-outline-secondary border-left-0" type="button">'+t.icons.rightIcon+"</button></span>"):$(t.icons.rightIcon)).attr("role","right-icon"),a.on("click",function(r){$("body").find('[role="calendar"][guid="'+e.attr("data-guid")+'"]').is(":visible")?gj.datepicker.methods.close(e):gj.datepicker.methods.open(e,t)}),i.append(a)),t.showOnFocus&&e.on("focus",function(){gj.datepicker.methods.open(e,t)}),r=gj.datepicker.methods.createCalendar(e,t),!0!==t.footer&&(e.on("blur",function(){e.timeout=setTimeout(function(){gj.datepicker.methods.close(e)},500)}),r.mousedown(function(){return clearTimeout(e.timeout),document.activeElement!==e[0]&&e.focus(),!1}),r.on("click",function(){clearTimeout(e.timeout),document.activeElement!==e[0]&&e.focus()})),t.keyboardNavigation&&$(document).on("keydown",gj.datepicker.methods.createKeyDownHandler(e,r,t))},createCalendar:function(e,t){var r,a,i,o,n,d=$('<div role="calendar" type="month"/>').addClass(t.style.calendar).attr("guid",e.attr("data-guid"));return t.fontSize&&d.css("font-size",t.fontSize),!(r=gj.core.parseDate(t.value,t.format,t.locale))||isNaN(r.getTime())?r=new Date:e.attr("day",r.getFullYear()+"-"+r.getMonth()+"-"+r.getDate()),d.attr("month",r.getMonth()),d.attr("year",r.getFullYear()),gj.datepicker.methods.renderHeader(e,d,t,r),a=$('<div role="body" />'),d.append(a),t.footer&&(i=$('<div role="footer" class="'+t.style.footer+'" />'),(o=$('<button class="'+t.style.button+'">'+gj.core.messages[t.locale].cancel+"</button>")).on("click",function(){e.close()}),i.append(o),(n=$('<button class="'+t.style.button+'">'+gj.core.messages[t.locale].ok+"</button>")).on("click",function(){var r,a,i=d.attr("selectedDay");i?(a=i.split("-"),r=new Date(a[0],a[1],a[2],d.attr("hour")||0,d.attr("minute")||0),gj.datepicker.methods.change(e,d,t,r)):e.close()}),i.append(n),d.append(i)),d.hide(),$("body").append(d),t.modal&&(d.wrapAll('<div role="modal" class="'+t.style.modal+'"/>'),gj.core.center(d)),d},renderHeader:function(e,t,r,a){var i,o,n;r.header&&(i=$('<div role="header" />'),(n=$('<div role="year" />').on("click",function(){gj.datepicker.methods.renderDecade(e,t,r),n.addClass("selected"),o.removeClass("selected")})).html(gj.core.formatDate(a,"yyyy",r.locale)),i.append(n),(o=$('<div role="date" class="selected" />').on("click",function(){gj.datepicker.methods.renderMonth(e,t,r),o.addClass("selected"),n.removeClass("selected")})).html(gj.core.formatDate(a,"ddd, mmm dd",r.locale)),i.append(o),t.append(i))},updateHeader:function(e,t,r){e.find('[role="header"] [role="year"]').removeClass("selected").html(gj.core.formatDate(r,"yyyy",t.locale)),e.find('[role="header"] [role="date"]').addClass("selected").html(gj.core.formatDate(r,"ddd, mmm dd",t.locale)),e.find('[role="header"] [role="hour"]').removeClass("selected").html(gj.core.formatDate(r,"HH",t.locale)),e.find('[role="header"] [role="minute"]').removeClass("selected").html(gj.core.formatDate(r,"MM",t.locale))},createNavigation:function(e,t,r,a){var o,n,d=$("<thead/>");for((n=$('<div role="navigator" />')).append($("<div>"+a.icons.previousMonth+"</div>").on("click",gj.datepicker.methods.prev(e,a))),n.append($('<div role="period"></div>').on("click",gj.datepicker.methods.changePeriod(e,a))),n.append($("<div>"+a.icons.nextMonth+"</div>").on("click",gj.datepicker.methods.next(e,a))),t.append(n),o=$('<tr role="week-days" />'),a.calendarWeeks&&o.append("<th><div>&nbsp;</div></th>"),i=a.weekStartDay;i<gj.core.messages[a.locale].weekDaysMin.length;i++)o.append("<th><div>"+gj.core.messages[a.locale].weekDaysMin[i]+"</div></th>");for(i=0;i<a.weekStartDay;i++)o.append("<th><div>"+gj.core.messages[a.locale].weekDaysMin[i]+"</div></th>");d.append(o),r.append(d)},renderMonth:function(e,t,r){var a,i,o,n,d,s,l,c,g,p,u,h,f,m,v,b=t.children('[role="body"]'),y=$("<table/>"),j=$("<tbody/>"),w=gj.core.messages[r.locale].titleFormat;for(b.off().empty(),gj.datepicker.methods.createNavigation(e,b,y,r),n=parseInt(t.attr("month"),10),d=parseInt(t.attr("year"),10),t.attr("type","month"),w=w.replace("mmmm",gj.core.messages[r.locale].monthNames[n]).replace("yyyy",d),t.find('div[role="period"]').text(w),s=new Array(31,28,31,30,31,30,31,31,30,31,30,31),d%4==0&&1900!=d&&(s[1]=29),l=s[n],c=(new Date(d,n,1).getDay()+7-r.weekStartDay)%7,a=0,$row=$("<tr />"),u=gj.datepicker.methods.getPrevMonth(n,d),g=1;g<=c;g++)o=s[u.month]-c+g,v=new Date(u.year,u.month,o),r.calendarWeeks&&1===g&&$row.append('<td class="calendar-week"><div>'+gj.datepicker.methods.getWeekNumber(v)+"</div></td>"),f=$('<td class="other-month" />'),r.showOtherMonths&&(m=$("<div>"+o+"</div>"),f.append(m),r.selectOtherMonths&&gj.datepicker.methods.isSelectable(r,v)?(f.addClass("gj-cursor-pointer").attr("day",o).attr("month",u.month).attr("year",u.year),m.on("click",gj.datepicker.methods.dayClickHandler(e,t,r,v)),m.on("mousedown",function(e){e.stopPropagation()})):f.addClass("disabled")),$row.append(f),a++;for(g>1&&j.append($row),p=new Date,g=1;g<=l;g++)v=new Date(d,n,g),0==a&&($row=$("<tr>"),r.calendarWeeks&&$row.append('<td class="calendar-week"><div>'+gj.datepicker.methods.getWeekNumber(v)+"</div></td>")),f=$('<td day="'+g+'" month="'+n+'" year="'+d+'" />'),d===p.getFullYear()&&n===p.getMonth()&&g===p.getDate()?f.addClass("today"):f.addClass("current-month"),m=$("<div>"+g+"</div>"),gj.datepicker.methods.isSelectable(r,v)?(f.addClass("gj-cursor-pointer"),m.on("click",gj.datepicker.methods.dayClickHandler(e,t,r,v)),m.on("mousedown",function(e){e.stopPropagation()})):f.addClass("disabled"),f.append(m),$row.append(f),7==++a&&(j.append($row),a=0);for(h=gj.datepicker.methods.getNextMonth(n,d),g=1;0!=a;g++)v=new Date(h.year,h.month,g),f=$('<td class="other-month" />'),r.showOtherMonths&&(m=$("<div>"+g+"</div>"),r.selectOtherMonths&&gj.datepicker.methods.isSelectable(r,v)?(f.addClass("gj-cursor-pointer").attr("day",g).attr("month",h.month).attr("year",h.year),m.on("click",gj.datepicker.methods.dayClickHandler(e,t,r,v)),m.on("mousedown",function(e){e.stopPropagation()})):f.addClass("disabled"),f.append(m)),$row.append(f),7==++a&&(j.append($row),a=0);y.append(j),b.append(y),t.attr("selectedDay")&&(i=t.attr("selectedDay").split("-"),v=new Date(i[0],i[1],i[2],t.attr("hour")||0,t.attr("minute")||0),t.find('tbody td[day="'+i[2]+'"][month="'+i[1]+'"]').addClass("selected"),gj.datepicker.methods.updateHeader(t,r,v))},renderYear:function(e,t,r){var a,i,o,n,d=t.find('>[role="body"]>table'),s=d.children("tbody");for(d.children("thead").hide(),a=parseInt(t.attr("year"),10),t.attr("type","year"),t.find('div[role="period"]').text(a),s.empty(),i=0;i<3;i++){for($row=$("<tr />"),o=4*i;o<=4*i+3;o++)(n=$("<div>"+gj.core.messages[r.locale].monthShortNames[o]+"</div>")).on("click",gj.datepicker.methods.selectMonth(e,t,r,o)),$cell=$("<td></td>").append(n),$row.append($cell);s.append($row)}},renderDecade:function(e,t,r){var a,i,o,n,d,s=t.find('>[role="body"]>table'),l=s.children("tbody");for(s.children("thead").hide(),i=(a=parseInt(t.attr("year"),10))-a%10,t.attr("type","decade"),t.find('div[role="period"]').text(i+" - "+(i+9)),l.empty(),o=i-1;o<=i+10;o+=4){for($row=$("<tr />"),n=o;n<=o+3;n++)(d=$("<div>"+n+"</div>")).on("click",gj.datepicker.methods.selectYear(e,t,r,n)),$cell=$("<td></td>").append(d),$row.append($cell);l.append($row)}},renderCentury:function(e,t,r){var a,i,o,n,d,s=t.find('>[role="body"]>table'),l=s.children("tbody");for(s.children("thead").hide(),i=(a=parseInt(t.attr("year"),10))-a%100,t.attr("type","century"),t.find('div[role="period"]').text(i+" - "+(i+99)),l.empty(),o=i-10;o<i+100;o+=40){for($row=$("<tr />"),n=o;n<=o+30;n+=10)(d=$("<div>"+n+"</div>")).on("click",gj.datepicker.methods.selectDecade(e,t,r,n)),$cell=$("<td></td>").append(d),$row.append($cell);l.append($row)}},getWeekNumber:function(e){var t=new Date(e.valueOf());t.setDate(t.getDate()+6),(t=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate()))).setUTCDate(t.getUTCDate()+4-(t.getUTCDay()||7));var r=new Date(Date.UTC(t.getUTCFullYear(),0,1));return Math.ceil(((t-r)/864e5+1)/7)},getMinDate:function(e){var t;return e.minDate&&("string"==typeof e.minDate?t=gj.core.parseDate(e.minDate,e.format,e.locale):"function"==typeof e.minDate?"string"==typeof(t=e.minDate())&&(t=gj.core.parseDate(t,e.format,e.locale)):"function"==typeof e.minDate.getMonth&&(t=e.minDate)),t},getMaxDate:function(e){var t;return e.maxDate&&("string"==typeof e.maxDate?t=gj.core.parseDate(e.maxDate,e.format,e.locale):"function"==typeof e.maxDate?"string"==typeof(t=e.maxDate())&&(t=gj.core.parseDate(t,e.format,e.locale)):"function"==typeof e.maxDate.getMonth&&(t=e.maxDate)),t},isSelectable:function(e,t){var r,a=!0,i=gj.datepicker.methods.getMinDate(e),o=gj.datepicker.methods.getMaxDate(e);if(i&&t<i?a=!1:o&&t>o&&(a=!1),a){if(e.disableDates)if($.isArray(e.disableDates))for(r=0;r<e.disableDates.length;r++)e.disableDates[r]instanceof Date&&e.disableDates[r].getTime()===t.getTime()?a=!1:"string"==typeof e.disableDates[r]&&gj.core.parseDate(e.disableDates[r],e.format,e.locale).getTime()===t.getTime()&&(a=!1);else e.disableDates instanceof Function&&(a=e.disableDates(t));$.isArray(e.disableDaysOfWeek)&&e.disableDaysOfWeek.indexOf(t.getDay())>-1&&(a=!1)}return a},getPrevMonth:function(e,t){return date=new Date(t,e,1),date.setMonth(date.getMonth()-1),{month:date.getMonth(),year:date.getFullYear()}},getNextMonth:function(e,t){return date=new Date(t,e,1),date.setMonth(date.getMonth()+1),{month:date.getMonth(),year:date.getFullYear()}},prev:function(e,t){return function(){var r,a,i,o,n,d=$("body").find('[role="calendar"][guid="'+e.attr("data-guid")+'"]');switch(i=parseInt(d.attr("year"),10),d.attr("type")){case"month":a=parseInt(d.attr("month"),10),r=gj.datepicker.methods.getPrevMonth(a,i),d.attr("month",r.month),d.attr("year",r.year),gj.datepicker.methods.renderMonth(e,d,t);break;case"year":d.attr("year",i-1),gj.datepicker.methods.renderYear(e,d,t);break;case"decade":o=i-i%10,d.attr("year",o-10),gj.datepicker.methods.renderDecade(e,d,t);break;case"century":n=i-i%100,d.attr("year",n-100),gj.datepicker.methods.renderCentury(e,d,t)}}},next:function(e,t){return function(){var r,a,i,o,n,d=$("body").find('[role="calendar"][guid="'+e.attr("data-guid")+'"]');switch(i=parseInt(d.attr("year"),10),d.attr("type")){case"month":a=parseInt(d.attr("month"),10),r=gj.datepicker.methods.getNextMonth(a,i),d.attr("month",r.month),d.attr("year",r.year),gj.datepicker.methods.renderMonth(e,d,t);break;case"year":d.attr("year",i+1),gj.datepicker.methods.renderYear(e,d,t);break;case"decade":o=i-i%10,d.attr("year",o+10),gj.datepicker.methods.renderDecade(e,d,t);break;case"century":n=i-i%100,d.attr("year",n+100),gj.datepicker.methods.renderCentury(e,d,t)}}},changePeriod:function(e,t){return function(r){var a=$("body").find('[role="calendar"][guid="'+e.attr("data-guid")+'"]');switch(a.attr("type")){case"month":gj.datepicker.methods.renderYear(e,a,t);break;case"year":gj.datepicker.methods.renderDecade(e,a,t);break;case"decade":gj.datepicker.methods.renderCentury(e,a,t)}}},dayClickHandler:function(e,t,r,a){return function(i){return i&&i.stopPropagation(),gj.datepicker.methods.selectDay(e,t,r,a),!0!==r.footer&&!1!==r.autoClose&&gj.datepicker.methods.change(e,t,r,a),e}},change:function(e,t,r,a){a.getDate();var i=a.getMonth(),o=a.getFullYear(),n=gj.core.formatDate(a,r.format,r.locale);t.attr("month",i),t.attr("year",o),e.val(n),gj.datepicker.events.change(e),"none"!==window.getComputedStyle(t[0]).display&&gj.datepicker.methods.close(e)},selectDay:function(e,t,r,a){var i=a.getDate(),o=a.getMonth(),n=a.getFullYear();t.attr("selectedDay",n+"-"+o+"-"+i),t.find("tbody td").removeClass("selected"),t.find('tbody td[day="'+i+'"][month="'+o+'"]').addClass("selected"),gj.datepicker.methods.updateHeader(t,r,a),gj.datepicker.events.select(e,"day")},selectMonth:function(e,t,r,a){return function(i){t.attr("month",a),gj.datepicker.methods.renderMonth(e,t,r),gj.datepicker.events.select(e,"month")}},selectYear:function(e,t,r,a){return function(i){t.attr("year",a),gj.datepicker.methods.renderYear(e,t,r),gj.datepicker.events.select(e,"year")}},selectDecade:function(e,t,r,a){return function(i){t.attr("year",a),gj.datepicker.methods.renderDecade(e,t,r),gj.datepicker.events.select(e,"decade")}},open:function(e,t){var r,a=$("body").find('[role="calendar"][guid="'+e.attr("data-guid")+'"]');switch(e.val()?e.value(e.val()):(r=new Date,a.attr("month",r.getMonth()),a.attr("year",r.getFullYear())),a.attr("type")){case"month":gj.datepicker.methods.renderMonth(e,a,t);break;case"year":gj.datepicker.methods.renderYear(e,a,t);break;case"decade":gj.datepicker.methods.renderDecade(e,a,t);break;case"century":gj.datepicker.methods.renderCentury(e,a,t)}a.show(),a.closest('div[role="modal"]').show(),t.modal?gj.core.center(a):(gj.core.setChildPosition(e[0],a[0]),document.activeElement!==e[0]&&e.focus()),clearTimeout(e.timeout),gj.datepicker.events.open(e)},close:function(e){var t=$("body").find('[role="calendar"][guid="'+e.attr("data-guid")+'"]');t.hide(),t.closest('div[role="modal"]').hide(),gj.datepicker.events.close(e)},createKeyDownHandler:function(e,t,r){return function(a){var i,o,n,d,s,l;a=a||window.event;"none"!==window.getComputedStyle(t[0]).display&&(l=gj.datepicker.methods.getActiveCell(t),"38"==a.keyCode?(d=l.index(),(s=l.closest("tr").prev("tr").find("td:eq("+d+")")).is("[day]")||(gj.datepicker.methods.prev(e,r)(),(s=t.find("tbody tr").last().find("td:eq("+d+")")).is(":empty")&&(s=t.find("tbody tr").last().prev().find("td:eq("+d+")"))),s.is("[day]")&&(s.addClass("focused"),l.removeClass("focused"))):"40"==a.keyCode?(d=l.index(),(s=l.closest("tr").next("tr").find("td:eq("+d+")")).is("[day]")||(gj.datepicker.methods.next(e,r)(),(s=t.find("tbody tr").first().find("td:eq("+d+")")).is("[day]")||(s=t.find("tbody tr:eq(1)").find("td:eq("+d+")"))),s.is("[day]")&&(s.addClass("focused"),l.removeClass("focused"))):"37"==a.keyCode?(0===(s=l.prev("td[day]:not(.disabled)")).length&&(s=l.closest("tr").prev("tr").find("td[day]").last()),0===s.length&&(gj.datepicker.methods.prev(e,r)(),s=t.find("tbody tr").last().find("td[day]").last()),s.length>0&&(s.addClass("focused"),l.removeClass("focused"))):"39"==a.keyCode?(0===(s=l.next("[day]:not(.disabled)")).length&&(s=l.closest("tr").next("tr").find("td[day]").first()),0===s.length&&(gj.datepicker.methods.next(e,r)(),s=t.find("tbody tr").first().find("td[day]").first()),s.length>0&&(s.addClass("focused"),l.removeClass("focused"))):"13"==a.keyCode?(n=parseInt(l.attr("day"),10),i=parseInt(l.attr("month"),10),o=parseInt(l.attr("year"),10),gj.datepicker.methods.dayClickHandler(e,t,r,new Date(o,i,n))()):"27"==a.keyCode&&e.close())}},getActiveCell:function(e){var t=e.find("td[day].focused");return 0===t.length&&0===(t=e.find("td[day].selected")).length&&0===(t=e.find("td[day].today")).length&&(t=e.find("td[day]:not(.disabled)").first()),t},value:function(e,t){var r,a,i=e.data();return void 0===t?e.val():((a=gj.core.parseDate(t,i.format,i.locale))&&a.getTime()?(r=$("body").find('[role="calendar"][guid="'+e.attr("data-guid")+'"]'),gj.datepicker.methods.dayClickHandler(e,r,i,a)()):e.val(""),e)},destroy:function(e){var t=e.data(),r=e.parent(),a=$("body").find('[role="calendar"][guid="'+e.attr("data-guid")+'"]');return t&&(e.off(),a.parent('[role="modal"]').length>0&&a.unwrap(),a.remove(),e.removeData(),e.removeAttr("data-type").removeAttr("data-guid").removeAttr("data-datepicker"),e.removeClass(),r.children('[role="right-icon"]').remove(),e.unwrap()),e}},gj.datepicker.events={change:function(e){return e.triggerHandler("change")},select:function(e,t){return e.triggerHandler("select",[t])},open:function(e){return e.triggerHandler("open")},close:function(e){return e.triggerHandler("close")}},gj.datepicker.widget=function(e,t){var r=gj.datepicker.methods;return this.value=function(e){return r.value(this,e)},this.destroy=function(){return r.destroy(this)},this.open=function(){return r.open(this,this.data())},this.close=function(){return r.close(this)},$.extend(e,this),"true"!==e.attr("data-datepicker")&&r.init.call(e,t),e},gj.datepicker.widget.prototype=new gj.widget,gj.datepicker.widget.constructor=gj.datepicker.widget,jQuery.fn.datepicker=function(e){var t;if(this&&this.length){if("object"!=typeof e&&e){if((t=new gj.datepicker.widget(this,null))[e])return t[e].apply(this,Array.prototype.slice.call(arguments,1));throw"Method "+e+" does not exist."}return new gj.datepicker.widget(this,e)}},gj.timepicker={plugins:{}},gj.timepicker.config={base:{width:void 0,modal:!0,header:!0,footer:!0,format:"HH:MM",uiLibrary:"materialdesign",value:void 0,mode:"ampm",locale:"en-us",size:"default",icons:{rightIcon:'<i class="gj-icon clock" />'},style:{modal:"gj-modal",wrapper:"gj-timepicker gj-timepicker-md gj-unselectable",input:"gj-textbox-md",clock:"gj-picker gj-picker-md timepicker",footer:"",button:"gj-button-md"}},bootstrap:{style:{wrapper:"gj-timepicker gj-timepicker-bootstrap gj-unselectable input-group",input:"form-control",clock:"gj-picker gj-picker-bootstrap timepicker",footer:"modal-footer",button:"btn btn-default"},iconsLibrary:"glyphicons"},bootstrap4:{style:{wrapper:"gj-timepicker gj-timepicker-bootstrap gj-unselectable input-group",input:"form-control border",clock:"gj-picker gj-picker-bootstrap timepicker",footer:"modal-footer",button:"btn btn-default"}}},gj.timepicker.methods={init:function(e){return gj.picker.widget.prototype.init.call(this,e,"timepicker"),this},initialize:function(){},initMouse:function(e,t,r,a){e.off(),e.on("mousedown",gj.timepicker.methods.mouseDownHandler(t,r)),e.on("mousemove",gj.timepicker.methods.mouseMoveHandler(t,r,a)),e.on("mouseup",gj.timepicker.methods.mouseUpHandler(t,r,a))},createPicker:function(e){var t,r=e.data(),a=$('<div role="picker" />').addClass(r.style.clock).attr("guid",e.attr("data-guid")),i=$('<div role="hour" />'),o=$('<div role="minute" />'),n=$('<div role="header" />'),d=$('<div role="mode" />'),s=$('<div role="body" />'),l=$('<button class="'+r.style.button+'">'+gj.core.messages[r.locale].ok+"</button>"),c=$('<button class="'+r.style.button+'">'+gj.core.messages[r.locale].cancel+"</button>"),g=$('<div role="footer" class="'+r.style.footer+'" />');return!(t=gj.core.parseDate(r.value,r.format,r.locale))||isNaN(t.getTime())?t=new Date:e.attr("hours",t.getHours()),gj.timepicker.methods.initMouse(s,e,a,r),r.header&&(i.on("click",function(){gj.timepicker.methods.renderHours(e,a,r)}),o.on("click",function(){gj.timepicker.methods.renderMinutes(e,a,r)}),n.append(i).append(":").append(o),"ampm"===r.mode&&(d.append($('<span role="am">'+gj.core.messages[r.locale].am+"</span>").on("click",function(){var t=gj.timepicker.methods.getHour(a);a.attr("mode","am"),$(this).addClass("selected"),$(this).parent().children('[role="pm"]').removeClass("selected"),t>=12&&a.attr("hour",t-12),r.modal||(clearTimeout(e.timeout),e.focus())})),d.append("<br />"),d.append($('<span role="pm">'+gj.core.messages[r.locale].pm+"</span>").on("click",function(){var t=gj.timepicker.methods.getHour(a);a.attr("mode","pm"),$(this).addClass("selected"),$(this).parent().children('[role="am"]').removeClass("selected"),t<12&&a.attr("hour",t+12),r.modal||(clearTimeout(e.timeout),e.focus())})),n.append(d)),a.append(n)),a.append(s),r.footer&&(c.on("click",function(){e.close()}),g.append(c),l.on("click",gj.timepicker.methods.setTime(e,a)),g.append(l),a.append(g)),a.hide(),$("body").append(a),r.modal&&(a.wrapAll('<div role="modal" class="'+r.style.modal+'"/>'),gj.core.center(a)),a},getHour:function(e){return parseInt(e.attr("hour"),10)||0},getMinute:function(e){return parseInt(e.attr("minute"),10)||0},setTime:function(e,t){return function(){var r=gj.timepicker.methods.getHour(t),a=gj.timepicker.methods.getMinute(t),i=t.attr("mode"),o=new Date(0,0,0,12===r&&"am"===i?0:r,a),n=e.data(),d=gj.core.formatDate(o,n.format,n.locale);e.value(d),e.close()}},getPointerValue:function(e,t,r){var a,i,o=Math.atan2(128-e,128-t)/Math.PI*180;switch(o<0&&(o=360+o),r){case"ampm":return 0===(a=12-Math.round(12*o/360))?12:a;case"24hr":return i=Math.sqrt(Math.pow(128-e,2)+Math.pow(128-t,2)),0===(a=12-Math.round(12*o/360))&&(a=12),i<96&&(a=12===a?0:a+12),a;case"minutes":return 60===(a=Math.round(60-60*o/360))?0:a}},updateArrow:function(e,t,r,a){var i,o,n=t.mouseX(e),d=t.mouseY(e),s=window.scrollY||window.pageYOffset||0,l=window.scrollX||window.pageXOffset||0;i=e.target.getBoundingClientRect(),"hours"==a.dialMode?(o=gj.timepicker.methods.getPointerValue(n-l-i.left,d-s-i.top,a.mode),r.attr("hour","ampm"===a.mode&&"pm"===r.attr("mode")&&o<12?o+12:o)):"minutes"==a.dialMode&&(o=gj.timepicker.methods.getPointerValue(n-l-i.left,d-s-i.top,"minutes"),r.attr("minute",o)),gj.timepicker.methods.update(t,r,a)},update:function(e,t,r){var a,i,o,n,d,s;a=gj.timepicker.methods.getHour(t),i=gj.timepicker.methods.getMinute(t),o=t.find('[role="arrow"]'),"hours"==r.dialMode&&(0==a||a>12)&&"24hr"===r.mode?o.css("width","calc(50% - 52px)"):o.css("width","calc(50% - 20px)"),"hours"==r.dialMode?o.css("transform","rotate("+(30*a-90).toString()+"deg)"):o.css("transform","rotate("+(6*i-90).toString()+"deg)"),o.show(),n="ampm"===r.mode&&a>12?a-12:0==a?12:a,(s=t.find('[role="body"] span')).removeClass("selected"),s.filter(function(e){return"hours"==r.dialMode?parseInt($(this).text(),10)==n:parseInt($(this).text(),10)==i}).addClass("selected"),r.header&&((d=t.find('[role="header"]')).find('[role="hour"]').text(n),d.find('[role="minute"]').text(gj.core.pad(i)),"ampm"===r.mode&&(a>=12?(d.find('[role="pm"]').addClass("selected"),d.find('[role="am"]').removeClass("selected")):(d.find('[role="am"]').addClass("selected"),d.find('[role="pm"]').removeClass("selected"))))},mouseDownHandler:function(e,t){return function(t){e.mouseMove=!0}},mouseMoveHandler:function(e,t,r){return function(a){e.mouseMove&&gj.timepicker.methods.updateArrow(a,e,t,r)}},mouseUpHandler:function(e,t,r){return function(a){gj.timepicker.methods.updateArrow(a,e,t,r),e.mouseMove=!1,r.modal||(clearTimeout(e.timeout),e.focus()),"hours"==r.dialMode?setTimeout(function(){gj.timepicker.events.select(e,"hour"),gj.timepicker.methods.renderMinutes(e,t,r)},1e3):"minutes"==r.dialMode&&(!0!==r.footer&&!1!==r.autoClose&&gj.timepicker.methods.setTime(e,t)(),gj.timepicker.events.select(e,"minute"))}},renderHours:function(e,t,r){var a,i=t.find('[role="body"]');clearTimeout(e.timeout),i.empty(),(a=$('<div role="dial"></div>')).append('<div role="arrow" style="transform: rotate(-90deg); display: none;"><div class="arrow-begin"></div><div class="arrow-end"></div></div>'),a.append('<span role="hour" style="transform: translate(54px, -93.5307px);">1</span>'),a.append('<span role="hour" style="transform: translate(93.5307px, -54px);">2</span>'),a.append('<span role="hour" style="transform: translate(108px, 0px);">3</span>'),a.append('<span role="hour" style="transform: translate(93.5307px, 54px);">4</span>'),a.append('<span role="hour" style="transform: translate(54px, 93.5307px);">5</span>'),a.append('<span role="hour" style="transform: translate(6.61309e-15px, 108px);">6</span>'),a.append('<span role="hour" style="transform: translate(-54px, 93.5307px);">7</span>'),a.append('<span role="hour" style="transform: translate(-93.5307px, 54px);">8</span>'),a.append('<span role="hour" style="transform: translate(-108px, 1.32262e-14px);">9</span>'),a.append('<span role="hour" style="transform: translate(-93.5307px, -54px);">10</span>'),a.append('<span role="hour" style="transform: translate(-54px, -93.5307px);">11</span>'),a.append('<span role="hour" style="transform: translate(-1.98393e-14px, -108px);">12</span>'),"24hr"===r.mode&&(a.append('<span role="hour" style="transform: translate(38px, -65.8179px);">13</span>'),a.append('<span role="hour" style="transform: translate(65.8179px, -38px);">14</span>'),a.append('<span role="hour" style="transform: translate(76px, 0px);">15</span>'),a.append('<span role="hour" style="transform: translate(65.8179px, 38px);">16</span>'),a.append('<span role="hour" style="transform: translate(38px, 65.8179px);">17</span>'),a.append('<span role="hour" style="transform: translate(4.65366e-15px, 76px);">18</span>'),a.append('<span role="hour" style="transform: translate(-38px, 65.8179px);">19</span>'),a.append('<span role="hour" style="transform: translate(-65.8179px, 38px);">20</span>'),a.append('<span role="hour" style="transform: translate(-76px, 9.30732e-15px);">21</span>'),a.append('<span role="hour" style="transform: translate(-65.8179px, -38px);">22</span>'),a.append('<span role="hour" style="transform: translate(-38px, -65.8179px);">23</span>'),a.append('<span role="hour" style="transform: translate(-1.3961e-14px, -76px);">00</span>')),i.append(a),t.find('[role="header"] [role="hour"]').addClass("selected"),t.find('[role="header"] [role="minute"]').removeClass("selected"),r.dialMode="hours",gj.timepicker.methods.update(e,t,r)},renderMinutes:function(e,t,r){var a=t.find('[role="body"]');clearTimeout(e.timeout),a.empty(),$dial=$('<div role="dial"></div>'),$dial.append('<div role="arrow" style="transform: rotate(-90deg); display: none;"><div class="arrow-begin"></div><div class="arrow-end"></div></div>'),$dial.append('<span role="hour" style="transform: translate(54px, -93.5307px);">5</span>'),$dial.append('<span role="hour" style="transform: translate(93.5307px, -54px);">10</span>'),$dial.append('<span role="hour" style="transform: translate(108px, 0px);">15</span>'),$dial.append('<span role="hour" style="transform: translate(93.5307px, 54px);">20</span>'),$dial.append('<span role="hour" style="transform: translate(54px, 93.5307px);">25</span>'),$dial.append('<span role="hour" style="transform: translate(6.61309e-15px, 108px);">30</span>'),$dial.append('<span role="hour" style="transform: translate(-54px, 93.5307px);">35</span>'),$dial.append('<span role="hour" style="transform: translate(-93.5307px, 54px);">40</span>'),$dial.append('<span role="hour" style="transform: translate(-108px, 1.32262e-14px);">45</span>'),$dial.append('<span role="hour" style="transform: translate(-93.5307px, -54px);">50</span>'),$dial.append('<span role="hour" style="transform: translate(-54px, -93.5307px);">55</span>'),$dial.append('<span role="hour" style="transform: translate(-1.98393e-14px, -108px);">00</span>'),a.append($dial),t.find('[role="header"] [role="hour"]').removeClass("selected"),t.find('[role="header"] [role="minute"]').addClass("selected"),r.dialMode="minutes",gj.timepicker.methods.update(e,t,r)},open:function(e){var t,r,a=e.data(),i=$("body").find('[role="picker"][guid="'+e.attr("data-guid")+'"]');return r=(t=e.value()?gj.core.parseDate(e.value(),a.format,a.locale):new Date).getHours(),"ampm"===a.mode&&i.attr("mode",r>12?"pm":"am"),i.attr("hour",r),i.attr("minute",t.getMinutes()),gj.timepicker.methods.renderHours(e,i,a),gj.picker.widget.prototype.open.call(e,"timepicker"),e},value:function(e,t){e.data();return void 0===t?e.val():(e.val(t),gj.timepicker.events.change(e),e)}},gj.timepicker.events={change:function(e){return e.triggerHandler("change")},select:function(e,t){return e.triggerHandler("select",[t])},open:function(e){return e.triggerHandler("open")},close:function(e){return e.triggerHandler("close")}},gj.timepicker.widget=function(e,t){var r=gj.timepicker.methods;return this.mouseMove=!1,this.value=function(e){return r.value(this,e)},this.destroy=function(){return gj.picker.widget.prototype.destroy.call(this,"timepicker")},this.open=function(){return gj.timepicker.methods.open(this)},this.close=function(){return gj.picker.widget.prototype.close.call(this,"timepicker")},$.extend(e,this),"true"!==e.attr("data-timepicker")&&r.init.call(e,t),e},gj.timepicker.widget.prototype=new gj.picker.widget,gj.timepicker.widget.constructor=gj.timepicker.widget,jQuery.fn.timepicker=function(e){var t;if(this&&this.length){if("object"!=typeof e&&e){if((t=new gj.timepicker.widget(this,null))[e])return t[e].apply(this,Array.prototype.slice.call(arguments,1));throw"Method "+e+" does not exist."}return new gj.timepicker.widget(this,e)}},gj.datetimepicker={plugins:{},messages:{"en-us":{}}},gj.datetimepicker.config={base:{datepicker:gj.datepicker.config.base,timepicker:gj.timepicker.config.base,uiLibrary:"materialdesign",value:void 0,format:"HH:MM mm/dd/yyyy",width:void 0,modal:!1,footer:!1,size:"default",locale:"en-us",icons:{},style:{calendar:"gj-picker gj-picker-md datetimepicker gj-unselectable"}},bootstrap:{style:{calendar:"gj-picker gj-picker-bootstrap datetimepicker gj-unselectable"},iconsLibrary:"glyphicons"},bootstrap4:{style:{calendar:"gj-picker gj-picker-bootstrap datetimepicker gj-unselectable"}}},gj.datetimepicker.methods={init:function(e){return gj.widget.prototype.init.call(this,e,"datetimepicker"),this.attr("data-datetimepicker","true"),gj.datetimepicker.methods.initialize(this),this},getConfig:function(e,t){var r=gj.widget.prototype.getConfig.call(this,e,t);return uiLibrary=e.hasOwnProperty("uiLibrary")?e.uiLibrary:r.uiLibrary,gj.datepicker.config[uiLibrary]&&$.extend(!0,r.datepicker,gj.datepicker.config[uiLibrary]),gj.timepicker.config[uiLibrary]&&$.extend(!0,r.timepicker,gj.timepicker.config[uiLibrary]),iconsLibrary=e.hasOwnProperty("iconsLibrary")?e.iconsLibrary:r.iconsLibrary,gj.datepicker.config[iconsLibrary]&&$.extend(!0,r.datepicker,gj.datepicker.config[iconsLibrary]),gj.timepicker.config[iconsLibrary]&&$.extend(!0,r.timepicker,gj.timepicker.config[iconsLibrary]),r},initialize:function(e){var t,r,a,i,o,n,d,s,l=e.data();l.datepicker.uiLibrary=l.uiLibrary,l.datepicker.iconsLibrary=l.iconsLibrary,l.datepicker.width=l.width,l.datepicker.format=l.format,l.datepicker.locale=l.locale,l.datepicker.modal=l.modal,l.datepicker.footer=l.footer,l.datepicker.style.calendar=l.style.calendar,l.datepicker.value=l.value,l.datepicker.size=l.size,l.datepicker.autoClose=!1,gj.datepicker.methods.initialize(e,l.datepicker),e.on("select",function(r,a){var i,o;"day"===a?gj.datetimepicker.methods.createShowHourHandler(e,t,l)():"minute"===a&&t.attr("selectedDay")&&!0!==l.footer&&(selectedDay=t.attr("selectedDay").split("-"),i=new Date(selectedDay[0],selectedDay[1],selectedDay[2],t.attr("hour")||0,t.attr("minute")||0),o=gj.core.formatDate(i,l.format,l.locale),e.val(o),gj.datetimepicker.events.change(e),gj.datetimepicker.methods.close(e))}),e.on("open",function(){var e=t.children('[role="header"]');e.find('[role="calendarMode"]').addClass("selected"),e.find('[role="clockMode"]').removeClass("selected")}),t=$("body").find('[role="calendar"][guid="'+e.attr("data-guid")+'"]'),o=l.value?gj.core.parseDate(l.value,l.format,l.locale):new Date,t.attr("hour",o.getHours()),t.attr("minute",o.getMinutes()),l.timepicker.uiLibrary=l.uiLibrary,l.timepicker.iconsLibrary=l.iconsLibrary,l.timepicker.format=l.format,l.timepicker.locale=l.locale,l.timepicker.header=!0,l.timepicker.footer=l.footer,l.timepicker.size=l.size,l.timepicker.mode="24hr",l.timepicker.autoClose=!1,r=$('<div role="header" />'),(a=$('<div role="date" class="selected" />')).on("click",gj.datetimepicker.methods.createShowDateHandler(e,t,l)),a.html(gj.core.formatDate(new Date,"ddd, mmm dd",l.locale)),r.append(a),n=$('<div role="switch"></div>'),(d=$('<i class="gj-icon selected" role="calendarMode">event</i>')).on("click",gj.datetimepicker.methods.createShowDateHandler(e,t,l)),n.append(d),(i=$('<div role="time" />')).append($('<div role="hour" />').on("click",gj.datetimepicker.methods.createShowHourHandler(e,t,l)).html(gj.core.formatDate(new Date,"HH",l.locale))),i.append(":"),i.append($('<div role="minute" />').on("click",gj.datetimepicker.methods.createShowMinuteHandler(e,t,l)).html(gj.core.formatDate(new Date,"MM",l.locale))),n.append(i),(s=$('<i class="gj-icon" role="clockMode">clock</i>')).on("click",gj.datetimepicker.methods.createShowHourHandler(e,t,l)),n.append(s),r.append(n),t.prepend(r)},createShowDateHandler:function(e,t,r){return function(a){var i=t.children('[role="header"]');i.find('[role="calendarMode"]').addClass("selected"),i.find('[role="date"]').addClass("selected"),i.find('[role="clockMode"]').removeClass("selected"),i.find('[role="hour"]').removeClass("selected"),i.find('[role="minute"]').removeClass("selected"),gj.datepicker.methods.renderMonth(e,t,r.datepicker)}},createShowHourHandler:function(e,t,r){return function(){var a=t.children('[role="header"]');a.find('[role="calendarMode"]').removeClass("selected"),a.find('[role="date"]').removeClass("selected"),a.find('[role="clockMode"]').addClass("selected"),a.find('[role="hour"]').addClass("selected"),a.find('[role="minute"]').removeClass("selected"),gj.timepicker.methods.initMouse(t.children('[role="body"]'),e,t,r.timepicker),gj.timepicker.methods.renderHours(e,t,r.timepicker)}},createShowMinuteHandler:function(e,t,r){return function(){var a=t.children('[role="header"]');a.find('[role="calendarMode"]').removeClass("selected"),a.find('[role="date"]').removeClass("selected"),a.find('[role="clockMode"]').addClass("selected"),a.find('[role="hour"]').removeClass("selected"),a.find('[role="minute"]').addClass("selected"),gj.timepicker.methods.initMouse(t.children('[role="body"]'),e,t,r.timepicker),gj.timepicker.methods.renderMinutes(e,t,r.timepicker)}},close:function(e){var t=$("body").find('[role="calendar"][guid="'+e.attr("data-guid")+'"]');t.hide(),t.closest('div[role="modal"]').hide()},value:function(e,t){var r,a,i,o=e.data();return void 0===t?e.val():((a=gj.core.parseDate(t,o.format,o.locale))?(r=$("body").find('[role="calendar"][guid="'+e.attr("data-guid")+'"]'),gj.datepicker.methods.dayClickHandler(e,r,o,a)(),i=a.getHours(),"ampm"===o.mode&&r.attr("mode",i>12?"pm":"am"),r.attr("hour",i),r.attr("minute",a.getMinutes()),e.val(t)):e.val(""),e)},destroy:function(e){var t=e.data(),r=e.parent(),a=$("body").find('[role="calendar"][guid="'+e.attr("data-guid")+'"]');return t&&(e.off(),a.parent('[role="modal"]').length>0&&a.unwrap(),a.remove(),e.removeData(),e.removeAttr("data-type").removeAttr("data-guid").removeAttr("data-datetimepicker"),e.removeClass(),r.children('[role="right-icon"]').remove(),e.unwrap()),e}},gj.datetimepicker.events={change:function(e){return e.triggerHandler("change")}},gj.datetimepicker.widget=function(e,t){var r=gj.datetimepicker.methods;return this.mouseMove=!1,this.value=function(e){return r.value(this,e)},this.open=function(){gj.datepicker.methods.open(this,this.data().datepicker)},this.close=function(){gj.datepicker.methods.close(this)},this.destroy=function(){return r.destroy(this)},$.extend(e,this),"true"!==e.attr("data-datetimepicker")&&r.init.call(e,t),e},gj.datetimepicker.widget.prototype=new gj.widget,gj.datetimepicker.widget.constructor=gj.datetimepicker.widget,gj.datetimepicker.widget.prototype.getConfig=gj.datetimepicker.methods.getConfig,jQuery.fn.datetimepicker=function(e){var t;if(this&&this.length){if("object"!=typeof e&&e){if((t=new gj.datetimepicker.widget(this,null))[e])return t[e].apply(this,Array.prototype.slice.call(arguments,1));throw"Method "+e+" does not exist."}return new gj.datetimepicker.widget(this,e)}},gj.slider={plugins:{},messages:{"en-us":{}}},gj.slider.config={base:{min:0,max:100,width:void 0,uiLibrary:"materialdesign",value:void 0,icons:{},style:{wrapper:"gj-slider gj-slider-md",progress:void 0,track:void 0}},bootstrap:{style:{wrapper:"gj-slider gj-slider-bootstrap gj-slider-bootstrap-3",progress:"progress-bar",track:"progress"}},bootstrap4:{style:{wrapper:"gj-slider gj-slider-bootstrap gj-slider-bootstrap-4",progress:"progress-bar",track:"progress"}}},gj.slider.methods={init:function(e){return gj.widget.prototype.init.call(this,e,"slider"),this.attr("data-slider","true"),gj.slider.methods.initialize(this,this.data()),this},initialize:function(e,t){var r,a,i,o;e[0].style.display="none","wrapper"!==e[0].parentElement.attributes.role?((r=document.createElement("div")).setAttribute("role","wrapper"),e[0].parentNode.insertBefore(r,e[0]),r.appendChild(e[0])):r=e[0].parentElement,t.width&&(r.style.width=t.width+"px"),gj.core.addClasses(r,t.style.wrapper),null==(a=e[0].querySelector('[role="track"]'))&&((a=document.createElement("div")).setAttribute("role","track"),r.appendChild(a)),gj.core.addClasses(a,t.style.track),null==(i=e[0].querySelector('[role="handle"]'))&&((i=document.createElement("div")).setAttribute("role","handle"),r.appendChild(i)),null==(o=e[0].querySelector('[role="progress"]'))&&((o=document.createElement("div")).setAttribute("role","progress"),r.appendChild(o)),gj.core.addClasses(o,t.style.progress),t.value||(t.value=t.min),gj.slider.methods.value(e,t,t.value),gj.documentManager.subscribeForEvent("mouseup",e.data("guid"),gj.slider.methods.createMouseUpHandler(e,i,t)),i.addEventListener("mousedown",gj.slider.methods.createMouseDownHandler(i,t)),gj.documentManager.subscribeForEvent("mousemove",e.data("guid"),gj.slider.methods.createMouseMoveHandler(e,a,i,o,t)),i.addEventListener("click",function(e){e.stopPropagation()}),r.addEventListener("click",gj.slider.methods.createClickHandler(e,a,i,t))},createClickHandler:function(e,t,r,a){return function(i){var o,n,d,s,l;"true"!==r.getAttribute("drag")&&(o=gj.core.position(e[0].parentElement),n=(new gj.widget).mouseX(i)-o.left,d=gj.core.width(r)/2,s=gj.core.width(t)/(a.max-a.min),l=Math.round((n-d)/s)+a.min,gj.slider.methods.value(e,a,l))}},createMouseUpHandler:function(e,t,r){return function(r){"true"===t.getAttribute("drag")&&(t.setAttribute("drag","false"),gj.slider.events.change(e))}},createMouseDownHandler:function(e,t){return function(t){e.setAttribute("drag","true")}},createMouseMoveHandler:function(e,t,r,a,i){return function(a){var o,n,d,s,l,c,g;"true"===r.getAttribute("drag")&&(o=gj.core.position(e[0].parentElement),n=(new gj.widget).mouseX(a)-o.left,d=gj.core.width(t),s=gj.core.width(r)/2,l=d/(i.max-i.min),c=(i.value-i.min)*l,n>=s&&n<=d+s&&(n>c+l/2||n<c-l/2)&&(g=Math.round((n-s)/l)+i.min,gj.slider.methods.value(e,i,g)))}},value:function(e,t,r){var a,i;return void 0===r?e[0].value:(e[0].setAttribute("value",r),t.value=r,i=e.parent().children('[role="track"]')[0],a=gj.core.width(i)/(t.max-t.min),e.parent().children('[role="handle"]')[0].style.left=(r-t.min)*a+"px",e.parent().children('[role="progress"]')[0].style.width=(r-t.min)*a+"px",gj.slider.events.slide(e,r),e)},destroy:function(e){var t=e.data(),r=e.parent();return t&&(r.children('[role="track"]').remove(),r.children('[role="handle"]').remove(),r.children('[role="progress"]').remove(),e.unwrap(),e.off(),e.removeData(),e.removeAttr("data-type").removeAttr("data-guid").removeAttr("data-slider"),e.removeClass(),e.show()),e}},gj.slider.events={change:function(e){return e.triggerHandler("change")},slide:function(e,t){return e.triggerHandler("slide",[t])}},gj.slider.widget=function(e,t){var r=gj.slider.methods;return this.value=function(e){return r.value(this,this.data(),e)},this.destroy=function(){return r.destroy(this)},$.extend(e,this),"true"!==e.attr("data-slider")&&r.init.call(e,t),e},gj.slider.widget.prototype=new gj.widget,gj.slider.widget.constructor=gj.slider.widget,jQuery.fn.slider=function(e){var t;if(this&&this.length){if("object"!=typeof e&&e){if((t=new gj.slider.widget(this,null))[e])return t[e].apply(this,Array.prototype.slice.call(arguments,1));throw"Method "+e+" does not exist."}return new gj.slider.widget(this,e)}},gj.colorpicker={plugins:{},messages:{"en-us":{}}},gj.colorpicker.config={base:{uiLibrary:"materialdesign",value:void 0,icons:{rightIcon:'<i class="gj-icon">event</i>'},style:{modal:"gj-modal",wrapper:"gj-colorpicker gj-colorpicker-md gj-unselectable",input:"gj-textbox-md",picker:"gj-picker gj-picker-md colorpicker gj-unselectable",footer:"",button:"gj-button-md"}},bootstrap:{style:{}},bootstrap4:{style:{}}},gj.colorpicker.methods={init:function(e){return gj.picker.widget.prototype.init.call(this,e,"colorpicker"),gj.colorpicker.methods.initialize(this),this},initialize:function(e){},createPicker:function(e,t){var r=$('<div role="picker" />').addClass(t.style.picker).attr("guid",e.attr("data-guid"));return r.html("test"),r.hide(),$("body").append(r),r},open:function(e){return e.val()&&e.value(e.val()),gj.picker.widget.prototype.open.call(e,"colorpicker")}},gj.colorpicker.events={change:function(e){return e.triggerHandler("change")},select:function(e){return e.triggerHandler("select")},open:function(e){return e.triggerHandler("open")},close:function(e){return e.triggerHandler("close")}},gj.colorpicker.widget=function(e,t){var r=gj.colorpicker.methods;return this.value=function(e){return r.value(this,e)},this.destroy=function(){return gj.picker.widget.prototype.destroy.call(this,"colorpicker")},this.open=function(){return r.open(this)},this.close=function(){return gj.picker.widget.prototype.close.call(this,"colorpicker")},$.extend(e,this),"true"!==e.attr("data-colorpicker")&&r.init.call(e,t),e},gj.colorpicker.widget.prototype=new gj.picker.widget,gj.colorpicker.widget.constructor=gj.colorpicker.widget,jQuery.fn.colorpicker=function(e){var t;if(this&&this.length){if("object"!=typeof e&&e){if((t=new gj.colorpicker.widget(this,null))[e])return t[e].apply(this,Array.prototype.slice.call(arguments,1));throw"Method "+e+" does not exist."}return new gj.colorpicker.widget(this,e)}};