You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					105 lines
				
				3.7 KiB
			
		
		
			
		
	
	
					105 lines
				
				3.7 KiB
			| 
											1 year ago
										 | /* Licensed under the Apache License, Version 2.0 (the "License"); | ||
|  |  * you may not use this file except in compliance with the License. | ||
|  |  * You may obtain a copy of the License at | ||
|  |  *  | ||
|  |  *      http://www.apache.org/licenses/LICENSE-2.0
 | ||
|  |  *  | ||
|  |  * Unless required by applicable law or agreed to in writing, software | ||
|  |  * distributed under the License is distributed on an "AS IS" BASIS, | ||
|  |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
|  |  * See the License for the specific language governing permissions and | ||
|  |  * limitations under the License. | ||
|  |  */ | ||
|  | 
 | ||
|  | /* | ||
|  |  * Controller for morph shape selection | ||
|  |  */ | ||
|  | 
 | ||
|  | var FlowableDefineDataCtrl = [ '$rootScope', '$scope', 'dialog', '$timeout', '$translate', function($rootScope, $scope, dialog, $timeout, $translate) { | ||
|  | 
 | ||
|  |     $scope.definedDataItems = []; | ||
|  |     $scope.selectedDataItems = []; | ||
|  |      | ||
|  |     // Config for grid
 | ||
|  |     $scope.gridOptions = { | ||
|  |         data: 'definedDataItems', | ||
|  |         enableRowSelection: true, | ||
|  |         headerRowHeight: 28, | ||
|  |         multiSelect: false, | ||
|  |         keepLastSelected : false, | ||
|  |         selectedItems: $scope.selectedDataItems, | ||
|  |         enableHorizontalScrollbar: 0, | ||
|  |         enableColumnMenus: false, | ||
|  |         enableSorting: false, | ||
|  |         columnDefs: [{ field: 'name', displayName: 'Name'}, | ||
|  |             { field: 'value', displayName: 'Value'}] | ||
|  |     }; | ||
|  |      | ||
|  |     // Click handler for add button
 | ||
|  |     $scope.addNewDataItem = function() { | ||
|  |     	$scope.definedDataItems.push({ name : '', | ||
|  |             value : ''}); | ||
|  |     }; | ||
|  | 
 | ||
|  |     // Click handler for remove button
 | ||
|  |     $scope.removeDataItem = function() { | ||
|  |         if ($scope.selectedDataItems.length > 0) { | ||
|  |             var index = $scope.definedDataItems.indexOf($scope.selectedDataItems[0]); | ||
|  |             $scope.gridOptions.selectItem(index, false); | ||
|  |             $scope.definedDataItems.splice(index, 1); | ||
|  | 
 | ||
|  |             $scope.selectedDataItems.length = 0; | ||
|  |             if (index < $scope.definedDataItems.length) { | ||
|  |                 $scope.gridOptions.selectItem(index + 1, true); | ||
|  |             } else if ($scope.definedDataItems.length > 0) { | ||
|  |                 $scope.gridOptions.selectItem(index - 1, true); | ||
|  |             } | ||
|  |         } | ||
|  |     }; | ||
|  | 
 | ||
|  |     // Click handler for up button
 | ||
|  |     $scope.moveDataItemUp = function() { | ||
|  |         if ($scope.selectedParameters.length > 0) { | ||
|  |             var index = $scope.definedDataItems.indexOf($scope.selectedDataItems[0]); | ||
|  |             if (index != 0) { // If it's the first, no moving up of course
 | ||
|  |                 // Reason for funny way of swapping, see https://github.com/angular-ui/ng-grid/issues/272
 | ||
|  |                 var temp = $scope.definedDataItems[index]; | ||
|  |                 $scope.definedDataItems.splice(index, 1); | ||
|  |                 $timeout(function(){ | ||
|  |                 	$scope.definedDataItems.splice(index + -1, 0, temp); | ||
|  |                 }, 100); | ||
|  | 
 | ||
|  |             } | ||
|  |         } | ||
|  |     }; | ||
|  | 
 | ||
|  |     // Click handler for down button
 | ||
|  |     $scope.moveDataItemDown = function() { | ||
|  |         if ($scope.selectedParameters.length > 0) { | ||
|  |             var index = $scope.definedDataItems.indexOf($scope.selectedDataItems[0]); | ||
|  |             if (index != $scope.definedDataItems.length - 1) { // If it's the last element, no moving down of course
 | ||
|  |                 // Reason for funny way of swapping, see https://github.com/angular-ui/ng-grid/issues/272
 | ||
|  |                 var temp = $scope.definedDataItems[index]; | ||
|  |                 $scope.definedDataItems.splice(index, 1); | ||
|  |                 $timeout(function(){ | ||
|  |                 	$scope.definedDataItems.splice(index + 1, 0, temp); | ||
|  |                 }, 100); | ||
|  | 
 | ||
|  |             } | ||
|  |         } | ||
|  |     }; | ||
|  |      | ||
|  |     $scope.save = function() { | ||
|  |       dialog.close(); | ||
|  |     }; | ||
|  | 
 | ||
|  |     $scope.cancel = function() { | ||
|  |       dialog.close(); | ||
|  |     }; | ||
|  | 
 | ||
|  |     // Close button handler
 | ||
|  |     $scope.close = function() { | ||
|  |         dialog.close(); | ||
|  |     }; | ||
|  | 
 | ||
|  | }]; |