PageSourceSearch

https://www.rabbsconstructionprojects.com/assets/modules2/Commitments/app.js?v=20260925.1

js rabbsconstructionprojects.com collected 2026-09-28 01:49:33 UTC 177,461 bytes, 2 lines download raw bytes

1function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function _regeneratorRuntime(){"use strict";_regeneratorRuntime=function(){return a};var a={},t=Object.prototype,d=t.hasOwnProperty,e="function"==typeof Symbol?Symbol:{},s=e.iterator||"@@iterator",i=e.asyncIterator||"@@asyncIterator",n=e.toStringTag||"@@toStringTag";function o(t,e,i){return Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{o({},"")}catch(t){o=function(t,e,i){return t[e]=i}}function r(t,e,i,n){var o,a,r,c,s=e&&e.prototype instanceof u?e:u,l=Object.create(s.prototype),d=new I(n||[]);return l._invoke=(o=t,a=i,r=d,c="suspendedStart",function(t,e){if("executing"===c)throw new Error("Generator is already running");if("completed"===c){if("throw"===t)throw e;return Q()}for(r.method=t,r.arg=e;;){var i=r.delegate;if(i){var n=C(i,r);if(n){if(n===h)continue;return n}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===c)throw c="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);c="executing";var s=m(o,a,r);if("normal"===s.type){if(c=r.done?"completed":"suspendedYield",s.arg===h)continue;return{value:s.arg,done:r.done}}"throw"===s.type&&(c="completed",r.method="throw",r.arg=s.arg)}}),l}function m(t,e,i){try{return{type:"normal",arg:t.call(e,i)}}catch(t){return{type:"throw",arg:t}}}a.wrap=r;var h={};function u(){}function c(){}function l(){}var p={};o(p,s,function(){return this});var g=Object.getPrototypeOf,f=g&&g(g(J([])));f&&f!==t&&d.call(f,s)&&(p=f);var v=l.prototype=u.prototype=Object.create(p);function P(t){["next","throw","return"].forEach(function(e){o(t,e,function(t){return this._invoke(e,t)})})}function b(c,l){var e;this._invoke=function(i,n){function t(){return new l(function(t,e){!function e(t,i,n,s){var o=m(c[t],c,i);if("throw"!==o.type){var a=o.arg,r=a.value;return r&&"object"==_typeof(r)&&d.call(r,"__await")?l.resolve(r.__await).then(function(t){e("next",t,n,s)},function(t){e("throw",t,n,s)}):l.resolve(r).then(function(t){a.value=t,n(a)},function(t){return e("throw",t,n,s)})}s(o.arg)}(i,n,t,e)})}return e=e?e.then(t,t):t()}}function C(t,e){var i=t.iterator[e.method];if(void 0===i){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=void 0,C(t,e),"throw"===e.method))return h;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return h}var n=m(i,t.iterator,e.arg);if("throw"===n.type)return e.method="throw",e.arg=n.arg,e.delegate=null,h;var s=n.arg;return s?s.done?(e[t.resultName]=s.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,h):s:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,h)}function w(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function y(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(w,this),this.reset(!0)}function J(e){if(e){var t=e[s];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var i=-1,n=function t(){for(;++i<e.length;)if(d.call(e,i))return t.value=e[i],t.done=!1,t;return t.value=void 0,t.done=!0,t};return n.next=n}}return{next:Q}}function Q(){return{value:void 0,done:!0}}return o(v,"constructor",c.prototype=l),o(l,"constructor",c),c.displayName=o(l,n,"GeneratorFunction"),a.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===c||"GeneratorFunction"===(e.displayName||e.name))},a.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,l):(t.__proto__=l,o(t,n,"GeneratorFunction")),t.prototype=Object.create(v),t},a.awrap=function(t){return{__await:t}},P(b.prototype),o(b.prototype,i,function(){return this}),a.AsyncIterator=b,a.async=function(t,e,i,n,s){void 0===s&&(s=Prom
1ise);var o=new b(r(t,e,i,n),s);return a.isGeneratorFunction(e)?o:o.next().then(function(t){return t.done?t.value:o.next()})},P(v),o(v,n,"Generator"),o(v,s,function(){return this}),o(v,"toString",function(){return"[object Generator]"}),a.keys=function(i){var n=[];for(var t in i)n.push(t);return n.reverse(),function t(){for(;n.length;){var e=n.pop();if(e in i)return t.value=e,t.done=!1,t}return t.done=!0,t}},a.values=J,I.prototype={constructor:I,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(y),!t)for(var e in this)"t"===e.charAt(0)&&d.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(i){if(this.done)throw i;var n=this;function t(t,e){return o.type="throw",o.arg=i,n.next=t,e&&(n.method="next",n.arg=void 0),!!e}for(var e=this.tryEntries.length-1;0<=e;--e){var s=this.tryEntries[e],o=s.completion;if("root"===s.tryLoc)return t("end");if(s.tryLoc<=this.prev){var a=d.call(s,"catchLoc"),r=d.call(s,"finallyLoc");if(a&&r){if(this.prev<s.catchLoc)return t(s.catchLoc,!0);if(this.prev<s.finallyLoc)return t(s.finallyLoc)}else if(a){if(this.prev<s.catchLoc)return t(s.catchLoc,!0)}else{if(!r)throw new Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return t(s.finallyLoc)}}}},abrupt:function(t,e){for(var i=this.tryEntries.length-1;0<=i;--i){var n=this.tryEntries[i];if(n.tryLoc<=this.prev&&d.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var s=n;break}}s&&("break"===t||"continue"===t)&&s.tryLoc<=e&&e<=s.finallyLoc&&(s=null);var o=s?s.completion:{};return o.type=t,o.arg=e,s?(this.method="next",this.next=s.finallyLoc,h):this.complete(o)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),h},finish:function(t){for(var e=this.tryEntries.length-1;0<=e;--e){var i=this.tryEntries[e];if(i.finallyLoc===t)return this.complete(i.completion,i.afterLoc),y(i),h}},catch:function(t){for(var e=this.tryEntries.length-1;0<=e;--e){var i=this.tryEntries[e];if(i.tryLoc===t){var n=i.completion;if("throw"===n.type){var s=n.arg;y(i)}return s}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,i){return this.delegate={iterator:J(t),resultName:e,nextLoc:i},"next"===this.method&&(this.arg=void 0),h}},a}function asyncGeneratorStep(t,e,i,n,s,o,a){try{var r=t[o](a),c=r.value}catch(t){return void i(t)}r.done?e(c):Promise.resolve(c).then(n,s)}function _asyncToGenerator(r){return function(){var t=this,a=arguments;return new Promise(function(e,i){var n=r.apply(t,a);function s(t){asyncGeneratorStep(n,e,i,s,o,"next",t)}function o(t){asyncGeneratorStep(n,e,i,s,o,"throw",t)}s(void 0)})}}PJQ.collections.commitments=PJQ.collections.commitments?PJQ.collections.commitments:{},PJQ.models.commitments=PJQ.models.commitments?PJQ.models.commitments:{},PJQ.views.commitments=PJQ.views.commitments?PJQ.views.commitments:{},PJQ.modules.commitments={routes:[{route:"projects/:projectId/commitments",name:"commitments",callback:function(t){PJQ.modules.projectWall.initProjectNavigator(parseInt(t),"commitments")}},{route:"projects/:projectId/commitments/:commitmentId",name:"commitment",callback:function(t,e){PJQ.modules.projectWall.initProjectNavigator(parseInt(t),"commitments",{commitmentId:parseInt(e)})}},{route:"projects/:projectId/commitments/changeorders",name:"commitmentchangeorders",callback:function(t){PJQ.modules.projectWall.initProjectNavigator(parseInt(t),"commitments",{view:"changeorders"})}},{route:"projects/:projectId/commitmentchangeorders",name:"commitmentchangeorders",callback:function(t){PJQ.modules.projectWall.initProjectNavigator(parseInt(t),"commitments",{view:"changeorders"})}},{route:"projects/:projectId/commitmentchangeorders/:changeOrderId",name:"commitmentchangeorder",callback:function(t,e){PJQ.modules.projectWall.initProjectNavigator(parseInt(t),"commitments",{changeOrderId:parseInt(e)})}},{route:"projects/:projectId/commitments/invoices",name:"payableinvoices",callback:function(t){PJQ.modules.projectWall.initProjectNavigator(parseInt(t),"commitments",{view:"invoices"})}},{route:"projects/:projectId/payableinvoices",name:"payableinvoices",callback:function(t){PJQ.modules.projectWall.initProjectNavigator(parseInt(t),"commitments",{view:"invoices"})}},{route:"projects/:projectId/payableinvoices/:invoiceId",name:"payableinvoice",callback:function(t,e,
1i){if(null!=PJQ.app.session.user){var n=null;i&&0<_.size(i.trim())&&(n=PJQ.helpers.urlHelpers.queryStringToObject(i));var s=n?n.response:null;PJQ.modules.projectWall.initProjectNavigator(parseInt(t),"commitments",{invoiceId:parseInt(e),inviteResponse:s})}else PJQ.app.router.signInNavigate({cacheRoute:!0})}}]},PJQ.app.addRoutes(PJQ.modules.commitments.routes),PJQ.views.commitments.BaseDataTable=PJQ.views.dataTables.DataTable.extend({defaults:{language:{zeroRecords:"No Results Available"},isHideSearch:!0,dom:'<"top"p<"clear">>rt<"bottom"p<"clear">>'},events:{"click .btn-copy-phone":"copyPhone","click .btn-copy-fax":"copyPhone","click .btn-copy-cell":"copyPhone","click .btn-copy-email":"copyEmail"},beforeDataTableRender:function(){if(this.options.rowCallback=function(t,e){},this.options.childDataTables=[],this.options.contextMenuOptions={actions:this.getContextMenuItems(),isHideNoActions:!0},null==this.options.onRowDoubleClick&&(this.options.onRowDoubleClick=_.bind(function(t){t.data()&&this.editRow(t)},this)),this.options.settings){0!==this.options.settings.rowsPerPage&&-1===this.options.view.indexOf("-")?this.options.pageLength=this.options.settings.rowsPerPage:this.options.pageLength=2147483646,"sortOrder"!==this.options.settings.orderBy&&(0===_.size(this.options.settings.columns)?0<_.size(this.options.settings.columnsDefault)&&(this.options.settings.orderBy=this.options.settings.columnsDefault[0]):-1===this.options.settings.columns.indexOf(this.options.settings.orderBy)&&(this.options.settings.orderBy=this.options.settings.columns[0])),_.each(this.getColumns(!1,this.options.view),_.bind(function(t,e){t.columnData===this.options.settings.orderBy&&(this.options.order=[[e,this.options.settings.orderAscending?"asc":"desc"]])},this));this.options.colReorder={fixedColumnsLeft:0,realtime:!1}}this.options.createdRow=_.bind(this.createdRow,this),"function"==typeof this.options.beforeDataTableRender&&this.options.beforeDataTableRender()},orderByChanged:function(){},afterDataTableRenderChild:function(){},getRowChildTable:function(t){},getRowChildData:function(t){},setRowStyle:function(t,e,i){},getContextMenuItems:function(){},editRow:function(t){},statusChanged:function(t){},getColumns:function(){},cleanup:function(){this.undelegateEvents(),$(this.el).empty()},getIsRootView:function(){return-1===this.options.view.indexOf("-")},createdRow:function(t,e,i){}}),PJQ.views.commitments.ChangeOrderDataTable=PJQ.views.dataTables.DataTable.extend({defaults:{language:{emptyTable:"No Change Orders have been created yet",zeroRecords:"No Change Orders matched the search criteria"},subTemplates:{header:new PJQ.templating.Template(PJQ.constants.modules.COMMITMENTS,"data-table-header-change-orders")},toggleRowClass:".change-order-toggle-row"},events:{"click .view-commitment":"viewCommitmentClicked"},beforeDataTableRender:function(){this.options.pageLength=this.options.settings?this.options.settings.rowsPerPage:10},getDefaultFilter:function(){return 0<_.size(this.options.statusIds)?this.options.statusIds:this.options.userSettings.get("defaultStatusFilter")},afterSearch:function(){"function"==typeof this.options.afterSearch&&this.options.afterSearch()},afterHeaderRender:function(){new PJQ.inputs.Selectpicker({el:this.$(".change-orders-status-filter"),defaultValue:this.getDefaultFilter(),isIntChoices:!0,isMultiple:!0,noneSelectedText:"No Filters",onChange:_.bind(function(t){this.setFilter(PJQ.constants.commitments.changeOrderFilterType.STATUS_FILTER,t)},this)}),this.setFilter(PJQ.constants.commitments.changeOrderFilterType.STATUS_FILTER,this.getDefaultFilter())},getFilterData:function(){var e=this.getFilter(PJQ.constants.commitments.changeOrderFilterType.STATUS_FILTER);return 0===_.size(e)?this.options.data:_.filter(this.options.data,function(t){return 0===_.size(e)||_.contains(e,t.get("statusId"))})},getColumns:function(){var s=this,t=0<arguments.length&&void 0!==arguments[0]&&arguments[0];this.options.canViewCommitments=PJQ.app.session.project.hasPermission("commitments.canView");var e=[],i=["status","commitment","contractedContact.companyName","number","changeReason","description","contractDate","invoicedDate","dueDate","createdOn","amount","markupAmount","taxAmount","grandTotal"];return this.options.customFields&&_.each(this.options.customFields.models,_.bind(function(t){i.push("fieldValue"+t.get("fieldNumber"))},this)),t||(i=this.options.settings&&0<_.size(this.options.settings.columns)?this.options.settings.columns:this.options.settings&&this.options.settings.columnsDefault?this.options.settings.columnsDefault:i,e.push({columnData:"childData",data:null,title:"",width:"20px",orderable:!1,searchable:!1,defaultContent:"",render:function(t,e,
1i){if(!s.options.isAdmin)return"";var n=i.get("externalObject");return null==n?"":PJQ.helpers.erp.getERPBadge(n.status,n)}})),_.each(i,_.bind(function(t){switch(t){case"status":e.push({columnData:"status",data:"attributes.statusId",title:"Status",width:"100px",render:_.bind(function(t,e,i){return PJQ.constants.commitments.changeOrderStatusNames[i.get("statusId")]},this)});break;case"commitment":e.push({columnData:"commitment",title:"Commitment",data:"attributes.commitmentNumber",orderable:!0,render:_.bind(function(t,e,i){return"sort"===e||"type"===e?i.get("commitmentNumber"):this.options.canViewCommitments?'<a class="view-commitment" href="javascript:void(0)" data-id="'+i.get("commitmentId")+'">'+i.get("commitmentNumber")+"</a>":t},this)});break;case"number":e.push({columnData:"number",data:"attributes.number",title:"Number",render:_.bind(function(t,e,i){return"sort"===e||"type"===e?i.get("number"):'<a class="btn-view-change-order" href="javascript:void(0)" data-id="'+i.get("number")+'">'+i.get("number")+"</a>"},this)});break;case"changeReason":e.push({columnData:"changeReason",data:"attributes.changeReason",title:"Change Reason"});break;case"description":e.push({columnData:"description",data:"attributes.description",title:"Description"});break;case"contractDate":e.push({columnData:"contractDate",data:"attributes.contractDate",title:"Contract Date",width:"90px",render:_.bind(function(t,e,i){return 0===_.size(t)?"":"sort"===e||"type"===e?t?new Date(t):null:PJQ.helpers.dateHelpers.getDateString(new Date(t),PJQ.helpers.dateHelpers.dateFormats.DATE,!0)},this)});break;case"invoicedDate":e.push({columnData:"invoicedDate",data:"attributes.invoicedDate",title:"Invoiced Date",width:"90px",render:_.bind(function(t,e,i){return 0===_.size(t)?"":"sort"===e||"type"===e?t?new Date(t):null:PJQ.helpers.dateHelpers.getDateString(new Date(t),PJQ.helpers.dateHelpers.dateFormats.DATE,!0)},this)});break;case"dueDate":e.push({columnData:"dueDate",data:"attributes.dueDate",title:"Due Date",width:"90px",render:_.bind(function(t,e,i){return 0===_.size(t)?"":"sort"===e||"type"===e?t?new Date(t):null:PJQ.helpers.dateHelpers.getDateString(new Date(t),PJQ.helpers.dateHelpers.dateFormats.DATE,!0)},this)});break;case"createdOn":e.push({columnData:"createdOn",data:"attributes.createdOn",title:"Created",width:"90px",render:_.bind(function(t,e,i){return 0===_.size(t)?"":"sort"===e||"type"===e?t?new Date(t):null:PJQ.helpers.dateHelpers.getDateString(new Date(t),PJQ.helpers.dateHelpers.dateFormats.DATE_TIME)},this)});break;case"contractedContact.companyName":e.push({columnData:"contractedContact.companyName",title:"Company",titleSettings:"Contracted Company",render:_.bind(function(t,e,i){return i.get("contractedContact")?i.get("contractedContact").companyName:"N/A"},this)});break;case"amount":e.push({columnData:"amount",data:"attributes.amount",width:"10%",title:"Amount",className:"text-align-right",render:_.bind(function(t,e,i){return PJQ.helpers.formatHelpers.formatCurrency(i.get("amount"))},this)});break;case"taxAmount":e.push({columnData:"taxAmount",data:"attributes.taxAmount",title:"Tax",width:"100px",render:_.bind(function(t,e,i){return PJQ.helpers.formatHelpers.formatCurrency(t)},this)});break;case"markupAmount":e.push({columnData:"markupAmount",data:"attributes.markupAmount",title:"Markup",width:"100px",render:_.bind(function(t,e,i){return PJQ.helpers.formatHelpers.formatCurrency(t)},this)});break;case"grandTotal":e.push({columnData:"grandTotal",data:"attributes.amount",title:"Grand Total",width:"100px",render:_.bind(function(t,e,i){return PJQ.helpers.formatHelpers.formatCurrency(i.getGrandTotal())},this)});break;default:t.startsWith("fieldValue")&&_.each(this.options.customFields.models,function(o){t==="fieldValue"+o.get("fieldNumber")&&e.push({columnData:"fieldValue"+o.get("fieldNumber"),title:o.get("name"),render:function(t,e,i){var n=i.getCustomFieldValue(o.get("id"));switch(n=null!==n?n:"",o.get("fieldTypeId")){case PJQ.constants.commitments.customFieldType.BOOLEAN:null!=n&&(n=n?"Yes":"No");break;case PJQ.constants.commitments.customFieldType.CHOICE:var s=[];"number"==typeof n&&(n=[n]),_.each(o.choices.models,_.bind(function(e){_.find(n,function(t){return t===e.get("id")})&&s.push(e.get("name"))},this)),n=s.join(", ");break;case PJQ.constants.commitments.customFieldType.DATE:n&&"sort"!==e&&"type"!==e&&(n=PJQ.helpers.dateHelpers.getDateString(new Date(n),PJQ.helpers.dateHelpers.dateFormats.DATE,!0)),void 0===n&&(n="");break;case PJQ.constants.commitments.customFieldType.DATETIME:n&&"sort"!==e&&"type"!==e&&(n=PJQ.helpers.dateHelpers.getDateString(new Date(n),PJQ.helpers.dateHelpers.dateFormats.DATE_TIME)),void 0===n&&(n="");break;case PJQ.constants.commitments.customFieldType.INTEGER:"sort"!==e&&"type"!==e&&n&&(n=parseInt(n).toLocaleStr
1ing());break;case PJQ.constants.commitments.customFieldType.MONEY:n="sort"===e||"type"===e?n&&"$"!==n?parseFloat(PJQ.helpers.formatHelpers.numbersOnly(n,!0)):0:PJQ.helpers.formatHelpers.formatCurrency(parseInt(PJQ.helpers.formatHelpers.numbersOnly(n)));break;case PJQ.constants.commitments.customFieldType.PERCENT:n="sort"===e||"type"===e?n&&"$"!==n?parseFloat(PJQ.helpers.formatHelpers.numbersOnly(n,!0)).toFixed(2):0:n?n.toString()+"%":""}return n}})})}},this)),t||e.push({title:"",render:_.bind(function(t,e,i){return'<div class="show-on-row-hover"><button type="button" class="btn btn-info btn-view-change-order ml-1" title="View change order"><i class="fal fa-arrow-alt-from-left"></i></button></div>'},this),orderable:!1,searchable:!1,width:"90px",className:"text-center",visible:!0}),e},viewCommitmentClicked:function(t){var e=this.getRow(t.currentTarget.closest("tr"));this.viewCommitment(e.data().get("commitmentId"))},viewCommitment:function(t){new PJQ.views.commitments.CommitmentEditModal({model:new PJQ.models.commitments.Commitment({id:t})})}}),PJQ.views.commitments.ChangeOrderEditModal=PJQ.views.BaseModal.extend({defaults:{template:new PJQ.templating.Template(PJQ.constants.modules.COMMITMENTS,"modal-change-order-edit"),width:"95%",maxWidth:1500,model:null,fromChangeRequest:null,isShowCloseButton:!0,onSave:_.noop(),onDelete:_.noop()},events:{"click .btn-view-commitment":"viewCommitment","click .btn-add-line-item":"addLineItem","click .btn-close":"close","click .btn-submit":"submitChangeOrder","click .btn-save-email":"saveEmail","click .btn-save":"saveChangeOrder","click .btn-delete":"deleteChangeOrder","click .btn-push-erp":"pushERP","click .btn-undo-push-erp":"undoPushERP","click .btn-unlink-erp":"unlinkERP","click .btn-export":"exportChangeOrder","click .btn-email":"email","click .nav-link":"activeViewChanged","click .btn-copy-markups":"copyMarkups","click .btn-view-history":"viewHistory"},beforeModalCreated:function(){var t=_asyncToGenerator(_regeneratorRuntime().mark(function t(){var n;return _regeneratorRuntime().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return this.isFetched=!1,this.options.project=this.options.project?this.options.project:PJQ.app.session.project,t.next=4,this.options.project.fetchCommitmentChangeOrderFieldSettings();case 4:return this.coreFieldSettings=t.sent,t.next=7,this.options.project.fetchCommitmentChangeOrderCustomFields();case 7:return this.customFields=t.sent,t.next=10,this.options.project.fetchCommitmentChangeOrderSettings();case 10:return this.settings=t.sent,t.next=13,this.options.project.fetchCostCodes();case 13:return this.costCodes=t.sent,t.next=16,this.options.project.fetchCostTypes();case 16:return this.costTypes=t.sent,t.next=19,this.options.project.fetchUnitsOfMeasure();case 19:if(this.unitsOfMeasure=t.sent,null==this.model&&(n=[],_.each(this.customFields.models,function(t,e){var i=t.get("defaultValue")?t.get("defaultValue"):"";"CHOICE"===t.get("fieldType")&&(i=parseInt(i)),n.push({fieldNumber:t.get("fieldNumber"),fieldTypeId:t.get("fieldTypeId"),fieldType:t.get("fieldType"),isMultiple:t.get("isMultiple"),value:i,id:t.get("id")})},this),this.model=new PJQ.models.commitments.ChangeOrder({description:this.options.fromChangeRequest?this.options.fromChangeRequest.get("description"):"",commitmentId:this.options.commitment.id,commitmentNumber:this.options.commitment.get("number"),contractedContact:this.options.commitment.contractedContact,contractedContactId:this.options.commitment.get("contractedContactId"),invoiceContact:this.options.commitment.contractedContact,invoiceContactId:this.options.commitment.get("invoiceContactId"),accountingMethod:this.options.commitment.get("accountingMethod"),projectId:this.options.commitment.get("projectId"),statusId:PJQ.constants.primeContracts.changeOrderStatus.DRAFT,lineItems:this.options.lineItems,customFieldValues:n})),this.model.isNew()){t.next=24;break}return t.next=24,this.model.fetch();case 24:return t.next=26,PJQ.app.session.fetchERPIntegration();case 26:if(this.erpIntegration=t.sent,null!=this.erpIntegration&&this.erpIntegration.getSetting("syncProjects"))return t.next=30,this.options.project.fetchERPObject();t.next=30;break;case 30:if(null==this.options.commitment&&(this.options.commitment=new PJQ.models.commitments.Commitment({id:this.model.get("commitmentId")}
1)),this.options.commitment.isFetched){t.next=34;break}return t.next=34,this.options.commitment.fetch();case 34:this.isFetched=!0,this.render();case 36:case"end":return t.stop()}},t,this)}));return function(){return t.apply(this,arguments)}}(),beforeRender:function(){if(this.isFetched){this.options.canEdit=this.options.project.hasPermission("commitmentChangeOrders.canEdit"),this.options.canEditLineItems=this.options.canEdit,this.options.canViewCommitments=this.options.project.hasPermission("commitments.canView"),this.options.isAdmin=this.options.project.hasPermission("commitmentChangeOrders.isAdmin"),this.options.canDelete=this.options.isAdmin,this.options.canEditStatus=this.options.isAdmin,this.options.disabledStatuses=null;var t=function(e){return _.filter(PJQ.constants.commitments.changeOrderStatus,function(t){return t<e})},e=this.model.get("statusId"),i=PJQ.app.session.contact&&PJQ.app.session.contact.id===this.model.get("contractedContactId");if(this.options.isSubmitting=i&&e===PJQ.constants.commitments.changeOrderStatus.DRAFT,e===PJQ.constants.commitments.changeOrderStatus.DRAFT?(this.options.canEdit=i||PJQ.app.session.project.hasPermission("commitmentChangeOrders.canEdit"),this.options.canEditLineItems=this.options.canEdit,this.options.canDelete=this.options.isAdmin):e===PJQ.constants.commitments.changeOrderStatus.APPROVED?(this.options.canEditLineItems=!1,this.options.canEdit=PJQ.app.session.project.hasPermission("commitmentChangeOrders.canEdit"),this.options.canDelete=!1):e===PJQ.constants.commitments.changeOrderStatus.VOID?(this.options.canEditLineItems=!1,this.options.canEdit=!1,this.options.canDelete=!0):(this.options.canEdit=PJQ.app.session.project.hasPermission("commitmentChangeOrders.canEdit"),this.options.canEditLineItems=this.options.canEdit,this.options.canDelete=this.options.isAdmin),0<_.size(this.model.invoices.models)&&(this.options.canEditLineItems=!1),0<this.model.invoices.models.length&&(this.options.disabledStatuses=t(PJQ.constants.commitments.changeOrderStatus.APPROVED),this.options.canEditLineItems=!1,this.options.canDelete=!1),null!=this.erpIntegration){var n=this.model.erpSyncStatus();n!==PJQ.constants.integrations.erp.syncStatuses.REVIEWING&&n!==PJQ.constants.integrations.erp.syncStatuses.APPROVED&&n!==PJQ.constants.integrations.erp.syncStatuses.SYNCED||(this.options.disabledStatuses=t(PJQ.constants.commitments.changeOrderStatus.APPROVED),this.options.canEdit=!1,this.options.canEditLineItems=!1,this.options.canDelete=!1)}}},renderData:function(){return{model:this.model,customFields:this.customFields,erpIntegration:this.erpIntegration,canEditLineItems:this.options.canEditLineItems,canEdit:this.options.canEdit,canDelete:this.options.canDelete,isAdmin:this.options.isAdmin,isSubmitting:this.options.isSubmitting,canViewCommitments:this.options.canViewCommitments,isFetched:this.isFetched,activeView:this.options.activeView,views:this.views,checkFieldVisible:_.bind(this.checkFieldVisible,this),checkFieldRequired:_.bind(this.checkFieldRequired,this),unCopiedMarkupsCount:_.size(this.getUnCopiedMarkups())}},afterRender:function(){var n=this;this.isFetched&&(this.activateView(this.options.activeView),this.stopListening(this.model.markupItems),this.listenTo(this.model.markupItems,"update",function(t){if(t&&t.get("delete")&&(t.lineItem||t.get("lineItemId"))){var e,i=null!==(e=t.lineItem)&&void 0!==e?e:n.model.lineItems.findWhere({appliedMarkupId:t.id});i&&(0<i.get("id")?i.set("delete",!0):n.model.lineItems.remove(i))}n.updateCounts(),n.lineItemsView.render()}),this.stopListening(this.model),this.listenTo(this.model,"change:statusId",function(){n.renderERP()}),this.stopListening(this.model.lineItems),this.listenTo(this.model.lineItems,"update",function(){n.renderERP()}),this.renderERP(),this.renderGeneral(),this.renderLineItems(),this.renderMarkups(),this.updateCounts())},updateCounts:function(){this.$(".count-line-items").text(_.size(_.filter(this.model.lineItems.models,function(t){return!t.get("delete")}))),this.$(".count-markups").text(_.size(_.filter(this.model.markupItems.models,function(t){return!t.get("delete")})))},views:{GENERAL:"CCO_General",LINEITEMS:"CCO_LineItems",INVOICES:"CCO_Invoices",PAYMENTS:"CCO_Payments",MARKUPS:"CCO_Markups"},activeViewChanged:function(t){var e=t.target.hash?t.target.hash.replace("#",""):null;this.activateView(e)},activateView:function(t){switch(t){case this.views.LINEITEMS:case this.views.INVOICES:case this.views.PAYMENTS:case this.views.MARKUPS:break;default:t=this.views.GENERAL}this.$('.nav-link[href="#'+t+'"]').tab("show"),this.options.activeView=t},renderGeneral:function(){var i=this;new PJQ.Binder(this.$el,this.model,{canEdit:!!this.options.canEdit&&null,useDecimalPercentFields:!0,watchElements:["input","textarea"]});var t=_.map(PJQ.constants.commitments.changeOrderStatus,function(t){return{id:t,name:PJQ.constants.commitments.changeOrderStatusNames[t],disabled:null!=i.options.disabledStatuses&&-1<i.options.disabledStatuses.indexOf(t)}});this.statusPicker=new PJQ.inputs.Selectpicker({el:this.$(".select-status"),choices:t,isIntChoices:!0,defaultValue:this.model.get("statusId"),canEdit:this.options.canEditStatus,onChange:function(t){var e=i.model.get("statusId");t!==e&&(i.model.set("statusId",t),i.model.isNew()?i.render():i.save(function(t){t?PJQ.notifications.notify.successNotify({message:"Change Order saved successfully"}):(i.model.set("statusId",e),i.statusPicker.setValue(e))}))}}),this.contractCompanyPicker=new PJQ.views.contacts.ContactsSelectInput({el:this.$(".contracted-company"),selectedContact:this.model.contractedContact,canViewContacts:this.options.project.hasPermission("projectContacts.canView"),canEdit:!1,displayContactsBlock:!0}),new PJQ.inputs.Datepicker({el:this.$(".change-order-due-date"),canEdit:this.options.canEdit,datepickerOptions:{format:PJQ.helpers.dateHelpers.dateFormats.datePicker.DATE,defaultDate:this.model.get("dueDate")},onChange:_.bind(function(t){this.model.set("dueDate",t)},this)}),new PJQ.inputs.Datepicker({el:this.$(".change-order-invoiced-date"),canEdit:this.options.canEdit,datepickerOptions:{format:PJQ.helpers.dateHelpers.dateFormats.datePicker.DATE,defaultDate:this.model.get("invoicedDate")},onChange:_.bind(function(t){this.model.set("invoicedDate",t)},this)}),this.reviewerPicker=new PJQ.views.contacts.ContactsSelectInput({el:this.$(".change-order-reviewer"),selectedContact:this.model.reviewer,canViewContacts:this.options.project.hasPermission("projectContacts.canView"),shouldHideContacts:!0,canEdit:this.options.canEdit&&this.options.isAdmin,displayContactsBlock:!0,context:PJQ.constants.contacts.contexts.PROJECTCONTACTS,isSingleChoice:!0,onChange:_.bind(function(t){this.model.reviewer=t,this.model.set("reviewerId",t?t.id:null)},this)}),this.receivedFromPicker=new PJQ.views.contacts.ContactsSelectInput({el:this.$(".change-order-received-from"),selectedContact:this.model.receivedFrom,canViewContacts:this.options.project.hasPermission("projectContacts.canView"),canEdit:this.options.canEdit&&this.options.isAdmin,displayContactsBlock:!0,context:PJQ.constants.contacts.contexts.PROJECTCONTACTS,isSingleChoice:!0,onChange:_.bind(function(t){this.model.receivedFrom=t,this.model.set("receivedFromId",t?t.id:null)},this)}),0<_.size(this.customFields)&&(this.customFieldsForm=new PJQ.views.customFields.CustomFieldsForm({el:this.$(".change-order-custom-fields"),isEdit:this.options.canEdit,isAdmin:this.options.isAdmin,collection:this.customFields,fieldValues:this.model.get("customFieldValues"),onChange:_.bind(function(){this.model.isDirty=!0},this)})),this.checkFieldVisible("attachments")&&(this.fileUploader=new PJQ.views.files.FileUploaderGrid({el:this.$(".cco-file-uploader"),collection:this.model.attachments,canUpload:this.options.canEdit,useApiV2:!0,canView:!1,canDelete:this.options.canEdit&&this.options.isAdmin,previewImageDimension:150,onSuccess:_.bind(function(t){this.model.isDirty=!0},this),onDelete:_.bind(function(t,e){0<t.get("id")?t.set("delete",!0):t.destroy(),this.model.isDirty=!0,e(
1)},this)}))},renderLineItems:function(){this.lineItemsView&&this.lineItemsView.remove(),this.lineItemsView=new PJQ.views.budget.LineItemsView({el:this.$(".cco-line-items"),collection:this.model.lineItems,lineItemModel:PJQ.models.commitments.ChangeOrderLineItem,canEdit:this.options.isSubmitting||this.options.canEditLineItems,canDelete:this.options.isSubmitting||this.options.canEditLineItems,accountingMethod:this.model.get("accountingMethod"),canChangeAccountingMethod:this.options.canEditLineItems,commitmentId:this.model.get("commitmentId"),commitment:this.options.commitment,showBilling:this.model.get("statusId")===PJQ.constants.commitments.changeOrderStatus.APPROVED,financialMarkups:this.model.markupItems,enableTax:!0,showSubTotal:!0,showGrandTotal:!0,onAccountingMethodChanged:_.bind(function(t){this.model.set("accountingMethod",t)},this),onLineItemChange:_.bind(function(){this.model.isDirty=!0},this),onLineItemAdd:_.bind(function(){this.model.isDirty=!0,this.updateCounts()},this),onLineItemDelete:_.bind(function(){this.model.isDirty=!0,this.updateCounts()},this)})},viewCommitment:function(){this.removeModal(),new PJQ.views.commitments.CommitmentEditModal({model:new PJQ.models.commitments.Commitment({id:this.model.get("commitmentId")})})},getUnCopiedMarkups:function(){var t=this;return null==this.model||null==this.model.markupItems||null==this.options.commitment||null==this.options.commitment.markupItems?[]:_.filter(this.options.commitment.markupItems.models,function(e){return!_.some(t.model.markupItems.models,function(t){return t.get("percent")===e.get("percent")&&t.get("name")===e.get("name")&&t.get("isVertical")===e.get("isVertical")&&t.get("isCompounding")===e.get("isCompounding")})})},copyMarkups:function(){var i=this,n=1;0<_.size(this.model.markupItems.models)&&(n=_.max(this.model.markupItems.models,function(t){return t.get("sortOrder")})),_.each(this.getUnCopiedMarkups(),function(t){var e=new PJQ.financialMarkups.models.FinancialMarkup({percent:t.get("percent"),name:t.get("name"),isVertical:t.get("isVertical"),isCompounding:t.get("isCompounding"),costCodeIds:t.get("costCodeIds"),costTypeIds:t.get("costTypeIds"),appliedCostCodeId:t.get("appliedCostCodeId"),appliedCostTypeId:t.get("appliedCostTypeId"),isApplied:t.get("isApplied"),sortOrder:++n,isDirty:!0});i.model.markupItems.add(e),e.get("appliedCostCodeId")&&e.get("appliedCostTypeId")&&i.model.markupItems.trigger("appliedMarkupChanged",e)}),this.render()},renderMarkups:function(){this.options.isAdmin&&(this.markupsView=new PJQ.financialMarkups.views.FinancialMarkupsList({el:this.$(".cco-markups"),collection:this.model.markupItems,canEdit:this.options.canEditLineItems}))},renderERP:function(){var t=this.$(".erp-sync");if(this.options.isAdmin&&null!=this.erpIntegration&&this.options.project.isERPSynced()&&!1!==this.erpIntegration.getSetting(PJQ.constants.integrations.settings.SYNC_COMMITMENTS)){this.$(".erp-badge").html(PJQ.helpers.erp.getERPBadge(this.model.erpSyncStatus(),this.model.get("externalObject")));var e=!0,i="";0!==_.size(this.model.lineItems.models)&&this.model.get("statusId")===PJQ.constants.commitments.changeOrderStatus.APPROVED||(e=!1,i="Change Order must be approved and have line items"),this.options.commitment.isERPSynced()||(e=!1,i="The commitment for this change order must be synced for this commitment can be pushed"),PJQ.helpers.erp.renderERPButtons(t,{status:this.model.erpSyncStatus(),pushSupported:this.erpIntegration.hasAvailableAction(PJQ.constants.integrations.actions.PUSH_COMMITMENT_CHANGE_ORDERS),canPush:e,canPushChanges:!1,disablePushReason:i,unlinkSupported:this.erpIntegration.hasAvailableAction(PJQ.constants.integrations.actions.UNLINK_COMMITMENT_CHANGE_ORDERS)})}else t.remove()},pushERP:function(e){var i=this;this.erpIntegration.hasAvailableAction(PJQ.constants.integrations.actions.PUSH_COMMITMENT_CHANGE_ORDERS)&&this.save(function(t){t&&i.erpIntegration.pushCommitmentChangeOrder(i.model,function(){PJQ.notifications.notify.successNotify({message:"Commitment Change Order pushed to ERP"}),"function"==typeof i.options.onSave&&i.options.onSave(i.model),e&&"function"==typeof e?e():i.render()})})},undoPushERP:function(){var t=this;this.model.erpSyncStatus()===PJQ.constants.integrations.erp.syncStatuses.REVIEWING&&this.erpIntegration.undoPush(this.model,function(){PJQ.notifications.notify.successNotify({message:"Commitment Change Order removed from ERP approval"}),"function"==typeof t.options.onSave&&t.options.onSave(t.model),t.render()})},unlinkERP:function(){var i=this;new PJQ.views.modals.YesNo({header:"Unlink from ERP",body:"Are you sure you want to unlink this Commitment Change Order from your ERP system?",onYes:function(){var e=new PJQ.Loader(i.$(".modal-content"));i.erpIntegration.unlinkCommitmentChangeOrder(i.model,function(t){t&&(e.remove(),PJQ.notifications.notify.successNotify({message:"Commitment Change Order unlinked from ERP"}),"function"==typeof i.options.onSave&&i.options.onSave(i.model),i.render())})}})},viewHistory:function(){var t=_asyncToGenerator(_regeneratorRuntime().mark(function t(){var e,i;return _regeneratorRuntime().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:e=[{date:this.model.get("createdOn"),person:this.model.get("createdBy"),action:"Change Order Created"}],i=new PJQ.collections.commitments.ChangeOrderHistory({},{changeOrderId:this.model.id}),new PJQ.views.history.HistoryTimelineModal({collection:i,subTitle:"Commitment Change Order #"+this.model.get("number"),items:e});case 3:case"end":return t.stop()}},t,this)}));return function(){return t.apply(this,arguments)}}(),exportChangeOrder:function(){var t=this,e=function(){PJQ.files.downloadFile(PJQ.helpers.urlHelpers.generateEndpoint([{endpoint:"commitmentchangeorders",value:t.model.get("id")},{endpoint:"export"}]),{isAPIv2:!0})};this.options.canEdit&&this.model.hasChanged()?this.save(function(t){t&&e()}):e()},checkFieldVisible:function(t){if(this.coreFieldSettings){var e=this.coreFieldSettings.findWhere({fieldName:t});if(null!=e)return e.get("isVisible")}return!0},checkFieldRequired:function(t){if(this.coreFieldSettings){var e=this.coreFieldSettings.findWhere({fieldName:t});if(null!=e)return e.get("isRequired")}return!1},saveEmail:function(){var e=this;this.save(function(t){t&&(PJQ.notifications.notify.successNotify({message:"Commitment Change Order saved successfully"}
1),"function"==typeof e.options.onSave&&e.options.onSave(e.model),e.email())})},savePush:function(){var e=this;this.save(function(t){t&&(PJQ.notifications.notify.successNotify({message:"Commitment Change Order saved successfully"}),"function"==typeof e.options.onSave&&e.options.onSave(e.model),e.pushERP(function(){e.removeModal()}))})},submitChangeOrder:function(){this.model.submit(null,_.bind(function(t){t&&(PJQ.notifications.notify.successNotify({message:"Change Order submitted successfully"}),"function"==typeof this.options.onSave&&this.options.onSave(this.model),this.removeModal())},this))},saveChangeOrder:function(){var e=this,i=this.model.isNew();this.save(function(t){t&&(PJQ.notifications.notify.successNotify({message:"Commitment Change Order saved successfully"}),"function"==typeof e.options.onSave&&e.options.onSave(e.model,i),e.removeModal())})},validate:function(){var t=!0;if(null==this.customFieldsForm||this.customFieldsForm.validate()||(t=!1),PJQ.helpers.inputHelpers.setInputError(this.$(".input-number"),!0),this.model.isNew()&&!this.checkFieldRequired("number")||0!==_.size(this.model.get("number"))||(t=!1,PJQ.helpers.inputHelpers.setInputError(this.$(".input-number"),!1)),this.checkFieldRequired("reviewer")&&(this.reviewerPicker.validate()||(t=!1)),this.checkFieldRequired("receivedFromId")&&(this.receivedFromPicker.validate()||(t=!1)),this.checkFieldRequired("changeReason")){var e=this.$(".change-reason");PJQ.helpers.inputHelpers.setInputError(e,!0),0===_.size(this.model.get("changeReason"))&&(PJQ.helpers.inputHelpers.setInputError(e,!1),t=!1)}if(this.checkFieldRequired("invoicedDate")){var i=this.$(".change-order-invoiced-date");PJQ.helpers.inputHelpers.setInputError(i,!0),null!=this.model.get("invoicedDate")&&0!==this.model.get("invoicedDate").length||(PJQ.helpers.inputHelpers.setInputError(i,!1),t=!1)}if(this.checkFieldRequired("dueDate")){var n=this.$(".change-order-due-date");PJQ.helpers.inputHelpers.setInputError(n,!0),null!=this.model.get("dueDate")&&0!==this.model.get("dueDate").length||(PJQ.helpers.inputHelpers.setInputError(n,!1),t=!1)}if(this.checkFieldRequired("description")){var s=this.$(".change-order-description");PJQ.helpers.inputHelpers.setInputError(s,!0),0===_.size(this.model.get("description"))&&(PJQ.helpers.inputHelpers.setInputError(s,!1),t=!1)}this.checkFieldRequired("attachments")&&(this.fileUploader.clearError(),null!=_.find(this.model.attachments.models,function(t){return!t.get("delete")},this)||(this.fileUploader.showError("Missing attachment",1e5),t=!1));return t?this.lineItemsView.validate()||(t=!1,this.activateView(this.views.LINEITEMS)):this.activateView(this.views.GENERAL),t},save:function(e){var t=this;if(!this.validate())return this.$(".modal").prevObject.scrollTop(0),void("function"==typeof e&&e(!1));var i=this.model.lineItems.filter(function(t){return t.markup&&t.isNew()});return 0<_.size(i)&&this.model.lineItems.remove(i),this.model.save({customFields:null!=this.customFieldsForm?this.customFieldsForm.getChanged():null,reviewer:this.reviewer?this.reviewer.toJSON():null,receivedFrom:this.receivedFrom?this.receivedFrom.toJSON():null,lineItems:this.model.lineItems.toJSON()},{success:function(){t.render(),"function"==typeof t.options.onSave&&t.options.onSave(t.model),t.options.project.trigger("commitmentCOChanged",t.model),"function"==typeof e&&e(!0)},error:function(t){"function"==typeof e&&e(!1),PJQ.notifications.notify.errorNotify({message:t.responseJSON.error})}}),!0},deleteChangeOrder:function(){var t=this.model.id;new PJQ.views.modals.DeleteCancel({header:"Confirm Delete",body:"Are you sure you want to delete this change order?",onDelete:_.bind(function(){this.model.destroy({success:_.bind(function(){PJQ.notifications.notify.successNotify({message:"Change order deleted successfully"}),"function"==typeof this.options.onDelete&&this.options.onDelete(t),this.removeModal()},this)})},this)})},email:function(){var t,e,i=null===(t=this.options.project)||void 0===t?void 0:null===(e=t.get("projectName"))||void 0===e?void 0:e.trim(),n="A Change Order has been shared with you ".concat(i&&0<_.size(i)?"for ".concat(i):"");new PJQ.views.email.ComposeEmailModal({header:"Email Commitment Change Order",project:PJQ.app.session.project,subject:n,onSave:_.bind(function(t){this.model.share(t,_.bind(function(){PJQ.notifications.notify.successNotify({message:"Commitment Change Order email sent"})},this))},this)})},close:function(){this.model.hasChanged()&&this.options.canEdit?new PJQ.views.modals.SaveDontSave({header:"Unsaved Changes",body:"Do you want to save changes?",onSave:_.bind(function(){this.saveChangeOrder(),this.removeModal()},this),onDontSave:_.bind(function(){this.removeModal()},this)}):this.removeModal()}}),PJQ.views.commitments.ChangeOrdersList=PJQ.views.BaseView.extend({defaults:{template:new PJQ.templating.Template(PJQ.constants.modules.COMMITMENTS,"commitment-change-orders-list"),changeOrderId:null},events:{"click .btn-settings":"editSettings","click .btn-add-change-order":"newChangeOrder","click .btn-view-change-order":"viewChangeOrderClicked","click .btn-delete-change-order":"deleteChangeOrderClicked","click .btn-export":"exportChangeOrderList","click .btn-pull-erp":"pullERP"},beforeFirstRender:function(){var t=_asyncToGenerator(_regeneratorRuntime().mark(function t(){return _regeneratorRuntime().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(this.isFetched=!1,this.options.project=this.options.project?this.options.project:PJQ.app.session.project,null==this.collection&&(this.collection=new PJQ.collections.commitments.ChangeOrders(null,{projectId:this.options.project.get("projectId"),costCodeId:this.options.costCodeId?this.options.costCodeId:null,costTypeId:this.options.costTypeId?this.options.costTypeId:null})),this.collection.isFetched){t.next=6;break}return t.next=6,this.collection.fetch();case 6:return t.next=8,PJQ.app.session.fetchCommitmentChangeOrderUserSettings();case 8:return this.userSettings=t.sent,t.next=11,this.options.project.fetchCommitmentChangeOrderCustomFields();case 11:return this.customFields=t.sent,t.next=14,PJQ.app.session.fetchERPIntegration();case 14:if(this.erpIntegration=t.sent,null!=this.erpIntegration&&this.erpIntegration.getSetting("syncProjects"))return t.next=18,this.options.project.fetchERPObject();t.next=18;break;case 18:this.isFetched=!0,this.render();case 20:case"end":return t.stop()}},t,this)}));return function(){return t.apply(this,arguments)}}(),beforeRender:function(){this.isFetched&&(this.options.canAdd=this.options.project.hasPermission("commitmentChangeOrders.canAdd"),this.options.canViewCommitments=this.options.project.hasPermission("commitments.canView"),this.options.isAdmin=this.options.project.hasPermission("commitmentChangeOrders.isAdmin"))},renderData:function(){return{collection:this.collection,isFetched:this.isFetched}},afterRender:function(){if(this.isFetched&&(this.renderView(),PJQ.app.session.project.off("commitmentCOChanged"),PJQ.app.session.project.on("commitmentCOChanged",function(t){this.collection.add(t),this.render()},this),0<this.options.changeOrderId)){var t=this.collection.get(this.options.changeOrderId);null!=t&&(this.viewChangeOrder(t),this.options.changeOrderId=null)}},renderERPButton:function(){var t=this.$(".erp-sync");if(this.options.isAdmin&&null!=this.erpIntegration&&this.erpIntegration.getSetting(PJQ.constants.integrations.settings.SYNC_COMM
1ITMENTS)&&this.options.project&&this.options.project.isERPSynced()){var e=this.erpIntegration.hasAvailableAction(PJQ.constants.integrations.actions.PULL_COMMITMENT_CHANGE_ORDERS);PJQ.helpers.erp.renderERPButtons(t,{pushSupported:!1,pullSupported:e})}else t.remove()},pullERP:function(){null!=this.options.project&&this.erpIntegration.hasAvailableAction(PJQ.constants.integrations.actions.PULL_COMMITMENT_CHANGE_ORDERS)&&this.erpIntegration.pullCommitmentChangeOrders(this.options.project,_.bind(function(t){PJQ.notifications.notify.successNotify({message:"Commitment Change Orders successfully pulled from ERP"}),this.collection.reset(t),this.render()},this))},renderView:function(){this.dataTable&&(this.dataTable.remove(),this.dataTable=null),this.dataTable=this.getDataTableInstance()},getDataTableInstance:function(){return new PJQ.views.commitments.ChangeOrderDataTable({el:this.$(".change-orders-data"),rowId:"cid",data:this.collection.models,statusIds:this.options.statusIds,isAdmin:this.options.isAdmin,headerData:_.bind(function(){return{project:this.options.project,canAdd:this.options.canAdd,isAdmin:this.options.isAdmin}},this),userSettings:this.userSettings,canViewCommitments:this.options.canViewCommitments,settings:this.userSettings.getSettings(PJQ.constants.commitments.view.CHANGE_ORDERS),order:[[1,"asc"]],colReorder:{fixedColumnsLeft:1,fixedColumnsRight:1,realtime:!1},columnOrderChanged:_.bind(function(){this.userSettings.save()},this),onRowDoubleClick:_.bind(function(t){this.viewChangeOrder(t.data())},this),afterDataTableRender:_.bind(function(){PJQ.app.session.erpIntegration&&0<PJQ.app.session.erpIntegration.id&&this.renderERPButton()},this),contextMenuOptions:{actions:[{name:"View",onClick:_.bind(function(t){this.viewChangeOrder(t.data())},this)}]}})},exportChangeOrderList:function(){PJQ.files.downloadFile(PJQ.helpers.urlHelpers.generateEndpoint([{endpoint:"projects",value:PJQ.app.session.project.id},{endpoint:"commitmentchangeorders"},{endpoint:"export"}],[{parameter:"timeZoneOffset",value:(new Date).getTimezoneOffset()}]),{isAPIv2:!0})},newChangeOrder:function(t){this.viewChangeOrder()},viewChangeOrderClicked:function(t){var e=this.dataTable.getRow($(t.currentTarget).closest("tr"));this.viewChangeOrder(e.data())},viewChangeOrder:function(t){var e=null==t;new PJQ.views.commitments.ChangeOrderEditModal({model:t,onSave:_.bind(function(t){e&&this.collection.add(t),this.renderView()},this),onDelete:_.bind(function(t){this.collection.remove(t),this.renderView()},this)})},deleteChangeOrderClicked:function(t){var e=this.dataTable.getRow($(t.currentTarget).closest("tr"));this.deleteChangeOrder(e)},deleteChangeOrder:function(t){if(null!=t){var e=t.data();null!=e&&new PJQ.views.modals.DeleteCancel({header:"Delete Change Order",body:"Are you sure you want to delete this Change Order?",onDelete:_.bind(function(){e.destroy({success:_.bind(function(){this.dataTable.removeRow(t),"function"==typeof this.options.onDelete&&this.options.onDelete(e)},this)})},this)})}},editSettings:function(){new PJQ.views.commitments.ChangeOrderSettingsModal({changeOrdersView:this,onSave:_.bind(function(){this.renderView(),PJQ.notifications.notify.successNotify({message:"Settings updated successfully"})},this)})}}),PJQ.views.commitments.ModalViewChangeOrders=PJQ.views.BaseModal.extend({defaults:{template:new PJQ.templating.Template(PJQ.constants.modules.COMMITMENTS,"modal-view-change-orders"),maxWidth:1e3,isShowCloseButton:!0,onSave:_.noop,isAdmin:!0},events:{},beforeModalCreated:function(){},renderData:function(){return{model:this.model}},afterRender:function(){null!=this.model&&new PJQ.views.commitments.ChangeOrdersList({el:this.$(".modal-body"),model:this.model,costCodeId:this.model.get("costCodeId"),costTypeId:this.model.get("costTypeId"),project:this.options.project,statusIds:this.options.statusIds})}}),PJQ.views.commitments.SelectCommitmentChangeOrdersModal=PJQ.views.BaseModal.extend({defaults:{template:new PJQ.templating.Template(PJQ.constants.modules.COMMITMENTS,"modal-select-commitment-change-orders"),width:"60%",maxWidth:700,onSave:_.noop,headerSubText:null},events:{"change .select-change-order":"selectChangeOrder","click .btn-save":"save","click .btn-cancel":"cancel"},beforeModalCreated:function(){var t=_asyncToGenerator(_regeneratorRuntime().mark(function t(){return _regeneratorRuntime().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(this.isFetched=!1,this.options.isAdmin=PJQ.app.session.project.hasPermission("commitmentChangeOrders.isAdmin"),this.selectedChangeOrders=[],null==this.collection&&(this.collection=new PJQ.collections.commitments.ChangeOrders(null,{projectId:this.options.project.get("projectId")})),this.collection.isFetched){t.next=7;break}return t.next=7,this.collection.fetch();case 7:this.isFetched=!0,this.render();case 9:case"end":return t.stop()}},t,this)}));return function(){return t.apply(this,arguments)}}(),renderData:function(){return{headerSubText:this.options.headerSubText,isSingleChoice:this.options.isSingleChoice}},afterRender:function(){var t,i=this;this.isFetched&&(t=0<_.size(this.options.filterStatuses)?_.filter(this.collection.models,function(t){var e=t.get("statusId");return _.isArray(i.options.filterStatuses)?_.includes(i.options.filterStatuses,e):!!_.isNumber(i.options.filterStatuses)&&i.options.filterStatuses===e}):this.collection.models,this.dataTable=new PJQ.views.dataTables.DataTable({el:this.$(".cco-table"),data:t,isHideSearch:!0,order:[],columns:[{data:"attributes.isSelected",title:"",orderable:!1,searchable:!1,render:_.bind(function(t){return'<div class="text-align-center"><div class="pretty p-default p-smooth fs-18 m-0"><input type="checkbox" '+(t?"checked":"")+' class="select-change-order"/><div class="state p-primary"><label class="wd-0">&nbsp;</label></div></div></div>'},this)},{data:"attributes.number",title:"Number",orderable:!0},{columnData:"attributes.contractedContact.companyName",title:"Company",titleSettings:"Contracted Company",render:_.bind(function(t,e,
1i){return i.get("contractedContact")?i.get("contractedContact").companyName:"N/A"},this)},{data:"attributes.description",title:"Description",orderable:!1},{data:"attributes.amount",title:"Amount",orderable:!1,className:"text-align-right",render:_.bind(function(t,e,i){return PJQ.helpers.formatHelpers.formatCurrency(t)},this)}],dom:'<"top"<"clear">>rt<"bottom"p<"clear">>'}))},selectChangeOrder:function(t){var e=$(t.currentTarget),i=this.dataTable.getRow(e.closest("tr")).data();this.options.isSingleChoice?(this.$(".select-cco").not(e).text("Select").prop("checked",!1),i.get("isSelected")?(i.set("isSelected",!1),this.selectedChangeOrder=null):(i.set("isSelected",!0),this.selectedChangeOrder=i,this.collection.get(i.id),_.each(this.collection.models,_.bind(function(t){i.id!==t.id&&t.set("isSelected",!1)},this))),this.$(".btn-save").attr("disabled",null==this.selectedChangeOrder),"function"==typeof this.options.onChangeOrderSelected&&this.options.onChangeOrderSelected(this.selectedChangeOrder)):(i.get("isSelected")?(e.text("Select").addClass("btn-primary").removeClass("btn-secondary"),i.set("isSelected",!1),this.selectedChangeOrders=_.reject(this.selectedChangeOrders,function(t){return t.id===i.id})):(e.text("Deselect").addClass("btn-secondary").removeClass("btn-primary"),i.set("isSelected",!0),this.selectedChangeOrders.push(i)),this.$(".btn-save").attr("disabled",null==this.selectedChangeOrders),"function"==typeof this.options.onChangeOrderSelected&&this.options.onChangeOrderSelected(this.selectedChangeOrders))},cancel:function(){this.options.onCancel&&this.options.onCancel(),this.removeModal()},save:function(){this.options.onSave&&(this.options.onSave(this.selectedChangeOrder?this.selectedChangeOrder:this.selectedChangeOrders),this.removeModal())}}),PJQ.models.commitments.ChangeOrder=PJQ.models.BaseModel.extend({defaults:{isAPIv2:!0},idAttribute:"id",endpoint:function(){var t=[];return this.isNew()&&t.push({endpoint:"projects",value:this.get("projectId")}),t.push({endpoint:"commitmentchangeorders",value:this.id}),PJQ.helpers.urlHelpers.generateEndpoint(t)},parse:function(t){return t&&(t.commitment&&(this.commitment=t.commitment),this.lineItems=new PJQ.collections.commitments.ChangeOrderLineItems(t.lineItems),this.attachments=new PJQ.collections.commitments.ChangeOrderAttachments(t.attachments),this.invoices=new PJQ.collections.invoicing.PayableInvoices(t.invoices),this.markupItems=new PJQ.financialMarkups.collections.FinancialMarkups(t?t.markupItems:null),t&&t.contractedContact&&(t.contractedContact instanceof PJQ.models.BaseModel?this.contractedContact=t.contractedContact:this.contractedContact=new PJQ.models.contacts.Contact(t.contractedContact)),t&&t.reviewer&&(t.reviewer instanceof PJQ.models.BaseModel?this.reviewer=t.reviewer:this.reviewer=new PJQ.models.contacts.Contact(t.reviewer)),t&&t.receivedFrom&&(t.receivedFrom instanceof PJQ.models.BaseModel?this.receivedFrom=t.receivedFrom:this.receivedFrom=new PJQ.models.contacts.Contact(t.receivedFrom))),t},beforeSave:function(){var t=this.lineItems.filter(function(t){return t.markup&&t.isNew()});this.lineItems.remove(t),this.set({lineItems:this.lineItems.toJSON(),attachments:this.attachments.toJSON(),markupItems:this.markupItems.toJSON()})},submit:function(t,e){this.beforeSave(),new PJQ.ajax.Request({endpoint:this.endpoint()+"/submit",isAPIv2:!0,data:this.toJSON()}).post().done(_.bind(function(t){"function"==typeof e&&(this.set(this.parse(t)),e(!0))},this)).fail(_.bind(function(t){"function"==typeof e&&e(!1)},this))},syncERP:function(t){return PJQ.models.commitments.Commitment.prototype.syncERP.call(this,t)},unlinkERP:function(t){return PJQ.models.commitments.Commitment.prototype.unlinkERP.call(this,t)},makeERPUrl:function(t){return PJQ.models.commitments.Commitment.prototype.makeERPUrl.call(this,t)},share:function(t,e){new PJQ.ajax.Request({endpoint:this.endpoint()+"/email",isAPIv2:!0,data:{subject:null!=t?t.subject:null,body:null!=t?t.body:null,toEmails:null!=t?t.toEmails:null,ccEmails:null!=t?t.ccEmails:null}}).post().done(_.bind(function(t){e()}
1,this)).fail(_.bind(function(t,e,i){},this))},getSubTotal:function(){return this.get("amount")+this.get("markupAmount")},getGrandTotal:function(){return this.getSubTotal()+this.get("taxAmount")}}),PJQ.models.commitments.ChangeOrderHistoryItem=PJQ.models.BaseModel.extend({defaults:{isAPIv2:!0},actionNames:{status:"Status Changed",submit:"Submitted",email:"Email Sent"},getActionName:function(){var t;return null!==(t=this.actionNames[this.get("action")])&&void 0!==t?t:this.get("action")},getDescription:function(){switch(this.get("action")){case"status":var t=this.get("data").from,e=this.get("data").to;return null==t||null==e?"":PJQ.constants.commitments.changeOrderStatusNames[t]+'<i class="fal fa-arrow-right ml-1 mr-1 fs-14"></i>'+PJQ.constants.commitments.changeOrderStatusNames[e];case"email":var i=this.get("data").to;return 0===_.size(i)?"":"To: "+i.join(", ");default:return""}}}),PJQ.models.commitments.ChangeOrderLineItem=PJQ.models.budget.BaseLineItem.extend({defaults:{isAPIv2:!0},idAttribute:"id"}),PJQ.models.commitments.ChangeOrderAttachment=PJQ.models.files.File.extend({defaults:{isAPIv2:!0},idAttribute:"id"}),PJQ.models.commitments.ChangeOrderCustomField=PJQ.models.customFields.CustomField.extend({defaults:{isAPIv2:!0},idAttribute:"id",endpoint:function(){return PJQ.helpers.urlHelpers.generateEndpoint([{endpoint:"commitmentchangeorders"},{endpoint:"customfields",value:this.get("id")}])}}),PJQ.models.commitments.ChangeOrderSettings=PJQ.models.budget.Settings.extend({defaults:{isAPIv2:!0},idAttribute:"settingId",endpoint:function(){return 0<this.options.projectId?PJQ.helpers.urlHelpers.generateEndpoint([{endpoint:"projects",value:this.options.projectId},{endpoint:"commitmentchangeorders"},{endpoint:"settings"}]):PJQ.helpers.urlHelpers.generateEndpoint([{endpoint:"commitmentchangeorders"},{endpoint:"settings"}])}}),PJQ.models.commitments.ChangeOrderUserSettings=PJQ.models.BaseModel.extend({defaults:{isAPIv2:!0},idAttribute:"settingId",endpoint:function(){return PJQ.helpers.urlHelpers.generateEndpoint([{endpoint:"commitmentchangeorders"},{endpoint:"settings"},{endpoint:"user"}])},getSettings:function(e){return _.find(this.attributes.viewSettings,_.bind(function(t){return t.view===e},this))}}),PJQ.models.commitments.ChangeOrderFieldSetting=PJQ.models.BaseModel.extend({defaults:{isAPIv2:!0},idAttribute:"settingId",endpoint:function(){return PJQ.helpers.urlHelpers.generateEndpoint([{endpoint:"settings"},{endpoint:"fields",value:this.id?this.id:"commitmentchangeorders"}])}}),PJQ.collections.commitments.ChangeOrders=PJQ.collections.BaseCollection.extend({defaults:{isAPIv2:!0},model:PJQ.models.commitments.ChangeOrder,endpoint:function(){var t=[];return this.options.costCodeId&&this.options.costTypeId&&t.push({parameter:"costCodeId",value:this.options.costCodeId},{parameter:"costTypeId",value:this.options.costTypeId}),PJQ.helpers.urlHelpers.generateEndpoint([{endpoint:"projects",value:this.options.projectId},{endpoint:"commitmentchangeorders"}],t)},getTotalAmountsByStatus:function(){var t={};return _.each(PJQ.constants.commitments.changeOrderStatusBuckets,function(e){var i=0;_.each(this.models,function(t){-1!==e.statuses.indexOf(t.get("statusId"))&&(i+=t.get("amount"))}),t[e.name]=i},this),t}}),PJQ.collections.commitments.ChangeOrderHistory=PJQ.collections.BaseCollection.extend({defaults:{isAPIv2:!0},model:PJQ.models.commitments.ChangeOrderHistoryItem,endpoint:function(){return PJQ.helpers.urlHelpers.generateEndpoint([{endpoint:"commitmentchangeorders",value:this.options.changeOrderId},{endpoint:"history"}])}}),PJQ.collections.commitments.ChangeOrderLineItems=PJQ.collections.BaseCollection.extend({defaults:{isAPIv2:!0},model:PJQ.models.commitments.ChangeOrderLineItem,endpoint:function(){return PJQ.helpers.urlHelpers.generateEndpoint([{endpoint:"commitmentchangeorders",value:this.options.changeOrderId},{endpoint:"lineitems"}],[])}}),PJQ.collections.commitments.ChangeOrderAttachments=PJQ.collections.files.Files.extend({defaults:{isAPIv2:!0},model:PJQ.models.commitments.ChangeOrderAttachment,endpoint:function(){return PJQ.helpers.urlHelpers.generateEndpoint([{endpoint:"commitmentchangeorders",value:this.options.changeOrderId},{endpoint:"attachments"}])}}),PJQ.collections.commitments.ChangeOrderCustomFields=PJQ.collections.BaseCollection.extend({defaults:{isAPIv2:!0},model:PJQ.models.commitments.ChangeOrderCustomField,endpoint:function(){return 0<this.options.projectId?PJQ.helpers.urlHelpers.generateEndpoint([{endpoint:"projects",value:this.options.projectId},{endpoint:"commitmentchangeorders"},{endpoint:"customfields"}]):PJQ.helpers.urlHelpers.generateEndpoint([{endpoint:"commitmentchangeorders"},{endpoint:"customfields"}])}}),PJQ.collections.commitments.ChangeOrderFieldSettings=PJQ.collections.BaseCollection.extend({defaults:{isAPIv2:!0},model:PJQ.models.commitments.ChangeOrderFieldSetting,endpoint:function(){return 0<this.options.projectId?PJQ.helpers.urlHelpers.generateEndpoint([{endpoint:"projects",value:this.options.projectId},{endpoint:"settings"},{endpoint:"fields",value:"commitmentchangeorders"}]):PJQ.helpers.urlHelpers.generateEndpoint([{endpoint:"settings"},{endpoint:"fields",value:"commitmentchangeorders"}])}}),PJQ.views.commitments.ChangeOrderSettingsModal=PJQ.views.BaseModal.extend({defaults:{template:new PJQ.templating.Template(PJQ.constants.modules.COMMITMENTS,"modal-commitment-change-order-settings"),minWidth:"600px"},events:{"change .select-column":"columnSelected","click .btn-edit-company-default":"editCompanySettings","click button.settings-save":"onSave"},beforeModalCreated:function(){this.userSettings=this.options.changeOrdersView.userSettings},beforeRender:function(){this.options.userSettings=[],this.options.defaultStatusFilter=this.userSettings.get("defaultStatusFilter"),_.each(this.userSettings.attributes.viewSettings,_.bind(function(t){var e=this.options.changeOrdersView.dataTable.getColumns(!0),i=0<_.size(t.columns)?t.columns:t.columnsDefault;_.each(e,_.bind(function(t){t.visible=-1!==i.indexOf(t.columnData)},this)),this.options.userSettings.push({view:t.view,rowsPerPage:t.rowsPerPage,columns:e})},this))},renderData:function(){return{userSettings:this.userSettings}},afterRender:function(){this.defaultFilterSelectPicker=new PJQ.inputs.Selectpicker({el:this.$(".select-filter-default"),isIntChoices:!0,isMultiple:!0,defaultValue:this.userSettings.get("defaultStatusFilter"),onChange:_.bind(function(t){this.options.defaultStatusFilter=t},this)}),this.rowsPerPage=new PJQ.inputs.Selectpicker({el:this.$("select.rows-per-page"),isIntChoices:!0,onChange:_.bind(function(t){this.currentView.rowsPerPage=t},this)}),this.selectView(PJQ.constants.commitments.view.CHANGE_ORDERS)},editCompanySettings:function(){this.userSettings=new PJQ.models.commitments.ChangeOrderUserSettings(null,{forCompany:!0}),this.userSettings.fetch({success:_.bind(function(){this.render()},this)})},selectView:function(e){this.currentView=_.find(this.options.userSettings,_.bind(function(t){return t.view===e},this)),-1===e.indexOf("-")?(this.rowsPerPage.setValue(this.currentView.rowsPerPage),this.$("div.rows-per-page").show()):this.$("div.rows-per-page").hide(),this.dataTable&&(this.dataTable.undelegateEvents(),$(this.dataTable.el).empty()),this.dataTable=new PJQ.views.dataTables.DataTable({el:this.$("div.select-columns-datatable"),data:this.currentView.columns,isHideSearch:!0,pageLength:6,order:[],columns:[{data:"title",title:"Column",orderable:!1},{data:"visible",title:"Show",orderable:!1,searchable:!1,render:_.bind(function(t){return'<div class="text-align-center"><div class="pretty p-default p-smooth fs-18 m-0"><input type="checkbox"'+(t?" checked ":"")+'class="select-column"/><div class="state p-primary"><label class="wd-0">&nbsp;</label></div></div></div>'},this),width:"10%"}],dom:'<"top"<"clear">>rt<"bottom"p<"clear">>'})},columnSelected:function(t){this.dataTable.dataTable.row($(t.currentTarget).closest("tr")).data().visible=$(t.currentTarget).prop("checked")},onSave:function(){var t=_.bind(function(){"function"==typeof this.options.onSave&&this.options.onSave(),this.removeModal()},this);this.userSettings.set("defaultStatusFilter",this.options.defaultStatusFilter),_.each(this.options.userSettings,_.bind(function(e){_.each(this.userSettings.get("viewSettings"),_.bind(function(t){if(e.view===t.view){t.rowsPerPage=e.rowsPerPage;var i=0<_.size(t.columns)?t.columns.slice():t.columnsDefault.slice();_.each(e.columns,_.bind(function(e){e.visible?-1===i.indexOf(e.columnData)&&i.push(e.columnData):-1!==i.indexOf(e.columnData)&&(i=_.filter(i,_.bind(function(t){return t!=e.columnData},this)))},this)),t.columns=i}},this))},this)),this.userSettings.save(null,{success:_.bind(function(){t()},this)})}}),PJQ.views.commitments.CommitmentDataTable=PJQ.views.dataTables.DataTable.extend({defaults:{language:{emptyTable:"No Commitments have been created yet",zeroRecords:"No Commitments matched the search criteria"},subTemplates:{header:new PJQ.templating.Template(PJQ.constants.modules.COMMITMENTS,"data-table-header-commitments")},toggleRowClass:".commitment-toggle-row"},events:{"click .view-commitment":"viewCommitmentClicked"},beforeDataTableRender:function(){this.options.pageLength=this.options.settings?this.options.settings.rowsPerPage:10},getDefaultFilter:function(){var t={};return t[PJQ.constants.commitments.filterType.TYPE_FILTER]=this.options.userSettings.get("defaultCommitmentTypeFilter"),t[PJQ.constants.commitments.filterType.TYPE_FILTER]=_.map(t[PJQ.constants.commitments.filterType.TYPE_FILTER],function(t){return-1*t}),t[PJQ.constants.commitments.filterType.STATUS_FILTER]=0<_.size(this.options.statusIds)?this.options.statusIds:this.options.userSettings.get("defaultCommitmentStatusFilter"),t},afterSearch:function(){"function"==typeof this.options.afterSearch&&this.options.afterSearch()},afterHeaderRender:function(){new PJQ.inputs.Selectpicker({el:this.$(".commitments-filter"),defaultValue:this.getDefaultFilter(),isGrouped:!0,isIntChoices:!0,isMultiple:!0,noneSelectedText:"No Filters",onChange:_.bind(function(t){_.each(t,_.bind(function(t,e){e===PJQ.constants.commitments.filterType.TYPE_FILTER&&(t=_.map(t,function(t){return-1*t})),this.setFilter(e,t)},this))},this)}),_.each(this.getDefaultFilter(),function(t,e){e===PJQ.constants.commitments.filterType.TYPE_FILTER&&(t=_.map(t,function(t){return-1*t})),this.setFilter(e,t)},this)},getFilterData:function(){var e=this.getFilter(PJQ.constants.commitments.filterType.TYPE_FILTER),i=this.getFilter(PJQ.constants.commitments.filterType.STATUS_FILTER);
1return 0===_.size(e)&&0===_.size(i)?this.options.data:_.filter(this.options.data,function(t){return(0===_.size(e)||_.contains(e,t.get("commitmentType")))&&(0===_.size(i)||_.contains(i,t.get("statusId")))})},getColumns:function(){var s=this,t=0<arguments.length&&void 0!==arguments[0]&&arguments[0],e=[],i=["createdOn","commitmentType","number","title","description","commitmentStatus","deliveryDate","startDate","estimatedCompletionDate","actualCompletionDate","contractDate","signedContractReceivedDate","executionDate","issuedOnDate","returnedDate","letterOfIntentDate","approvalLetterDate","paymentTerms","shipVia","inclusions","exclusions","contractedContact.companyName","status","amount","markupAmount","taxAmount","defaultWorkRetainage","defaultMaterialRetainage","currentRetainage","grandTotal","approvedChanges","contractTotal","progressAmount","amountRemaining"];return this.options.customFields&&_.each(this.options.customFields.models,_.bind(function(t){i.push("fieldValue"+t.get("fieldNumber"))},this)),t||(i=0<_.size(this.options.settings.columns)?this.options.settings.columns:this.options.settings.columnsDefault,e.push({columnData:"erpObject",data:null,title:"",width:"20px",orderable:!1,searchable:!1,defaultContent:"",render:function(t,e,i){if(!s.options.isAdmin)return"";var n=i.get("externalObject");return null==n?"":PJQ.helpers.erp.getERPBadge(n.status,n)}})),_.each(i,_.bind(function(t){switch(t){case"status":e.push({columnData:"status",data:"attributes.statusId",title:"Status",width:"100px",render:_.bind(function(t,e,i){return PJQ.constants.commitments.commitmentStatusNames[i.get("statusId")]},this)});break;case"commitmentType":e.push({columnData:"commitmentType",data:"attributes.commitmentType",title:"Type",width:"110px",render:_.bind(function(t,e,i){return PJQ.constants.commitments.commitmentTypeNames[i.get("commitmentType")]},this)});break;case"number":e.push({columnData:"number",data:"attributes.number",title:"Number",render:_.bind(function(t,e,i){return"sort"===e||"type"===e?i.get("number"):'<a class="btn-view-commitment" href="javascript:void(0)" data-id="'+i.get("number")+'">'+i.get("number")+"</a>"},this)});break;case"title":e.push({columnData:"title",data:"attributes.title",title:"Title"});break;case"description":e.push({columnData:"description",data:"attributes.description",title:"Description"});break;case"createdOn":e.push({columnData:"createdOn",data:"attributes.createdOn",title:"Created",width:"90px",render:_.bind(function(t,e,i){return 0===_.size(t)?"":"sort"===e||"type"===e?t?new Date(t):null:PJQ.helpers.dateHelpers.getDateString(new Date(t),PJQ.helpers.dateHelpers.dateFormats.DATE_TIME)},this)});break;case"deliveryDate":e.push({columnData:"deliveryDate",data:"attributes.deliveryDate",title:"Delivery",width:"90px",render:_.bind(function(t,e,i){return 0===_.size(t)?"":"sort"===e||"type"===e?t?new Date(t):null:PJQ.helpers.dateHelpers.getDateString(new Date(t),PJQ.helpers.dateHelpers.dateFormats.DATE,!0)},this)});break;case"startDate":e.push({columnData:"startDate",data:"attributes.startDate",title:"Start",width:"90px",render:_.bind(function(t,e,i){return 0===_.size(t)?"":"sort"===e||"type"===e?t?new Date(t):null:PJQ.helpers.dateHelpers.getDateString(new Date(t),PJQ.helpers.dateHelpers.dateFormats.DATE,!0)},this)});break;case"estimatedCompletionDate":e.push({columnData:"estimatedCompletionDate",data:"attributes.estimatedCompletionDate",title:"Est. Complete",width:"90px",render:_.bind(function(t,e,i){return 0===_.size(t)?"":"sort"===e||"type"===e?t?new Date(t):null:PJQ.helpers.dateHelpers.getDateString(new Date(t),PJQ.helpers.dateHelpers.dateFormats.DATE,!0)},this)});break;case"actualCompletionDate":e.push({columnData:"actualCompletionDate",data:"attributes.actualCompletionDate",title:"Act. Complete",width:"90px",render:_.bind(function(t,e,i){return 0===_.size(t)?"":"sort"===e||"type"===e?t?new Date(t):null:PJQ.helpers.dateHelpers.getDateString(new Date(t),PJQ.helpers.dateHelpers.dateFormats.DATE,!0)},this)});break;case"contractDate":e.push({columnData:"contractDate",data:"attributes.contractDate",title:"Contract Date",width:"90px",render:_.bind(function(t,e,
1i){return 0===_.size(t)?"":"sort"===e||"type"===e?t?new Date(t):null:PJQ.helpers.dateHelpers.getDateString(new Date(t),PJQ.helpers.dateHelpers.dateFormats.DATE,!0)},this)});break;case"signedContractReceivedDate":e.push({columnData:"signedContractReceivedDate",data:"attributes.signedContractReceivedDate",title:"Signed Date",width:"90px",render:_.bind(function(t,e,i){return 0===_.size(t)?"":"sort"===e||"type"===e?t?new Date(t):null:PJQ.helpers.dateHelpers.getDateString(new Date(t),PJQ.helpers.dateHelpers.dateFormats.DATE,!0)},this)});break;case"executionDate":e.push({columnData:"executionDate",data:"attributes.executionDate",title:"Execution Date",width:"90px",render:_.bind(function(t,e,i){return 0===_.size(t)?"":"sort"===e||"type"===e?t?new Date(t):null:PJQ.helpers.dateHelpers.getDateString(new Date(t),PJQ.helpers.dateHelpers.dateFormats.DATE,!0)},this)});break;case"issuedOnDate":e.push({columnData:"issuedOnDate",data:"attributes.issuedOnDate",title:"Issued On",width:"90px",render:_.bind(function(t,e,i){return 0===_.size(t)?"":"sort"===e||"type"===e?t?new Date(t):null:PJQ.helpers.dateHelpers.getDateString(new Date(t),PJQ.helpers.dateHelpers.dateFormats.DATE,!0)},this)});break;case"returnedDate":e.push({columnData:"returnedDate",data:"attributes.returnedDate",title:"Returned On",width:"90px",render:_.bind(function(t,e,i){return 0===_.size(t)?"":"sort"===e||"type"===e?t?new Date(t):null:PJQ.helpers.dateHelpers.getDateString(new Date(t),PJQ.helpers.dateHelpers.dateFormats.DATE,!0)},this)});break;case"letterOfIntentDate":e.push({columnData:"letterOfIntentDate",data:"attributes.letterOfIntentDate",title:"Letter of Intent",width:"90px",render:_.bind(function(t,e,i){return 0===_.size(t)?"":"sort"===e||"type"===e?t?new Date(t):null:PJQ.helpers.dateHelpers.getDateString(new Date(t),PJQ.helpers.dateHelpers.dateFormats.DATE,!0)},this)});break;case"approvalLetterDate":e.push({columnData:"approvalLetterDate",data:"attributes.approvalLetterDate",title:"Ap
1proval Letter",width:"90px",render:_.bind(function(t,e,i){return 0===_.size(t)?"":"sort"===e||"type"===e?t?new Date(t):null:PJQ.helpers.dateHelpers.getDateString(new Date(t),PJQ.helpers.dateHelpers.dateFormats.DATE,!0)},this)});break;case"paymentTerms":e.push({columnData:"paymentTerms",data:"attributes.paymentTerms",title:"Payment Terms"});break;case"shipVia":e.push({columnData:"shipVia",data:"attributes.shipVia",title:"Shipping Info"});break;case"inclusions":e.push({columnData:"inclusions",data:"attributes.inclusions",title:"Inclusions"});break;case"exclusions":e.push({columnData:"exclusions",data:"attributes.exclusions",title:"Exclusions"});break;case"contractedContact.companyName":e.push({columnData:"contractedContact.companyName",title:"Company",titleSettings:"Contracted Company",render:_.bind(function(t,e,i){return i.get("contractedContact")?i.get("contractedContact").companyName:"N/A"},this)});break;case"amount":e.push({columnData:"amount",data:"attributes.amount",width:"150px",title:"Amount",className:"text-align-right",render:_.bind(function(t,e,i){return PJQ.helpers.formatHelpers.formatCurrency(i.get("amount"))},this)});break;case"taxAmount":e.push({columnData:"taxAmount",data:"attributes.taxAmount",title:"Tax",width:"100px",render:_.bind(function(t,e,i){return PJQ.helpers.formatHelpers.formatCurrency(t)},this)});break;case"markupAmount":e.push({columnData:"markupAmount",data:"attributes.markupAmount",title:"Markup",width:"100px",render:_.bind(function(t,e,i){return PJQ.helpers.formatHelpers.formatCurrency(t)},this)});break;case"defaultWorkRetainage":e.push({columnData:"defaultWorkRetainagePercent",data:"attributes.defaultWorkRetainagePercent",width:"150px",title:"Default Work Retainage",className:"text-align-right",render:function(t,e,i){var n;return PJQ.helpers.formatHelpers.formatPercent(null!==(n=i.get("defaultWorkRetainagePercent"))&&void 0!==n?n:0)}});break;case"defaultMaterialRetainage":e.push({columnData:"defaultMaterialRetainagePercent",data:"attributes.defaultMaterialRetainagePercent",width:"150px",title:"Default Material Retainage",className:"text-align-right",render:function(t,e,i){var n;return PJQ.helpers.formatHelpers.formatPercent(null!==(n=i.get("defaultMaterialRetainagePercent"))&&void 0!==n?n:0)}});break;case"currentRetainage":e.push({columnData:"currentRetainage",data:"attributes.retainageAmount",width:"150px",title:"Current Retainage",className:"text-align-right",render:function(t,e,i){var n,s,o=(null!==(n=i.get("retainageAmount"))&&void 0!==n?n:0)-(null!==(s=i.get("retainageReleasedAmount"))&&void 0!==s?s:0);return"sort"===e||"type"===e?o:PJQ.helpers.formatHelpers.formatCurrency(o)}});break;case"grandTotal":e.push({columnData:"grandTotal",data:"attributes.amount",title:"Grand Total",width:"100px",render:_.bind(function(t,e,i){return PJQ.helpers.formatHelpers.formatCurrency(i.getGrandTotal())},this)});break;case"approvedChanges":e.push({columnData:"approvedChanges",data:"attributes.approvedChanges",width:"150px",title:"Approved Changes",className:"text-align-right",render:_.bind(function(t,e,i){return PJQ.helpers.formatHelpers.formatCurrency(i.get("approvedChanges"))},this)});break;case"contractTotal":e.push({columnData:"contractTotal",data:"attributes.amount",width:"150px",title:"Contract Total",className:"text-align-right",render:_.bind(function(t,e,i){return PJQ.helpers.formatHelpers.formatCurrency(i.get("amount")+i.get("approvedChanges"))},this)});break;case"progressAmount":e.push({columnData:"progressAmount",data:"attributes.progressAmount",width:"150px",title:"Billed to Date",className:"text-align-right",render:_.bind(function(t,e,i){return PJQ.helpers.formatHelpers.formatCurrency(i.get("progressAmount"))},this)});break;case"amountRemaining":e.push({columnData:"amountRemaining",data:"attributes.amountRemaining",width:"150px",title:"Amount Remaining",className:"text-align-right",render:_.bind(function(t,e,i){return PJQ.helpers.formatHelpers.formatCurrency(i.get("amount")+i.get("approvedChanges")-i.get("progressAmount"))},this)});break;default:t.startsWith("fieldValue")&&_.each(this.options.customFields.models,function(o){t==="fieldValue"+o.get("fieldNumber")&&e.push({columnData:"fieldValue"+o.get("fieldNumber"),title:o.get("name"),className:-1!==[PJQ.constants.commitments.customFieldType.INTEGER,PJQ.constants.commitments.customFieldType.MONEY,PJQ.constants.commitments.customFieldType.PERCENT].indexOf(o.get("fieldTypeId"))?"text-align-right":"",render:function(t,e,
1i){var n=i.getCustomFieldValue(o.get("id"));switch(n=null!==n?n:"",o.get("fieldTypeId")){case PJQ.constants.commitments.customFieldType.BOOLEAN:null!=n&&(n=n?"Yes":"No");break;case PJQ.constants.commitments.customFieldType.CHOICE:var s=[];"number"==typeof n&&(n=[n]),_.each(o.choices.models,_.bind(function(e){_.find(n,function(t){return t===e.get("id")})&&s.push(e.get("name"))},this)),n=s.join(", ");break;case PJQ.constants.commitments.customFieldType.DATE:n&&"sort"!==e&&"type"!==e&&(n=PJQ.helpers.dateHelpers.getDateString(new Date(n),PJQ.helpers.dateHelpers.dateFormats.DATE,!0)),void 0===n&&(n="");break;case PJQ.constants.commitments.customFieldType.DATETIME:n&&"sort"!==e&&"type"!==e&&(n=PJQ.helpers.dateHelpers.getDateString(new Date(n),PJQ.helpers.dateHelpers.dateFormats.DATE_TIME)),void 0===n&&(n="");break;case PJQ.constants.commitments.customFieldType.INTEGER:"sort"!==e&&"type"!==e&&n&&(n=parseInt(n).toLocaleString());break;case PJQ.constants.commitments.customFieldType.MONEY:n="sort"===e||"type"===e?n&&"$"!==n?parseFloat(PJQ.helpers.formatHelpers.numbersOnly(n,!0)):0:PJQ.helpers.formatHelpers.formatCurrency(parseInt(PJQ.helpers.formatHelpers.numbersOnly(n)));break;case PJQ.constants.commitments.customFieldType.PERCENT:"sort"===e||"type"===e?n||(n=0):n=n?PJQ.helpers.formatHelpers.formatCurrency(parseInt(PJQ.helpers.formatHelpers.numbersOnly(n)),2,!1)+"%":""}return n}})})}},this)),t||e.push({title:"",render:_.bind(function(t,e,i){return'<div class="show-on-row-hover"><button type="button" class="btn btn-info btn-view-commitment ml-1" title="View commitment"><i class="fal fa-arrow-alt-from-left"></i></button></div>'},this),orderable:!1,searchable:!1,width:"90px",className:"text-center",visible:!0}),e},getRowChildTable:function(t){return t.costTypes=this.options.costTypes,t.unitsOfMeasure=this.options.unitsOfMeasure,t.groups=this.options.groups,t.parentDataTable=this,t.dom="t",new PJQ.views.commitments.LineItemDataTable(t)},getRowChildData:function(t){return new PJQ.collections.commitments.CommitmentLineItems(null,{commitmentId:t.data().id})}}),PJQ.views.commitments.LineItemDataTable=PJQ.views.commitments.BaseDataTable.extend({defaults:{language:{zeroRecords:"No Line Items Added"},canEdit:!1,onEditLineItem:_.noop,onDeleteLineItem:_.noop},getColumns:function(){var t,e=0<arguments.length&&void 0!==arguments[0]&&arguments[0],i=[];return t=this.options.parentData&&this.options.parentData.get("accountingMethod")===PJQ.constants.budget.accountingMethod.AMOUNT?["group","costTypeDescription","description","amount","billedToDate","amountRemaining"]:["group","costTypeDescription","description","quantity","unitOfMeasure","unitPrice","amount","billedToDate","amountRemaining"],_.each(t,_.bind(function(t){switch(t){case"description":i.push({columnData:"description",data:"attributes.description",title:"Description"});break;case"quantity":i.push({columnData:"quantity",data:"attributes.quantity",width:"8%",title:"Units",render:_.bind(function(t,e,i){return PJQ.helpers.formatHelpers.formatDecimal(i.get("quantity"),2)},this)});break;case"unitOfMeasure":i.push({columnData:"unitOfMeasure",data:"attributes.unitId",orderable:!this.options.canEdit,title:"Unit",width:"5%",render:_.bind(function(t,e,i){var n=this.options.unitsOfMeasure.get(i.get("unitId"));return n?n.get("code"):""},this)});break;case"unitPrice":i.push({columnData:"unitPrice",data:"attributes.unitPrice",width:"10%",title:"Unit Price",className:"text-align-right",render:_.bind(function(t,e,i){return PJQ.helpers.formatHelpers.formatCurrency(i.get("unitPrice"))},this)});break;case"amount":i.push({columnData:"amount",data:"attributes.amount",width:"10%",title:"Amount",className:"text-align-right",render:_.bind(function(t,e,i){return PJQ.helpers.formatHelpers.formatCurrency(i.get("amount"))},this)});break;case"billedToDate":i.push({columnData:"billedToDate",data:"attributes.billedToDate",width:"10%",title:"Billed",className:"text-align-right",render:_.bind(function(t,e,i){return PJQ.helpers.formatHelpers.formatCurrency(i.get("billedToDate"))},this)});break;case"amountRemaining":i.push({columnData:"amountRemaining",data:"attributes.amountRemaining",width:"10%",title:"Amount Remaining",className:"text-align-right",render:_.bind(function(t,e,
1i){return PJQ.helpers.formatHelpers.formatCurrency(i.get("amount")-i.get("billedToDate"))},this)});break;case"group":i.push({columnData:"group",title:"Cost Code",render:_.bind(function(t,e,i){var n=this.options.groups.get(i.get("groupId"));return n?n.get("groupName"):""},this)});break;case"costType":i.push({columnData:"costType",title:"Type Code",titleSettings:"Cost Type",width:"8%",render:_.bind(function(t,e,i){var n=this.options.costTypes.get(i.get("costTypeId"));return n?n.get("code"):""},this)});break;case"costTypeDescription":i.push({columnData:"costTypeDescription",title:"Type",render:_.bind(function(t,e,i){var n=this.options.costTypes.get(i.get("costTypeId"));return n?n.get("name"):""},this)})}},this)),!e&&this.options.canEdit&&i.push({title:"",render:_.bind(function(t,e,i){var n='<div class="show-on-row-hover">';return n+='<button type="button" class="btn btn-info edit-line-item ml-1" title="View Line Item"><i class="fal fa-arrow-alt-from-left"></i></button>',PJQ.app.session.project.hasPermission("commitments.canEdit")&&(n+='<button type="button" class="btn btn-danger delete-line-item ml-1" title="Delete Line Item"><i class="fal fa-trash"></i></button>'),n+="</div>"},this),orderable:!1,searchable:!1,width:"90px",className:"text-center",visible:!0}),i}}),PJQ.views.commitments.CommitmentEditModal=PJQ.views.BaseModal.extend({defaults:{template:new PJQ.templating.Template(PJQ.constants.modules.COMMITMENTS,"modal-commitment-edit"),width:"95%",maxWidth:1500,model:null,fromChangeRequest:null,commitmentType:null,isShowCloseButton:!0,onSave:_.noop(),onDelete:_.noop()},events:{"click .copy-to-billto":"copyToHelper","click .copy-to-shipto":"copyToHelper","click .btn-new-change-order":"newChangeOrder","click .btn-view-change-order":"viewChangeOrderClicked","click .btn-new-invoice":"newInvoice","click .btn-view-invoice":"viewInvoiceClicked","click .btn-delete":"deleteCommitment","click .btn-close":"close","change .input-coi-required":"renderCOIApproval","change .input-w9-required":"renderW9Approval","change .input-lien-waiver-required":"renderLienWaiverApproval","click .btn-save-email":"saveEmail","click .btn-save":"saveCommitment","click .btn-submit-for-review":"submitForReview","click .btn-sign-submit":"signAndSubmit","click .btn-push-erp":"pushERP","click .btn-undo-push-erp":"undoPushERP","click .btn-unlink-erp":"unlinkERP","click .btn-export":"exportCommitment","click .btn-email":"email","keydown .input-percent":"numbersOnly","change .input-percent":"formatPercent","click .nav-link":"activeViewChanged","click .btn-view-payment":"viewPaymentClicked","click .btn-view-history":"viewHistory"},beforeModalCreated:function(){var t=_asyncToGenerator(_regeneratorRuntime().mark(function t(){var e,n;return _regeneratorRuntime().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return this.isFetched=!1,this.options.project=this.options.project?this.options.project:PJQ.app.session.project,t.next=4,this.options.project.fetchCommitmentFieldSettings();case 4:return this.coreFieldSettings=t.sent,t.next=7,this.options.project.fetchCommitmentTerms();case 7:return this.terms=t.sent,t.next=10,this.options.project.fetchCommitmentCustomFields();case 10:return this.customFields=t.sent,t.next=13,this.options.project.fetchCommitmentSettings();case 13:if(this.settings=t.sent,this.invoiceSettings=null,this.options.project.hasPermission("payableInvoices.canView"))return t.next=18,this.options.project.fetchPayableInvoiceSettings();t.next=19;break;case 18:this.invoiceSettings=t.sent;case 19:return t.next=21,this.options.project.fetchCostCodes();case 21:return this.costCodes=t.sent,t.next=24,this.options.project.fetchCostTypes();case 24:return this.costTypes=t.sent,t.next=27,this.options.project.fetchUnitsOfMeasure();case 27:return this.unitsOfMeasure=t.sent,t.next=30,PJQ.app.session.fetchERPIntegration();case 30:if(this.erpIntegration=t.sent,this.uploadCustomFields=_.filter(this.customFields.models,function(t){return 13===t.get("fieldTypeId")},this),null!=this.erpIntegration&&this.erpIntegration.getSetting("syncProjects"))return t.next=35,this.options.project.fetchERPObject();t.next=35;break;case 35:if(null==this.model&&(n=[],_.each(this.customFields.models,function(t,e){var i=t.get("defaultValue")?t.get("defaultValue"):"";
1"CHOICE"===t.get("fieldType")&&(i=parseInt(i)),n.push({fieldNumber:t.get("fieldNumber"),fieldTypeId:t.get("fieldTypeId"),fieldType:t.get("fieldType"),isMultiple:t.get("isMultiple"),value:i,id:t.get("id")})},this),this.model=new PJQ.models.commitments.Commitment({accountingMethod:this.settings.get("defaultAccountingMethod"),contractedContact:null!==(e=this.options.contractedContact)&&void 0!==e?e:null,commitmentType:this.options.commitmentType?this.options.commitmentType:PJQ.constants.commitments.commitmentType.PURCHASE_ORDER,title:this.options.fromChangeRequest?this.options.fromChangeRequest.get("title"):"",description:this.options.fromChangeRequest?this.options.fromChangeRequest.get("description"):"",projectId:PJQ.app.session.project.id,statusId:PJQ.constants.commitments.commitmentStatus.DRAFT,billTo:{},shipTo:{},lineItems:this.options.lineItems,customFieldValues:n})),this.model.isNew()&&this.model.set({defaultWorkRetainagePercent:this.settings.get("defaultWorkRetainagePercent"),defaultMaterialRetainagePercent:this.settings.get("defaultMaterialRetainagePercent")}),this.model.isNew()||!1===this.options.fetch){t.next=40;break}return t.next=40,this.model.fetch();case 40:this.isFetched=!0,this.render();case 42:case"end":return t.stop()}},t,this)}));return function(){return t.apply(this,arguments)}}(),beforeRender:function(){if(this.isFetched){this.options.hasEditPermission=this.options.project.hasPermission("commitments.canEdit"),this.options.canEdit=this.options.hasEditPermission,this.options.canEditDates=this.options.hasEditPermission,this.options.canUploadAttachments=this.options.canEdit,this.options.canEditLineItems=this.options.project.hasPermission("commitments.canEditLineItems"),this.options.canViewChangeOrders=this.options.project.hasPermission("commitmentChangeOrders.canView"),this.options.canAddChangeOrders=this.options.project.hasPermission("commitmentChangeOrders.canAdd"),this.options.canViewInvoices=this.options.project.hasPermission("payableInvoices.canView"),this.options.canAddInvoices=this.options.project.hasPermission("payableInvoices.canAdd"),this.options.isAdmin=this.options.project.hasPermission("commitments.isAdmin"),this.options.canDelete=this.options.isAdmin,this.options.canEditStatus=this.options.isAdmin,this.options.disabledStatuses=null;var t=function(e){return _.filter(PJQ.constants.commitments.commitmentStatus,function(t){return t<e})},e=this.model.get("statusId");e===PJQ.constants.commitments.commitmentStatus.APPROVED||e===PJQ.constants.commitments.commitmentStatus.SUBCONTRACT_COMPLETE?(this.options.canAddChangeOrders=PJQ.app.session.project.hasPermission("commitmentChangeOrders.canAdd"),this.options.canAddInvoices=PJQ.app.session.project.hasPermission("payableInvoices.canAdd")):(this.options.canAddChangeOrders=!1,this.options.canAddInvoices=!1);var i=PJQ.app.session.contact&&PJQ.app.session.contact.id===this.model.get("contractedContactId")||null!=this.model.contractedContact&&PJQ.app.session.user.id===this.model.contractedContact.get("userId");if(this.options.isSubmitting=i&&(e===PJQ.constants.commitments.commitmentStatus.DRAFT||e===PJQ.constants.commitments.commitmentStatus.SUBCONTRACT_OUT_FOR_BID||e===PJQ.constants.commitments.commitmentStatus.OUT_FOR_SIGNATURE),e===PJQ.constants.commitments.commitmentStatus.DRAFT?(this.options.canEdit=i||this.options.hasEditPermission,this.options.canEditDates=this.options.canEdit,this.options.canUploadAttachments=this.options.canEdit,this.options.canEditLineItems=PJQ.app.session.project.hasPermission("commitments.canEditLineItems")):e===PJQ.constants.commitments.commitmentStatus.PURCHASE_ORDER_PROCESSING||e===PJQ.constants.commitments.commitmentStatus.SUBCONTRACT_OUT_FOR_BID?(this.options.canUploadAttachments=i||this.options.canEdit,this.options.canEditLineItems=i||PJQ.app.session.project.hasPermission("commitments.canEditLineItems")):e===PJQ.constants.commitments.commitmentStatus.OUT_FOR_SIGNATURE?(this.options.canUploadAttachments=i||this.options.canEdit,this.options.canEditLineItems=this.options.isAdmin):e===PJQ.constants.commitments.commitmentStatus.APPROVED||e===PJQ.constants.commitments.commitmentStatus.SUBCONTRACT_COMPLETE||e===PJQ.constants.commitments.commitmentStatus.SUBCONTRACT_TERMINATED||e===PJQ.constants.commitments.commitmentStatus.SUBCONTRACT_VOID||e===PJQ.constants.commitments.commitmentStatus.PURCHASE_ORDER_CLOSED?(this.options.canEditLineItems=!1,this.options.canDelete=!1):e===PJQ.constants.commitments.commitmentStatus.SUBMITTED&&(this.options.canEditLineItems=!1),0<this.model.invoices.models.length&&(this.options.disabledStatuses=t(PJQ.constants.commitments.commitmentStatus.APPROVED),this.options.canEditLineItems=!1),null!=this.erpIntegration){var n=this.model.erpSyncStatus();n!==PJQ.constants.integrations.erp.syncStatuses.REVIEWING&&n!==PJQ.constants.integrations.erp.syncStatuses.APPROVED&&n!==PJQ.constants.integrations.erp.syncStatuses.SYNCED||(this.options.disabledStatuses=t(PJQ.constants.commitments.commitmentStatus.APPROVED),this.options.canEdit=!1,this.options.canEditLineItems=!1,this.options.canDelete=!1,this.options.isSubmitting=!1)}}},renderData:function(){return{model:this.model,erpIntegration:this.erpIntegration,customFields:this.customFields,canViewChangeOrders:this.options.canViewChangeOrders,canAddChangeOrders:this.options.canAddChangeOrders,canViewInvoices:this.options.canViewInvoices,canAddInvoices:this.options.canAddInvoices,isSubmitting:this.options.isSubmitting,canEdit:this.options.canEdit,canUploadAttachments:this.options.canUploadAttachments,canEditLineItems:this.options.canEditLineItems,canDelete:this.options.canDelete,isAdmin:this.options.isAdmin,isFetched:this.isFetched,activeView:this.options.activeView,views:this.views,terms:this.terms,settings:this.settings,invoiceSettings:this.invoiceSettings,checkFieldVisible:_.bind(this.checkFieldVisible,this),checkFieldRequired:_.bind(this.checkFieldRequired,this),uploadCustomFields:this.uploadCustomFields,hasPendingInvoice:this.model&&0<this.model.invoices.models.length&&null!=_.find(this.model.invoices.models,function(t){return t.get("statusId")!==PJQ.constants.invoicing.payableInvoiceStatus.APPROVED&&t.get("statusId")!==PJQ.constants.invoicing.payableInvoiceStatus.COMPLETE})}},afterRender:function(){var n=this;this.isFetched&&(window.testModel=this.model,this.activateView(this.options.activeView),this.stopListening(this.model.markupItems),this.listenTo(this.model.markupItems,"update",function(t){if(t&&t.get("delete")&&(t.lineItem||t.get("lineItemId"))){var e,i=null!==(e=t.lineItem)&&void 0!==e?e:n.model.lineItems.findWhere({appliedMarkupId:t.id});i&&(0<i.get("id")?i.set("delete",!0):n.model.lineItems.remove(i))}n.updateCounts(),n.lineItemsView.render()}),this.stopListening(this.model),this.listenTo(this.model,"change:statusId",function(){n.renderERP()}),this.stopListening(this.model.lineItems),this.listenTo(this.model.lineItems,"update",function(){n.renderERP()}),this.renderERP(),this.renderGeneral(),this.renderLineItems(),this.model.isNew()||(this.options.canViewChangeOrders&&this.renderChangeOrders(),this.options.canViewInvoices&&
1(this.renderInvoices(),this.renderPayments())),this.renderMarkups(),this.updateCounts())},updateCounts:function(){this.$(".count-line-items").text(_.size(_.filter(this.model.lineItems.models,function(t){return!t.get("delete")}))),this.$(".count-change-orders").text(_.size(this.model.changeOrders.models)),this.$(".count-invoices").text(_.size(this.model.invoices.models)),this.$(".count-payments").text(_.size(this.model.payments.models)),this.$(".count-markups").text(_.size(_.filter(this.model.markupItems.models,function(t){return!t.get("delete")})))},views:{GENERAL:"C_General",LINEITEMS:"C_LineItems",CHANGEORDERS:"C_ChangeOrders",INVOICES:"C_Invoices",PAYMENTS:"C_Payments",MARKUPS:"C_Markups",HISTORY:"C_History"},activeViewChanged:function(t){var e=t.target.hash?t.target.hash.replace("#",""):null;this.activateView(e)},activateView:function(t){switch(t){case this.views.LINEITEMS:case this.views.CHANGEORDERS:case this.views.INVOICES:case this.views.PAYMENTS:case this.views.MARKUPS:break;default:t=this.views.GENERAL}this.$('.nav-link[href="#'+t+'"]').tab("show"),this.options.activeView=t},renderGeneral:function(){var i=this;new PJQ.Binder(this.$(".general-pane"),this.model,{canEdit:!!this.options.canEdit&&null,useDecimalPercentFields:!0,watchElements:["input","textarea"]});var e=[];_.each(PJQ.constants.commitments.commitmentStatus,function(t){(i.model.get("commitmentType")!==PJQ.constants.commitments.commitmentType.SUBCONTRACT||t!==PJQ.constants.commitments.commitmentStatus.PURCHASE_ORDER_PROCESSING&&t!==PJQ.constants.commitments.commitmentStatus.PURCHASE_ORDER_PARTIALLY_RECEIVED&&t!==PJQ.constants.commitments.commitmentStatus.PURCHASE_ORDER_RECEIVED&&t!==PJQ.constants.commitments.commitmentStatus.PURCHASE_ORDER_CLOSED)&&(i.model.get("commitmentType")!==PJQ.constants.commitments.commitmentType.PURCHASE_ORDER||t!==PJQ.constants.commitments.commitmentStatus.SUBCONTRACT_OUT_FOR_BID&&t!==PJQ.constants.commitments.commitmentStatus.SUBCONTRACT_COMPLETE&&t!==PJQ.constants.commitments.commitmentStatus.SUBCONTRACT_TERMINATED&&t!==PJQ.constants.commitments.commitmentStatus.SUBCONTRACT_VOID)&&e.push({id:t,name:PJQ.constants.commitments.commitmentStatusNames[t],disabled:null!=i.options.disabledStatuses&&-1<i.options.disabledStatuses.indexOf(t)})}),this.statusPicker=new PJQ.inputs.Selectpicker({el:this.$(".select-status"),choices:e,isIntChoices:!0,defaultValue:this.model.get("statusId"),canEdit:this.options.canEditStatus,onChange:function(t){var e=i.model.get("statusId");t!==e&&(i.model.set("statusId",t),i.model.isNew()?i.render():i.save(function(t){t?PJQ.notifications.notify.successNotify({message:"Commitment saved successfully"}):(i.model.set("statusId",e),i.statusPicker.setValue(e))}))}});var t=_.find(this.terms.models,function(t){return t.get("isDefault")},this);if(this.model.isNew()&&null!=t&&0<t.id&&this.model.set("termsId",t.id),this.termsPicker=new PJQ.inputs.Selectpicker({el:this.$(".select-terms"),isIntChoices:!0,defaultValue:this.model.get("termsId"),noneSelectedText:this.options.canEdit&&this.options.isAdmin?"Select Value":"Not Selected",canEdit:this.options.canEdit&&this.options.isAdmin,onChange:_.bind(function(t){this.model.set("termsId",t||0)},this)}),this.contractCompanyPicker=new PJQ.views.contacts.ContactsSelectInput({el:this.$(".contracted-company"),selectedContact:this.model.contractedContact,canViewContacts:this.options.project.hasPermission("projectContacts.canView"),canEdit:!this.model.isERPSynced()&&this.options.canEdit&&this.options.isAdmin,hideUsers:!0,displayContactsBlock:!0,context:PJQ.constants.contacts.contexts.PROJECTCONTACTS,isSingleChoice:!0,onChange:_.bind(function(t){this.model.contractedContact=t,this.model.set("contractedContactId",t?t.id:null)},this)}),this.invoiceContactPicker=new PJQ.views.contacts.ContactsSelectInput({el:this.$(".invoice-contact"),selectedContact:this.model.invoiceContact,canViewContacts:this.options.project.hasPermission("projectContacts.canView"),canEdit:this.options.canEdit&&this.options.isAdmin,displayContactsBlock:!0,context:PJQ.constants.contacts.contexts.PROJECTCONTACTS,hideUsers:!0,isSingleChoice:!0,onChange:_.bind(function(t){this.model.invoiceContact=t,this.model.set("invoiceContactId",t?t.id:null)},this)}),0<_.size(this.customFields)&&(this.commitmentCustomFieldsForm=new PJQ.views.customFields.CustomFieldsForm({el:this.$(".commitment-custom-fields"),canEdit:this.options.canEdit,isAdmin:this.options.isAdmin,collection:this.customFields,fieldValues:this.model.get("customFieldValues"),onChange:_.bind(function(){this.model.isDirty=!0},this)}
1)),new PJQ.inputs.Datepicker({el:this.$(".start-date"),canEdit:this.options.canEdit,datepickerOptions:{format:PJQ.helpers.dateHelpers.dateFormats.datePicker.DATE,defaultDate:this.model.get("startDate")},onChange:_.bind(function(t){this.model.set("startDate",t)},this)}),new PJQ.inputs.Datepicker({el:this.$(".est-complete-date"),canEdit:this.options.canEdit,datepickerOptions:{format:PJQ.helpers.dateHelpers.dateFormats.datePicker.DATE,defaultDate:this.model.get("estimatedCompletionDate")},onChange:_.bind(function(t){this.model.set("estimatedCompletionDate",t)},this)}),new PJQ.inputs.Datepicker({el:this.$(".act-complete-date"),canEdit:this.options.canEdit,datepickerOptions:{format:PJQ.helpers.dateHelpers.dateFormats.datePicker.DATE,defaultDate:this.model.get("actualCompletionDate")},onChange:_.bind(function(t){this.model.set("actualCompletionDate",t)},this)}),new PJQ.inputs.Datepicker({el:this.$(".contract-date"),canEdit:this.options.canEdit,datepickerOptions:{format:PJQ.helpers.dateHelpers.dateFormats.datePicker.DATE,defaultDate:this.model.get("contractDate")},onChange:_.bind(function(t){this.model.set("contractDate",t)},this)}),this.model.get("commitmentType")===PJQ.constants.commitments.commitmentType.PURCHASE_ORDER){var n;new PJQ.inputs.Datepicker({el:this.$(".delivery-date"),canEdit:this.options.canEdit,datepickerOptions:{format:PJQ.helpers.dateHelpers.dateFormats.datePicker.DATE,defaultDate:this.model.get("deliveryDate")},onChange:_.bind(function(t){this.model.set("deliveryDate",t)},this)});var s=this.model.get("billTo");null==s&&(s={}),0===_.size(s.country)&&(s.country="US"),this.billToStatePicker=new PJQ.inputs.StatePicker({el:this.$(".billto-state"),country:s.country,defaultValue:s.state,size:20,onChange:function(t){var e=i.model.get("billTo");e.state=t,i.model.set("billTo",e)}}),this.billToCountryPicker=new PJQ.inputs.CountryPicker({el:this.$(".billto-country"),defaultValue:s.country,statePicker:this.billToStatePicker,zipInput:this.$(".billto-zip"),enableInternational:this.options.project.preferences.hasPref(PJQ.constants.preferenceTypes.ENABLE_INTERNATIONAL_COUNTRIES),size:20,onChange:function(t){var e=i.model.get("billTo");e.country=t,i.model.set("billTo",e)}}),PJQ.helpers.inputHelpers.inputMaskPhone(this.$("input.billto-phone")),PJQ.helpers.inputHelpers.inputMaskPhone(this.$("input.billto-fax"));var o=this.model.get("shipTo");null==o&&(o={}),0===_.size(o.country)&&(o.country="US"),this.shipToStatePicker=new PJQ.inputs.StatePicker({el:this.$(".shipto-state"),country:o.country,defaultValue:o.state,size:20,onChange:function(t){var e=i.model.get("shipTo");e.state=t,i.model.set("shipTo",e)}}),this.shipToCountryPicker=new PJQ.inputs.CountryPicker({el:this.$(".shipto-country"),defaultValue:null===(n=o)||void 0===n?void 0:n.country,statePicker:this.shipToStatePicker,zipInput:this.$(".shipto-zip"),enableInternational:this.options.project.preferences.hasPref(PJQ.constants.preferenceTypes.ENABLE_INTERNATIONAL_COUNTRIES),size:20,onChange:function(t){var e=i.model.get("shipTo");e.country=t,i.model.set("shipTo",e)}}),PJQ.helpers.inputHelpers.inputMaskPhone(this.$("input.shipto-phone")),PJQ.helpers.inputHelpers.inputMaskPhone(this.$("input.shipto-fax"))}if(this.model.get("commitmentType")===PJQ.constants.commitments.commitmentType.SUBCONTRACT&&(new PJQ.inputs.Datepicker({el:this.$(".signed-contract-date"),canEdit:this.options.canEdit,datepickerOptions:{format:PJQ.helpers.dateHelpers.dateFormats.datePicker.DATE,defaultDate:this.model.get("signedContractReceivedDate")},onChange:_.bind(function(t){this.model.set("signedContractReceivedDate",t)},this)}),new PJQ.inputs.Datepicker({el:this.$(".execution-date"),canEdit:this.options.canEdit,datepickerOptions:{format:PJQ.helpers.dateHelpers.dateFormats.datePicker.DATE,defaultDate:this.model.get("executionDate")},onChange:_.bind(function(t){this.model.set("executionDate",t)},this)}),new PJQ.inputs.Datepicker({el:this.$(".issued-date"),canEdit:this.options.canEdit,datepickerOptions:{format:PJQ.helpers.dateHelpers.dateFormats.datePicker.DATE,defaultDate:this.model.get("issuedOnDate")},onChange:_.bind(function(t){this.model.set("issuedOnDate",t)},this)}),new PJQ.inputs.Datepicker({el:this.$(".returned-date"),canEdit:this.options.canEdit,datepickerOptions:{format:PJQ.helpers.dateHelpers.dateFormats.datePicker.DATE,defaultDate:this.model.get("returnedDate")},onChange:_.bind(function(t){this.model.set("returnedDate",t)},this)}),new PJQ.inputs.Datepicker({el:this.$(".letter-intent-date"),canEdit:this.options.canEdit,datepickerOptions:{format:PJQ.helpers.dateHelpers.dateFormats.datePicker.DATE,defaultDate:this.model.get("letterOfIntentDate")},onChange:_.bind(function(t){this.model.set("letterOfIntentDate",t)},this)}),new PJQ.inputs.Datepicker({el:this.$(".approval-letter-date"),canEdit:this.options.canEdit,datepickerOptions:{format:PJQ.helpers.dateHelpers.dateFormats.datePicker.DATE,defaultDate:this.model.get("approvalLetterDate")},onChange:_.bind(function(t){this.model.set("approvalLetterDate",t)},this)})),this.checkFieldVisible("attachments")){var a=this.$(".commitment-file-uploader");0!==_.size(this.model.attachments.models)||this.options.canUploadAttachments?this.fileUploader=new PJQ.views.files.FileUploaderGrid({el:a,collection:this.model.attachments,canUpload:this.options.canUploadAttachments,useApiV2:!0,canView:!1,canDelete:this.options.isAdmin,previewImageDimension:150,onSuccess:_.bind(function(t){this.model.isDirty=!0,this.fileUploader.clearError()},this),onDelete:_.bind(function(t,e){0<t.get("id")?t.set("delete",!0):t.destroy(),this.model.isDirty=!0,e(
1)},this)}):a.closest(".upload-outer").hide()}if(this.checkFieldVisible("coiAttachments")){var r=this.$(".coi-file-uploader");0!==_.size(this.model.coiAttachments.models)||this.options.canUploadAttachments?(this.coiUploader=new PJQ.views.files.FileUploaderGrid({el:r,collection:this.model.coiAttachments,canUpload:this.options.canUploadAttachments,useApiV2:!0,canView:!1,canDelete:this.options.isAdmin,previewImageDimension:150,onSuccess:_.bind(function(t){this.model.isDirty=!0,this.coiUploader.clearError()},this),onDelete:_.bind(function(t,e){0<t.get("id")?t.set("delete",!0):t.destroy(),this.model.isDirty=!0,e()},this)}),this.renderCOIApproval()):r.closest(".upload-outer").hide()}if(this.checkFieldVisible("w9Attachments")){var c=this.$(".w9-file-uploader");0!==_.size(this.model.w9Attachments.models)||this.options.canUploadAttachments?(this.w9Uploader=new PJQ.views.files.FileUploaderGrid({el:c,collection:this.model.w9Attachments,canUpload:this.options.canUploadAttachments,useApiV2:!0,canView:!1,canDelete:this.options.isAdmin,previewImageDimension:150,onSuccess:_.bind(function(t){this.model.isDirty=!0,this.w9Uploader.clearError()},this),onDelete:_.bind(function(t,e){0<t.get("id")?t.set("delete",!0):t.destroy(),this.model.isDirty=!0,e()},this)}),this.renderW9Approval()):c.closest(".upload-outer").hide()}if(this.checkFieldVisible("lienWaiverAttachments")){var l=this.$(".lien-waiver-file-uploader");0!==_.size(this.model.lienWaiverAttachments.models)||this.options.canUploadAttachments?(this.lienWaiverUploader=new PJQ.views.files.FileUploaderGrid({el:l,collection:this.model.lienWaiverAttachments,canUpload:this.options.canUploadAttachments,useApiV2:!0,canView:!1,canDelete:this.options.isAdmin,previewImageDimension:150,onSuccess:_.bind(function(t){this.model.isDirty=!0,this.lienWaiverUploader.clearError()},this),onDelete:_.bind(function(t,e){0<t.get("id")?t.set("delete",!0):t.destroy(),this.model.isDirty=!0,e()},this)}),this.renderLienWaiverApproval()):l.closest(".upload-outer").hide()}if(this.checkFieldVisible("signedDocumentAttachments")){var d=this.$(".signed-file-uploader");0!==_.size(this.model.signedDocumentAttachments.models)||this.options.canUploadAttachments?this.signedDocumentUploader=new PJQ.views.files.FileUploaderGrid({el:d,collection:this.model.signedDocumentAttachments,canUpload:this.options.canUploadAttachments,useApiV2:!0,canView:!1,canDelete:this.options.isAdmin,previewImageDimension:150,onSuccess:_.bind(function(t){this.model.isDirty=!0,this.signedDocumentUploader.clearError()},this),onDelete:_.bind(function(t,e){0<t.get("id")?t.set("delete",!0):t.destroy(),this.model.isDirty=!0,e()},this)}):d.closest(".upload-outer").hide()}if(this.checkFieldVisible("affidavitAttachments")){var m=this.$(".affidavit-file-uploader");0!==_.size(this.model.affidavitAttachments.models)||this.options.canUploadAttachments?this.affidavitUploader=new PJQ.views.files.FileUploaderGrid({el:m,collection:this.model.affidavitAttachments,canUpload:this.options.canUploadAttachments,useApiV2:!0,canView:!1,canDelete:this.options.isAdmin,previewImageDimension:150,onSuccess:_.bind(function(t){this.model.isDirty=!0,this.affidavitUploader.clearError()},this),onDelete:_.bind(function(t,e){0<t.get("id")?t.set("delete",!0):t.destroy(),this.model.isDirty=!0,e()},this)}):m.closest(".upload-outer").hide()}if(this.checkFieldVisible("executedDocumentAttachments")){var h=this.$(".executed-file-uploader"),u=this.options.canUploadAttachments&&this.options.isAdmin;0!==_.size(this.model.executedDocumentAttachments.models)||u?this.executedDocumentUploader=new PJQ.views.files.FileUploaderGrid({el:h,collection:this.model.executedDocumentAttachments,canUpload:u,useApiV2:!0,canView:!1,canDelete:this.options.isAdmin,previewImageDimension:150,onSuccess:_.bind(function(t){this.model.isDirty=!0,this.executedDocumentUploader.clearError()},this),onDelete:_.bind(function(t,e){0<t.get("id")?t.set("delete",!0):t.destroy(),this.model.isDirty=!0,e()},this)}):h.closest(".upload-outer").hide()}0<_.size(this.uploadCustomFields)&&this.renderUploadCustomFields()},renderUploadCustomFields:function(){this.customFieldUploaders=[],_.each(this.uploadCustomFields,function(t){var i="cf-"+t.id,e=this.$("."+i+"-file-uploader"),n=this.options.canUploadAttachments&&(!t.get("isAdminEdit")||this.options.isAdmin),s=_.filter(this.model.customFieldAttachments.models,function(t){return t.get("type")===i});if(0!==_.size(s)||n){var o=new PJQ.collections.commitments.CommitmentAttachments(s),a=new PJQ.views.files.FileUploaderGrid({el:e,collection:o,canU
1pload:n,useApiV2:!0,canView:!1,canDelete:this.options.isAdmin,previewImageDimension:150,onSuccess:_.bind(function(e){this.model.isDirty=!0,a.clearError();var t=_.find(o.models,function(t){return t.get("uploadId")===e.uploadId});null!=t&&(t.set("type",i),this.model.customFieldAttachments.add(t))},this),onDelete:_.bind(function(t,e){if(0<t.get("id")){var i=this.model.customFieldAttachments.findWhere({id:t.get("id")});t.set("delete",!0),null!=i&&i.set("delete",!0)}else{var n=this.model.customFieldAttachments.findWhere({uploadId:t.get("uploadId")});t.destroy(),null!=n&&this.model.customFieldAttachments.remove(n)}this.model.isDirty=!0,e()},this)});this.customFieldUploaders.push(a)}else e.closest(".upload-outer").hide()},this)},renderCOIApproval:function(){null!=this.coiApproval&&this.coiApproval.remove(),this.model.get("isCOIRequired")&&(this.coiApproval=new PJQ.inputs.ButtonGroup({el:this.$(".coi-approval"),canEdit:this.options.canEdit&&this.options.isAdmin,colorInactiveButtons:!1,buttonClasses:"wd-120p",buttons:[{label:"Not Reviewed",value:null,colorClass:"light"},{label:"Rejected",value:!1,colorClass:"danger"},{label:"Approved",value:!0,colorClass:"success"}],defaultValue:this.model.get("isCOIApproved"),onChange:_.bind(function(t){this.model.set("isCOIApproved",t)},this)}))},renderW9Approval:function(){null!=this.w9Approval&&this.w9Approval.remove(),this.model.get("isW9Required")&&(this.w9Approval=new PJQ.inputs.ButtonGroup({el:this.$(".w9-approval"),canEdit:this.options.canEdit&&this.options.isAdmin,colorInactiveButtons:!1,buttonClasses:"wd-120p",buttons:[{label:"Not Reviewed",value:null,colorClass:"light"},{label:"Rejected",value:!1,colorClass:"danger"},{label:"Approved",value:!0,colorClass:"success"}],defaultValue:this.model.get("isW9Approved"),onChange:_.bind(function(t){this.model.set("isW9Approved",t)},this)}))},renderLienWaiverApproval:function(){null!=this.lienWaiverApproval&&this.lienWaiverApproval.remove(),this.model.get("isLienWaiverRequired")&&(this.lienWaiverApproval=new PJQ.inputs.ButtonGroup({el:this.$(".lien-waiver-approval"),canEdit:this.options.canEdit&&this.options.isAdmin,colorInactiveButtons:!1,buttonClasses:"wd-120p",buttons:[{label:"Not Reviewed",value:null,colorClass:"light"},{label:"Rejected",value:!1,colorClass:"danger"},{label:"Approved",value:!0,colorClass:"success"}],defaultValue:this.model.get("isLienWaiverApproved"),onChange:_.bind(function(t){this.model.set("isLienWaiverApproved",t)},this)}))},formatPercent:function(t){$(t.currentTarget).val(PJQ.helpers.formatHelpers.formatPercent($(t.currentTarget).val()))},numbersOnly:function(t){return PJQ.helpers.inputHelpers.numbersOnly(t,!0,!0)},checkFieldVisible:function(t){if(this.coreFieldSettings){var e=this.coreFieldSettings.findWhere({fieldName:t});if(null!=e)return e.get("isVisible")}return!0},checkFieldRequired:function(t){if(this.coreFieldSettings){var e=this.coreFieldSettings.findWhere({fieldName:t});if(null!=e)return e.get("isRequired")}return!1},renderLineItems:function(){var t=this;this.lineItemsView&&this.lineItemsView.remove(),this.lineItemsView=new PJQ.views.budget.LineItemsView({el:this.$(".commitment-line-items"),collection:this.model.lineItems,lineItemModel:PJQ.models.commitments.CommitmentLineItem,accountingMethod:this.model.get("accountingMethod"),canEdit:this.options.canEditLineItems,canDelete:this.options.canEditLineItems,canChangeAccountingMethod:this.options.isSubmitting||this.options.canEditLineItems,financialMarkups:this.model.markupItems,enableTax:!0,billedToDate:this.options.canViewInvoices&&null!=this.model.invoices?function(){var e=0;return _.each(t.model.invoices.models,function(t){t.get("statusId")!==PJQ.constants.invoicing.payableInvoiceStatus.APPROVED&&t.get("statusId")!==PJQ.constants.invoicing.payableInvoiceStatus.COMPLETE||(e+=t.getGrandTotal())}),e}:null,showBilling:this.model.get("statusId")===PJQ.constants.commitments.commitmentStatus.APPROVED||this.model.get("statusId")===PJQ.constants.commitments.commitmentStatus.SUBCONTRACT_COMPLETE,approvedChanges:this.model.get("approvedChanges"),onApprovedChangesClicked:function(){t.activateView(t.views.CHANGEORDERS)},onBilledToDateClicked:function(){t.activateView(t.views.INVOICES)},showSubTotal:!0,showGrandTotal:!0,onAccountingMethodChanged:_.bind(function(t){this.model.set("accountingMethod",t)},this),onLineItemChange:_.bind(function(){this.model.isDirty=!0}
1,this),onLineItemAdd:_.bind(function(){this.updateCounts()},this),onLineItemDelete:_.bind(function(){this.updateCounts()},this)})},copyToHelper:function(t){var e=this,i=$(t.currentTarget).data("from"),n=$(t.currentTarget).data("to"),s={},o="",a="",r=function(){new PJQ.views.modals.YesNo({header:"Copy to "+a,body:"Are you sure you want to overwrite the "+a+" based on the "+o+"?",onYes:_.bind(function(){this.model.attributes[n].companyName=s.companyName,this.model.attributes[n].contactName=s.contactName,this.model.attributes[n].address1=s.address1,this.model.attributes[n].address2=s.address2,this.model.attributes[n].city=s.city,this.model.attributes[n].state=s.state,this.model.attributes[n].zip=s.zip,this.model.attributes[n].country=s.country,this.model.attributes[n].phone=s.phone,this.model.attributes[n].fax=s.fax,this.model.attributes[n].email=s.email,this.$("."+n.toLowerCase()+"-companyname").val(s.companyName),this.$("."+n.toLowerCase()+"-contactname").val(s.contactName),this.$("."+n.toLowerCase()+"-address1").val(s.address1),this.$("."+n.toLowerCase()+"-address2").val(s.address2),this.$("."+n.toLowerCase()+"-city").val(s.city),this.$("."+n.toLowerCase()+"-phone").val(s.phone),this.$("."+n.toLowerCase()+"-fax").val(s.fax),this.$("."+n.toLowerCase()+"-email").val(s.email),"billTo"===n?this.billToCountryPicker.setValue(s.country):"shipTo"===n&&this.shipToCountryPicker.setValue(s.country),"billTo"===n?this.billToStatePicker.setValue(s.state):"shipTo"===n&&this.shipToStatePicker.setValue(s.state),this.$("."+n.toLowerCase()+"-zip").val(s.zip)},e)})};switch(i){case"shipTo":o="Ship To",s.companyName=this.$(".shipto-companyname").val(),s.contactName=this.$(".shipto-contactname").val(),s.address1=this.$(".shipto-address1").val(),s.address2=this.$(".shipto-address2").val(),s.city=this.$(".shipto-city").val(),s.state=this.shipToStatePicker.getValue().toUpperCase(),s.zip=this.$(".shipto-zip").val();var c=this.shipToCountryPicker.getValue().toUpperCase();s.country=0===_.size(c)?"US":c,s.phone=this.$(".shipto-phone").val(),s.fax=this.$(".shipto-fax").val(),s.email=this.$(".shipto-email").val();break;case"billTo":o="Bill To",s.companyName=this.$(".billto-companyname").val(),s.contactName=this.$(".billto-contactname").val(),s.address1=this.$(".billto-address1").val(),s.address2=this.$(".billto-address2").val(),s.city=this.$(".billto-city").val(),s.state=this.billToStatePicker.getValue().toUpperCase(),s.zip=this.$(".billto-zip").val();var l=this.billToCountryPicker.getValue().toUpperCase();s.country=0===_.size(l)?"US":l,s.phone=this.$(".billto-phone").val(),s.fax=this.$(".billto-fax").val(),s.email=this.$(".billto-email").val();break;case"project":o="Project",s.address1=PJQ.app.session.project.get("address1"),s.address2=PJQ.app.session.project.get("address2"),s.city=PJQ.app.session.project.get("city"),s.state=PJQ.app.session.project.get("state"),s.zip=PJQ.app.session.project.get("zip"),s.country=PJQ.app.session.project.get("country")}switch(n){case"shipTo":a="Ship To";break;case"billTo":a="Bill To"}"addressBook"===i?(o="Address Book",new PJQ.views.contacts.SelectContactsModal({context:PJQ.constants.contacts.contexts.CONTACTS,isSingleChoice:!0,onSave:_.bind(function(t){s.companyName=t.get("companyName"),s.contactName=t.get("contactName"),s.address1=t.get("address1"),s.address2=t.get("address2"),s.city=t.get("city"),s.state=t.get("state"),s.zip=t.get("zip");var e=t.get("country");s.country=0===_.size(e)?"US":e,s.phone=t.get("phone"),s.fax=t.get("fax"),s.email=t.get("email"),r()},this)})):r()},renderChangeOrders:function(){this.model.isNew()||(this.changeOrdersDataTable=new PJQ.views.dataTables.DataTable({el:this.$(".commitment-change-orders"),data:this.model.changeOrders.models,isHideSearch:!0,language:{emptyTable:this.options.canAddChangeOrders?'Click "New Change Order" to create a Commitment Change Order':"No change orders have been created"},paging:!1,contextMenuOptions:{actions:[{name:"View",onClick:_.bind(function(t){this.viewChangeOrder(t.data())},this),isShown:_.bind(function(t){return this.options.canViewChangeOrders},this)}]}
1,order:[1,"asc"],hasFooter:!0,columns:[{columnData:"",data:null,title:"",width:"20px",orderable:!1,searchable:!1,defaultContent:"",render:function(t,e,i){return PJQ.helpers.erp.getERPIcon(i.erpSyncStatus())}},{data:"attributes.number",title:"Number",render:_.bind(function(t,e,i){return"sort"===e?t:'<a href="javascript:void(0)" class="btn-view-change-order">'+t+"</a>"},this)},{data:"attributes.description",title:"Description"},{columnData:"createdOn",data:"attributes.createdOn",title:"Created",width:"120px",render:_.bind(function(t,e,i){return PJQ.helpers.dateHelpers.getDateString(new Date(i.get("createdOn")),PJQ.helpers.dateHelpers.dateFormats.DATE_TIME)},this)},{data:"attributes.invoicedDate",title:"Invoiced Date",width:"120px",render:_.bind(function(t,e,i){return 0===_.size(i.get("invoicedDate"))?"":PJQ.helpers.dateHelpers.getDateString(new Date(i.get("invoicedDate")),PJQ.helpers.dateHelpers.dateFormats.DATE)},this)},{data:"attributes.dueDate",title:"Due Date",width:"120px",render:_.bind(function(t,e,i){return 0===_.size(i.get("dueDate"))?"":PJQ.helpers.dateHelpers.getDateString(new Date(i.get("dueDate")),PJQ.helpers.dateHelpers.dateFormats.DATE)},this)},{data:"attributes.statusId",title:"Status",render:_.bind(function(t,e,i){return PJQ.constants.commitments.changeOrderStatusNames[i.get("statusId")]},this)},{data:"attributes.amount",title:"Grand Total",render:_.bind(function(t,e,i){return PJQ.helpers.formatHelpers.formatCurrency(i.getGrandTotal())},this),renderFooter:function(t){var e=0;return _.each(t,function(t){e+=t.getGrandTotal()}),PJQ.helpers.formatHelpers.formatCurrency(e)}},{data:"",title:"",orderable:!1,searchable:!1,width:"80px",render:_.bind(function(t,e,i){var n='<div class="text-align-right show-on-row-hover">';return this.options.canViewChangeOrders&&(n+='<button type="button" class="btn btn-info btn-view-change-order ht-30p wd-35p ml-1 f
1s-14"><span class="fal fa-pencil"></span></button>'),n+"</div>"},this)}],dom:'<"top"<"clear">>rt<"bottom"p<"clear">>',onRowDoubleClick:_.bind(function(t){this.viewChangeOrder(t.data())},this)}))},newChangeOrder:function(){this.viewChangeOrder()},newInvoice:function(){this.viewInvoice()},viewChangeOrderClicked:function(t){var e=$(t.currentTarget),i=this.changeOrdersDataTable.getRow(e.closest("tr"));this.viewChangeOrder(i.data())},viewChangeOrder:function(t){this.removeModal(),new PJQ.views.commitments.ChangeOrderEditModal({commitment:this.model,model:t,onSave:_.bind(function(t,e){e?(this.model.changeOrders.add(t),this.changeOrdersDataTable.addRow(t),"function"==typeof this.options.onChangeOrderAdd&&this.options.onChangeOrderAdd(t)):this.changeOrdersDataTable.refresh(),this.model.set("changeOrders",this.model.changeOrders.toJSON()),this.updateCounts(),"function"==typeof this.options.onSave&&this.options.onSave(this.model)},this),onDelete:_.bind(function(t){this.changeOrdersDataTable.render(),this.model.set("changeOrders",this.model.changeOrders.toJSON()),"function"==typeof this.options.onChangeOrderDelete&&this.options.onChangeOrderDelete(t),this.updateCounts(),"function"==typeof this.options.onSave&&this.options.onSave(this.model)},this)})},deleteChangeOrder:function(t){var e=this.changeOrdersDataTable.getRow(t.cid),i=e.data().id;new PJQ.views.modals.DeleteCancel({header:"Delete Change Order",body:"Are you sure you want to delete this change order?",onDelete:_.bind(function(){this.model.changeOrders.remove(t),this.model.set("changeOrders",this.model.changeOrders.toJSON()),t.destroy({success:_.bind(function(){this.changeOrdersDataTable.removeRow(e),"function"==typeof this.options.onChangeOrderDelete&&this.options.onChangeOrderDelete(i),this.updateCounts()},this)})},this)})},viewPaymentClicked:function(t){var e=$(t.currentTarget),i=this.paymentsDataTable.getRow(e.closest("tr"));this.viewPayment(i.data())},viewPayment:function(t){this.removeModal(),new PJQ.views.invoicing.InvoicePaymentModal({model:t,isPayable:!0,onSave:_.bind(function(t,e){if(e){var i=this.model.invoices.get(t.get("invoiceId"));null!=i&&i.payments.add(t),this.paymentsDataTable.addRow(i)}this.updateCounts(),"function"==typeof this.options.onSave&&this.options.onSave(this.model)},this),onDelete:_.bind(function(){this.updateCounts(),"function"==typeof this.options.onSave&&this.options.onSave(this.model)},this)})},renderPayments:function(){!this.model.isNew()&&this.invoiceSettings.get("enablePayments")&&(this.paymentsDataTable=new PJQ.views.dataTables.DataTable({el:this.$(".c-payments"),data:this.model.payments.models,isHideSearch:!0,language:{emptyTable:"No Payments have been created yet",zeroRecords:"No Payments matched the search criteria"},paging:!1,order:[1,"asc"],hasFooter:!0,columns:[{columnData:"",data:null,title:"",width:"20px",orderable:!1,searchable:!1,defaultContent:"",render:function(t,e,i){return i.isERPSynced()?PJQ.helpers.erp.getERPIcon(i.erpSyncStatus()):""}},{title:"#",data:"attributes.number",render:_.bind(function(t,e,i){return"sort"===e?i.id:'<a href="javascript:void(0)" class="btn-view-payment">'+t+"</a>"},this)},{title:"Check #",data:"attributes.checkNumber"},{title:"Received",data:"",render:_.bind(function(t,e,i){var n=i.get("dateReceived");return 0===_.size(n)?"":PJQ.helpers.dateHelpers.getDateString(new Date(n),PJQ.helpers.dateHelpers.dateFormats.DATE,!0)},this)},{title:"Payment Method",data:"attributes.paymentMethod",render:_.bind(function(e,t,i){var n;return null!==(n=PJQ.constants.invoicing.paymentMethods.find(function(t){return t.toLowerCase()===e.toLowerCase()}))&&void 0!==n?n:""},this)},{data:"attributes.amount",title:"Amount",render:function(t,e,i){return PJQ.helpers.formatHelpers.formatCurrency(i.get("amount"))},renderFooter:function(t){var e=0;return _.each(t,function(t){e+=t.get("amount")}),PJQ.helpers.formatHelpers.formatCurrency(e)}},{data:"",title:"",orderable:!1,searchable:!1,width:"80px",render:_.bind(function(t,e,i){var n='<div class="text-align-right show-on-row-hover">';return this.options.canViewInvoices&&(n+='<button type="button" class="btn btn-info btn-view-payment ht-30p wd-35p ml-1 f
1s-14"><span class="fal fa-pencil"></span></button>'),n+"</div>"},this)}],dom:'<"top"<"clear">>rt<"bottom"p<"clear">>',contextMenuOptions:{actions:[{name:"View",onClick:_.bind(function(t){this.viewPayment(t.data())},this),isShown:_.bind(function(t){return this.options.canViewInvoices},this)}]},onRowDoubleClick:_.bind(function(t){this.viewPayment(t.data())},this)}))},viewInvoiceClicked:function(t){var e=$(t.currentTarget),i=this.invoicesDataTable.getRow(e.closest("tr"));this.viewInvoice(i.data())},viewInvoice:function(t){this.removeModal(),new PJQ.views.invoicing.EditPayableInvoiceModal({commitment:this.model,model:t,onSave:_.bind(function(t,e){e&&(this.model.invoices.add(t),this.invoicesDataTable.addRow(t),"function"==typeof this.options.onInvoiceAdd&&this.options.onInvoiceAdd(t)),this.updateCounts(),"function"==typeof this.options.onSave&&this.options.onSave(this.model)},this),onDelete:_.bind(function(){this.updateCounts(),"function"==typeof this.options.onSave&&this.options.onSave(this.model)},this)})},deleteInvoice:function(t){var e=this.invoicesDataTable.getRow(t.cid);new PJQ.views.modals.DeleteCancel({header:"Delete Invoice",body:"Are you sure you want to delete this Invoice?",onDelete:_.bind(function(){t.destroy({success:_.bind(function(){this.invoicesDataTable.removeRow(e),this.updateCounts(),"function"==typeof this.options.onSave&&this.options.onSave(this.model)},this)})},this)})},renderInvoices:function(){this.model.isNew()||(this.invoicesDataTable=new PJQ.views.dataTables.DataTable({el:this.$(".commitment-invoices"),data:this.model.invoices.models,isHideSearch:!0,language:{emptyTable:"No Invoices have been created yet",zeroRecords:"No Invoices matched the search criteria"},paging:!1,order:[1,"asc"],hasFooter:!0,columns:[{columnData:"",data:null,title:"",width:"20px",orderable:!1,searchable:!1,defaultContent:"",render:function(t,e,i){return PJQ.helpers.erp.getERPIcon(i.erpSyncStatus())}},{title:"#",data:"attributes.number",render:_.bind(function(t,e,i){return"sort"===e?i.id:'<a href="javascript:void(0)" class="btn-view-invoice">'+t+"</a>"},this)},{title:"Billing Period",data:"",width:"90px",render:_.bind(function(t,e,i){return PJQ.helpers.dateHelpers.getDateString(new Date(i.get("startDate")),PJQ.helpers.dateHelpers.dateFormats.DATE,!0)+" - "+PJQ.helpers.dateHelpers.getDateString(new Date(i.get("endDate")),PJQ.helpers.dateHelpers.dateFormats.DATE,!0)},this)},{title:"Due Date",data:"",width:"90px",render:_.bind(function(t,e,i){return PJQ.helpers.dateHelpers.getDateString(new Date(i.get("billingDate")),PJQ.helpers.dateHelpers.dateFormats.DATE,!0)},this)},{data:"",title:"Status",width:"100px",render:_.bind(function(t,e,i){return PJQ.constants.invoicing.payableInvoiceStatusNames[i.get("statusId")]},this)},{data:"attributes.amount",title:"Retainage",render:_.bind(function(t,e,i){return PJQ.helpers.formatHelpers.formatCurrency(i.getRetainage())},this),renderFooter:function(t){var e=0;return _.each(t,function(t){e+=t.getRetainage()}),PJQ.helpers.formatHelpers.formatCurrency(e)}},{data:"attributes.amount",title:"Grand Total",render:_.bind(function(t,e,i){return PJQ.helpers.formatHelpers.formatCurrency(i.getGrandTotal())},this),renderFooter:function(t){var e=0;return _.each(t,function(t){e+=t.getGrandTotal()}),PJQ.helpers.formatHelpers.formatCurrency(e)}},{data:"",title:"",orderable:!1,searchable:!1,width:"80px",render:_.bind(function(t,e,i){var n='<div class="text-align-right show-on-row-hover">';return this.options.canViewInvoices&&(n+='<button type="button" class="btn btn-info btn-view-invoice ht-30p wd-35p ml-1 f
1s-14"><span class="fal fa-pencil"></span></button>'),n+"</div>"},this)}],dom:'<"top"<"clear">>rt<"bottom"p<"clear">>',contextMenuOptions:{actions:[{name:"View",onClick:_.bind(function(t){this.viewInvoice(t.data())},this),isShown:_.bind(function(t){return this.options.canViewInvoices},this)}]},onRowDoubleClick:_.bind(function(t){var e=t.data();null!=e&&this.options.canViewInvoices&&e.fetch({success:_.bind(function(){this.viewInvoice(e)},this)})},this)}))},validate:function(){var t=!0;if(PJQ.helpers.inputHelpers.setInputError(this.$(".commitment-number, .commitment-title"),!0),this.model.isNew()&&!this.checkFieldRequired("number")||0!==_.size(this.model.get("number"))||(t=!1,PJQ.helpers.inputHelpers.setInputError(this.$(".commitment-number"),!1)),this.contractCompanyPicker.validate()||(t=!1),null==this.commitmentCustomFieldsForm||this.commitmentCustomFieldsForm.validate()||(t=!1),this.checkFieldRequired("invoiceContactId")&&(this.invoiceContactPicker.validate()||(t=!1)),this.checkFieldRequired("defaultWorkRetainagePercent")){var e=this.$(".default-work-retainage");PJQ.helpers.inputHelpers.setInputError(e,!0),null==this.model.get("defaultWorkRetainagePercent")&&(PJQ.helpers.inputHelpers.setInputError(e,!1),t=!1)}if(this.checkFieldRequired("defaultMaterialRetainagePercent")){var i=this.$(".default-material-retainage");PJQ.helpers.inputHelpers.setInputError(i,!0),null==this.model.get("defaultMaterialRetainagePercent")&&(PJQ.helpers.inputHelpers.setInputError(i,!1),t=!1)}if(this.checkFieldRequired("termsId")){var n=this.$(".select-terms");PJQ.helpers.inputHelpers.setInputError(n,!0),null!=this.model.get("termsId")&&0!==this.model.get("termsId")||(PJQ.helpers.inputHelpers.setInputError(n,!1),t=!1)}if(this.checkFieldRequired("description")){var s=this.$(".commitment-description");PJQ.helpers.inputHelpers.setInputError(s,!0),0===_.size(this.model.get("description"))&&(PJQ.helpers.inputHelpers.setInputError(s,!1),t=!1)}this.checkFieldRequired("attachments")&&(this.fileUploader.clearError(),null!=_.find(this.model.attachments.models,function(t){return!t.get("delete")},this)||(this.fileUploader.showError("Missing attachment",1e5),t=!1));this.checkFieldRequired("signedDocumentAttachments")&&(this.signedDocumentUploader.clearError(),null!=_.find(this.model.signedDocumentAttachments.models,function(t){return!t.get("delete")},this)||(this.signedDocumentUploader.showError("Missing attachment",1e5),t=!1));this.checkFieldRequired("affidavitAttachments")&&(this.affidavitUploader.clearError(),null!=_.find(this.model.affidavitAttachments.models,function(t){return!t.get("delete")},this)||(this.affidavitUploader.showError("Missing attachment",1e5),t=!1));this.checkFieldRequired("executedDocumentAttachments")&&(this.executedDocumentUploader.clearError(),null!=_.find(this.model.executedDocumentAttachments.models,function(t){return!t.get("delete")},this)||(this.executedDocumentUploader.showError("Missing attachment",1e5),t=!1));if(this.model.get("commitmentType")===PJQ.constants.commitments.commitmentType.SUBCONTRACT){if(this.checkFieldRequired("startDate")){var o=this.$(".start-date");PJQ.helpers.inputHelpers.setInputError(o,!0),null!=this.model.get("startDate")&&0!==this.model.get("startDate").length||(PJQ.helpers.inputHelpers.setInputError(o,!1),t=!1)}if(this.checkFieldRequired("estimatedCompletionDate")){var a=this.$(".est-complete-date");PJQ.helpers.inputHelpers.setInputError(a,!0),null!=this.model.get("estimatedCompletionDate")&&0!==this.model.get("estimatedCompletionDate").length||(PJQ.helpers.inputHelpers.setInputError(a,!1),t=!1)}if(this.checkFieldRequired("actualCompletionDate")){var r=this.$(".act-complete-date");PJQ.helpers.inputHelpers.setInputError(r,!0),null!=this.model.get("actualCompletionDate")&&0!==this.model.get("actualCompletionDate").length||(PJQ.helpers.inputHelpers.setInputError(r,!1),t=!1)}if(this.checkFieldRequired("contractDate")){var c=this.$(".contract-date");PJQ.helpers.inputHelpers.setInputError(c,!0),null!=this.model.get("contractDate")&&0!==this.model.get("contractDate").length||(PJQ.helpers.inputHelpers.setInputError(c,!1),t=!1)}if(this.checkFieldRequired("signedContractReceivedDate")){var l=this.$(".signed-contract-date");PJQ.helpers.inputHelpers.setInputError(l,!0),null!=this.model.get("signedContractReceivedDate")&&0!==this.model.get("signedContractReceivedDate").length||(PJQ.helpers.inputHelpers.setInputError(l,!1),t=!1)}if(this.checkFieldRequired("letterOfIntentDate")){var d=this.$(".letter-intent-date");PJQ.helpers.inputHelpers.setInputError(d,!0),null!=this.model.get("letterOfIntentDate")&&0!==this.model.get("letterOfIntentDate").length||(PJQ.helpers.inputHelpers.setInputError(d,!1),t=!1)}if(this.checkFieldRequired("approvalLetterDate")){var m=this.$(".approval-letter-date");PJQ.helpers.inputHelpers.setInputError(m,!0),null!=this.model.get("approvalLetterDate")&&0!==this.model.get("approvalLetterDate").length||(PJQ.helpers.inputHelpers.setInputError(m,!1),t=!1)}if(this.checkFieldRequired("issuedOnDate")){var h=this.$(".issued-date");PJQ.helpers.inputHelpers.setInputError(h,!0),null!=this.model.get("issuedOnDate")&&0!==this.model.get("issuedOnDate").length||(PJQ.helpers.inputHelpers.setInputError(h,!1),t=!1)}if(this.checkFieldRequired("executionDate")){var u=this.$(".execution-date");PJQ.helpers.inputHelpers.setInputError(u,!0),null!=this.model.get("executionDate")&&0!==this.model.get("executionDate").length||(PJQ.helpers.inputHelpers.setInputError(u,!1),t=!1)}if(this.checkFieldRequired("returnedDate")){var p=this.$(".returned-date");PJQ.helpers.inputHelpers.setInputError(p,!0),null!=this.model.get("returnedDate")&&0!==this.model.get("returnedDate").length||(PJQ.helpers.inputHelpers.setInputError(p,!1),t=!1)}if(this.checkFieldRequired("inclusions")){var g=this.$(".inclusions");PJQ.helpers.inputHelpers.setInputError(g,!0),0===_.size(this.model.get("inclusions"))&&(PJQ.helpers.inputHelpers.setInputError(g,!1),t=!1)}if(this.checkFieldRequired("exclusions")){var f=this.$(".exclusions");PJQ.helpers.inputHelpers.setInputError(f,!0),0===_.size(this.model.get("exclusions"))&&(PJQ.helpers.inputHelpers.setInputError(f,!1),t=!1)}if(this.checkFieldRequired("coiAttachments"))this.coiUploader.clearError(),null!=_.find(this.model.coiAttachments.models,function(t){return!t.get("delete")},this)||(this.coiUploader.showError("Missing attachment",1e5),t=!1);if(this.checkFieldRequired("w9Attachments"))this.w9Uploader.clearError(),null!=_.find(this.model.w9Attachments.models,function(t){return!t.get("delete")},this)||(this.w9Uploader.showError("Missing attachment",1e5),t=!1);if(this.checkFieldRequired("lienWaiverAttachments"))this.lienWaiverUploader.clearError(),null!=_.find(this.model.lienWaiverAttachments.models,function(t){return!t.get("delete")},this)||(this.lienWaiverUploader.showError("Missing attachment",1e5),t=!1)}else{if(this.checkFieldRequired("deliveryDate")){var v=this.$(".delivery-date");PJQ.helpers.inputHelpers.setInputError(v,!0),null!=this.model.get("deliveryDate")&&0!==this.model.get("deliveryDate").length||(PJQ.helpers.inputHelpers.setInputError(v,!1),t=!1)}if(this.checkFieldRequired("paymentTerms")){var P=this.$(".payment-terms");PJQ.helpers.inputHelpers.setInputError(P,!0),0===_.size(this.model.get("paymentTerms"))&&(PJQ.helpers.inputHelpers.setInputError(P,!1),t=!1)}if(this.checkFieldRequired("shipVia")){var b=this.$(".ship-via");PJQ.helpers.inputHelpers.setInputError(b,!0),0===_.size(this.model.get("shipVia"))&&(PJQ.helpers.inputHelpers.setInputError(b,!1),t=!1)}if(this.checkFieldRequired("shipToId")){var C=this.$(".shipto-companyname"),w=this.$(".shipto-contactname"),y=this.$(".shipto-address1"),I=this.$(".shipto-city"),J=this.$(".shipto-zip");PJQ.helpers.inputHelpers.setInputError(C,!0),PJQ.helpers.inputHelpers.setInputError(w,!0),PJQ.helpers.inputHelpers.setInputError(y,!0),PJQ.helpers.inputHelpers.setInputError(I,!0),PJQ.helpers.inputHelpers.setInputError(J,!0),0!==_.size(this.model.get("shipTo").companyName)&&0!==_.size(this.model.get("shipTo").contactName)&&0!==_.size(this.model.get("shipTo").address1)&&0!==_.size(this.model.get("shipTo").city)&&0!==_.size(this.model.get("shipTo").zip)||
1(PJQ.helpers.inputHelpers.setInputError(C,0<_.size(this.model.get("shipTo").companyName)),PJQ.helpers.inputHelpers.setInputError(w,0<_.size(this.model.get("shipTo").contactName)),PJQ.helpers.inputHelpers.setInputError(y,0<_.size(this.model.get("shipTo").address1)),PJQ.helpers.inputHelpers.setInputError(I,0<_.size(this.model.get("shipTo").city)),PJQ.helpers.inputHelpers.setInputError(J,0<_.size(this.model.get("shipTo").zip)),t=!1)}if(this.checkFieldRequired("billToId")){var Q=this.$(".billto-companyname"),S=this.$(".billto-contactname"),T=this.$(".billto-address1"),E=this.$(".billto-city"),D=this.$(".billto-zip");PJQ.helpers.inputHelpers.setInputError(Q,!0),PJQ.helpers.inputHelpers.setInputError(S,!0),PJQ.helpers.inputHelpers.setInputError(T,!0),PJQ.helpers.inputHelpers.setInputError(E,!0),PJQ.helpers.inputHelpers.setInputError(D,!0),0!==_.size(this.model.get("billTo").companyName)&&0!==_.size(this.model.get("billTo").contactName)&&0!==_.size(this.model.get("billTo").address1)&&0!==_.size(this.model.get("billTo").city)&&0!==_.size(this.model.get("billTo").zip)||(PJQ.helpers.inputHelpers.setInputError(Q,0<_.size(this.model.get("billTo").companyName)),PJQ.helpers.inputHelpers.setInputError(S,0<_.size(this.model.get("billTo").contactName)),PJQ.helpers.inputHelpers.setInputError(T,0<_.size(this.model.get("billTo").address1)),PJQ.helpers.inputHelpers.setInputError(E,0<_.size(this.model.get("billTo").city)),PJQ.helpers.inputHelpers.setInputError(D,0<_.size(this.model.get("billTo").zip)),t=!1)}}return t?this.lineItemsView.validate()||(t=!1,this.activateView(this.views.LINEITEMS)):this.activateView(this.views.GENERAL),t},save:function(e){var t=this;if(this.model.get("commitmentType")===PJQ.constants.commitments.commitmentType.PURCHASE_ORDER&&this.options.canEdit){var i=this.model.get("billTo")?this.model.get("billTo"):{};i.companyName=this.$(".billto-companyname").val(),i.contactName=this.$(".billto-contactname").val(),i.address1=this.$(".billto-address1").val(),i.address2=this.$(".billto-address2").val(),i.city=this.$(".billto-city").val(),i.zip=this.$(".billto-zip").val(),i.phone=PJQ.helpers.formatHelpers.numbersOnly(this.$(".billto-phone").val()),i.fax=PJQ.helpers.formatHelpers.numbersOnly(this.$(".billto-fax").val()),i.email=this.$(".billto-email").val(),this.model.set("billTo",i);var n=this.model.get("shipTo")?this.model.get("shipTo"):{};n.companyName=this.$(".shipto-companyname").val(),n.contactName=this.$(".shipto-contactname").val(),n.address1=this.$(".shipto-address1").val(),n.address2=this.$(".shipto-address2").val(),n.city=this.$(".shipto-city").val(),n.zip=this.$(".shipto-zip").val(),n.phone=PJQ.helpers.formatHelpers.numbersOnly(this.$(".shipto-phone").val()),n.fax=PJQ.helpers.formatHelpers.numbersOnly(this.$(".shipto-fax").val()),n.email=this.$(".shipto-email").val(),this.model.set("shipTo",n)}return this.validate()?(this.model.set("customFields",null!=this.commitmentCustomFieldsForm?this.commitmentCustomFieldsForm.getChanged():null),this.model.save({assignedTo:this.assignedTo,invoiceContact:this.invoiceContact,lineItems:this.model.lineItems.models},{success:function(){t.render(),"function"==typeof t.options.onSave&&t.options.onSave(t.model),t.options.project.trigger("commitmentChanged",t.model),"function"==typeof e&&e(!0)},error:function(t){"function"==typeof e&&e(!1),PJQ.notifications.notify.errorNotify({message:t.responseJSON.error})}}),!0):(this.$(".modal").prevObject.scrollTop(0),void("function"==typeof e&&e(!1)))},deleteCommitment:function(){new PJQ.views.modals.DeleteCancel({header:"Confirm Delete",body:"Are you sure you want to delete this commitment?  All associated change orders and invoices will also be deleted.",onDelete:_.bind(function(){this.model.destroy({success:_.bind(function(){PJQ.notifications.notify.successNotify({message:"Commitment deleted successfully"}),"function"==typeof this.options.onDelete&&this.options.onDelete(),this.removeModal()},this)})},this)})},saveEmail:function(){var e=this;this.save(function(t){t&&(PJQ.notifications.notify.successNotify({message:"Commitment saved successfully"}),e.email())})},saveCommitment:function(){var e=this;this.save(function(t){t&&(PJQ.notifications.notify.successNotify({message:"Commitment saved successfully"}),e.removeModal())})},validateForSubmit:function(){var t=!0,e=null;this.model.get("isCOIRequiredForSubmit")&&(this.coiUploader.clearError(),null!=_.find(this.model.coiAttachments.models,function(t){return!t.get("delete")},this)||(this.coiUploader.showError("Missing attachment",1e5),t=!1,e=e||this.coiUploader.$el[0]));this.model.get("isW9RequiredForSubmit")&&(this.w9Uploader.clearError(),null!=_.find(this.model.w9Attachments.models,function(t){return!t.get("delete")},this)||(this.w9Uploader.showError("Missing attachment",1e5),t=!1,e=e||this.w9Uploader.$el[0]));this.model.get("isLienWaiverRequiredForSubmit")&&(this.lienWaiverUploader.clearError(),null!=_.find(this.model.lienWaiverAttachments.models,function(t){return!t.get("delete")},this)||(this.lienWaiverUploader.showError("Missing attachment",1e5),t=!1,e=e||this.lienWaiverUploader.$el[0]));this.model.get("isSignedDocumentsRequiredForSubmit")&&(this.signedDocumentUploader.clearError(),null!=_.find(this.model.signedDocumentAttachments.models,function(t){return!t.get("delete")},this)||(this.signedDocumentUploader.showError("Missing attachment",1e5),t=!1,e=e||this.signedDocumentUploader.$el[0]));this.model.get("isAffidavitRequiredForSubmit")&&(this.affidavitUploader.clearError(),null!=_.find(this.model.affidavitAttachments.models,function(t){return!t.get("delete")},this)||(this.affidavitUploader.showError("Missing attachment",1e5),t=!1,e=e||this.affidavitUploader.$el[0]));return null!=e&&"function"==typeof e.scrollIntoView&&e.scrollIntoView(),t},submitForReview:function(){var e=this;this.validateForSubmit()&&this.model.submit(function(t){t&&(e.options.project.trigger("commitmentChanged",e.model),PJQ.notifications.notify.successNotify({message:"Commitment submitted successfully"}),e.removeModal())})},signAndSubmit:function(){var i=this;this.validateForSubmit()&&new PJQ.views.signatures.SignatureSubmitModal({onSubmit:function(t,e){i.model.set("signature",t),i.model.submit(function(){i.options.project.trigger("commitmentChanged",i.model),i.render(),e(),PJQ.notifications.notify.successNotify({message:"Commitment signed & submitted successfully"})})}})},email:function(){var t,e,i=null===(t=this.options.project)||void 0===t?void 0:null===(e=t.get("projectName"))||void 0===e?void 0:e.trim(),n="A Commitment has been shared with you ".concat(i&&0<_.size(i)?"for ".concat(i):"");new PJQ.views.email.ComposeEmailModal({project:PJQ.app.session.project,header:"Email Commitment",subject:n,onSave:_.bind(function(t){this.model.share(t,_.bind(function(){PJQ.notifications.notify.successNotify({message:"Commitment email sent"})},this))},this)})},renderMarkups:function(){this.options.isAdmin&&(this.markupsView=new PJQ.financialMarkups.views.FinancialMarkupsList({el:this.$(".c-markups"),collection:this.model.markupItems,canEdit:this.options.canEditLineItems,canVoid:!0}))},renderERP:function(){var t=this.$(".erp-sync");if(this.options.isAdmin&&null!=this.erpIntegration&&this.options.project.isERPSynced()&&!1!==this.erpIntegration.getSetting(PJQ.constants.integrations.settings.SYNC_COMM
1ITMENTS)){this.$(".erp-badge").html(PJQ.helpers.erp.getERPBadge(this.model.erpSyncStatus(),this.model.get("externalObject")));var e=!0,i="",n=_.bind(function(){PJQ.helpers.erp.renderERPButtons(t,{status:this.model.erpSyncStatus(),pushSupported:this.erpIntegration.hasAvailableAction(PJQ.constants.integrations.actions.PUSH_COMMITMENTS),canPush:e,canPushChanges:!1,disablePushReason:i,unlinkSupported:this.erpIntegration.hasAvailableAction(PJQ.constants.integrations.actions.UNLINK_COMMITMENTS)})},this);(0===_.size(this.model.lineItems.models)||this.model.get("statusId")!==PJQ.constants.commitments.commitmentStatus.APPROVED&&this.model.get("statusId")!==PJQ.constants.commitments.commitmentStatus.SUBCONTRACT_COMPLETE&&this.model.get("statusId")!==PJQ.constants.commitments.commitmentStatus.PURCHASE_ORDER_CLOSED)&&(e=!1,i="Commitment must be approved or complete and have line items");var s=this.erpIntegration.hasAvailableAction(PJQ.constants.integrations.actions.PUSH_COMMITMENTS_WITH_VENDOR);this.model.contractedContact&&!s?this.model.contractedContact.fetchCompanyERPObject(_.bind(function(t){t&&0!==_.size(t.externalId)||(e=!1,i="Contracted Company must be synced to ERP before this commitment can be pushed"),n()},this)):n()}else t.remove()},pushERP:function(e){var i=this;this.erpIntegration.hasAvailableAction(PJQ.constants.integrations.actions.PUSH_COMMITMENTS)&&this.save(function(t){t&&i.erpIntegration.pushCommitment(i.model,function(){PJQ.notifications.notify.successNotify({message:"Commitment pushed to ERP"}),"function"==typeof i.options.onSave&&i.options.onSave(i.model),e&&"function"==typeof e?e():i.render()})})},undoPushERP:function(){var t=this;this.model.erpSyncStatus()===PJQ.constants.integrations.erp.syncStatuses.REVIEWING&&this.erpIntegration.undoPush(this.model,function(){PJQ.notifications.notify.successNotify({message:"Commitment removed from ERP approval"}),"function"==typeof t.options.onSave&&t.options.onSave(t.model),t.render()})},unlinkERP:function(){var i=this;new PJQ.views.modals.YesNo({header:"Unlink from ERP",body:"Are you sure you want to unlink this Commitment from your ERP system?  This will also unlink all Change Orders and Invoices associated with it.",onYes:function(){var e=new PJQ.Loader(i.$(".modal-content"));i.erpIntegration.unlinkCommitment(i.model,function(t){t&&(e.remove(),PJQ.notifications.notify.successNotify({message:"Commitment unlinked from ERP"}),"function"==typeof i.options.onSave&&i.options.onSave(i.model),i.render())})}})},viewHistory:function(){var t=_asyncToGenerator(_regeneratorRuntime().mark(function t(){var e,i,n;return _regeneratorRuntime().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:e=PJQ.constants.commitments.commitmentTypeNames[this.model.get("commitmentType")],i=[{date:this.model.get("createdOn"),person:this.model.get("createdBy"),action:e+" Created"}],n=new PJQ.collections.commitments.History({},{commitmentId:this.model.id}),new PJQ.views.history.HistoryTimelineModal({collection:n,subTitle:e+" #"+this.model.get("number"),items:i});case 3:case"end":return t.stop()}},t,this)}));return function(){return t.apply(this,arguments)}}(),exportCommitment:function(){var t=this,e=function(){PJQ.files.downloadFile(PJQ.helpers.urlHelpers.generateEndpoint([{endpoint:"commitments",value:t.model.get("id")},{endpoint:"export"}]),{isAPIv2:!0})};this.options.canEdit&&this.model.hasChanged()?this.save(e):e()},close:function(){this.model.hasChanged()&&this.options.canEdit?new PJQ.views.modals.SaveDontSave({header:"Unsaved Changes",body:"Do you want to save changes?",onSave:_.bind(function(){this.saveCommitment(),this.removeModal()},this),onDontSave:_.bind(function(){this.removeModal()},this)}):this.removeModal()}}),PJQ.views.commitments.CommitmentsList=PJQ.views.BaseView.extend({defaults:{template:new PJQ.templating.Template(PJQ.constants.modules.COMMITMENTS,"commitments-list"),commitmentId:null},events:{"click .btn-settings":"editSettings","click .new-po":"newCommitment","click .new-subcontract":"newCommitment","click .btn-view-commitment":"viewCommitmentClicked","click .btn-delete-commitment":"deleteCommitmentClicked","click .btn-export":"exportList","click .btn-pull-erp":"pullERP"},beforeFirstRender:function(){var t=_asyncToGenerator(_regeneratorRuntime().mark(function t(){return _regeneratorRuntime().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return this.isFetched=!1,this.options.project=this.options.project?this.options.project:PJQ.app.session.project,null==this.collection&&(this.collection=new PJQ.collections.commitments.Commitments(null,{projectId:this.options.project.get("projectId"),costCodeId:this.options.costCodeId?this.options.costCodeId:null,costTypeId:this.options.costTypeId?this.options.costTypeId:null})),t.next=5,this.options.project.fetchCommitmentSettings();case 5:if(this.settings=t.sent,this.collection.isFetched){t.next=9;break}return t.next=9,this.collection.fetch();case 9:return t.next=11,PJQ.app.session.fetchCommitmentUserSettings();case 11:return this.userSettings=t.sent,t.next=14,this.options.project.fetchCommitmentCustomFields();case 14:return this.customFields=t.sent,t.next=17,PJQ.app.session.fetchERPIntegration();case 17:if(this.erpIntegration=t.sent,null!=this.erpIntegration&&this.erpIntegration.getSetting("syncProjects"))return t.next=21,this.options.project.fetchERPObject();t.next=21;break;case 21:this.isFetched=!0,this.render();case 23:case"end":return t.stop()}},t,this)}));return function(){return t.apply(this,arguments)}}(),beforeRender:function(){this.isFetched&&(this.options.canEdit=this.options.project.hasPermission("commitments.canEdit"),this.options.isChangeOrdersAdmin=this.options.project.hasPermission("commitmentChangeOrders.isAdmin"),this.options.isAdmin=this.options.project.hasPermission("commitments.isAdmin"))},renderData:function(){return{isFetched:this.isFetched}},afterRender:function(){if(this.isFetched&&(this.renderView(),PJQ.app.session.project.off("commitmentChanged"),PJQ.app.session.project.on("commitmentChanged",function(t){this.collection.add(t),this.render()},this),0<this.options.commitmentId)){var t=this.collection.get(this.options.commitmentId);null!=t&&(this.viewCommitment(t),this.options.commitmentId=null)}},renderERPButton:function(){var t=this.$(".erp-sync");if(this.options.isAdmin&&null!=this.erpIntegration&&this.erpIntegration.getSetting(PJQ.constants.integrations.settings.SYNC_COMM
1ITMENTS)&&this.options.project&&this.options.project.isERPSynced()){var e=this.erpIntegration.hasAvailableAction(PJQ.constants.integrations.actions.PULL_COMMITMENTS);e&&this.erpIntegration.hasAvailableAction(PJQ.constants.integrations.actions.PULL_COMMITMENTS_DOC_CLERK_REQUIRED)&&!PJQ.app.session.preferences.hasPref(PJQ.constants.preferenceTypes.IS_DOCUMENT_CLERK)&&(e=!1),PJQ.helpers.erp.renderERPButtons(t,{pushSupported:!1,pullSupported:e})}else t.remove()},pullERP:function(){null!=this.options.project&&this.erpIntegration.hasAvailableAction(PJQ.constants.integrations.actions.PULL_COMMITMENTS)&&this.erpIntegration.pullCommitments(this.options.project,_.bind(function(t){PJQ.notifications.notify.successNotify({message:"Commitments successfully pulled from ERP"}),this.collection.reset(t),this.render()},this))},renderView:function(){this.dataTable&&(this.dataTable.remove(),this.dataTable=null),this.dataTable=this.getDataTableInstance()},getDataTableInstance:function(){return new PJQ.views.commitments.CommitmentDataTable({el:this.$(".commitments-data"),rowId:"cid",data:this.collection.models,onPageSizeChange:function(t){},isAdmin:this.options.isAdmin,statusIds:this.options.statusIds,headerData:_.bind(function(){return{project:this.options.project,canAdd:this.options.canEdit,isAdmin:this.options.isAdmin,settings:this.settings}},this),enableColumnResize:!0,groups:this.groups,costTypes:this.costTypes,columnWidthCookie:PJQ.constants.cookies.COMMITMENT_LIST_COLUMNS_WIDTH,unitsOfMeasure:this.unitsOfMeasure,userSettings:this.userSettings,settings:this.userSettings.getSettings(PJQ.constants.commitments.view.COMMITMENTS),order:[[1,"asc"]],colReorder:{fixedColumnsLeft:1,fixedColumnsRight:1,realtime:!1},columnOrderChanged:_.bind(function(){this.userSettings.save()},this),onRowDoubleClick:_.bind(function(t){this.viewCommitment(t.data())},this),afterDataTableRender:_.bind(function(){PJQ.app.session.erpIntegration&&0<PJQ.app.session.erpIntegration.id&&this.renderERPButton()},this),contextMenuOptions:{actions:[{name:"View",onClick:_.bind(function(t){this.viewCommitment(t.data())},this)},{name:"New Change Order",isShown:_.bind(function(t){var e=t.data().get("statusId");return this.options.isAdmin&&this.options.isChangeOrdersAdmin&&e!==PJQ.constants.commitments.commitmentStatus.SUBCONTRACT_TERMINATED&&e!==PJQ.constants.commitments.commitmentStatus.PURCHASE_ORDER_CLOSED},this),onClick:_.bind(function(t){new PJQ.views.commitments.ChangeOrderEditModal({commitment:t.data()})},this)}]}})},exportList:function(){PJQ.files.downloadFile(PJQ.helpers.urlHelpers.generateEndpoint([{endpoint:"projects",value:PJQ.app.session.project.id},{endpoint:"commitments"},{endpoint:"export"}],[{parameter:"timeZoneOffset",value:(new Date).getTimezoneOffset()}]),{isAPIv2:!0})},editSettings:function(){new PJQ.views.commitments.CommitmentSettingsModal({commitmentsView:this,onSave:_.bind(function(){this.renderView(),PJQ.notifications.notify.successNotify({message:"Settings updated successfully"})},this)})},newCommitment:function(t){var e=$(t.currentTarget).hasClass("new-po")?PJQ.constants.commitments.commitmentType.PURCHASE_ORDER:PJQ.constants.commitments.commitmentType.SUBCONTRACT;this.viewCommitment(null,e)},viewCommitmentClicked:function(t){var e=this.dataTable.getRow($(t.currentTarget).closest("tr"));null!=e&&this.viewCommitment(e.data())},viewCommitment:function(t,e){var i=null==t;new PJQ.views.commitments.CommitmentEditModal({model:t,commitmentType:e,onChangeOrderAdd:_.bind(function(t){"function"==typeof this.options.onChangeOrderAdd&&this.options.onChangeOrderAdd(t)},this),onChangeOrderDelete:_.bind(function(t){"function"==typeof this.options.onChangeOrderDelete&&this.options.onChangeOrderDelete(t)},this),onInvoiceAdd:_.bind(function(t){"function"==typeof this.options.onChangeOrderAdd&&this.options.onInvoiceAdd(t)},this),onSave:_.bind(function(t){i&&this.collection.add(t),this.renderView(),"function"==typeof this.options.onCommitmentSave&&this.options.onCommitmentSave(t)},this),onDelete:_.bind(function(t){this.collection.remove(t),this.renderView(),"function"==typeof this.options.onCommitmentDelete&&this.options.onCommitmentDelete(t)},this)})},deleteCommitmentClicked:function(t){var e=this.dataTable.getRow($(t.currentTarget).closest("tr"));this.deleteCommitment(e)},deleteCommitment:function(t){if(null!=t){var e=t.data();
1null!=e&&new PJQ.views.modals.DeleteCancel({header:"Delete Commitment",body:"Are you sure you want to delete this Commitment?",onDelete:_.bind(function(){e.destroy({success:_.bind(function(){this.dataTable.removeRow(t),"function"==typeof this.options.onDelete&&this.options.onDelete(e)},this)})},this)})}}}),PJQ.views.commitments.ModalViewCommitments=PJQ.views.BaseModal.extend({defaults:{template:new PJQ.templating.Template(PJQ.constants.modules.COMMITMENTS,"modal-view-change-orders"),maxWidth:1e3,isShowCloseButton:!0,onSave:_.noop,isAdmin:!0},events:{},beforeModalCreated:function(){},renderData:function(){return{model:this.model}},afterRender:function(){null!=this.model&&new PJQ.views.commitments.CommitmentsList({el:this.$(".modal-body"),model:this.model,costCodeId:this.model.get("costCodeId"),costTypeId:this.model.get("costTypeId"),statusIds:this.options.statusIds,project:this.options.project})}}),PJQ.views.commitments.SelectCommitmentsModal=PJQ.views.BaseModal.extend({defaults:{template:new PJQ.templating.Template(PJQ.constants.modules.COMMITMENTS,"modal-select-commitments"),width:"60%",maxWidth:700,onSave:_.noop,selectedCommitmentId:null,headerSubText:null},events:{"change .select-commitment":"selectCommitment","click .btn-save":"save","click .btn-cancel":"cancel"},beforeModalCreated:function(){var t=_asyncToGenerator(_regeneratorRuntime().mark(function t(){return _regeneratorRuntime().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return this.isFetched=!1,this.options.isAdmin=PJQ.app.session.project.hasPermission("commitments.isAdmin"),this.selectedCommitment=null,this.selectedCommitments=[],null==this.collection&&(this.collection=new PJQ.collections.commitments.Commitments(null,{projectId:this.options.project.get("projectId")})),t.next=7,this.collection.fetch();case 7:null!=this.options.selectedCommitmentId&&(this.selectedCommitment=this.collection.get(this.options.selectedCommitmentId)),this.options.filterStatuses&&(this.collection.models=_.filter(this.collection.models,function(t){var e=t.get("statusId");return _.isArray(this.options.filterStatuses)?_.includes(this.options.filterStatuses,e):!!_.isNumber(this.options.filterStatuses)&&this.options.filterStatuses===e},this)),this.isFetched=!0,this.render();case 11:case"end":return t.stop()}},t,this)}));return function(){return t.apply(this,arguments)}}(),renderData:function(){return{headerSubText:this.options.headerSubText,isSingleChoice:this.options.isSingleChoice,hasSelected:this.options.isSingleChoice?null!=this.selectedCommitment:0<_.size(this.selectedCommitments)}},isSelected:function(t){return this.options.isSingleChoice?null!=this.selectedCommitment&&this.selectedCommitment.cid===t.cid:null!=this.selectedCommitments&&this.selectedCommitments.indexOf(t.cid)},afterRender:function(){var n=this;this.dataTable=new PJQ.views.dataTables.DataTable({el:this.$(".commitments-table"),data:this.collection.models,isHideSearch:!0,order:[],columns:[{data:"attributes.isSelected",title:"",orderable:!1,searchable:!1,render:function(t,e,i){return'<div class="text-align-center"><div class="pretty p-default p-smooth fs-18 m-0"><input type="checkbox" '+(n.isSelected(i)?"checked":"")+' class="select-commitment"/><div class="state p-primary"><label class="wd-0">&nbsp;</label></div></div></div>'}},{data:"attributes.number",title:"Number",orderable:!0},{data:"attributes.commitmentType",title:"Type",width:"110px",render:_.bind(function(t,e,i){return PJQ.constants.commitments.commitmentTypeNames[i.get("commitmentType")]},this)},{columnData:"attributes.contractedContact.companyName",title:"Company",titleSettings:"Contracted Company",render:_.bind(function(t,e,i){return i.get("contractedContact")?i.get("contractedContact").companyName:"N/A"},this)},{data:"attributes.description",title:"Description",orderable:!1},{data:"attributes.amount",title:"Grand Total",orderable:!1,className:"text-align-right",render:_.bind(function(t,e,i){return PJQ.helpers.formatHelpers.formatCurrency(i.getGrandTotal())},this)}],dom:'<"top"<"clear">>rt<"bottom"p<"clear">>'})}
1,selectCommitment:function(t){var e=$(t.currentTarget),i=this.dataTable.getRow(e.closest("tr")).data();this.options.isSingleChoice?(this.$(".select-commitment").not(e).text("Select").prop("checked",!1),i.get("isSelected")?(i.set("isSelected",!1),this.selectedCommitment=null):(i.set("isSelected",!0),this.selectedCommitment=i,this.collection.get(i.id),_.each(this.collection.models,_.bind(function(t){i.id!==t.id&&t.set("isSelected",!1)},this))),this.$(".btn-save").attr("disabled",null==this.selectedCommitment),"function"==typeof this.options.onCommitmentSelected&&this.options.onCommitmentSelected(this.selectedCommitment)):(i.get("isSelected")?(e.text("Select").addClass("btn-primary").removeClass("btn-secondary"),i.set("isSelected",!1),this.selectedCommitments=_.reject(this.selectedCommitments,function(t){return t.id===i.id})):(e.text("Deselect").addClass("btn-secondary").removeClass("btn-primary"),i.set("isSelected",!0),this.selectedCommitments.push(i)),this.$(".btn-save").attr("disabled",null==this.selectedCommitments),"function"==typeof this.options.onCommitmentSelected&&this.options.onCommitmentSelected(this.selectedCommitments))},cancel:function(){this.options.onCancel&&this.options.onCancel(),this.removeModal()},save:function(){this.options.onSave&&(this.options.onSave(this.selectedCommitment?this.selectedCommitment:this.selectedCommitments),this.removeModal())}}),PJQ.views.commitments.CommitmentManagement=PJQ.views.BaseView.extend({defaults:{template:new PJQ.templating.Template(PJQ.constants.modules.COMMITMENTS,"commitment-management"),subTemplates:{commitmentTotals:new PJQ.templating.Template(PJQ.constants.modules.COMMITMENTS,"commitment-management-totals"),invoiceTotals:new PJQ.templating.Template(PJQ.constants.modules.INVOICING,"invoicing-management-totals")},commitmentId:null,changeOrderId:null,invoiceId:null,view:null},events:{"shown.bs.tab .nav-tabs":"tabActivated","click .btn-settings":"settings"},beforeFirstRender:function(){this.options.canViewCommitments=PJQ.app.session.project.hasPermission("commitments.canView"),this.options.canViewChangeOrders=PJQ.app.session.project.hasPermission("commitmentChangeOrders.canView"),this.options.canViewInvoices=PJQ.app.session.project.hasPermission("payableInvoices.canView"),this.options.isAdmin=PJQ.app.session.project.hasPermission("commitments.isAdmin")&&PJQ.app.session.project.hasPermission("commitmentChangeOrders.isAdmin")&&PJQ.app.session.project.hasPermission("payableInvoices.isAdmin")},renderData:function(){return{isFetched:this.isFetched,commitments:this.commitments,changeOrders:this.changeOrders,invoices:this.invoices,canViewCommitments:this.options.canViewCommitments,canViewChangeOrders:this.options.canViewChangeOrders,canViewInvoices:this.options.canViewInvoices,isAdmin:this.options.isAdmin}},afterRender:function(){this.commitmentsView=null,this.changeOrdersView=null,(this.invoicesView=null)!=this.options.view?this.activateTab(this.options.view):0<this.options.commitmentId&&this.options.canViewCommitments?this.activateTab("commitments"):0<this.options.changeOrderId&&this.options.canViewChangeOrders?this.activateTab("changeorders"):0<this.options.invoiceId&&this.options.canViewInvoices?this.activateTab("invoices"):this.options.canViewCommitments?this.activateTab("commitments"):this.options.canViewChangeOrders?this.activateTab("changeorders"):this.options.canViewInvoices&&this.activateTab("invoices")},renderStats:function(){var t,e=this.$(".totals-outer");switch(this.activeView){case"changeorders":if(null==this.changeOrdersView||null==this.changeOrdersView.collection||!this.changeOrdersView.collection.isFetched)return void e.empty();t=this.changeOrdersView.collection.getTotalAmountsByStatus(),this.renderSubTemplate(!1,this.options.subTemplates.commitmentTotals,e,{pending:t[PJQ.constants.commitments.changeOrderStatusBuckets.PENDING.name],projected:t[PJQ.constants.commitments.changeOrderStatusBuckets.PROJECTED.name],committed:t[PJQ.constants.commitments.changeOrderStatusBuckets.COMMITTED.name]});break;case"invoices":if(null==this.invoicesView||null==this.invoicesView.collection||!this.invoicesView.collection.isFetched)return void e.empty();t=this.invoicesView.collection.getTotalAmountsByStatus(),this.renderSubTemplate(!1,this.options.subTemplates.invoiceTotals,e,{draft:t[PJQ.constants.invoicing.payableInvoiceStatus.DRAFT],reviewing:t[PJQ.constants.invoicing.payableInvoiceStatus.REVIEWING],approved:t[PJQ.constants.invoicing.payableInvoiceStatus.APPROVED],complete:t[PJQ.constants.invoicing.payableInvoiceStatus.COMPLETE],revise:t[PJQ.constants.invoicing.payableInvoiceStatus.REVISE]});break;default:if(null==this.commitmentsView||null==this.commitmentsView.collection||!this.commitmentsView.collection.isFetched)return void e.empty();t=this.commitmentsView.collection.getTotalAmountsByStatus(),this.renderSubTemplate(!1,this.options.subTemplates.commitmentTotals,e,{pending:t[PJQ.constants.commitments.commitmentStatusBuckets.PENDING.name],projected:t[PJQ.constants.commitments.commitmentStatusBuckets.PROJECTED.name],committed:t[PJQ.constants.commitments.commitmentStatusBuckets.COMMITTED.name]})}},activateTab:function(t){switch((this.activeView=t)?t.toLowerCase():null){case"changeorders":t="CCO_List",this.renderChangeOrdersView();break;case"invoices":t="PI_List",this.renderInvoicesView();break;default:t="C_List",this.renderCommitmentsView()}this.isActivating=!0,this.$('.nav-link[href="#'+t+'"]').tab("show"),this.isActivating=!1,this.renderStats()},tabActivated:function(t){if(!this.isActivating){var e;switch(this.activeTab=$(t.target).attr("href"),this.activeTab){case"#C_List":e="commitments";break;case"#CCO_List":e="changeorders";break;case"#PI_List":e="invoices"}this.activateTab(e)}},renderCommitmentsView:function(){if(PJQ.app.router.navigate("projects/"+this.options.project.id.toString()+"/commitments",{trigger:!1}),null==this.commitmentsView&&this.options.canViewCommitments){var t=_.bind(function(){this.commitmentsView=new PJQ.views.commitments.CommitmentsList({el:this.$(".commitments-pane"),project:PJQ.app.session.project,commitmentId:this.options.commitmentId,collection:this.commitments,afterRender:_.bind(this.renderStats,this),onCommitmentSave:_.bind(function(){this.renderStats()},this),onCommitmentDelete:_.bind(function(){this.renderStats()},this),onChangeOrderAdd:_.bind(function(t){null!=this.changeOrders&&(this.changeOrders.add(t),null!=this.changeOrdersView&&this.changeOrdersView.render()),this.renderStats()},this),onChangeOrderDelete:_.bind(function(t){if(this.changeOrders){var e=this.changeOrders.get(t);this.changeOrders.remove(e),null!=this.changeOrdersView&&this.changeOrdersView.render(),this.renderStats()}}
1,this),onInvoiceAdd:_.bind(function(t){null!=this.invoices&&(this.invoices.add(t),null!=this.invoicesView&&this.invoicesView.render())},this)}),this.options.commitmentId=null},this);null==this.commitments?(this.commitments=new PJQ.collections.commitments.Commitments(null,{projectId:this.options.project.get("projectId")}),this.commitments.fetch({success:_.bind(function(){t()},this)})):t()}},renderChangeOrdersView:function(){if(PJQ.app.router.navigate("projects/"+this.options.project.id.toString()+"/commitments/changeorders",{trigger:!1}),null==this.changeOrdersView&&this.options.canViewChangeOrders){var t=_.bind(function(){this.changeOrdersView=new PJQ.views.commitments.ChangeOrdersList({el:this.$(".change-orders-pane"),project:PJQ.app.session.project,changeOrderId:this.options.changeOrderId,collection:this.changeOrders,afterRender:_.bind(this.renderStats,this)}),this.options.changeOrderId=null},this);null==this.changeOrders?(this.changeOrders=new PJQ.collections.commitments.ChangeOrders(null,{projectId:this.options.project.get("projectId")}),this.changeOrders.fetch({success:_.bind(function(){t()},this)})):t()}},renderInvoicesView:function(){if(PJQ.app.router.navigate("projects/"+this.options.project.id.toString()+"/commitments/invoices",{trigger:!1}),null==this.invoicesView&&this.options.canViewInvoices){var t=_.bind(function(){this.invoicesView=new PJQ.views.invoicing.PayableInvoicesList({el:this.$(".invoices-pane"),project:PJQ.app.session.project,invoiceId:this.options.invoiceId,inviteResponse:this.options.inviteResponse,collection:this.invoices,afterRender:_.bind(this.renderStats,this),onDelete:_.bind(function(t){this.invoices.remove(t)},this)}),this.options.invoiceId=null},this);null==this.invoices?(this.invoices=new PJQ.collections.invoicing.PayableInvoices(null,{project:this.options.project}),this.invoices.fetch({success:_.bind(function(){t()},this)})):t()}},getActiveTab:function(){return this.$(".nav-item>.nav-link.active").attr("href")},settings:function(){switch(this.getActiveTab()){case"#C_List":null!=this.commitmentsView&&this.commitmentsView.editSettings();break;case"#CCO_List":null!=this.changeOrdersView&&this.changeOrdersView.editSettings();break;case"#PI_List":null!=this.invoicesView&&this.invoicesView.editSettings()}},updateTotalsCount:function(){var t=this.$(".commitments-total"),e=this.$(".change-orders-total"),i=this.$(".invoices-total");t.text(_.size(this.commitments.models)),e.text(_.size(this.changeOrders.models)),i.text(_.size(this.invoices.models))}}),PJQ.models.commitments.Commitment=PJQ.models.BaseModel.extend({defaults:{isAPIv2:!0},idAttribute:"id",endpoint:function(){var t=[];return this.isNew()&&t.push({endpoint:"projects",value:this.get("projectId")}),t.push({endpoint:"commitments",value:this.id}),PJQ.helpers.urlHelpers.generateEndpoint(t)},parse:function(t){return t&&(this.attachments=new PJQ.collections.commitments.CommitmentAttachments(t.attachments),this.w9Attachments=new PJQ.collections.commitments.CommitmentAttachments(t.w9Attachments),this.coiAttachments=new PJQ.collections.commitments.CommitmentAttachments(t.coiAttachments),this.lienWaiverAttachments=new PJQ.collections.commitments.CommitmentAttachments(t.lienWaiverAttachments),this.signedDocumentAttachments=new PJQ.collections.commitments.CommitmentAttachments(t.signedDocumentAttachments),this.affidavitAttachments=new PJQ.collections.commitments.CommitmentAttachments(t.affidavitAttachments),this.executedDocumentAttachments=new PJQ.collections.commitments.CommitmentAttachments(t.executedDocumentAttachments),this.customFieldAttachments=new PJQ.collections.commitments.CommitmentAttachments(t.customFieldAttachments),this.lineItems=new PJQ.collections.commitments.CommitmentLineItems(t?t.lineItems:null),this.changeOrders=new PJQ.collections.commitments.ChangeOrders(t?t.changeOrders:null),this.invoices=new PJQ.collections.invoicing.PayableInvoices(t?t.invoices:null),this.payments=new PJQ.collections.invoicing.PayableInvoicePayments(t.payments),this.markupItems=new PJQ.financialMarkups.collections.FinancialMarkups(t?t.markupItems:null),t.contractedContact&&(t.contractedContact instanceof PJQ.models.BaseModel?this.contractedContact=t.contractedContact:this.contractedContact=new PJQ.models.contacts.Contact(t.contractedContact)),t.invoiceContact&&(t.invoiceContact instanceof PJQ.models.BaseModel?this.invoiceContact=t.invoiceContact:this.invoiceContact=new PJQ.models.contacts.Contact(t.invoiceContact))),t},beforeSave:function(){var t=this.lineItems.filter(function(t){return t.markup&&t.isNew()});this.lineItems.remove(t),this.set({lineItems:this.lineItems.toJSON(),attachments:this.attachments.toJSON(),w9Attachments:this.w9Attachments.toJSON(),coiAttachments:this.coiAttachments.toJSON(),lienWaiverAttachments:this.lienWaiverAttachments.toJSON(),signedDocumentAttachments:this.signedDocumentAttachments.toJSON(),affidavitAttachments:this.affidavitAttachments.toJSON(),executedDocumentAttachments:this.executedDocumentAttachments.toJSON(),customFieldAttachments:this.customFieldAttachments.toJSON(),markupItems:this.markupItems.toJSON()})},submit:function(e){this.beforeSave(),new PJQ.ajax.Request({endpoint:this.endpoint()+"/submit",isAPIv2:!0,data:this.toJSON()}).post().done(_.bind(function(t){this.set(this.parse(t)),"function"==typeof e&&e(!0)},this)).fail(_.bind(function(t){"function"==typeof e&&e(!1)},this))},makeERPUrl:function(t){var e=this.externalId();if(0===_.size(e))return"";switch(t.get("name")){case PJQ.constants.integrations.providers.QBO.name:return"https://app.sandbox.qbo.intuit.com/app/purchaseorder?txnId="+e;default:return""}},share:function(t,e){new PJQ.ajax.Request({endpoint:this.endpoint()+"/email",isAPIv2:!0,data:{subject:null!=t?t.subject:null,body:null!=t?t.body:null,toEmails:null!=t?t.toEmails:null,ccEmails:null!=t?t.ccEmails:null}}).post().done(_.bind(function(t){e()}
1,this)).fail(_.bind(function(t,e,i){},this))},getSubTotal:function(){return this.get("amount")+this.get("markupAmount")},getGrandTotal:function(){return this.getSubTotal()+this.get("taxAmount")}}),PJQ.models.commitments.HistoryItem=PJQ.models.BaseModel.extend({defaults:{isAPIv2:!0},actionNames:{status:"Status Changed",submit:"Submitted",signed:"Signed & Submitted",email:"Email Sent"},getActionName:function(){var t;return null!==(t=this.actionNames[this.get("action")])&&void 0!==t?t:this.get("action")},getDescription:function(){switch(this.get("action")){case"status":var t=this.get("data").from,e=this.get("data").to;return null==t||null==e?"":PJQ.constants.commitments.commitmentStatusNames[t]+'<i class="fal fa-arrow-right ml-1 mr-1 fs-14"></i>'+PJQ.constants.commitments.commitmentStatusNames[e];case"email":var i=this.get("data").to;return 0===_.size(i)?"":"To: "+i.join(", ");default:return""}}}),PJQ.models.commitments.CommitmentLineItem=PJQ.models.budget.BaseLineItem.extend({defaults:{isAPIv2:!0},idAttribute:"id"}),PJQ.models.commitments.CommitmentAttachment=PJQ.models.files.File.extend({defaults:{isAPIv2:!0},idAttribute:"id"}),PJQ.models.commitments.CustomField=PJQ.models.customFields.CustomField.extend({defaults:{isAPIv2:!0},idAttribute:"id",endpoint:function(){return PJQ.helpers.urlHelpers.generateEndpoint([{endpoint:"commitments"},{endpoint:"customfields",value:this.get("id")}])}}),PJQ.models.commitments.CustomFieldChoice=PJQ.models.BaseModel.extend({defaults:{isAPIv2:!0},idAttribute:"id",endpoint:function(){return PJQ.helpers.urlHelpers.generateEndpoint([{endpoint:"commitments"},{endpoint:"customfields",value:this.get("customFieldId")},{endpoint:"choices",value:this.get("id")}])}}),PJQ.models.commitments.Settings=PJQ.models.budget.Settings.extend({defaults:{isAPIv2:!0},idAttribute:"settingId",endpoint:function(){return 0<this.options.projectId?PJQ.helpers.urlHelpers.generateEndpoint([{endpoint:"projects",value:this.options.projectId},{endpoint:"commitments"},{endpoint:"settings"}]):PJQ.helpers.urlHelpers.generateEndpoint([{endpoint:"commitments"},{endpoint:"settings"}])}}),PJQ.models.commitments.Term=PJQ.models.BaseModel.extend({defaults:{isAPIv2:!0},idAttribute:"termsId",endpoint:function(){return PJQ.helpers.urlHelpers.generateEndpoint([{endpoint:"commitments"},{endpoint:"terms",value:this.id}])}}),PJQ.models.commitments.FieldSetting=PJQ.models.BaseModel.extend({defaults:{isAPIv2:!0},idAttribute:"settingId",endpoint:function(){return PJQ.helpers.urlHelpers.generateEndpoint([{endpoint:"settings"},{endpoint:"fields",value:this.id?this.id:"commitments"}])}}),PJQ.models.commitments.CommitmentUserSettings=PJQ.models.BaseModel.extend({defaults:{isAPIv2:!0},idAttribute:"settingId",endpoint:function(){return PJQ.helpers.urlHelpers.generateEndpoint([{endpoint:"commitments"},{endpoint:"settings"},{endpoint:"user"}])},getSettings:function(e){return _.find(this.attributes.viewSettings,_.bind(function(t){return t.view===e},this))}}),PJQ.collections.commitments.Commitments=PJQ.collections.BaseCollection.extend({defaults:{isAPIv2:!0},model:PJQ.models.commitments.Commitment,endpoint:function(){var t=[];return this.options.withLineItems&&t.push({parameter:"withLineItems",value:this.options.withLineItems}),this.options.costCodeId&&this.options.costTypeId&&t.push({parameter:"costCodeId",value:this.options.costCodeId},{parameter:"costTypeId",value:this.options.costTypeId}),PJQ.helpers.urlHelpers.generateEndpoint([{endpoint:"projects",value:this.options.projectId},{endpoint:"commitments"}],t)},getTotalAmountsByStatus:function(){var t={};return _.each(PJQ.constants.commitments.commitmentStatusBuckets,function(e){var i=0;_.each(this.models,function(t){-1!==e.statuses.indexOf(t.get("statusId"))&&(i+=t.get("amount"))}),t[e.name]=i},this),t}}),PJQ.collections.commitments.History=PJQ.collections.BaseCollection.extend({defaults:{isAPIv2:!0},model:PJQ.models.commitments.HistoryItem,endpoint:function(){return PJQ.helpers.urlHelpers.generateEndpoint([{endpoint:"commitments",value:this.options.commitmentId},{endpoint:"history"}])}}),PJQ.collections.commitments.CommitmentLineItems=PJQ.collections.BaseCollection.extend({defaults:{isAPIv2:!0},model:PJQ.models.commitments.CommitmentLineItem,endpoint:function(){return PJQ.helpers.urlHelpers.generateEndpoint([{endpoint:"commitments",value:this.options.commitmentId},{endpoint:"lineitems"}],[])}}),PJQ.collections.commitments.CommitmentAttachments=PJQ.collections.files.Files.extend({defaults:{isAPIv2:!0},model:PJQ.models.commitments.CommitmentAttachment,endpoint:function(){return PJQ.helpers.urlHelpers.generateEndpoint([{endpoint:"commitments",value:this.options.commitmentId},{endpoint:"attachments"}])}}),PJQ.collections.commitments.CustomFields=PJQ.collections.BaseCollection.extend({defaults:{isAPIv2:!0},model:PJQ.models.commitments.CustomField,endpoint:function(){return 0<this.options.projectId?PJQ.helpers.urlHelpers.generateEndpoint([{endpoint:"projects",value:this.options.projectId},{endpoint:"commitments"},{endpoint:"customfields"}]):PJQ.helpers.urlHelpers.generateEndpoint([{endpoint:"commitments"},{endpoint:"customfields"}])}}
1),PJQ.collections.commitments.CustomFieldChoices=PJQ.collections.BaseCollection.extend({defaults:{isAPIv2:!0},model:PJQ.models.commitments.CustomFieldChoice}),PJQ.collections.commitments.Terms=PJQ.collections.BaseCollection.extend({defaults:{isAPIv2:!0},model:PJQ.models.commitments.Term,endpoint:function(){return 0<this.options.projectId?PJQ.helpers.urlHelpers.generateEndpoint([{endpoint:"projects",value:this.options.projectId},{endpoint:"commitments"},{endpoint:"terms"}]):PJQ.helpers.urlHelpers.generateEndpoint([{endpoint:"commitments"},{endpoint:"terms"}])}}),PJQ.collections.commitments.FieldSettings=PJQ.collections.BaseCollection.extend({defaults:{isAPIv2:!0},model:PJQ.models.commitments.FieldSetting,endpoint:function(){return 0<this.options.projectId?PJQ.helpers.urlHelpers.generateEndpoint([{endpoint:"projects",value:this.options.projectId},{endpoint:"settings"},{endpoint:"fields",value:"commitments"}]):PJQ.helpers.urlHelpers.generateEndpoint([{endpoint:"settings"},{endpoint:"fields",value:"commitments"}])}}),PJQ.views.commitments.CommitmentSettingsModal=PJQ.views.BaseModal.extend({defaults:{template:new PJQ.templating.Template(PJQ.constants.modules.COMMITMENTS,"modal-commitment-settings"),minWidth:"600px"},events:{"change .select-column":"columnSelected","click .btn-edit-company-default":"editCompanySettings","click button.settings-save":"onSave"},beforeModalCreated:function(){this.userSettings=this.options.commitmentsView.userSettings},beforeRender:function(){this.options.userSettings=[],this.options.defaultTypeFilter=this.userSettings.get("defaultTypeFilter"),this.options.defaultStatusFilter=this.userSettings.get("defaultStatusFilter"),_.each(this.userSettings.attributes.viewSettings,_.bind(function(t){var e=this.options.commitmentsView.dataTable.getColumns(!0),i=0<_.size(t.columns)?t.columns:t.columnsDefault;_.each(e,_.bind(function(t){t.visible=-1!==i.indexOf(t.columnData)},this)),this.options.userSettings.push({view:t.view,rowsPerPage:t.rowsPerPage,columns:e})},this))},renderData:function(){return{userSettings:this.userSettings}},afterRender:function(){var t={};t[PJQ.constants.commitments.filterType.TYPE_FILTER]=this.userSettings.get("defaultCommitmentTypeFilter"),t[PJQ.constants.commitments.filterType.TYPE_FILTER]=_.map(t[PJQ.constants.commitments.filterType.TYPE_FILTER],function(t){return-1*t}),t[PJQ.constants.commitments.filterType.STATUS_FILTER]=this.userSettings.get("defaultCommitmentStatusFilter"),this.defaultFilterSelectPicker=new PJQ.inputs.Selectpicker({el:this.$(".select-filter-default"),isIntChoices:!0,isMultiple:!0,isGrouped:!0,defaultValue:t,onChange:_.bind(function(){this.options.defaultTypeFilter=this.defaultFilterSelectPicker.getValue()[PJQ.constants.commitments.filterType.TYPE_FILTER],this.options.defaultTypeFilter=_.map(this.options.defaultTypeFilter,function(t){return-1*t}),this.options.defaultStatusFilter=this.defaultFilterSelectPicker.getValue()[PJQ.constants.commitments.filterType.STATUS_FILTER]},this)}),this.rowsPerPage=new PJQ.inputs.Selectpicker({el:this.$("select.rows-per-page"),isIntChoices:!0,onChange:_.bind(function(t){this.currentView.rowsPerPage=t},this)}),this.selectView(PJQ.constants.commitments.view.COMMITMENTS)},editCompanySettings:function(){this.userSettings=new PJQ.models.commitments.CommitmentUserSettings(null,{forCompany:!0}),this.userSettings.fetch({success:_.bind(function(){this.render()},this)})},selectView:function(e){this.currentView=_.find(this.options.userSettings,_.bind(function(t){return t.view===e},this)),-1===e.indexOf("-")?(this.rowsPerPage.setValue(this.currentView.rowsPerPage),this.$("div.rows-per-page").show()):this.$("div.rows-per-page").hide(),this.dataTable&&(this.dataTable.undelegateEvents(),$(this.dataTable.el).empty()),this.dataTable=new PJQ.views.dataTables.DataTable({el:this.$("div.select-columns-datatable"),data:this.currentView.columns,isHideSearch:!0,pageLength:6,order:[],columns:[{data:"title",title:"Column",orderable:!1},{data:"visible",title:"Show",orderable:!1,searchable:!1,render:_.bind(function(t){return'<div class="text-align-center"><div class="pretty p-default p-smooth fs-18 m-0"><input type="checkbox"'+(t?" checked ":"")+'class="select-column"/><div class="state p-primary"><label class="wd-0">&nbsp;</label></div></div></div>'},this),width:"10%"}],dom:'<"top"<"clear">>rt<"bottom"p<"clear">>'})},columnSelected:function(t){this.dataTable.dataTable.row($(t.currentTarget).closest("tr")).data().visible=$(t.currentTarget).prop("checked")},onSave:function(){var t=_.bind(function(){"function"==typeof this.options.onSave&&this.options.onSave(),this.removeModal()},this);this.userSettings.set("defaultCommitmentTypeFilter",this.options.defaultTypeFilter),this.userSettings.set("defaultCommitmentStatusFilter",this.options.defaultStatusFilter),_.each(this.options.userSettings,_.bind(function(e){_.each(this.userSettings.get("viewSettings"),_.bind(function(t){if(e.view===t.view){t.rowsPerPage=e.rowsPerPage;var i=0<_.size(t.columns)?t.columns.slice():t.columnsDefault.slice();_.each(e.columns,_.bind(function(e){e.visible?-1===i.indexOf(e.columnData)&&i.push(e.columnData):-1!==i.indexOf(e.columnData)&&(i=_.filter(i,_.bind(function(t){return t!=e.columnData},this)))},this)),t.columns=i}},this))},this)),this.userSettings.save(null,{success:_.bind(function(){t()},this)})}});
2//# sourceMappingURL=app.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.