- this.addClause = function() {
- $timeout(function() {
- if (ctrl.newClause) {
- $scope.data.clauses.push([ctrl.newClause, '=', '']);
- ctrl.newClause = null;
- }
- });
- };
- $scope.$watch('data.clauses', function(values) {
- // Iterate in reverse order so index doesn't get out-of-sync during splice
- _.forEachRight(values, function(clause, index) {
- // Remove empty values
- if (index >= ($scope.data.skip || 0)) {
- if (typeof clause !== 'undefined' && !clause[0]) {
- values.splice(index, 1);
- }
- // Add/remove value if operator allows for one
- else if (typeof clause[1] === 'string' && _.contains(clause[1], 'NULL')) {
- clause.length = 2;
- } else if (typeof clause[1] === 'string' && clause.length === 2) {
- clause.push('');
- }
- }
- });
- }, true);
- }
- };
+ // Add/remove value if operator allows for one
+ this.changeClauseOperator = function(clause) {
+ if (_.contains(clause[1], 'NULL')) {
+ clause.length = 2;
+ } else if (clause.length === 2) {
+ clause.push('');
+ }
+ };
+ }