diff --git a/extensions/mistral/static/mistral/js/angular-templates/collapsible-panel.html b/extensions/mistral/static/mistral/js/angular-templates/collapsible-panel.html new file mode 100644 index 0000000..33e4c48 --- /dev/null +++ b/extensions/mistral/static/mistral/js/angular-templates/collapsible-panel.html @@ -0,0 +1,11 @@ +
+
+

+ {$ panelTitle $} +

+
+
+
+
+
+
\ No newline at end of file diff --git a/extensions/mistral/static/mistral/js/controllers.js b/extensions/mistral/static/mistral/js/controllers.js new file mode 100644 index 0000000..286fe9e --- /dev/null +++ b/extensions/mistral/static/mistral/js/controllers.js @@ -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() { + + }); +})(); \ No newline at end of file diff --git a/extensions/mistral/static/mistral/js/directives.js b/extensions/mistral/static/mistral/js/directives.js index 6f4817a..e7be3e8 100644 --- a/extensions/mistral/static/mistral/js/directives.js +++ b/extensions/mistral/static/mistral/js/directives.js @@ -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(); + } + } + }) + })(); diff --git a/extensions/mistral/static/mistral/js/services.js b/extensions/mistral/static/mistral/js/services.js new file mode 100644 index 0000000..e5143ea --- /dev/null +++ b/extensions/mistral/static/mistral/js/services.js @@ -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; + }; + }) +})(); \ No newline at end of file diff --git a/extensions/mistral/templates/mistral/create.html b/extensions/mistral/templates/mistral/create.html index 4c54877..3741419 100644 --- a/extensions/mistral/templates/mistral/create.html +++ b/extensions/mistral/templates/mistral/create.html @@ -22,7 +22,9 @@ }); + + {% endblock %} {% block css %} @@ -81,533 +83,516 @@ -
-
-

- - Action1 -

-
-
-
- +
+ + +
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+
+
+
+ Base Input
+
+
+ + +
+
+ + +
+
+
+
+
+ +
-
-
- - -
+ -
-
- - -
+
+
- -
-
-
-
- Base Input
-
-
- - -
-
- - -
-
-
-
-
- -
+
- -
- -
-
-
-
-
-
-
- - -
-
-
-
-
-
- -
-
- -
- -
-
-
- -
-
-
- - -
-
-
-
- +
+
+
-
-
-
- -
-
-
-
- - -
-
-
-
- - -
- - -
-
-
-
-
-
-
-
- -
- - -
-
-
-
- -
-
-
- -
-
-
-
- - -
-
-
- -
- - -
-
-
-
-
-
-
- - -
-
-
- +
-
+ +
+
+ +
+ +
+
+
+ +
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+
+
+
+ + +
+
+
+
+ + +
+ + +
+
+
+
+
+
+
+
+ +
+ + +
+
+
+
+ +
+
+
+ +
+
+
+
+ + +
+
+
+ +
+ + +
+
+
+
+
+
+
+ + +
+
+
+ +
+
+
+
+
+
-
-
-

- - Workflow1 -

-
-
-
- +
+ + +
+
+
+ + +
+
+
+
+ + +
+
+
+ +
-
-
- - -
+ -
-
- - -
+
+
- -
+
- -
- -
-
-
-
-
-
-
- - -
-
-
-
-
-
- -
-
- -
- -
-
-
- -
-
-
- - -
-
-
-
- +
+
+
+
-
- -
-
-
- -
- -
-
-
- - -
-
-
-
- -
- -
-
-
- -
-
-
-
- -
- -
-
-
- -
-
-
-
-
-
- -
- -
-
-
-
-
- -
- -
-
-
-
-
-
- - -
-
-
-
- - -
-
-
-
-
-
- - -
-
-
-
-
- -
- -
-
-
-
-
-
-
- -
- - -
-
-
-
-
-
-
-
-
- -
- -
-
-
-
-
-
-
- -
- - -
-
-
-
-
-
-
-
-
- -
- -
-
-
- -
-
-
-
- -
- -
-
-
- -
-
-
-
- -
- -
-
-
- -
-
-
-
- -
-
-
-
-
- - -
-
-
-
- - -
-
-
-
-
-
- - -
-
-
-
-
-
- - -
-
-
-
- - -
-
-
-
-
-
- - -
-
-
-
-
- -
-
-
-
-
+ +
+
+ +
+ +
+
+
+ +
+
+
+ + +
+
+
+
+ + +
+
+
+
+
+
+ +
+
+
+ +
+ +
+
+
+ + +
+
+
+
+ +
+ +
+
+
+ +
+
+
+
+ +
+ +
+
+
+ +
+
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+
+
+ + +
+
+
+
+
+ +
+ +
+
+
+
+
+
+
+ +
+ + +
+
+
+
+
+
+
+
+
+ +
+ +
+
+
+
+
+
+
+ +
+ + +
+
+
+
+
+
+
+
+
+ +
+ +
+
+
+ +
+
+
+
+ +
+ +
+
+
+ +
+
+
+
+ +
+ +
+
+
+ +
+
+
+
+ +
+
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+
+
+ + +
+
+
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+
+
+ + +
+
+
+
+
+
+
+
+
+