Как определить угловой фильтр JS в виджете Custom в Bonita - PullRequest
0 голосов
/ 13 декабря 2018

Я создал простой пользовательский виджет с Angular Js в дизайнере пользовательского интерфейса BONITA.Я определяю контроллер приложения внутри контроллера. Я не уверен насчет части и того, как она работает в BONITA. Я также добавил все ресурсы.

   app.filter('startFrom', function() {
   return function(input, start) {
   start = +start;
   return input.slice(start);}})

до

var startFrom= $filter('filter');
startFrom([],  function(input, start) {
if (input) {
start = +start;
return input.slice(start);}
return [];});

Однако, похоже, он не работает должным образом.

Я хотел бы знать, пропускаю ли я какую-то часть.Любая помощь приветствуется.

Спасибо заранее.Код шаблона

 <input ng-model="q" id="search" class="form-control" placeholder="Filter text">
 <ul>
<li ng-repeat="item in data | filter:q |startFrom:currentPage*pageSize | 
limitTo:pageSize">    
    <div>{{item.firstname}}</div>
   </li></ul>
  <button ng-disabled="currentPage == 0" ng-click="currentPage=currentPage-1">Previous </button>  {{currentPage+1}}/{{numberOfPages()}}  <button ng-disabled="currentPage >= getData().length/pageSize - 1" ng- 
     click="currentPage=currentPage+1">  Next </button>`

, контроллер

   function sds($scope, $filter) {
    var ctrl = this;

    $scope.startFrom=0;
    $scope.currentPage = 0;
    $scope.pageSize = 10;
    $scope.data =  [
  {
   "firstname": "Studio", 
   "userName": "studio"  
   },
  {
   "firstname": "Giovanna", 
   "userName": "giovanna.almeida"  
  },
  {
   "firstname": "Daniela",
   "userName": "daniela.angelo"
  },
  {
   "firstname": "Walter",
    "userName": "walter.bates"
  },
 {
   "firstname": "Giovanna", 
   "userName": "giovanna.almeida"  
  },
  {
   "firstname": "Daniela",
   "userName": "daniela.angelo"
 },
 {
   "firstname": "user1",
    "userName": "user1.name"
 },
 {
  "firstname": "user2",
  "userName": "user1.name"
 },
 {
  "firstname": "user3",
   "userName": "user1.name"
 },
 {
   "firstname": "user4",
    "userName": "user1.name"
 }

 ];

    $scope.q = '';

    $scope.getData = function () {
  return $filter('filter')($scope.data, $scope.q)
}

$scope.numberOfPages=function(){
    return Math.ceil($scope.getData().length/$scope.pageSize);
}

for (var i=0; i<65; i++) {
   // $scope.data.push("Item "+i);
}

$scope.$watch('q', function(newValue,oldValue){                      
    if(oldValue!=newValue){
    $scope.currentPage = 0;
  }
}

  var startFrom= $filter('filter');

  startFrom([],  function(input, start) {
        if (input) {
    start = +start;
   return input.slice(start);
   }
   return [];
   }
 ); 


 /*
app.filter('startFrom', function() {
return function(input, start) {
start = +start;
return input.slice(start);
}})
*/

}
...