var Dashboard={grid:null,elem_id:"",element:null,elem_dom:null,rand:null,interval:null,current_name:null,markdown_editors:[],all_cards:[],all_widgets:[],edit_mode:false,embed:false,ajax_cards:false,context:"core",markdown_contents:[],dash_width:0,cell_margin:3,cols:26,cache_key:"",display:function(a){var e=typeof a!=="undefined"?a:{};var t={cols:24,rows:24,cell_length:40,cell_margin:5,rand:"",embed:false,ajax_cards:true,all_cards:[],context:"core"};e=Object.assign({},t,e);this.rand=e.rand;this.elem_id="#dashboard-"+e.rand;this.element=$(Dashboard.elem_id);this.elem_dom=Dashboard.element[0];this.current_name=$(this.elem_id+" .dashboard_select").val()||e.current;this.embed=e.embed;this.ajax_cards=e.ajax_cards;this.all_cards=e.all_cards;this.all_widgets=e.all_widgets;this.context=e.context;this.dash_width=this.element.width();this.cell_margin=e.cell_margin;this.cols=e.cols;this.cache_key=e.cache_key||"";$("#grid-stack-"+e.rand).gridstack({column:e.cols,maxRow:e.rows+1,verticalMargin:this.cell_margin,float:true,animate:false,draggable:{cancel:"textarea"}});Dashboard.grid=$("#grid-stack-"+e.rand).data("gridstack");Dashboard.grid.setStatic(true);Dashboard.generateCss();Dashboard.initFilters();if(Dashboard.ajax_cards){Dashboard.getCardsAjax()}if(!Dashboard.ajax_cards){Dashboard.fitNumbers();Dashboard.animateNumbers()}$("#dashboard-"+e.rand+" .toolbar .dashboard_select").change((function(){Dashboard.current_name=$(this).val();var a=$(this).find("option:selected").text();$(".dashboard-name").val(a);Dashboard.refreshDashboard();Dashboard.setLastDashboard();Dashboard.initFilters()}));$("#dashboard-"+e.rand+" .toolbar .add-dashboard").click((function(){Dashboard.addForm()}));$(document).on("submit",".display-add-dashboard-form",(function(a){a.preventDefault();$(".ui-dialog-content").dialog("close");var e=$(this);var t={};$.each(e.closest(".display-add-dashboard-form").serializeArray(),(function(){t[this.name]=this.value}));Dashboard.addNew(t)}));$("#dashboard-"+e.rand+" .toolbar .delete-dashboard").click((function(){Dashboard.delete()}));$("#dashboard-"+e.rand+" .toolbar .clone-dashboard").click((function(){Dashboard.clone()}));$("#dashboard-"+e.rand+" .toolbar .open-embed").click((function(){$('
').load(CFG_GLPI.root_doc+"/ajax/dashboard.php",{action:"display_embed_form",dashboard:Dashboard.current_name},(function(){$(this).dialog({width:300,modal:true,open:function(){$(this).find("input").first().focus()}})}))}));$("#dashboard-"+e.rand+" .toolbar .edit-dashboard").click((function(){var a=!$(this).hasClass("active");Dashboard.setEditMode(a)}));var r="#dashboard-"+e.rand+" .toggle-fullscreen";$(r).click((function(){Dashboard.toggleFullscreenMode($(this))}));$(document).on("fullscreenchange webkitfullscreenchange mozfullscreenchange MSFullscreenChange",(function(){if(!document.webkitIsFullScreen&&!document.mozFullScreen&&!document.msFullscreenElement!==null){Dashboard.disableFullscreenMode()}}));$("#dashboard-"+e.rand+" .toolbar .night-mode").click((function(){$(this).toggleClass("active");Dashboard.element.toggleClass("nightmode")}));$("#dashboard-"+e.rand+" .toolbar .auto-refresh").click((function(){$(this).toggleClass("active");var a=$(this).hasClass("active");if(a){var e=parseInt(CFG_GLPI.refresh_ticket_list)*60||30;Dashboard.interval=setInterval((function(){Dashboard.refreshDashboard()}),e*1e3)}else{clearInterval(Dashboard.interval)}}));var d;$(window).on("resize",(function(a){if(a.target.constructor.name!=="Window"){return}window.clearTimeout(d);d=window.setTimeout((function(){Dashboard.generateCss();Dashboard.fitNumbers();Dashboard.animateNumbers()}),200)}));$(document).on("click",".display-rights-form .save_rights",(function(){$(".ui-dialog-content").dialog("close");var a=$(this);var e={};$.each(a.closest(".display-rights-form").serializeArray(),(function(){var a=this.value.split("-");var t=a[0];var r=a[1];if(!(t in e)){e[t]=[]}e[t].push(r)}));$.ajax({method:"POST",url:CFG_GLPI.root_doc+"/ajax/dashboard.php",data:{action:"save_rights",dashboard:Dashboard.current_name,rights:e}})}));$("#grid-stack-"+e.rand).on("dragstop",(function(){Dashboard.saveDashboard()}));$("#grid-stack-"+e.rand).on("gsresizestop",(function(a,e){Dashboard.saveDashboard();var t=$(e).find(".ct-chart");if(t.length>0){t[0].__chartist__.update()}Dashboard.fitNumbers($(e));Dashboard.animateNumbers($(e))}));$(document).on("click","#dashboard-"+e.rand+" .delete-item",(function(){var a=$(this);var e=a.closest(".grid-stack-item");Dashboard.grid.removeWidget(e);Dashboard.saveDashboard()}));$(document).on("click","#dashboard-"+e.rand+" .refresh-item",(function(){var a=$(this);var e=a.closest(".grid-stack-item");var t=e.data("gs-id");Dashboard.getCardsAjax("[data-gs-id="+t+"]")}));$(document).on("click","#dashboard-"+e.rand+" .edit-item",(function(){var a=$(this);var e=a.parent().parent(".grid-stack-item");var t=e.data("card-options");$(".ui-dialog-content").dialog("close");$('').load(CFG_GLPI.root_doc+"/ajax/dashboard.php",{action:"display_edit_widget",gridstack_id:e.data("gs-id"),card_id:t.card_id,x:e.data("gs-x"),y:e.data("gs-y"),width:e.data("gs-width"),height:e.data("gs-height"),card_options:t},(function(){$(this).dialog({width:"auto",modal:true,open:function(){$(this).find("input[type=submit]").first().focus()}})}))}));$(document).on("click","#dashboard-"+e.rand+" .cell-add",(function(){var a=$(this);$(".ui-dialog-content").dialog("close");$('').load(CFG_GLPI.root_doc+"/ajax/dashboard.php",{action:"display_add_widget",x:a.data("x"),y:a.data("y")},(function(){$(this).dialog({width:"auto",modal:true,open:function(){$(this).find("input[type=submit]").first().focus()}})}))}));$(document).on("submit",".display-widget-form ",(function(a){a.preventDefault();var e=$(this);var t=e.has(".edit-widget").length>0;Dashboard.setWidgetFromForm(e,t)}));$(document).on("click","#dashboard-"+e.rand+" .filters_toolbar .add-filter",(function(){$(".ui-dialog-content").dialog("close");var a=Dashboard.getFiltersFromStorage();var e=Object.keys(a);$('').load(CFG_GLPI.root_doc+"/ajax/dashboard.php",{action:"display_add_filter",used:e},(function(){$(this).dialog({width:"auto",modal:true,open:function(){$(this).find("input[type=submit]").first().focus()}})}))}));$(document).on("submit",".display-filter-form ",(function(a){a.preventDefault();var e=$(this);Dashboard.setFilterFromForm(e)}));$(document).on("click","#dashboard-"+e.rand+" .filters_toolbar .delete-filter",(function(){var a=$(this).closest(".filter");var e=a.data("filter-id");a.remove();var t=Dashboard.getFiltersFromStorage();delete t[e];Dashboard.setFiltersInStorage(t);Dashboard.refreshCardsImpactedByFilter(e)}));$(document).on("click",".save-dashboard-name ",(function(a){a.preventDefault();$(".dashboard_select option[value="+Dashboard.current_name+"]").text($(".dashboard-name").val());Dashboard.saveDashboard();$(".display-message").addClass("success").text(__("Saved")).show("fade").delay(2e3).hide("fade")}));$(document).on("select2:select",".display-widget-form select[name=card_id]",(function(a){var e=a.params.data;var t=e.id;var r=$(this).closest(".field").siblings(".widgettype_field");var d=Dashboard.all_cards[t].widgettype;var i=d.length===1;r.show().find("input[type=radio]").next("label").css("display","none").end().filter("[value='"+d.join("'],[value='")+"']").prop("checked",i).trigger("change").next("label").css("display","inline-block")}));$(document).on("change",".display-widget-form [name=widgettype]",(function(){var a=$(this);var e=a.val();var t=Dashboard.all_widgets[e];var r=t.gradient||false;var d=t.pointlbl||false;var i=t.limit||false;var o=t.width||2;var s=t.height||2;a.closest(".field").siblings(".gradient_field").hide().toggle(r).end().siblings(".pointlbl_field").hide().toggle(d).end().siblings(".limit_field").hide().toggle(i).end();var n=a.closest(".field").siblings('[name="width"]');var l=a.closest(".field").siblings('[name="height"]');if(n.val()==0){n.val(o)}if(l.val()==0){l.val(s)}}));$(document).on("input",".card.markdown textarea.markdown_content",(function(){Dashboard.saveMarkdown($(this))}))},saveMarkdown:function(a){var e=a.closest(".grid-stack-item");var t=a.val();var r=e.data("gs-id");e.addClass("dirty");Dashboard.markdown_contents[r]=t},setWidgetFromForm:function(a,e){e=e||false;$(".ui-dialog-content").dialog("close");var t={};$.each(a.serializeArray(),(function(){t[this.name]=this.value}));if(t.card_id==="0"){return false}t.card_options=t.card_options||{};if(typeof t.card_options==="string"){t.card_options=JSON.parse(t.card_options)}t.card_options.color=t.color||null;t.card_options.widgettype=t.widgettype||null;t.card_options.use_gradient=t.use_gradient||0;t.card_options.point_labels=t.point_labels||0;t.card_options.limit=t.limit||7;if(t.card_id==="markdown_editable"&&!("markdown_content"in t.card_options)){t.card_options.markdown_content=""}if(e===true){if(t.old_id==="0"){return false}var r=$(".grid-stack-item[data-gs-id="+t.old_id+"]");Dashboard.grid.removeWidget(r)}var d=getUuidV4();t.gridstack_id=t.card_id+"_"+d;t.card_options.card_id=t.card_id;t.card_options.gridstack_id=t.gridstack_id;var i=t.card_options;i.force=true;var o=Dashboard.addWidget(t);$.ajax({method:"GET",url:CFG_GLPI.root_doc+"/ajax/dashboard.php",data:{action:"get_card",dashboard:Dashboard.current_name,card_id:t.card_id,cache_key:Dashboard.cache_key,args:i}}).done((function(a){o.children(".grid-stack-item-content").append(a);Dashboard.fitNumbers(o);Dashboard.animateNumbers(o);Dashboard.saveDashboard()}))},addWidget:function(a){var e=a.gridstack_id;var t=a.x||-1;var r=a.y||-1;var d=a.width||2;var i=a.height||2;var o=a.card_options||{};var s='