Sha256: d4694ed01cd1707d8d89f20547ce40eaf30ffb01804bbb1f6c9de738ca7587c0

Contents?: true

Size: 1.81 KB

Versions: 12

Compression:

Stored size: 1.81 KB

Contents

/**
 * Copyright 2014 Red Hat, Inc.
 *
 * This software is licensed to you under the GNU General Public
 * License as published by the Free Software Foundation; either version
 * 2 of the License (GPLv2) or (at your option) any later version.
 * There is NO WARRANTY for this software, express or implied,
 * including the implied warranties of MERCHANTABILITY,
 * NON-INFRINGEMENT, or FITNESS FOR A PARTICULAR PURPOSE. You should
 * have received a copy of GPLv2 along with this software; if not, see
 * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
 **/


(function () {
    'use strict';

    /**
     * @ngdoc directive
     * @name Bastion.features.directive:FeatureFlag
     *
     * @description
     *   Handles checking if a given feature is enabled within HTML.
     *
     * @example
     *   HTML:
     *     <button class="btn btn-default"
     *             bst-feature-flag="custom_products"
     *             ui-sref="products.discovery.scan">
     *       <i class="fa fa-screenshot"></i>
     *       {{ "Repo Discovery" | translate }}
     *     </button>
     *
     *   Routes:
     */
    function bstFeatureFlag(ngIfDirective, FeatureFlag) {
        var ngIf = ngIfDirective[0];

        return {
            transclude: ngIf.transclude,
            priority: ngIf.priority,
            terminal: ngIf.terminal,
            restrict: ngIf.restrict,
            scope: true,
            link: function (scope, element, attrs) {
                attrs.ngIf = function () {
                    return FeatureFlag.featureEnabled(attrs.bstFeatureFlag);
                };

                ngIf.link.apply(ngIf, arguments);
            }
        };
    }

    angular
        .module('Bastion.features')
        .directive('bstFeatureFlag', bstFeatureFlag);

    bstFeatureFlag.$injector = ['ngIfDirective', 'FeatureFlag'];

})();

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
bastion-0.3.3 app/assets/javascripts/bastion/features/bst-feature-flag.directive.js
bastion-1.0.1 app/assets/javascripts/bastion/features/bst-feature-flag.directive.js
bastion-0.3.2 app/assets/javascripts/bastion/features/bst-feature-flag.directive.js
bastion-1.0.0 app/assets/javascripts/bastion/features/bst-feature-flag.directive.js
bastion-0.3.1 app/assets/javascripts/bastion/features/bst-feature-flag.directive.js
bastion-0.3.0 app/assets/javascripts/bastion/features/bst-feature-flag.directive.js
bastion-0.2.9 app/assets/javascripts/bastion/features/bst-feature-flag.directive.js
bastion-0.2.8 app/assets/javascripts/bastion/features/bst-feature-flag.directive.js
bastion-0.2.7 app/assets/javascripts/bastion/features/bst-feature-flag.directive.js
bastion-0.2.6 app/assets/javascripts/bastion/features/bst-feature-flag.directive.js
bastion-0.2.5 app/assets/javascripts/bastion/features/bst-feature-flag.directive.js
bastion-0.2.3 app/assets/javascripts/bastion/features/bst-feature-flag.directive.js