source: cats/SCHEMAcat/trunk/urn.org.isocat.schemacat.site/site/scripts/controllers.min.js @ 4567

Last change on this file since 4567 was 4567, checked in by andmor, 10 years ago

Edit panels for: name, description, access, version, status and license.
Some layout changes to match bootstrap 3.1.1

File size: 30.4 KB
Line 
1"use strict";function prepareArrayForNgRepeat(e){var t;if(e instanceof Array)t=e;else t=new Array(e);return t}function isEmptyObj(e){if(e instanceof Object){for(var t in e){if(e.hasOwnProperty(t))return false}return true}else return false}function fixEmptyFields(e){if(isEmptyObj(e))return"";for(var t in e){if(e.hasOwnProperty(t)){if(isEmptyObj(e[t]))e[t]="";else if(e[t]instanceof Object)fixEmptyFields(e[t])}}return e}SCHEMAcat.controller("WorkspaceCtrl",["$scope","$location","$routeParams","$timeout","SchemasList","Schema","UserService","Settings",function(e,t,n,r,i,s,o,u){function a(n){if(isNaN(parseInt(n,10))||n<1){t.path("workspace/page/"+1+"/").search({schemaIndex:0});return}i.get({userID:o.id,startPage:n,pageSize:e.pageSize},function(r){if(n>Math.ceil(r["sc:result"]["sc:total-schemas"]/e.pageSize)){t.path("workspace/page/"+1+"/").search({schemaIndex:0});return}m.totalSchemaItems=r["sc:result"]["sc:total-schemas"];m.currentPage=Number(n);m.schemasList=prepareArrayForNgRepeat(r["sc:result"]["sc:schemas"]["sc:schema"]);f(t.search().schemaIndex);m.schemasResult=fixEmptyFields(r)})}function f(n){if(e.animateWorkspacePageChange!=="invisible")e.animateSchemaChange="invisible";if(isNaN(parseInt(n,10))||n<0||n>e.schemasList.length-1){e.selectedSchemaIndex=undefined;t.search({schemaIndex:0});return}e.selectedSchemaIndex=n;var r=m.schemasList[Number(n)];s.get({schemaID:r["xml:id"]},function(t){m.filesList=prepareArrayForNgRepeat(t["sc:schema"]["sc:files"]["sc:file"]);m.selectedSchema=fixEmptyFields(t);m.schemaEditable=o.id===l();m.resultHasArrived=true;if(u.getAnimationStatus()){switch(e.toNextSchema){case true:e.animateSchemaChange="animated fadeInUp";break;case false:e.animateSchemaChange="animated fadeInDown";break;case undefined:e.animateSchemaChange="animated fadeInDown"}}else e.animateSchemaChange=""})}function l(){var e;var t=prepareArrayForNgRepeat(m.selectedSchema["sc:schema"]["sc:access"]["sc:user"]);for(var n in t){if(t[n].role==="owner")e=t[n].ref}return e}function c(){e.workspace.namePanel.updateEditingName();e.workspace.descriptionPanel.updateEditingDescription();h()}function h(){var e=false;for(var n in g){if(t.search().hasOwnProperty(g[n])){v(n);e=true}}if(!e){p("")}}function p(t){for(var n in e.workspace.collapsibleDetailPanels){if(n!==t){e.workspace.collapsibleDetailPanels[n].detailButtonTooltip="Show field details";if(e.workspace.collapsibleDetailPanels[n].open===true){d(n);return true}}}return false}function d(t){if(e.workspace.collapsibleDetailPanels[t].editForm&&e.workspace.collapsibleDetailPanels[t].editForm.$dirty||e.workspace.collapsibleDetailPanels[t].modelDirty)e.workspace.collapsibleDetailPanels[t].detailButtonTooltip+=" (there are unsaved changes in this field!)";e.workspace.collapsibleDetailPanels[t].open=false}function v(t){function n(t){if(e.workspace.collapsibleDetailPanels[t]!==undefined&&e.workspace.collapsibleDetailPanels[t].updateEditPanel!==undefined)e.workspace.collapsibleDetailPanels[t].updateEditPanel();e.workspace.collapsibleDetailPanels[t].detailButtonTooltip="Hide field details";e.workspace.collapsibleDetailPanels[t].open=true}if(g.hasOwnProperty(t)){if(p(t)){r(function(){n(t)},350)}else n(t)}}var m=e.$parent;m.pageSize=10;var g={version:"showVersionDetails",status:"showStatusDetails",access:"showAccessDetails",license:"showLicenseDetails"};e.selectedSchemaIndex=n.schemaIndex;e.animateWorkspacePageChange="invisible";e.workspace={};e.location=location;if(!m.workspaceFullyLoaded)a(n.pageNumber);e.selectPage=function(e){t.search().schemaIndex="0";delete t.search().show;t.path("workspace.html/page/"+e+"/").search(t.search())};e.selectSchema=function(e){t.search().schemaIndex=e.toString();delete t.search().show;t.search(t.search())};e.toggleDetailsPanel=function(e){var n=g[e];if(t.search()[n]){delete t.search()[n]}else{for(var r in g){if(g[r]!==n)delete t.search()[g[r]]}t.search()[g[e]]=true}t.search(t.search())};e.$on("$routeChangeStart",function(t,n,r){m.resultHasArrived=false;if(u.getAnimationStatus()){if(n.params!==undefined&&n.params.pageNumber!==undefined&&n.params.pageNumber>r.params.pageNumber)m.toNextPage=true;else m.toNextPage=false;switch(n.templateUrl){case"partials/workspace.html":e.animateWorkspacePageChange=m.toNextPage?"animated slideOutLeft":"animated slideOutRight";break;case"partials/contact.html":case"partials/about.html":e.animateWorkspacePageChange="animated slideOutLeft";break;default:e.animateWorkspacePageChange="animated fadeOutDown"}}if(n.templateUrl==="partials/workspace.html")a(n.params.pageNumber);else m.workspaceFullyLoaded=false});e.$on("$routeChangeSuccess",function(e,t,n){if(u.getAnimationStatus()){if(n===undefined||n.templateUrl===undefined||n.templateUrl==="partials/accountDetails.html")m.toNextPage=undefined}});e.$on("$routeUpdate",function(t,n){if(n.templateUrl==="partials/workspace.html"&&n.params.schemaIndex!==e.selectedSchemaIndex){m.resultHasArrived=false;if(u.getAnimationStatus()){e.toNextSchema=n.params.schemaIndex>e.selectedSchemaIndex?true:false;e.animateSchemaChange=e.toNextSchema?"animated fadeOutUp":"animated fadeOutDown";r(function(){f(n.params.schemaIndex)},250)}else f(n.params.schemaIndex);var i=e.$watch("resultHasArrived",function(e,t){if(e){c();i()}})}else c()});var y=e.$watch("resultHasArrived",function(t,n){if(t){if(u.getAnimationStatus()){switch(m.toNextPage){case false:e.animateWorkspacePageChange="animated slideInLeft";break;case true:e.animateWorkspacePageChange="animated slideInRight";break;default:e.animateWorkspacePageChange="animated fadeInDown"}r(function(){e.animateWorkspacePageChange=""},250)}else e.animateWorkspacePageChange="";c();m.workspaceFullyLoaded=true;y()}})}]);SCHEMAcat.controller("NamePanelCtrl",["$scope","$location","$timeout","Schema",function(e,t,n,r){e.workspace.namePanel={};var i;e.workspace.namePanel.updateEditingName=function(){if(t.search().editingName){if(e.schemaEditable){e.workspace.namePanel.editButtonTooltip="Hide edit name";if(i===undefined)i=e.selectedSchema["sc:schema"]["sc:name"];e.workspace.namePanel.editForm.open=true}else{delete t.search().editingName;e.workspace.namePanel.editButtonTooltip="Edit schema name";if(e.workspace.namePanel.editForm.input.$dirty)e.workspace.namePanel.editButtonTooltip+=" (there are unsaved changes in this field!)";t.search(t.search())}}else{e.workspace.namePanel.editForm.open=false;e.workspace.namePanel.editButtonTooltip="Edit schema name";if(e.workspace.namePanel.editForm.input.$dirty)e.workspace.namePanel.editButtonTooltip+=" (there are unsaved changes in this field!)"}e.workspace.namePanel.updateAjaxError=false};e.saveName=function(){var n=e.selectedSchema["sc:schema"]["sc:name"];var s=new r;e.workspace.namePanel.waitingForServerUpdate=true;e.workspace.namePanel.updateAjaxError=false;s.name=n;s.$save({schemaID:e.schemasList[e.selectedSchemaIndex]["xml:id"],schemaField:"name"},function(n){if(n["sc:response"]!==undefined&&n["sc:response"]&&n["sc:response"].success){e.selectedSchema["sc:schema"]["sc:name"]=fixEmptyFields(n["sc:response"]["sc:written-data"]["sc:name"]);i=n["sc:response"]["sc:written-data"]["sc:name"];e.workspace.namePanel.waitingForServerUpdate=false;e.workspace.namePanel.editForm.$setPristine();delete t.search().editingName;t.search(t.search())}else{e.workspace.namePanel.waitingForServerUpdate=false;e.workspace.namePanel.updateAjaxError=true}},function(){e.workspace.namePanel.waitingForServerUpdate=false;e.workspace.namePanel.updateAjaxError=true})};e.toggleEditName=function(r){if(t.search().editingName){delete t.search().editingName;if(r){n(function(){e.selectedSchema["sc:schema"]["sc:name"]=i;e.workspace.namePanel.editForm.$setPristine();e.$apply();t.search(t.search())},150);return}}else{t.search().editingName=true}t.search(t.search())}}]);SCHEMAcat.controller("DescriptionPanelCtrl",["$scope","$location","$timeout","Schema",function(e,t,n,r){e.workspace.descriptionPanel={};var i;e.workspace.descriptionPanel.updateEditingDescription=function(){if(t.search().editingDescription){if(e.schemaEditable){if(e.workspaceFullyLoaded)e.$broadcast("autosizeTextarea.resize");e.workspace.descriptionPanel.editButtonTooltip="Hide edit description";if(i===undefined)i=e.selectedSchema["sc:schema"]["sc:description"];e.workspace.descriptionPanel.editForm.open=true}else{delete t.search().editingDescription;e.workspace.descriptionPanel.editButtonTooltip="Edit description";if(e.workspace.descriptionPanel.editForm.input.$dirty)e.workspace.descriptionPanel.editButtonTooltip+=" (there are unsaved changes in this field!)";t.search(t.search())}}else{e.workspace.descriptionPanel.editForm.open=false;e.workspace.descriptionPanel.editButtonTooltip="Edit description";if(e.workspace.descriptionPanel.editForm.input.$dirty)e.workspace.descriptionPanel.editButtonTooltip+=" (there are unsaved changes in this field!)"}e.workspace.descriptionPanel.updateAjaxError=false};e.saveDescription=function(){var n=e.selectedSchema["sc:schema"]["sc:description"];var s=new r;e.workspace.descriptionPanel.waitingForServerUpdate=true;e.workspace.descriptionPanel.updateAjaxError=false;s.description=n;s.$save({schemaID:e.schemasList[e.selectedSchemaIndex]["xml:id"],schemaField:"description"},function(n){if(n["sc:response"]!==undefined&&n["sc:response"]&&n["sc:response"].success){e.selectedSchema["sc:schema"]["sc:description"]=fixEmptyFields(n["sc:response"]["sc:written-data"]["sc:description"]);i=n["sc:response"]["sc:written-data"]["sc:description"];e.workspace.descriptionPanel.waitingForServerUpdate=false;e.workspace.descriptionPanel.editForm.$setPristine();delete t.search().editingDescription;t.search(t.search())}else{e.workspace.descriptionPanel.waitingForServerUpdate=false;e.workspace.descriptionPanel.updateAjaxError=true}},function(){e.workspace.descriptionPanel.waitingForServerUpdate=false;e.workspace.descriptionPanel.updateAjaxError=true})};e.toggleEditDescription=function(r){if(t.search().editingDescription){delete t.search().editingDescription;if(r){n(function(){e.selectedSchema["sc:schema"]["sc:description"]=i;e.workspace.descriptionPanel.editForm.$setPristine();e.$apply();t.search(t.search())},150);return}}else{t.search().editingDescription=true}t.search(t.search())}}]);SCHEMAcat.controller("VersionDetailsPanelCtrl",["$scope","$location","$timeout","Schema",function(e,t,n,r){e.workspace.collapsibleDetailPanels.version={};e.workspace.collapsibleDetailPanels.version.editPanel={};e.workspace.collapsibleDetailPanels.version.editPanel.open=false;var i;e.toggleEditVersion=function(r){if(t.search().editingVersion){delete t.search().editingVersion;if(r){n(function(){e.workspace.collapsibleDetailPanels.version.editForm.$setPristine();e.$apply();t.search(t.search());e.workspace.collapsibleDetailPanels.version.resettingUpdate=true;n(function(){e.selectedSchema["sc:schema"]["sc:version"]=i;e.workspace.collapsibleDetailPanels.version.resettingUpdate=false},350)},150);return}}else t.search().editingVersion=true;t.search(t.search())};e.workspace.collapsibleDetailPanels.version.updateEditPanel=function(){if(t.search().editingVersion){if(e.schemaEditable){e.workspace.collapsibleDetailPanels.version.editButtonTooltip="Hide edit panel";if(i===undefined)i=e.selectedSchema["sc:schema"]["sc:version"];e.workspace.collapsibleDetailPanels.version.editPanel.open=true}else{delete t.search().editingVersion;e.workspace.collapsibleDetailPanels.version.editButtonTooltip="Change schema version";if(e.workspace.collapsibleDetailPanels.version.editForm&&e.workspace.collapsibleDetailPanels.version.editForm.input.$dirty)e.workspace.collapsibleDetailPanels.version.editButtonTooltip+=" (there are unsaved changes in this field!)";t.search(t.search())}}else{e.workspace.collapsibleDetailPanels.version.editPanel.open=false;e.workspace.collapsibleDetailPanels.version.editButtonTooltip="Change schema version";if(e.workspace.collapsibleDetailPanels.version.editForm&&e.workspace.collapsibleDetailPanels.version.editForm.input.$dirty)e.workspace.collapsibleDetailPanels.version.editButtonTooltip+=" (there are unsaved changes in this field!)"}e.workspace.collapsibleDetailPanels.version.updateAjaxError=false};e.saveVersion=function(){var n=e.selectedSchema["sc:schema"]["sc:version"];var s=new r;e.workspace.collapsibleDetailPanels.version.waitingForServerUpdate=true;e.workspace.collapsibleDetailPanels.version.updateAjaxError=false;s.version=n;s.$save({schemaID:e.selectedSchema["sc:schema"]["xml:id"],schemaField:"version"},function(n){if(n["sc:response"]!==undefined&&n["sc:response"]&&n["sc:response"].success){e.selectedSchema["sc:schema"]["sc:version"]=fixEmptyFields(n["sc:response"]["sc:written-data"]["sc:version"]);i=e.selectedSchema["sc:schema"]["sc:version"];e.schemasList[e.selectedSchemaIndex]["sc:version"]=i;e.workspace.collapsibleDetailPanels.version.waitingForServerUpdate=false;e.workspace.collapsibleDetailPanels.version.editForm.$setPristine();delete t.search().editingVersion;t.search(t.search())}else{e.workspace.collapsibleDetailPanels.version.waitingForServerUpdate=false;e.workspace.collapsibleDetailPanels.version.updateAjaxError=true}},function(){e.workspace.collapsibleDetailPanels.version.waitingForServerUpdate=false;e.workspace.collapsibleDetailPanels.version.updateAjaxError=true})}}]);SCHEMAcat.controller("StatusDetailsPanelCtrl",["$scope","$location","Schema",function(e,t,n){e.workspace.collapsibleDetailPanels.status={};e.workspace.collapsibleDetailPanels.status.editPanel={};e.workspace.collapsibleDetailPanels.status.editPanel.open=false;e.workspace.collapsibleDetailPanels.status.possibleStatusList=[];var r=["development"];var i=["production"];var s=["deprecated","superseeded"];e.toggleEditStatus=function(){if(t.search().editingStatus)delete t.search().editingStatus;else t.search().editingStatus=true;t.search(t.search())};e.workspace.collapsibleDetailPanels.status.updateEditPanel=function(){if(t.search().editingStatus){if(e.schemaEditable){if(e.selectedSchema["sc:schema"]["sc:access"]["sc:all"]&&e.selectedSchema["sc:schema"]["sc:access"]["sc:all"].actions==="r")e.workspace.collapsibleDetailPanels.status.possibleStatusList=i.concat(s);else e.workspace.collapsibleDetailPanels.status.possibleStatusList=r.concat(s);e.workspace.collapsibleDetailPanels.status.editPanel.open=true}else{delete t.search().editingStatus;t.search(t.search())}}else e.workspace.collapsibleDetailPanels.status.editPanel.open=false;e.workspace.collapsibleDetailPanels.status.updateAjaxError=false};e.saveStatus=function(){var t=e.selectedSchema["sc:schema"]["sc:status"];var r=new n;e.workspace.collapsibleDetailPanels.status.waitingForServerUpdate=true;e.workspace.collapsibleDetailPanels.status.updateAjaxError=false;r.status=t;r.$save({schemaID:e.selectedSchema["sc:schema"]["xml:id"],schemaField:"status"},function(t){if(t["sc:response"]!==undefined&&t["sc:response"]&&t["sc:response"].success){e.selectedSchema["sc:schema"]["sc:status"]=fixEmptyFields(t["sc:response"]["sc:written-data"]["sc:status"]);e.schemasList[e.selectedSchemaIndex]["sc:status"]=e.selectedSchema["sc:schema"]["sc:status"];e.workspace.collapsibleDetailPanels.status.editForm.$setPristine();e.workspace.collapsibleDetailPanels.status.waitingForServerUpdate=false}else{e.workspace.collapsibleDetailPanels.status.waitingForServerUpdate=false;e.workspace.collapsibleDetailPanels.status.updateAjaxError=true}},function(){e.workspace.collapsibleDetailPanels.status.waitingForServerUpdate=false;e.workspace.collapsibleDetailPanels.status.updateAjaxError=true})}}]);SCHEMAcat.controller("AccessDetailsPanelCtrl",["$scope","$location","Schema",function(e,t,n){e.workspace.collapsibleDetailPanels.access={};e.workspace.collapsibleDetailPanels.access.editPanel={};e.workspace.collapsibleDetailPanels.access.editPanel.open=false;e.currentAccessPolicy="";e.toggleEditAccess=function(){if(t.search().editingAccess)delete t.search().editingAccess;else t.search().editingAccess=true;t.search(t.search())};e.workspace.collapsibleDetailPanels.access.updateEditPanel=function(){if(t.search().editingAccess){if(e.schemaEditable){e.currentAccessPolicy=e.workspace.collapsibleDetailPanels.access.getAccessPolicy();e.workspace.collapsibleDetailPanels.access.editPanel.open=true}else{delete t.search().editingAccess;t.search(t.search())}}else e.workspace.collapsibleDetailPanels.access.editPanel.open=false;e.workspace.collapsibleDetailPanels.access.updateAjaxError=false};e.workspace.collapsibleDetailPanels.access.getAccessPolicy=function(){if(e.selectedSchema["sc:schema"]["sc:access"]["sc:all"]!==undefined&&e.selectedSchema["sc:schema"]["sc:access"]["sc:all"].actions==="r")return"shareURL";else return"private"};e.saveAccessStatus=function(t){var r=e.selectedSchema["sc:schema"]["sc:access"]["sc:user"];var i=new n;e.workspace.collapsibleDetailPanels.access.waitingForServerUpdate=true;e.workspace.collapsibleDetailPanels.access.updateAjaxError=false;switch(t){case"shareURL":i.access={all:{actions:"r"},user:r};break;case"private":i.access={user:r};break}i.$save({schemaID:e.selectedSchema["sc:schema"]["xml:id"],schemaField:"access"},function(t){if(t["sc:response"]!==undefined&&t["sc:response"]&&t["sc:response"].success){e.selectedSchema["sc:schema"]["sc:access"]=t["sc:response"]["sc:written-data"]["sc:access"];e.workspace.collapsibleDetailPanels.access.editForm.$setPristine();e.workspace.collapsibleDetailPanels.access.waitingForServerUpdate=false}else{e.workspace.collapsibleDetailPanels.access.waitingForServerUpdate=false;e.workspace.collapsibleDetailPanels.access.updateAjaxError=true}e.currentAccessPolicy=e.workspace.collapsibleDetailPanels.access.getAccessPolicy()},function(){e.workspace.collapsibleDetailPanels.access.waitingForServerUpdate=false;e.workspace.collapsibleDetailPanels.access.updateAjaxError=true;e.currentAccessPolicy=e.workspace.collapsibleDetailPanels.access.getAccessPolicy()})}}]);SCHEMAcat.controller("LicenseDetailsPanelCtrl",["$scope","$modal","$location","$timeout","Schema","Licenses",function(e,t,n,r,i,s){function a(){u=t.open({scope:e,templateUrl:"partials/editLicenseModal.html"});u.result.then(function(){u=undefined},function(t){u=undefined;if(t!=="dismiss")e.triggerCloseModalRoute()})}e.workspace.collapsibleDetailPanels.license={};e.input={};var o;var u;e.filterLicenses=function(t){var n=new RegExp(e.workspace.collapsibleDetailPanels.license.editForm.filterTerm.$modelValue,"i");if(t["sc:full-name"].match(n)||t["xml:id"].match(n)||e.workspace.collapsibleDetailPanels.license.editForm.filterTerm.$modelValue===undefined){return true}return false};e.showSelectedLicense=function(t){if(e.selectedSchema["sc:schema"]["sc:license"]["xml:id"]!==t["xml:id"]){e.workspace.collapsibleDetailPanels.license.modelDirty=true;e.workspace.collapsibleDetailPanels.license.updatingLicense=true;r(function(){e.selectedSchema["sc:schema"]["sc:license"]=t;e.workspace.collapsibleDetailPanels.license.updatingLicense=false},250)}};e.saveNewLicense=function(){var t=e.selectedSchema["sc:schema"]["sc:license"];var n=new i;e.workspace.collapsibleDetailPanels.license.waitingForServerUpdate=true;e.workspace.collapsibleDetailPanels.license.updateAjaxError=false;n.license=t["xml:id"];n.$save({schemaID:e.selectedSchema["sc:schema"]["xml:id"],schemaField:"license"},function(t){if(t["sc:response"]!==undefined&&t["sc:response"]&&t["sc:response"].success&&t["sc:response"]["sc:written-data"]["sc:license"].ref===e.selectedSchema["sc:schema"]["sc:license"]["xml:id"]){o=e.selectedSchema["sc:schema"]["sc:license"];e.workspace.collapsibleDetailPanels.license.modelDirty=false;e.workspace.collapsibleDetailPanels.license.editForm.$setPristine();e.workspace.collapsibleDetailPanels.license.waitingForServerUpdate=false;e.triggerCloseModalRoute()}else{e.workspace.collapsibleDetailPanels.license.waitingForServerUpdate=false;e.workspace.collapsibleDetailPanels.license.updateAjaxError=true}},function(){e.selectedSchema["sc:schema"]["sc:license"]=o;e.workspace.collapsibleDetailPanels.license.waitingForServerUpdate=false;e.workspace.collapsibleDetailPanels.license.updateAjaxError=true})};e.triggerOpenModalRoute=function(){if(!n.search().editingLicense){n.search().editingLicense=true;n.search(n.search())}};e.triggerCloseModalRoute=function(){if(n.search().editingLicense){delete n.search().editingLicense;n.search(n.search())}};e.workspace.collapsibleDetailPanels.license.updateEditPanel=function(){if(n.search().editingLicense){if(e.schemaEditable){if(o===undefined)o=e.selectedSchema["sc:schema"]["sc:license"];if(e.workspace.collapsibleDetailPanels.license.licenseList===undefined){e.workspace.collapsibleDetailPanels.license.licensesArrived=false;s.get(function(t){e.workspace.collapsibleDetailPanels.license.licenseList=t;for(var n=0;n<t["sc:licenses"]["sc:license"].length;n++){if(t["sc:licenses"]["sc:license"][n]["xml:id"]===e.selectedSchema["sc:schema"]["sc:license"]["xml:id"])e.input.model=e.workspace.collapsibleDetailPanels.license.licenseList["sc:licenses"]["sc:license"][n]["xml:id"]}e.workspace.collapsibleDetailPanels.license.licensesArrived=true})}a()}else{e.workspace.collapsibleDetailPanels.license.editButtonTooltip="Change schema license";if(e.workspace.collapsibleDetailPanels.license.editForm&&e.workspace.collapsibleDetailPanels.license.modelDirty)e.workspace.collapsibleDetailPanels.license.editButtonTooltip+=" (there are unsaved changes in this field!)";e.triggerCloseModalRoute()}}else if(u!==undefined){u.dismiss("dismiss")}e.workspace.collapsibleDetailPanels.license.editButtonTooltip="Change schema license";if(e.workspace.collapsibleDetailPanels.license.editForm&&e.workspace.collapsibleDetailPanels.license.modelDirty)e.workspace.collapsibleDetailPanels.license.editButtonTooltip+=" (there are unsaved changes in this field!)"};e.cancelEdit=function(){if(e.workspace.collapsibleDetailPanels.license.modelDirty){e.workspace.collapsibleDetailPanels.license.updatingLicense=true;e.workspace.collapsibleDetailPanels.license.modelDirty=false;r(function(){e.selectedSchema["sc:schema"]["sc:license"]=o;e.workspace.collapsibleDetailPanels.license.updatingLicense=false},250);e.workspace.collapsibleDetailPanels.license.editForm.$setPristine()}e.triggerCloseModalRoute()}}]);SCHEMAcat.controller("FileController",["$scope","$http","$timeout","$location",function(e,t,n,r){function i(){if(r.search().show!==undefined&&r.search().show.indexOf(e.file["sc:name"])!==-1){e.showSchemaBtn=true;s(e.selectedSchema["sc:schema"]["xml:id"],e.file["sc:name"])}else{e.showSchemaBtn=false;e.file.open=false}}function s(r,i){if(e.schemaFileContent===undefined){t.get("/schemacat/schemas/"+r+"/files/"+i).success(function(t,r,i,s){e.prettify="prettyprint linenums";n(function(){prettyPrint();e.file.open=true});e.schemaFileContent=t}).error(function(t,n,r,s){e.showSchemaBtn=false;e.showFile(i);e.showFileAjaxError=true})}else e.file.open=true}i();e.showFile=function(t){e.showFileAjaxError=false;n(function(){var n=r.search();if(e.showSchemaBtn===true){if(n.show===undefined)n.show="#"+t;else if(n.show.indexOf(t)===-1)n.show=n.show+"#"+t}else{for(var i in n){if(i==="show"){var s=n[i].split("#");for(var o in s){if(s[o]===t)s.splice(o,1)}var u=s.join("#");if(u!==""){n[i]=u}else delete n[i]}}}r.search(n)})};e.$on("$routeUpdate",function(t,n){if(e.resultHasArrived)i()})}]);SCHEMAcat.controller("TopMenuCtrl",["$scope","$modal","$location","UserService","Settings","ShibService",function(e,t,n,r,i,s){function o(){e.topMenuCollapsed=!n.search().topMenuExpanded;i.setAnimationStatus(!n.search().animationsDisabled);e.animationsChecked=i.getAnimationStatus()}e.displayName=r.displayName;e.shibURL=s.url;e.$watch(function(){return r.displayName},function(t,n){if(t!==n){e.displayName=t}});o();e.isActive=function(e){if(e==="/workspace.html"&&n.path().indexOf("/workspace.html/")!==-1)return true;return e===n.path()};e.updateAnimationStatus=function(){if(n.search().animationsDisabled)delete n.search().animationsDisabled;else n.search().animationsDisabled=true;n.search(n.search())};e.toggleTopMenu=function(){if(n.search().topMenuExpanded)delete n.search().topMenuExpanded;else n.search().topMenuExpanded=true;n.search(n.search())};e.animationsUrlPart=function(){if(n.search().animationsDisabled)return"animationsDisabled";else return""};e.topMenuExpandedUrlPart=function(){if(n.search().topMenuExpanded)return"topMenuExpanded";else return""};e.$on("$routeUpdate",function(e,t){o()});e.loginClick=function(){var n=t.open({scope:e,templateUrl:"partials/loginModal.html",controller:"LoginModalCtrl"});n.result.then(function(e){alert("Now set the user cookie to ["+e+"]");document.cookie="USER="+e+";domain=;path=/";document.location.hash="";document.location.reload(true)})}}]);SCHEMAcat.controller("LoginModalCtrl",["$scope","$modalInstance",function(e,t){e.loginClose=function(){t.dismiss("cancel")};e.loginSubmit=function(){t.close(this.loginNameInput.text)}}]);SCHEMAcat.controller("AboutPageCtrl",["$scope","Settings",function(e,t){e.$parent.toNextPage=false;if(t.getAnimationStatus()){e.animateInOut="animated slideInRight"}e.$on("$routeChangeStart",function(n,r,i){if(t.getAnimationStatus()){switch(r.templateUrl){case"partials/workspace.html":e.animateInOut="animated slideOutRight";break;case"partials/contact.html":e.animateInOut="animated slideOutLeft";break;default:e.animateInOut="animated fadeOutDown"}}});e.$on("$routeChangeSuccess",function(n,r,i){if(t.getAnimationStatus()){var s=i!==undefined?i.templateUrl:undefined;switch(s){case"partials/workspace.html":e.animateInOut="animated slideInRight";break;case"partials/contact.html":e.animateInOut="animated slideInLeft";break;default:e.animateInOut="animated fadeInDown"}}})}]);SCHEMAcat.controller("ContactPageCtrl",["$scope","Settings",function(e,t){e.$parent.toNextPage=false;if(t.getAnimationStatus()){e.animateInOut="animated slideInRight"}e.$on("$routeChangeStart",function(n,r,i){if(t.getAnimationStatus()){switch(r.templateUrl){case"partials/about.html":case"partials/contact.html":case"partials/workspace.html":e.animateInOut="animated slideOutRight";break;default:e.animateInOut="animated fadeOutDown"}}});e.$on("$routeChangeSuccess",function(n,r,i){if(t.getAnimationStatus()){var s=i!==undefined?i.templateUrl:undefined;switch(s){case"partials/about.html":case"partials/contact.html":case"partials/workspace.html":e.animateInOut="animated slideInRight";break;default:e.animateInOut="animated fadeInDown"}}})}]);SCHEMAcat.controller("AccountDetailsPageCtrl",["$scope","$location","User","UserService","Settings",function(e,t,n,r,i){function s(){var e=t.search();for(var n in e){if(n==="editingEmail"){var i=e[n].split("#");for(var s=0;s<i.length;s++){var o=false;for(var u=0;u<r.email.length;u++){if(i[s]===r.email[u])o=true}if(!o)i.splice(s,1)}var a=i.join("#");if(a!==""){e[n]=a}else delete e[n]}}t.search(e)}function o(){e.waitingForServerEditDisplayName=false;e.editDisplayNameAjaxError=false;if(t.search().editingDisplayName){e.editDisplayNameText=e.displayName;e.editingDisplayName=true}else e.editingDisplayName=false}function u(){e.waitingForServer=false;if(t.search().addingEmail)e.addingEmail=true;else e.addingEmail=false}e.principal=r.principal;e.displayName=r.displayName;e.email=r.email;e.addingEmail=false;e.addNewEmail=function(){t.search().addingEmail=true;t.search(t.search())};e.terminateAddEmail=function(){e.ajaxError=false;delete t.search().addingEmail;t.search(t.search())};e.addEmail=function(t){e.waitingForServer=true;var i=new n;i.emails=r.email.slice(0);i.emails.push(t);i.$save({userID:r.id},function(n){if(n["sc:response"]!==undefined&&n["sc:response"]&&n["sc:response"].success){r.email.push(t);e.terminateAddEmail()}else{e.waitingForServer=false;e.ajaxError=true}},function(){e.waitingForServer=false;e.ajaxError=true})};e.editDisplayName=function(){t.search().editingDisplayName=true;t.search(t.search())};e.terminateEditDisplayName=function(){delete t.search().editingDisplayName;t.search(t.search())};e.updateDisplayName=function(t){e.waitingForServerEditDisplayName=true;var i=new n;i.displayName=t;i.$save({userID:r.id},function(n){if(n["sc:response"]!==undefined&&n["sc:response"]&&n["sc:response"].success){e.displayName=r.displayName=t;e.terminateEditDisplayName()}else{e.waitingForServerEditDisplayName=false;e.editDisplayNameAjaxError=true}},function(){e.waitingForServerEditDisplayName=false;e.editDisplayNameAjaxError=true})};if(i.getAnimationStatus()){e.animateAccountDetails="animated fadeInDown"}e.$on("$routeChangeStart",function(t,n,r){if(i.getAnimationStatus()){e.animateAccountDetails="animated fadeOutUp"}});e.$on("$routeChangeSuccess",function(t,n,r){if(i.getAnimationStatus()){e.animateAccountDetails="animated fadeInDown"}u();o();s()});e.$on("$routeUpdate",function(e,t){u();o();s()})}]);SCHEMAcat.controller("EmailInstanceCtrl",["$scope","$location","User","UserService",function(e,t,n,r){function i(){e.waitingForServerEditEmail=false;if(t.search().editingEmail!==undefined&&t.search().editingEmail.indexOf(e.emailInstance)!==-1){e.editEmailText=e.emailInstance;e.editingEmail=true}else e.editingEmail=false}i();e.editEmail=function(n){var r=t.search();e.removeEmailAjaxError=false;if(r.editingEmail===undefined)r.editingEmail=n;else r.editingEmail=t.search().editingEmail+"#"+n;t.search(r)};e.removeEmail=function(t){e.waitingForServerEditEmail=true;var i=new n;i.emails=r.email.slice(0);i.emails.splice(t,1);i.$save({userID:r.id},function(n){if(n["sc:response"]!==undefined&&n["sc:response"]&&n["sc:response"].success){r.email.splice(t,1)}else{e.waitingForServerEditEmail=false;e.removeEmailAjaxError=true}},function(){e.waitingForServerEditEmail=false;e.removeEmailAjaxError=true})};e.updateEmail=function(t){e.waitingForServerEditEmail=true;var i=new n;i.emails=r.email.slice(0);i.emails[t]=e.editEmailText;i.$save({userID:r.id},function(n){if(n["sc:response"]!==undefined&&n["sc:response"]&&n["sc:response"].success){var i=e.editEmailText;e.cancelEditEmail(r.email[t]);r.email[t]=i}else{e.waitingForServerEditEmail=false;e.editEmailAjaxError=true}},function(){e.waitingForServerEditEmail=false;e.editEmailAjaxError=true})};e.cancelEditEmail=function(n){var r=t.search();e.editEmailAjaxError=false;for(var i in r){if(i==="editingEmail"){var s=r[i].split("#");for(var o in s){if(s[o]===n)s.splice(o,1)}var u=s.join("#");if(u!==""){r[i]=u}else delete r[i]}}t.search(r)};e.$on("$routeChangeSuccess",function(e,t,n){i()});e.$on("$routeUpdate",function(e,t){i()})}]);SCHEMAcat.controller("CompleteUserDetailsCtrl",["$scope","$modal",function(e,t){e.ajaxError=false;e.waitingForServer=false;var n=t.open({scope:e,backdrop:"static",keyboard:false,templateUrl:"partials/fillDetailsModal.html",controller:"CompleteUserDetailsModalCtrl"})}]);SCHEMAcat.controller("CompleteUserDetailsModalCtrl",["$scope","$modalInstance","User","UserService",function(e,t,n,r){e.userDetailsSubmit=function(){e.waitingForServer=true;e.ajaxError=false;var t=new n;t.emails=[];t.emails[0]=this.emailInput.text;t.displayName=this.displayNameInput.text;t.$save({userID:r.id},function(t){if(t["sc:response"]!==undefined&&t["sc:response"]&&t["sc:response"].success)document.location.pathname="schemacat/site/index.html";else{e.waitingForServer=false;e.ajaxError=true}},function(){e.waitingForServer=false;e.ajaxError=true})}}])
Note: See TracBrowser for help on using the repository browser.