/*
 * JBoss, Home of Professional Open Source.
 * Copyright 2014 Red Hat, Inc., and individual contributors
 * as indicated by the @author tags.
 *
 * 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';

  var module = angular.module('pnc.common.authentication');

  /**
   * @ngdoc directive
   * @name pnc.common.authentication:pncRequiresAuth
   * @restrict A
   * @description
   * @example
   * @author Alex Creasy
   */
  module.directive('pncRequiresAuth', [
    'authService',
    function (authService) {
      return {
        restrict: 'A',
        link: function (scope, elem, attrs) {
          if (!authService.isAuthenticated()) {
            attrs.$set('disabled', 'disabled');
            attrs.$set('title', 'Log in to run this action');
            elem.addClass('pointer-events-auto');
          }
        }
      };
    }
  ]);

})();

/*
 * JBoss, Home of Professional Open Source.
 * Copyright 2014 Red Hat, Inc., and individual contributors
 * as indicated by the @author tags.
 *
 * 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';

  var module = angular.module('pnc.common.authentication');

  /**
   * @ngdoc directive
   * @name pnc.common.authentication:pncRequiresAuth
   * @restrict A
   * @description
   * @example
   * @author Alex Creasy
   */
  module.directive('pncRequiresAuth', [
    'authService',
    function (authService) {
      return {
        restrict: 'A',
        link: function (scope, elem, attrs) {
          if (!authService.isAuthenticated()) {
            attrs.$set('disabled', 'disabled');
            attrs.$set('title', 'Log in to run this action');
            attrs.$set('tooltip', ''); // hack to hide bootstrap tooltip in FF
            elem.addClass('pointer-events-auto');
          }
        }
      };
    }
  ]);

})();

Add title when action buttons is disabled - FF fix