text: /*
   * Copyright (C) 2015 Stratio (http://stratio.com)
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *         http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  (function () {
    'use strict';
  
    /*POLICY WIZARD HEADER CONTROLLER*/
    angular
      .module('webApp')
      .controller('PolicyWizardHeaderCtrl', PolicyWizardHeaderCtrl);
  
    PolicyWizardHeaderCtrl.$inject = ['WizardStatusService', 'PolicyModelFactory', 'ModalService', '$scope', '$state'];
    function PolicyWizardHeaderCtrl(WizardStatusService, PolicyModelFactory, ModalService, $scope, $state) {
      var header = this;
  
      var policyTemplate = null;
      header.policy = PolicyModelFactory.getCurrentPolicy();
      header.wizardStatus = WizardStatusService.getStatus();
      header.leaveEditor = leaveEditor;
  
      function leaveEditor() {
        var templateUrl = "templates/modal/confirm-modal.tpl.html";
        var controller = "ConfirmModalCtrl";
        var resolve = {
          title: function () {
            return "_POLICY_._WINDOW_._EXIT_._TITLE_";
          },
          message: function () {
            return "_POLICY_._EXIT_CONFIRMATION_";
          }
        };
        var modalInstance = ModalService.openModal(controller, templateUrl, resolve, '', 'lg');
  
        return modalInstance.result.then(function () {
          $state.go('dashboard.policies');
        });
      }
  
      $scope.$watchCollection(
        "header.wizardStatus",
        function (newStatus) {
          policyTemplate = PolicyModelFactory.getTemplate();
          if (Object.keys(policyTemplate).length > 0) {
            if (newStatus && newStatus.currentStep >= 0 && newStatus.currentStep < policyTemplate.helpLinks.length) {
  
              header.helpLink = policyTemplate.helpLinks[newStatus.currentStep];
            } else {
              header.helpLink = null;
            }
          }
        }
      );
    }
  })();
  