heat-dashboard/heat_dashboard/static/dashboard/project/heat_dashboard/template_generator/js/components/modal-draft.controller.js

65 lines
3.2 KiB
JavaScript

(function() {
'use strict';
angular.module('horizon.dashboard.project.heat_dashboard.template_generator')
.controller('horizon.dashboard.project.heat_dashboard.template_generator.DraftModalController', ['$scope',
'$mdDialog', 'hotgenNotify', 'hotgenMessage', 'hotgenStates', 'hotgenGlobals',
'horizon.dashboard.project.heat_dashboard.template_generator.basePath',
function($scope, $mdDialog, hotgenNotify, hotgenMessage, hotgenStates, hotgenGlobals, basePath){
$scope.draftDialogController = function ($scope, $mdDialog, hotgenStates) {
$scope.draft_list = [];
$scope.latest_draft = JSON.parse(localStorage.getItem('draft_'+localStorage.saved_counter));
for (var i = 0 ; i < 10; i++){
if (localStorage.getItem('draft_'+i)){
var saved_drafts = JSON.parse(localStorage.getItem('draft_'+i));
$scope.draft_list.push(saved_drafts);
}
}
$scope.data = {
nodes: hotgenStates.get_nodes(),
edges: hotgenStates.get_edges(),
}
$scope.load = function(draft) {
$mdDialog.hide();
$scope.data.nodes.clear();
for (var id in draft.nodes){
$scope.data.nodes.add(draft.nodes[id]);
}
$scope.data.edges.clear();
for (var id in draft.edges){
$scope.data.edges.add(draft.edges[id]);
}
hotgenStates.set_saved_resources(draft.saved_resources);
hotgenStates.set_saved_dependsons(draft.saved_depends_ons);
hotgenStates.set_saved_flags(draft.is_saved);
hotgenStates.set_counters(draft.counter);
hotgenStates.set_incremented_labels(draft.incremented_labels);
hotgenGlobals.set_template_version(draft.template_version);
hotgenMessage.broadcast_update_template_version();
};
$scope.cancel = function() {
$mdDialog.cancel();
};
};
$scope.showDialog = function(){
$scope.draftDialogController.$inject = ['$scope', '$mdDialog', 'hotgenStates'];
$mdDialog.show({
controller: $scope.draftDialogController,
templateUrl: basePath + 'templates/modal_draft.html',
parent: angular.element(document.body),
clickOutsideToClose:true
}).then(function(){
hotgenNotify.show_success('The draft is loaded successfully.');
}, function(){
// hotgenNotify.show_error('dismiss a modal');
});
}
$scope.handle_load_draft = function(event, args){
$scope.showDialog();
}
$scope.$on('handle_load_draft', $scope.handle_load_draft);
}]);
})();