2017-07-23 3 views
0

Durch die folgende Verknüpfung Alfresco custom control in stencil Ich habe benutzerdefinierte Multi-Select-Kontrolle mit den gleichen Schritten wie erwähnt in der Post (Alfresco Activiti) gemacht, Multi-Auswahl funktioniert gut, aber Problem, ich sehe Ritus jetzt in Sichtbarkeit Betrieb funktioniert nicht von der Steuerung zum Beispiel gibt es ein Textfeld und in seiner Sichtbarkeit Abschnitt ich bin Bedingung anwenden, wenn Wert von Multi wählen Steuerwert ist Mitte und hoch verstecken Sie dieses Steuerelement wie im beigefügten Bild erwähnt. enter image description here. Code für Multi wählen individuelle Steuerung istbenutzerdefinierte Multi-Select-Steuerelement in alfresco activiti Schablone

<div ng-controller="multiselectController"> 
    <select name="multiselect" multiple ng-model="field.value" 
      ng-options="option.code as option.name for option in field.options" 
      class="form-control ng-pristine ng-valid ng-scope ng-valid-required ng-touched" 
      > 
     <option value="">--Select State--</option> 
    </select> 
</div> 

Winkelregler Code

angular 
.module('activitiApp') 
.controller('multiselectController', 
    ['$rootScope', '$scope', '$http', 
    function ($rootScope, $scope, $http) { 


     // that responds with JSON 
     $scope.field.options = []; 
     // in case of array values without rest services   
     if($scope.field.params.customProperties.ElxwfOptionsArrayMultiselect){ 
      $scope.field.options = JSON.parse($scope.field.params.customProperties.ElxwfOptionsArrayMultiselect); 
     } else($scope.field.params.customProperties.ElxwfRestURLforMultiselect) { 
      $http.get($scope.field.params.customProperties.ElxwfRestURLforMultiselect). 
       success(function(data, status, headers, config) { 
        var tempResponseArray = data.RestResponse.result; 

        for (var i = 0; i < tempResponseArray.length; i++) { 
         var state = { name: tempResponseArray[i].name }; 
         $scope.data.states.push(state);  
        }  
       }). 
       error(function(data, status, headers, config) { 
        alert('Error: '+ status); 
        tempResponseArray = []; 
       } 
      );  
     } 

    }] 
); 

enter image description here

mir helfen, in dieser Hinsicht ist.

Antwort

0

Das liegt wahrscheinlich daran, dass Ihr Sichtbarkeitscode kein Array erwartet. Sie müssen für Array enthält statt gleich und nicht gleich testen.

+0

Harley, es gibt keine solche Option der enthält im Sichtbarkeitsbereich, werden Sie mir dabei helfen, wie dieses Ding zu erreichen? – Ali

+0

Ich denke, das ist ein nicht triviales Problem. Was ich tun würde, um dieses Problem anzugehen, ist das Einbeziehen von neuem Javascript, das durch das formFieldUpdated-Ereignis ausgelöst wird. Testen Sie das Feld als benutzerdefinierten Selektor und legen Sie programmgesteuert die Sichtbarkeit des anderen Eingabefelds aus dem Skript fest. Sollte nicht zu schwer zu erreichen sein. –

Verwandte Themen