diff --git a/extensions/mistral/static/mistral/js/mistral.directives.js b/extensions/mistral/static/mistral/js/mistral.directives.js deleted file mode 100644 index 432ca10..0000000 --- a/extensions/mistral/static/mistral/js/mistral.directives.js +++ /dev/null @@ -1,36 +0,0 @@ -/** - * Created by tsufiev on 12/29/14. - */ - -(function() { - angular.module('hz') - - .directive('yaqlFieldCombined', function() { - return { - restrict: 'E', - templateUrl: '/static/mistral/templates/yaql-field-combined.html', - scope: { - yaqlExpression: '@', - value: '@' - }, - link: function(scope, element) { - angular.element(element).find('span.yaql-condition') - .on('click', function() { - var $elt = $(this), - $inputColumn = $elt.closest('.three-columns').children(':first-child'), - $input; - - $elt.hide(); - $input = $inputColumn.show().find('textarea'); - $input.focus().on('blur', function() { - $inputColumn.hide(); - $elt.toggleClass('fa-lock', $input.val() !== ''); - $elt.toggleClass('fa-unlock', $input.val() === ''); - $elt.show(); - }); - }); - } - } - }) - -})(); diff --git a/extensions/mistral/static/mistral/js/mistral.workbook.controllers.js b/extensions/mistral/static/mistral/js/mistral.workbook.controllers.js index f26387e..194c871 100644 --- a/extensions/mistral/static/mistral/js/mistral.workbook.controllers.js +++ b/extensions/mistral/static/mistral/js/mistral.workbook.controllers.js @@ -6,7 +6,7 @@ .controller('workbookCtrl', ['$scope', 'mistral.workbook.models', function($scope, models) { - var workbook = models.Workbook.create(); + var workbook = models.Workbook.create({name: 'My Workbook'}); $scope.workbook = workbook; function getNextIDSuffix(container, regexp) { diff --git a/extensions/mistral/static/mistral/js/mistral.workbook.models.js b/extensions/mistral/static/mistral/js/mistral.workbook.models.js index dad238d..8d2b810 100644 --- a/extensions/mistral/static/mistral/js/mistral.workbook.models.js +++ b/extensions/mistral/static/mistral/js/mistral.workbook.models.js @@ -78,6 +78,25 @@ } }); + models.yaqllist = fields.list.extend({ + create: function(json, parameters) { + var self = fields.list.create.call(this, json, parameters); + self.setType('yaqllist'); + return self; + } + }, { + '*': { + '@class': fields.frozendict.extend({}, { + 'yaql': { + '@class': fields.string + }, + 'action': { + '@class': fields.string + } + }) + } + }); + models.Action = fields.frozendict.extend({}, { 'name': { '@class': fields.string.extend({}, { @@ -326,35 +345,26 @@ 'additive': false }, 'onError': { - '@class': fields.list.extend({}, { + '@class': models.yaqllist.extend({}, { '@meta': { 'title': 'On error', 'index': 0 - }, - '*': { - '@class': fields.string } }) }, 'onSuccess': { - '@class': fields.list.extend({}, { + '@class': models.yaqllist.extend({}, { '@meta': { 'title': 'On success', 'index': 1 - }, - '*': { - '@class': fields.string } }) }, 'onComplete': { - '@class': fields.list.extend({}, { + '@class': models.yaqllist.extend({}, { '@meta': { 'title': 'On complete', 'index': 2 - }, - '*': { - '@class': fields.string } }) } @@ -378,6 +388,9 @@ create: function(json, parameters) { var self = fields.frozendict.create.call(this, json, parameters); return panel.panelmixin.call(self); + }, + toYAML: function() { + return jsyaml.dump(this.toJSON()); } }, { 'version': { diff --git a/extensions/mistral/static/mistral/templates/fields/yaqllist.html b/extensions/mistral/static/mistral/templates/fields/yaqllist.html index 89a81f1..1323426 100644 --- a/extensions/mistral/static/mistral/templates/fields/yaqllist.html +++ b/extensions/mistral/static/mistral/templates/fields/yaqllist.html @@ -1,16 +1,29 @@ - -
-