PageSourceSearch

https://eu.younium.com/chunk-BNFV4GLQ.js

js younium.com collected 2026-10-03 21:21:18 UTC 31,821 bytes, 5 lines download raw bytes

1import{a as we}from"./chunk-YLTTKS2E.js";import"./chunk-QLGFGXUS.js";import{a as Ne}from"./chunk-J3L5NQ4S.js";import{a as W}from"./chunk-5MD6LA6G.js";import{a as xe,b as Se}from"./chunk-B4FWTK56.js";import{a as Z}from"./chunk-I5PHT5R4.js";import{a as ue}from"./chunk-RL23CMKJ.js";import"./chunk-H53OZVLL.js";import"./chunk-3RO65GPC.js";import"./chunk-7UG5WIEB.js";import"./chunk-JTGAFH3Q.js";import{a as ye,d as fe}from"./chunk-M5AYQI3W.js";import"./chunk-FWHBGNFB.js";import"./chunk-I6OTESFY.js";import"./chunk-KSV4K5L7.js";import"./chunk-G24DUSEI.js";import{a as H}from"./chunk-WBKEXQKE.js";import{n as he}from"./chunk-GBI3J4AK.js";import{a as X}from"./chunk-7RJ7KBOV.js";import"./chunk-EOY6SAP7.js";import"./chunk-ZGCK3FI7.js";import"./chunk-GFCJRNG7.js";import"./chunk-RVGGNFAO.js";import{J as G}from"./chunk-3C3AINZY.js";import"./chunk-CLDDMLFW.js";import"./chunk-TZCA4BMQ.js";import"./chunk-E653UENJ.js";import"./chunk-YY5ENN77.js";import"./chunk-MZ3B3AQU.js";import"./chunk-GJ3HPRCZ.js";import"./chunk-L77O44AU.js";import"./chunk-XZDAMPUP.js";import"./chunk-L27WCSZV.js";import"./chunk-UWULTQAP.js";import{b as _e,c as Ce}from"./chunk-RB2YP5E2.js";import{k as me,n as pe}from"./chunk-QIIVFJNA.js";import"./chunk-KO7CD6JP.js";import"./chunk-6D27RETG.js";import{C as Q,c as ce,h as U,m as Y}from"./chunk-DJ7NG7WZ.js";import{c as q}from"./chunk-KI4XJKCH.js";import{a as ge}from"./chunk-NERRRF6P.js";import{w as K}from"./chunk-SXBT3OYT.js";import"./chunk-SN3EPBFH.js";import"./chunk-EHPYMWXB.js";import"./chunk-EUX7SKJZ.js";import"./chunk-5SQV5IIR.js";import{ea as de,i as j,j as ee,q as le}from"./chunk-7ZFPQAIH.js";import{ka as re,r as S,t as ae}from"./chunk-7NPDSOWV.js";import"./chunk-R5IULLQ2.js";import"./chunk-LEKN3M5J.js";import"./chunk-KFHTLBNQ.js";import"./chunk-YV5TISNX.js";import"./chunk-IDF3EASQ.js";import"./chunk-WJESYQVL.js";import{$c as E,Bc as u,Cc as r,Dc as c,Ec as b,F as D,Ib as a,Ic as ne,Jc as oe,La as l,Lc as w,Ma as d,Md as J,Rd as P,Sb as T,Uc as v,Vd as z,Wc as s,Xa as N,Zb as A,_c as B,a as te,ad as k,b as ie,dc as R,ed as V,ha as I,jd as M,l as F,pd as m,qd as p,rd as _,sa as x,t as O,td as se,uc as y,wc as f,xd as L,yd as $}from"./chunk-K6IHZUMJ.js";var De=["addOrEditDialog"],Le=["dimensionMappingsTable"],Pe=o=>({description:"Edit dimension mapping",icon:"edit",onClick:o}),We=o=>({description:"Delete dimension mapping",icon:"delete",onClick:o}),Me=(o,g)=>[o,g],Oe=o=>({fieldName:"integrationName",value:o}),Ae=o=>({fieldName:"youniumEntityName",value:o});function Re(o,g){if(o&1){let e=w();r(0,"yon-entity-table-card",3)(1,"yon-entity-table-card-primary-buttons")(2,"yon-button",5),v("onClick",function(){l(e);let t=s();return d(t.onShowAddDialog())}),M(3,"ADD"),c()(),r(4,"yon-entity-table",6,2),v("selectionChanged",function(t){l(e);let i=s();return d(i.selectedMapping.set(t))}),c()()}if(o&2){let e=s();u("header","Journal dimension custom mappings")("hideCardHeaderMenu",!0),a(4),u("viewName",e.tableViewName)("defaultFields",e.defaultFields)("alwaysSelectFirst",!0)("rowActionButtons",$(11,Me,L(7,Pe,e.onShowEditDialog),L(9,We,e.onDeleteClicked)))("conditions",$(18,Me,L(14,Oe,e.integrationName()),L(16,Ae,e.entityName)))}}function Be(o,g){if(o&1){let e=w();r(0,"yon-field",16),_("ngModelChange",function(t){l(e);let i=s(3);return p(i.selectedMapping().nonScalarMappingOption,t)||(i.selectedMapping().nonScalarMappingOption=t),d(t)}),c()}if(o&2){let e=s(3);m("ngModel",e.selectedMapping().nonScalarMappingOption),u("data",e.selectedFieldMappingOptions())("title","Map value to Netsuite field property")("isRequired",!0)}}function Je(o,g){if(o&1){let e=w();r(0,"yon-field",12),_("ngModelChange",function(t){l(e);let i=s(2);return p(i.selectedMapping().youniumFieldName,t)||(i.selectedMapping().youniumFieldName=t),d(t)}),c(),r(1,"yon-field",13),v("ngModelChange",function(t){l(e);let i=s(2);return d(i.onIntegrationFieldChange(t))}),c(),r(2,"yon-field",14),_("ngModelChange",function(t){l(e);let i=s(2);return p(i.selectedMapping().mappingOption,t)||(i.selectedMapping().mappingOption=t),d(t)}),c(),y(3,Be,1,4,"yon-field",15)}if(o&2){let e=s(2);m("ngModel",e.selectedMapping().youniumFieldName),u("data",e.dimensions())("title","Dimension")("isRequired",!0),a(),u("ngModel",e.selectedMapping().integrationFieldName)("data",e.integrationFieldNames())("title","Netsuite journal entry field")("isRequired",!0)("allowCustom",!0),a(),m("ngModel",e.selectedMapping().mappingOption),u("data",e.mappingOptions)("title","Map dimension as")("isRequired",!0),a(),f(e.selectedFieldMappingOptions().length>0?3:-1)}}function ze(o,g){o&1&&(r(0,"div",7),M(1," Younium cannot validate this field so make sure it compatible with your integration. "),c())}function je(o,g){o&1&&(r(0,"div",8),M(1," Invalid field name. Only letters, numbers, underscores, dots, hyphens, and brackets are allowed. "),c())}function qe(o,g){if(o&1){let e=w();y(0,Je,4,14),y(1,ze,2,0,"div",7),y(2,je,2,0,"div",8),r(3,"div",9)(4,"yon-button",10),v("onClick",function(){l(e);let t=s();return d(t.onSave())}),M(5," SAVE "),c(),r(6,"yon-button",11),v("onClick",function(){l(e),s();let t=V(4);return d(t.close())}),M(7,"CANCEL"),c()()}if(o&2){let e,n=s();f(n.selectedMapping()?0:-1),a(),f(n.isCustomIntegrationField()&&n.isValidCustomFieldName()?1:-1),a(),f(n.isCustomIntegrationField()&&!n.isValidCustomFieldName()?2:-1),a(2),u("disabled",n.isLoading()||!n.isValidCustomFieldName()||((e=n.selectedMapping())==null?null:e.mappingOption)==null||n.selectedFieldMappingOptions().length>0&&!((e=n.selectedMapping())!=null&&e.nonScalarMappingOption)||!((e=n.selectedMapping())!=null&&e.integrationFieldName&&((e=n.selectedMapping())!=null&&e.youniumFieldName))),a(2),u("disabled",n.isLoading())}}function be(o){let g=new Set;return(o||[]).map(e=>({youniumFieldName:"dimension"+(e.name||"").replace(/ /g,""),display:e.description||e.name})).filter(e=>!e.youniumFieldName||e.youniumFieldName==="dimension"||g.has(e.youniumFieldName)?!1:(g.add(e.youniumFieldName),!0))}var ve=(()=>{class o{static{this.EntityName="journalDimension"}constructor(e,n,t){this.notificationService=e,this.dialogService=n,this.netsuiteService=t,this.integrationName=z(),this.dimensions=z(),this.segmentProps=z(),this.integrationFieldNames=P(()=>(this.segmentProps()||[]).map(i=>i.name)),this.selectedFieldMappingOptions=P(()=>{let i=this.selectedMapping()?.integrationFieldName;return(this.segmentProps()||[]).find(C=>C.name===i)?.mappingOptions||[]}),this.entityName=o.EntityName,this.defaultFields=["youniumFieldName","integrationFieldName","youniumEntityName"],this.isLoading=N(!1),this.selectedMapping=N(null),this.mappingOptions=[{value:j.Default,label:"Value"},{value:j.CustomFieldListAsKey,label:"Key"}
1],this.isCustomIntegrationField=P(()=>!!this.selectedMapping()?.integrationFieldName&&!this.integrationFieldNames().includes(this.selectedMapping().integrationFieldName)),this.isValidCustomFieldName=P(()=>this.isCustomIntegrationField()?le.VALID_FIELD_NAME_PATTERN.test(this.selectedMapping().integrationFieldName):!0),this.unsubscribe$=new O,this.onShowEditDialog=i=>{this.selectedMapping.set(new ee(i)),this.mode="Edit",this.addOrEditDialog.show()},this.onDeleteClicked=i=>F(this,null,function*(){let C=`Delete dimension mapping?
2
3`;i.youniumFieldName&&(C+=`Dimension: ${i.youniumFieldName}
4`),i.integrationFieldName&&(C+=`Netsuite field: ${i.integrationFieldName}
5`),(yield this.dialogService.confirmYesNo(C))&&D(this.netsuiteService.deleteDimensionMapping(i.id)).then(()=>{this.dimensionMappingsTable.refresh(),this.notificationService.success("Dimension mapping was deleted")},Te=>this.notificationService.error(Te.error.message))})}ngOnInit(){this.tableViewName=this.integrationName()+"-"+this.entityName+"-custom"}ngOnDestroy(){this.unsubscribe$.next(),this.unsubscribe$.complete()}onShowAddDialog(){this.selectedMapping.set(new ee({integrationName:this.integrationName(),youniumEntityName:this.entityName,mappingOption:j.Default})),this.mode="Add",this.addOrEditDialog.show()}onSave(){let e=this.selectedMapping();e.integrationName=this.integrationName(),e.youniumEntityName=this.entityName,this.isLoading.set(!0),(this.mode==="Add"?this.netsuiteService.createDimensionMapping(e):this.netsuiteService.updateDimensionMapping(e)).pipe(x(this.unsubscribe$),I(()=>this.isLoading.set(!1))).subscribe({next:t=>{this.notificationService.success(`Dimension mapping was ${this.mode==="Add"?"added":"updated"}`),this.addOrEditDialog.close(),this.dimensionMappingsTable.refresh(t.id)},error:t=>this.notificationService.error(t?.error?.message||"An error occurred while saving the dimension mapping")})}onIntegrationFieldChange(e){this.selectedMapping.set(ie(te({},this.selectedMapping()),{integrationFieldName:e,nonScalarMappingOption:null}))}static{this.\u0275fac=function(n){return new(n||o)(T(q),T(H),T(Z))}}static{this.\u0275cmp=A({type:o,selectors:[["yon-netsuite-dimension-mappings"]],viewQuery:function(n,t){if(n&1&&B(De,5)(Le,5),n&2){let i;E(i=k())&&(t.addOrEditDialog=i.first),E(i=k())&&(t.dimensionMappingsTable=i.first)}},inputs:{integrationName:[1,"integrationName"],dimensions:[1,"dimensions"],segmentProps:[1,"segmentProps"]},decls:7,vars:3,consts:[["addOrEditDialog",""],["addOrEditDialogContent",""],["dimensionMappingsTable",""],[3,"header","hideCardHeaderMenu"],[3,"header","containerTemplate"],["color","primary",3,"onClick"],["entity","integrationcustommapping",3,"selectionChanged","viewName","defaultFields","alwaysSelectFirst","rowActionButtons","conditions"],[1,"integration-custom-mapping-pop-up","warning"],[1,"integration-custom-mapping-pop-up","error"],[1,"mt-2"],["color","primary",1,"mr-2",3,"onClick","disabled"],[3,"onClick","disabled"],["type","select","name","dimensionField","textField","display","valueField","youniumFieldName",3,"ngModelChange","ngModel","data","title","isRequired"],["type","select","name","journalEntryField",3,"ngModelChange","ngModel","data","title","isRequired","allowCustom"],["type","select","name","mappingOption","textField","label","valueField","value",3,"ngModelChange","ngModel","data","title","isRequired"],["type","select","name","nonScalarMappingOption",3,"ngModel","data","title","isRequired"],["type","select","name","nonScalarMappingOption",3,"ngModelChange","ngModel","data","title","isRequired"]],template:function(n,t){if(n&1&&(ne(0),y(1,Re,6,21,"yon-entity-table-card",3),b(2,"br")(3,"yon-dialog",4,0),R(5,qe,8,5,"ng-template",null,1,J),oe()),n&2){let i=V(6);a(),f(t.tableViewName?1:-1),a(2),u("header",t.mode+" dimension mapping")("containerTemplate",i)}},dependencies:[Q,U,Y,ye,fe,K,he,X,G],styles:[".integration-custom-mapping-pop-up[_ngcontent-%COMP%]{border-radius:4px;padding:8px 12px;margin-top:4px;font-size:12px;color:var(--color-mono-contrast-max)}.integration-custom-mapping-pop-up.warning[_ngcontent-%COMP%]{background-color:var(--color-yellow-warning)}.integration-custom-mapping-pop-up.error[_ngcontent-%COMP%]{background-color:var(--color-red-error)}"]})}}return o}
5)();var Ue=["netsuiteIntegrationCards"],Ye=["invoiceCustomMappingsTable"],Qe=["accountCustomMappingsTable"],Ke=["setupDialog"];function He(o,g){if(o&1){let e=w();r(0,"div",7)(1,"yon-field",16),_("ngModelChange",function(t){l(e);let i=s(2);return p(i.settings.locationId,t)||(i.settings.locationId=t),d(t)}),c(),r(2,"p"),M(3,"Custom field mapping"),c(),r(4,"yon-field",16),_("ngModelChange",function(t){l(e);let i=s(2);return p(i.settings.servicePeriodStart,t)||(i.settings.servicePeriodStart=t),d(t)}),c(),r(5,"yon-field",16),_("ngModelChange",function(t){l(e);let i=s(2);return p(i.settings.servicePeriodEnd,t)||(i.settings.servicePeriodEnd=t),d(t)}),c(),r(6,"yon-field",16),_("ngModelChange",function(t){l(e);let i=s(2);return p(i.settings.lineNumber,t)||(i.settings.lineNumber=t),d(t)}),c()()}if(o&2){let e=s(2);a(),u("title","Location Id")("readOnly",!e.editMode()),m("ngModel",e.settings.locationId),a(3),u("title","Service Period Start")("readOnly",!e.editMode()),m("ngModel",e.settings.servicePeriodStart),a(),u("title","Service Period End")("readOnly",!e.editMode()),m("ngModel",e.settings.servicePeriodEnd),a(),u("title","Line Number")("readOnly",!e.editMode()),m("ngModel",e.settings.lineNumber)}}function Ge(o,g){if(o&1){let e=w();r(0,"yon-settings-slide-toggle",17),_("isCheckedChange",function(t){l(e);let i=s(2);return p(i.settings.useCustomService,t)||(i.settings.useCustomService=t),d(t)}),c()}if(o&2){let e=s(2);m("isChecked",e.settings.useCustomService),u("disabled",!e.editMode())}}function Xe(o,g){if(o&1){let e=w();r(0,"div",7)(1,"yon-field",16),_("ngModelChange",function(t){l(e);let i=s(2);return p(i.settings.customServiceUrl,t)||(i.settings.customServiceUrl=t),d(t)}),c(),r(2,"yon-field",16),_("ngModelChange",function(t){l(e);let i=s(2);return p(i.settings.nexusValue,t)||(i.settings.nexusValue=t),d(t)}),c()()}if(o&2){let e=s(2);a(),u("title","Url")("readOnly",!e.editMode()),m("ngModel",e.settings.customServiceUrl),a(),u("title","Nexus")("readOnly",!e.editMode()),m("ngModel",e.settings.nexusValue)}}function Ze(o,g){if(o&1){let e=w();r(0,"yon-settings-slide-toggle",18),_("isCheckedChange",function(t){l(e);let i=s(2);return p(i.settings.mapTaxCategoryName,t)||(i.settings.mapTaxCategoryName=t),d(t)}),c()}if(o&2){let e=s(2);m("isChecked",e.settings.mapTaxCategoryName),u("header","Map Younium tax category to your Netsuite Journals")("disabled",!e.editMode())}}function $e(o,g){if(o&1){let e=w();r(0,"div",7)(1,"yon-field",16),_("ngModelChange",function(t){l(e);let i=s(2);return p(i.settings.netsuiteTaxCategoryFieldName,t)||(i.settings.netsuiteTaxCategoryFieldName=t),d(t)}),c()()}if(o&2){let e=s(2);a(),u("title","Netsuite custom field name")("readOnly",!e.editMode()),m("ngModel",e.settings.netsuiteTaxCategoryFieldName)}}function et(o,g){if(o&1){let e=w();r(0,"yon-settings-slide-toggle",19),_("isCheckedChange",function(t){l(e);let i=s(2);return p(i.settings.mapJournalLineEntity,t)||(i.settings.mapJournalLineEntity=t),d(t)}),c()}if(o&2){let e=s(2);m("isChecked",e.settings.mapJournalLineEntity),u("header","Map customer entity on Journal lines")("disabled",!e.editMode())}}function tt(o,g){if(o&1){let e=w();r(0,"yon-settings-slide-toggle",20),_("isCheckedChange",function(t){l(e);let i=s(2);return p(i.settings.mapDimensionListKey,t)||(i.settings.mapDimensionListKey=t),d(t)}),c()}if(o&2){let e=s(2);m("isChecked",e.settings.mapDimensionListKey),u("header","Map Dimension List Key")("disabled",!e.editMode())}}function it(o,g){if(o&1&&b(0,"yon-netsuite-dimension-mappings",14),o&2){let e=s(2);u("integrationName",e.IntegrationNames.Netsuite)("dimensions",e.dimensionMappingOptions())("segmentProps",e.journalEntrySegmentProps())}}function nt(o,g){if(o&1&&b(0,"yon-integration-custom-mappings",15),o&2){let e=s(2);u("entityName","account")("displayEntityName","Export Account/Customer")("integrationName",e.IntegrationNames.Netsuite)("integrationFields",e.accountIntegrationFieldNames())("integrationFieldsLoading",e.accountPropsLoading())("youniumFields",e.youniumAccountFields())("allowCustomIntegrationField",!0)}}function ot(o,g){if(o&1&&b(0,"yon-integration-custom-mappings",15),o&2){let e=s(2);u("entityName","invoice")("displayEntityName","Invoices")("integrationName",e.IntegrationNames.Netsuite)("integrationFields",e.invoiceIntegrationFieldNames())("integrationFieldsLoading",e.invoicePropsLoading())("youniumFields",e.youniumInvoiceFields())("allowCustomIntegrationField",!0)}}function st(o,g){if(o&1&&b(0,"yon-integration-custom-mappings",15),o&2){let e=s(2);u("entityName","invoiceline")("displayEntityName","Invoice lines")("integrationName",e.IntegrationNames.Netsuite)("integrationFields",e.invoiceLineIntegrationFieldNames())("integrationFieldsLoading",e.invoiceLinePropsLoading())("youniumFields",e.youniumInvoiceLineFields())("allowCustomIntegrationField",!0)}}function at(o,g){if(o&1){let e=w();r(0,"yon-settings-integration-cards",5,2),v("saveClick",function(){l(e);let t=s();return d(t.onClickSaveIntegrationSettings())})("getStartedClick",function(){l(e);let t=s();return d(t.onSetup())})("deactivateClick",function(){l(e);let t=s();return d(t.onDeactivate())})("editClick",function(){l(e);let t=s();return d(t.editMode.set(!0))})("cancelClick",function(){l(e);let t=s();return d(t.onCancelClick())}),r(2,"yon-settings-integration-cards-settings")(3,"yon-settings-slide-toggle",6),_("isCheckedChange",function(t){l(e);let i=s();return p(i.settings.postInvoices,t)||(i.settings.postInvoices=t),d(t)}),c(),y(4,He,7,12,"div",7),r(5,"yon-settings-slide-toggle",8),_("isCheckedChange",function(t){l(e);let i=s();return p(i.settings.exportJournalSummary,t)||(i.settings.exportJournalSummary=t),d(t)}),c(),r(6,"yon-settings-slide-toggle",9),_("isCheckedChange",function(t){l(e);let i=s();return p(i.settings.exportJournal,t)||(i.settings.exportJournal=t),d(t)}),c(),y(7,Ge,1,2,"yon-settings-slide-toggle",10),y(8,Xe,3,6,"div",7),y(9,Ze,1,3,"yon-settings-slide-toggle",11),y(10,$e,2,3,"div",7),y(11,et,1,3,"yon-settings-slide-toggle",12),y(12,tt,1,3,"yon-settings-slide-toggle",13),b(13,"br"),y(14,it,1,3,"yon-netsuite-dimension-mappings",14),y(15,nt,1,7,"yon-integration-custom-mappings",15),y(16,ot,1,7,"yon-integration-custom-mappings",15),y(17,st,1,7,"yon-integration-custom-mappings",15),c()()}if(o&2){let e,n,t,i=s();u("integrationNameExtended",se("Netsuite subsidiary ",i.settings.companyUrl))("hasValidAccessToken",i.settings.hasValidAccessToken)("synchronizationBlocks",i.synchronizationBlocks)("editMode",i.editMode()),a(3),m("isChecked",i.settings.postInvoices),u("disabled",!i.editMode()),a(),f(i.settings.postInvoices?4:-1),a(),m("isChecked",i.settings.exportJournalSummary),u("disabled",!i.editMode()),a(),m("isChecked",i.settings.exportJournal),u("disabled",!i.editMode()),a(),f(i.settings.exportJournal?7:-1),a(),f(i.settings.useCustomService?8:-1),a(),f(i.settings.exportJournal?9:-1),a(),f(i.settings.mapTaxCategoryName?10:-1),a(),f(i.settings.exportJournal?11:-1),a(),f(i.settings.exportJournal||i.settings.exportJournalSummary?12:-1),a(2),f((i.settings.exportJournal||i.settings.exportJournalSummary)&&i.dimensionMappingOptions().length>0?14:-1),a(),f(((e=i.youniumAccountFields())==null?null:e.length)>0?15:-1),a(),f(((n=i.youniumInvoiceFields())==null?null:n.length)>0?16:-1),a(),f(((t=i.youniumInvoiceLineFields())==null?null:t.length)>0?17:-1)}}function rt(o,g){if(o&1){let e=w();r(0,"div")(1,"mat-form-field")(2,"input",22),_("ngModelChange",function(t){l(e);let i=s(2);return p(i.settings.consumerSecret,t)||(i.settings.consumerSecret=t),d(t)}),c()(),r(3,"mat-form-field")(4,"input",23),_("ngModelChange",function(t){l(e);let i=s(2);return p(i.settings.consumerKey,t)||(i.settings.consumerKey=t),d(t)}),c()(),r(5,"mat-form-field")(6,"input",24),_("ngModelChange",function(t){l(e);let i=s(2);return p(i.settings.accessToken,t)||(i.settings.accessToken=t),d(t)}),c()(),r(7,"mat-form-field")(8,"input",25),_("ngModelChange",function(t){l(e);let i=s(2);return p(i.settings.tokenSecret,t)||(i.settings.tokenSecret=t),d(t)}),c()(),r(9,"mat-form-field")(10,"input",26),_("ngModelChange",function(t){l(e);let i=s(2);return p(i.settings.accountId,t)||(i.settings.accountId=t),d(t)}),c()(),r(11,"mat-form-field")(12,"input",27),_("ngModelChange",function(t){l(e);let i=s(2);return p(i.settings.companyUrl,t)||(i.settings.companyUrl=t),d(t)}),c()(),r(13,"yon-button",28),v("onClick",function(){l(e);let t=s(2);return d(t.onActivate())}),M(14," VALIDATE "),c()()}if(o&2){let e=s(2);a(2),m("ngModel",e.settings.consumerSecret),a(2),m("ngModel",e.settings.consumerKey),a(2),m("ngModel",e.settings.accessToken),a(2),m("ngModel",e.settings.tokenSecret),a(2),m("ngModel",e.settings.accountId),a(2),m("ngModel",e.settings.companyUrl),a(),u("disabled",!e.settings.consumerSecret||!e.settings.consumerKey||!e.settings.accessToken||!e.settings.tokenSecret||!e.settings.accountId||!e.settings.companyUrl)}}function lt(o,g){if(o&1){let e=w();r(0,"div",21),b(1,"yon-icon",29),r(2,"p"),M(3," Younium and Netsuite are now integrated. Now go ahead and setup the rest of the integration "),c(),r(4,"yon-button",30),v("onClick",function(){l(e),s(2);let t=V(2);return d(t.close())}),M(5,"OK"),c()()}o&2&&u("@slideInOut",void 0)}function dt(o,g){if(o&1&&(y(0,rt,15,7,"div"),y(1,lt,6,1,"div",21)),o&2){let e=s();f(e.settings&&!(e.settings!=null&&e.settings.hasValidAccessToken)?0:-1),a(),f(e.settings!=null&&e.settings.hasValidAccessToken?1:-1)}}var Ut=(()=>{class o{constructor(e,n,t,i){this.netsuiteService=e,this.notificationService=n,this.dialogService=t,this.fieldConfigurationService=i,this.synchronizationBlocks=new Array,this.invoiceIntegrationFieldNames=N([]),this.invoiceLineIntegrationFieldNames=N([]),this.accountIntegrationFieldNames=N([]),this.youniumInvoiceFields=N([]),this.youniumInvoiceLineFields=N([]),this.youniumAccountFields=N([]),this.journalEntrySegmentProps=N([]),this.dimensionMappingOptions=N([]),this.invoicePropsLoading=N(!1),this.invoiceLinePropsLoading=N(!1),this.accountPropsLoading=N(!1),this.IntegrationNames=re,this.QueryConditionOperators=ae,this.editMode=N(!1),this.unsubscribe$=new O,this.onClickImportExchangeRates=C=>{this.synchronizationBlocks[C].isLoading=!0,this.netsuiteService.importExchangeRates().pipe(x(this.unsubscribe$)).subscribe({next:h=>{this.netsuiteIntegrationCards.onSynchronizationDoneHandler(C,h.lastExchangeRateImport,h.lastExchangeRateImportCount)},error:h=>this.netsuiteIntegrationCards.onSynchronizationErrorHandler(C,h.error.message)})},this.onClickClearExchangeRatesLastSynched=C=>{this.netsuiteService.clearExchangeRatesLastDateSync("ExchangeRate").pipe(x(this.unsubscribe$)).subscribe({next:h=>{this.synchronizationBlocks[C].lastSynchedDate=h.lastExchangeRateImport},error:h=>this.netsuiteIntegrationCards.onSynchronizationErrorHandler(C,h.error.message)})},this.onClickImportAccounts=C=>{this.synchronizationBlocks[C].isLoading=!0,this.netsuiteService.importAccounts().pipe(x(this.unsubscribe$)).subscribe({next:h=>{this.netsuiteIntegrationCards.onSynchronizationDoneHandler(C,h.lastGetCustomersImport,h.lastGetCustomersImportCount)},error:h=>this.netsuiteIntegrationCards.onSynchronizationErrorHandler(C,h.error.message)})},this.onClickExportAccounts=C=>{this.synchronizationBlocks[C].isLoading=!0,this.netsuiteService.exportAccounts().pipe(x(this.unsubscribe$)).subscribe({next:h=>{this.netsuiteIntegrationCards.onSynchronizationDoneHandler(C,h.lastAccountExport,h.lastAccountExportCount)},error:h=>this.netsuiteIntegrationCards.onSynchronizationErrorHandler(C,h.error.message)})},this.onClickImportProducts=C=>{this.synchronizationBlocks[C].isLoading=!0,this.netsuiteService.importProducts().pipe(x(this.unsubscribe$)).subscribe({next:h=>{this.netsuiteIntegrationCards.onSynchronizationDoneHandler(C,h.lastGetProductsImport,h.lastGetProductsImportCount)},error:h=>this.netsuiteIntegrationCards.onSynchronizationErrorHandler(C,h.error.message)})}}ngOnInit(){this.netsuiteService.getSettings().pipe(x(this.unsubscribe$)).subscribe(e=>{e.accessToken&&this.onInitCustomMappings(),this.settings=e,this.synchronizationBlocks.push(new W({header:"Exchange rates",synchType:"import",onSyncClick:this.onClickImportExchangeRates,lastSynchedDate:this.settings.lastExchangeRateImport,lastSynchedCount:this.settings.lastExchangeRateImportCount,onClearLastSynchedClick:this.onClickClearExchangeRatesLastSynched,isLoading:!1})),this.synchronizationBlocks.push(new W({header:"Accounts",onSyncClick:this.onClickImportAccounts,lastSynchedDate:this.settings.lastGetCustomersImport,lastSynchedCount:this.settings.lastGetCustomersImportCount,isLoading:!1})),this.synchronizationBlocks.push(new W({header:"Accounts",synchType:"export",onSyncClick:this.onClickExportAccounts,lastSynchedDate:this.settings.lastAccountExport,lastSynchedCount:this.settings.lastAccountExportCount,isLoading:!1})),this.synchronizationBlocks.push(new W({header:"Products",synchType:"import",onSyncClick:this.onClickImportProducts,lastSynchedDate:this.settings.lastGetProductsImport,lastSynchedCount:this.settings.lastGetProductsImportCount,isLoading:!1}))})}ngOnDestroy(){this.unsubscribe$.next(),this.unsubscribe$.complete()}onInitCustomMappings(){this.fieldConfigurationService.fieldConfigurationsForEntity("invoice").pipe(x(this.unsubscribe$)).subscribe(e=>{this.youniumInvoiceFields.set(e.filter(n=>n.fieldType!==S.Calculated&&n.fieldType!==S.Reference&&n.fieldType!==S.ReferenceCollection&&n.fieldType!==S.Entity&&n.fieldType!==S.EntityList&&n.fieldType!==S.CurrencyAmount||n.isCustom))}),this.fieldConfigurationService.fieldConfigurationsForEntity("account",!0).pipe(x(this.unsubscribe$)).subscribe(e=>{this.youniumAccountFields.set(e.filter(n=>n.fieldType!==S.Calculated&&n.fieldType!==S.Reference&&n.fieldType!==S.ReferenceCollection&&n.fieldType!==S.Entity&&n.fieldType!==S.CurrencyAmount&&n.fieldType!==S.Amount||n.isCustom))}),this.fieldConfigurationService.fieldConfigurationsForEntity("invoiceline").pipe(x(this.unsubscribe$)).subscribe(e=>{this.youniumInvoiceLineFields.set(e.filter(n=>n.fieldType!==S.Calculated&&n.fieldType!==S.Reference&&n.fieldType!==S.ReferenceCollection&&n.fieldType!==S.Entity&&n.fieldType!==S.CurrencyAmount&&n.fieldType!==S.EntityList&&(n.originEntity==="invoiceline"||n.originEntity==="orderproductcharge")||n.isCustom))}),this.invoicePropsLoading.set(!0),this.netsuiteService.getIntegrationInvoiceProps().pipe(x(this.unsubscribe$),I(()=>this.invoicePropsLoading.set(!1))).subscribe({next:e=>{this.invoiceIntegrationFieldNames.set((e??[]).sort())},error:e=>{this.notificationService.error(e?.error?.message||"The NetSuite invoice fields could not be loaded.")}}),this.invoiceLinePropsLoading.set(!0),this.netsuiteService.getIntegrationInvoiceLineProps().pipe(x(this.unsubscribe$),I(()=>this.invoiceLinePropsLoading.set(!1))).subscribe({next:e=>{this.invoiceLineIntegrationFieldNames.set((e??[]).sort())},error:e=>{this.notificationService.error(e?.error?.message||"The NetSuite invoice line fields could not be loaded.")}}),this.accountPropsLoading.set(!0),this.netsuiteService.getIntegrationCustomerProps().pipe(x(this.unsubscribe$),I(()=>this.accountPropsLoading.set(!1))).subscribe({next:e=>{this.accountIntegrationFieldNames.set((e??[]).sort())},error:e=>{this.notificationService.error(e?.error?.message||"The NetSuite customer fields could not be loaded.")}}),this.netsuiteService.getIntegrationJournalEntryProps().pipe(x(this.unsubscribe$)).subscribe({next:e=>{this.journalEntrySegmentProps.set((e||[]).slice().sort((n,t)=>(n.name||"").localeCompare(t.name||"")))},error:e=>{this.notificationService.error(e?.error?.message||"The NetSuite journal entry fields could not be loaded.")}}),this.netsuiteService.getEnabledDimensions().pipe(x(this.unsubscribe$)).subscribe({next:e=>{this.dimensionMappingOptions.set(be(e))},error:e=>{this.notificationService.error(e?.error?.message||"The NetSuite dimensions could not be loaded.")}})}onClickSaveIntegrationSettings(){return F(this,null,function*(){if(this.settings.useCustomService&&!this.settings.customServiceUrl){this.notificationService.warning("Please enter a custom script URL");return}try{this.settings=yield D(this.netsuiteService.saveSettings(this.settings)),this.editMode.set(!1)}catch(e){this.editMode.set(!0),this.notificationService.error(e)}})}onCancelClick(){this.editMode.set(!1),this.netsuiteService.getSettings().pipe(x(this.unsubscribe$)).subscribe(e=>{this.settings=e})}onSetup(){this.setupDialog.sh
5ow()}onActivate(){return F(this,null,function*(){try{this.settings=yield D(this.netsuiteService.authenticate(this.settings))}catch(e){this.notificationService.error(e)}})}onDeactivate(){return F(this,null,function*(){(yield this.dialogService.confirmYesNo("You will lose your connection to Netsuite, are you sure you want to deactivate?"))&&this.netsuiteService.deactivate().pipe(x(this.unsubscribe$)).subscribe(t=>this.settings=t)})}static{this.\u0275fac=function(n){return new(n||o)(T(Z),T(q),T(H),T(de))}}static{this.\u0275cmp=A({type:o,selectors:[["yon-settings-netsuite"]],viewQuery:function(n,t){if(n&1&&B(Ue,5)(Ye,5)(Qe,5)(Ke,5),n&2){let i;E(i=k())&&(t.netsuiteIntegrationCards=i.first),E(i=k())&&(t.invoiceCustomMappingTable=i.first),E(i=k())&&(t.accountCustomMappingTable=i.first),E(i=k())&&(t.setupDialog=i.first)}},decls:5,vars:2,consts:[["setupDialog",""],["setupDialogContent",""],["netsuiteIntegrationCards",""],["integrationName","Netsuite",3,"integrationNameExtended","hasValidAccessToken","synchronizationBlocks","editMode"],["header","Netsuite setup",3,"containerTemplate"],["integrationName","Netsuite",3,"saveClick","getStartedClick","deactivateClick","editClick","cancelClick","integrationNameExtended","hasValidAccessToken","synchronizationBlocks","editMode"],["header","Post invoices to NetSuite","subheader","This will post invoices from Younium into Netsuite",3,"isCheckedChange","isChecked","disabled"],[2,"margin","10px 0 0 150px","max-width","400px"],["header","Enable Post Journal Summary","subheader","This will enable synchronizing Journal summary into Netsuite",3,"isCheckedChange","isChecked","disabled"],["header","Enable Post Journal Entries","subheader","This will enable synchronizing Journal entries into Netsuite",3,"isCheckedChange","isChecked","disabled"],["header","Use Custom Service Journal Entries","subheader","This will enable custom service Journal entries from Younium Journals into Netsuite",3,"isChecked","disabled"],["subheader","This will enable the mapping of Younium tax category name to a custom field on your Netsuite Journal ",3,"isChecked","header","disabled"],["subheader","This will enabling the mapping of Younium external ERP id from the account on each transactions to be mapped to the entity field on your Netsuite journal line.ExternalERPId is Requierd on all Younium accounts",2,"max-width","400px",3,"isChecked","header","disabled"],["subheader","Map journal dimension using a custom field list",2,"max-width","400px",3,"isChecked","header","disabled"],[3,"integrationName","dimensions","segmentProps"],[3,"entityName","displayEntityName","integrationName","integrationFields","integrationFieldsLoading","youniumFields","allowCustomIntegrationField"],["type","text",3,"ngModelChange","title","readOnly","ngModel"],["header","Use Custom Service Journal Entries","subheader","This will enable custom service Journal entries from Younium Journals into Netsuite",3,"isCheckedChange","isChecked","disabled"],["subheader","This will enable the mapping of Younium tax category name to a custom field on your Netsuite Journal ",3,"isCheckedChange","isChecked","header","disabled"],["subheader","This will enabling the mapping of Younium external ERP id from the account on each transactions to be mapped to the entity field on your Netsuite journal line.ExternalERPId is Requierd on all Younium accounts",2,"max-width","400px",3,"isCheckedChange","isChecked","header","disabled"],["subheader","Map journal dimension using a custom field list",2,"max-width","400px",3,"isCheckedChange","isChecked","header","disabled"],[1,"text-center"],["matInput","","placeholder","Consumer Secret",3,"ngModelChange","ngModel"],["matInput","","placeholder","Consumer Key",3,"ngModelChange","ngModel"],["matInput","","placeholder","Access Token/Token Id",3,"ngModelChange","ngModel"],["matInput","","placeholder","Token Secret",3,"ngModelChange","ngModel"],["matInput","","placeholder","Account Id/Realm",3,"ngModelChange","ngModel"],["matInput","","placeholder","Subsidiary Id",3,"ngModelChange","ngModel"],["color","primary",3,"onClick","disabled"],["name","check_circle"],[3,"onClick"]],template:function(n,t){if(n&1&&(y(0,at,18,22,"yon-settings-integration-cards",3),b(1,"yon-dialog",4,0),R(3,dt,2,2,"ng-template",null,1,J)),n&2){let i=V(4);
5f(t.settings?0:-1),a(),u("containerTemplate",i)}},dependencies:[Q,ce,U,Y,xe,Se,Ne,G,we,ve,X,K,ge,pe,me,Ce,_e],encapsulation:2,data:{animation:[ue.slideInOut]}})}}return o})();export{Ut as SettingsNetsuiteComponent};

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.