mirror of
https://github.com/ansible/awx.git
synced 2026-03-13 23:17:32 -02:30
adding the featureConfig promise to the feature directive
to prevent any race conditions
This commit is contained in:
@@ -23,15 +23,17 @@
|
||||
*/
|
||||
import featureController from './features.controller';
|
||||
|
||||
export default [ function() {
|
||||
export default [ '$rootScope', function($rootScope) {
|
||||
return {
|
||||
restrict: 'A',
|
||||
controller: featureController,
|
||||
link: function (scope, element, attrs, controller){
|
||||
if(attrs.awFeature.length > 0){
|
||||
if(!controller.isFeatureEnabled(attrs.awFeature)){
|
||||
element.remove();
|
||||
}
|
||||
$rootScope.featuresConfigured.promise.then(function() {
|
||||
if(!controller.isFeatureEnabled(attrs.awFeature)){
|
||||
element.remove();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2,13 +2,17 @@
|
||||
|
||||
describe('Directive: Features enabled/disabled', () => {
|
||||
let $compile,
|
||||
$scope;
|
||||
$scope,
|
||||
q;
|
||||
|
||||
beforeEach(angular.mock.module('features'));
|
||||
|
||||
beforeEach(angular.mock.inject((_$compile_, _$rootScope_) => {
|
||||
$compile = _$compile_;
|
||||
$scope = _$rootScope_;
|
||||
beforeEach(angular.mock.inject((_$compile_, _$rootScope_, $q) => {
|
||||
$compile = _$compile_;
|
||||
$scope = _$rootScope_;
|
||||
q = $q;
|
||||
|
||||
$scope.featuresConfigured = q.defer();
|
||||
}));
|
||||
|
||||
it('Removes the element if feature is disabled', () => {
|
||||
|
||||
Reference in New Issue
Block a user