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.
		
		
		
		
		
			
		
			
				
					
					
						
							115 lines
						
					
					
						
							3.8 KiB
						
					
					
				
			
		
		
	
	
							115 lines
						
					
					
						
							3.8 KiB
						
					
					
				/* | 
						|
 * Activiti Modeler component part of the Activiti project | 
						|
 * Copyright 2005-2014 Alfresco Software, Ltd. All rights reserved. | 
						|
 *  | 
						|
 * This library is free software; you can redistribute it and/or | 
						|
 * modify it under the terms of the GNU Lesser General Public | 
						|
 * License as published by the Free Software Foundation; either | 
						|
 * version 2.1 of the License, or (at your option) any later version. | 
						|
 * | 
						|
 * This library is distributed in the hope that it will be useful, | 
						|
 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
						|
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 
						|
 * Lesser General Public License for more details. | 
						|
 | 
						|
 * You should have received a copy of the GNU Lesser General Public | 
						|
 * License along with this library; if not, write to the Free Software | 
						|
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA | 
						|
 */ | 
						|
 | 
						|
/* | 
						|
 * String controller | 
						|
 */ | 
						|
 | 
						|
var KisBpmStringPropertyCtrl = [ '$scope', function ($scope) { | 
						|
 | 
						|
	$scope.shapeId = $scope.selectedShape.id; | 
						|
	$scope.valueFlushed = false; | 
						|
    /** Handler called when input field is blurred */ | 
						|
    $scope.inputBlurred = function() { | 
						|
    	$scope.valueFlushed = true; | 
						|
    	if ($scope.property.value) { | 
						|
    		$scope.property.value = $scope.property.value.replace(/(<([^>]+)>)/ig,""); | 
						|
    	} | 
						|
        $scope.updatePropertyInModel($scope.property); | 
						|
    }; | 
						|
 | 
						|
    $scope.enterPressed = function(keyEvent) { | 
						|
    	if (keyEvent && keyEvent.which === 13) { | 
						|
    		keyEvent.preventDefault(); | 
						|
	        $scope.inputBlurred(); // we want to do the same as if the user would blur the input field | 
						|
    	} | 
						|
    }; | 
						|
     | 
						|
    $scope.$on('$destroy', function controllerDestroyed() { | 
						|
    	if(!$scope.valueFlushed) { | 
						|
    		if ($scope.property.value) { | 
						|
        		$scope.property.value = $scope.property.value.replace(/(<([^>]+)>)/ig,""); | 
						|
        	} | 
						|
    		$scope.updatePropertyInModel($scope.property, $scope.shapeId); | 
						|
    	} | 
						|
    }); | 
						|
 | 
						|
}]; | 
						|
 | 
						|
/* | 
						|
 * Boolean controller | 
						|
 */ | 
						|
 | 
						|
var KisBpmBooleanPropertyCtrl = ['$scope', function ($scope) { | 
						|
 | 
						|
    $scope.changeValue = function() { | 
						|
        if ($scope.property.key === 'oryx-defaultflow' && $scope.property.value) { | 
						|
            var selectedShape = $scope.selectedShape; | 
						|
            if (selectedShape) { | 
						|
                var incomingNodes = selectedShape.getIncomingShapes(); | 
						|
                if (incomingNodes && incomingNodes.length > 0) { | 
						|
                    // get first node, since there can be only one for a sequence flow | 
						|
                    var rootNode = incomingNodes[0]; | 
						|
                    var flows = rootNode.getOutgoingShapes(); | 
						|
                    if (flows && flows.length > 1) { | 
						|
                        // in case there are more flows, check if another flow is already defined as default | 
						|
                        for (var i = 0; i < flows.length; i++) { | 
						|
                            if (flows[i].resourceId != selectedShape.resourceId) { | 
						|
                                var defaultFlowProp = flows[i].properties['oryx-defaultflow']; | 
						|
                                if (defaultFlowProp) { | 
						|
                                    flows[i].setProperty('oryx-defaultflow', false, true); | 
						|
                                } | 
						|
                            } | 
						|
                        } | 
						|
                    } | 
						|
                } | 
						|
            } | 
						|
        } | 
						|
        $scope.updatePropertyInModel($scope.property); | 
						|
    }; | 
						|
 | 
						|
}]; | 
						|
 | 
						|
/* | 
						|
 * Text controller | 
						|
 */ | 
						|
 | 
						|
var KisBpmTextPropertyCtrl = [ '$scope', '$modal', function($scope, $modal) { | 
						|
 | 
						|
    var opts = { | 
						|
        template:  'editor-app/configuration/properties/text-popup.html?version=' + Date.now(), | 
						|
        scope: $scope | 
						|
    }; | 
						|
 | 
						|
    // Open the dialog | 
						|
    $modal(opts); | 
						|
}]; | 
						|
 | 
						|
var KisBpmTextPropertyPopupCtrl = ['$scope', function($scope) { | 
						|
     | 
						|
    $scope.save = function() { | 
						|
        $scope.updatePropertyInModel($scope.property); | 
						|
        $scope.close(); | 
						|
    }; | 
						|
 | 
						|
    $scope.close = function() { | 
						|
        $scope.property.mode = 'read'; | 
						|
        $scope.$hide(); | 
						|
    }; | 
						|
}]; |