Replace collapsible panels with angular directive
Change-Id: Ib27adf29574260666421461ff45959d65cabe901
This commit is contained in:
parent
525477601b
commit
eb55cfaf87
|
@ -0,0 +1,11 @@
|
|||
<div class="panel panel-default merlin-panel">
|
||||
<div class="panel-heading">
|
||||
<h4 class="panel-title">
|
||||
<a data-toggle="collapse" data-target="#{$ panelId $}" href="#">{$ panelTitle $}</a>
|
||||
<i ng-show="removable" class="fa fa-times-circle pull-right"></i></h4>
|
||||
</div>
|
||||
<div id="{$ panelId $}" class="panel-collapse collapse in">
|
||||
<div class="panel-body" ng-transclude>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,71 @@
|
|||
/**
|
||||
* Created by tsufiev on 12/29/14.
|
||||
*/
|
||||
|
||||
(function() {
|
||||
angular.module('hz')
|
||||
|
||||
.controller('actionsCtrl', function($scope) {
|
||||
$scope.actions = [
|
||||
[{
|
||||
name: 'Name',
|
||||
type: 'string',
|
||||
value: 'Action1'
|
||||
}, {
|
||||
name: 'Base',
|
||||
type: 'string',
|
||||
value: 'nova.create_server'
|
||||
}, {
|
||||
name: 'Base Input',
|
||||
type: 'fixedlist'
|
||||
}, {
|
||||
name: 'Input',
|
||||
type: 'list',
|
||||
value: [{
|
||||
type: 'string',
|
||||
value: ''
|
||||
}]
|
||||
}, {
|
||||
name: 'Output',
|
||||
type: 'varlist',
|
||||
value: [{
|
||||
type: 'string',
|
||||
value: ''
|
||||
}, {
|
||||
type: 'dictionary',
|
||||
value: [{
|
||||
name: 'key1',
|
||||
type: 'string',
|
||||
value: ''
|
||||
}, {
|
||||
name: 'key2',
|
||||
type: 'string',
|
||||
value: ''
|
||||
}]
|
||||
}, {
|
||||
type: 'list',
|
||||
value: [{
|
||||
type: 'string',
|
||||
value: ''
|
||||
}, {
|
||||
type: 'string',
|
||||
value: ''
|
||||
}]
|
||||
}]
|
||||
}]];
|
||||
|
||||
$scope.baseTypes = {
|
||||
'nova.create_server': [{
|
||||
name: 'Flavor Id',
|
||||
type: 'string'
|
||||
}, {
|
||||
name: 'Image Id',
|
||||
type: 'string'
|
||||
}]
|
||||
}
|
||||
})
|
||||
|
||||
.controller('workflowsCtrl', function() {
|
||||
|
||||
});
|
||||
})();
|
|
@ -52,4 +52,26 @@
|
|||
}
|
||||
})
|
||||
|
||||
.directive('action', function() {
|
||||
return {
|
||||
restrict: 'E',
|
||||
scope: {}
|
||||
}
|
||||
})
|
||||
|
||||
.directive('collapsiblePanel', function($parse, idGenerator) {
|
||||
return {
|
||||
restrict: 'E',
|
||||
templateUrl: '/static/mistral/js/angular-templates/collapsible-panel.html',
|
||||
transclude: true,
|
||||
scope: {
|
||||
panelTitle: '@',
|
||||
removable: '='
|
||||
},
|
||||
link: function(scope) {
|
||||
scope.panelId = idGenerator();
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
})();
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
/**
|
||||
* Created by tsufiev on 12/29/14.
|
||||
*/
|
||||
|
||||
(function() {
|
||||
angular.module('hz')
|
||||
.factory('idGenerator', function() {
|
||||
var id = 0;
|
||||
return function() {
|
||||
id++;
|
||||
return 'elem-id-'+id;
|
||||
};
|
||||
})
|
||||
})();
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue