summaryrefslogtreecommitdiffstats
path: root/ecomp-portal-FE/client/bower_components/angular-smart-table
diff options
context:
space:
mode:
Diffstat (limited to 'ecomp-portal-FE/client/bower_components/angular-smart-table')
-rw-r--r--ecomp-portal-FE/client/bower_components/angular-smart-table/.bower.json38
-rw-r--r--ecomp-portal-FE/client/bower_components/angular-smart-table/.gitignore7
-rw-r--r--ecomp-portal-FE/client/bower_components/angular-smart-table/.travis.yml12
-rw-r--r--ecomp-portal-FE/client/bower_components/angular-smart-table/ISSUE_TEMPLATE.md15
-rw-r--r--ecomp-portal-FE/client/bower_components/angular-smart-table/bower.json29
-rw-r--r--ecomp-portal-FE/client/bower_components/angular-smart-table/changeLog.md175
-rw-r--r--ecomp-portal-FE/client/bower_components/angular-smart-table/dist/smart-table.js534
-rw-r--r--ecomp-portal-FE/client/bower_components/angular-smart-table/dist/smart-table.min.js6
-rw-r--r--ecomp-portal-FE/client/bower_components/angular-smart-table/dist/smart-table.min.js.map1
-rw-r--r--ecomp-portal-FE/client/bower_components/angular-smart-table/gulpFile.js60
-rw-r--r--ecomp-portal-FE/client/bower_components/angular-smart-table/index.js2
-rw-r--r--ecomp-portal-FE/client/bower_components/angular-smart-table/package.json29
-rw-r--r--ecomp-portal-FE/client/bower_components/angular-smart-table/readme.md72
-rw-r--r--ecomp-portal-FE/client/bower_components/angular-smart-table/src/bottom.txt1
-rw-r--r--ecomp-portal-FE/client/bower_components/angular-smart-table/src/smart-table.module.js7
-rw-r--r--ecomp-portal-FE/client/bower_components/angular-smart-table/src/stConfig.js26
-rw-r--r--ecomp-portal-FE/client/bower_components/angular-smart-table/src/stPagination.js80
-rw-r--r--ecomp-portal-FE/client/bower_components/angular-smart-table/src/stPipe.js36
-rw-r--r--ecomp-portal-FE/client/bower_components/angular-smart-table/src/stSearch.js43
-rw-r--r--ecomp-portal-FE/client/bower_components/angular-smart-table/src/stSelectRow.js26
-rw-r--r--ecomp-portal-FE/client/bower_components/angular-smart-table/src/stSort.js82
-rw-r--r--ecomp-portal-FE/client/bower_components/angular-smart-table/src/stTable.js219
-rw-r--r--ecomp-portal-FE/client/bower_components/angular-smart-table/src/top.txt2
23 files changed, 0 insertions, 1502 deletions
diff --git a/ecomp-portal-FE/client/bower_components/angular-smart-table/.bower.json b/ecomp-portal-FE/client/bower_components/angular-smart-table/.bower.json
deleted file mode 100644
index 869436dc..00000000
--- a/ecomp-portal-FE/client/bower_components/angular-smart-table/.bower.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "name": "angular-smart-table",
- "version": "2.1.8",
- "homepage": "https://github.com/lorenzofox3/Smart-Table",
- "authors": [
- "lorenzofox3 <laurent34azerty@gmail.com>"
- ],
- "description": "table module for angular",
- "main": "dist/smart-table.js",
- "keywords": [
- "smart-table",
- "angular",
- "table"
- ],
- "license": "MIT",
- "ignore": [
- "node_modules",
- "bower_components",
- "test",
- "tests"
- ],
- "dependencies": {
- "angular": "^1.0.0"
- },
- "devDependencies": {
- "angular-mocks": "^1.0.0",
- "jquery": "^2.0.0"
- },
- "_release": "2.1.8",
- "_resolution": {
- "type": "version",
- "tag": "v2.1.8",
- "commit": "a63502153e89227b33cc540e82b8b6b035ab7bf3"
- },
- "_source": "https://github.com/lorenzofox3/Smart-Table.git",
- "_target": "~2.1.8",
- "_originalSource": "angular-smart-table"
-} \ No newline at end of file
diff --git a/ecomp-portal-FE/client/bower_components/angular-smart-table/.gitignore b/ecomp-portal-FE/client/bower_components/angular-smart-table/.gitignore
deleted file mode 100644
index 07cd6610..00000000
--- a/ecomp-portal-FE/client/bower_components/angular-smart-table/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-.idea
-node_modules
-example-app
-bower_components
-coverage
-.DS_Store
-test/.DS_Storesmart-table-website
diff --git a/ecomp-portal-FE/client/bower_components/angular-smart-table/.travis.yml b/ecomp-portal-FE/client/bower_components/angular-smart-table/.travis.yml
deleted file mode 100644
index f42dba6e..00000000
--- a/ecomp-portal-FE/client/bower_components/angular-smart-table/.travis.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-language: node_js
-node_js:
- - "0.10"
-
-
-before_script:
- - npm install -g gulp bower
- - npm install
- - bower install
-
-script:
- - gulp build \ No newline at end of file
diff --git a/ecomp-portal-FE/client/bower_components/angular-smart-table/ISSUE_TEMPLATE.md b/ecomp-portal-FE/client/bower_components/angular-smart-table/ISSUE_TEMPLATE.md
deleted file mode 100644
index 94a3f113..00000000
--- a/ecomp-portal-FE/client/bower_components/angular-smart-table/ISSUE_TEMPLATE.md
+++ /dev/null
@@ -1,15 +0,0 @@
-## Hello contributor !
-
-Please before you submit your issue, make sure all the below can be checked (note if anything is expected, you can simply add it under the relevant checkbox)
-
-1) [] I have searched through the issue section and on [stackoverflow](http://stackoverflow.com/questions/tagged/smart-table?sort=newest&pageSize=30) if my issue has already been raised.
-2) [] I have provided Angular version.
-3) [] I have provided Smart table version.
-4) [] I have set a precise description of my problem, mentioning the expected result.
-5) [] I have given a way to reproduce my issue, by providing a <strong>running example</strong>, I can use [plunkr](http://plnkr.co/). Note if you want to mimic ajax loading behaviour you can use [$timeout](https://docs.angularjs.org/api/ng/service/$timeout) angular service or [$httpBackend](https://docs.angularjs.org/api/ng/service/$httpBackend).
-
-Note that it not all the above checkbox can be marked as checked the issue will immediately be closed. Thanks for your understanding.
-
-And don't forget to close you issue when it is solved !
-
-Thanks again for your contribution. \ No newline at end of file
diff --git a/ecomp-portal-FE/client/bower_components/angular-smart-table/bower.json b/ecomp-portal-FE/client/bower_components/angular-smart-table/bower.json
deleted file mode 100644
index 6c54113d..00000000
--- a/ecomp-portal-FE/client/bower_components/angular-smart-table/bower.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "name": "angular-smart-table",
- "version": "2.1.8",
- "homepage": "https://github.com/lorenzofox3/Smart-Table",
- "authors": [
- "lorenzofox3 <laurent34azerty@gmail.com>"
- ],
- "description": "table module for angular",
- "main": "dist/smart-table.js",
- "keywords": [
- "smart-table",
- "angular",
- "table"
- ],
- "license": "MIT",
- "ignore": [
- "node_modules",
- "bower_components",
- "test",
- "tests"
- ],
- "dependencies": {
- "angular": "^1.0.0"
- },
- "devDependencies": {
- "angular-mocks": "^1.0.0",
- "jquery": "^2.0.0"
- }
-}
diff --git a/ecomp-portal-FE/client/bower_components/angular-smart-table/changeLog.md b/ecomp-portal-FE/client/bower_components/angular-smart-table/changeLog.md
deleted file mode 100644
index 18316a53..00000000
--- a/ecomp-portal-FE/client/bower_components/angular-smart-table/changeLog.md
+++ /dev/null
@@ -1,175 +0,0 @@
-## version 1.1.0
-
-* allow binding on search predicate [https://github.com/lorenzofox3/Smart-Table/issues/142] (issue 142)
-Note that if you want to search against a property name you have now to put in under single quote otherwise it will be considered as a binding
-```markup
-<input st-search="'name'"/>
-```
-
-## version 1.1.1
-
-* fix #146 and #148, set stPipe before stPagination is called. Thanks [brianchance](https://github.com/brianchance)
-
-## version 1.2.1
-
-* implement #149 (default sorting)
-
-## version 1.2.2
-
-* hide pagination when less than 1 page
-* add unit tests for pagination directive
-
-## version 1.2.3
-
-* fix back to natural sort order
-* use same strategy view -> table state, table state -> view for all the plugins
-
-## version 1.2.4
-
-* fix #161
-
-## version 1.2.5
-
-* fix #162
-
-## version 1.2.6
-
-* fix #165
-* ability to overwrite class names for (st-sort-ascent and st-sort-descent) thanks to [replacement87](https://github.com/replacement87)
-
-## version 1.2.7
-
-* fix #167
-
-## version 1.3.0
-
-* new feature, items by page and displayed page can be bound
-
-## version 1.4.0
-
-* support external template for pagination
-* support angular v1.3.x
-
-## version 1.4.1
-
-* ability to skip natural ordering state (ie fix #192)
-
-## versiokn 1.4.2
-
-* fix #200, `this` in a custom pipe function does not refer to the table controller anymore, and the signature of a custom pipe function is
-```javascript
-function(tableState, tableController){
-
-}
-```
-
-## version 1.4.3
-
-* ability to set filter function <code>st-set-filter</code>
-* ability to set sort function <code>st-set-sort</code>
-
-## version 1.4.4
-
-* patch for sync problem
-
-## version 1.4.5
-
-* merge #234, #218
-* fix #233 #237
-
-## version 1.4.6
-
-* evaluate sort predicate as late as possible
-* fix #262
-
-## version 1.4.7
-
-* fix #276
-
-## version 1.4.8
-
-* fix #281
-
-## version 1.4.9
-
-* fix #285
-
-## version 1.4.10
-
-* fix #284
-* fix #290
-
-## version 1.4.11
-
-* fix #296
-* add possibility to bind a callback when page changes
-
-## version 1.4.12
-
-* don't use pagination class twice
-* build improvement
-
-## version 1.4.13
-
-* use a global configuration
-* expose filtered collection result
-
-## version 2.0.0
-
-* use interpolation rather than binding for st-search directive (to avoid the creation of isolated scope)
-
-**This is a breaking change as now, you will have to remove the single quote around the predicate property name, and if you were using a binding, you'll have to interpolate it with the curly brace notation**
-
-## version 2.0.1
-
-* fix #328
-
-## version 2.0.2
-
-* add debounce to custom pipe function to make sure tableState is stable
-* fix #329
-
-## version 2.0.3
-
-* implements #379
-* fix #390
-
-## version 2.1.0
-
-* support nested search (thanks to @jansabbe)
-* fix #254
-* fix wrong path to default config for stSkipNatural (@phuvo)
-* fix #406
-
-## version 2.1.1
-
-* support commonjs
-* add totalItemCount on tableState (@eirikbell)
-
-## version 2.1.2
-
-* improve build #461 [stanleyxu](https://github.com/stanleyxu2005)
-
-## version 2.1.3
-
-* fix #477
-
-## version 2.1.4
-
-* add throttle to sort
-* add watch to first item in collection (@matthewbednarski)
-
-## version 2.1.5
-
-* #544
-* #533
-* #515
-
-## version 2.1.6
-
-* #559
-
-## version 2.1.7
-
-* fix [#468](https://github.com/lorenzofox3/Smart-Table/issues/468) thanks to Douglas-Treadwell
-
diff --git a/ecomp-portal-FE/client/bower_components/angular-smart-table/dist/smart-table.js b/ecomp-portal-FE/client/bower_components/angular-smart-table/dist/smart-table.js
deleted file mode 100644
index e0246d45..00000000
--- a/ecomp-portal-FE/client/bower_components/angular-smart-table/dist/smart-table.js
+++ /dev/null
@@ -1,534 +0,0 @@
-/**
-* @version 2.1.8
-* @license MIT
-*/
-(function (ng, undefined){
- 'use strict';
-
-ng.module('smart-table', []).run(['$templateCache', function ($templateCache) {
- $templateCache.put('template/smart-table/pagination.html',
- '<nav ng-if="numPages && pages.length >= 2"><ul class="pagination">' +
- '<li ng-repeat="page in pages" ng-class="{active: page==currentPage}"><a href="javascript: void(0);" ng-click="selectPage(page)">{{page}}</a></li>' +
- '</ul></nav>');
-}]);
-
-
-ng.module('smart-table')
- .constant('stConfig', {
- pagination: {
- template: 'template/smart-table/pagination.html',
- itemsByPage: 10,
- displayedPages: 5
- },
- search: {
- delay: 400, // ms
- inputEvent: 'input'
- },
- select: {
- mode: 'single',
- selectedClass: 'st-selected'
- },
- sort: {
- ascentClass: 'st-sort-ascent',
- descentClass: 'st-sort-descent',
- descendingFirst: false,
- skipNatural: false,
- delay:300
- },
- pipe: {
- delay: 100 //ms
- }
- });
-ng.module('smart-table')
- .controller('stTableController', ['$scope', '$parse', '$filter', '$attrs', function StTableController ($scope, $parse, $filter, $attrs) {
- var propertyName = $attrs.stTable;
- var displayGetter = $parse(propertyName);
- var displaySetter = displayGetter.assign;
- var safeGetter;
- var orderBy = $filter('orderBy');
- var filter = $filter('filter');
- var safeCopy = copyRefs(displayGetter($scope));
- var tableState = {
- sort: {},
- search: {},
- pagination: {
- start: 0,
- totalItemCount: 0
- }
- };
- var filtered;
- var pipeAfterSafeCopy = true;
- var ctrl = this;
- var lastSelected;
-
- function copyRefs (src) {
- return src ? [].concat(src) : [];
- }
-
- function updateSafeCopy () {
- safeCopy = copyRefs(safeGetter($scope));
- if (pipeAfterSafeCopy === true) {
- ctrl.pipe();
- }
- }
-
- function deepDelete (object, path) {
- if (path.indexOf('.') != -1) {
- var partials = path.split('.');
- var key = partials.pop();
- var parentPath = partials.join('.');
- var parentObject = $parse(parentPath)(object)
- delete parentObject[key];
- if (Object.keys(parentObject).length == 0) {
- deepDelete(object, parentPath);
- }
- } else {
- delete object[path];
- }
- }
-
- if ($attrs.stSafeSrc) {
- safeGetter = $parse($attrs.stSafeSrc);
- $scope.$watch(function () {
- var safeSrc = safeGetter($scope);
- return safeSrc && safeSrc.length ? safeSrc[0] : undefined;
- }, function (newValue, oldValue) {
- if (newValue !== oldValue) {
- updateSafeCopy();
- }
- });
- $scope.$watch(function () {
- var safeSrc = safeGetter($scope);
- return safeSrc ? safeSrc.length : 0;
- }, function (newValue, oldValue) {
- if (newValue !== safeCopy.length) {
- updateSafeCopy();
- }
- });
- $scope.$watch(function () {
- return safeGetter($scope);
- }, function (newValue, oldValue) {
- if (newValue !== oldValue) {
- tableState.pagination.start = 0;
- updateSafeCopy();
- }
- });
- }
-
- /**
- * sort the rows
- * @param {Function | String} predicate - function or string which will be used as predicate for the sorting
- * @param [reverse] - if you want to reverse the order
- */
- this.sortBy = function sortBy (predicate, reverse) {
- tableState.sort.predicate = predicate;
- tableState.sort.reverse = reverse === true;
-
- if (ng.isFunction(predicate)) {
- tableState.sort.functionName = predicate.name;
- } else {
- delete tableState.sort.functionName;
- }
-
- tableState.pagination.start = 0;
- return this.pipe();
- };
-
- /**
- * search matching rows
- * @param {String} input - the input string
- * @param {String} [predicate] - the property name against you want to check the match, otherwise it will search on all properties
- */
- this.search = function search (input, predicate) {
- var predicateObject = tableState.search.predicateObject || {};
- var prop = predicate ? predicate : '$';
-
- input = ng.isString(input) ? input.trim() : input;
- $parse(prop).assign(predicateObject, input);
- // to avoid to filter out null value
- if (!input) {
- deepDelete(predicateObject, prop);
- }
- tableState.search.predicateObject = predicateObject;
- tableState.pagination.start = 0;
- return this.pipe();
- };
-
- /**
- * this will chain the operations of sorting and filtering based on the current table state (sort options, filtering, ect)
- */
- this.pipe = function pipe () {
- var pagination = tableState.pagination;
- var output;
- filtered = tableState.search.predicateObject ? filter(safeCopy, tableState.search.predicateObject) : safeCopy;
- if (tableState.sort.predicate) {
- filtered = orderBy(filtered, tableState.sort.predicate, tableState.sort.reverse);
- }
- pagination.totalItemCount = filtered.length;
- if (pagination.number !== undefined) {
- pagination.numberOfPages = filtered.length > 0 ? Math.ceil(filtered.length / pagination.number) : 1;
- pagination.start = pagination.start >= filtered.length ? (pagination.numberOfPages - 1) * pagination.number : pagination.start;
- output = filtered.slice(pagination.start, pagination.start + parseInt(pagination.number));
- }
- displaySetter($scope, output || filtered);
- };
-
- /**
- * select a dataRow (it will add the attribute isSelected to the row object)
- * @param {Object} row - the row to select
- * @param {String} [mode] - "single" or "multiple" (multiple by default)
- */
- this.select = function select (row, mode) {
- var rows = copyRefs(displayGetter($scope));
- var index = rows.indexOf(row);
- if (index !== -1) {
- if (mode === 'single') {
- row.isSelected = row.isSelected !== true;
- if (lastSelected) {
- lastSelected.isSelected = false;
- }
- lastSelected = row.isSelected === true ? row : undefined;
- } else {
- rows[index].isSelected = !rows[index].isSelected;
- }
- }
- };
-
- /**
- * take a slice of the current sorted/filtered collection (pagination)
- *
- * @param {Number} start - start index of the slice
- * @param {Number} number - the number of item in the slice
- */
- this.slice = function splice (start, number) {
- tableState.pagination.start = start;
- tableState.pagination.number = number;
- return this.pipe();
- };
-
- /**
- * return the current state of the table
- * @returns {{sort: {}, search: {}, pagination: {start: number}}}
- */
- this.tableState = function getTableState () {
- return tableState;
- };
-
- this.getFilteredCollection = function getFilteredCollection () {
- return filtered || safeCopy;
- };
-
- /**
- * Use a different filter function than the angular FilterFilter
- * @param filterName the name under which the custom filter is registered
- */
- this.setFilterFunction = function setFilterFunction (filterName) {
- filter = $filter(filterName);
- };
-
- /**
- * Use a different function than the angular orderBy
- * @param sortFunctionName the name under which the custom order function is registered
- */
- this.setSortFunction = function setSortFunction (sortFunctionName) {
- orderBy = $filter(sortFunctionName);
- };
-
- /**
- * Usually when the safe copy is updated the pipe function is called.
- * Calling this method will prevent it, which is something required when using a custom pipe function
- */
- this.preventPipeOnWatch = function preventPipe () {
- pipeAfterSafeCopy = false;
- };
- }])
- .directive('stTable', function () {
- return {
- restrict: 'A',
- controller: 'stTableController',
- link: function (scope, element, attr, ctrl) {
-
- if (attr.stSetFilter) {
- ctrl.setFilterFunction(attr.stSetFilter);
- }
-
- if (attr.stSetSort) {
- ctrl.setSortFunction(attr.stSetSort);
- }
- }
- };
- });
-
-ng.module('smart-table')
- .directive('stSearch', ['stConfig', '$timeout','$parse', function (stConfig, $timeout, $parse) {
- return {
- require: '^stTable',
- link: function (scope, element, attr, ctrl) {
- var tableCtrl = ctrl;
- var promise = null;
- var throttle = attr.stDelay || stConfig.search.delay;
- var event = attr.stInputEvent || stConfig.search.inputEvent;
-
- attr.$observe('stSearch', function (newValue, oldValue) {
- var input = element[0].value;
- if (newValue !== oldValue && input) {
- ctrl.tableState().search = {};
- tableCtrl.search(input, newValue);
- }
- });
-
- //table state -> view
- scope.$watch(function () {
- return ctrl.tableState().search;
- }, function (newValue, oldValue) {
- var predicateExpression = attr.stSearch || '$';
- if (newValue.predicateObject && $parse(predicateExpression)(newValue.predicateObject) !== element[0].value) {
- element[0].value = $parse(predicateExpression)(newValue.predicateObject) || '';
- }
- }, true);
-
- // view -> table state
- element.bind(event, function (evt) {
- evt = evt.originalEvent || evt;
- if (promise !== null) {
- $timeout.cancel(promise);
- }
-
- promise = $timeout(function () {
- tableCtrl.search(evt.target.value, attr.stSearch || '');
- promise = null;
- }, throttle);
- });
- }
- };
- }]);
-
-ng.module('smart-table')
- .directive('stSelectRow', ['stConfig', function (stConfig) {
- return {
- restrict: 'A',
- require: '^stTable',
- scope: {
- row: '=stSelectRow'
- },
- link: function (scope, element, attr, ctrl) {
- var mode = attr.stSelectMode || stConfig.select.mode;
- element.bind('click', function () {
- scope.$apply(function () {
- ctrl.select(scope.row, mode);
- });
- });
-
- scope.$watch('row.isSelected', function (newValue) {
- if (newValue === true) {
- element.addClass(stConfig.select.selectedClass);
- } else {
- element.removeClass(stConfig.select.selectedClass);
- }
- });
- }
- };
- }]);
-
-ng.module('smart-table')
- .directive('stSort', ['stConfig', '$parse', '$timeout', function (stConfig, $parse, $timeout) {
- return {
- restrict: 'A',
- require: '^stTable',
- link: function (scope, element, attr, ctrl) {
-
- var predicate = attr.stSort;
- var getter = $parse(predicate);
- var index = 0;
- var classAscent = attr.stClassAscent || stConfig.sort.ascentClass;
- var classDescent = attr.stClassDescent || stConfig.sort.descentClass;
- var stateClasses = [classAscent, classDescent];
- var sortDefault;
- var skipNatural = attr.stSkipNatural !== undefined ? attr.stSkipNatural : stConfig.sort.skipNatural;
- var descendingFirst = attr.stDescendingFirst !== undefined ? attr.stDescendingFirst : stConfig.sort.descendingFirst;
- var promise = null;
- var throttle = attr.stDelay || stConfig.sort.delay;
-
- if (attr.stSortDefault) {
- sortDefault = scope.$eval(attr.stSortDefault) !== undefined ? scope.$eval(attr.stSortDefault) : attr.stSortDefault;
- }
-
- //view --> table state
- function sort () {
- if (descendingFirst) {
- index = index === 0 ? 2 : index - 1;
- } else {
- index++;
- }
-
- var func;
- predicate = ng.isFunction(getter(scope)) || ng.isArray(getter(scope)) ? getter(scope) : attr.stSort;
- if (index % 3 === 0 && !!skipNatural !== true) {
- //manual reset
- index = 0;
- ctrl.tableState().sort = {};
- ctrl.tableState().pagination.start = 0;
- func = ctrl.pipe.bind(ctrl);
- } else {
- func = ctrl.sortBy.bind(ctrl, predicate, index % 2 === 0);
- }
- if (promise !== null) {
- $timeout.cancel(promise);
- }
- if (throttle < 0) {
- func();
- } else {
- promise = $timeout(func, throttle);
- }
- }
-
- element.bind('click', function sortClick () {
- if (predicate) {
- scope.$apply(sort);
- }
- });
-
- if (sortDefault) {
- index = sortDefault === 'reverse' ? 1 : 0;
- sort();
- }
-
- //table state --> view
- scope.$watch(function () {
- return ctrl.tableState().sort;
- }, function (newValue) {
- if (newValue.predicate !== predicate) {
- index = 0;
- element
- .removeClass(classAscent)
- .removeClass(classDescent);
- } else {
- index = newValue.reverse === true ? 2 : 1;
- element
- .removeClass(stateClasses[index % 2])
- .addClass(stateClasses[index - 1]);
- }
- }, true);
- }
- };
- }]);
-
-ng.module('smart-table')
- .directive('stPagination', ['stConfig', function (stConfig) {
- return {
- restrict: 'EA',
- require: '^stTable',
- scope: {
- stItemsByPage: '=?',
- stDisplayedPages: '=?',
- stPageChange: '&'
- },
- templateUrl: function (element, attrs) {
- if (attrs.stTemplate) {
- return attrs.stTemplate;
- }
- return stConfig.pagination.template;
- },
- link: function (scope, element, attrs, ctrl) {
-
- scope.stItemsByPage = scope.stItemsByPage ? +(scope.stItemsByPage) : stConfig.pagination.itemsByPage;
- scope.stDisplayedPages = scope.stDisplayedPages ? +(scope.stDisplayedPages) : stConfig.pagination.displayedPages;
-
- scope.currentPage = 1;
- scope.pages = [];
-
- function redraw () {
- var paginationState = ctrl.tableState().pagination;
- var start = 1;
- var end;
- var i;
- var prevPage = scope.currentPage;
- scope.totalItemCount = paginationState.totalItemCount;
- scope.currentPage = Math.floor(paginationState.start / paginationState.number) + 1;
-
- start = Math.max(start, scope.currentPage - Math.abs(Math.floor(scope.stDisplayedPages / 2)));
- end = start + scope.stDisplayedPages;
-
- if (end > paginationState.numberOfPages) {
- end = paginationState.numberOfPages + 1;
- start = Math.max(1, end - scope.stDisplayedPages);
- }
-
- scope.pages = [];
- scope.numPages = paginationState.numberOfPages;
-
- for (i = start; i < end; i++) {
- scope.pages.push(i);
- }
-
- if (prevPage !== scope.currentPage) {
- scope.stPageChange({newPage: scope.currentPage});
- }
- }
-
- //table state --> view
- scope.$watch(function () {
- return ctrl.tableState().pagination;
- }, redraw, true);
-
- //scope --> table state (--> view)
- scope.$watch('stItemsByPage', function (newValue, oldValue) {
- if (newValue !== oldValue) {
- scope.selectPage(1);
- }
- });
-
- scope.$watch('stDisplayedPages', redraw);
-
- //view -> table state
- scope.selectPage = function (page) {
- if (page > 0 && page <= scope.numPages) {
- ctrl.slice((page - 1) * scope.stItemsByPage, scope.stItemsByPage);
- }
- };
-
- if (!ctrl.tableState().pagination.number) {
- ctrl.slice(0, scope.stItemsByPage);
- }
- }
- };
- }]);
-
-ng.module('smart-table')
- .directive('stPipe', ['stConfig', '$timeout', function (config, $timeout) {
- return {
- require: 'stTable',
- scope: {
- stPipe: '='
- },
- link: {
-
- pre: function (scope, element, attrs, ctrl) {
-
- var pipePromise = null;
-
- if (ng.isFunction(scope.stPipe)) {
- ctrl.preventPipeOnWatch();
- ctrl.pipe = function () {
-
- if (pipePromise !== null) {
- $timeout.cancel(pipePromise)
- }
-
- pipePromise = $timeout(function () {
- scope.stPipe(ctrl.tableState(), ctrl);
- }, config.pipe.delay);
-
- return pipePromise;
- }
- }
- },
-
- post: function (scope, element, attrs, ctrl) {
- ctrl.pipe();
- }
- }
- };
- }]);
-
-})(angular); \ No newline at end of file
diff --git a/ecomp-portal-FE/client/bower_components/angular-smart-table/dist/smart-table.min.js b/ecomp-portal-FE/client/bower_components/angular-smart-table/dist/smart-table.min.js
deleted file mode 100644
index 0a65eaab..00000000
--- a/ecomp-portal-FE/client/bower_components/angular-smart-table/dist/smart-table.min.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/**
-* @version 2.1.8
-* @license MIT
-*/
-!function(t,e){"use strict";t.module("smart-table",[]).run(["$templateCache",function(t){t.put("template/smart-table/pagination.html",'<nav ng-if="numPages && pages.length >= 2"><ul class="pagination"><li ng-repeat="page in pages" ng-class="{active: page==currentPage}"><a href="javascript: void(0);" ng-click="selectPage(page)">{{page}}</a></li></ul></nav>')}]),t.module("smart-table").constant("stConfig",{pagination:{template:"template/smart-table/pagination.html",itemsByPage:10,displayedPages:5},search:{delay:400,inputEvent:"input"},select:{mode:"single",selectedClass:"st-selected"},sort:{ascentClass:"st-sort-ascent",descentClass:"st-sort-descent",descendingFirst:!1,skipNatural:!1,delay:300},pipe:{delay:100}}),t.module("smart-table").controller("stTableController",["$scope","$parse","$filter","$attrs",function(a,n,s,i){function r(t){return t?[].concat(t):[]}function l(){b=r(o(a)),v===!0&&S.pipe()}function c(t,e){if(-1!=e.indexOf(".")){var a=e.split("."),s=a.pop(),i=a.join("."),r=n(i)(t);delete r[s],0==Object.keys(r).length&&c(t,i)}else delete t[e]}var o,u,p,g=i.stTable,d=n(g),f=d.assign,m=s("orderBy"),h=s("filter"),b=r(d(a)),P={sort:{},search:{},pagination:{start:0,totalItemCount:0}},v=!0,S=this;i.stSafeSrc&&(o=n(i.stSafeSrc),a.$watch(function(){var t=o(a);return t&&t.length?t[0]:e},function(t,e){t!==e&&l()}),a.$watch(function(){var t=o(a);return t?t.length:0},function(t){t!==b.length&&l()}),a.$watch(function(){return o(a)},function(t,e){t!==e&&(P.pagination.start=0,l())})),this.sortBy=function(e,a){return P.sort.predicate=e,P.sort.reverse=a===!0,t.isFunction(e)?P.sort.functionName=e.name:delete P.sort.functionName,P.pagination.start=0,this.pipe()},this.search=function(e,a){var s=P.search.predicateObject||{},i=a?a:"$";return e=t.isString(e)?e.trim():e,n(i).assign(s,e),e||c(s,i),P.search.predicateObject=s,P.pagination.start=0,this.pipe()},this.pipe=function(){var t,n=P.pagination;u=P.search.predicateObject?h(b,P.search.predicateObject):b,P.sort.predicate&&(u=m(u,P.sort.predicate,P.sort.reverse)),n.totalItemCount=u.length,n.number!==e&&(n.numberOfPages=u.length>0?Math.ceil(u.length/n.number):1,n.start=n.start>=u.length?(n.numberOfPages-1)*n.number:n.start,t=u.slice(n.start,n.start+parseInt(n.number))),f(a,t||u)},this.select=function(t,n){var s=r(d(a)),i=s.indexOf(t);-1!==i&&("single"===n?(t.isSelected=t.isSelected!==!0,p&&(p.isSelected=!1),p=t.isSelected===!0?t:e):s[i].isSelected=!s[i].isSelected)},this.slice=function(t,e){return P.pagination.start=t,P.pagination.number=e,this.pipe()},this.tableState=function(){return P},this.getFilteredCollection=function(){return u||b},this.setFilterFunction=function(t){h=s(t)},this.setSortFunction=function(t){m=s(t)},this.preventPipeOnWatch=function(){v=!1}}]).directive("stTable",function(){return{restrict:"A",controller:"stTableController",link:function(t,e,a,n){a.stSetFilter&&n.setFilterFunction(a.stSetFilter),a.stSetSort&&n.setSortFunction(a.stSetSort)}}}),t.module("smart-table").directive("stSearch",["stConfig","$timeout","$parse",function(t,e,a){return{require:"^stTable",link:function(n,s,i,r){var l=r,c=null,o=i.stDelay||t.search.delay,u=i.stInputEvent||t.search.inputEvent;i.$observe("stSearch",function(t,e){var a=s[0].value;t!==e&&a&&(r.tableState().search={},l.search(a,t))}),n.$watch(function(){return r.tableState().search},function(t){var e=i.stSearch||"$";t.predicateObject&&a(e)(t.predicateObject)!==s[0].value&&(s[0].value=a(e)(t.predicateObject)||"")},!0),s.bind(u,function(t){t=t.originalEvent||t,null!==c&&e.cancel(c),c=e(function(){l.search(t.target.value,i.stSearch||""),c=null},o)})}}}]),t.module("smart-table").directive("stSelectRow",["stConfig",function(t){return{restrict:"A",require:"^stTable",scope:{row:"=stSelectRow"},link:function(e,a,n,s){var i=n.stSelectMode||t.select.mode;a.bind("click",function(){e.$apply(function(){s.select(e.row,i)})}),e.$watch("row.isSelected",function(e){e===!0?a.addClass(t.select.selectedClass):a.removeClass(t.select.selectedClass)})}}}]),t.module("smart-table").directive("stSort",["stConfig","$parse","$timeout",function(a,n,s){return{restrict:"A",require:"^stTable",link:function(i,r,l,c){function o(){P?d=0===d?2:d-1:d++;var e;p=t.isFunction(g(i))||t.isArray(g(i))?g(i):l.stSort,d%3===0&&!!b!=!0?(d=0,c.tableState().sort={},c.tableState().pagination.start=0,e=c.pipe.bind(c)):e=c.sortBy.bind(c,p,d%2===0),null!==v&&s.cancel(v),0>S?e():v=s(e,S)}var u,p=l.stSort,g=n(p),d=0,f=l.stClassAscent||a.sort.ascentClass,m=l.stClassDescent||a.sort.descentClass,h=[f,m],b=l.stSkipNatural!==e?l.stSkipNatural:a.sort.skipNatural,P=l.stDescendingFirst!==e?l.stDescendingFirst:a.sort.descendingFirst,v=null,S=l.stDelay||a.sort.delay;l.stSortDefault&&(u=i.$eval(l.stSortDefault)!==e?i.$eval(l.stSortDefault):l.stSortDefault),r.bind("click",function(){p&&i.$apply(o)}),u&&(d="reverse"===u?1:0,o()),i.$watch(function(){return c.tableState().sort},function(t){t.predicate!==p?(d=0,r.removeClass(f).removeClass(m)):(d=t.reverse===!0?2:1,r.removeClass(h[d%2]).addClass(h[d-1]))},!0)}}}]),t.module("smart-table").directive("stPagination",["stConfig",function(t){return{restrict:"EA",require:"^stTable",scope:{stItemsByPage:"=?",stDisplayedPages:"=?",stPageChange:"&"},templateUrl:function(e,a){return a.stTemplate?a.stTemplate:t.pagination.template},link:function(e,a,n,s){function i(){var t,a,n=s.tableState().pagination,i=1,r=e.currentPage;for(e.totalItemCount=n.totalItemCount,e.currentPage=Math.floor(n.start/n.number)+1,i=Math.max(i,e.currentPage-Math.abs(Math.floor(e.stDisplayedPages/2))),t=i+e.stDisplayedPages,t>n.numberOfPages&&(t=n.numberOfPages+1,i=Math.max(1,t-e.stDisplayedPages)),e.pages=[],e.numPages=n.numberOfPages,a=i;t>a;a++)e.pages.push(a);r!==e.currentPage&&e.stPageChange({newPage:e.currentPage})}e.stItemsByPage=e.stItemsByPage?+e.stItemsByPage:t.pagination.itemsByPage,e.stDisplayedPages=e.stDisplayedPages?+e.stDisplayedPages:t.pagination.displayedPages,e.currentPage=1,e.pages=[],e.$watch(function(){return s.tableState().pagination},i,!0),e.$watch("stItemsByPage",function(t,a){t!==a&&e.selectPage(1)}),e.$watch("stDisplayedPages",i),e.selectPage=function(t){t>0&&t<=e.numPages&&s.slice((t-1)*e.stItemsByPage,e.stItemsByPage)},s.tableState().pagination.number||s.slice(0,e.stItemsByPage)}}}]),t.module("smart-table").directive("stPipe",["stConfig","$timeout",function(e,a){return{require:"stTable",scope:{stPipe:"="},link:{pre:function(n,s,i,r){var l=null;t.isFunction(n.stPipe)&&(r.preventPipeOnWatch(),r.pipe=function(){return null!==l&&a.cancel(l),l=a(function(){n.stPipe(r.tableState(),r)},e.pipe.delay)})},post:function(t,e,a,n){n.pipe()}}}}])}(angular);
-//# sourceMappingURL=smart-table.min.js.map
diff --git a/ecomp-portal-FE/client/bower_components/angular-smart-table/dist/smart-table.min.js.map b/ecomp-portal-FE/client/bower_components/angular-smart-table/dist/smart-table.min.js.map
deleted file mode 100644
index 186e03c1..00000000
--- a/ecomp-portal-FE/client/bower_components/angular-smart-table/dist/smart-table.min.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["smart-table.min.js"],"names":["ng","undefined","module","run","$templateCache","put","constant","pagination","template","itemsByPage","displayedPages","search","delay","inputEvent","select","mode","selectedClass","sort","ascentClass","descentClass","descendingFirst","skipNatural","pipe","controller","$scope","$parse","$filter","$attrs","copyRefs","src","concat","updateSafeCopy","safeCopy","safeGetter","pipeAfterSafeCopy","ctrl","deepDelete","object","path","indexOf","partials","split","key","pop","parentPath","join","parentObject","Object","keys","length","filtered","lastSelected","propertyName","stTable","displayGetter","displaySetter","assign","orderBy","filter","tableState","start","totalItemCount","this","stSafeSrc","$watch","safeSrc","newValue","oldValue","sortBy","predicate","reverse","isFunction","functionName","name","input","predicateObject","prop","isString","trim","output","number","numberOfPages","Math","ceil","slice","parseInt","row","rows","index","isSelected","getFilteredCollection","setFilterFunction","filterName","setSortFunction","sortFunctionName","preventPipeOnWatch","directive","restrict","link","scope","element","attr","stSetFilter","stSetSort","stConfig","$timeout","require","tableCtrl","promise","throttle","stDelay","event","stInputEvent","$observe","value","predicateExpression","stSearch","bind","evt","originalEvent","cancel","target","stSelectMode","$apply","addClass","removeClass","func","getter","isArray","stSort","sortDefault","classAscent","stClassAscent","classDescent","stClassDescent","stateClasses","stSkipNatural","stDescendingFirst","stSortDefault","$eval","stItemsByPage","stDisplayedPages","stPageChange","templateUrl","attrs","stTemplate","redraw","end","i","paginationState","prevPage","currentPage","floor","max","abs","pages","numPages","push","newPage","selectPage","page","config","stPipe","pre","pipePromise","post","angular"],"mappings":"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","file":"smart-table.min.js","sourcesContent":["(function (ng, undefined){\n 'use strict';\n\nng.module('smart-table', []).run(['$templateCache', function ($templateCache) {\n $templateCache.put('template/smart-table/pagination.html',\n '<nav ng-if=\"numPages && pages.length >= 2\"><ul class=\"pagination\">' +\n '<li ng-repeat=\"page in pages\" ng-class=\"{active: page==currentPage}\"><a href=\"javascript: void(0);\" ng-click=\"selectPage(page)\">{{page}}</a></li>' +\n '</ul></nav>');\n}]);\n\n\nng.module('smart-table')\n .constant('stConfig', {\n pagination: {\n template: 'template/smart-table/pagination.html',\n itemsByPage: 10,\n displayedPages: 5\n },\n search: {\n delay: 400, // ms\n inputEvent: 'input'\n },\n select: {\n mode: 'single',\n selectedClass: 'st-selected'\n },\n sort: {\n ascentClass: 'st-sort-ascent',\n descentClass: 'st-sort-descent',\n descendingFirst: false,\n skipNatural: false,\n delay:300\n },\n pipe: {\n delay: 100 //ms\n }\n });\nng.module('smart-table')\n .controller('stTableController', ['$scope', '$parse', '$filter', '$attrs', function StTableController ($scope, $parse, $filter, $attrs) {\n var propertyName = $attrs.stTable;\n var displayGetter = $parse(propertyName);\n var displaySetter = displayGetter.assign;\n var safeGetter;\n var orderBy = $filter('orderBy');\n var filter = $filter('filter');\n var safeCopy = copyRefs(displayGetter($scope));\n var tableState = {\n sort: {},\n search: {},\n pagination: {\n start: 0,\n totalItemCount: 0\n }\n };\n var filtered;\n var pipeAfterSafeCopy = true;\n var ctrl = this;\n var lastSelected;\n\n function copyRefs (src) {\n return src ? [].concat(src) : [];\n }\n\n function updateSafeCopy () {\n safeCopy = copyRefs(safeGetter($scope));\n if (pipeAfterSafeCopy === true) {\n ctrl.pipe();\n }\n }\n\n function deepDelete (object, path) {\n if (path.indexOf('.') != -1) {\n var partials = path.split('.');\n var key = partials.pop();\n var parentPath = partials.join('.');\n var parentObject = $parse(parentPath)(object)\n delete parentObject[key];\n if (Object.keys(parentObject).length == 0) {\n deepDelete(object, parentPath);\n }\n } else {\n delete object[path];\n }\n }\n\n if ($attrs.stSafeSrc) {\n safeGetter = $parse($attrs.stSafeSrc);\n $scope.$watch(function () {\n var safeSrc = safeGetter($scope);\n return safeSrc && safeSrc.length ? safeSrc[0] : undefined;\n }, function (newValue, oldValue) {\n if (newValue !== oldValue) {\n updateSafeCopy();\n }\n });\n $scope.$watch(function () {\n var safeSrc = safeGetter($scope);\n return safeSrc ? safeSrc.length : 0;\n }, function (newValue, oldValue) {\n if (newValue !== safeCopy.length) {\n updateSafeCopy();\n }\n });\n $scope.$watch(function () {\n return safeGetter($scope);\n }, function (newValue, oldValue) {\n if (newValue !== oldValue) {\n tableState.pagination.start = 0;\n updateSafeCopy();\n }\n });\n }\n\n /**\n * sort the rows\n * @param {Function | String} predicate - function or string which will be used as predicate for the sorting\n * @param [reverse] - if you want to reverse the order\n */\n this.sortBy = function sortBy (predicate, reverse) {\n tableState.sort.predicate = predicate;\n tableState.sort.reverse = reverse === true;\n\n if (ng.isFunction(predicate)) {\n tableState.sort.functionName = predicate.name;\n } else {\n delete tableState.sort.functionName;\n }\n\n tableState.pagination.start = 0;\n return this.pipe();\n };\n\n /**\n * search matching rows\n * @param {String} input - the input string\n * @param {String} [predicate] - the property name against you want to check the match, otherwise it will search on all properties\n */\n this.search = function search (input, predicate) {\n var predicateObject = tableState.search.predicateObject || {};\n var prop = predicate ? predicate : '$';\n\n input = ng.isString(input) ? input.trim() : input;\n $parse(prop).assign(predicateObject, input);\n // to avoid to filter out null value\n if (!input) {\n deepDelete(predicateObject, prop);\n }\n tableState.search.predicateObject = predicateObject;\n tableState.pagination.start = 0;\n return this.pipe();\n };\n\n /**\n * this will chain the operations of sorting and filtering based on the current table state (sort options, filtering, ect)\n */\n this.pipe = function pipe () {\n var pagination = tableState.pagination;\n var output;\n filtered = tableState.search.predicateObject ? filter(safeCopy, tableState.search.predicateObject) : safeCopy;\n if (tableState.sort.predicate) {\n filtered = orderBy(filtered, tableState.sort.predicate, tableState.sort.reverse);\n }\n pagination.totalItemCount = filtered.length;\n if (pagination.number !== undefined) {\n pagination.numberOfPages = filtered.length > 0 ? Math.ceil(filtered.length / pagination.number) : 1;\n pagination.start = pagination.start >= filtered.length ? (pagination.numberOfPages - 1) * pagination.number : pagination.start;\n output = filtered.slice(pagination.start, pagination.start + parseInt(pagination.number));\n }\n displaySetter($scope, output || filtered);\n };\n\n /**\n * select a dataRow (it will add the attribute isSelected to the row object)\n * @param {Object} row - the row to select\n * @param {String} [mode] - \"single\" or \"multiple\" (multiple by default)\n */\n this.select = function select (row, mode) {\n var rows = copyRefs(displayGetter($scope));\n var index = rows.indexOf(row);\n if (index !== -1) {\n if (mode === 'single') {\n row.isSelected = row.isSelected !== true;\n if (lastSelected) {\n lastSelected.isSelected = false;\n }\n lastSelected = row.isSelected === true ? row : undefined;\n } else {\n rows[index].isSelected = !rows[index].isSelected;\n }\n }\n };\n\n /**\n * take a slice of the current sorted/filtered collection (pagination)\n *\n * @param {Number} start - start index of the slice\n * @param {Number} number - the number of item in the slice\n */\n this.slice = function splice (start, number) {\n tableState.pagination.start = start;\n tableState.pagination.number = number;\n return this.pipe();\n };\n\n /**\n * return the current state of the table\n * @returns {{sort: {}, search: {}, pagination: {start: number}}}\n */\n this.tableState = function getTableState () {\n return tableState;\n };\n\n this.getFilteredCollection = function getFilteredCollection () {\n return filtered || safeCopy;\n };\n\n /**\n * Use a different filter function than the angular FilterFilter\n * @param filterName the name under which the custom filter is registered\n */\n this.setFilterFunction = function setFilterFunction (filterName) {\n filter = $filter(filterName);\n };\n\n /**\n * Use a different function than the angular orderBy\n * @param sortFunctionName the name under which the custom order function is registered\n */\n this.setSortFunction = function setSortFunction (sortFunctionName) {\n orderBy = $filter(sortFunctionName);\n };\n\n /**\n * Usually when the safe copy is updated the pipe function is called.\n * Calling this method will prevent it, which is something required when using a custom pipe function\n */\n this.preventPipeOnWatch = function preventPipe () {\n pipeAfterSafeCopy = false;\n };\n }])\n .directive('stTable', function () {\n return {\n restrict: 'A',\n controller: 'stTableController',\n link: function (scope, element, attr, ctrl) {\n\n if (attr.stSetFilter) {\n ctrl.setFilterFunction(attr.stSetFilter);\n }\n\n if (attr.stSetSort) {\n ctrl.setSortFunction(attr.stSetSort);\n }\n }\n };\n });\n\nng.module('smart-table')\n .directive('stSearch', ['stConfig', '$timeout','$parse', function (stConfig, $timeout, $parse) {\n return {\n require: '^stTable',\n link: function (scope, element, attr, ctrl) {\n var tableCtrl = ctrl;\n var promise = null;\n var throttle = attr.stDelay || stConfig.search.delay;\n var event = attr.stInputEvent || stConfig.search.inputEvent;\n\n attr.$observe('stSearch', function (newValue, oldValue) {\n var input = element[0].value;\n if (newValue !== oldValue && input) {\n ctrl.tableState().search = {};\n tableCtrl.search(input, newValue);\n }\n });\n\n //table state -> view\n scope.$watch(function () {\n return ctrl.tableState().search;\n }, function (newValue, oldValue) {\n var predicateExpression = attr.stSearch || '$';\n if (newValue.predicateObject && $parse(predicateExpression)(newValue.predicateObject) !== element[0].value) {\n element[0].value = $parse(predicateExpression)(newValue.predicateObject) || '';\n }\n }, true);\n\n // view -> table state\n element.bind(event, function (evt) {\n evt = evt.originalEvent || evt;\n if (promise !== null) {\n $timeout.cancel(promise);\n }\n\n promise = $timeout(function () {\n tableCtrl.search(evt.target.value, attr.stSearch || '');\n promise = null;\n }, throttle);\n });\n }\n };\n }]);\n\nng.module('smart-table')\n .directive('stSelectRow', ['stConfig', function (stConfig) {\n return {\n restrict: 'A',\n require: '^stTable',\n scope: {\n row: '=stSelectRow'\n },\n link: function (scope, element, attr, ctrl) {\n var mode = attr.stSelectMode || stConfig.select.mode;\n element.bind('click', function () {\n scope.$apply(function () {\n ctrl.select(scope.row, mode);\n });\n });\n\n scope.$watch('row.isSelected', function (newValue) {\n if (newValue === true) {\n element.addClass(stConfig.select.selectedClass);\n } else {\n element.removeClass(stConfig.select.selectedClass);\n }\n });\n }\n };\n }]);\n\nng.module('smart-table')\n .directive('stSort', ['stConfig', '$parse', '$timeout', function (stConfig, $parse, $timeout) {\n return {\n restrict: 'A',\n require: '^stTable',\n link: function (scope, element, attr, ctrl) {\n\n var predicate = attr.stSort;\n var getter = $parse(predicate);\n var index = 0;\n var classAscent = attr.stClassAscent || stConfig.sort.ascentClass;\n var classDescent = attr.stClassDescent || stConfig.sort.descentClass;\n var stateClasses = [classAscent, classDescent];\n var sortDefault;\n var skipNatural = attr.stSkipNatural !== undefined ? attr.stSkipNatural : stConfig.sort.skipNatural;\n var descendingFirst = attr.stDescendingFirst !== undefined ? attr.stDescendingFirst : stConfig.sort.descendingFirst;\n var promise = null;\n var throttle = attr.stDelay || stConfig.sort.delay;\n\n if (attr.stSortDefault) {\n sortDefault = scope.$eval(attr.stSortDefault) !== undefined ? scope.$eval(attr.stSortDefault) : attr.stSortDefault;\n }\n\n //view --> table state\n function sort () {\n if (descendingFirst) {\n index = index === 0 ? 2 : index - 1;\n } else {\n index++;\n }\n\n var func;\n predicate = ng.isFunction(getter(scope)) || ng.isArray(getter(scope)) ? getter(scope) : attr.stSort;\n if (index % 3 === 0 && !!skipNatural !== true) {\n //manual reset\n index = 0;\n ctrl.tableState().sort = {};\n ctrl.tableState().pagination.start = 0;\n func = ctrl.pipe.bind(ctrl);\n } else {\n func = ctrl.sortBy.bind(ctrl, predicate, index % 2 === 0);\n }\n if (promise !== null) {\n $timeout.cancel(promise);\n }\n if (throttle < 0) {\n func();\n } else {\n promise = $timeout(func, throttle);\n }\n }\n\n element.bind('click', function sortClick () {\n if (predicate) {\n scope.$apply(sort);\n }\n });\n\n if (sortDefault) {\n index = sortDefault === 'reverse' ? 1 : 0;\n sort();\n }\n\n //table state --> view\n scope.$watch(function () {\n return ctrl.tableState().sort;\n }, function (newValue) {\n if (newValue.predicate !== predicate) {\n index = 0;\n element\n .removeClass(classAscent)\n .removeClass(classDescent);\n } else {\n index = newValue.reverse === true ? 2 : 1;\n element\n .removeClass(stateClasses[index % 2])\n .addClass(stateClasses[index - 1]);\n }\n }, true);\n }\n };\n }]);\n\nng.module('smart-table')\n .directive('stPagination', ['stConfig', function (stConfig) {\n return {\n restrict: 'EA',\n require: '^stTable',\n scope: {\n stItemsByPage: '=?',\n stDisplayedPages: '=?',\n stPageChange: '&'\n },\n templateUrl: function (element, attrs) {\n if (attrs.stTemplate) {\n return attrs.stTemplate;\n }\n return stConfig.pagination.template;\n },\n link: function (scope, element, attrs, ctrl) {\n\n scope.stItemsByPage = scope.stItemsByPage ? +(scope.stItemsByPage) : stConfig.pagination.itemsByPage;\n scope.stDisplayedPages = scope.stDisplayedPages ? +(scope.stDisplayedPages) : stConfig.pagination.displayedPages;\n\n scope.currentPage = 1;\n scope.pages = [];\n\n function redraw () {\n var paginationState = ctrl.tableState().pagination;\n var start = 1;\n var end;\n var i;\n var prevPage = scope.currentPage;\n scope.totalItemCount = paginationState.totalItemCount;\n scope.currentPage = Math.floor(paginationState.start / paginationState.number) + 1;\n\n start = Math.max(start, scope.currentPage - Math.abs(Math.floor(scope.stDisplayedPages / 2)));\n end = start + scope.stDisplayedPages;\n\n if (end > paginationState.numberOfPages) {\n end = paginationState.numberOfPages + 1;\n start = Math.max(1, end - scope.stDisplayedPages);\n }\n\n scope.pages = [];\n scope.numPages = paginationState.numberOfPages;\n\n for (i = start; i < end; i++) {\n scope.pages.push(i);\n }\n\n if (prevPage !== scope.currentPage) {\n scope.stPageChange({newPage: scope.currentPage});\n }\n }\n\n //table state --> view\n scope.$watch(function () {\n return ctrl.tableState().pagination;\n }, redraw, true);\n\n //scope --> table state (--> view)\n scope.$watch('stItemsByPage', function (newValue, oldValue) {\n if (newValue !== oldValue) {\n scope.selectPage(1);\n }\n });\n\n scope.$watch('stDisplayedPages', redraw);\n\n //view -> table state\n scope.selectPage = function (page) {\n if (page > 0 && page <= scope.numPages) {\n ctrl.slice((page - 1) * scope.stItemsByPage, scope.stItemsByPage);\n }\n };\n\n if (!ctrl.tableState().pagination.number) {\n ctrl.slice(0, scope.stItemsByPage);\n }\n }\n };\n }]);\n\nng.module('smart-table')\n .directive('stPipe', ['stConfig', '$timeout', function (config, $timeout) {\n return {\n require: 'stTable',\n scope: {\n stPipe: '='\n },\n link: {\n\n pre: function (scope, element, attrs, ctrl) {\n\n var pipePromise = null;\n\n if (ng.isFunction(scope.stPipe)) {\n ctrl.preventPipeOnWatch();\n ctrl.pipe = function () {\n\n if (pipePromise !== null) {\n $timeout.cancel(pipePromise)\n }\n\n pipePromise = $timeout(function () {\n scope.stPipe(ctrl.tableState(), ctrl);\n }, config.pipe.delay);\n\n return pipePromise;\n }\n }\n },\n\n post: function (scope, element, attrs, ctrl) {\n ctrl.pipe();\n }\n }\n };\n }]);\n\n})(angular);"],"sourceRoot":"/source/"} \ No newline at end of file
diff --git a/ecomp-portal-FE/client/bower_components/angular-smart-table/gulpFile.js b/ecomp-portal-FE/client/bower_components/angular-smart-table/gulpFile.js
deleted file mode 100644
index cd2bb702..00000000
--- a/ecomp-portal-FE/client/bower_components/angular-smart-table/gulpFile.js
+++ /dev/null
@@ -1,60 +0,0 @@
-var gulp = require('gulp');
-var concat = require('gulp-concat');
-var uglify = require('gulp-uglify');
-var karma = require('karma').server;
-var jshint = require('gulp-jshint');
-var insert = require('gulp-insert');
-var sourcemaps = require('gulp-sourcemaps');
-var stylish = require('jshint-stylish');
-var packageJson = require('./package.json');
-var pluginList = ['stSearch', 'stSelectRow', 'stSort', 'stPagination', 'stPipe'];
-var disFolder = './dist/';
-var src = (['smart-table.module', 'stConfig', 'stTable']).concat(pluginList).map(function (val) {
- return 'src/' + val + '.js';
-});
-
-src.push('src/bottom.txt');
-src.unshift('src/top.txt');
-
-//just as indication
-gulp.task('lint', function () {
- gulp.src(src)
- .pipe(jshint())
- .pipe(jshint.reporter(stylish));
-});
-
-
-gulp.task('karma-CI', function (done) {
- var conf = require('./test/karma.common.js');
- conf.singleRun = true;
- conf.browsers = ['PhantomJS'];
- conf.basePath = './';
- karma.start(conf, done);
-});
-
-gulp.task('uglify', function () {
- gulp.src(src)
- .pipe(concat('smart-table.min.js'))
- .pipe(sourcemaps.init())
- .pipe(uglify())
- .pipe(sourcemaps.write('.'))
- .pipe(gulp.dest(disFolder));
-});
-
-gulp.task('concat', function () {
- gulp.src(src, { base: '.' })
- .pipe(concat('smart-table.js'))
- .pipe(gulp.dest(disFolder));
-});
-
-gulp.task('test', ['karma-CI']);
-
-gulp.task('build',['test', 'uglify', 'concat'], function () {
-
- var version = packageJson.version;
- var string = '/** \n* @version ' + version + '\n* @license MIT\n*/\n';
-
- gulp.src(disFolder + '*.js')
- .pipe(insert.prepend(string))
- .pipe(gulp.dest(disFolder));
-});
diff --git a/ecomp-portal-FE/client/bower_components/angular-smart-table/index.js b/ecomp-portal-FE/client/bower_components/angular-smart-table/index.js
deleted file mode 100644
index dd107014..00000000
--- a/ecomp-portal-FE/client/bower_components/angular-smart-table/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('./dist/smart-table.js');
-module.exports = 'smart-table'; \ No newline at end of file
diff --git a/ecomp-portal-FE/client/bower_components/angular-smart-table/package.json b/ecomp-portal-FE/client/bower_components/angular-smart-table/package.json
deleted file mode 100644
index ba604057..00000000
--- a/ecomp-portal-FE/client/bower_components/angular-smart-table/package.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "name": "angular-smart-table",
- "version": "2.1.8",
- "description": "",
- "main": "index.js",
- "scripts": {
- "test": "node ./node_modules/.bin/gulp karma-CI"
- },
- "repository": {
- "type": "git",
- "url": "https://github.com/lorenzofox3/Smart-Table.git"
- },
- "author": "Laurent Renard",
- "license": "MIT",
- "devDependencies": {
- "gulp": "^3.8.7",
- "gulp-concat": "^2.3.4",
- "gulp-insert": "^0.4.0",
- "gulp-jshint": "^1.8.4",
- "gulp-sourcemaps": "^1.3.0",
- "gulp-uglify": "^0.3.1",
- "jshint-stylish": "^0.4.0",
- "karma": "^0.12.21",
- "karma-chrome-launcher": "^0.1.4",
- "karma-coverage": "^0.2.6",
- "karma-jasmine": "^0.1.5",
- "karma-phantomjs-launcher": "^0.1.4"
- }
-}
diff --git a/ecomp-portal-FE/client/bower_components/angular-smart-table/readme.md b/ecomp-portal-FE/client/bower_components/angular-smart-table/readme.md
deleted file mode 100644
index bc069add..00000000
--- a/ecomp-portal-FE/client/bower_components/angular-smart-table/readme.md
+++ /dev/null
@@ -1,72 +0,0 @@
-[![Build Status](https://travis-ci.org/lorenzofox3/Smart-Table.svg?branch=master)](https://travis-ci.org/lorenzofox3/Smart-Table)
-
-# Smart Table
-[![Gitter](https://badges.gitter.im/Join Chat.svg)](https://gitter.im/lorenzofox3/Smart-Table?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
-
-Smart Table is a table module for angular js. It allows you to quickly compose your table in a declarative way including sorting, filtering, row selection, and pagination.
-It is lightweight (around 3kb minified) and has no other dependencies than Angular itself.
-Check the [documentation](http://lorenzofox3.github.io/smart-table-website/) website for more details
-
-## Submitting an issue
-
-Please be responsible -- investigate potential issues yourself to eliminate the possibility that your issue isn't just an error. If you are still having problems, try posting on our [gitter](https://gitter.im/lorenzofox3/Smart-Table). When submitting an issue try as much as possible to:
-
-1. Search in the already existing issues or on [stackoverflow](http://stackoverflow.com/questions/tagged/smart-table?sort=newest&pageSize=30) if your issue has not been raised before.
-
-2. Give a precise description mentionning angular version, smart-table version.
-
-3. Give a way to reproduce your issue, the best would be with a <strong>running example</strong>, you can use [plunkr](http://plnkr.co/) (smart-table is the list of available packages). Note if you want to mimic ajax loading behaviour you can use [$timeout](https://docs.angularjs.org/api/ng/service/$timeout) angular service or [$httpBackend](https://docs.angularjs.org/api/ng/service/$httpBackend).
-
-4. Isolate your code sample on the probable issue to avoid pollution and noise.
-
-5. Close your issue when a solution has been found (and share it with the community).
-
-Note that 80% of the open issues are actually not issues but due to lack of good investigation. These issues create unnecessary work, so please be considerate.
-
-Any open issue which do not follow the steps above will be closed without investigation.
-
-## Install
-
-The easiest way is to run `bower install angular-smart-table`, then you just have to add the script and register the module `smart-table` to you application.
-
-## Test
-
-Run `npm install` after you have installed the dependencies (`npm install` and `bower install`).
-
-## Custom builds
-
-Smart Table is based around a main directive which generate a top level controller whose API can be accessed by sub directives
-(plugins). If you don't need some of these, simply edit the gulpfile (the pluginList variable) and run `gulp build`.
-
-## Older versions
-
-Smart Table used to be configuration based and if you rely on this version, you can still access the code on the [0.2.x](https://github.com/lorenzofox3/Smart-Table/tree/vx.2.x) branch. You will be able to find the documentation related to this version
-[here](https://github.com/lorenzofox3/smart-table-website) (simply open index.html in a browser).
-
-Note, I have closed all the issues related to these versions as people get confused when reading these issues and commented on them like it was related to the newer version. Feel free to reopen any of them (or open a new one), but don't forget to mention it is related to the older versions.
-
-## License
-
-Smart Table module is under MIT license:
-
-> Copyright (C) 2015 Laurent Renard.
->
-> Permission is hereby granted, free of charge, to any person
-> obtaining a copy of this software and associated documentation files
-> (the "Software"), to deal in the Software without restriction,
-> including without limitation the rights to use, copy, modify, merge,
-> publish, distribute, sublicense, and/or sell copies of the Software,
-> and to permit persons to whom the Software is furnished to do so,
-> subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be
-> included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
-> BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
-> ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-> CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-> SOFTWARE.
diff --git a/ecomp-portal-FE/client/bower_components/angular-smart-table/src/bottom.txt b/ecomp-portal-FE/client/bower_components/angular-smart-table/src/bottom.txt
deleted file mode 100644
index 0384cb19..00000000
--- a/ecomp-portal-FE/client/bower_components/angular-smart-table/src/bottom.txt
+++ /dev/null
@@ -1 +0,0 @@
-})(angular); \ No newline at end of file
diff --git a/ecomp-portal-FE/client/bower_components/angular-smart-table/src/smart-table.module.js b/ecomp-portal-FE/client/bower_components/angular-smart-table/src/smart-table.module.js
deleted file mode 100644
index 6e8eaf55..00000000
--- a/ecomp-portal-FE/client/bower_components/angular-smart-table/src/smart-table.module.js
+++ /dev/null
@@ -1,7 +0,0 @@
-ng.module('smart-table', []).run(['$templateCache', function ($templateCache) {
- $templateCache.put('template/smart-table/pagination.html',
- '<nav ng-if="numPages && pages.length >= 2"><ul class="pagination">' +
- '<li ng-repeat="page in pages" ng-class="{active: page==currentPage}"><a href="javascript: void(0);" ng-click="selectPage(page)">{{page}}</a></li>' +
- '</ul></nav>');
-}]);
-
diff --git a/ecomp-portal-FE/client/bower_components/angular-smart-table/src/stConfig.js b/ecomp-portal-FE/client/bower_components/angular-smart-table/src/stConfig.js
deleted file mode 100644
index 6cddf486..00000000
--- a/ecomp-portal-FE/client/bower_components/angular-smart-table/src/stConfig.js
+++ /dev/null
@@ -1,26 +0,0 @@
-ng.module('smart-table')
- .constant('stConfig', {
- pagination: {
- template: 'template/smart-table/pagination.html',
- itemsByPage: 10,
- displayedPages: 5
- },
- search: {
- delay: 400, // ms
- inputEvent: 'input'
- },
- select: {
- mode: 'single',
- selectedClass: 'st-selected'
- },
- sort: {
- ascentClass: 'st-sort-ascent',
- descentClass: 'st-sort-descent',
- descendingFirst: false,
- skipNatural: false,
- delay:300
- },
- pipe: {
- delay: 100 //ms
- }
- }); \ No newline at end of file
diff --git a/ecomp-portal-FE/client/bower_components/angular-smart-table/src/stPagination.js b/ecomp-portal-FE/client/bower_components/angular-smart-table/src/stPagination.js
deleted file mode 100644
index fa27bfc2..00000000
--- a/ecomp-portal-FE/client/bower_components/angular-smart-table/src/stPagination.js
+++ /dev/null
@@ -1,80 +0,0 @@
-ng.module('smart-table')
- .directive('stPagination', ['stConfig', function (stConfig) {
- return {
- restrict: 'EA',
- require: '^stTable',
- scope: {
- stItemsByPage: '=?',
- stDisplayedPages: '=?',
- stPageChange: '&'
- },
- templateUrl: function (element, attrs) {
- if (attrs.stTemplate) {
- return attrs.stTemplate;
- }
- return stConfig.pagination.template;
- },
- link: function (scope, element, attrs, ctrl) {
-
- scope.stItemsByPage = scope.stItemsByPage ? +(scope.stItemsByPage) : stConfig.pagination.itemsByPage;
- scope.stDisplayedPages = scope.stDisplayedPages ? +(scope.stDisplayedPages) : stConfig.pagination.displayedPages;
-
- scope.currentPage = 1;
- scope.pages = [];
-
- function redraw () {
- var paginationState = ctrl.tableState().pagination;
- var start = 1;
- var end;
- var i;
- var prevPage = scope.currentPage;
- scope.totalItemCount = paginationState.totalItemCount;
- scope.currentPage = Math.floor(paginationState.start / paginationState.number) + 1;
-
- start = Math.max(start, scope.currentPage - Math.abs(Math.floor(scope.stDisplayedPages / 2)));
- end = start + scope.stDisplayedPages;
-
- if (end > paginationState.numberOfPages) {
- end = paginationState.numberOfPages + 1;
- start = Math.max(1, end - scope.stDisplayedPages);
- }
-
- scope.pages = [];
- scope.numPages = paginationState.numberOfPages;
-
- for (i = start; i < end; i++) {
- scope.pages.push(i);
- }
-
- if (prevPage !== scope.currentPage) {
- scope.stPageChange({newPage: scope.currentPage});
- }
- }
-
- //table state --> view
- scope.$watch(function () {
- return ctrl.tableState().pagination;
- }, redraw, true);
-
- //scope --> table state (--> view)
- scope.$watch('stItemsByPage', function (newValue, oldValue) {
- if (newValue !== oldValue) {
- scope.selectPage(1);
- }
- });
-
- scope.$watch('stDisplayedPages', redraw);
-
- //view -> table state
- scope.selectPage = function (page) {
- if (page > 0 && page <= scope.numPages) {
- ctrl.slice((page - 1) * scope.stItemsByPage, scope.stItemsByPage);
- }
- };
-
- if (!ctrl.tableState().pagination.number) {
- ctrl.slice(0, scope.stItemsByPage);
- }
- }
- };
- }]);
diff --git a/ecomp-portal-FE/client/bower_components/angular-smart-table/src/stPipe.js b/ecomp-portal-FE/client/bower_components/angular-smart-table/src/stPipe.js
deleted file mode 100644
index 8ac1288a..00000000
--- a/ecomp-portal-FE/client/bower_components/angular-smart-table/src/stPipe.js
+++ /dev/null
@@ -1,36 +0,0 @@
-ng.module('smart-table')
- .directive('stPipe', ['stConfig', '$timeout', function (config, $timeout) {
- return {
- require: 'stTable',
- scope: {
- stPipe: '='
- },
- link: {
-
- pre: function (scope, element, attrs, ctrl) {
-
- var pipePromise = null;
-
- if (ng.isFunction(scope.stPipe)) {
- ctrl.preventPipeOnWatch();
- ctrl.pipe = function () {
-
- if (pipePromise !== null) {
- $timeout.cancel(pipePromise)
- }
-
- pipePromise = $timeout(function () {
- scope.stPipe(ctrl.tableState(), ctrl);
- }, config.pipe.delay);
-
- return pipePromise;
- }
- }
- },
-
- post: function (scope, element, attrs, ctrl) {
- ctrl.pipe();
- }
- }
- };
- }]);
diff --git a/ecomp-portal-FE/client/bower_components/angular-smart-table/src/stSearch.js b/ecomp-portal-FE/client/bower_components/angular-smart-table/src/stSearch.js
deleted file mode 100644
index 6105fbe6..00000000
--- a/ecomp-portal-FE/client/bower_components/angular-smart-table/src/stSearch.js
+++ /dev/null
@@ -1,43 +0,0 @@
-ng.module('smart-table')
- .directive('stSearch', ['stConfig', '$timeout','$parse', function (stConfig, $timeout, $parse) {
- return {
- require: '^stTable',
- link: function (scope, element, attr, ctrl) {
- var tableCtrl = ctrl;
- var promise = null;
- var throttle = attr.stDelay || stConfig.search.delay;
- var event = attr.stInputEvent || stConfig.search.inputEvent;
-
- attr.$observe('stSearch', function (newValue, oldValue) {
- var input = element[0].value;
- if (newValue !== oldValue && input) {
- ctrl.tableState().search = {};
- tableCtrl.search(input, newValue);
- }
- });
-
- //table state -> view
- scope.$watch(function () {
- return ctrl.tableState().search;
- }, function (newValue, oldValue) {
- var predicateExpression = attr.stSearch || '$';
- if (newValue.predicateObject && $parse(predicateExpression)(newValue.predicateObject) !== element[0].value) {
- element[0].value = $parse(predicateExpression)(newValue.predicateObject) || '';
- }
- }, true);
-
- // view -> table state
- element.bind(event, function (evt) {
- evt = evt.originalEvent || evt;
- if (promise !== null) {
- $timeout.cancel(promise);
- }
-
- promise = $timeout(function () {
- tableCtrl.search(evt.target.value, attr.stSearch || '');
- promise = null;
- }, throttle);
- });
- }
- };
- }]);
diff --git a/ecomp-portal-FE/client/bower_components/angular-smart-table/src/stSelectRow.js b/ecomp-portal-FE/client/bower_components/angular-smart-table/src/stSelectRow.js
deleted file mode 100644
index 188408f8..00000000
--- a/ecomp-portal-FE/client/bower_components/angular-smart-table/src/stSelectRow.js
+++ /dev/null
@@ -1,26 +0,0 @@
-ng.module('smart-table')
- .directive('stSelectRow', ['stConfig', function (stConfig) {
- return {
- restrict: 'A',
- require: '^stTable',
- scope: {
- row: '=stSelectRow'
- },
- link: function (scope, element, attr, ctrl) {
- var mode = attr.stSelectMode || stConfig.select.mode;
- element.bind('click', function () {
- scope.$apply(function () {
- ctrl.select(scope.row, mode);
- });
- });
-
- scope.$watch('row.isSelected', function (newValue) {
- if (newValue === true) {
- element.addClass(stConfig.select.selectedClass);
- } else {
- element.removeClass(stConfig.select.selectedClass);
- }
- });
- }
- };
- }]);
diff --git a/ecomp-portal-FE/client/bower_components/angular-smart-table/src/stSort.js b/ecomp-portal-FE/client/bower_components/angular-smart-table/src/stSort.js
deleted file mode 100644
index bf79c898..00000000
--- a/ecomp-portal-FE/client/bower_components/angular-smart-table/src/stSort.js
+++ /dev/null
@@ -1,82 +0,0 @@
-ng.module('smart-table')
- .directive('stSort', ['stConfig', '$parse', '$timeout', function (stConfig, $parse, $timeout) {
- return {
- restrict: 'A',
- require: '^stTable',
- link: function (scope, element, attr, ctrl) {
-
- var predicate = attr.stSort;
- var getter = $parse(predicate);
- var index = 0;
- var classAscent = attr.stClassAscent || stConfig.sort.ascentClass;
- var classDescent = attr.stClassDescent || stConfig.sort.descentClass;
- var stateClasses = [classAscent, classDescent];
- var sortDefault;
- var skipNatural = attr.stSkipNatural !== undefined ? attr.stSkipNatural : stConfig.sort.skipNatural;
- var descendingFirst = attr.stDescendingFirst !== undefined ? attr.stDescendingFirst : stConfig.sort.descendingFirst;
- var promise = null;
- var throttle = attr.stDelay || stConfig.sort.delay;
-
- if (attr.stSortDefault) {
- sortDefault = scope.$eval(attr.stSortDefault) !== undefined ? scope.$eval(attr.stSortDefault) : attr.stSortDefault;
- }
-
- //view --> table state
- function sort () {
- if (descendingFirst) {
- index = index === 0 ? 2 : index - 1;
- } else {
- index++;
- }
-
- var func;
- predicate = ng.isFunction(getter(scope)) || ng.isArray(getter(scope)) ? getter(scope) : attr.stSort;
- if (index % 3 === 0 && !!skipNatural !== true) {
- //manual reset
- index = 0;
- ctrl.tableState().sort = {};
- ctrl.tableState().pagination.start = 0;
- func = ctrl.pipe.bind(ctrl);
- } else {
- func = ctrl.sortBy.bind(ctrl, predicate, index % 2 === 0);
- }
- if (promise !== null) {
- $timeout.cancel(promise);
- }
- if (throttle < 0) {
- func();
- } else {
- promise = $timeout(func, throttle);
- }
- }
-
- element.bind('click', function sortClick () {
- if (predicate) {
- scope.$apply(sort);
- }
- });
-
- if (sortDefault) {
- index = sortDefault === 'reverse' ? 1 : 0;
- sort();
- }
-
- //table state --> view
- scope.$watch(function () {
- return ctrl.tableState().sort;
- }, function (newValue) {
- if (newValue.predicate !== predicate) {
- index = 0;
- element
- .removeClass(classAscent)
- .removeClass(classDescent);
- } else {
- index = newValue.reverse === true ? 2 : 1;
- element
- .removeClass(stateClasses[index % 2])
- .addClass(stateClasses[index - 1]);
- }
- }, true);
- }
- };
- }]);
diff --git a/ecomp-portal-FE/client/bower_components/angular-smart-table/src/stTable.js b/ecomp-portal-FE/client/bower_components/angular-smart-table/src/stTable.js
deleted file mode 100644
index 429d8b62..00000000
--- a/ecomp-portal-FE/client/bower_components/angular-smart-table/src/stTable.js
+++ /dev/null
@@ -1,219 +0,0 @@
-ng.module('smart-table')
- .controller('stTableController', ['$scope', '$parse', '$filter', '$attrs', function StTableController ($scope, $parse, $filter, $attrs) {
- var propertyName = $attrs.stTable;
- var displayGetter = $parse(propertyName);
- var displaySetter = displayGetter.assign;
- var safeGetter;
- var orderBy = $filter('orderBy');
- var filter = $filter('filter');
- var safeCopy = copyRefs(displayGetter($scope));
- var tableState = {
- sort: {},
- search: {},
- pagination: {
- start: 0,
- totalItemCount: 0
- }
- };
- var filtered;
- var pipeAfterSafeCopy = true;
- var ctrl = this;
- var lastSelected;
-
- function copyRefs (src) {
- return src ? [].concat(src) : [];
- }
-
- function updateSafeCopy () {
- safeCopy = copyRefs(safeGetter($scope));
- if (pipeAfterSafeCopy === true) {
- ctrl.pipe();
- }
- }
-
- function deepDelete (object, path) {
- if (path.indexOf('.') != -1) {
- var partials = path.split('.');
- var key = partials.pop();
- var parentPath = partials.join('.');
- var parentObject = $parse(parentPath)(object)
- delete parentObject[key];
- if (Object.keys(parentObject).length == 0) {
- deepDelete(object, parentPath);
- }
- } else {
- delete object[path];
- }
- }
-
- if ($attrs.stSafeSrc) {
- safeGetter = $parse($attrs.stSafeSrc);
- $scope.$watch(function () {
- var safeSrc = safeGetter($scope);
- return safeSrc && safeSrc.length ? safeSrc[0] : undefined;
- }, function (newValue, oldValue) {
- if (newValue !== oldValue) {
- updateSafeCopy();
- }
- });
- $scope.$watch(function () {
- var safeSrc = safeGetter($scope);
- return safeSrc ? safeSrc.length : 0;
- }, function (newValue, oldValue) {
- if (newValue !== safeCopy.length) {
- updateSafeCopy();
- }
- });
- $scope.$watch(function () {
- return safeGetter($scope);
- }, function (newValue, oldValue) {
- if (newValue !== oldValue) {
- tableState.pagination.start = 0;
- updateSafeCopy();
- }
- });
- }
-
- /**
- * sort the rows
- * @param {Function | String} predicate - function or string which will be used as predicate for the sorting
- * @param [reverse] - if you want to reverse the order
- */
- this.sortBy = function sortBy (predicate, reverse) {
- tableState.sort.predicate = predicate;
- tableState.sort.reverse = reverse === true;
-
- if (ng.isFunction(predicate)) {
- tableState.sort.functionName = predicate.name;
- } else {
- delete tableState.sort.functionName;
- }
-
- tableState.pagination.start = 0;
- return this.pipe();
- };
-
- /**
- * search matching rows
- * @param {String} input - the input string
- * @param {String} [predicate] - the property name against you want to check the match, otherwise it will search on all properties
- */
- this.search = function search (input, predicate) {
- var predicateObject = tableState.search.predicateObject || {};
- var prop = predicate ? predicate : '$';
-
- input = ng.isString(input) ? input.trim() : input;
- $parse(prop).assign(predicateObject, input);
- // to avoid to filter out null value
- if (!input) {
- deepDelete(predicateObject, prop);
- }
- tableState.search.predicateObject = predicateObject;
- tableState.pagination.start = 0;
- return this.pipe();
- };
-
- /**
- * this will chain the operations of sorting and filtering based on the current table state (sort options, filtering, ect)
- */
- this.pipe = function pipe () {
- var pagination = tableState.pagination;
- var output;
- filtered = tableState.search.predicateObject ? filter(safeCopy, tableState.search.predicateObject) : safeCopy;
- if (tableState.sort.predicate) {
- filtered = orderBy(filtered, tableState.sort.predicate, tableState.sort.reverse);
- }
- pagination.totalItemCount = filtered.length;
- if (pagination.number !== undefined) {
- pagination.numberOfPages = filtered.length > 0 ? Math.ceil(filtered.length / pagination.number) : 1;
- pagination.start = pagination.start >= filtered.length ? (pagination.numberOfPages - 1) * pagination.number : pagination.start;
- output = filtered.slice(pagination.start, pagination.start + parseInt(pagination.number));
- }
- displaySetter($scope, output || filtered);
- };
-
- /**
- * select a dataRow (it will add the attribute isSelected to the row object)
- * @param {Object} row - the row to select
- * @param {String} [mode] - "single" or "multiple" (multiple by default)
- */
- this.select = function select (row, mode) {
- var rows = copyRefs(displayGetter($scope));
- var index = rows.indexOf(row);
- if (index !== -1) {
- if (mode === 'single') {
- row.isSelected = row.isSelected !== true;
- if (lastSelected) {
- lastSelected.isSelected = false;
- }
- lastSelected = row.isSelected === true ? row : undefined;
- } else {
- rows[index].isSelected = !rows[index].isSelected;
- }
- }
- };
-
- /**
- * take a slice of the current sorted/filtered collection (pagination)
- *
- * @param {Number} start - start index of the slice
- * @param {Number} number - the number of item in the slice
- */
- this.slice = function splice (start, number) {
- tableState.pagination.start = start;
- tableState.pagination.number = number;
- return this.pipe();
- };
-
- /**
- * return the current state of the table
- * @returns {{sort: {}, search: {}, pagination: {start: number}}}
- */
- this.tableState = function getTableState () {
- return tableState;
- };
-
- this.getFilteredCollection = function getFilteredCollection () {
- return filtered || safeCopy;
- };
-
- /**
- * Use a different filter function than the angular FilterFilter
- * @param filterName the name under which the custom filter is registered
- */
- this.setFilterFunction = function setFilterFunction (filterName) {
- filter = $filter(filterName);
- };
-
- /**
- * Use a different function than the angular orderBy
- * @param sortFunctionName the name under which the custom order function is registered
- */
- this.setSortFunction = function setSortFunction (sortFunctionName) {
- orderBy = $filter(sortFunctionName);
- };
-
- /**
- * Usually when the safe copy is updated the pipe function is called.
- * Calling this method will prevent it, which is something required when using a custom pipe function
- */
- this.preventPipeOnWatch = function preventPipe () {
- pipeAfterSafeCopy = false;
- };
- }])
- .directive('stTable', function () {
- return {
- restrict: 'A',
- controller: 'stTableController',
- link: function (scope, element, attr, ctrl) {
-
- if (attr.stSetFilter) {
- ctrl.setFilterFunction(attr.stSetFilter);
- }
-
- if (attr.stSetSort) {
- ctrl.setSortFunction(attr.stSetSort);
- }
- }
- };
- });
diff --git a/ecomp-portal-FE/client/bower_components/angular-smart-table/src/top.txt b/ecomp-portal-FE/client/bower_components/angular-smart-table/src/top.txt
deleted file mode 100644
index 03a2484d..00000000
--- a/ecomp-portal-FE/client/bower_components/angular-smart-table/src/top.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-(function (ng, undefined){
- 'use strict';