|
|
/* 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(); };
}];
|