"use strict"; (function () { 'use strict'; angular.module('myitsmApp') .directive('showMoreLess', ['events', function (events) { return { restrict: 'EA', scope: { limit: '=', size: '@', getMore: '&', totalSize: '@', chunkSize: '=' }, templateUrl: 'views/common/show-more-less.html', link: function (scope) { scope.initialSize = scope.limit; var pageSize = 4; if (scope.chunkSize) { pageSize = parseInt(scope.chunkSize); } scope.showMore = function () { scope.size = parseInt(scope.size); if (!scope.initialSize) { scope.initialSize = scope.limit; } scope.limit = scope.limit + pageSize > scope.size ? scope.size : scope.limit + pageSize; if (scope.limit === scope.size && scope.totalSize > scope.size) { scope.getMore(); } scope.$emit(events.SHOW_MORE_RECORDS); }; scope.showLess = function () { scope.limit = scope.initialSize; scope.$emit(events.SHOW_LESS_RECORDS); }; } }; }]); }());