angular.module("controls").directive("kkTopbar",["core","utils","state","delta","modal","message","datasource","media","environment",function(e,t,n,r,i,s,a,o,l){return{restrict:"E",scope:{},templateUrl:e.adminURL+"js/controls/topbar.html.js?"+(new Date).getTime(),replace:!0,link:function(u,c,p){u.core=e,u.utils=t,u.state=n,u.delta=r,u.environment=l,u.showImportExport=function(e){e||(e="export"),i.show("ImportExportModal",null,{type:e})},u.listBackups=function(){a.get("SaveHistory",(function(e,t){e?u.$apply((function(){u.saveHistory=e})):s.error("Fehler beim Laden der Backups.","Die Liste von Backups konnte nicht geholt werden.")}),!0)},u.restoreBackup=function(i){console.log("trying restoring: ",i.file),$.ajax({type:"POST",url:e.shopURL,data:{kk_dropper_admin_pass:e.adminSecret,kk_dropper_get_backup:i.value},dataType:"JSON",success:function(a){u.$apply((function(){if(!a||!a.settings)return s.error("Backup konnte nicht wiederhergestellt werden.","Das Backup hatte nicht das erwartete Format.");t.Drops.activateDrop(null),r.resetChanged(),r.setAllRemoved(),e.settings=a.settings,n.verifyChanges(),e.settings.drops.forEach((function(e){var t={id:-1,user:e._internal.revision&&e._internal.revision.user?e._internal.revision.user:"Unbekannter Nutzer",timestamp:e._internal.revision&&e._internal.revision.timestamp?e._internal.revision.timestamp:null};e._internal.revision=t,r.setChanged(e)})),s.success('Das Backup "'+i.label+'" wurde erfolgreich geladen',"Bitte speichern um die geladenen Backup-Daten zu übernehmen.",0),s.notifyUpgrades(a.upgradeInfos)}))},error:function(e,t){s.error("Konnte das Backup von "+i.file+" nicht wiederherstellen!","Fehler: "+t+".\n"+JSON.stringify(e.responseText))}})},u.showMediaGallery=function(){o.select()};let d=null,m=!1;u.prepareSave=function(){clearTimeout(d),d=setTimeout((function(){let e=window.prompt("Gebe eine Notiz zu dem Speicherpunkt an:");null!==e&&(n.saveSettings(e).then((function(){m=!1})),m=!0)}),500)},u.finishSave=function(){if(clearTimeout(d),m)return m=!1,!1;n.saveSettings()},u.listBackups(),e.fn.on("saveSettings",(function(e,t){t&&u.listBackups()}))}}}]);