Commit bb8754ed9eba1e53b405c524e8f8704d170f8afc

Authored by Kuldeep Arora
1 parent 2a564fddba
Exists in master

pagination fuel transactions

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="">&laquo;</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="">&#8230;</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="">&raquo;</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="">&laquo;</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="">&#8230;</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="">&raquo;</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="">&laquo;</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="">&#8230;</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="">&raquo;</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="">&laquo;</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="">&#8230;</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="">&raquo;</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 }