Commit bb8754ed9eba1e53b405c524e8f8704d170f8afc
1 parent
2a564fddba
Exists in
master
pagination fuel transactions
Showing
4 changed files
with
11 additions
and
6 deletions
Show diff stats
app/js/ngTable.js
1 | /*! ngTable v0.8.3 by Vitalii Savchuk(esvit666@gmail.com) - https://github.com/esvit/ng-table - New BSD License */ | 1 | /*! ngTable v0.8.3 by Vitalii Savchuk(esvit666@gmail.com) - https://github.com/esvit/ng-table - New BSD License */ |
2 | 2 | ||
3 | //!function(a,b){"use strict";return"function"==typeof define&&define.amd?void define(["angular"],function(a){return b(a)}):b(a)}(window.angular||null,function(a){"use strict";var b=a.module("ngTable",[]);return function(){function b(b){function c(b,c){var f=b.charAt(0).toUpperCase()+b.substring(1),g={};return g["on"+f]=d(b),g["publish"+f]=e(b),a.extend(c,g)}function d(c){return function(d){var e=a.identity,g=b;if(2===arguments.length?a.isFunction(arguments[1].$new)?g=arguments[1]:e=arguments[1]:arguments.length>2&&(g=arguments[1],e=arguments[2]),a.isObject(e)){var h=e;e=function(a){return a===h}}return g.$on("ngTable:"+c,function(a,b){if(!b.isNullInstance){var c=f(arguments,2),g=[b].concat(c);e.apply(this,g)&&d.apply(this,g)}})}}function e(a){return function(){var c=["ngTable:"+a].concat(Array.prototype.slice.call(arguments));b.$broadcast.apply(b,c)}}function f(a,b){return Array.prototype.slice.call(a,null==b?1:b)}var g={};return g=c("afterCreated",g),g=c("afterReloadData",g),g=c("datasetChanged",g),g=c("pagesChanged",g)}a.module("ngTable").factory("ngTableEventsChannel",b),b.$inject=["$rootScope"]}(),function(){function b(){function b(){c()}function c(){f=g}function d(b){var c=a.extend({},f,b);c.aliasUrls=a.extend({},f.aliasUrls,b.aliasUrls),f=c}function e(){function b(a,b){return-1!==a.indexOf("/")?a:e.getUrlForAlias(a,b)}function c(a){return f.aliasUrls[a]||f.defaultBaseUrl+a+f.defaultExt}var d,e={config:d,getTemplateUrl:b,getUrlForAlias:c};return Object.defineProperty(e,"config",{get:function(){return d=d||a.copy(f)},enumerable:!0}),e}var f,g={defaultBaseUrl:"ng-table/filters/",defaultExt:".html",aliasUrls:{}};this.$get=e,this.resetConfigs=c,this.setConfig=d,b(),e.$inject=[]}a.module("ngTable").provider("ngTableFilterConfig",b),b.$inject=[]}(),function(){function b(){function a(a){function c(c,d){if(null==c)return[];var e=d.hasFilter()?a(b.filterFilterName)(c,d.filter(!0)):c,f=d.orderBy(),g=f.length?a(b.sortingFilterName)(e,f):e,h=g.slice((d.page()-1)*d.count(),d.page()*d.count());return d.total(g.length),h}return c}var b=this;b.$get=a,b.filterFilterName="filter",b.sortingFilterName="orderBy",a.$inject=["$filter"]}a.module("ngTable").provider("ngTableDefaultGetData",b),b.$inject=[]}(),function(){function b(a){function b(b){return function(){var c=a.defer(),d=b.apply(this,[c].concat(Array.prototype.slice.call(arguments)));return d||(d=c.promise),d}}return b}a.module("ngTable").factory("ngTableGetDataBcShim",b),b.$inject=["$q"]}(),b.value("ngTableDefaults",{params:{},settings:{}}),b.factory("NgTableParams",["$q","$log","ngTableDefaults","ngTableGetDataBcShim","ngTableDefaultGetData","ngTableEventsChannel",function(b,c,d,e,f,g){var h=function(a){return!isNaN(parseFloat(a))&&isFinite(a)},i=function(i,j){function k(){var a=s.getDataFnAdaptor(s.getData);return b.when(a.call(s,o))}function l(){var a=s.getGroupsFnAdaptor(s.getGroups);return b.when(a.call(s,s.groupBy,o))}function m(a){var c=s.interceptors||[];return c.reduce(function(a,c){var d=c.response&&c.response.bind(c)||b.when,e=c.responseError&&c.responseError.bind(c)||b.reject;return a.then(function(a){return d(a,o)},function(a){return e(a,o)})},a())}"boolean"==typeof i&&(this.isNullInstance=!0);var n,o=this,p=!1,q=function(){s.debugMode&&c.debug&&c.debug.apply(this,arguments)};this.data=[],this.parameters=function(b,c){if(c=c||!1,a.isDefined(b)){for(var d in b){var e=b[d];if(c&&d.indexOf("[")>=0){for(var f=d.split(/\[(.*)\]/).reverse(),g="",i=0,j=f.length;j>i;i++){var k=f[i];if(""!==k){var l=e;e={},e[g=k]=h(l)?parseFloat(l):l}}"sorting"===g&&(r[g]={}),r[g]=a.extend(r[g]||{},e[g])}else r[d]=h(b[d])?parseFloat(b[d]):b[d]}return q("ngTable: set parameters",r),this}return r},this.settings=function(b){if(a.isDefined(b)){a.isArray(b.data)&&(b.total=b.data.length),b.getData&&b.getData.length>1&&(b.getDataFnAdaptor=e),b.getGroups&&b.getGroups.length>2&&(b.getGroupsFnAdaptor=e);var c=s.data;s=a.extend(s,b);var d=b.hasOwnProperty("data")&&b.data!=c;return d&&(p&&this.page(1),p=!1,g.publishDatasetChanged(this,b.data,c)),q("ngTable: set settings",s),this}return s},this.page=function(b){return a.isDefined(b)?this.parameters({page:b}):r.page},this.total=function(b){return a.isDefined(b)?this.settings({total:b}):s.total},this.count=function(b){return a.isDefined(b)?this.parameters({count:b,page:1}):r.count},this.filter=function(b){if(a.isDefined(b)&&a.isObject(b))return this.parameters({filter:b,page:1});if(b===!0){for(var c=Object.keys(r.filter),d={},e=0;e<c.length;e++){var f=r.filter[c[e]];null!=f&&""!==f&&(d[c[e]]=f)}return d}return r.filter},this.sorting=function(b){if(2==arguments.length){var c={};return c[b]=arguments[1],this.parameters({sorting:c}),this}return a.isDefined(b)?this.parameters({sorting:b}):r.sorting},this.isSortBy=function(b,c){return void 0!==c?a.isDefined(r.sorting[b])&&r.sorting[b]==c:a.isDefined(r.sorting[b])},this.orderBy=function(){var a=[];for(var b in r.sorting)a.push(("asc"===r.sorting[b]?"+":"-")+b);return a},this.getData=function(a){return f(this.data,a)},this.getGroups=function(b){return k().then(function(c){var d={};a.forEach(c,function(c){var e=a.isFunction(b)?b(c):c[b];d[e]=d[e]||{data:[]},d[e].value=e,d[e].data.push(c)});var e=[];for(var f in d)e.push(d[f]);return q("ngTable: refresh groups",e),e})},this.generatePagesArray=function(a,b,c,d){arguments.length||(a=this.page(),b=this.total(),c=this.count());var e,f,g,h,i;if(d=d&&6>d?6:d,i=[],h=Math.ceil(b/c),h>1){i.push({type:"prev",number:Math.max(1,a-1),active:a>1}),i.push({type:"first",number:1,active:a>1,current:1===a}),f=Math.round((s.paginationMaxBlocks-s.paginationMinBlocks)/2),g=Math.max(2,a-f),e=Math.min(h-1,a+2*f-(a-g)),g=Math.max(2,g-(2*f-(e-g)));for(var j=g;e>=j;)i.push(j===g&&2!==j||j===e&&j!==h-1?{type:"more",active:!1}:{type:"page",number:j,active:a!==j,current:a===j}),j++;i.push({type:"last",number:h,active:a!==h,current:a===h}),i.push({type:"next",number:Math.min(h,a+1),active:h>a})}return i},this.isDataReloadRequired=function(){return!p||!a.equals(r,n)},this.hasFilter=function(){return Object.keys(this.filter(!0)).length>0},this.hasFilterChanges=function(){return!a.equals(r&&r.filter,n&&n.filter)},this.url=function(b){b=b||!1;var c=b?[]:{};for(var d in r)if(r.hasOwnProperty(d)){var e=r[d],f=encodeURIComponent(d);if("object"==typeof e){for(var g in e)if(!a.isUndefined(e[g])&&""!==e[g]){var h=f+"["+encodeURIComponent(g)+"]";b?c.push(h+"="+e[g]):c[h]=e[g]}}else a.isFunction(e)||a.isUndefined(e)||""===e||(b?c.push(f+"="+encodeURIComponent(e)):c[f]=encodeURIComponent(e))}return c},this.reload=function(){var c=this,d=null;s.$loading=!0,n=a.copy(r),p=!0,d=m(s.groupBy?l:k),q("ngTable: reload data");var e=c.data;return d.then(function(a){return s.$loading=!1,c.data=a,g.publishAfterReloadData(c,a,e),c.reloadPages(),s.$scope&&s.$scope.$emit("ngTableAfterReloadData"),a})["catch"](function(a){return n=null,p=!1,b.reject(a)})},this.reloadPages=function(){var b;return function(){var c=b,d=o.generatePagesArray(o.page(),o.total(),o.count());a.equals(c,d)||(b=d,g.publishPagesChanged(this,d,c))}}();var r={page:1,count:1,filter:{},sorting:{},group:{},groupBy:null};a.extend(r,d.params);var s={$scope:null,$loading:!1,data:null,total:0,defaultSort:"desc",filterDelay:750,counts:[10,25,50,100],interceptors:[],paginationMaxBlocks:11,paginationMinBlocks:5,sortingIndicator:"span",getDataFnAdaptor:a.identity,getGroupsFnAdaptor:a.identity,getGroups:this.getGroups,getData:this.getData};return this.settings(d.settings),this.settings(j),this.parameters(i,!0),g.publishAfterCreated(this),this};return i}]),b.factory("ngTableParams",["NgTableParams",function(a){return a}]),function(){function b(a,b){a.config=b}a.module("ngTable").controller("ngTableFilterRowController",b),b.$inject=["$scope","ngTableFilterConfig"]}(),function(){function b(a){function b(b,c){var d=b.sortable&&b.sortable();if(d){var e=a.params.settings().defaultSort,f="asc"===e?"desc":"asc",g=a.params.sorting()&&a.params.sorting()[d]&&a.params.sorting()[d]===e,h=c.ctrlKey||c.metaKey?a.params.sorting():{};h[d]=g?f:e,a.params.parameters({sorting:h})}}a.sortBy=b}a.module("ngTable").controller("ngTableSorterRowController",b),b.$inject=["$scope"]}(),b.controller("ngTableController",["$scope","NgTableParams","$timeout","$parse","$compile","$attrs","$element","ngTableColumn","ngTableEventsChannel",function(b,c,d,e,f,g,h,i,j){function k(a){if(a){b.params.settings().$scope=b;var c=b.params;if(c.hasFilterChanges()){var d=function(){c.page(1),c.reload()};c.settings().filterDelay?m(d,c.settings().filterDelay):d()}else c.reload()}}function l(){function a(a,c){a.settings().groupBy?b.$groups=c:b.$data=c}function c(a,c){b.pages=c}function d(a){return b.params===a}j.onAfterReloadData(a,b,d),j.onPagesChanged(c,b,d)}b.$filterRow={},b.$loading=!1,b.hasOwnProperty("params")||(b.params=new c(!0)),b.params.settings().$scope=b;var m=function(){var a=0;return function(b,c){d.cancel(a),a=d(b,c)}}();b.$watch("params",function(a,b){a!==b&&a&&a.reload()},!1),b.$watch("params.isDataReloadRequired()",k),this.compileDirectiveTemplates=function(){if(!h.hasClass("ng-table")){b.templates={header:g.templateHeader?g.templateHeader:"ng-table/header.html",pagination:g.templatePagination?g.templatePagination:"ng-table/pager.html"},h.addClass("ng-table");var c=null,d=!1;a.forEach(h.children(),function(a){"THEAD"===a.tagName&&(d=!0)}),d||(c=a.element(document.createElement("thead")).attr("ng-include","templates.header"),h.prepend(c));var e=a.element(document.createElement("div")).attr({"ng-table-pagination":"params","template-url":"templates.pagination"});h.after(e),c&&f(c)(b),f(e)(b)}},this.loadFilterData=function(c){a.forEach(c,function(c){var d;return d=c.filterData(b,{$column:c}),d?a.isObject(d)&&a.isObject(d.promise)?(delete c.filterData,d.promise.then(function(b){a.isArray(b)||a.isFunction(b)||a.isObject(b)?a.isArray(b)&&b.unshift({title:"",id:""}):b=[],c.data=b})):c.data=d:void delete c.filterData})},this.buildColumns=function(a){return a.map(function(a){return i.buildColumn(a,b)})},this.parseNgTableDynamicExpr=function(a){if(!a||a.indexOf(" with ")>-1){var b=a.split(/\s+with\s+/);return{tableParams:b[0],columns:b[1]}}throw new Error("Parse error (expected example: ng-table-dynamic='tableParams with cols')")},this.setupBindingsToInternalScope=function(c){var d=e(c);b.$watch(d,function(c){a.isUndefined(c)||(b.paramsModel=d,b.params=c)},!1),g.showFilter&&b.$parent.$watch(g.showFilter,function(a){b.show_filter=a}),g.disableFilter&&b.$parent.$watch(g.disableFilter,function(a){b.$filterRow.disabled=a})},l()}]),b.factory("ngTableColumn",[function(){function b(b,d){var e=Object.create(b);for(var f in c)void 0===e[f]&&(e[f]=c[f]),a.isFunction(e[f])||!function(a){e[a]=function(){return b[a]}}(f),function(a){var c=e[a];e[a]=function(){return 0===arguments.length?c.call(b,d):c.apply(b,arguments)}}(f);return e}var c={"class":function(){return""},filter:function(){return!1},filterData:a.noop,headerTemplateURL:function(){return!1},headerTitle:function(){return""},sortable:function(){return!1},show:function(){return!0},title:function(){return""},titleAlt:function(){return""}};return{buildColumn:b}}]),b.directive("ngTable",["$q","$parse",function(b,c){return{restrict:"A",priority:1001,scope:!0,controller:"ngTableController",compile:function(b){var d=[],e=0,f=null;return a.forEach(a.element(b.find("tr")),function(b){b=a.element(b),b.hasClass("ng-table-group")||f||(f=b)}),f?(a.forEach(f.find("td"),function(b){var f=a.element(b);if(!f.attr("ignore-cell")||"true"!==f.attr("ignore-cell")){var g=function(a){return f.attr("x-data-"+a)||f.attr("data-"+a)||f.attr(a)},h=function(b){var e=g(b);return e?function(b,f){return c(e)(b,a.extend(f||{},{$columns:d}))}:void 0},i=g("title-alt")||g("title");i&&f.attr("data-title-text","{{"+i+"}}"),d.push({id:e++,title:h("title"),titleAlt:h("title-alt"),headerTitle:h("header-title"),sortable:h("sortable"),"class":h("header-class"),filter:h("filter"),headerTemplateURL:h("header"),filterData:h("filter-data"),show:f.attr("ng-if")?function(a){return c(f.attr("ng-if"))(a)}:void 0})}}),function(a,b,c,e){a.$columns=d=e.buildColumns(d),e.setupBindingsToInternalScope(c.ngTable),e.loadFilterData(d),e.compileDirectiveTemplates()}):void 0}}}]),b.directive("ngTableDynamic",["$parse",function(){return{restrict:"A",priority:1001,scope:!0,controller:"ngTableController",compile:function(b){var c;return a.forEach(a.element(b.find("tr")),function(b){b=a.element(b),b.hasClass("ng-table-group")||c||(c=b)}),c?(a.forEach(c.find("td"),function(b){var c=a.element(b),d=function(a){return c.attr("x-data-"+a)||c.attr("data-"+a)||c.attr(a)},e=d("title");e||c.attr("data-title-text","{{$columns[$index].titleAlt(this) || $columns[$index].title(this)}}");var f=c.attr("ng-if");f||c.attr("ng-if","$columns[$index].show(this)")}),function(a,b,c,d){var e=d.parseNgTableDynamicExpr(c.ngTableDynamic);d.setupBindingsToInternalScope(e.tableParams),d.compileDirectiveTemplates(),a.$watchCollection(e.columns,function(b){a.$columns=d.buildColumns(b),d.loadFilterData(a.$columns)})}):void 0}}}]),function(){function b(){var a={restrict:"E",replace:!0,templateUrl:"ng-table/filterRow.html",scope:!0,controller:"ngTableFilterRowController"};return a}a.module("ngTable").directive("ngTableFilterRow",b),b.$inject=[]}(),function(){function b(){var a={restrict:"E",replace:!0,templateUrl:"ng-table/sorterRow.html",scope:!0,controller:"ngTableSorterRowController"};return a}a.module("ngTable").directive("ngTableSorterRow",b),b.$inject=[]}(),b.directive("ngTablePagination",["$compile","ngTableEventsChannel",function(b,c){return{restrict:"A",scope:{params:"=ngTablePagination",templateUrl:"="},replace:!1,link:function(d,e){c.onAfterReloadData(function(a){d.pages=a.generatePagesArray()},d,function(a){return a===d.params}),d.$watch("templateUrl",function(c){if(!a.isUndefined(c)){var f=a.element(document.createElement("div"));f.attr({"ng-include":"templateUrl"}),e.append(f),b(f)(d)}})}}}]),a.module("ngTable").run(["$templateCache",function(a){a.put("ng-table/filterRow.html",'<tr ng-show="show_filter" class="ng-table-filters"> <th data-title-text="{{$column.titleAlt(this) || $column.title(this)}}" ng-repeat="$column in $columns" ng-if="$column.show(this)" class="filter"> <div ng-repeat="(name, filter) in $column.filter(this)"> <div ng-include="config.getTemplateUrl(filter)"></div> </div> </th> </tr> '),a.put("ng-table/filters/number.html",'<input type="number" name="{{name}}" ng-disabled="$filterRow.disabled" ng-model="params.filter()[name]" class="input-filter form-control"/> '),a.put("ng-table/filters/select-multiple.html",'<select ng-options="data.id as data.title for data in $column.data" ng-disabled="$filterRow.disabled" multiple ng-multiple="true" ng-model="params.filter()[name]" class="filter filter-select-multiple form-control" name="{{name}}"> </select> '),a.put("ng-table/filters/select.html",'<select ng-options="data.id as data.title for data in $column.data" ng-disabled="$filterRow.disabled" ng-model="params.filter()[name]" class="filter filter-select form-control" name="{{name}}"> <option style="display:none" value=""></option> </select> '),a.put("ng-table/filters/text.html",'<input type="text" name="{{name}}" ng-disabled="$filterRow.disabled" ng-model="params.filter()[name]" class="input-filter form-control"/> '),a.put("ng-table/header.html","<ng-table-sorter-row></ng-table-sorter-row> <ng-table-filter-row></ng-table-filter-row> "),a.put("ng-table/pager.html",'<div class="ng-cloak ng-table-pager" ng-if="params.data.length"> <div ng-if="params.settings().counts.length" class="ng-table-counts btn-group pull-right"> <button ng-repeat="count in params.settings().counts" type="button" ng-class="{\'active\':params.count()==count}" ng-click="params.count(count)" class="btn btn-default"> <span ng-bind="count"></span> </button> </div> <ul class="pagination ng-table-pagination"> <li ng-class="{\'disabled\': !page.active && !page.current, \'active\': page.current}" ng-repeat="page in pages" ng-switch="page.type"> <a ng-switch-when="prev" ng-click="params.page(page.number)" href="">«</a> <a ng-switch-when="first" ng-click="params.page(page.number)" href=""><span ng-bind="page.number"></span></a> <a ng-switch-when="page" ng-click="params.page(page.number)" href=""><span ng-bind="page.number"></span></a> <a ng-switch-when="more" ng-click="params.page(page.number)" href="">…</a> <a ng-switch-when="last" ng-click="params.page(page.number)" href=""><span ng-bind="page.number"></span></a> <a ng-switch-when="next" ng-click="params.page(page.number)" href="">»</a> </li> </ul> </div> '),a.put("ng-table/sorterRow.html",'<tr> <th title="{{$column.headerTitle(this)}}" ng-repeat="$column in $columns" ng-class="{ \'sortable\': $column.sortable(this), \'sort-asc\': params.sorting()[$column.sortable(this)]==\'asc\', \'sort-desc\': params.sorting()[$column.sortable(this)]==\'desc\' }" ng-click="sortBy($column, $event)" ng-if="$column.show(this)" ng-init="template=$column.headerTemplateURL(this)" class="header {{$column.class(this)}}"> <div ng-if="!template" class="ng-table-header" ng-class="{\'sort-indicator\': params.settings().sortingIndicator==\'div\'}"> <span ng-bind="$column.title(this)" ng-class="{\'sort-indicator\': params.settings().sortingIndicator==\'span\'}"></span> </div> <div ng-if="template" ng-include="template"></div> </th> </tr> ')}]),b}); | 3 | //!function(a,b){"use strict";return"function"==typeof define&&define.amd?void define(["angular"],function(a){return b(a)}):b(a)}(window.angular||null,function(a){"use strict";var b=a.module("ngTable",[]);return function(){function b(b){function c(b,c){var f=b.charAt(0).toUpperCase()+b.substring(1),g={};return g["on"+f]=d(b),g["publish"+f]=e(b),a.extend(c,g)}function d(c){return function(d){var e=a.identity,g=b;if(2===arguments.length?a.isFunction(arguments[1].$new)?g=arguments[1]:e=arguments[1]:arguments.length>2&&(g=arguments[1],e=arguments[2]),a.isObject(e)){var h=e;e=function(a){return a===h}}return g.$on("ngTable:"+c,function(a,b){if(!b.isNullInstance){var c=f(arguments,2),g=[b].concat(c);e.apply(this,g)&&d.apply(this,g)}})}}function e(a){return function(){var c=["ngTable:"+a].concat(Array.prototype.slice.call(arguments));b.$broadcast.apply(b,c)}}function f(a,b){return Array.prototype.slice.call(a,null==b?1:b)}var g={};return g=c("afterCreated",g),g=c("afterReloadData",g),g=c("datasetChanged",g),g=c("pagesChanged",g)}a.module("ngTable").factory("ngTableEventsChannel",b),b.$inject=["$rootScope"]}(),function(){function b(){function b(){c()}function c(){f=g}function d(b){var c=a.extend({},f,b);c.aliasUrls=a.extend({},f.aliasUrls,b.aliasUrls),f=c}function e(){function b(a,b){return-1!==a.indexOf("/")?a:e.getUrlForAlias(a,b)}function c(a){return f.aliasUrls[a]||f.defaultBaseUrl+a+f.defaultExt}var d,e={config:d,getTemplateUrl:b,getUrlForAlias:c};return Object.defineProperty(e,"config",{get:function(){return d=d||a.copy(f)},enumerable:!0}),e}var f,g={defaultBaseUrl:"ng-table/filters/",defaultExt:".html",aliasUrls:{}};this.$get=e,this.resetConfigs=c,this.setConfig=d,b(),e.$inject=[]}a.module("ngTable").provider("ngTableFilterConfig",b),b.$inject=[]}(),function(){function b(){function a(a){function c(c,d){if(null==c)return[];var e=d.hasFilter()?a(b.filterFilterName)(c,d.filter(!0)):c,f=d.orderBy(),g=f.length?a(b.sortingFilterName)(e,f):e,h=g.slice((d.page()-1)*d.count(),d.page()*d.count());return d.total(g.length),h}return c}var b=this;b.$get=a,b.filterFilterName="filter",b.sortingFilterName="orderBy",a.$inject=["$filter"]}a.module("ngTable").provider("ngTableDefaultGetData",b),b.$inject=[]}(),function(){function b(a){function b(b){return function(){var c=a.defer(),d=b.apply(this,[c].concat(Array.prototype.slice.call(arguments)));return d||(d=c.promise),d}}return b}a.module("ngTable").factory("ngTableGetDataBcShim",b),b.$inject=["$q"]}(),b.value("ngTableDefaults",{params:{},settings:{}}),b.factory("NgTableParams",["$q","$log","ngTableDefaults","ngTableGetDataBcShim","ngTableDefaultGetData","ngTableEventsChannel",function(b,c,d,e,f,g){var h=function(a){return!isNaN(parseFloat(a))&&isFinite(a)},i=function(i,j){function k(){var a=s.getDataFnAdaptor(s.getData);return b.when(a.call(s,o))}function l(){var a=s.getGroupsFnAdaptor(s.getGroups);return b.when(a.call(s,s.groupBy,o))}function m(a){var c=s.interceptors||[];return c.reduce(function(a,c){var d=c.response&&c.response.bind(c)||b.when,e=c.responseError&&c.responseError.bind(c)||b.reject;return a.then(function(a){return d(a,o)},function(a){return e(a,o)})},a())}"boolean"==typeof i&&(this.isNullInstance=!0);var n,o=this,p=!1,q=function(){s.debugMode&&c.debug&&c.debug.apply(this,arguments)};this.data=[],this.parameters=function(b,c){if(c=c||!1,a.isDefined(b)){for(var d in b){var e=b[d];if(c&&d.indexOf("[")>=0){for(var f=d.split(/\[(.*)\]/).reverse(),g="",i=0,j=f.length;j>i;i++){var k=f[i];if(""!==k){var l=e;e={},e[g=k]=h(l)?parseFloat(l):l}}"sorting"===g&&(r[g]={}),r[g]=a.extend(r[g]||{},e[g])}else r[d]=h(b[d])?parseFloat(b[d]):b[d]}return q("ngTable: set parameters",r),this}return r},this.settings=function(b){if(a.isDefined(b)){a.isArray(b.data)&&(b.total=b.data.length),b.getData&&b.getData.length>1&&(b.getDataFnAdaptor=e),b.getGroups&&b.getGroups.length>2&&(b.getGroupsFnAdaptor=e);var c=s.data;s=a.extend(s,b);var d=b.hasOwnProperty("data")&&b.data!=c;return d&&(p&&this.page(1),p=!1,g.publishDatasetChanged(this,b.data,c)),q("ngTable: set settings",s),this}return s},this.page=function(b){return a.isDefined(b)?this.parameters({page:b}):r.page},this.total=function(b){return a.isDefined(b)?this.settings({total:b}):s.total},this.count=function(b){return a.isDefined(b)?this.parameters({count:b,page:1}):r.count},this.filter=function(b){if(a.isDefined(b)&&a.isObject(b))return this.parameters({filter:b,page:1});if(b===!0){for(var c=Object.keys(r.filter),d={},e=0;e<c.length;e++){var f=r.filter[c[e]];null!=f&&""!==f&&(d[c[e]]=f)}return d}return r.filter},this.sorting=function(b){if(2==arguments.length){var c={};return c[b]=arguments[1],this.parameters({sorting:c}),this}return a.isDefined(b)?this.parameters({sorting:b}):r.sorting},this.isSortBy=function(b,c){return void 0!==c?a.isDefined(r.sorting[b])&&r.sorting[b]==c:a.isDefined(r.sorting[b])},this.orderBy=function(){var a=[];for(var b in r.sorting)a.push(("asc"===r.sorting[b]?"+":"-")+b);return a},this.getData=function(a){return f(this.data,a)},this.getGroups=function(b){return k().then(function(c){var d={};a.forEach(c,function(c){var e=a.isFunction(b)?b(c):c[b];d[e]=d[e]||{data:[]},d[e].value=e,d[e].data.push(c)});var e=[];for(var f in d)e.push(d[f]);return q("ngTable: refresh groups",e),e})},this.generatePagesArray=function(a,b,c,d){arguments.length||(a=this.page(),b=this.total(),c=this.count());var e,f,g,h,i;if(d=d&&6>d?6:d,i=[],h=Math.ceil(b/c),h>1){i.push({type:"prev",number:Math.max(1,a-1),active:a>1}),i.push({type:"first",number:1,active:a>1,current:1===a}),f=Math.round((s.paginationMaxBlocks-s.paginationMinBlocks)/2),g=Math.max(2,a-f),e=Math.min(h-1,a+2*f-(a-g)),g=Math.max(2,g-(2*f-(e-g)));for(var j=g;e>=j;)i.push(j===g&&2!==j||j===e&&j!==h-1?{type:"more",active:!1}:{type:"page",number:j,active:a!==j,current:a===j}),j++;i.push({type:"last",number:h,active:a!==h,current:a===h}),i.push({type:"next",number:Math.min(h,a+1),active:h>a})}return i},this.isDataReloadRequired=function(){return!p||!a.equals(r,n)},this.hasFilter=function(){return Object.keys(this.filter(!0)).length>0},this.hasFilterChanges=function(){return!a.equals(r&&r.filter,n&&n.filter)},this.url=function(b){b=b||!1;var c=b?[]:{};for(var d in r)if(r.hasOwnProperty(d)){var e=r[d],f=encodeURIComponent(d);if("object"==typeof e){for(var g in e)if(!a.isUndefined(e[g])&&""!==e[g]){var h=f+"["+encodeURIComponent(g)+"]";b?c.push(h+"="+e[g]):c[h]=e[g]}}else a.isFunction(e)||a.isUndefined(e)||""===e||(b?c.push(f+"="+encodeURIComponent(e)):c[f]=encodeURIComponent(e))}return c},this.reload=function(){var c=this,d=null;s.$loading=!0,n=a.copy(r),p=!0,d=m(s.groupBy?l:k),q("ngTable: reload data");var e=c.data;return d.then(function(a){return s.$loading=!1,c.data=a,g.publishAfterReloadData(c,a,e),c.reloadPages(),s.$scope&&s.$scope.$emit("ngTableAfterReloadData"),a})["catch"](function(a){return n=null,p=!1,b.reject(a)})},this.reloadPages=function(){var b;return function(){var c=b,d=o.generatePagesArray(o.page(),o.total(),o.count());a.equals(c,d)||(b=d,g.publishPagesChanged(this,d,c))}}();var r={page:1,count:1,filter:{},sorting:{},group:{},groupBy:null};a.extend(r,d.params);var s={$scope:null,$loading:!1,data:null,total:0,defaultSort:"desc",filterDelay:750,counts:[50,100,150,200],interceptors:[],paginationMaxBlocks:11,paginationMinBlocks:5,sortingIndicator:"span",getDataFnAdaptor:a.identity,getGroupsFnAdaptor:a.identity,getGroups:this.getGroups,getData:this.getData};return this.settings(d.settings),this.settings(j),this.parameters(i,!0),g.publishAfterCreated(this),this};return i}]),b.factory("ngTableParams",["NgTableParams",function(a){return a}]),function(){function b(a,b){a.config=b}a.module("ngTable").controller("ngTableFilterRowController",b),b.$inject=["$scope","ngTableFilterConfig"]}(),function(){function b(a){function b(b,c){var d=b.sortable&&b.sortable();if(d){var e=a.params.settings().defaultSort,f="asc"===e?"desc":"asc",g=a.params.sorting()&&a.params.sorting()[d]&&a.params.sorting()[d]===e,h=c.ctrlKey||c.metaKey?a.params.sorting():{};h[d]=g?f:e,a.params.parameters({sorting:h})}}a.sortBy=b}a.module("ngTable").controller("ngTableSorterRowController",b),b.$inject=["$scope"]}(),b.controller("ngTableController",["$scope","NgTableParams","$timeout","$parse","$compile","$attrs","$element","ngTableColumn","ngTableEventsChannel",function(b,c,d,e,f,g,h,i,j){function k(a){if(a){b.params.settings().$scope=b;var c=b.params;if(c.hasFilterChanges()){var d=function(){c.page(1),c.reload()};c.settings().filterDelay?m(d,c.settings().filterDelay):d()}else c.reload()}}function l(){function a(a,c){a.settings().groupBy?b.$groups=c:b.$data=c}function c(a,c){b.pages=c}function d(a){return b.params===a}j.onAfterReloadData(a,b,d),j.onPagesChanged(c,b,d)}b.$filterRow={},b.$loading=!1,b.hasOwnProperty("params")||(b.params=new c(!0)),b.params.settings().$scope=b;var m=function(){var a=0;return function(b,c){d.cancel(a),a=d(b,c)}}();b.$watch("params",function(a,b){a!==b&&a&&a.reload()},!1),b.$watch("params.isDataReloadRequired()",k),this.compileDirectiveTemplates=function(){if(!h.hasClass("ng-table")){b.templates={header:g.templateHeader?g.templateHeader:"ng-table/header.html",pagination:g.templatePagination?g.templatePagination:"ng-table/pager.html"},h.addClass("ng-table");var c=null,d=!1;a.forEach(h.children(),function(a){"THEAD"===a.tagName&&(d=!0)}),d||(c=a.element(document.createElement("thead")).attr("ng-include","templates.header"),h.prepend(c));var e=a.element(document.createElement("div")).attr({"ng-table-pagination":"params","template-url":"templates.pagination"});h.after(e),c&&f(c)(b),f(e)(b)}},this.loadFilterData=function(c){a.forEach(c,function(c){var d;return d=c.filterData(b,{$column:c}),d?a.isObject(d)&&a.isObject(d.promise)?(delete c.filterData,d.promise.then(function(b){a.isArray(b)||a.isFunction(b)||a.isObject(b)?a.isArray(b)&&b.unshift({title:"",id:""}):b=[],c.data=b})):c.data=d:void delete c.filterData})},this.buildColumns=function(a){return a.map(function(a){return i.buildColumn(a,b)})},this.parseNgTableDynamicExpr=function(a){if(!a||a.indexOf(" with ")>-1){var b=a.split(/\s+with\s+/);return{tableParams:b[0],columns:b[1]}}throw new Error("Parse error (expected example: ng-table-dynamic='tableParams with cols')")},this.setupBindingsToInternalScope=function(c){var d=e(c);b.$watch(d,function(c){a.isUndefined(c)||(b.paramsModel=d,b.params=c)},!1),g.showFilter&&b.$parent.$watch(g.showFilter,function(a){b.show_filter=a}),g.disableFilter&&b.$parent.$watch(g.disableFilter,function(a){b.$filterRow.disabled=a})},l()}]),b.factory("ngTableColumn",[function(){function b(b,d){var e=Object.create(b);for(var f in c)void 0===e[f]&&(e[f]=c[f]),a.isFunction(e[f])||!function(a){e[a]=function(){return b[a]}}(f),function(a){var c=e[a];e[a]=function(){return 0===arguments.length?c.call(b,d):c.apply(b,arguments)}}(f);return e}var c={"class":function(){return""},filter:function(){return!1},filterData:a.noop,headerTemplateURL:function(){return!1},headerTitle:function(){return""},sortable:function(){return!1},show:function(){return!0},title:function(){return""},titleAlt:function(){return""}};return{buildColumn:b}}]),b.directive("ngTable",["$q","$parse",function(b,c){return{restrict:"A",priority:1001,scope:!0,controller:"ngTableController",compile:function(b){var d=[],e=0,f=null;return a.forEach(a.element(b.find("tr")),function(b){b=a.element(b),b.hasClass("ng-table-group")||f||(f=b)}),f?(a.forEach(f.find("td"),function(b){var f=a.element(b);if(!f.attr("ignore-cell")||"true"!==f.attr("ignore-cell")){var g=function(a){return f.attr("x-data-"+a)||f.attr("data-"+a)||f.attr(a)},h=function(b){var e=g(b);return e?function(b,f){return c(e)(b,a.extend(f||{},{$columns:d}))}:void 0},i=g("title-alt")||g("title");i&&f.attr("data-title-text","{{"+i+"}}"),d.push({id:e++,title:h("title"),titleAlt:h("title-alt"),headerTitle:h("header-title"),sortable:h("sortable"),"class":h("header-class"),filter:h("filter"),headerTemplateURL:h("header"),filterData:h("filter-data"),show:f.attr("ng-if")?function(a){return c(f.attr("ng-if"))(a)}:void 0})}}),function(a,b,c,e){a.$columns=d=e.buildColumns(d),e.setupBindingsToInternalScope(c.ngTable),e.loadFilterData(d),e.compileDirectiveTemplates()}):void 0}}}]),b.directive("ngTableDynamic",["$parse",function(){return{restrict:"A",priority:1001,scope:!0,controller:"ngTableController",compile:function(b){var c;return a.forEach(a.element(b.find("tr")),function(b){b=a.element(b),b.hasClass("ng-table-group")||c||(c=b)}),c?(a.forEach(c.find("td"),function(b){var c=a.element(b),d=function(a){return c.attr("x-data-"+a)||c.attr("data-"+a)||c.attr(a)},e=d("title");e||c.attr("data-title-text","{{$columns[$index].titleAlt(this) || $columns[$index].title(this)}}");var f=c.attr("ng-if");f||c.attr("ng-if","$columns[$index].show(this)")}),function(a,b,c,d){var e=d.parseNgTableDynamicExpr(c.ngTableDynamic);d.setupBindingsToInternalScope(e.tableParams),d.compileDirectiveTemplates(),a.$watchCollection(e.columns,function(b){a.$columns=d.buildColumns(b),d.loadFilterData(a.$columns)})}):void 0}}}]),function(){function b(){var a={restrict:"E",replace:!0,templateUrl:"ng-table/filterRow.html",scope:!0,controller:"ngTableFilterRowController"};return a}a.module("ngTable").directive("ngTableFilterRow",b),b.$inject=[]}(),function(){function b(){var a={restrict:"E",replace:!0,templateUrl:"ng-table/sorterRow.html",scope:!0,controller:"ngTableSorterRowController"};return a}a.module("ngTable").directive("ngTableSorterRow",b),b.$inject=[]}(),b.directive("ngTablePagination",["$compile","ngTableEventsChannel",function(b,c){return{restrict:"A",scope:{params:"=ngTablePagination",templateUrl:"="},replace:!1,link:function(d,e){c.onAfterReloadData(function(a){d.pages=a.generatePagesArray()},d,function(a){return a===d.params}),d.$watch("templateUrl",function(c){if(!a.isUndefined(c)){var f=a.element(document.createElement("div"));f.attr({"ng-include":"templateUrl"}),e.append(f),b(f)(d)}})}}}]),a.module("ngTable").run(["$templateCache",function(a){a.put("ng-table/filterRow.html",'<tr ng-show="show_filter" class="ng-table-filters"> <th data-title-text="{{$column.titleAlt(this) || $column.title(this)}}" ng-repeat="$column in $columns" ng-if="$column.show(this)" class="filter"> <div ng-repeat="(name, filter) in $column.filter(this)"> <div ng-include="config.getTemplateUrl(filter)"></div> </div> </th> </tr> '),a.put("ng-table/filters/number.html",'<input type="number" name="{{name}}" ng-disabled="$filterRow.disabled" ng-model="params.filter()[name]" class="input-filter form-control"/> '),a.put("ng-table/filters/select-multiple.html",'<select ng-options="data.id as data.title for data in $column.data" ng-disabled="$filterRow.disabled" multiple ng-multiple="true" ng-model="params.filter()[name]" class="filter filter-select-multiple form-control" name="{{name}}"> </select> '),a.put("ng-table/filters/select.html",'<select ng-options="data.id as data.title for data in $column.data" ng-disabled="$filterRow.disabled" ng-model="params.filter()[name]" class="filter filter-select form-control" name="{{name}}"> <option style="display:none" value=""></option> </select> '),a.put("ng-table/filters/text.html",'<input type="text" name="{{name}}" ng-disabled="$filterRow.disabled" ng-model="params.filter()[name]" class="input-filter form-control"/> '),a.put("ng-table/header.html","<ng-table-sorter-row></ng-table-sorter-row> <ng-table-filter-row></ng-table-filter-row> "),a.put("ng-table/pager.html",'<div class="ng-cloak ng-table-pager" ng-if="params.data.length"> <div ng-if="params.settings().counts.length" class="ng-table-counts btn-group pull-right"> <button ng-repeat="count in params.settings().counts" type="button" ng-class="{\'active\':params.count()==count}" ng-click="params.count(count)" class="btn btn-default"> <span ng-bind="count"></span> </button> </div> <ul class="pagination ng-table-pagination"> <li ng-class="{\'disabled\': !page.active && !page.current, \'active\': page.current}" ng-repeat="page in pages" ng-switch="page.type"> <a ng-switch-when="prev" ng-click="params.page(page.number)" href="">«</a> <a ng-switch-when="first" ng-click="params.page(page.number)" href=""><span ng-bind="page.number"></span></a> <a ng-switch-when="page" ng-click="params.page(page.number)" href=""><span ng-bind="page.number"></span></a> <a ng-switch-when="more" ng-click="params.page(page.number)" href="">…</a> <a ng-switch-when="last" ng-click="params.page(page.number)" href=""><span ng-bind="page.number"></span></a> <a ng-switch-when="next" ng-click="params.page(page.number)" href="">»</a> </li> </ul> </div> '),a.put("ng-table/sorterRow.html",'<tr> <th title="{{$column.headerTitle(this)}}" ng-repeat="$column in $columns" ng-class="{ \'sortable\': $column.sortable(this), \'sort-asc\': params.sorting()[$column.sortable(this)]==\'asc\', \'sort-desc\': params.sorting()[$column.sortable(this)]==\'desc\' }" ng-click="sortBy($column, $event)" ng-if="$column.show(this)" ng-init="template=$column.headerTemplateURL(this)" class="header {{$column.class(this)}}"> <div ng-if="!template" class="ng-table-header" ng-class="{\'sort-indicator\': params.settings().sortingIndicator==\'div\'}"> <span ng-bind="$column.title(this)" ng-class="{\'sort-indicator\': params.settings().sortingIndicator==\'span\'}"></span> </div> <div ng-if="template" ng-include="template"></div> </th> </tr> ')}]),b}); |
4 | //# sourceMappingURL=ng-table.min.js.map | 4 | //# sourceMappingURL=ng-table.min.js.map |
5 | 5 | ||
6 | 6 | ||
7 | 7 | ||
8 | 8 | ||
9 | 9 | ||
10 | 10 | ||
11 | 11 | ||
12 | 12 | ||
13 | 13 | ||
14 | 14 | ||
15 | /*! ngTable v0.8.3 by Vitalii Savchuk(esvit666@gmail.com) - https://github.com/esvit/ng-table - New BSD License */ ! function(a, b) { | 15 | /*! ngTable v0.8.3 by Vitalii Savchuk(esvit666@gmail.com) - https://github.com/esvit/ng-table - New BSD License */ ! function(a, b) { |
16 | "use strict"; | 16 | "use strict"; |
17 | return "function" == typeof define && define.amd ? void define(["angular"], function(a) { | 17 | return "function" == typeof define && define.amd ? void define(["angular"], function(a) { |
18 | return b(a) | 18 | return b(a) |
19 | }) : b(a) | 19 | }) : b(a) |
20 | }(window.angular || null, function(a) { | 20 | }(window.angular || null, function(a) { |
21 | "use strict"; | 21 | "use strict"; |
22 | var b = a.module("ngTable", []); | 22 | var b = a.module("ngTable", []); |
23 | return function() { | 23 | return function() { |
24 | function b(b) { | 24 | function b(b) { |
25 | function c(b, c) { | 25 | function c(b, c) { |
26 | var f = b.charAt(0).toUpperCase() + b.substring(1), | 26 | var f = b.charAt(0).toUpperCase() + b.substring(1), |
27 | g = {}; | 27 | g = {}; |
28 | return g["on" + f] = d(b), g["publish" + f] = e(b), a.extend(c, g) | 28 | return g["on" + f] = d(b), g["publish" + f] = e(b), a.extend(c, g) |
29 | } | 29 | } |
30 | 30 | ||
31 | function d(c) { | 31 | function d(c) { |
32 | return function(d) { | 32 | return function(d) { |
33 | var e = a.identity, | 33 | var e = a.identity, |
34 | g = b; | 34 | g = b; |
35 | if (2 === arguments.length ? a.isFunction(arguments[1].$new) ? g = arguments[1] : e = arguments[1] : arguments.length > 2 && (g = arguments[1], e = arguments[2]), a.isObject(e)) { | 35 | if (2 === arguments.length ? a.isFunction(arguments[1].$new) ? g = arguments[1] : e = arguments[1] : arguments.length > 2 && (g = arguments[1], e = arguments[2]), a.isObject(e)) { |
36 | var h = e; | 36 | var h = e; |
37 | e = function(a) { | 37 | e = function(a) { |
38 | return a === h | 38 | return a === h |
39 | } | 39 | } |
40 | } | 40 | } |
41 | return g.$on("ngTable:" + c, function(a, b) { | 41 | return g.$on("ngTable:" + c, function(a, b) { |
42 | if (!b.isNullInstance) { | 42 | if (!b.isNullInstance) { |
43 | var c = f(arguments, 2), | 43 | var c = f(arguments, 2), |
44 | g = [b].concat(c); | 44 | g = [b].concat(c); |
45 | e.apply(this, g) && d.apply(this, g) | 45 | e.apply(this, g) && d.apply(this, g) |
46 | } | 46 | } |
47 | }) | 47 | }) |
48 | } | 48 | } |
49 | } | 49 | } |
50 | 50 | ||
51 | function e(a) { | 51 | function e(a) { |
52 | return function() { | 52 | return function() { |
53 | var c = ["ngTable:" + a].concat(Array.prototype.slice.call(arguments)); | 53 | var c = ["ngTable:" + a].concat(Array.prototype.slice.call(arguments)); |
54 | b.$broadcast.apply(b, c) | 54 | b.$broadcast.apply(b, c) |
55 | } | 55 | } |
56 | } | 56 | } |
57 | 57 | ||
58 | function f(a, b) { | 58 | function f(a, b) { |
59 | return Array.prototype.slice.call(a, null == b ? 1 : b) | 59 | return Array.prototype.slice.call(a, null == b ? 1 : b) |
60 | } | 60 | } |
61 | var g = {}; | 61 | var g = {}; |
62 | return g = c("afterCreated", g), g = c("afterReloadData", g), g = c("datasetChanged", g), g = c("pagesChanged", g) | 62 | return g = c("afterCreated", g), g = c("afterReloadData", g), g = c("datasetChanged", g), g = c("pagesChanged", g) |
63 | } | 63 | } |
64 | a.module("ngTable").factory("ngTableEventsChannel", b), b.$inject = ["$rootScope"] | 64 | a.module("ngTable").factory("ngTableEventsChannel", b), b.$inject = ["$rootScope"] |
65 | }(), | 65 | }(), |
66 | function() { | 66 | function() { |
67 | function b() { | 67 | function b() { |
68 | function b() { | 68 | function b() { |
69 | c() | 69 | c() |
70 | } | 70 | } |
71 | 71 | ||
72 | function c() { | 72 | function c() { |
73 | f = g | 73 | f = g |
74 | } | 74 | } |
75 | 75 | ||
76 | function d(b) { | 76 | function d(b) { |
77 | var c = a.extend({}, f, b); | 77 | var c = a.extend({}, f, b); |
78 | c.aliasUrls = a.extend({}, f.aliasUrls, b.aliasUrls), f = c | 78 | c.aliasUrls = a.extend({}, f.aliasUrls, b.aliasUrls), f = c |
79 | } | 79 | } |
80 | 80 | ||
81 | function e() { | 81 | function e() { |
82 | function b(a, b) { | 82 | function b(a, b) { |
83 | return -1 !== a.indexOf("/") ? a : e.getUrlForAlias(a, b) | 83 | return -1 !== a.indexOf("/") ? a : e.getUrlForAlias(a, b) |
84 | } | 84 | } |
85 | 85 | ||
86 | function c(a) { | 86 | function c(a) { |
87 | return f.aliasUrls[a] || f.defaultBaseUrl + a + f.defaultExt | 87 | return f.aliasUrls[a] || f.defaultBaseUrl + a + f.defaultExt |
88 | } | 88 | } |
89 | var d, e = { | 89 | var d, e = { |
90 | config: d, | 90 | config: d, |
91 | getTemplateUrl: b, | 91 | getTemplateUrl: b, |
92 | getUrlForAlias: c | 92 | getUrlForAlias: c |
93 | }; | 93 | }; |
94 | return Object.defineProperty(e, "config", { | 94 | return Object.defineProperty(e, "config", { |
95 | get: function() { | 95 | get: function() { |
96 | return d = d || a.copy(f) | 96 | return d = d || a.copy(f) |
97 | }, | 97 | }, |
98 | enumerable: !0 | 98 | enumerable: !0 |
99 | }), e | 99 | }), e |
100 | } | 100 | } |
101 | var f, g = { | 101 | var f, g = { |
102 | defaultBaseUrl: "ng-table/filters/", | 102 | defaultBaseUrl: "ng-table/filters/", |
103 | defaultExt: ".html", | 103 | defaultExt: ".html", |
104 | aliasUrls: {} | 104 | aliasUrls: {} |
105 | }; | 105 | }; |
106 | this.$get = e, this.resetConfigs = c, this.setConfig = d, b(), e.$inject = [] | 106 | this.$get = e, this.resetConfigs = c, this.setConfig = d, b(), e.$inject = [] |
107 | } | 107 | } |
108 | a.module("ngTable").provider("ngTableFilterConfig", b), b.$inject = [] | 108 | a.module("ngTable").provider("ngTableFilterConfig", b), b.$inject = [] |
109 | }(), | 109 | }(), |
110 | function() { | 110 | function() { |
111 | function b() { | 111 | function b() { |
112 | function a(a) { | 112 | function a(a) { |
113 | function c(c, d) { | 113 | function c(c, d) { |
114 | if (null == c) return []; | 114 | if (null == c) return []; |
115 | var e = d.hasFilter() ? a(b.filterFilterName)(c, d.filter(!0)) : c, | 115 | var e = d.hasFilter() ? a(b.filterFilterName)(c, d.filter(!0)) : c, |
116 | f = d.orderBy(), | 116 | f = d.orderBy(), |
117 | g = f.length ? a(b.sortingFilterName)(e, f) : e, | 117 | g = f.length ? a(b.sortingFilterName)(e, f) : e, |
118 | h = g.slice((d.page() - 1) * d.count(), d.page() * d.count()); | 118 | h = g.slice((d.page() - 1) * d.count(), d.page() * d.count()); |
119 | return d.total(g.length), h | 119 | return d.total(g.length), h |
120 | } | 120 | } |
121 | return c | 121 | return c |
122 | } | 122 | } |
123 | var b = this; | 123 | var b = this; |
124 | b.$get = a, b.filterFilterName = "filter", b.sortingFilterName = "orderBy", a.$inject = ["$filter"] | 124 | b.$get = a, b.filterFilterName = "filter", b.sortingFilterName = "orderBy", a.$inject = ["$filter"] |
125 | } | 125 | } |
126 | a.module("ngTable").provider("ngTableDefaultGetData", b), b.$inject = [] | 126 | a.module("ngTable").provider("ngTableDefaultGetData", b), b.$inject = [] |
127 | }(), | 127 | }(), |
128 | function() { | 128 | function() { |
129 | function b(a) { | 129 | function b(a) { |
130 | function b(b) { | 130 | function b(b) { |
131 | return function() { | 131 | return function() { |
132 | var c = a.defer(), | 132 | var c = a.defer(), |
133 | d = b.apply(this, [c].concat(Array.prototype.slice.call(arguments))); | 133 | d = b.apply(this, [c].concat(Array.prototype.slice.call(arguments))); |
134 | return d || (d = c.promise), d | 134 | return d || (d = c.promise), d |
135 | } | 135 | } |
136 | } | 136 | } |
137 | return b | 137 | return b |
138 | } | 138 | } |
139 | a.module("ngTable").factory("ngTableGetDataBcShim", b), b.$inject = ["$q"] | 139 | a.module("ngTable").factory("ngTableGetDataBcShim", b), b.$inject = ["$q"] |
140 | }(), b.value("ngTableDefaults", { | 140 | }(), b.value("ngTableDefaults", { |
141 | params: {}, | 141 | params: {}, |
142 | settings: {} | 142 | settings: {} |
143 | }), b.factory("NgTableParams", ["$q", "$log", "ngTableDefaults", "ngTableGetDataBcShim", "ngTableDefaultGetData", "ngTableEventsChannel", function(b, c, d, e, f, g) { | 143 | }), b.factory("NgTableParams", ["$q", "$log", "ngTableDefaults", "ngTableGetDataBcShim", "ngTableDefaultGetData", "ngTableEventsChannel", function(b, c, d, e, f, g) { |
144 | var h = function(a) { | 144 | var h = function(a) { |
145 | return !isNaN(parseFloat(a)) && isFinite(a) | 145 | return !isNaN(parseFloat(a)) && isFinite(a) |
146 | }, | 146 | }, |
147 | i = function(i, j) { | 147 | i = function(i, j) { |
148 | function k() { | 148 | function k() { |
149 | var a = s.getDataFnAdaptor(s.getData); | 149 | var a = s.getDataFnAdaptor(s.getData); |
150 | return b.when(a.call(s, o)) | 150 | return b.when(a.call(s, o)) |
151 | } | 151 | } |
152 | 152 | ||
153 | function l() { | 153 | function l() { |
154 | var a = s.getGroupsFnAdaptor(s.getGroups); | 154 | var a = s.getGroupsFnAdaptor(s.getGroups); |
155 | return b.when(a.call(s, s.groupBy, o)) | 155 | return b.when(a.call(s, s.groupBy, o)) |
156 | } | 156 | } |
157 | 157 | ||
158 | function m(a) { | 158 | function m(a) { |
159 | var c = s.interceptors || []; | 159 | var c = s.interceptors || []; |
160 | return c.reduce(function(a, c) { | 160 | return c.reduce(function(a, c) { |
161 | var d = c.response && c.response.bind(c) || b.when, | 161 | var d = c.response && c.response.bind(c) || b.when, |
162 | e = c.responseError && c.responseError.bind(c) || b.reject; | 162 | e = c.responseError && c.responseError.bind(c) || b.reject; |
163 | return a.then(function(a) { | 163 | return a.then(function(a) { |
164 | return d(a, o) | 164 | return d(a, o) |
165 | }, function(a) { | 165 | }, function(a) { |
166 | return e(a, o) | 166 | return e(a, o) |
167 | }) | 167 | }) |
168 | }, a()) | 168 | }, a()) |
169 | } | 169 | } |
170 | "boolean" == typeof i && (this.isNullInstance = !0); | 170 | "boolean" == typeof i && (this.isNullInstance = !0); |
171 | var n, o = this, | 171 | var n, o = this, |
172 | p = !1, | 172 | p = !1, |
173 | q = function() { | 173 | q = function() { |
174 | s.debugMode && c.debug && c.debug.apply(this, arguments) | 174 | s.debugMode && c.debug && c.debug.apply(this, arguments) |
175 | }; | 175 | }; |
176 | this.data = [], this.parameters = function(b, c) { | 176 | this.data = [], this.parameters = function(b, c) { |
177 | if (c = c || !1, a.isDefined(b)) { | 177 | if (c = c || !1, a.isDefined(b)) { |
178 | for (var d in b) { | 178 | for (var d in b) { |
179 | var e = b[d]; | 179 | var e = b[d]; |
180 | if (c && d.indexOf("[") >= 0) { | 180 | if (c && d.indexOf("[") >= 0) { |
181 | for (var f = d.split(/\[(.*)\]/).reverse(), g = "", i = 0, j = f.length; j > i; i++) { | 181 | for (var f = d.split(/\[(.*)\]/).reverse(), g = "", i = 0, j = f.length; j > i; i++) { |
182 | var k = f[i]; | 182 | var k = f[i]; |
183 | if ("" !== k) { | 183 | if ("" !== k) { |
184 | var l = e; | 184 | var l = e; |
185 | e = {}, e[g = k] = h(l) ? parseFloat(l) : l | 185 | e = {}, e[g = k] = h(l) ? parseFloat(l) : l |
186 | } | 186 | } |
187 | } | 187 | } |
188 | "sorting" === g && (r[g] = {}), r[g] = a.extend(r[g] || {}, e[g]) | 188 | "sorting" === g && (r[g] = {}), r[g] = a.extend(r[g] || {}, e[g]) |
189 | } else r[d] = h(b[d]) ? parseFloat(b[d]) : b[d] | 189 | } else r[d] = h(b[d]) ? parseFloat(b[d]) : b[d] |
190 | } | 190 | } |
191 | return q("ngTable: set parameters", r), this | 191 | return q("ngTable: set parameters", r), this |
192 | } | 192 | } |
193 | return r | 193 | return r |
194 | }, this.settings = function(b) { | 194 | }, this.settings = function(b) { |
195 | if (a.isDefined(b)) { | 195 | if (a.isDefined(b)) { |
196 | a.isArray(b.data) && (b.total = b.data.length), b.getData && b.getData.length > 1 && (b.getDataFnAdaptor = e), b.getGroups && b.getGroups.length > 2 && (b.getGroupsFnAdaptor = e); | 196 | a.isArray(b.data) && (b.total = b.data.length), b.getData && b.getData.length > 1 && (b.getDataFnAdaptor = e), b.getGroups && b.getGroups.length > 2 && (b.getGroupsFnAdaptor = e); |
197 | var c = s.data; | 197 | var c = s.data; |
198 | s = a.extend(s, b); | 198 | s = a.extend(s, b); |
199 | var d = b.hasOwnProperty("data") && b.data != c; | 199 | var d = b.hasOwnProperty("data") && b.data != c; |
200 | return d && (p && this.page(1), p = !1, g.publishDatasetChanged(this, b.data, c)), q("ngTable: set settings", s), this | 200 | return d && (p && this.page(1), p = !1, g.publishDatasetChanged(this, b.data, c)), q("ngTable: set settings", s), this |
201 | } | 201 | } |
202 | return s | 202 | return s |
203 | }, this.page = function(b) { | 203 | }, this.page = function(b) { |
204 | return a.isDefined(b) ? this.parameters({ | 204 | return a.isDefined(b) ? this.parameters({ |
205 | page: b | 205 | page: b |
206 | }) : r.page | 206 | }) : r.page |
207 | }, this.total = function(b) { | 207 | }, this.total = function(b) { |
208 | return a.isDefined(b) ? this.settings({ | 208 | return a.isDefined(b) ? this.settings({ |
209 | total: b | 209 | total: b |
210 | }) : s.total | 210 | }) : s.total |
211 | }, this.count = function(b) { | 211 | }, this.count = function(b) { |
212 | return a.isDefined(b) ? this.parameters({ | 212 | return a.isDefined(b) ? this.parameters({ |
213 | count: b, | 213 | count: b, |
214 | page: 1 | 214 | page: 1 |
215 | }) : r.count | 215 | }) : r.count |
216 | }, this.filter = function(b) { | 216 | }, this.filter = function(b) { |
217 | if (a.isDefined(b) && a.isObject(b)) return this.parameters({ | 217 | if (a.isDefined(b) && a.isObject(b)) return this.parameters({ |
218 | filter: b, | 218 | filter: b, |
219 | page: 1 | 219 | page: 1 |
220 | }); | 220 | }); |
221 | if (b === !0) { | 221 | if (b === !0) { |
222 | for (var c = Object.keys(r.filter), d = {}, e = 0; e < c.length; e++) { | 222 | for (var c = Object.keys(r.filter), d = {}, e = 0; e < c.length; e++) { |
223 | var f = r.filter[c[e]]; | 223 | var f = r.filter[c[e]]; |
224 | null != f && "" !== f && (d[c[e]] = f) | 224 | null != f && "" !== f && (d[c[e]] = f) |
225 | } | 225 | } |
226 | return d | 226 | return d |
227 | } | 227 | } |
228 | return r.filter | 228 | return r.filter |
229 | }, this.sorting = function(b) { | 229 | }, this.sorting = function(b) { |
230 | if (2 == arguments.length) { | 230 | if (2 == arguments.length) { |
231 | var c = {}; | 231 | var c = {}; |
232 | return c[b] = arguments[1], this.parameters({ | 232 | return c[b] = arguments[1], this.parameters({ |
233 | sorting: c | 233 | sorting: c |
234 | }), this | 234 | }), this |
235 | } | 235 | } |
236 | return a.isDefined(b) ? this.parameters({ | 236 | return a.isDefined(b) ? this.parameters({ |
237 | sorting: b | 237 | sorting: b |
238 | }) : r.sorting | 238 | }) : r.sorting |
239 | }, this.isSortBy = function(b, c) { | 239 | }, this.isSortBy = function(b, c) { |
240 | return void 0 !== c ? a.isDefined(r.sorting[b]) && r.sorting[b] == c : a.isDefined(r.sorting[b]) | 240 | return void 0 !== c ? a.isDefined(r.sorting[b]) && r.sorting[b] == c : a.isDefined(r.sorting[b]) |
241 | }, this.orderBy = function() { | 241 | }, this.orderBy = function() { |
242 | var a = []; | 242 | var a = []; |
243 | for (var b in r.sorting) a.push(("asc" === r.sorting[b] ? "+" : "-") + b); | 243 | for (var b in r.sorting) a.push(("asc" === r.sorting[b] ? "+" : "-") + b); |
244 | return a | 244 | return a |
245 | }, this.getData = function(a) { | 245 | }, this.getData = function(a) { |
246 | return f(this.data, a) | 246 | return f(this.data, a) |
247 | }, this.getGroups = function(b) { | 247 | }, this.getGroups = function(b) { |
248 | return k().then(function(c) { | 248 | return k().then(function(c) { |
249 | var d = {}; | 249 | var d = {}; |
250 | a.forEach(c, function(c) { | 250 | a.forEach(c, function(c) { |
251 | var e = a.isFunction(b) ? b(c) : c[b]; | 251 | var e = a.isFunction(b) ? b(c) : c[b]; |
252 | d[e] = d[e] || { | 252 | d[e] = d[e] || { |
253 | data: [] | 253 | data: [] |
254 | }, d[e].value = e, d[e].data.push(c) | 254 | }, d[e].value = e, d[e].data.push(c) |
255 | }); | 255 | }); |
256 | var e = []; | 256 | var e = []; |
257 | for (var f in d) e.push(d[f]); | 257 | for (var f in d) e.push(d[f]); |
258 | return q("ngTable: refresh groups", e), e | 258 | return q("ngTable: refresh groups", e), e |
259 | }) | 259 | }) |
260 | }, this.generatePagesArray = function(a, b, c, d) { | 260 | }, this.generatePagesArray = function(a, b, c, d) { |
261 | arguments.length || (a = this.page(), b = this.total(), c = this.count()); | 261 | arguments.length || (a = this.page(), b = this.total(), c = this.count()); |
262 | var e, f, g, h, i; | 262 | var e, f, g, h, i; |
263 | if (d = d && 6 > d ? 6 : d, i = [], h = Math.ceil(b / c), h > 1) { | 263 | if (d = d && 6 > d ? 6 : d, i = [], h = Math.ceil(b / c), h > 1) { |
264 | i.push({ | 264 | i.push({ |
265 | type: "prev", | 265 | type: "prev", |
266 | number: Math.max(1, a - 1), | 266 | number: Math.max(1, a - 1), |
267 | active: a > 1 | 267 | active: a > 1 |
268 | }), i.push({ | 268 | }), i.push({ |
269 | type: "first", | 269 | type: "first", |
270 | number: 1, | 270 | number: 1, |
271 | active: a > 1, | 271 | active: a > 1, |
272 | current: 1 === a | 272 | current: 1 === a |
273 | }), f = Math.round((s.paginationMaxBlocks - s.paginationMinBlocks) / 2), g = Math.max(2, a - f), e = Math.min(h - 1, a + 2 * f - (a - g)), g = Math.max(2, g - (2 * f - (e - g))); | 273 | }), f = Math.round((s.paginationMaxBlocks - s.paginationMinBlocks) / 2), g = Math.max(2, a - f), e = Math.min(h - 1, a + 2 * f - (a - g)), g = Math.max(2, g - (2 * f - (e - g))); |
274 | for (var j = g; e >= j;) i.push(j === g && 2 !== j || j === e && j !== h - 1 ? { | 274 | for (var j = g; e >= j;) i.push(j === g && 2 !== j || j === e && j !== h - 1 ? { |
275 | type: "more", | 275 | type: "more", |
276 | active: !1 | 276 | active: !1 |
277 | } : { | 277 | } : { |
278 | type: "page", | 278 | type: "page", |
279 | number: j, | 279 | number: j, |
280 | active: a !== j, | 280 | active: a !== j, |
281 | current: a === j | 281 | current: a === j |
282 | }), j++; | 282 | }), j++; |
283 | i.push({ | 283 | i.push({ |
284 | type: "last", | 284 | type: "last", |
285 | number: h, | 285 | number: h, |
286 | active: a !== h, | 286 | active: a !== h, |
287 | current: a === h | 287 | current: a === h |
288 | }), i.push({ | 288 | }), i.push({ |
289 | type: "next", | 289 | type: "next", |
290 | number: Math.min(h, a + 1), | 290 | number: Math.min(h, a + 1), |
291 | active: h > a | 291 | active: h > a |
292 | }) | 292 | }) |
293 | } | 293 | } |
294 | return i | 294 | return i |
295 | }, this.isDataReloadRequired = function() { | 295 | }, this.isDataReloadRequired = function() { |
296 | return !p || !a.equals(r, n) | 296 | return !p || !a.equals(r, n) |
297 | }, this.hasFilter = function() { | 297 | }, this.hasFilter = function() { |
298 | return Object.keys(this.filter(!0)).length > 0 | 298 | return Object.keys(this.filter(!0)).length > 0 |
299 | }, this.hasFilterChanges = function() { | 299 | }, this.hasFilterChanges = function() { |
300 | return !a.equals(r && r.filter, n && n.filter) | 300 | return !a.equals(r && r.filter, n && n.filter) |
301 | }, this.url = function(b) { | 301 | }, this.url = function(b) { |
302 | b = b || !1; | 302 | b = b || !1; |
303 | var c = b ? [] : {}; | 303 | var c = b ? [] : {}; |
304 | for (var d in r) | 304 | for (var d in r) |
305 | if (r.hasOwnProperty(d)) { | 305 | if (r.hasOwnProperty(d)) { |
306 | var e = r[d], | 306 | var e = r[d], |
307 | f = encodeURIComponent(d); | 307 | f = encodeURIComponent(d); |
308 | if ("object" == typeof e) { | 308 | if ("object" == typeof e) { |
309 | for (var g in e) | 309 | for (var g in e) |
310 | if (!a.isUndefined(e[g]) && "" !== e[g]) { | 310 | if (!a.isUndefined(e[g]) && "" !== e[g]) { |
311 | var h = f + "[" + encodeURIComponent(g) + "]"; | 311 | var h = f + "[" + encodeURIComponent(g) + "]"; |
312 | b ? c.push(h + "=" + e[g]) : c[h] = e[g] | 312 | b ? c.push(h + "=" + e[g]) : c[h] = e[g] |
313 | } | 313 | } |
314 | } else a.isFunction(e) || a.isUndefined(e) || "" === e || (b ? c.push(f + "=" + encodeURIComponent(e)) : c[f] = encodeURIComponent(e)) | 314 | } else a.isFunction(e) || a.isUndefined(e) || "" === e || (b ? c.push(f + "=" + encodeURIComponent(e)) : c[f] = encodeURIComponent(e)) |
315 | } | 315 | } |
316 | return c | 316 | return c |
317 | }, this.reload = function() { | 317 | }, this.reload = function() { |
318 | var c = this, | 318 | var c = this, |
319 | d = null; | 319 | d = null; |
320 | s.$loading = !0, n = a.copy(r), p = !0, d = m(s.groupBy ? l : k), q("ngTable: reload data"); | 320 | s.$loading = !0, n = a.copy(r), p = !0, d = m(s.groupBy ? l : k), q("ngTable: reload data"); |
321 | var e = c.data; | 321 | var e = c.data; |
322 | return d.then(function(a) { | 322 | return d.then(function(a) { |
323 | return s.$loading = !1, c.data = a, g.publishAfterReloadData(c, a, e), c.reloadPages(), s.$scope && s.$scope.$emit("ngTableAfterReloadData"), a | 323 | return s.$loading = !1, c.data = a, g.publishAfterReloadData(c, a, e), c.reloadPages(), s.$scope && s.$scope.$emit("ngTableAfterReloadData"), a |
324 | })["catch"](function(a) { | 324 | })["catch"](function(a) { |
325 | return n = null, p = !1, b.reject(a) | 325 | return n = null, p = !1, b.reject(a) |
326 | }) | 326 | }) |
327 | }, this.reloadPages = function() { | 327 | }, this.reloadPages = function() { |
328 | var b; | 328 | var b; |
329 | return function() { | 329 | return function() { |
330 | var c = b, | 330 | var c = b, |
331 | d = o.generatePagesArray(o.page(), o.total(), o.count()); | 331 | d = o.generatePagesArray(o.page(), o.total(), o.count()); |
332 | a.equals(c, d) || (b = d, g.publishPagesChanged(this, d, c)) | 332 | a.equals(c, d) || (b = d, g.publishPagesChanged(this, d, c)) |
333 | } | 333 | } |
334 | }(); | 334 | }(); |
335 | var r = { | 335 | var r = { |
336 | page: 1, | 336 | page: 1, |
337 | count: 1, | 337 | count: 1, |
338 | filter: {}, | 338 | filter: {}, |
339 | sorting: {}, | 339 | sorting: {}, |
340 | group: {}, | 340 | group: {}, |
341 | groupBy: null | 341 | groupBy: null |
342 | }; | 342 | }; |
343 | a.extend(r, d.params); | 343 | a.extend(r, d.params); |
344 | var s = { | 344 | var s = { |
345 | $scope: null, | 345 | $scope: null, |
346 | $loading: !1, | 346 | $loading: !1, |
347 | data: null, | 347 | data: null, |
348 | total: 0, | 348 | total: 0, |
349 | defaultSort: "desc", | 349 | defaultSort: "desc", |
350 | filterDelay: 750, | 350 | filterDelay: 750, |
351 | counts: [10, 25, 50, 100], | 351 | counts: [50, 100, 150, 200], |
352 | interceptors: [], | 352 | interceptors: [], |
353 | paginationMaxBlocks: 11, | 353 | paginationMaxBlocks: 11, |
354 | paginationMinBlocks: 5, | 354 | paginationMinBlocks: 5, |
355 | sortingIndicator: "span", | 355 | sortingIndicator: "span", |
356 | getDataFnAdaptor: a.identity, | 356 | getDataFnAdaptor: a.identity, |
357 | getGroupsFnAdaptor: a.identity, | 357 | getGroupsFnAdaptor: a.identity, |
358 | getGroups: this.getGroups, | 358 | getGroups: this.getGroups, |
359 | getData: this.getData | 359 | getData: this.getData |
360 | }; | 360 | }; |
361 | return this.settings(d.settings), this.settings(j), this.parameters(i, !0), g.publishAfterCreated(this), this | 361 | return this.settings(d.settings), this.settings(j), this.parameters(i, !0), g.publishAfterCreated(this), this |
362 | }; | 362 | }; |
363 | return i | 363 | return i |
364 | }]), b.factory("ngTableParams", ["NgTableParams", function(a) { | 364 | }]), b.factory("ngTableParams", ["NgTableParams", function(a) { |
365 | return a | 365 | return a |
366 | }]), | 366 | }]), |
367 | function() { | 367 | function() { |
368 | function b(a, b) { | 368 | function b(a, b) { |
369 | a.config = b | 369 | a.config = b |
370 | } | 370 | } |
371 | a.module("ngTable").controller("ngTableFilterRowController", b), b.$inject = ["$scope", "ngTableFilterConfig"] | 371 | a.module("ngTable").controller("ngTableFilterRowController", b), b.$inject = ["$scope", "ngTableFilterConfig"] |
372 | }(), | 372 | }(), |
373 | function() { | 373 | function() { |
374 | function b(a) { | 374 | function b(a) { |
375 | function b(b, c) { | 375 | function b(b, c) { |
376 | var d = b.sortable && b.sortable(); | 376 | var d = b.sortable && b.sortable(); |
377 | if (d) { | 377 | if (d) { |
378 | var e = a.params.settings().defaultSort, | 378 | var e = a.params.settings().defaultSort, |
379 | f = "asc" === e ? "desc" : "asc", | 379 | f = "asc" === e ? "desc" : "asc", |
380 | g = a.params.sorting() && a.params.sorting()[d] && a.params.sorting()[d] === e, | 380 | g = a.params.sorting() && a.params.sorting()[d] && a.params.sorting()[d] === e, |
381 | h = c.ctrlKey || c.metaKey ? a.params.sorting() : {}; | 381 | h = c.ctrlKey || c.metaKey ? a.params.sorting() : {}; |
382 | h[d] = g ? f : e, a.params.parameters({ | 382 | h[d] = g ? f : e, a.params.parameters({ |
383 | sorting: h | 383 | sorting: h |
384 | }) | 384 | }) |
385 | } | 385 | } |
386 | } | 386 | } |
387 | a.sortBy = b | 387 | a.sortBy = b |
388 | } | 388 | } |
389 | a.module("ngTable").controller("ngTableSorterRowController", b), b.$inject = ["$scope"] | 389 | a.module("ngTable").controller("ngTableSorterRowController", b), b.$inject = ["$scope"] |
390 | }(), b.controller("ngTableController", ["$scope", "NgTableParams", "$timeout", "$parse", "$compile", "$attrs", "$element", "ngTableColumn", "ngTableEventsChannel", function(b, c, d, e, f, g, h, i, j) { | 390 | }(), b.controller("ngTableController", ["$scope", "NgTableParams", "$timeout", "$parse", "$compile", "$attrs", "$element", "ngTableColumn", "ngTableEventsChannel", function(b, c, d, e, f, g, h, i, j) { |
391 | function k(a) { | 391 | function k(a) { |
392 | if (a) { | 392 | if (a) { |
393 | b.params.settings().$scope = b; | 393 | b.params.settings().$scope = b; |
394 | var c = b.params; | 394 | var c = b.params; |
395 | if (c.hasFilterChanges()) { | 395 | if (c.hasFilterChanges()) { |
396 | var d = function() { | 396 | var d = function() { |
397 | c.page(1), c.reload() | 397 | c.page(1), c.reload() |
398 | }; | 398 | }; |
399 | c.settings().filterDelay ? m(d, c.settings().filterDelay) : d() | 399 | c.settings().filterDelay ? m(d, c.settings().filterDelay) : d() |
400 | } else c.reload() | 400 | } else c.reload() |
401 | } | 401 | } |
402 | } | 402 | } |
403 | 403 | ||
404 | function l() { | 404 | function l() { |
405 | function a(a, c) { | 405 | function a(a, c) { |
406 | a.settings().groupBy ? b.$groups = c : b.$data = c | 406 | a.settings().groupBy ? b.$groups = c : b.$data = c |
407 | } | 407 | } |
408 | 408 | ||
409 | function c(a, c) { | 409 | function c(a, c) { |
410 | b.pages = c | 410 | b.pages = c |
411 | } | 411 | } |
412 | 412 | ||
413 | function d(a) { | 413 | function d(a) { |
414 | return b.params === a | 414 | return b.params === a |
415 | } | 415 | } |
416 | j.onAfterReloadData(a, b, d), j.onPagesChanged(c, b, d) | 416 | j.onAfterReloadData(a, b, d), j.onPagesChanged(c, b, d) |
417 | } | 417 | } |
418 | b.$filterRow = {}, b.$loading = !1, b.hasOwnProperty("params") || (b.params = new c(!0)), b.params.settings().$scope = b; | 418 | b.$filterRow = {}, b.$loading = !1, b.hasOwnProperty("params") || (b.params = new c(!0)), b.params.settings().$scope = b; |
419 | var m = function() { | 419 | var m = function() { |
420 | var a = 0; | 420 | var a = 0; |
421 | return function(b, c) { | 421 | return function(b, c) { |
422 | d.cancel(a), a = d(b, c) | 422 | d.cancel(a), a = d(b, c) |
423 | } | 423 | } |
424 | }(); | 424 | }(); |
425 | b.$watch("params", function(a, b) { | 425 | b.$watch("params", function(a, b) { |
426 | a !== b && a && a.reload() | 426 | a !== b && a && a.reload() |
427 | }, !1), b.$watch("params.isDataReloadRequired()", k), this.compileDirectiveTemplates = function() { | 427 | }, !1), b.$watch("params.isDataReloadRequired()", k), this.compileDirectiveTemplates = function() { |
428 | if (!h.hasClass("ng-table")) { | 428 | if (!h.hasClass("ng-table")) { |
429 | b.templates = { | 429 | b.templates = { |
430 | header: g.templateHeader ? g.templateHeader : "ng-table/header.html", | 430 | header: g.templateHeader ? g.templateHeader : "ng-table/header.html", |
431 | pagination: g.templatePagination ? g.templatePagination : "ng-table/pager.html" | 431 | pagination: g.templatePagination ? g.templatePagination : "ng-table/pager.html" |
432 | }, h.addClass("ng-table"); | 432 | }, h.addClass("ng-table"); |
433 | var c = null, | 433 | var c = null, |
434 | d = !1; | 434 | d = !1; |
435 | a.forEach(h.children(), function(a) { | 435 | a.forEach(h.children(), function(a) { |
436 | "THEAD" === a.tagName && (d = !0) | 436 | "THEAD" === a.tagName && (d = !0) |
437 | }), d || (c = a.element(document.createElement("thead")).attr("ng-include", "templates.header"), h.prepend(c)); | 437 | }), d || (c = a.element(document.createElement("thead")).attr("ng-include", "templates.header"), h.prepend(c)); |
438 | var e = a.element(document.createElement("div")).attr({ | 438 | var e = a.element(document.createElement("div")).attr({ |
439 | "ng-table-pagination": "params", | 439 | "ng-table-pagination": "params", |
440 | "template-url": "templates.pagination" | 440 | "template-url": "templates.pagination" |
441 | }); | 441 | }); |
442 | h.after(e), c && f(c)(b), f(e)(b) | 442 | h.after(e), c && f(c)(b), f(e)(b) |
443 | } | 443 | } |
444 | }, this.loadFilterData = function(c) { | 444 | }, this.loadFilterData = function(c) { |
445 | a.forEach(c, function(c) { | 445 | a.forEach(c, function(c) { |
446 | var d; | 446 | var d; |
447 | return d = c.filterData(b, { | 447 | return d = c.filterData(b, { |
448 | $column: c | 448 | $column: c |
449 | }), d ? a.isObject(d) && a.isObject(d.promise) ? (delete c.filterData, d.promise.then(function(b) { | 449 | }), d ? a.isObject(d) && a.isObject(d.promise) ? (delete c.filterData, d.promise.then(function(b) { |
450 | a.isArray(b) || a.isFunction(b) || a.isObject(b) ? a.isArray(b) && b.unshift({ | 450 | a.isArray(b) || a.isFunction(b) || a.isObject(b) ? a.isArray(b) && b.unshift({ |
451 | title: "", | 451 | title: "", |
452 | id: "" | 452 | id: "" |
453 | }) : b = [], c.data = b | 453 | }) : b = [], c.data = b |
454 | })) : c.data = d : void delete c.filterData | 454 | })) : c.data = d : void delete c.filterData |
455 | }) | 455 | }) |
456 | }, this.buildColumns = function(a) { | 456 | }, this.buildColumns = function(a) { |
457 | return a.map(function(a) { | 457 | return a.map(function(a) { |
458 | return i.buildColumn(a, b) | 458 | return i.buildColumn(a, b) |
459 | }) | 459 | }) |
460 | }, this.parseNgTableDynamicExpr = function(a) { | 460 | }, this.parseNgTableDynamicExpr = function(a) { |
461 | if (!a || a.indexOf(" with ") > -1) { | 461 | if (!a || a.indexOf(" with ") > -1) { |
462 | var b = a.split(/\s+with\s+/); | 462 | var b = a.split(/\s+with\s+/); |
463 | return { | 463 | return { |
464 | tableParams: b[0], | 464 | tableParams: b[0], |
465 | columns: b[1] | 465 | columns: b[1] |
466 | } | 466 | } |
467 | } | 467 | } |
468 | throw new Error("Parse error (expected example: ng-table-dynamic='tableParams with cols')") | 468 | throw new Error("Parse error (expected example: ng-table-dynamic='tableParams with cols')") |
469 | }, this.setupBindingsToInternalScope = function(c) { | 469 | }, this.setupBindingsToInternalScope = function(c) { |
470 | var d = e(c); | 470 | var d = e(c); |
471 | b.$watch(d, function(c) { | 471 | b.$watch(d, function(c) { |
472 | a.isUndefined(c) || (b.paramsModel = d, b.params = c) | 472 | a.isUndefined(c) || (b.paramsModel = d, b.params = c) |
473 | }, !1), g.showFilter && b.$parent.$watch(g.showFilter, function(a) { | 473 | }, !1), g.showFilter && b.$parent.$watch(g.showFilter, function(a) { |
474 | b.show_filter = a | 474 | b.show_filter = a |
475 | }), g.disableFilter && b.$parent.$watch(g.disableFilter, function(a) { | 475 | }), g.disableFilter && b.$parent.$watch(g.disableFilter, function(a) { |
476 | b.$filterRow.disabled = a | 476 | b.$filterRow.disabled = a |
477 | }) | 477 | }) |
478 | }, l() | 478 | }, l() |
479 | }]), b.factory("ngTableColumn", [function() { | 479 | }]), b.factory("ngTableColumn", [function() { |
480 | function b(b, d) { | 480 | function b(b, d) { |
481 | var e = Object.create(b); | 481 | var e = Object.create(b); |
482 | for (var f in c) void 0 === e[f] && (e[f] = c[f]), a.isFunction(e[f]) || ! function(a) { | 482 | for (var f in c) void 0 === e[f] && (e[f] = c[f]), a.isFunction(e[f]) || ! function(a) { |
483 | e[a] = function() { | 483 | e[a] = function() { |
484 | return b[a] | 484 | return b[a] |
485 | } | 485 | } |
486 | }(f), | 486 | }(f), |
487 | function(a) { | 487 | function(a) { |
488 | var c = e[a]; | 488 | var c = e[a]; |
489 | e[a] = function() { | 489 | e[a] = function() { |
490 | return 0 === arguments.length ? c.call(b, d) : c.apply(b, arguments) | 490 | return 0 === arguments.length ? c.call(b, d) : c.apply(b, arguments) |
491 | } | 491 | } |
492 | }(f); | 492 | }(f); |
493 | return e | 493 | return e |
494 | } | 494 | } |
495 | var c = { | 495 | var c = { |
496 | "class": function() { | 496 | "class": function() { |
497 | return "" | 497 | return "" |
498 | }, | 498 | }, |
499 | filter: function() { | 499 | filter: function() { |
500 | return !1 | 500 | return !1 |
501 | }, | 501 | }, |
502 | filterData: a.noop, | 502 | filterData: a.noop, |
503 | headerTemplateURL: function() { | 503 | headerTemplateURL: function() { |
504 | return !1 | 504 | return !1 |
505 | }, | 505 | }, |
506 | headerTitle: function() { | 506 | headerTitle: function() { |
507 | return "" | 507 | return "" |
508 | }, | 508 | }, |
509 | sortable: function() { | 509 | sortable: function() { |
510 | return !1 | 510 | return !1 |
511 | }, | 511 | }, |
512 | show: function() { | 512 | show: function() { |
513 | return !0 | 513 | return !0 |
514 | }, | 514 | }, |
515 | title: function() { | 515 | title: function() { |
516 | return "" | 516 | return "" |
517 | }, | 517 | }, |
518 | titleAlt: function() { | 518 | titleAlt: function() { |
519 | return "" | 519 | return "" |
520 | } | 520 | } |
521 | }; | 521 | }; |
522 | return { | 522 | return { |
523 | buildColumn: b | 523 | buildColumn: b |
524 | } | 524 | } |
525 | }]), b.directive("ngTable", ["$q", "$parse", function(b, c) { | 525 | }]), b.directive("ngTable", ["$q", "$parse", function(b, c) { |
526 | return { | 526 | return { |
527 | restrict: "A", | 527 | restrict: "A", |
528 | priority: 1001, | 528 | priority: 1001, |
529 | scope: !0, | 529 | scope: !0, |
530 | controller: "ngTableController", | 530 | controller: "ngTableController", |
531 | compile: function(b) { | 531 | compile: function(b) { |
532 | var d = [], | 532 | var d = [], |
533 | e = 0, | 533 | e = 0, |
534 | f = null; | 534 | f = null; |
535 | return a.forEach(a.element(b.find("tr")), function(b) { | 535 | return a.forEach(a.element(b.find("tr")), function(b) { |
536 | b = a.element(b), b.hasClass("ng-table-group") || f || (f = b) | 536 | b = a.element(b), b.hasClass("ng-table-group") || f || (f = b) |
537 | }), f ? (a.forEach(f.find("td"), function(b) { | 537 | }), f ? (a.forEach(f.find("td"), function(b) { |
538 | var f = a.element(b); | 538 | var f = a.element(b); |
539 | if (!f.attr("ignore-cell") || "true" !== f.attr("ignore-cell")) { | 539 | if (!f.attr("ignore-cell") || "true" !== f.attr("ignore-cell")) { |
540 | var g = function(a) { | 540 | var g = function(a) { |
541 | return f.attr("x-data-" + a) || f.attr("data-" + a) || f.attr(a) | 541 | return f.attr("x-data-" + a) || f.attr("data-" + a) || f.attr(a) |
542 | }, | 542 | }, |
543 | h = function(b) { | 543 | h = function(b) { |
544 | var e = g(b); | 544 | var e = g(b); |
545 | return e ? function(b, f) { | 545 | return e ? function(b, f) { |
546 | return c(e)(b, a.extend(f || {}, { | 546 | return c(e)(b, a.extend(f || {}, { |
547 | $columns: d | 547 | $columns: d |
548 | })) | 548 | })) |
549 | } : void 0 | 549 | } : void 0 |
550 | }, | 550 | }, |
551 | i = g("title-alt") || g("title"); | 551 | i = g("title-alt") || g("title"); |
552 | i && f.attr("data-title-text", "{{" + i + "}}"), d.push({ | 552 | i && f.attr("data-title-text", "{{" + i + "}}"), d.push({ |
553 | id: e++, | 553 | id: e++, |
554 | title: h("title"), | 554 | title: h("title"), |
555 | titleAlt: h("title-alt"), | 555 | titleAlt: h("title-alt"), |
556 | headerTitle: h("header-title"), | 556 | headerTitle: h("header-title"), |
557 | sortable: h("sortable"), | 557 | sortable: h("sortable"), |
558 | "class": h("header-class"), | 558 | "class": h("header-class"), |
559 | filter: h("filter"), | 559 | filter: h("filter"), |
560 | headerTemplateURL: h("header"), | 560 | headerTemplateURL: h("header"), |
561 | filterData: h("filter-data"), | 561 | filterData: h("filter-data"), |
562 | show: f.attr("ng-if") ? function(a) { | 562 | show: f.attr("ng-if") ? function(a) { |
563 | return c(f.attr("ng-if"))(a) | 563 | return c(f.attr("ng-if"))(a) |
564 | } : void 0 | 564 | } : void 0 |
565 | }) | 565 | }) |
566 | } | 566 | } |
567 | }), function(a, b, c, e) { | 567 | }), function(a, b, c, e) { |
568 | a.$columns = d = e.buildColumns(d), e.setupBindingsToInternalScope(c.ngTable), e.loadFilterData(d), e.compileDirectiveTemplates() | 568 | a.$columns = d = e.buildColumns(d), e.setupBindingsToInternalScope(c.ngTable), e.loadFilterData(d), e.compileDirectiveTemplates() |
569 | }) : void 0 | 569 | }) : void 0 |
570 | } | 570 | } |
571 | } | 571 | } |
572 | }]), b.directive("ngTableDynamic", ["$parse", function() { | 572 | }]), b.directive("ngTableDynamic", ["$parse", function() { |
573 | return { | 573 | return { |
574 | restrict: "A", | 574 | restrict: "A", |
575 | priority: 1001, | 575 | priority: 1001, |
576 | scope: !0, | 576 | scope: !0, |
577 | controller: "ngTableController", | 577 | controller: "ngTableController", |
578 | compile: function(b) { | 578 | compile: function(b) { |
579 | var c; | 579 | var c; |
580 | return a.forEach(a.element(b.find("tr")), function(b) { | 580 | return a.forEach(a.element(b.find("tr")), function(b) { |
581 | b = a.element(b), b.hasClass("ng-table-group") || c || (c = b) | 581 | b = a.element(b), b.hasClass("ng-table-group") || c || (c = b) |
582 | }), c ? (a.forEach(c.find("td"), function(b) { | 582 | }), c ? (a.forEach(c.find("td"), function(b) { |
583 | var c = a.element(b), | 583 | var c = a.element(b), |
584 | d = function(a) { | 584 | d = function(a) { |
585 | return c.attr("x-data-" + a) || c.attr("data-" + a) || c.attr(a) | 585 | return c.attr("x-data-" + a) || c.attr("data-" + a) || c.attr(a) |
586 | }, | 586 | }, |
587 | e = d("title"); | 587 | e = d("title"); |
588 | e || c.attr("data-title-text", "{{$columns[$index].titleAlt(this) || $columns[$index].title(this)}}"); | 588 | e || c.attr("data-title-text", "{{$columns[$index].titleAlt(this) || $columns[$index].title(this)}}"); |
589 | var f = c.attr("ng-if"); | 589 | var f = c.attr("ng-if"); |
590 | f || c.attr("ng-if", "$columns[$index].show(this)") | 590 | f || c.attr("ng-if", "$columns[$index].show(this)") |
591 | }), function(a, b, c, d) { | 591 | }), function(a, b, c, d) { |
592 | var e = d.parseNgTableDynamicExpr(c.ngTableDynamic); | 592 | var e = d.parseNgTableDynamicExpr(c.ngTableDynamic); |
593 | d.setupBindingsToInternalScope(e.tableParams), d.compileDirectiveTemplates(), a.$watchCollection(e.columns, function(b) { | 593 | d.setupBindingsToInternalScope(e.tableParams), d.compileDirectiveTemplates(), a.$watchCollection(e.columns, function(b) { |
594 | a.$columns = d.buildColumns(b), d.loadFilterData(a.$columns) | 594 | a.$columns = d.buildColumns(b), d.loadFilterData(a.$columns) |
595 | }) | 595 | }) |
596 | }) : void 0 | 596 | }) : void 0 |
597 | } | 597 | } |
598 | } | 598 | } |
599 | }]), | 599 | }]), |
600 | function() { | 600 | function() { |
601 | function b() { | 601 | function b() { |
602 | var a = { | 602 | var a = { |
603 | restrict: "E", | 603 | restrict: "E", |
604 | replace: !0, | 604 | replace: !0, |
605 | templateUrl: "ng-table/filterRow.html", | 605 | templateUrl: "ng-table/filterRow.html", |
606 | scope: !0, | 606 | scope: !0, |
607 | controller: "ngTableFilterRowController" | 607 | controller: "ngTableFilterRowController" |
608 | }; | 608 | }; |
609 | return a | 609 | return a |
610 | } | 610 | } |
611 | a.module("ngTable").directive("ngTableFilterRow", b), b.$inject = [] | 611 | a.module("ngTable").directive("ngTableFilterRow", b), b.$inject = [] |
612 | }(), | 612 | }(), |
613 | function() { | 613 | function() { |
614 | function b() { | 614 | function b() { |
615 | var a = { | 615 | var a = { |
616 | restrict: "E", | 616 | restrict: "E", |
617 | replace: !0, | 617 | replace: !0, |
618 | templateUrl: "ng-table/sorterRow.html", | 618 | templateUrl: "ng-table/sorterRow.html", |
619 | scope: !0, | 619 | scope: !0, |
620 | controller: "ngTableSorterRowController" | 620 | controller: "ngTableSorterRowController" |
621 | }; | 621 | }; |
622 | return a | 622 | return a |
623 | } | 623 | } |
624 | a.module("ngTable").directive("ngTableSorterRow", b), b.$inject = [] | 624 | a.module("ngTable").directive("ngTableSorterRow", b), b.$inject = [] |
625 | }(), b.directive("ngTablePagination", ["$compile", "ngTableEventsChannel", function(b, c) { | 625 | }(), b.directive("ngTablePagination", ["$compile", "ngTableEventsChannel", function(b, c) { |
626 | return { | 626 | return { |
627 | restrict: "A", | 627 | restrict: "A", |
628 | scope: { | 628 | scope: { |
629 | params: "=ngTablePagination", | 629 | params: "=ngTablePagination", |
630 | templateUrl: "=" | 630 | templateUrl: "=" |
631 | }, | 631 | }, |
632 | replace: !1, | 632 | replace: !1, |
633 | link: function(d, e) { | 633 | link: function(d, e) { |
634 | c.onAfterReloadData(function(a) { | 634 | c.onAfterReloadData(function(a) { |
635 | d.pages = a.generatePagesArray() | 635 | d.pages = a.generatePagesArray() |
636 | }, d, function(a) { | 636 | }, d, function(a) { |
637 | return a === d.params | 637 | return a === d.params |
638 | }), d.$watch("templateUrl", function(c) { | 638 | }), d.$watch("templateUrl", function(c) { |
639 | if (!a.isUndefined(c)) { | 639 | if (!a.isUndefined(c)) { |
640 | var f = a.element(document.createElement("div")); | 640 | var f = a.element(document.createElement("div")); |
641 | f.attr({ | 641 | f.attr({ |
642 | "ng-include": "templateUrl" | 642 | "ng-include": "templateUrl" |
643 | }), e.append(f), b(f)(d) | 643 | }), e.append(f), b(f)(d) |
644 | } | 644 | } |
645 | }) | 645 | }) |
646 | } | 646 | } |
647 | } | 647 | } |
648 | }]), a.module("ngTable").run(["$templateCache", function(a) { | 648 | }]), a.module("ngTable").run(["$templateCache", function(a) { |
649 | a.put("ng-table/filterRow.html", '<tr ng-show="show_filter" class="ng-table-filters"> <th data-title-text="{{$column.titleAlt(this) || $column.title(this)}}" ng-repeat="$column in $columns" ng-if="$column.show(this)" class="filter"><div ng-repeat="(name, filter) in $column.filter(this)"> <div ng-include="config.getTemplateUrl(filter)"></div> </div> </th> </tr> '), a.put("ng-table/filters/number.html", '<input type="number" name="{{name}}" ng-disabled="$filterRow.disabled" ng-model="params.filter()[name]" class="input-filter form-control"/> '), a.put("ng-table/filters/select-multiple.html", '<select ng-options="data.id as data.title for data in $column.data" ng-disabled="$filterRow.disabled" multiple ng-multiple="true" ng-model="params.filter()[name]" class="filter filter-select-multiple form-control" name="{{name}}"> </select> '), a.put("ng-table/filters/select.html", '<select ng-options="data.id as data.title for data in $column.data" ng-disabled="$filterRow.disabled" ng-model="params.filter()[name]" class="filter filter-select form-control" name="{{name}}"> <option style="display:none" value=""></option> </select> '), a.put("ng-table/filters/text.html", '<input type="text" name="{{name}}" ng-disabled="$filterRow.disabled" ng-model="params.filter()[name]" class="input-filter form-control"/> '), a.put("ng-table/header.html", "<ng-table-sorter-row></ng-table-sorter-row> <ng-table-filter-row></ng-table-filter-row> "), a.put("ng-table/pager.html", '<div class="ng-cloak ng-table-pager" ng-if="params.data.length"> <div style="float: right;"> <div ng-if="params.settings().counts.length" class="ng-table-counts btn-group" style="float: left; margin-top: 20px; margin-right: 20px;"> <select ng-model="count" ng-change="params.count(count)" class="recordCountSelect"> <option style="display:none" value="">10 Records Per Page</option><option ng-repeat="count in params.settings().counts" value="{{count}}">{{count}} Records Per Page</option> </select> </div> <ul class="pagination ng-table-pagination"> <li ng-class="{\'disabled\': !page.active && !page.current, \'active\': page.current}" ng-repeat="page in pages" ng-switch="page.type"> <a ng-switch-when="prev" ng-click="params.page(page.number)" href="">«</a> <a ng-switch-when="first" ng-click="params.page(page.number)" href=""><span ng-bind="page.number"></span></a> <a ng-switch-when="page" ng-click="params.page(page.number)" href=""><span ng-bind="page.number"></span></a> <a ng-switch-when="more" ng-click="params.page(page.number)" href="">…</a> <a ng-switch-when="last" ng-click="params.page(page.number)" href=""><span ng-bind="page.number"></span></a> <a ng-switch-when="next" ng-click="params.page(page.number)" href="">»</a> </li> </ul> </div> </div> '), a.put("ng-table/sorterRow.html", '<tr> <th title="{{$column.headerTitle(this)}}" ng-repeat="$column in $columns" ng-class="{ \'sortable\': $column.sortable(this), \'sort-asc\': params.sorting()[$column.sortable(this)]==\'asc\', \'sort-desc\': params.sorting()[$column.sortable(this)]==\'desc\' }" ng-click="sortBy($column, $event)" ng-if="$column.show(this)" ng-init="template=$column.headerTemplateURL(this)" class="header {{$column.class(this)}}"> <div ng-if="!template" class="ng-table-header" ng-class="{\'sort-indicator\': params.settings().sortingIndicator==\'div\'}"> <span ng-bind="$column.title(this)" ng-class="{\'sort-indicator\': params.settings().sortingIndicator==\'span\'}"></span> </div> <div ng-if="template" ng-include="template"></div> </th> </tr> ') | 649 | a.put("ng-table/filterRow.html", '<tr ng-show="show_filter" class="ng-table-filters"> <th data-title-text="{{$column.titleAlt(this) || $column.title(this)}}" ng-repeat="$column in $columns" ng-if="$column.show(this)" class="filter"><div ng-repeat="(name, filter) in $column.filter(this)"> <div ng-include="config.getTemplateUrl(filter)"></div> </div> </th> </tr> '), a.put("ng-table/filters/number.html", '<input type="number" name="{{name}}" ng-disabled="$filterRow.disabled" ng-model="params.filter()[name]" class="input-filter form-control"/> '), a.put("ng-table/filters/select-multiple.html", '<select ng-options="data.id as data.title for data in $column.data" ng-disabled="$filterRow.disabled" multiple ng-multiple="true" ng-model="params.filter()[name]" class="filter filter-select-multiple form-control" name="{{name}}"> </select> '), a.put("ng-table/filters/select.html", '<select ng-options="data.id as data.title for data in $column.data" ng-disabled="$filterRow.disabled" ng-model="params.filter()[name]" class="filter filter-select form-control" name="{{name}}"> <option style="display:none" value=""></option> </select> '), a.put("ng-table/filters/text.html", '<input type="text" name="{{name}}" ng-disabled="$filterRow.disabled" ng-model="params.filter()[name]" class="input-filter form-control"/> '), a.put("ng-table/header.html", "<ng-table-sorter-row></ng-table-sorter-row> <ng-table-filter-row></ng-table-filter-row> "), a.put("ng-table/pager.html", '<div class="ng-cloak ng-table-pager" ng-if="params.data.length"> <div style="float: right;"> <div ng-if="params.settings().counts.length" class="ng-table-counts btn-group" style="float: left; margin-top: 20px; margin-right: 20px;"> <select ng-model="count" ng-change="params.count(count)" class="recordCountSelect"> <option style="display:none" value="">50 Records Per Page</option><option ng-repeat="count in params.settings().counts" value="{{count}}">{{count}} Records Per Page</option> </select> </div> <ul class="pagination ng-table-pagination"> <li ng-class="{\'disabled\': !page.active && !page.current, \'active\': page.current}" ng-repeat="page in pages" ng-switch="page.type"> <a ng-switch-when="prev" ng-click="params.page(page.number)" href="">«</a> <a ng-switch-when="first" ng-click="params.page(page.number)" href=""><span ng-bind="page.number"></span></a> <a ng-switch-when="page" ng-click="params.page(page.number)" href=""><span ng-bind="page.number"></span></a> <a ng-switch-when="more" ng-click="params.page(page.number)" href="">…</a> <a ng-switch-when="last" ng-click="params.page(page.number)" href=""><span ng-bind="page.number"></span></a> <a ng-switch-when="next" ng-click="params.page(page.number)" href="">»</a> </li> </ul> </div> </div> '), a.put("ng-table/sorterRow.html", '<tr> <th title="{{$column.headerTitle(this)}}" ng-repeat="$column in $columns" ng-class="{ \'sortable\': $column.sortable(this), \'sort-asc\': params.sorting()[$column.sortable(this)]==\'asc\', \'sort-desc\': params.sorting()[$column.sortable(this)]==\'desc\' }" ng-click="sortBy($column, $event)" ng-if="$column.show(this)" ng-init="template=$column.headerTemplateURL(this)" class="header {{$column.class(this)}}"> <div ng-if="!template" class="ng-table-header" ng-class="{\'sort-indicator\': params.settings().sortingIndicator==\'div\'}"> <span ng-bind="$column.title(this)" ng-class="{\'sort-indicator\': params.settings().sortingIndicator==\'span\'}"></span> </div> <div ng-if="template" ng-include="template"></div> </th> </tr> ') |
650 | }]), b | 650 | }]), b |
651 | }); | 651 | }); |
652 | //# sourceMappingURL=ng-table.min.js.map | 652 | //# sourceMappingURL=ng-table.min.js.map |
app/partials/enterFuelOrder/enterFuelOrder.controller.js
1 | 'use strict'; | 1 | 'use strict'; |
2 | 2 | ||
3 | angular.module('acufuel') | 3 | angular.module('acufuel') |
4 | 4 | ||
5 | .controller('enterFuelOrderController', ['$scope', '$rootScope', '$uibModal', '$filter', '$http', 'enterFuelOrderService', enterFuelOrderController]); | 5 | .controller('enterFuelOrderController', ['$scope', '$rootScope', '$uibModal', '$filter', '$http', 'enterFuelOrderService', enterFuelOrderController]); |
6 | 6 | ||
7 | function enterFuelOrderController($scope, $rootScope, $uibModal, $filter, $http, enterFuelOrderService) { | 7 | function enterFuelOrderController($scope, $rootScope, $uibModal, $filter, $http, enterFuelOrderService) { |
8 | $scope.showLoader = true; | 8 | $scope.showLoader = true; |
9 | 9 | ||
10 | $scope.companyList = {}; | 10 | $scope.companyList = {}; |
11 | 11 | ||
12 | enterFuelOrderService.getAllCompanies().then(function(result) { | 12 | enterFuelOrderService.getAllCompanies().then(function(result) { |
13 | $scope.showLoader = false; | 13 | $scope.showLoader = false; |
14 | $scope.companyList = result; | 14 | $scope.companyList = result; |
15 | //console.log("===company====",result) | 15 | //console.log("===company====",result) |
16 | }) | 16 | }) |
17 | 17 | ||
18 | $scope.order = {}; | 18 | $scope.order = {}; |
19 | $scope.dispatchOrder = {}; | 19 | $scope.dispatchOrder = {}; |
20 | $scope.dispatchOrder.fuelOrderList = []; | 20 | $scope.dispatchOrder.fuelOrderList = []; |
21 | $scope.order.upliftDate = ''; | 21 | $scope.order.upliftDate = ''; |
22 | //$scope.order.departingDate = ''; | 22 | //$scope.order.departingDate = ''; |
23 | $scope.selectedCompanyName = ''; | 23 | $scope.selectedCompanyName = ''; |
24 | $scope.selectedCompanyId = ''; | 24 | $scope.selectedCompanyId = ''; |
25 | $scope.marginId = ''; | 25 | $scope.marginId = ''; |
26 | $scope.selectedTier = ''; | 26 | $scope.selectedTier = ''; |
27 | 27 | ||
28 | $scope.getAircraft = function(company){ | 28 | $scope.getAircraft = function(company){ |
29 | $scope.selectedCompanyName = company; | 29 | $scope.selectedCompanyName = company; |
30 | 30 | ||
31 | 31 | ||
32 | $scope.showLoader = true; | 32 | $scope.showLoader = true; |
33 | for (var i = 0; i < $scope.companyList.length; i++) { | 33 | for (var i = 0; i < $scope.companyList.length; i++) { |
34 | if ($scope.companyList[i].companyName == company) { | 34 | if ($scope.companyList[i].companyName == company) { |
35 | $scope.order.certificateType = $scope.companyList[i].certificateType; | 35 | $scope.order.certificateType = $scope.companyList[i].certificateType; |
36 | $scope.baseTenant = $scope.companyList[i].baseTenant; | 36 | $scope.baseTenant = $scope.companyList[i].baseTenant; |
37 | $scope.contractFuelVendor = $scope.companyList[i].contractFuelVendor; | 37 | $scope.contractFuelVendor = $scope.companyList[i].contractFuelVendor; |
38 | $scope.fuelerlinxCustomer = $scope.companyList[i].fuelerlinxCustomer; | 38 | $scope.fuelerlinxCustomer = $scope.companyList[i].fuelerlinxCustomer; |
39 | 39 | ||
40 | if($scope.companyList[i].margin != null && $scope.companyList[i].marginAVGAS != null){ | 40 | if($scope.companyList[i].margin != null && $scope.companyList[i].marginAVGAS != null){ |
41 | enterFuelOrderService.getFuelCost($scope.companyList[i].id).then(function(margins) { | 41 | enterFuelOrderService.getFuelCost($scope.companyList[i].id).then(function(margins) { |
42 | $scope.marginList = margins; | 42 | $scope.marginList = margins; |
43 | }) | 43 | }) |
44 | } else if ($scope.companyList[i].margin != null && $scope.companyList[i].marginAVGAS == null) { | 44 | } else if ($scope.companyList[i].margin != null && $scope.companyList[i].marginAVGAS == null) { |
45 | enterFuelOrderService.getATypeFuelPricing($scope.companyList[i].id).then(function(margins) { | 45 | enterFuelOrderService.getATypeFuelPricing($scope.companyList[i].id).then(function(margins) { |
46 | $scope.marginList = margins; | 46 | $scope.marginList = margins; |
47 | }) | 47 | }) |
48 | } else if ($scope.companyList[i].margin == null && $scope.companyList[i].marginAVGAS != null) { | 48 | } else if ($scope.companyList[i].margin == null && $scope.companyList[i].marginAVGAS != null) { |
49 | enterFuelOrderService.getVTypeFuelPricing($scope.companyList[i].id).then(function(margins) { | 49 | enterFuelOrderService.getVTypeFuelPricing($scope.companyList[i].id).then(function(margins) { |
50 | $scope.marginList = margins; | 50 | $scope.marginList = margins; |
51 | }) | 51 | }) |
52 | } else if ($scope.companyList[i].margin == null && $scope.companyList[i].marginAVGAS == null) { | 52 | } else if ($scope.companyList[i].margin == null && $scope.companyList[i].marginAVGAS == null) { |
53 | enterFuelOrderService.getPapFuelPricing($scope.companyList[i].id).then(function(margins) { | 53 | enterFuelOrderService.getPapFuelPricing($scope.companyList[i].id).then(function(margins) { |
54 | $scope.marginList = margins; | 54 | $scope.marginList = margins; |
55 | }) | 55 | }) |
56 | } | 56 | } |
57 | $scope.selectedCompanyId = $scope.companyList[i].id; | 57 | $scope.selectedCompanyId = $scope.companyList[i].id; |
58 | 58 | ||
59 | if ($scope.selectedCompanyId != '') { | 59 | if ($scope.selectedCompanyId != '') { |
60 | enterFuelOrderService.getAircraft($scope.selectedCompanyId).then(function(aircraft) { | 60 | enterFuelOrderService.getAircraft($scope.selectedCompanyId).then(function(aircraft) { |
61 | $scope.aircraftList = aircraft; | 61 | $scope.aircraftList = aircraft; |
62 | }) | 62 | }) |
63 | } | 63 | } |
64 | if($scope.companyList[i].margin == null) { | 64 | if($scope.companyList[i].margin == null) { |
65 | $scope.tierList = []; | 65 | $scope.tierList = []; |
66 | $scope.tierList.push({ | 66 | $scope.tierList.push({ |
67 | 'minTierBreak': '0', 'maxTierBreak': 'โ' | 67 | 'minTierBreak': '0', 'maxTierBreak': 'โ' |
68 | }); | 68 | }); |
69 | $scope.showLoader = false; | 69 | $scope.showLoader = false; |
70 | } else { | 70 | } else { |
71 | $scope.marginId = $scope.companyList[i].margin.id; | 71 | $scope.marginId = $scope.companyList[i].margin.id; |
72 | if ($scope.marginId != '') { | 72 | if ($scope.marginId != '') { |
73 | enterFuelOrderService.getJetTiers($scope.marginId).then(function(tiers) { | 73 | enterFuelOrderService.getJetTiers($scope.marginId).then(function(tiers) { |
74 | $scope.tierList = tiers; | 74 | $scope.tierList = tiers; |
75 | $scope.showLoader = false; | 75 | $scope.showLoader = false; |
76 | $scope.selectedTier = $scope.tierList[0]; | 76 | $scope.selectedTier = $scope.tierList[0]; |
77 | }) | 77 | }) |
78 | }else{ | 78 | }else{ |
79 | $scope.showLoader = false; | 79 | $scope.showLoader = false; |
80 | } | 80 | } |
81 | } | 81 | } |
82 | } | 82 | } |
83 | } | 83 | } |
84 | 84 | ||
85 | } | 85 | } |
86 | 86 | ||
87 | $scope.tiervalue=function(){ | 87 | $scope.tiervalue=function(){ |
88 | $scope.order.tierBreak=$scope.selectedTier.minTierBreak+'-'+$scope.selectedTier.maxTierBreak; | 88 | $scope.order.tierBreak=$scope.selectedTier.minTierBreak+'-'+$scope.selectedTier.maxTierBreak; |
89 | } | 89 | } |
90 | 90 | ||
91 | 91 | ||
92 | 92 | ||
93 | 93 | ||
94 | $scope.cancelOrder = function() { | 94 | $scope.cancelOrder = function() { |
95 | $scope.order = {}; | 95 | $scope.order = {}; |
96 | } | 96 | } |
97 | 97 | ||
98 | 98 | ||
99 | $scope.setCost = function(cost){ | 99 | $scope.setCost = function(cost){ |
100 | if(cost != null) { | 100 | if(cost != null) { |
101 | var obj =JSON.parse(cost); | 101 | var obj =JSON.parse(cost); |
102 | $scope.order.fboCost = obj.cost; | 102 | $scope.order.fboCost = obj.cost; |
103 | } | 103 | } |
104 | } | 104 | } |
105 | 105 | ||
106 | 106 | ||
107 | $scope.addTotal = function(value, valueOf) { | 107 | $scope.addTotal = function(value, valueOf) { |
108 | if (value != undefined && valueOf != undefined) { | 108 | if (value != undefined && valueOf != undefined) { |
109 | value = JSON.parse(value) | 109 | value = JSON.parse(value) |
110 | $scope.order.total = Math.abs(value.papTotal) * valueOf; | 110 | $scope.order.total = Math.abs(value.papTotal) * valueOf; |
111 | } | 111 | } |
112 | } | 112 | } |
113 | 113 | ||
114 | $scope.dispatchFuel = function(){ | 114 | $scope.dispatchFuel = function(){ |
115 | $scope.showLoader = true; | 115 | $scope.showLoader = true; |
116 | 116 | ||
117 | $scope.order.companyId = $scope.selectedCompanyId; | 117 | $scope.order.companyId = $scope.selectedCompanyId; |
118 | $scope.order.companyName = $scope.order.companyName; | 118 | $scope.order.companyName = $scope.order.companyName; |
119 | var aircraftObj =JSON.parse($scope.order.aircraftName); | 119 | var aircraftObj =JSON.parse($scope.order.aircraftName); |
120 | $scope.order.aircraftName = aircraftObj.tail; | 120 | $scope.order.aircraftName = aircraftObj.tail; |
121 | $scope.order.make = aircraftObj.make; | 121 | $scope.order.make = aircraftObj.make; |
122 | $scope.order.model = aircraftObj.model; | 122 | $scope.order.model = aircraftObj.model; |
123 | //$scope.order.fuelOn = $scope.order.fuelOn; | 123 | //$scope.order.fuelOn = $scope.order.fuelOn; |
124 | 124 | ||
125 | $scope.order.invoiced = $scope.order.invoiced; | 125 | $scope.order.invoiced = $scope.order.invoiced; |
126 | $scope.order.volume = $scope.order.volume; | 126 | $scope.order.volume = $scope.order.volume; |
127 | // $scope.order.source = $scope.order.source; | 127 | // $scope.order.source = $scope.order.source; |
128 | 128 | ||
129 | $scope.order.total = $scope.order.total; | 129 | $scope.order.total = $scope.order.total; |
130 | 130 | ||
131 | var obj =JSON.parse($scope.order.priceQuote); | 131 | var obj =JSON.parse($scope.order.priceQuote); |
132 | $scope.order.priceQuote = obj.papTotal; | 132 | $scope.order.priceQuote = obj.papTotal; |
133 | $scope.order.fboCost = obj.cost; | 133 | $scope.order.fboCost = obj.cost; |
134 | $scope.order.productName = obj.productName; | 134 | $scope.order.productName = obj.productName; |
135 | 135 | ||
136 | $scope.order.etaTime = $scope.order.etaTime; | 136 | $scope.order.etaTime = $scope.order.etaTime; |
137 | $scope.order.etdTime = $scope.order.etdTime; | 137 | $scope.order.etdTime = $scope.order.etdTime; |
138 | $scope.order.certificateType = $scope.order.certificateType; | 138 | $scope.order.certificateType = $scope.order.certificateType; |
139 | var currentDate = new Date(); | 139 | var currentDate = new Date(); |
140 | var hours = currentDate.getHours(); | 140 | var hours = currentDate.getHours(); |
141 | var min = currentDate.getMinutes(); | 141 | var min = currentDate.getMinutes(); |
142 | var sec = currentDate.getSeconds(); | 142 | var sec = currentDate.getSeconds(); |
143 | if ($scope.order.upliftDate != '') { | 143 | if ($scope.order.upliftDate != '') { |
144 | $scope.order.upliftDate = $scope.order.upliftDate + ' ' + hours + ':' + min + ':' + sec; | 144 | $scope.order.upliftDate = $scope.order.upliftDate + ' ' + hours + ':' + min + ':' + sec; |
145 | $scope.order.upliftDate = new Date($scope.order.upliftDate); | 145 | $scope.order.upliftDate = new Date($scope.order.upliftDate); |
146 | $scope.order.upliftDate = $scope.order.upliftDate.getTime(); | 146 | $scope.order.upliftDate = $scope.order.upliftDate.getTime(); |
147 | } | 147 | } |
148 | 148 | ||
149 | 149 | ||
150 | if ($scope.order.departingDate != '') { | 150 | if ($scope.order.departingDate != '') { |
151 | $scope.order.departingDate = $scope.order.departingDate + ' ' + hours + ':' + min + ':' + sec; | 151 | $scope.order.departingDate = $scope.order.departingDate + ' ' + hours + ':' + min + ':' + sec; |
152 | $scope.order.departingDate = new Date($scope.order.departingDate); | 152 | $scope.order.departingDate = new Date($scope.order.departingDate); |
153 | $scope.order.departingDate = $scope.order.departingDate.getTime(); | 153 | $scope.order.departingDate = $scope.order.departingDate.getTime(); |
154 | } | 154 | } |
155 | 155 | ||
156 | if($scope.order.status === null || $scope.order.status === undefined){ | 156 | if($scope.order.status === null || $scope.order.status === undefined){ |
157 | 157 | ||
158 | $scope.order.status = "pending"; //default status | 158 | $scope.order.status = "pending"; //default status |
159 | 159 | ||
160 | }else { | 160 | }else { |
161 | 161 | ||
162 | $scope.order.status = $scope.order.status; | 162 | $scope.order.status = $scope.order.status; |
163 | } | 163 | } |
164 | if($scope.order.fuelOn === null || $scope.order.fuelOn ===undefined){ | 164 | if($scope.order.fuelOn === null || $scope.order.fuelOn ===undefined){ |
165 | $scope.order.fuelOn = "Arrival"; //default fuelon | 165 | $scope.order.fuelOn = "Arrival"; //default fuelon |
166 | }else { | 166 | }else { |
167 | $scope.order.fuelOn = $scope.order.fuelOn ; | 167 | $scope.order.fuelOn = $scope.order.fuelOn ; |
168 | } | 168 | } |
169 | 169 | ||
170 | if($scope.baseTenant && $scope.contractFuelVendor ){ | 170 | if($scope.baseTenant && $scope.contractFuelVendor ){ |
171 | $scope.order.source = "Tenant/CAA" ; | 171 | $scope.order.source = "Tenant/CAA" ; |
172 | }else if($scope.baseTenant) | 172 | }else if($scope.baseTenant) |
173 | { | 173 | { |
174 | $scope.order.source = "Tenant/Base Customer"; | 174 | $scope.order.source = "Tenant/Base Customer"; |
175 | }else if($scope.contractFuelVendor){ | 175 | }else if($scope.contractFuelVendor){ |
176 | $scope.order.source = "CAA Member"; | 176 | $scope.order.source = "CAA Member"; |
177 | } | 177 | } |
178 | 178 | ||
179 | console.log("===order====",$scope.order); | ||
180 | |||
181 | $scope.dispatchOrder.fuelOrderList.push($scope.order); | 179 | $scope.dispatchOrder.fuelOrderList.push($scope.order); |
182 | 180 | ||
183 | enterFuelOrderService.dispathFuelOrder($scope.dispatchOrder).then(function(result) { | 181 | enterFuelOrderService.dispathFuelOrder($scope.dispatchOrder).then(function(result) { |
184 | $scope.showLoader = false; | 182 | $scope.showLoader = false; |
185 | $scope.order = {}; | 183 | $scope.order = {}; |
184 | $scope.dispatchOrder={}; | ||
185 | $scope.order.source=''; | ||
186 | $scope.baseTenant=false; | ||
187 | $scope.contractFuelVendor=false; | ||
186 | toastr.success('Fuel Order Created Successfully', { | 188 | toastr.success('Fuel Order Created Successfully', { |
187 | closeButton: true | 189 | closeButton: true |
188 | }) | 190 | }) |
189 | }) | 191 | }) |
190 | } | 192 | } |
191 | 193 | ||
192 | 194 | ||
193 | $scope.etaTimeList=[]; | 195 | $scope.etaTimeList=[]; |
194 | $scope.etdTimeList =[]; | 196 | $scope.etdTimeList =[]; |
195 | 197 | ||
196 | $scope.etaTimeList = [{time:"12:00 AM"},{time:"12:30 AM"},{time:"01:00 AM"},{time:"01:30 AM"},{time:"02:00 AM"},{time:"02:30 AM"},{time:"03:00 AM"},{time:"03:30 AM"}, | 198 | $scope.etaTimeList = [{time:"12:00 AM"},{time:"12:30 AM"},{time:"01:00 AM"},{time:"01:30 AM"},{time:"02:00 AM"},{time:"02:30 AM"},{time:"03:00 AM"},{time:"03:30 AM"}, |
197 | {time:"04:00 AM"},{time:"04:30 AM"},{time:"05:00 AM"},{time:"05:30 AM"},{time:"06:00 AM"},{time:"06:30 AM"},{time:"07:00 AM"},{time:"07:30 AM"}, | 199 | {time:"04:00 AM"},{time:"04:30 AM"},{time:"05:00 AM"},{time:"05:30 AM"},{time:"06:00 AM"},{time:"06:30 AM"},{time:"07:00 AM"},{time:"07:30 AM"}, |
198 | {time:"08:00 AM"},{time:"08:30 AM"},{time:"09:00 AM"},{time:"09:30 AM"},{time:"10:00 AM"},{time:"10:30 AM"},{time:"11:00 AM"},{time:"11:30 AM"}, | 200 | {time:"08:00 AM"},{time:"08:30 AM"},{time:"09:00 AM"},{time:"09:30 AM"},{time:"10:00 AM"},{time:"10:30 AM"},{time:"11:00 AM"},{time:"11:30 AM"}, |
199 | {time:"12:00 PM"},{time:"12:30 PM"},{time:"01:00 PM"},{time:"01:30 PM"},{time:"02:00 PM"},{time:"02:30 PM"},{time:"03:00 PM"},{time:"03:30 PM"}, | 201 | {time:"12:00 PM"},{time:"12:30 PM"},{time:"01:00 PM"},{time:"01:30 PM"},{time:"02:00 PM"},{time:"02:30 PM"},{time:"03:00 PM"},{time:"03:30 PM"}, |
200 | {time:"04:00 PM"},{time:"04:30 PM"},{time:"05:00 PM"},{time:"05:30 PM"},{time:"06:00 PM"},{time:"06:30 PM"},{time:"07:00 PM"},{time:"07:30 PM"}, | 202 | {time:"04:00 PM"},{time:"04:30 PM"},{time:"05:00 PM"},{time:"05:30 PM"},{time:"06:00 PM"},{time:"06:30 PM"},{time:"07:00 PM"},{time:"07:30 PM"}, |
201 | {time:"08:00 PM"},{time:"08:30 PM"},{time:"9:00 PM"},{time:"09:30 PM"},{time:"10:00 PM"},{time:"10:30 PM"},{time:"11:00 PM"},{time:"11:30 PM"},]; | 203 | {time:"08:00 PM"},{time:"08:30 PM"},{time:"9:00 PM"},{time:"09:30 PM"},{time:"10:00 PM"},{time:"10:30 PM"},{time:"11:00 PM"},{time:"11:30 PM"},]; |
202 | 204 | ||
203 | $scope.etdTimeList = [{time:"12:00 AM"},{time:"12:30 AM"},{time:"01:00 AM"},{time:"01:30 AM"},{time:"02:00 AM"},{time:"02:30 AM"},{time:"03:00 AM"},{time:"03:30 AM"}, | 205 | $scope.etdTimeList = [{time:"12:00 AM"},{time:"12:30 AM"},{time:"01:00 AM"},{time:"01:30 AM"},{time:"02:00 AM"},{time:"02:30 AM"},{time:"03:00 AM"},{time:"03:30 AM"}, |
204 | {time:"04:00 AM"},{time:"04:30 AM"},{time:"05:00 AM"},{time:"05:30 AM"},{time:"06:00 AM"},{time:"06:30 AM"},{time:"07:00 AM"},{time:"07:30 AM"}, | 206 | {time:"04:00 AM"},{time:"04:30 AM"},{time:"05:00 AM"},{time:"05:30 AM"},{time:"06:00 AM"},{time:"06:30 AM"},{time:"07:00 AM"},{time:"07:30 AM"}, |
205 | {time:"08:00 AM"},{time:"08:30 AM"},{time:"09:00 AM"},{time:"09:30 AM"},{time:"10:00 AM"},{time:"10:30 AM"},{time:"11:00 AM"},{time:"11:30 AM"}, | 207 | {time:"08:00 AM"},{time:"08:30 AM"},{time:"09:00 AM"},{time:"09:30 AM"},{time:"10:00 AM"},{time:"10:30 AM"},{time:"11:00 AM"},{time:"11:30 AM"}, |
206 | {time:"12:00 PM"},{time:"12:30 PM"},{time:"01:00 PM"},{time:"01:30 PM"},{time:"02:00 PM"},{time:"02:30 PM"},{time:"03:00 PM"},{time:"03:30 PM"}, | 208 | {time:"12:00 PM"},{time:"12:30 PM"},{time:"01:00 PM"},{time:"01:30 PM"},{time:"02:00 PM"},{time:"02:30 PM"},{time:"03:00 PM"},{time:"03:30 PM"}, |
207 | {time:"04:00 PM"},{time:"04:30 PM"},{time:"05:00 PM"},{time:"05:30 PM"},{time:"06:00 PM"},{time:"06:30 PM"},{time:"07:00 PM"},{time:"07:30 PM"}, | 209 | {time:"04:00 PM"},{time:"04:30 PM"},{time:"05:00 PM"},{time:"05:30 PM"},{time:"06:00 PM"},{time:"06:30 PM"},{time:"07:00 PM"},{time:"07:30 PM"}, |
208 | {time:"08:00 PM"},{time:"08:30 PM"},{time:"9:00 PM"},{time:"09:30 PM"},{time:"10:00 PM"},{time:"10:30 PM"},{time:"11:00 PM"},{time:"11:30 PM"},]; | 210 | {time:"08:00 PM"},{time:"08:30 PM"},{time:"9:00 PM"},{time:"09:30 PM"},{time:"10:00 PM"},{time:"10:30 PM"},{time:"11:00 PM"},{time:"11:30 PM"},]; |
app/partials/enterFuelOrder/enterFuelOrder.html
1 | <style type="text/css"> | 1 | <style type="text/css"> |
2 | .subnavbar .mainnav > li:nth-child(4) > a{ | 2 | .subnavbar .mainnav > li:nth-child(4) > a{ |
3 | color: #c44646; | 3 | color: #c44646; |
4 | } | 4 | } |
5 | .customInputWrap{ | 5 | .customInputWrap{ |
6 | margin-top: 15px; | 6 | margin-top: 15px; |
7 | } | 7 | } |
8 | .customInputWrap label{ | 8 | .customInputWrap label{ |
9 | font-weight: normal; | 9 | font-weight: normal; |
10 | margin-bottom: 0; | 10 | margin-bottom: 0; |
11 | } | 11 | } |
12 | </style> | 12 | </style> |
13 | <div class="myLoader" ng-show="showLoader"> | 13 | <div class="myLoader" ng-show="showLoader"> |
14 | <img src="../img/hourglass.gif" width="50px;"> | 14 | <img src="../img/hourglass.gif" width="50px;"> |
15 | </div> | 15 | </div> |
16 | 16 | ||
17 | <div class="container"> | 17 | <div class="container"> |
18 | <div class="row"> | 18 | <div class="row"> |
19 | <div class="col-xs-8"> | 19 | <div class="col-xs-8"> |
20 | <div class="widget stacked"> | 20 | <div class="widget stacked"> |
21 | <div class="widget-header"> | 21 | <div class="widget-header"> |
22 | <i class="fa fa-tasks" aria-hidden="true"></i> | 22 | <i class="fa fa-tasks" aria-hidden="true"></i> |
23 | <h3>Create Fuel Order</h3> | 23 | <h3>Create Fuel Order</h3> |
24 | </div> | 24 | </div> |
25 | <div class="widget-content new-widget-content"> | 25 | <div class="widget-content new-widget-content"> |
26 | <form name="orderform" novalidate> | 26 | <form name="orderform" novalidate> |
27 | 27 | ||
28 | <div class="customInputWrap"> | 28 | <div class="customInputWrap"> |
29 | <div class="col-xs-12"> | 29 | <div class="col-xs-12"> |
30 | 30 | ||
31 | <div class="col-md-6"> | 31 | <div class="col-md-6"> |
32 | <div class="pull-left" style="width: 110px;"> | 32 | <div class="pull-left" style="width: 110px;"> |
33 | <label class="new-input-label"><b>Company</b></label> | 33 | <label class="new-input-label"><b>Company</b></label> |
34 | </div> | 34 | </div> |
35 | <div class="pull-left" style="width: calc(100% - 110px);"> | 35 | <div class="pull-left" style="width: calc(100% - 110px);"> |
36 | <select ui-select2 ng-model="order.companyName" ng-change="getAircraft(order.companyName)" style="width: 100%;" required> | 36 | <select class="form-control" ng-model="order.companyName" ng-change="getAircraft(order.companyName)" style="width: 100%;" required> |
37 | <option value="" selected disabled>Select Company</option> | 37 | <option value="" selected disabled>Select Company</option> |
38 | <option ng-repeat="list in companyList">{{list.companyName}}</option> | 38 | <option ng-repeat="list in companyList">{{list.companyName}}</option> |
39 | </select> | 39 | </select> |
40 | </div> | 40 | </div> |
41 | <div class="clearfix"></div> | 41 | <div class="clearfix"></div> |
42 | </div> | 42 | </div> |
43 | <div class="col-md-6"> | 43 | <div class="col-md-6"> |
44 | <div class="pull-left" style="width: 110px;"> | 44 | <div class="pull-left" style="width: 110px;"> |
45 | <label class="new-input-label"><b>Product</b></label> | 45 | <label class="new-input-label"><b>Product</b></label> |
46 | </div> | 46 | </div> |
47 | <div class="pull-left" style="width: calc(100% - 110px);"> | 47 | <div class="pull-left" style="width: calc(100% - 110px);"> |
48 | <select class="form-control" ng-model="order.priceQuote" ng-change="setCost(order.priceQuote); addTotal(order.priceQuote, order.volume)" required> | 48 | <select class="form-control" ng-model="order.priceQuote" ng-change="setCost(order.priceQuote); addTotal(order.priceQuote, order.volume)" required> |
49 | <option value="" selected disabled>Select Product</option> | 49 | <option value="" selected disabled>Select Product</option> |
50 | <option ng-repeat="margin in marginList" value="{{margin}}">${{margin.papTotal | number : 4}} {{margin.productName}}</option> | 50 | <option ng-repeat="margin in marginList" value="{{margin}}">${{margin.papTotal | number : 4}} {{margin.productName}}</option> |
51 | </select> | 51 | </select> |
52 | </div> | 52 | </div> |
53 | <div class="clearfix"></div> | 53 | <div class="clearfix"></div> |
54 | </div> | 54 | </div> |
55 | 55 | ||
56 | </div> | 56 | </div> |
57 | <div class="clearfix"></div> | 57 | <div class="clearfix"></div> |
58 | <br/> | 58 | <br/> |
59 | 59 | ||
60 | 60 | ||
61 | <div class="col-xs-12"> | 61 | <div class="col-xs-12"> |
62 | 62 | ||
63 | <div class="col-md-6"> | 63 | <div class="col-md-6"> |
64 | <div class="pull-left" style="width: 110px;"> | 64 | <div class="pull-left" style="width: 110px;"> |
65 | <label class="new-input-label"><b>Aircraft</b></label> | 65 | <label class="new-input-label"><b>Aircraft</b></label> |
66 | </div> | 66 | </div> |
67 | <div class="pull-left" style="width: calc(100% - 110px);"> | 67 | <div class="pull-left" style="width: calc(100% - 110px);"> |
68 | <select class="form-control" ng-model="order.aircraftName" required> | 68 | <select class="form-control" ng-model="order.aircraftName" required> |
69 | <option selected disabled value="">Select Aircraft</option> | 69 | <option selected disabled value="">Select Aircraft</option> |
70 | <option ng-repeat="list in aircraftList" value="{{list}}">{{list.tail}}</option> | 70 | <option ng-repeat="list in aircraftList" value="{{list}}">{{list.tail}}</option> |
71 | </select> | 71 | </select> |
72 | </div> | 72 | </div> |
73 | <div class="clearfix"></div> | 73 | <div class="clearfix"></div> |
74 | </div> | 74 | </div> |
75 | <div class="col-md-6"> | 75 | <div class="col-md-6"> |
76 | <div class="pull-left" style="width: 110px;"> | 76 | <div class="pull-left" style="width: 110px;"> |
77 | <label class="new-input-label"><b>Volume</b></label> | 77 | <label class="new-input-label"><b>Volume</b></label> |
78 | </div> | 78 | </div> |
79 | <div class="pull-left" style="width: calc(100% - 110px);"> | 79 | <div class="pull-left" style="width: calc(100% - 110px);"> |
80 | <input type="text" ng-model="order.volume" ng-keyup="addTotal(order.priceQuote, order.volume)" class="form-control" placeholder="" required> | 80 | <input type="text" ng-model="order.volume" ng-keyup="addTotal(order.priceQuote, order.volume)" class="form-control" placeholder="" required> |
81 | </div> | 81 | </div> |
82 | <div class="clearfix"></div> | 82 | <div class="clearfix"></div> |
83 | </div> | 83 | </div> |
84 | 84 | ||
85 | </div> | 85 | </div> |
86 | <div class="clearfix"></div> | 86 | <div class="clearfix"></div> |
87 | <br/> | 87 | <br/> |
88 | 88 | ||
89 | <div class="col-xs-12"> | 89 | <div class="col-xs-12"> |
90 | 90 | ||
91 | <div class="col-md-6"> | 91 | <div class="col-md-6"> |
92 | <div class="pull-left" style="width: 110px;"> | 92 | <div class="pull-left" style="width: 110px;"> |
93 | <label class="new-input-label" style="margin-top: 25px;"><b>ETA</b></label> | 93 | <label class="new-input-label" style="margin-top: 25px;"><b>ETA</b></label> |
94 | </div> | 94 | </div> |
95 | <div class="pull-left" style="width: calc(100% - 110px);"> | 95 | <div class="pull-left" style="width: calc(100% - 110px);"> |
96 | <div style="width: 50%; float: left;"> | 96 | <div style="width: 50%; float: left;"> |
97 | Date | 97 | Date |
98 | <input type="text" style="width: 90%;" ng-model="order.upliftDate" class="form-control" placeholder="" datepicker required/> | 98 | <input type="text" style="width: 90%;" ng-model="order.upliftDate" class="form-control" placeholder="" datepicker required/> |
99 | </div> | 99 | </div> |
100 | <div style="width: 50%; float: left;"> | 100 | <div style="width: 50%; float: left;"> |
101 | Time | 101 | Time |
102 | <select class="form-control" ng-model="order.etaTime" style="width: 100%;" required> | 102 | <select class="form-control" ng-model="order.etaTime" style="width: 100%;" required> |
103 | <option ng-repeat="li in etaTimeList">{{li.time}}</option> | 103 | <option ng-repeat="li in etaTimeList">{{li.time}}</option> |
104 | </select> | 104 | </select> |
105 | 105 | ||
106 | </div> | 106 | </div> |
107 | </div> | 107 | </div> |
108 | <div class="clearfix"></div> | 108 | <div class="clearfix"></div> |
109 | </div> | 109 | </div> |
110 | 110 | ||
111 | <div class="col-md-6" style="margin-top: 22px;" ng-if ="order.status === 'invoiced'"> | 111 | <div class="col-md-6" style="margin-top: 22px;" ng-if ="order.status === 'invoiced'"> |
112 | <div class="pull-left" style="width: 110px;"> | 112 | <div class="pull-left" style="width: 110px;"> |
113 | <label class="new-input-label"><b>Invoiced</b></label> | 113 | <label class="new-input-label"><b>Invoiced</b></label> |
114 | <span style="margin-top: 6px; margin-right: 3px; float: right;">$</span> | 114 | <span style="margin-top: 6px; margin-right: 3px; float: right;">$</span> |
115 | </div> | 115 | </div> |
116 | <div class="pull-left" style="width: calc(100% - 110px);"> | 116 | <div class="pull-left" style="width: calc(100% - 110px);"> |
117 | <input type="text" ng-model="order.invoiced" class="form-control" placeholder=""> | 117 | <input type="text" ng-model="order.invoiced" class="form-control" placeholder=""> |
118 | </div> | 118 | </div> |
119 | <div class="clearfix"></div> | 119 | <div class="clearfix"></div> |
120 | </div> | 120 | </div> |
121 | </div> | 121 | </div> |
122 | <div class="clearfix"></div><br> | 122 | <div class="clearfix"></div><br> |
123 | 123 | ||
124 | 124 | ||
125 | <div class="col-xs-12"> | 125 | <div class="col-xs-12"> |
126 | 126 | ||
127 | <div class="col-md-6"> | 127 | <div class="col-md-6"> |
128 | <div class="pull-left" style="width: 110px;"> | 128 | <div class="pull-left" style="width: 110px;"> |
129 | <label class="new-input-label" style="margin-top: 25px;"><b>ETD</b></label> | 129 | <label class="new-input-label" style="margin-top: 25px;"><b>ETD</b></label> |
130 | </div> | 130 | </div> |
131 | <div class="pull-left" style="width: calc(100% - 110px);"> | 131 | <div class="pull-left" style="width: calc(100% - 110px);"> |
132 | <div style="width: 50%; float: left;"> | 132 | <div style="width: 50%; float: left;"> |
133 | Date | 133 | Date |
134 | <input type="text" style="width: 90%;" ng-model="order.departingDate" class="form-control" placeholder="" datepicker/> | 134 | <input type="text" style="width: 90%;" ng-model="order.departingDate" class="form-control" placeholder="" datepicker/> |
135 | </div> | 135 | </div> |
136 | <div style="width: 50%; float: left;"> | 136 | <div style="width: 50%; float: left;"> |
137 | Time | 137 | Time |
138 | <select class="form-control" ng-model="order.etdTime" style="width: 100%;"> | 138 | <select class="form-control" ng-model="order.etdTime" style="width: 100%;"> |
139 | <option ng-repeat="list in etdTimeList">{{list.time}}</option> | 139 | <option ng-repeat="list in etdTimeList">{{list.time}}</option> |
140 | </select> | 140 | </select> |
141 | </div> | 141 | </div> |
142 | </div> | 142 | </div> |
143 | <div class="clearfix"></div> | 143 | <div class="clearfix"></div> |
144 | </div> | 144 | </div> |
145 | 145 | ||
146 | <div class="col-md-6" style="margin-top: 22px;"> | 146 | <div class="col-md-6" style="margin-top: 22px;"> |
147 | <div class="pull-left" style="width: 110px;"> | 147 | <div class="pull-left" style="width: 110px;"> |
148 | <label class="new-input-label"><b>Total</b></label> | 148 | <label class="new-input-label"><b>Total</b></label> |
149 | <span style="margin-top: 6px; margin-right: 3px; float: right;">$</span> | 149 | <span style="margin-top: 6px; margin-right: 3px; float: right;">$</span> |
150 | </div> | 150 | </div> |
151 | <div class="pull-left" style="width: calc(100% - 110px);"> | 151 | <div class="pull-left" style="width: calc(100% - 110px);"> |
152 | <input type="text" class="form-control" disabled ng-model="order.total | number : 4" placeholder="" ng-value="{{order.volume * order.invoiced}}"> | 152 | <input type="text" class="form-control" disabled ng-model="order.total | number : 4" placeholder="" ng-value="{{order.volume * order.invoiced}}"> |
153 | </div> | 153 | </div> |
154 | </div> | 154 | </div> |
155 | </div> | 155 | </div> |
156 | <div class="clearfix"></div><br> | 156 | <div class="clearfix"></div><br> |
157 | 157 | ||
158 | 158 | ||
159 | <div class="col-xs-12"> | 159 | <div class="col-xs-12"> |
160 | 160 | ||
161 | <div class="col-md-6"> | 161 | <div class="col-md-6"> |
162 | <div class="pull-left" style="width: 110px;"> | 162 | <div class="pull-left" style="width: 110px;"> |
163 | <label class="new-input-label"><b>Fuel on</b></label> | 163 | <label class="new-input-label"><b>Fuel on</b></label> |
164 | </div> | 164 | </div> |
165 | <div class="pull-left" style="width: calc(100% - 110px);"> | 165 | <div class="pull-left" style="width: calc(100% - 110px);"> |
166 | <select class="form-control" ng-model="order.fuelOn" style="width: 100%;"> | 166 | <select class="form-control" ng-model="order.fuelOn" style="width: 100%;"> |
167 | <option value="" disabled selected hidden>Arrival</option> | 167 | <option value="" disabled selected hidden>Arrival</option> |
168 | <option value="Arrival">Arrival</option> | 168 | <option value="Arrival">Arrival</option> |
169 | <option value="Departure">Departure</option> | 169 | <option value="Departure">Departure</option> |
170 | </select> | 170 | </select> |
171 | </div> | 171 | </div> |
172 | <div class="clearfix"></div> | 172 | <div class="clearfix"></div> |
173 | </div> | 173 | </div> |
174 | 174 | ||
175 | <div class="col-md-6"> | 175 | <div class="col-md-6"> |
176 | <div class="pull-left" style="width: 110px;"> | 176 | <div class="pull-left" style="width: 110px;"> |
177 | <label class="new-input-label"><b>FBO Cost</b></label> | 177 | <label class="new-input-label"><b>FBO Cost</b></label> |
178 | <span style="margin-top: 6px; margin-right: 3px; float: right;">$</span> | 178 | <span style="margin-top: 6px; margin-right: 3px; float: right;">$</span> |
179 | </div> | 179 | </div> |
180 | <div class="pull-left" style="width: calc(100% - 110px);"> | 180 | <div class="pull-left" style="width: calc(100% - 110px);"> |
181 | <input type="text" disabled ng-model="order.fboCost" class="form-control" placeholder="0.0000" valid-number /> | 181 | <input type="text" disabled ng-model="order.fboCost" class="form-control" placeholder="0.0000" valid-number /> |
182 | </div> | 182 | </div> |
183 | <div class="clearfix"></div> | 183 | <div class="clearfix"></div> |
184 | </div> | 184 | </div> |
185 | </div> | 185 | </div> |
186 | <div class="clearfix"></div><br> | 186 | <div class="clearfix"></div><br> |
187 | 187 | ||
188 | <div class="col-xs-12"> | 188 | <div class="col-xs-12"> |
189 | <div class="col-md-6"> | 189 | <div class="col-md-6"> |
190 | <div class="pull-left" style="width: 110px;"> | 190 | <div class="pull-left" style="width: 110px;"> |
191 | <label class="new-input-label"><b>Source</b></label> | 191 | <label class="new-input-label"><b>Source</b></label> |
192 | </div> | 192 | </div> |
193 | <div class="pull-left" style="width: calc(100% - 110px);"> | 193 | <div class="pull-left" style="width: calc(100% - 110px);"> |
194 | <div style="font-weight: normal;" ng-if="baseTenant && !contractFuelVendor">Tenant/Base Customer</br></div> | 194 | <div style="font-weight: normal;" ng-if="baseTenant && !contractFuelVendor">Tenant/Base Customer</br></div> |
195 | <div style="font-weight: normal;" ng-if="contractFuelVendor && !baseTenant">CAA Member</div> | 195 | <div style="font-weight: normal;" ng-if="contractFuelVendor && !baseTenant">CAA Member</div> |
196 | <div style="font-weight: normal;" ng-if="contractFuelVendor && baseTenant">Tenant/CAA</div> | 196 | <div style="font-weight: normal;" ng-if="contractFuelVendor && baseTenant">Tenant/CAA</div> |
197 | <!-- <select class="form-control" ng-model="order.source" style="width: 100%;"> | 197 | <!-- <select class="form-control" ng-model="order.source" style="width: 100%;"> |
198 | <option value="" disabled selected hidden>Select Source</option> | 198 | <option value="" disabled selected hidden>Select Source</option> |
199 | <option value="Tenant">Tenant</option> | 199 | <option value="Tenant">Tenant</option> |
200 | <option value="CAA">CAA</option> | 200 | <option value="CAA">CAA</option> |
201 | <option value="Tenant/CAA">Tenant/CAA</option> | 201 | <option value="Tenant/CAA">Tenant/CAA</option> |
202 | </select> --> | 202 | </select> --> |
203 | </div> | 203 | </div> |
204 | <div class="clearfix"></div> | 204 | <div class="clearfix"></div> |
205 | </div> | 205 | </div> |
206 | </div> | 206 | </div> |
207 | <div class="clearfix"></div> | 207 | <div class="clearfix"></div> |
208 | <br/> | 208 | <br/> |
209 | <div class="col-xs-12"> | 209 | <div class="col-xs-12"> |
210 | 210 | ||
211 | 211 | ||
212 | <div class="col-md-6"> | 212 | <div class="col-md-6"> |
213 | <div class="pull-left" style="width: 110px;"> | 213 | <div class="pull-left" style="width: 110px;"> |
214 | <label class="new-input-label"><b>Certificate Type</b></label> | 214 | <label class="new-input-label"><b>Certificate Type</b></label> |
215 | </div> | 215 | </div> |
216 | <div class="pull-left" style="width: calc(100% - 110px);"> | 216 | <div class="pull-left" style="width: calc(100% - 110px);"> |
217 | <select class="form-control" disabled ng-model="order.certificateType" style="width: 100%;"> | 217 | <select class="form-control" disabled ng-model="order.certificateType" style="width: 100%;"> |
218 | <option value="" disabled selected hidden>Select...</option> | 218 | <option value="" disabled selected hidden>Select...</option> |
219 | <option value="corporate">Part 91 (Corporate)</option> | 219 | <option value="corporate">Part 91 (Corporate)</option> |
220 | <option value="charter">Part 135 (Charter)</option> | 220 | <option value="charter">Part 135 (Charter)</option> |
221 | <option value="scheduled">Part 121 (Scheduled)</option> | 221 | <option value="scheduled">Part 121 (Scheduled)</option> |
222 | <option value="military">Military</option> | 222 | <option value="military">Military</option> |
223 | <option value="government">Government</option> | 223 | <option value="government">Government</option> |
224 | </select> | 224 | </select> |
225 | </div> | 225 | </div> |
226 | <div class="clearfix"></div> | 226 | <div class="clearfix"></div> |
227 | </div> | 227 | </div> |
228 | <div class="col-md-6"> | 228 | <div class="col-md-6"> |
229 | <div class="pull-left" style="width: 110px;"> | 229 | <div class="pull-left" style="width: 110px;"> |
230 | <label class="new-input-label"><b>Status</b></label> | 230 | <label class="new-input-label"><b>Status</b></label> |
231 | </div> | 231 | </div> |
232 | <div class="pull-left" style="width: calc(100% - 110px);"> | 232 | <div class="pull-left" style="width: calc(100% - 110px);"> |
233 | <select class="form-control" ng-model="order.status" style="width: 100%;"> | 233 | <select class="form-control" ng-model="order.status" style="width: 100%;"> |
234 | <option value="" selected disabled hidden>pending</option> | 234 | <option value="" selected disabled hidden>pending</option> |
235 | <option value="pending">pending</option> | 235 | <option value="pending">pending</option> |
236 | <option value="invoiced">invoiced</option> | 236 | <option value="invoiced">invoiced</option> |
237 | <option value="paid">paid</option> | 237 | <option value="paid">paid</option> |
238 | <!-- <option value="cancelled">cancelled</option> | 238 | <!-- <option value="cancelled">cancelled</option> |
239 | <option value="archived">archived</option> --> | 239 | <option value="archived">archived</option> --> |
240 | </select> | 240 | </select> |
241 | </div> | 241 | </div> |
242 | <div class="clearfix"></div> | 242 | <div class="clearfix"></div> |
243 | </div> | 243 | </div> |
244 | </div> | 244 | </div> |
245 | <div class="clearfix"></div><br> | 245 | <div class="clearfix"></div><br> |
246 | 246 | ||
247 | <div class="customInputWrap text-right"> | 247 | <div class="customInputWrap text-right"> |
248 | <div class="col-xs-12"> | 248 | <div class="col-xs-12"> |
249 | <input type="cancel" value="Cancel" ng-click="cancelOrder()" class="btn btn-default" style="margin-right: 15px; width: 100px;"> | 249 | <input type="cancel" value="Cancel" ng-click="cancelOrder()" class="btn btn-default" style="margin-right: 15px; width: 100px;"> |
250 | <input type="submit" value="save" ng-click="dispatchFuel()" class="btn btn-primary" ng-disabled="orderform.$invalid"> | 250 | <input type="submit" value="save" ng-click="dispatchFuel()" class="btn btn-primary" ng-disabled="orderform.$invalid"> |
251 | </div> | 251 | </div> |
252 | <div class="clearfix"></div> | 252 | <div class="clearfix"></div> |
253 | </div> | 253 | </div> |
254 | 254 | ||
255 | </form> | 255 | </form> |
256 | </div> | 256 | </div> |
257 | </div> | 257 | </div> |
258 | </div> | 258 | </div> |
259 | </div> | 259 | </div> |
260 | </div> | 260 | </div> |
261 | 261 |
app/partials/fuelOrders/fuelOrders.controller.js
1 | 'use strict'; | 1 | 'use strict'; |
2 | 2 | ||
3 | angular.module('acufuel') | 3 | angular.module('acufuel') |
4 | 4 | ||
5 | .controller('fuelOrdersController', ['$scope', '$rootScope', '$uibModal', '$filter', '$http', 'NgTableParams','$stateParams','fuelOrdersService','CustomersService','ViewCompanyService', fuelOrdersController]); | 5 | .controller('fuelOrdersController', ['$scope', '$rootScope', '$uibModal', '$filter', '$http', 'NgTableParams','$stateParams','fuelOrdersService','CustomersService','ViewCompanyService', fuelOrdersController]); |
6 | 6 | ||
7 | function fuelOrdersController($scope, $rootScope, $uibModal, $filter, $http, NgTableParams,$stateParams,fuelOrdersService,CustomersService,ViewCompanyService) { | 7 | function fuelOrdersController($scope, $rootScope, $uibModal, $filter, $http, NgTableParams,$stateParams,fuelOrdersService,CustomersService,ViewCompanyService) { |
8 | 8 | ||
9 | $scope.showFuelOrderModal = false; | 9 | $scope.showFuelOrderModal = false; |
10 | $scope.optionSelected; | 10 | $scope.optionSelected; |
11 | $scope.orderdata = {}; | 11 | $scope.orderdata = {}; |
12 | $scope.showLoader = false; | 12 | $scope.showLoader = false; |
13 | $scope.jetShow = []; | 13 | $scope.jetShow = []; |
14 | $scope.marginShow = []; | 14 | $scope.marginShow = []; |
15 | 15 | ||
16 | $scope.jetShow[0] = true; | 16 | $scope.jetShow[0] = true; |
17 | $scope.marginShow[0] = true; | 17 | $scope.marginShow[0] = true; |
18 | 18 | ||
19 | $scope.data = {}; | 19 | $scope.data = {}; |
20 | $scope.order = {}; | 20 | $scope.order = {}; |
21 | $scope.dispatchOrder = {}; | 21 | $scope.dispatchOrder = {}; |
22 | $scope.dispatchOrder.fuelOrderList = []; | 22 | $scope.dispatchOrder.fuelOrderList = []; |
23 | $scope.defaultStatus = ''; | 23 | $scope.defaultStatus = ''; |
24 | $scope.statusFilterOptions = []; | 24 | $scope.statusFilterOptions = []; |
25 | $scope.statusFilterOptions.push({ | 25 | $scope.statusFilterOptions.push({ |
26 | 'id': '', 'title': 'Show All' | 26 | 'id': '', 'title': 'Show All' |
27 | },{ | 27 | },{ |
28 | 'id': 'pending', 'title': 'Pending' | 28 | 'id': 'pending', 'title': 'Pending' |
29 | },{ | 29 | },{ |
30 | 'id': 'invoiced', 'title': 'Invoiced' | 30 | 'id': 'invoiced', 'title': 'Invoiced' |
31 | },{ | 31 | },{ |
32 | 'id': 'paid', 'title': 'Paid' | 32 | 'id': 'paid', 'title': 'Paid' |
33 | },{ | 33 | },{ |
34 | 'id': 'cancelled', 'title': 'Cancelled' | 34 | 'id': 'cancelled', 'title': 'Cancelled' |
35 | },{ | 35 | },{ |
36 | 'id': 'archived', 'title': 'Archived' | 36 | 'id': 'archived', 'title': 'Archived' |
37 | } | 37 | } |
38 | 38 | ||
39 | ); | 39 | ); |
40 | 40 | ||
41 | if($stateParams.status =="paid"){ | 41 | if($stateParams.status =="paid"){ |
42 | $scope.defaultStatus = "paid"; | 42 | $scope.defaultStatus = "paid"; |
43 | } | 43 | } |
44 | 44 | ||
45 | getAllCompanies(); | 45 | getAllCompanies(); |
46 | 46 | ||
47 | function getAllCompanies(){ | 47 | function getAllCompanies(){ |
48 | fuelOrdersService.getAllCompanies().then(function(result) { | 48 | fuelOrdersService.getAllCompanies().then(function(result) { |
49 | $scope.companyList = result; | 49 | $scope.companyList = result; |
50 | for (var i = 0; i < $scope.companyList.length; i++) { | 50 | for (var i = 0; i < $scope.companyList.length; i++) { |
51 | if ($scope.companyList[i].companyContact != null) { | 51 | if ($scope.companyList[i].companyContact != null) { |
52 | if ($scope.companyList[i].companyContact.contactNumber != null || $scope.companyList[i].companyContact.contactNumber != undefined) { | 52 | if ($scope.companyList[i].companyContact.contactNumber != null || $scope.companyList[i].companyContact.contactNumber != undefined) { |
53 | $scope.companyList[i].newContactNumber = $scope.companyList[i].companyContact.contactNumber; | 53 | $scope.companyList[i].newContactNumber = $scope.companyList[i].companyContact.contactNumber; |
54 | } | 54 | } |
55 | } | 55 | } |
56 | if ($scope.companyList[i].primaryContact != null) { | 56 | if ($scope.companyList[i].primaryContact != null) { |
57 | if ($scope.companyList[i].primaryContact.firstName != null && $scope.companyList[i].primaryContact.lastName != null) { | 57 | if ($scope.companyList[i].primaryContact.firstName != null && $scope.companyList[i].primaryContact.lastName != null) { |
58 | $scope.companyList[i].primaryContactName = $scope.companyList[i].primaryContact.firstName + ' ' + $scope.companyList[i].primaryContact.lastName; | 58 | $scope.companyList[i].primaryContactName = $scope.companyList[i].primaryContact.firstName + ' ' + $scope.companyList[i].primaryContact.lastName; |
59 | } | 59 | } |
60 | } | 60 | } |
61 | if ($scope.companyList[i].margin != null) { | 61 | if ($scope.companyList[i].margin != null) { |
62 | if ($scope.companyList[i].margin.marginName != null) { | 62 | if ($scope.companyList[i].margin.marginName != null) { |
63 | $scope.companyList[i].masterMargin = $scope.companyList[i].margin.id; | 63 | $scope.companyList[i].masterMargin = $scope.companyList[i].margin.id; |
64 | } | 64 | } |
65 | } | 65 | } |
66 | } | 66 | } |
67 | $scope.displayCompanyList = new NgTableParams({ | 67 | $scope.displayCompanyList = new NgTableParams({ |
68 | page: 1, | 68 | page: 1, |
69 | count: 10, | 69 | count: 10, |
70 | }, { | 70 | }, { |
71 | data: $scope.companyList | 71 | data: $scope.companyList |
72 | }); | 72 | }); |
73 | $scope.showLoader = false; | 73 | $scope.showLoader = false; |
74 | }) | 74 | }) |
75 | } | 75 | } |
76 | 76 | ||
77 | 77 | ||
78 | $scope.userProfileId = JSON.parse(localStorage.getItem('userProfileId')) | 78 | $scope.userProfileId = JSON.parse(localStorage.getItem('userProfileId')) |
79 | $scope.reset2 = function(){ | 79 | $scope.reset2 = function(){ |
80 | $("input").val(""); | 80 | $("input").val(""); |
81 | $scope.removeMarginValidation(); | 81 | $scope.removeMarginValidation(); |
82 | } | 82 | } |
83 | 83 | ||
84 | function colourFunction() { | 84 | function colourFunction() { |
85 | var myselect = document.getElementById('colorfulSelectbox'), | 85 | var myselect = document.getElementById('colorfulSelectbox'), |
86 | colour = myselect.options[myselect.selectedIndex].className; | 86 | colour = myselect.options[myselect.selectedIndex].className; |
87 | myselect.style.background = colour; | 87 | myselect.style.background = colour; |
88 | myselect.blur(); | 88 | myselect.blur(); |
89 | } | 89 | } |
90 | 90 | ||
91 | 91 | ||
92 | /*setInterval(function(){ | 92 | /*setInterval(function(){ |
93 | colourFunction(); | 93 | colourFunction(); |
94 | }, 1)*/ | 94 | }, 1)*/ |
95 | 95 | ||
96 | 96 | ||
97 | $scope.attachmentFilterOptions = []; | 97 | $scope.attachmentFilterOptions = []; |
98 | $scope.attachmentFilterOptions.push({ | 98 | $scope.attachmentFilterOptions.push({ |
99 | 'id': '', 'title': 'Show All' | 99 | 'id': '', 'title': 'Show All' |
100 | },{ | 100 | },{ |
101 | 'id': '!null', 'title': 'Attachments' | 101 | 'id': '!null', 'title': 'Attachments' |
102 | },{ | 102 | },{ |
103 | 'id': 'null', 'title': 'No Attachments' | 103 | 'id': 'null', 'title': 'No Attachments' |
104 | } | 104 | } |
105 | ); | 105 | ); |
106 | 106 | ||
107 | // $(document).ready(function() { | 107 | // $(document).ready(function() { |
108 | // $scope.showLoader = true; | 108 | // $scope.showLoader = true; |
109 | // $('#example').DataTable(); | 109 | // $('#example').DataTable(); |
110 | // $scope.showLoader = false; | 110 | // $scope.showLoader = false; |
111 | // }); | 111 | // }); |
112 | 112 | ||
113 | $scope.getOrders = function() { | 113 | $scope.getOrders = function() { |
114 | fuelOrdersService.getOrders().then(function(result) { | 114 | fuelOrdersService.getOrders().then(function(result) { |
115 | $scope.orderdata = result; | 115 | $scope.orderdata = result; |
116 | for(var i=0 ; i < $scope.orderdata.length ; i++){ | 116 | for(var i=0 ; i < $scope.orderdata.length ; i++){ |
117 | $scope.orderdata[i].upliftDateS = new Date($scope.orderdata[i].upliftDate); | 117 | $scope.orderdata[i].upliftDateS = new Date($scope.orderdata[i].upliftDate); |
118 | $scope.orderdata[i].departingDateS = new Date($scope.orderdata[i].departingDate); | 118 | $scope.orderdata[i].departingDateS = new Date($scope.orderdata[i].departingDate); |
119 | $scope.orderdata[i].fuelingDate = new Date($scope.orderdata[i].fuelingDate); | 119 | $scope.orderdata[i].fuelingDate = new Date($scope.orderdata[i].fuelingDate); |
120 | 120 | ||
121 | var str = "" + ($scope.orderdata[i].upliftDateS.getMonth() + 1) + "/" + $scope.orderdata[i].upliftDateS.getDate() + "/" + $scope.orderdata[i].upliftDateS.getFullYear(); | 121 | var str = "" + ($scope.orderdata[i].upliftDateS.getMonth() + 1) + "/" + $scope.orderdata[i].upliftDateS.getDate() + "/" + $scope.orderdata[i].upliftDateS.getFullYear(); |
122 | var departingStr = "" + ($scope.orderdata[i].departingDateS.getMonth() + 1) + "/" + $scope.orderdata[i].departingDateS.getDate() + "/" + $scope.orderdata[i].departingDateS.getFullYear(); | 122 | var departingStr = "" + ($scope.orderdata[i].departingDateS.getMonth() + 1) + "/" + $scope.orderdata[i].departingDateS.getDate() + "/" + $scope.orderdata[i].departingDateS.getFullYear(); |
123 | // var fuelingDateStr = "" + ($scope.orderdata[i].fuelingDate.getMonth() + 1) + "/" + $scope.orderdata[i].fuelingDate.getDate() + "/" + $scope.orderdata[i].fuelingDate.getFullYear(); | 123 | // var fuelingDateStr = "" + ($scope.orderdata[i].fuelingDate.getMonth() + 1) + "/" + $scope.orderdata[i].fuelingDate.getDate() + "/" + $scope.orderdata[i].fuelingDate.getFullYear(); |
124 | $scope.orderdata[i].upliftDateString = str; | 124 | $scope.orderdata[i].upliftDateString = str; |
125 | $scope.orderdata[i].departingDateString = departingStr; | 125 | $scope.orderdata[i].departingDateString = departingStr; |
126 | // $scope.orderdata[i].fuelingDate = fuelingDateStr; | 126 | // $scope.orderdata[i].fuelingDate = fuelingDateStr; |
127 | 127 | ||
128 | 128 | ||
129 | } | 129 | } |
130 | console.log("==result===",$scope.orderdata) | 130 | console.log("==result===",$scope.orderdata) |
131 | 131 | ||
132 | $scope.displayFuelOrderList = new NgTableParams({ | 132 | $scope.displayFuelOrderList = new NgTableParams({ |
133 | page: 1, | 133 | page: 1, |
134 | count: 50, | 134 | count: 50, |
135 | }, { | 135 | }, { |
136 | data: $scope.orderdata | 136 | data: $scope.orderdata |
137 | }); | 137 | }); |
138 | $(document).ready(function(){ | 138 | $(document).ready(function(){ |
139 | function changeSelectboxBg(){ | 139 | function changeSelectboxBg(){ |
140 | setInterval(function(){ | 140 | setInterval(function(){ |
141 | if ($('.table select').is(':focus')) { | 141 | if ($('.table select').is(':focus')) { |
142 | 142 | ||
143 | }else{ | 143 | }else{ |
144 | var myselect = document.getElementsByClassName('colorfulSelectbox'); | 144 | var myselect = document.getElementsByClassName('colorfulSelectbox'); |
145 | 145 | ||
146 | for (var i = 0; i < myselect.length; i++) { | 146 | for (var i = 0; i < myselect.length; i++) { |
147 | var colourIndex = $(myselect[i]).prop('selectedIndex'); | 147 | var colourIndex = $(myselect[i]).prop('selectedIndex'); |
148 | colourIndex = colourIndex + 1; | 148 | colourIndex = colourIndex + 1; |
149 | var getColor = $('.colorfulSelectbox option:nth-child('+colourIndex+')').css('color'); | 149 | var getColor = $('.colorfulSelectbox option:nth-child('+colourIndex+')').css('color'); |
150 | $(myselect[i]).css('background-color', getColor); | 150 | $(myselect[i]).css('background-color', getColor); |
151 | myselect[i].blur(); | 151 | myselect[i].blur(); |
152 | } | 152 | } |
153 | } | 153 | } |
154 | }, 1000) | 154 | }, 1000) |
155 | } | 155 | } |
156 | changeSelectboxBg(); | 156 | changeSelectboxBg(); |
157 | console.log("=====$scope.displayFuelOrderList====",$scope.displayFuelOrderList) | 157 | console.log("=====$scope.displayFuelOrderList====",$scope.displayFuelOrderList) |
158 | 158 | ||
159 | /*$('.pagination , .recordCountSelect').click(function(){ | 159 | /*$('.pagination , .recordCountSelect').click(function(){ |
160 | changeSelectboxBg(); | 160 | changeSelectboxBg(); |
161 | }) | 161 | }) |
162 | $('.input-filter').keydown(function(){ | 162 | $('.input-filter').keydown(function(){ |
163 | console.log('function..........'); | 163 | console.log('function..........'); |
164 | changeSelectboxBg(); | 164 | changeSelectboxBg(); |
165 | })*/ | 165 | })*/ |
166 | }) | 166 | }) |
167 | }) | 167 | }) |
168 | } | 168 | } |
169 | 169 | ||
170 | $scope.getOrders(); | 170 | $scope.getOrders(); |
171 | $scope.optionSelected=''; | 171 | $scope.optionSelected=''; |
172 | $scope.onFWSelect = function() { | 172 | $scope.onFWSelect = function() { |
173 | if($scope.optionSelected == 'dt'){ | 173 | if($scope.optionSelected == 'dt'){ |
174 | $('#demo-modal-4').css('display', 'block'); | 174 | $('#demo-modal-4').css('display', 'block'); |
175 | $scope.optionSelected=''; | 175 | $scope.optionSelected=''; |
176 | 176 | ||
177 | } | 177 | } |
178 | if($scope.optionSelected == 'efo'){ | 178 | if($scope.optionSelected == 'efo'){ |
179 | $scope.showLoader = true; | 179 | $scope.showLoader = true; |
180 | var fileName = "orders.csv"; | 180 | var fileName = "orders.csv"; |
181 | var a = document.createElement("a"); | 181 | var a = document.createElement("a"); |
182 | document.body.appendChild(a); | 182 | document.body.appendChild(a); |
183 | fuelOrdersService.exportCompany().then(function(result) { | 183 | fuelOrdersService.exportCompany().then(function(result) { |
184 | var file = new Blob([result], {type: 'application/csv'}); | 184 | var file = new Blob([result], {type: 'application/csv'}); |
185 | var fileURL = URL.createObjectURL(file); | 185 | var fileURL = URL.createObjectURL(file); |
186 | a.href = fileURL; | 186 | a.href = fileURL; |
187 | a.download = fileName; | 187 | a.download = fileName; |
188 | a.click(); | 188 | a.click(); |
189 | $scope.showLoader = false; | 189 | $scope.showLoader = false; |
190 | $scope.optionSelected=''; | 190 | $scope.optionSelected=''; |
191 | }) | 191 | }) |
192 | } | 192 | } |
193 | } | 193 | } |
194 | $scope.attachmentrowid = "" | 194 | $scope.attachmentrowid = "" |
195 | 195 | ||
196 | 196 | ||
197 | $scope.attachment = function(id, value, url) { | 197 | $scope.attachment = function(id, value, url) { |
198 | $scope.attachmentrowid = id | 198 | $scope.attachmentrowid = id |
199 | if(value == 'uploadAttachment'){ | 199 | if(value == 'uploadAttachment'){ |
200 | $('#demo-modal-6').css('display', 'block'); | 200 | $('#demo-modal-6').css('display', 'block'); |
201 | }else if(value == 'viewAttachment'){ | 201 | }else if(value == 'viewAttachment'){ |
202 | var win = window.open(url, '_blank'); | 202 | var win = window.open(url, '_blank'); |
203 | win.focus(); | 203 | win.focus(); |
204 | }else if(value == 'deleteAttachment'){ | 204 | }else if(value == 'deleteAttachment'){ |
205 | $('#delete1').css('display', 'block'); | 205 | $('#delete1').css('display', 'block'); |
206 | } | 206 | } |
207 | } | 207 | } |
208 | 208 | ||
209 | $scope.cancelDeleteAttachment = function() { | 209 | $scope.cancelDeleteAttachment = function() { |
210 | $('#delete1').css('display', ''); | 210 | $('#delete1').css('display', ''); |
211 | } | 211 | } |
212 | 212 | ||
213 | $scope.deleteAttachment = function() { | 213 | $scope.deleteAttachment = function() { |
214 | $scope.showLoader = true; | 214 | $scope.showLoader = true; |
215 | fuelOrdersService.deleteAttachment($scope.attachmentrowid).then(function(result) { | 215 | fuelOrdersService.deleteAttachment($scope.attachmentrowid).then(function(result) { |
216 | 216 | ||
217 | if(result.success){ | 217 | if(result.success){ |
218 | toastr.success(''+result.success+'', { | 218 | toastr.success(''+result.success+'', { |
219 | closeButton: true | 219 | closeButton: true |
220 | }) | 220 | }) |
221 | } | 221 | } |
222 | }) | 222 | }) |
223 | $scope.showLoader = false; | 223 | $scope.showLoader = false; |
224 | $('#delete1').css('display', ''); | 224 | $('#delete1').css('display', ''); |
225 | } | 225 | } |
226 | 226 | ||
227 | $scope.saveUploadAttachment = function(attachmentData) { | 227 | $scope.saveUploadAttachment = function(attachmentData) { |
228 | $scope.showLoader = true; | 228 | $scope.showLoader = true; |
229 | $scope.data.media = attachmentData | 229 | $scope.data.media = attachmentData |
230 | $scope.data.id = $scope.attachmentrowid | 230 | $scope.data.id = $scope.attachmentrowid |
231 | fuelOrdersService.uploadAttachment($scope.data).then(function(result) { | 231 | fuelOrdersService.uploadAttachment($scope.data).then(function(result) { |
232 | if(result){ | 232 | if(result){ |
233 | toastr.success(''+"Upload Successful"+'', { | 233 | toastr.success(''+"Upload Successful"+'', { |
234 | closeButton: true | 234 | closeButton: true |
235 | }) | 235 | }) |
236 | } | 236 | } |
237 | 237 | ||
238 | }) | 238 | }) |
239 | $scope.showLoader = false; | 239 | $scope.showLoader = false; |
240 | $('#demo-modal-6').css('display', 'none'); | 240 | $('#demo-modal-6').css('display', 'none'); |
241 | } | 241 | } |
242 | 242 | ||
243 | $scope.cancelUploadAttachment = function() { | 243 | $scope.cancelUploadAttachment = function() { |
244 | $('#demo-modal-6').css('display', 'none'); | 244 | $('#demo-modal-6').css('display', 'none'); |
245 | } | 245 | } |
246 | 246 | ||
247 | $scope.editdata = {}; | 247 | $scope.editdata = {}; |
248 | 248 | ||
249 | 249 | ||
250 | $scope.editTableRow = function(rowData){ | 250 | $scope.editTableRow = function(rowData){ |
251 | //console.log('row data', rowData); | 251 | //console.log('row data', rowData); |
252 | $scope.editdata = rowData; | 252 | $scope.editdata = rowData; |
253 | $('#demo-modal-5').css('display', 'block'); | 253 | $('#demo-modal-5').css('display', 'block'); |
254 | } | 254 | } |
255 | 255 | ||
256 | $scope.updateTotal = function(value, valueOf){ | 256 | $scope.updateTotal = function(value, valueOf){ |
257 | if(valueOf == 'v'){ | 257 | if(valueOf == 'v'){ |
258 | $scope.editdata.total = value * $scope.editdata.invoiced | 258 | $scope.editdata.total = value * $scope.editdata.invoiced |
259 | }else if(valueOf == 'i'){ | 259 | }else if(valueOf == 'i'){ |
260 | $scope.editdata.total = $scope.editdata.requestedVolume * value | 260 | $scope.editdata.total = $scope.editdata.requestedVolume * value |
261 | } | 261 | } |
262 | } | 262 | } |
263 | 263 | ||
264 | $scope.setCost = function(cost){ | 264 | $scope.setCost = function(cost){ |
265 | if(cost != null) { | 265 | if(cost != null) { |
266 | var obj =JSON.parse(cost); | 266 | var obj =JSON.parse(cost); |
267 | $scope.order.fboCost = obj.cost; | 267 | $scope.order.fboCost = obj.cost; |
268 | } | 268 | } |
269 | 269 | ||
270 | } | 270 | } |
271 | 271 | ||
272 | $scope.addTotal = function(value, valueOf) { | 272 | $scope.addTotal = function(value, valueOf) { |
273 | if (value != undefined && valueOf != undefined) { | 273 | if (value != undefined && valueOf != undefined) { |
274 | value = JSON.parse(value) | 274 | value = JSON.parse(value) |
275 | $scope.order.total = Math.abs(value.papTotal) * valueOf; | 275 | $scope.order.total = Math.abs(value.papTotal) * valueOf; |
276 | } | 276 | } |
277 | } | 277 | } |
278 | 278 | ||
279 | $scope.addFuelData = function() { | 279 | $scope.addFuelData = function() { |
280 | $scope.showLoader = true; | 280 | $scope.showLoader = true; |
281 | $scope.fuelData = {}; | 281 | $scope.fuelData = {}; |
282 | $scope.fuelData.companyId = $scope.selectedCompanyId; | 282 | $scope.fuelData.companyId = $scope.selectedCompanyId; |
283 | 283 | ||
284 | $scope.fuelData.companyName = $scope.order.companyName; | 284 | $scope.fuelData.companyName = $scope.order.companyName; |
285 | var aircraftObj =JSON.parse($scope.order.aircraftName); | 285 | var aircraftObj =JSON.parse($scope.order.aircraftName); |
286 | $scope.fuelData.aircraftName = aircraftObj.tail; | 286 | $scope.fuelData.aircraftName = aircraftObj.tail; |
287 | $scope.fuelData.make = aircraftObj.make; | 287 | $scope.fuelData.make = aircraftObj.make; |
288 | $scope.fuelData.model = aircraftObj.model; | 288 | $scope.fuelData.model = aircraftObj.model; |
289 | // $scope.fuelData.fuelOn = $scope.order.fuelOn; | 289 | // $scope.fuelData.fuelOn = $scope.order.fuelOn; |
290 | $scope.fuelData.invoiced = $scope.order.invoiced; | 290 | $scope.fuelData.invoiced = $scope.order.invoiced; |
291 | $scope.fuelData.volume = $scope.order.volume; | 291 | $scope.fuelData.volume = $scope.order.volume; |
292 | // $scope.fuelData.source = $scope.order.source; | 292 | // $scope.fuelData.source = $scope.order.source; |
293 | 293 | ||
294 | $scope.fuelData.total = $scope.order.total; | 294 | $scope.fuelData.total = $scope.order.total; |
295 | //tier no use | 295 | //tier no use |
296 | $scope.fuelData.tierBreak = $scope.order.tierBreak; | 296 | $scope.fuelData.tierBreak = $scope.order.tierBreak; |
297 | 297 | ||
298 | var obj =JSON.parse($scope.order.priceQuote); | 298 | var obj =JSON.parse($scope.order.priceQuote); |
299 | $scope.fuelData.priceQuote = obj.papTotal; | 299 | $scope.fuelData.priceQuote = obj.papTotal; |
300 | $scope.fuelData.fboCost = obj.cost; | 300 | $scope.fuelData.fboCost = obj.cost; |
301 | $scope.fuelData.productName = obj.productName; | 301 | $scope.fuelData.productName = obj.productName; |
302 | 302 | ||
303 | $scope.fuelData.etaTime = $scope.order.etaTime; | 303 | $scope.fuelData.etaTime = $scope.order.etaTime; |
304 | $scope.fuelData.etdTime = $scope.order.etdTime; | 304 | $scope.fuelData.etdTime = $scope.order.etdTime; |
305 | $scope.fuelData.certificateType = $scope.order.certificateType; | 305 | $scope.fuelData.certificateType = $scope.order.certificateType; |
306 | var currentDate = new Date(); | 306 | var currentDate = new Date(); |
307 | var hours = currentDate.getHours(); | 307 | var hours = currentDate.getHours(); |
308 | var min = currentDate.getMinutes(); | 308 | var min = currentDate.getMinutes(); |
309 | var sec = currentDate.getSeconds(); | 309 | var sec = currentDate.getSeconds(); |
310 | if ($scope.order.upliftDate != '') { | 310 | if ($scope.order.upliftDate != '') { |
311 | $scope.order.upliftDate = $scope.order.upliftDate + ' ' + hours + ':' + min + ':' + sec; | 311 | $scope.order.upliftDate = $scope.order.upliftDate + ' ' + hours + ':' + min + ':' + sec; |
312 | $scope.order.upliftDate = new Date($scope.order.upliftDate); | 312 | $scope.order.upliftDate = new Date($scope.order.upliftDate); |
313 | $scope.fuelData.upliftDate = $scope.order.upliftDate.getTime(); | 313 | $scope.fuelData.upliftDate = $scope.order.upliftDate.getTime(); |
314 | } | 314 | } |
315 | 315 | ||
316 | 316 | ||
317 | if ($scope.order.departingDate != '') { | 317 | if ($scope.order.departingDate != '') { |
318 | $scope.order.departingDate = $scope.order.departingDate + ' ' + hours + ':' + min + ':' + sec; | 318 | $scope.order.departingDate = $scope.order.departingDate + ' ' + hours + ':' + min + ':' + sec; |
319 | $scope.order.departingDate = new Date($scope.order.departingDate); | 319 | $scope.order.departingDate = new Date($scope.order.departingDate); |
320 | $scope.fuelData.departingDate = $scope.order.departingDate.getTime(); | 320 | $scope.fuelData.departingDate = $scope.order.departingDate.getTime(); |
321 | } | 321 | } |
322 | 322 | ||
323 | if($scope.order.status === null || $scope.order.status === undefined){ | 323 | if($scope.order.status === null || $scope.order.status === undefined){ |
324 | 324 | ||
325 | $scope.fuelData.status = "pending"; //default status | 325 | $scope.fuelData.status = "pending"; //default status |
326 | 326 | ||
327 | }else { | 327 | }else { |
328 | 328 | ||
329 | $scope.fuelData.status = $scope.order.status; | 329 | $scope.fuelData.status = $scope.order.status; |
330 | } | 330 | } |
331 | 331 | ||
332 | if($scope.fuelData.fuelOn === null || $scope.fuelData.fuelOn ===undefined){ | 332 | if($scope.fuelData.fuelOn === null || $scope.fuelData.fuelOn ===undefined){ |
333 | $scope.fuelData.fuelOn = "Arrival"; //default fuelon | 333 | $scope.fuelData.fuelOn = "Arrival"; //default fuelon |
334 | }else { | 334 | }else { |
335 | $scope.fuelData.fuelOn = $scope.order.fuelOn ; | 335 | $scope.fuelData.fuelOn = $scope.order.fuelOn ; |
336 | } | 336 | } |
337 | 337 | ||
338 | if($scope.baseTenant && $scope.contractFuelVendor ){ | 338 | if($scope.baseTenant && $scope.contractFuelVendor ){ |
339 | $scope.fuelData.source = "Tenant/CAA" ; | 339 | $scope.fuelData.source = "Tenant/CAA" ; |
340 | }else if($scope.baseTenant) | 340 | }else if($scope.baseTenant) |
341 | { | 341 | { |
342 | $scope.fuelData.source = "Tenant/Base Customer"; | 342 | $scope.fuelData.source = "Tenant/Base Customer"; |
343 | }else if($scope.contractFuelVendor){ | 343 | }else if($scope.contractFuelVendor){ |
344 | $scope.fuelData.source = "CAA Member"; | 344 | $scope.fuelData.source = "CAA Member"; |
345 | } | 345 | } |
346 | 346 | ||
347 | $scope.dispatchOrder.fuelOrderList.push($scope.fuelData); | 347 | $scope.dispatchOrder.fuelOrderList.push($scope.fuelData); |
348 | // console.log("=====$scope.fueldata======",$scope.fuelData) | 348 | // console.log("=====$scope.fueldata======",$scope.fuelData) |
349 | fuelOrdersService.dispathFuelOrder($scope.dispatchOrder).then(function(result) { | 349 | fuelOrdersService.dispathFuelOrder($scope.dispatchOrder).then(function(result) { |
350 | $scope.showLoader = false; | 350 | $scope.showLoader = false; |
351 | $scope.order = {}; | 351 | $scope.order = {}; |
352 | $scope.dispatchOrder.fuelOrderList = []; | 352 | $scope.dispatchOrder.fuelOrderList = []; |
353 | $scope.fuelData.source=''; | ||
354 | $scope.baseTenant=false; | ||
355 | $scope.contractFuelVendor=false; | ||
353 | $('#demo-modal-4').css('display', ''); | 356 | $('#demo-modal-4').css('display', ''); |
354 | $scope.getOrders(); | 357 | $scope.getOrders(); |
355 | toastr.success('Fuel Order Dispatched Successfully', { | 358 | toastr.success('Fuel Order Dispatched Successfully', { |
356 | closeButton: true | 359 | closeButton: true |
357 | }) | 360 | }) |
358 | }) | 361 | }) |
359 | 362 | ||
360 | 363 | ||
361 | } | 364 | } |
362 | 365 | ||
363 | $scope.updateStatus = function(row, status) { | 366 | $scope.updateStatus = function(row, status) { |
364 | 367 | ||
365 | $scope.showLoader = true; | 368 | $scope.showLoader = true; |
366 | $scope.fuelData = {}; | 369 | $scope.fuelData = {}; |
367 | $scope.fuelData.aircraftName = row.aircraftName | 370 | $scope.fuelData.aircraftName = row.aircraftName |
368 | $scope.fuelData.companyName = row.companyName | 371 | $scope.fuelData.companyName = row.companyName |
369 | $scope.fuelData.departingDate = row.departingDate | 372 | $scope.fuelData.departingDate = row.departingDate |
370 | $scope.fuelData.fboCost = row.fboCost | 373 | $scope.fuelData.fboCost = row.fboCost |
371 | $scope.fuelData.id = row.id | 374 | $scope.fuelData.id = row.id |
372 | $scope.fuelData.invoiced = row.invoiced | 375 | $scope.fuelData.invoiced = row.invoiced |
373 | $scope.fuelData.priceQuote = row.priceQuote | 376 | $scope.fuelData.priceQuote = row.priceQuote |
374 | $scope.fuelData.volume = row.requestedVolume | 377 | $scope.fuelData.volume = row.requestedVolume |
375 | $scope.fuelData.source = row.source | 378 | $scope.fuelData.source = row.source |
376 | $scope.fuelData.status = status | 379 | $scope.fuelData.status = status |
377 | $scope.fuelData.tierBreak = row.tierBreak | 380 | $scope.fuelData.tierBreak = row.tierBreak |
378 | $scope.fuelData.total = row.total | 381 | $scope.fuelData.total = row.total |
379 | $scope.fuelData.upliftDate = row.upliftDate | 382 | $scope.fuelData.upliftDate = row.upliftDate |
380 | 383 | ||
381 | $scope.dispatchOrder.fuelOrderList.push($scope.fuelData); | 384 | $scope.dispatchOrder.fuelOrderList.push($scope.fuelData); |
382 | fuelOrdersService.updateFuelOrder($scope.dispatchOrder).then(function(result) { | 385 | fuelOrdersService.updateFuelOrder($scope.dispatchOrder).then(function(result) { |
383 | $scope.showLoader = false; | 386 | $scope.showLoader = false; |
384 | $scope.editdata = {}; | 387 | $scope.editdata = {}; |
385 | $scope.fuelData = {}; | 388 | $scope.fuelData = {}; |
386 | $scope.dispatchOrder.fuelOrderList = []; | 389 | $scope.dispatchOrder.fuelOrderList = []; |
387 | $('#demo-modal-5').css('display', ''); | 390 | $('#demo-modal-5').css('display', ''); |
388 | $scope.getOrders(); | 391 | $scope.getOrders(); |
389 | toastr.success('Fuel Order Updated Successfully', { | 392 | toastr.success('Fuel Order Updated Successfully', { |
390 | closeButton: true | 393 | closeButton: true |
391 | }); | 394 | }); |
392 | }) | 395 | }) |
393 | 396 | ||
394 | } | 397 | } |
395 | $scope.fuelData = {}; | 398 | $scope.fuelData = {}; |
396 | $scope.updateData = function() { | 399 | $scope.updateData = function() { |
397 | if($scope.editdata.etaTime != null && $scope.editdata.etdTime != null){ | 400 | if($scope.editdata.etaTime != null && $scope.editdata.etdTime != null){ |
398 | $scope.showLoader = true; | 401 | $scope.showLoader = true; |
399 | $scope.fuelData.aircraftName = $scope.editdata.aircraftName; | 402 | $scope.fuelData.aircraftName = $scope.editdata.aircraftName; |
400 | $scope.fuelData.companyName = $scope.editdata.companyName; | 403 | $scope.fuelData.companyName = $scope.editdata.companyName; |
401 | $scope.fuelData.fboCost = $scope.editdata.fboCost; | 404 | $scope.fuelData.fboCost = $scope.editdata.fboCost; |
402 | $scope.fuelData.id = $scope.editdata.id; | 405 | $scope.fuelData.id = $scope.editdata.id; |
403 | $scope.fuelData.invoiced = $scope.editdata.invoiced; | 406 | $scope.fuelData.invoiced = $scope.editdata.invoiced; |
404 | $scope.fuelData.priceQuote = $scope.editdata.priceQuote; | 407 | $scope.fuelData.priceQuote = $scope.editdata.priceQuote; |
405 | $scope.fuelData.volume = $scope.editdata.requestedVolume; | 408 | $scope.fuelData.volume = $scope.editdata.requestedVolume; |
406 | $scope.fuelData.source = $scope.editdata.source; | 409 | $scope.fuelData.source = $scope.editdata.source; |
407 | $scope.fuelData.status = $scope.editdata.status; | 410 | $scope.fuelData.status = $scope.editdata.status; |
408 | $scope.fuelData.tierBreak = $scope.editdata.tierBreak; | 411 | $scope.fuelData.tierBreak = $scope.editdata.tierBreak; |
409 | $scope.fuelData.total = $scope.editdata.total; | 412 | $scope.fuelData.total = $scope.editdata.total; |
410 | 413 | ||
411 | var currentDate = new Date(); | 414 | var currentDate = new Date(); |
412 | var hours = currentDate.getHours(); | 415 | var hours = currentDate.getHours(); |
413 | var min = currentDate.getMinutes(); | 416 | var min = currentDate.getMinutes(); |
414 | var sec = currentDate.getSeconds(); | 417 | var sec = currentDate.getSeconds(); |
415 | $scope.editdata.upliftDateString = $scope.editdata.upliftDateString + ' ' + hours + ':' + min + ':' + sec; | 418 | $scope.editdata.upliftDateString = $scope.editdata.upliftDateString + ' ' + hours + ':' + min + ':' + sec; |
416 | $scope.editdata.upliftDateString = new Date($scope.editdata.upliftDateString); | 419 | $scope.editdata.upliftDateString = new Date($scope.editdata.upliftDateString); |
417 | $scope.editdata.upliftDateString = $scope.editdata.upliftDateString.getTime(); | 420 | $scope.editdata.upliftDateString = $scope.editdata.upliftDateString.getTime(); |
418 | 421 | ||
419 | $scope.editdata.departingDateString = $scope.editdata.departingDateString + ' ' + hours + ':' + min + ':' + sec; | 422 | $scope.editdata.departingDateString = $scope.editdata.departingDateString + ' ' + hours + ':' + min + ':' + sec; |
420 | $scope.editdata.departingDateString = new Date($scope.editdata.departingDateString); | 423 | $scope.editdata.departingDateString = new Date($scope.editdata.departingDateString); |
421 | $scope.editdata.departingDateString = $scope.editdata.departingDateString.getTime(); | 424 | $scope.editdata.departingDateString = $scope.editdata.departingDateString.getTime(); |
422 | 425 | ||
423 | $scope.fuelData.upliftDate = $scope.editdata.upliftDateString; | 426 | $scope.fuelData.upliftDate = $scope.editdata.upliftDateString; |
424 | $scope.fuelData.departingDate = $scope.editdata.departingDateString; | 427 | $scope.fuelData.departingDate = $scope.editdata.departingDateString; |
425 | $scope.fuelData.productName = $scope.editdata.productName; | 428 | $scope.fuelData.productName = $scope.editdata.productName; |
426 | /*$scope.fuelData.etaTime = $scope.editdata.etaTime.toLocaleTimeString(); | 429 | /*$scope.fuelData.etaTime = $scope.editdata.etaTime.toLocaleTimeString(); |
427 | $scope.fuelData.etdTime = $scope.editdata.etdTime.toLocaleTimeString();*/ | 430 | $scope.fuelData.etdTime = $scope.editdata.etdTime.toLocaleTimeString();*/ |
428 | $scope.fuelData.etaTime = $scope.editdata.etaTime; | 431 | $scope.fuelData.etaTime = $scope.editdata.etaTime; |
429 | $scope.fuelData.etdTime = $scope.editdata.etdTime; | 432 | $scope.fuelData.etdTime = $scope.editdata.etdTime; |
430 | $scope.fuelData.certificateType = $scope.editdata.certificateType; | 433 | $scope.fuelData.certificateType = $scope.editdata.certificateType; |
431 | // $scope.fuelData.fuelOn = $scope.editdata.fuelOn; | 434 | // $scope.fuelData.fuelOn = $scope.editdata.fuelOn; |
432 | if($scope.fuelData.fuelOn === null || $scope.fuelData.fuelOn ===undefined){ | 435 | if($scope.fuelData.fuelOn === null || $scope.fuelData.fuelOn ===undefined){ |
433 | $scope.fuelData.fuelOn = "Arrival"; //default fuelon | 436 | $scope.fuelData.fuelOn = "Arrival"; //default fuelon |
434 | }else { | 437 | }else { |
435 | $scope.fuelData.fuelOn = $scope.editdata.fuelOn ; | 438 | $scope.fuelData.fuelOn = $scope.editdata.fuelOn ; |
436 | } | 439 | } |
437 | $scope.dispatchOrder.fuelOrderList.push($scope.fuelData); | 440 | $scope.dispatchOrder.fuelOrderList.push($scope.fuelData); |
438 | fuelOrdersService.updateFuelOrder($scope.dispatchOrder).then(function(result) { | 441 | fuelOrdersService.updateFuelOrder($scope.dispatchOrder).then(function(result) { |
439 | $scope.showLoader = false; | 442 | $scope.showLoader = false; |
440 | $scope.editdata = {}; | 443 | $scope.editdata = {}; |
441 | $('#demo-modal-5').css('display', ''); | 444 | $('#demo-modal-5').css('display', ''); |
442 | $scope.getOrders(); | 445 | $scope.getOrders(); |
443 | toastr.success('Fuel Order Updated Successfully', { | 446 | toastr.success('Fuel Order Updated Successfully', { |
444 | closeButton: true | 447 | closeButton: true |
445 | }) | 448 | }) |
446 | }) | 449 | }) |
447 | 450 | ||
448 | 451 | ||
449 | 452 | ||
450 | 453 | ||
451 | }else | 454 | }else |
452 | { | 455 | { |
453 | toastr.error('Please select Arrival Time and Departure time both.', { | 456 | toastr.error('Please select Arrival Time and Departure time both.', { |
454 | closeButton: true | 457 | closeButton: true |
455 | }) | 458 | }) |
456 | } | 459 | } |
457 | 460 | ||
458 | } | 461 | } |
459 | 462 | ||
460 | $scope.getAircraft = function(company){ | 463 | $scope.getAircraft = function(company){ |
461 | 464 | ||
462 | $scope.selectedCompanyName = company; | 465 | $scope.selectedCompanyName = company; |
463 | //$scope.showLoader = true; | 466 | //$scope.showLoader = true; |
464 | for (var i = 0; i < $scope.companyList.length; i++) { | 467 | for (var i = 0; i < $scope.companyList.length; i++) { |
465 | if ($scope.companyList[i].companyName == company) { | 468 | if ($scope.companyList[i].companyName == company) { |
466 | $scope.order.certificateType = $scope.companyList[i].certificateType; | 469 | $scope.order.certificateType = $scope.companyList[i].certificateType; |
467 | $scope.baseTenant = $scope.companyList[i].baseTenant; | 470 | $scope.baseTenant = $scope.companyList[i].baseTenant; |
468 | $scope.contractFuelVendor = $scope.companyList[i].contractFuelVendor; | 471 | $scope.contractFuelVendor = $scope.companyList[i].contractFuelVendor; |
469 | $scope.fuelerlinxCustomer = $scope.companyList[i].fuelerlinxCustomer; | 472 | $scope.fuelerlinxCustomer = $scope.companyList[i].fuelerlinxCustomer; |
470 | 473 | ||
471 | if($scope.companyList[i].margin != null && $scope.companyList[i].marginAVGAS != null){ | 474 | if($scope.companyList[i].margin != null && $scope.companyList[i].marginAVGAS != null){ |
472 | fuelOrdersService.getFuelCost($scope.companyList[i].id).then(function(margins) { | 475 | fuelOrdersService.getFuelCost($scope.companyList[i].id).then(function(margins) { |
473 | $scope.marginList = margins; | 476 | $scope.marginList = margins; |
474 | }) | 477 | }) |
475 | } else if ($scope.companyList[i].margin != null || $scope.companyList[i].marginAVGAS == null) { | 478 | } else if ($scope.companyList[i].margin != null || $scope.companyList[i].marginAVGAS == null) { |
476 | fuelOrdersService.getATypeFuelPricing($scope.companyList[i].id).then(function(margins) { | 479 | fuelOrdersService.getATypeFuelPricing($scope.companyList[i].id).then(function(margins) { |
477 | $scope.marginList = margins; | 480 | $scope.marginList = margins; |
478 | }) | 481 | }) |
479 | } else if ($scope.companyList[i].margin == null || $scope.companyList[i].marginAVGAS != null) { | 482 | } else if ($scope.companyList[i].margin == null || $scope.companyList[i].marginAVGAS != null) { |
480 | fuelOrdersService.getVTypeFuelPricing($scope.companyList[i].id).then(function(margins) { | 483 | fuelOrdersService.getVTypeFuelPricing($scope.companyList[i].id).then(function(margins) { |
481 | $scope.marginList = margins; | 484 | $scope.marginList = margins; |
482 | }) | 485 | }) |
483 | } | 486 | } |
484 | $scope.selectedCompanyId = $scope.companyList[i].id; | 487 | $scope.selectedCompanyId = $scope.companyList[i].id; |
485 | $scope.marginId = $scope.companyList[i].margin.id; | 488 | $scope.marginId = $scope.companyList[i].margin.id; |
486 | if ($scope.selectedCompanyId != '') { | 489 | if ($scope.selectedCompanyId != '') { |
487 | fuelOrdersService.getAircraft($scope.selectedCompanyId).then(function(aircraft) { | 490 | fuelOrdersService.getAircraft($scope.selectedCompanyId).then(function(aircraft) { |
488 | $scope.aircraftList = aircraft; | 491 | $scope.aircraftList = aircraft; |
489 | }) | 492 | }) |
490 | } | 493 | } |
491 | if ($scope.marginId != '') { | 494 | if ($scope.marginId != '') { |
492 | fuelOrdersService.getJetTiers($scope.marginId).then(function(tiers) { | 495 | fuelOrdersService.getJetTiers($scope.marginId).then(function(tiers) { |
493 | $scope.tierList = tiers; | 496 | $scope.tierList = tiers; |
494 | // $scope.showLoader = false; | 497 | // $scope.showLoader = false; |
495 | }) | 498 | }) |
496 | }else{ | 499 | }else{ |
497 | // $scope.showLoader = false; | 500 | // $scope.showLoader = false; |
498 | } | 501 | } |
499 | } | 502 | } |
500 | } | 503 | } |
501 | 504 | ||
502 | } | 505 | } |
503 | 506 | ||
504 | 507 | ||
505 | 508 | ||
506 | $scope.cancelData = function() { | 509 | $scope.cancelData = function() { |
507 | $('#demo-modal-4').css('display', ''); | 510 | $('#demo-modal-4').css('display', ''); |
508 | } | 511 | } |
509 | $scope.canceleditdata = function() { | 512 | $scope.canceleditdata = function() { |
510 | $('#demo-modal-5').css('display', ''); | 513 | $('#demo-modal-5').css('display', ''); |
511 | } | 514 | } |
512 | 515 | ||
513 | 516 | ||
514 | 517 | ||
515 | $scope.companyList = {}; | 518 | $scope.companyList = {}; |
516 | 519 | ||
517 | fuelOrdersService.getAllCompanies().then(function(result) { | 520 | fuelOrdersService.getAllCompanies().then(function(result) { |
518 | $scope.showLoader = true; | 521 | $scope.showLoader = true; |
519 | $scope.companyList = result; | 522 | $scope.companyList = result; |
520 | $scope.showLoader = false; | 523 | $scope.showLoader = false; |
521 | }) | 524 | }) |
522 | 525 | ||
523 | /*Add a company services API used from customersService */ | 526 | /*Add a company services API used from customersService */ |
524 | getCompanyName(); | 527 | getCompanyName(); |
525 | function getCompanyName(){ | 528 | function getCompanyName(){ |
526 | CustomersService.getCompanyName().then(function(result) { | 529 | CustomersService.getCompanyName().then(function(result) { |
527 | $scope.showLoader = true; | 530 | $scope.showLoader = true; |
528 | $scope.compNameList = result; | 531 | $scope.compNameList = result; |
529 | $scope.showLoader = false; | 532 | $scope.showLoader = false; |
530 | }) | 533 | }) |
531 | } | 534 | } |
532 | 535 | ||
533 | $scope.marginFilterOptions = []; | 536 | $scope.marginFilterOptions = []; |
534 | CustomersService.getJetMargin($scope.userProfileId).then(function(result) { | 537 | CustomersService.getJetMargin($scope.userProfileId).then(function(result) { |
535 | $scope.showLoader = true; | 538 | $scope.showLoader = true; |
536 | $scope.jetMarginList = result; | 539 | $scope.jetMarginList = result; |
537 | $scope.marginFilterOptions.push({ | 540 | $scope.marginFilterOptions.push({ |
538 | 'id': '', 'title': 'Show All' | 541 | 'id': '', 'title': 'Show All' |
539 | }); | 542 | }); |
540 | for (var i = 0; i < result.length; i++) { | 543 | for (var i = 0; i < result.length; i++) { |
541 | $scope.marginFilterOptions.push({ | 544 | $scope.marginFilterOptions.push({ |
542 | 'id': result[i].id, | 545 | 'id': result[i].id, |
543 | 'title': result[i].marginName | 546 | 'title': result[i].marginName |
544 | }) | 547 | }) |
545 | } | 548 | } |
546 | $scope.showLoader = false; | 549 | $scope.showLoader = false; |
547 | }) | 550 | }) |
548 | 551 | ||
549 | CustomersService.getAvgMargin($scope.userProfileId).then(function(result) { | 552 | CustomersService.getAvgMargin($scope.userProfileId).then(function(result) { |
550 | $scope.avgsMarginList = result; | 553 | $scope.avgsMarginList = result; |
551 | }) | 554 | }) |
552 | 555 | ||
553 | $scope.showCompanyError = false; | 556 | $scope.showCompanyError = false; |
554 | $scope.showMarginError = false; | 557 | $scope.showMarginError = false; |
555 | 558 | ||
556 | $scope.removeValidation = function(){ | 559 | $scope.removeValidation = function(){ |
557 | $scope.showCompanyError = false; | 560 | $scope.showCompanyError = false; |
558 | $('.companyNameInput').removeClass('customErrorInput'); | 561 | $('.companyNameInput').removeClass('customErrorInput'); |
559 | if($scope.data.companyName == 'undefined' || $scope.data.companyName == '') { | 562 | if($scope.data.companyName == 'undefined' || $scope.data.companyName == '') { |
560 | $('.companyNameInput').addClass('customErrorInput'); | 563 | $('.companyNameInput').addClass('customErrorInput'); |
561 | $scope.showCompanyError = true; | 564 | $scope.showCompanyError = true; |
562 | } | 565 | } |
563 | } | 566 | } |
564 | 567 | ||
565 | $scope.removeMarginValidation = function(){ | 568 | $scope.removeMarginValidation = function(){ |
566 | $scope.showMarginError = false; | 569 | $scope.showMarginError = false; |
567 | $('.marginSelectBox').removeClass('customErrorInput'); | 570 | $('.marginSelectBox').removeClass('customErrorInput'); |
568 | } | 571 | } |
569 | 572 | ||
570 | getData(); | 573 | getData(); |
571 | function getData(){ | 574 | function getData(){ |
572 | $scope.showLoader = true; | 575 | $scope.showLoader = true; |
573 | CustomersService.getAircraftMake().then(function(result) { | 576 | CustomersService.getAircraftMake().then(function(result) { |
574 | $scope.aircraftMakeList = result; | 577 | $scope.aircraftMakeList = result; |
575 | $scope.showLoader = false; | 578 | $scope.showLoader = false; |
576 | }) | 579 | }) |
577 | } | 580 | } |
578 | var companyData; | 581 | var companyData; |
579 | $scope.addFirstData = function(sel, step){ | 582 | $scope.addFirstData = function(sel, step){ |
580 | $scope.showLoader = true; | 583 | $scope.showLoader = true; |
581 | if($scope.data.companyName == undefined){ | 584 | if($scope.data.companyName == undefined){ |
582 | $scope.showCompanyError = true; | 585 | $scope.showCompanyError = true; |
583 | $('.companyNameInput').addClass('customErrorInput'); | 586 | $('.companyNameInput').addClass('customErrorInput'); |
584 | }else if($scope.data.masterMargin == undefined){ | 587 | }else if($scope.data.masterMargin == undefined){ |
585 | $scope.showMarginError = true; | 588 | $scope.showMarginError = true; |
586 | $('.marginSelectBox').addClass('customErrorInput'); | 589 | $('.marginSelectBox').addClass('customErrorInput'); |
587 | }else{ | 590 | }else{ |
588 | $scope.aircraftDetails = [{ | 591 | $scope.aircraftDetails = [{ |
589 | 'tail':'', | 592 | 'tail':'', |
590 | 'make': '', | 593 | 'make': '', |
591 | 'model': '', | 594 | 'model': '', |
592 | 'sizeId' : '', | 595 | 'sizeId' : '', |
593 | 'marginId': $scope.data.masterMargin, | 596 | 'marginId': $scope.data.masterMargin, |
594 | 'avgasMarginId': $scope.data.avgasMargin | 597 | 'avgasMarginId': $scope.data.avgasMargin |
595 | }]; | 598 | }]; |
596 | 599 | ||
597 | $(sel).trigger('next.m.' + step); | 600 | $(sel).trigger('next.m.' + step); |
598 | getData(); | 601 | getData(); |
599 | } | 602 | } |
600 | $scope.showLoader = false; | 603 | $scope.showLoader = false; |
601 | } | 604 | } |
602 | $scope.addNew = function(){ | 605 | $scope.addNew = function(){ |
603 | $scope.showLoader = true; | 606 | $scope.showLoader = true; |
604 | $scope.aircraftDetails.push({ | 607 | $scope.aircraftDetails.push({ |
605 | 'tail':'', | 608 | 'tail':'', |
606 | 'make': '', | 609 | 'make': '', |
607 | 'model': '', | 610 | 'model': '', |
608 | 'sizeId' : '', | 611 | 'sizeId' : '', |
609 | 'marginId': $scope.data.masterMargin, | 612 | 'marginId': $scope.data.masterMargin, |
610 | 'avgasMarginId': $scope.data.avgasMargin | 613 | 'avgasMarginId': $scope.data.avgasMargin |
611 | }); | 614 | }); |
612 | $scope.showLoader = false; | 615 | $scope.showLoader = false; |
613 | }; | 616 | }; |
614 | 617 | ||
615 | $scope.aircraft = {}; | 618 | $scope.aircraft = {}; |
616 | $scope.getModal = function(makeId, index){ | 619 | $scope.getModal = function(makeId, index){ |
617 | $scope.showLoader = true; | 620 | $scope.showLoader = true; |
618 | $scope.aircraft.make = makeId; | 621 | $scope.aircraft.make = makeId; |
619 | CustomersService.getModal($scope.aircraft.make).then(function(result) { | 622 | CustomersService.getModal($scope.aircraft.make).then(function(result) { |
620 | $scope.showLoader = false; | 623 | $scope.showLoader = false; |
621 | $scope.aircraftDetails[index].aircraftModalList = result; | 624 | $scope.aircraftDetails[index].aircraftModalList = result; |
622 | //$scope.aircraftDetails[index].model = $scope.aircraftModalList[0]; | 625 | //$scope.aircraftDetails[index].model = $scope.aircraftModalList[0]; |
623 | }) | 626 | }) |
624 | } | 627 | } |
625 | 628 | ||
626 | $scope.getSize = function(model, index){ | 629 | $scope.getSize = function(model, index){ |
627 | $scope.showLoader = true; | 630 | $scope.showLoader = true; |
628 | CustomersService.getAircraftSize($scope.aircraft.make, model).then(function(result) { | 631 | CustomersService.getAircraftSize($scope.aircraft.make, model).then(function(result) { |
629 | $scope.showLoader = false; | 632 | $scope.showLoader = false; |
630 | $scope.aircraftDetails[index].aircraftSizeList = result; | 633 | $scope.aircraftDetails[index].aircraftSizeList = result; |
631 | //$scope.aircraftDetails[index].size = $scope.aircraftSizeList[0]; | 634 | //$scope.aircraftDetails[index].size = $scope.aircraftSizeList[0]; |
632 | }) | 635 | }) |
633 | } | 636 | } |
634 | 637 | ||
635 | $scope.aircraftListData = {}; | 638 | $scope.aircraftListData = {}; |
636 | $scope.addData = []; | 639 | $scope.addData = []; |
637 | 640 | ||
638 | $scope.saveCompanyData = function(){ | 641 | $scope.saveCompanyData = function(){ |
639 | CustomersService.addCompany($scope.data).then(function(result) { | 642 | CustomersService.addCompany($scope.data).then(function(result) { |
640 | $scope.accountId = result; | 643 | $scope.accountId = result; |
641 | $scope.aircraft.accountId = $scope.accountId; | 644 | $scope.aircraft.accountId = $scope.accountId; |
642 | 645 | ||
643 | for(var i=0; i<$scope.aircraftDetails.length;i++){ | 646 | for(var i=0; i<$scope.aircraftDetails.length;i++){ |
644 | $scope.addData.push({ | 647 | $scope.addData.push({ |
645 | 'tail': $scope.aircraftDetails[i].tail, | 648 | 'tail': $scope.aircraftDetails[i].tail, |
646 | 'make': $scope.aircraftDetails[i].make, | 649 | 'make': $scope.aircraftDetails[i].make, |
647 | 'model': $scope.aircraftDetails[i].model, | 650 | 'model': $scope.aircraftDetails[i].model, |
648 | 'sizeId' : $scope.aircraftDetails[i].sizeId, | 651 | 'sizeId' : $scope.aircraftDetails[i].sizeId, |
649 | 'marginId': $scope.aircraftDetails[i].marginId, | 652 | 'marginId': $scope.aircraftDetails[i].marginId, |
650 | 'avgasMarginId': $scope.aircraftDetails[i].avgasMarginId | 653 | 'avgasMarginId': $scope.aircraftDetails[i].avgasMarginId |
651 | }); | 654 | }); |
652 | } | 655 | } |
653 | $scope.aircraftListData.aircraftList = $scope.addData; | 656 | $scope.aircraftListData.aircraftList = $scope.addData; |
654 | $scope.aircraftListData.accountId = $scope.aircraft.accountId; | 657 | $scope.aircraftListData.accountId = $scope.aircraft.accountId; |
655 | 658 | ||
656 | if($scope.aircraftListData.aircraftList[0].tail == "" || $scope.aircraftListData.aircraftList[0].make == null || $scope.aircraftListData.aircraftList[0].model == null){ | 659 | if($scope.aircraftListData.aircraftList[0].tail == "" || $scope.aircraftListData.aircraftList[0].make == null || $scope.aircraftListData.aircraftList[0].model == null){ |
657 | $scope.aircraftListData.aircraftList = []; | 660 | $scope.aircraftListData.aircraftList = []; |
658 | } | 661 | } |
659 | 662 | ||
660 | CustomersService.addAircraft($scope.aircraftListData).then(function(result) { | 663 | CustomersService.addAircraft($scope.aircraftListData).then(function(result) { |
661 | 664 | ||
662 | if(result != null && result.success){ | 665 | if(result != null && result.success){ |
663 | toastr.success(''+result.success+'', { | 666 | toastr.success(''+result.success+'', { |
664 | closeButton: true | 667 | closeButton: true |
665 | }) | 668 | }) |
666 | $('#demo-modal-3').modal('hide'); | 669 | $('#demo-modal-3').modal('hide'); |
667 | getAllCompanies(); | 670 | getAllCompanies(); |
668 | }else{ | 671 | }else{ |
669 | toastr.error(''+result.statusText+'', { | 672 | toastr.error(''+result.statusText+'', { |
670 | closeButton: true | 673 | closeButton: true |
671 | }) | 674 | }) |
672 | } | 675 | } |
673 | }); | 676 | }); |
674 | 677 | ||
675 | }) | 678 | }) |
676 | 679 | ||
677 | 680 | ||
678 | } | 681 | } |
679 | 682 | ||
680 | $scope.checkJetWithTail = function(tail, index){ | 683 | $scope.checkJetWithTail = function(tail, index){ |
681 | 684 | ||
682 | ViewCompanyService.checkJetType(tail).then(function(result) { | 685 | ViewCompanyService.checkJetType(tail).then(function(result) { |
683 | if(result.jetA == "true"){ | 686 | if(result.jetA == "true"){ |
684 | $scope.jetShow[index] = false; | 687 | $scope.jetShow[index] = false; |
685 | $scope.marginShow[index] = true; | 688 | $scope.marginShow[index] = true; |
686 | }else{ | 689 | }else{ |
687 | $scope.jetShow[index] = true; | 690 | $scope.jetShow[index] = true; |
688 | $scope.marginShow[index] = false; | 691 | $scope.marginShow[index] = false; |
689 | } | 692 | } |
690 | }) | 693 | }) |
691 | } | 694 | } |
692 | 695 | ||
693 | $scope.etaTimeList=[]; | 696 | $scope.etaTimeList=[]; |
694 | $scope.etdTimeList =[]; | 697 | $scope.etdTimeList =[]; |
695 | 698 | ||
696 | $scope.sourceList = [{source:"Direct Jet-A"},{source:"Direct AVGAS 100LL"}]; | 699 | $scope.sourceList = [{source:"Direct Jet-A"},{source:"Direct AVGAS 100LL"}]; |
697 | $scope.etaTimeList = [{time:"12:00 AM"},{time:"12:30 AM"},{time:"01:00 AM"},{time:"01:30 AM"},{time:"02:00 AM"},{time:"02:30 AM"},{time:"03:00 AM"},{time:"03:30 AM"}, | 700 | $scope.etaTimeList = [{time:"12:00 AM"},{time:"12:30 AM"},{time:"01:00 AM"},{time:"01:30 AM"},{time:"02:00 AM"},{time:"02:30 AM"},{time:"03:00 AM"},{time:"03:30 AM"}, |
698 | {time:"04:00 AM"},{time:"04:30 AM"},{time:"05:00 AM"},{time:"05:30 AM"},{time:"06:00 AM"},{time:"06:30 AM"},{time:"07:00 AM"},{time:"07:30 AM"}, | 701 | {time:"04:00 AM"},{time:"04:30 AM"},{time:"05:00 AM"},{time:"05:30 AM"},{time:"06:00 AM"},{time:"06:30 AM"},{time:"07:00 AM"},{time:"07:30 AM"}, |
699 | {time:"08:00 AM"},{time:"08:30 AM"},{time:"09:00 AM"},{time:"09:30 AM"},{time:"10:00 AM"},{time:"10:30 AM"},{time:"11:00 AM"},{time:"11:30 AM"}, | 702 | {time:"08:00 AM"},{time:"08:30 AM"},{time:"09:00 AM"},{time:"09:30 AM"},{time:"10:00 AM"},{time:"10:30 AM"},{time:"11:00 AM"},{time:"11:30 AM"}, |
700 | {time:"12:00 PM"},{time:"12:30 PM"},{time:"01:00 PM"},{time:"01:30 PM"},{time:"02:00 PM"},{time:"02:30 PM"},{time:"03:00 PM"},{time:"03:30 PM"}, | 703 | {time:"12:00 PM"},{time:"12:30 PM"},{time:"01:00 PM"},{time:"01:30 PM"},{time:"02:00 PM"},{time:"02:30 PM"},{time:"03:00 PM"},{time:"03:30 PM"}, |
701 | {time:"04:00 PM"},{time:"04:30 PM"},{time:"05:00 PM"},{time:"05:30 PM"},{time:"06:00 PM"},{time:"06:30 PM"},{time:"07:00 PM"},{time:"07:30 PM"}, | 704 | {time:"04:00 PM"},{time:"04:30 PM"},{time:"05:00 PM"},{time:"05:30 PM"},{time:"06:00 PM"},{time:"06:30 PM"},{time:"07:00 PM"},{time:"07:30 PM"}, |
702 | {time:"08:00 PM"},{time:"08:30 PM"},{time:"9:00 PM"},{time:"09:30 PM"},{time:"10:00 PM"},{time:"10:30 PM"},{time:"11:00 PM"},{time:"11:30 PM"},]; | 705 | {time:"08:00 PM"},{time:"08:30 PM"},{time:"9:00 PM"},{time:"09:30 PM"},{time:"10:00 PM"},{time:"10:30 PM"},{time:"11:00 PM"},{time:"11:30 PM"},]; |
703 | 706 | ||
704 | $scope.etdTimeList = [{time:"12:00 AM"},{time:"12:30 AM"},{time:"01:00 AM"},{time:"01:30 AM"},{time:"02:00 AM"},{time:"02:30 AM"},{time:"03:00 AM"},{time:"03:30 AM"}, | 707 | $scope.etdTimeList = [{time:"12:00 AM"},{time:"12:30 AM"},{time:"01:00 AM"},{time:"01:30 AM"},{time:"02:00 AM"},{time:"02:30 AM"},{time:"03:00 AM"},{time:"03:30 AM"}, |
705 | {time:"04:00 AM"},{time:"04:30 AM"},{time:"05:00 AM"},{time:"05:30 AM"},{time:"06:00 AM"},{time:"06:30 AM"},{time:"07:00 AM"},{time:"07:30 AM"}, | 708 | {time:"04:00 AM"},{time:"04:30 AM"},{time:"05:00 AM"},{time:"05:30 AM"},{time:"06:00 AM"},{time:"06:30 AM"},{time:"07:00 AM"},{time:"07:30 AM"}, |
706 | {time:"08:00 AM"},{time:"08:30 AM"},{time:"09:00 AM"},{time:"09:30 AM"},{time:"10:00 AM"},{time:"10:30 AM"},{time:"11:00 AM"},{time:"11:30 AM"}, | 709 | {time:"08:00 AM"},{time:"08:30 AM"},{time:"09:00 AM"},{time:"09:30 AM"},{time:"10:00 AM"},{time:"10:30 AM"},{time:"11:00 AM"},{time:"11:30 AM"}, |
707 | {time:"12:00 PM"},{time:"12:30 PM"},{time:"01:00 PM"},{time:"01:30 PM"},{time:"02:00 PM"},{time:"02:30 PM"},{time:"03:00 PM"},{time:"03:30 PM"}, | 710 | {time:"12:00 PM"},{time:"12:30 PM"},{time:"01:00 PM"},{time:"01:30 PM"},{time:"02:00 PM"},{time:"02:30 PM"},{time:"03:00 PM"},{time:"03:30 PM"}, |
708 | {time:"04:00 PM"},{time:"04:30 PM"},{time:"05:00 PM"},{time:"05:30 PM"},{time:"06:00 PM"},{time:"06:30 PM"},{time:"07:00 PM"},{time:"07:30 PM"}, | 711 | {time:"04:00 PM"},{time:"04:30 PM"},{time:"05:00 PM"},{time:"05:30 PM"},{time:"06:00 PM"},{time:"06:30 PM"},{time:"07:00 PM"},{time:"07:30 PM"}, |
709 | {time:"08:00 PM"},{time:"08:30 PM"},{time:"9:00 PM"},{time:"09:30 PM"},{time:"10:00 PM"},{time:"10:30 PM"},{time:"11:00 PM"},{time:"11:30 PM"},]; | 712 | {time:"08:00 PM"},{time:"08:30 PM"},{time:"9:00 PM"},{time:"09:30 PM"},{time:"10:00 PM"},{time:"10:30 PM"},{time:"11:00 PM"},{time:"11:30 PM"},]; |
710 | 713 | ||
711 | $scope.data = {}; | 714 | $scope.data = {}; |
712 | 715 | ||
713 | 716 | ||
714 | 717 | ||
715 | } | 718 | } |