/********************************************* * Copyright (c) 2013 AnsibleWorks, Inc. * * GeneratorHelpers * * Functions shared between FormGenerator and ListGenerator * */ angular.module('GeneratorHelpers', ['GeneratorHelpers']) .factory('Attr', function() { return function(obj, key) { var result; switch(key) { case 'ngClick': result = "ng-click=\"" + obj[key] + "\" "; break; case 'ngOptions': result = "ng-options=\"" + obj[key] + "\" "; break; case 'ngClass': result = "ng-class=\"" + obj[key] + "\" "; break; case 'ngChange': result = "ng-change=\"" + obj[key] + "\" "; break; case 'ngDisabled': result = "ng-disabled=\"" + obj[key] + "\" "; break; case 'ngShow': result = "ng-show=\"" + obj[key] + "\" "; break; case 'ngHide': result = "ng-hide=\"" + obj[key] + "\" "; break; case 'ngBind': result = "ng-bind=\"" + obj[key] + "\" "; break; case 'trueValue': result = "ng-true-value=\"" + obj[key] + "\" "; break; case 'falseValue': result = "ng-false-value=\"" + obj[key] + "\" "; break; case 'awToolTip': result = "aw-tool-tip=\"" + obj[key] + "\" "; break; case 'awPopOver': result = "aw-pop-over='" + obj[key] + "' "; break; case 'dataTitle': result = "data-title=\"" + obj[key] + "\" "; break; case 'dataPlacement': result = "data-placement=\"" + obj[key] + "\" "; break; case 'awToolTip': result = "aw-tool-tip=\"" + obj[key] + "\" "; break; default: result = key + "=\"" + obj[key] + "\" "; } return result; } }) .factory('Icon', function() { return function(icon) { return " "; } }) .factory('Column', ['Attr', 'Icon', function(Attr, Icon) { return function(params) { var list = params['list']; var fld = params['fld']; var options = params['options']; var base = params['base']; var field = list['fields'][fld]; var html = ''; html += "