{"version":3,"file":"sm.portal.vm.employment.min.js","names":["jQuery","undefined","sm","window","portal","extend","vm","EmploymentViewModel","apasFeatureEnabled","utility","isAPASFeatureEnabled","euFeatureEnabled","isEUFeatureEnabled","ukFeatureEnabled","isUKFeatureEnabled","self","this","DataList","ko","observableArray","ID","observable","GID","EmploymentStatusID","validatedObservable","OccupationID","CurrentEmployer","EmployerID","sectionIncluded","EmploymentStatuses","Occupations","DataLoaded","DataLoading","DataContainer","Touched","IsRequired","DataLoadErrorCount","sectionVisibleByConfig","custom","setCustomLocalizeKey","WorkingItem","EmploymentDataItem","OriginalItem","callCustomization","SaveWorkingChanges","workingItem","EmploymentStatus","Occupation","EmployerName","BeginDate","EndDate","InEditMode","SectionRequired","data","GetEmploymentStatusNameById","name","GetOccupationNameById","subscribe","isNullOrEmpty","IsVMValid","EmploymentAdddress","push","ui","comboBox","hide","resetWorkingItem","show","not","id","i","length","Value","Text","CancelWorkingChanges","EditItem","event","JSON","parse","toJSON","page","application","fieldHelp","AddItem","RemoveItem","customData","res","remove","item","AnythingPopulated","computed","ret","apasemployment","euemployment","ukemployment","CompletedFlag","Completed","LoadModel","container","Payload","Config","viewModel","SetSectionsConfigData","showSection","ShowSection","resources","portalResource","getValue","toUpperCase","smapi","access","loadListItemModels","ListData","Employment","constant","applicationDebugFlag","console","log","GetModelData","blockui","applicationMID","personMID","callback","blockUI","url","_baseApiUri","formatString","ajax","type","dataType","contentType","headers","processData","crossDomain","xhrFields","withCredentials","success","textStatus","jqXHR","modelDataResponseHandler","error","exception","modelErrorHandler","CheckInclusion","ApiContainerModel","Status","ValidationTitle","ValidationMessages","result","InclusionResult","sectionsToAdd","Array","sectionsToRemove","section","required","MaintainSections","BlockContainer","block","message","getResourceValue","UnBlockContainer","unblock","SetFocus","ProcessOnServer","ExtractATO","demoMain","community","EmploymentModel","DutyAFSC","Title","Supervisor","ContactNunber","maxLength","params","validate_0CharactersOrLess_Key","options","defaults","settings","dataItem","dateFormat","beginDate","moment","format","endDate","stdEmploymentInformation","cusData","currentEmployerFlexi","CurrentEmployerFlexi","EmploymentInformation","EmployerNames","min","validate_MustBeNumeric_Key","max","number","smLocalDate","validate_MustBeADate_Key","smDateRange","start","end","ModelErrors","validation","group"],"sources":["assets/js/viewmodels/admissions/sm.portal.vm.employment.js"],"mappings":"CAEA,SAAWA,EAAQC,GACf,IAAIC,EAAKC,OAAOD,GAAKC,OAAOD,IAAM,CAAC,OAIV,IAAdA,EAAGE,QACVJ,EAAOK,OAAOH,EAAI,CAAEE,OAAQ,CAAC,SAEL,IAAjBF,EAAGE,OAAOE,IACjBN,EAAOK,OAAOH,EAAGE,OAAQ,CAAEE,GAAI,CAAC,IAqlBpCN,EAAOK,QAAO,EAAMH,EAAGE,OAAOE,GAAI,CAC9BC,oBA/kBJ,WAEI,IAAIC,EAAqBN,EAAGE,OAAOK,QAAQC,uBACvCC,EAAmBT,EAAGE,OAAOK,QAAQG,qBACrCC,EAAmBX,EAAGE,OAAOK,QAAQK,qBAErCC,EAAOC,KAkZX,OA/YAA,KAAKC,SAAWC,GAAGC,kBACnBH,KAAKI,GAAKF,GAAGG,aACbL,KAAKM,IAAMJ,GAAGG,aACdL,KAAKO,mBAAqBL,GAAGM,sBAC7BR,KAAKS,aAAeP,GAAGM,sBACvBR,KAAKU,gBAAkBR,GAAGM,sBAC1BR,KAAKW,WAAaT,GAAGM,sBACrBR,KAAKY,gBAAkBV,GAAGG,YAAW,GAIrCL,KAAKa,mBAAqBX,GAAGC,kBAC7BH,KAAKc,YAAcZ,GAAGC,kBAItBH,KAAKe,WAAab,GAAGG,YAAW,GAChCL,KAAKgB,YAAcd,GAAGG,YAAW,GACjCL,KAAKiB,cAAgBf,GAAGG,WAAW,uBACnCL,KAAKkB,QAAUhB,GAAGG,YAAW,GAC7BL,KAAKmB,WAAajB,GAAGG,YAAW,GAChCL,KAAKoB,mBAAqBlB,GAAGG,WAAW,GACxCL,KAAKqB,uBAAyBnB,GAAGG,WAAW,MAE5CnB,EAAGE,OAAOE,GAAGgC,OAAOC,qBAAqBxB,GAEzCC,KAAKwB,YAActB,GAAGG,WAAW,IAAInB,EAAGE,OAAOE,GAAGmC,mBAAmB,CACjEZ,mBAAoBb,KAAKa,mBACzBC,YAAad,KAAKc,eAEtBd,KAAK0B,aAAexB,GAAGG,WAAW,IAAInB,EAAGE,OAAOE,GAAGmC,mBAAmB,CAClEZ,mBAAoBb,KAAKa,mBACzBC,YAAad,KAAKc,eAEtB5B,EAAGE,OAAOE,GAAGgC,OAAOK,kBAAkB,6BAA8B5B,GAEpEC,KAAK4B,mBAAqB,WAEtB,IAAIC,EAAc,IAAI3C,EAAGE,OAAOE,GAAGmC,mBAAmB,CAClDlB,mBAAoBR,EAAKyB,cAAcjB,qBACvCuB,iBAAkB/B,EAAKyB,cAAcM,mBACrCrB,aAAcV,EAAKyB,cAAcf,eACjCsB,WAAYhC,EAAKyB,cAAcO,aAC/BpB,WAAYZ,EAAKyB,cAAcb,aAC/BqB,aAAcjC,EAAKyB,cAAcQ,eACjCC,UAAWlC,EAAKyB,cAAcS,YAC9BC,QAASnC,EAAKyB,cAAcU,UAC5BC,WAAYpC,EAAKyB,cAAcW,aAC/BC,gBAAiBrC,EAAKoB,aACtBN,mBAAoBb,KAAKa,mBACzBC,YAAad,KAAKc,cAGlBuB,EAAO,CACPR,YAAaA,EACb9B,KAAMA,GAEVb,EAAGE,OAAOE,GAAGgC,OAAOK,kBAAkB,8BAA+BU,GAEjER,EAAYtB,sBACZsB,EAAYC,iBAAiB/B,EAAKuC,4BAA4BT,EAAYtB,sBAAsBgC,MAGhGV,EAAYpB,gBACZoB,EAAYE,WAAWhC,EAAKyC,sBAAsBX,EAAYpB,gBAAgB8B,MAIlFV,EAAYG,aAAaS,WAAU,WAC5BvD,EAAGE,OAAOK,QAAQiD,cAAcxD,EAAGE,OAAOE,GAAGgC,OAAOK,kBAAkB,iCAErEE,EAAYlB,WAAW,EAE/B,IAGIkB,EAAYc,cAEPd,EAAYM,cAKVjD,EAAGE,OAAOK,QAAQiD,cAAcxD,EAAGE,OAAOE,GAAGgC,OAAOK,kBAAkB,kBACrEE,EAAYM,YAAW,GAE3BpC,EAAK2B,eAAenB,mBAAmBsB,EAAYtB,sBACnDR,EAAK2B,eAAeI,iBAAiBD,EAAYC,oBACjD/B,EAAK2B,eAAekB,mBAAmBf,EAAYe,sBACnD7C,EAAK2B,eAAejB,aAAaoB,EAAYpB,gBAC7CV,EAAK2B,eAAeK,WAAWF,EAAYE,cAC3ChC,EAAK2B,eAAef,WAAWkB,EAAYlB,cAC3CZ,EAAK2B,eAAeM,aAAaH,EAAYG,gBAC7CjC,EAAK2B,eAAeO,UAAUJ,EAAYI,aAC1ClC,EAAK2B,eAAeQ,QAAQL,EAAYK,WACxCnC,EAAK2B,eAAeS,WAAWN,EAAYM,eAf3CpC,EAAKE,SAAS4C,KAAKhB,GAiBvB3C,EAAGE,OAAOE,GAAGgC,OAAOK,kBAAkB,+BAAgCU,GACtEnD,EAAGE,OAAO0D,GAAGC,WAGb/D,EAAO,kBAAkBgE,OAGzBjD,EAAKkD,mBAGLjE,EAAO,oBAAoBkE,OAC3BlE,EAAO,uCAAuCmE,IAAI,cAAcD,OAExE,EAEAlD,KAAKiD,iBAAmB,WACpBlD,EAAKyB,YAAY,IAAItC,EAAGE,OAAOE,GAAGmC,mBAAmB,CACjDZ,mBAAoBb,KAAKa,mBACzBC,YAAad,KAAKc,eAEtB5B,EAAGE,OAAOE,GAAGgC,OAAOK,kBAAkB,6BAA8B5B,EACxE,EAEAC,KAAKsC,4BAA8B,SAAUc,GAEzC,IAAK,IAAIC,EAAI,EAAGA,EAAItD,EAAKc,qBAAqByC,OAAQD,IAClD,GAAItD,EAAKc,qBAAqBwC,GAAGE,UAAYH,EACzC,OAAOrD,EAAKc,qBAAqBwC,GAAGG,OAG5C,MAAO,EACX,EAEAxD,KAAKwC,sBAAwB,SAAUY,GAEnC,IAAK,IAAIC,EAAI,EAAGA,EAAItD,EAAKe,cAAcwC,OAAQD,IAC3C,GAAItD,EAAKe,cAAcuC,GAAGE,UAAYH,EAClC,OAAOrD,EAAKe,cAAcuC,GAAGG,OAGrC,MAAO,EACX,EAEAxD,KAAKyD,qBAAuB,WACxB1D,EAAKkD,mBAGLjE,EAAO,kBAAkBgE,OAGzBhE,EAAO,oBAAoBkE,MAC/B,EACAlD,KAAK0D,SAAW,SAAUrB,EAAMsB,GAE5B5D,EAAK2B,aAAaW,GAClBtC,EAAKyB,YACD,IAAItC,EAAGE,OAAOE,GAAGmC,mBACbmC,KAAKC,MAAM3D,GAAG4D,OAAOzB,MAG7BtC,EAAKyB,cAAcW,YAAW,GAE9BnD,EAAO,oBAAoBgE,OAC3BhE,EAAO,kBAAkBkE,OAEzBhE,EAAGE,OAAO0D,GAAGC,WACb7D,EAAGE,OAAO2E,KAAKC,YAAYC,WAC/B,EACAjE,KAAKkE,QAAU,SAAU7B,EAAMsB,GAC3B5D,EAAKkD,mBACL/D,EAAGE,OAAO2E,KAAKC,YAAYC,WAC/B,EACAjE,KAAKmE,WAAa,SAAU9B,EAAMsB,GAC9B,IAAIS,EAAa,CACb/B,KAAMA,EACNtC,KAAMA,GAENsE,EAAMnF,EAAGE,OAAOE,GAAGgC,OAAOK,kBAAkB,uBAAwByC,GACpElF,EAAGE,OAAOK,QAAQiD,cAAc2B,IAChCtE,EAAKE,SAASqE,QAAO,SAAUC,GAC3B,OAAOA,EAAKhE,oBAAsB8B,EAAK9B,oBACnCgE,EAAK9D,cAAgB4B,EAAK5B,cAC1B8D,EAAK5D,YAAc0B,EAAK1B,YACxB4D,EAAKtC,WAAaI,EAAKJ,WACvBsC,EAAKrC,SAAWG,EAAKH,OAC7B,GAER,EAIAlC,KAAKwE,kBAAoBtE,GAAGuE,UAAS,WACjC,IAAIC,EAAMxF,EAAGE,OAAOE,GAAGgC,OAAOK,kBAAkB,iCAAkC5B,GAClF,OAAKb,EAAGE,OAAOK,QAAQiD,cAAcgC,IAIrCA,GAAM,OACqC,IAAhCxF,EAAGE,OAAOE,GAAGqF,gBAAkCnF,IACtDkF,EAAMxF,EAAGE,OAAOE,GAAGqF,eAAeH,kBAAkBxE,YAEf,IAA9Bd,EAAGE,OAAOE,GAAGsF,cAAgCjF,IACpD+E,EAAMxF,EAAGE,OAAOE,GAAGsF,aAAaJ,kBAAkBxE,YAEb,IAA9Bd,EAAGE,OAAOE,GAAGuF,cAAgChF,IACpD6E,EAAMxF,EAAGE,OAAOE,GAAGuF,aAAaL,kBAAkBxE,QAEjDd,EAAGE,OAAOK,QAAQiD,cAAc1C,KAAKO,yBACrCrB,EAAGE,OAAOK,QAAQiD,cAAc1C,KAAKS,mBACrCvB,EAAGE,OAAOK,QAAQiD,cAAc1C,KAAKU,sBACrCxB,EAAGE,OAAOK,QAAQiD,cAAc1C,KAAKW,eACnC+D,MAjBIA,CAmBf,GAAG1E,MACAd,EAAGE,OAAOK,QAAQiD,cAAc3C,EAAK+E,iBACpC9E,KAAK+E,UAAY7E,GAAGuE,UAAS,WACzB,OAAIzE,KAAKmB,aACEnB,KAAKwE,qBAAuBxE,KAAKkB,UAEjClB,KAAKkB,SAEpB,GAAGlB,OAKPA,KAAKgF,UAAY,SAAUC,GAEvB,GAAIA,GAAaA,EAAUC,SAAWD,EAAUC,QAAQC,OAAQ,CAC5DC,UAAUC,sBAAsB,aAAcJ,EAAUC,QAAQC,QAEhE,IAAIG,EAAcL,EAAUC,QAAQC,OAAOI,aAC1CrG,EAAGE,OAAOK,QAAQiD,cAAc4C,IAAgBtF,KAAKqB,uBAAuBiE,EACjF,CACiBpG,EAAGsG,UAAUC,eAAeC,SAAS,qBAAqBC,cAE3E3F,KAAKa,mBAAqB+E,MAAMC,OAAOC,mBAAmBb,EAAUC,QAAQa,SAASlF,mBAAoBb,KAAKa,oBAC9Gb,KAAKc,YAAc8E,MAAMC,OAAOC,mBAAmBb,EAAUC,QAAQa,SAASjF,YAAad,KAAKc,aAEhG,IAAIsD,EAAa,CACba,UAAWA,EACXlF,KAAMA,GAENsE,EAAMnF,EAAGE,OAAOE,GAAGgC,OAAOK,kBAAkB,sBAAuByC,GACnElF,EAAGE,OAAOK,QAAQiD,cAAc2B,KACI,MAAhCY,EAAUC,QAAQc,aAClBhG,KAAKO,mBAAmB0E,EAAUC,QAAQc,WAAWzF,oBACrDP,KAAKS,aAAawE,EAAUC,QAAQc,WAAWvF,cAC/CT,KAAKU,gBAAgBuE,EAAUC,QAAQc,WAAWtF,iBAClDV,KAAKW,WAAWsE,EAAUC,QAAQc,WAAWrF,YAC7CX,KAAKI,GAAG6E,EAAUC,QAAQc,WAAW5F,IACrCJ,KAAKM,IAAI2E,EAAUC,QAAQc,WAAW1F,WAEC,IAAhCpB,EAAGE,OAAOE,GAAGqF,gBAAkCnF,GACtDN,EAAGE,OAAOE,GAAGqF,eAAeK,UAAUhF,KAAMiF,QAEP,IAA9B/F,EAAGE,OAAOE,GAAGsF,cAAgCjF,GACpDT,EAAGE,OAAOE,GAAGsF,aAAaI,UAAUhF,KAAMiF,QAEL,IAA9B/F,EAAGE,OAAOE,GAAGuF,cAAgChF,GACpDX,EAAGE,OAAOE,GAAGuF,aAAaG,UAAUhF,KAAMiF,IAGlDjF,KAAKgB,aAAY,GACjBhB,KAAKe,YAAW,GACZ6E,MAAMK,SAASC,sBAAwBC,QAAQC,IAAI,6BAC3D,EAEApG,KAAKqG,aAAe,SAAUC,EAASC,EAAgBC,EAAWC,GAC9D,GAAKzG,KAAKe,cAAiBf,KAAKgB,cA8B5ByF,GAAYA,QA9B+B,CAE3CzG,KAAKgB,aAAY,GACbsF,GAAWtH,EAAO0H,UACtB,IAAIC,EAAMC,YAAc1H,EAAGE,OAAOK,QAAQoH,aAAa,gFAAiFN,GAExIvH,EAAO8H,KAAK,CACRH,IAAKA,EACLI,KAAM,MACNC,SAAU,OACVC,YAAa,kCACbC,QAAS,CACL,gBAAiB,KAErBC,aAAa,EACbC,aAAa,EAEbC,UAAW,CACPC,iBAAiB,GAErBC,QAAS,SAAUlF,EAAMmF,EAAYC,GACjCvI,EAAGE,OAAO2E,KAAKC,YAAY0D,yBAAyB3H,EAAMsC,EAAMkE,EAAgBC,GAChFC,GAAYA,EAASpE,EACzB,EACAsF,MAAO,SAAUF,EAAOG,GACpB1I,EAAGE,OAAO2E,KAAKC,YAAY6D,kBAAkB9H,EAAM0H,GACnDhB,GAAYA,GAChB,GAER,CAGJ,EAEAzG,KAAK8H,eAAiB,SAAUvB,EAAgBC,GAC5C,IAAGzG,EAAKa,kBAAR,CACA,IAAI+F,EAAMC,YAAc1H,EAAGE,OAAOK,QAAQoH,aAAa,2FAA4FN,GAEnJvH,EAAO8H,KAAK,CACRH,IAAKA,EACLI,KAAM,MACNC,SAAU,OACVC,YAAa,kCACbC,QAAS,CACL,gBAAiB,KAErBC,aAAa,EACbC,aAAa,EAEbC,UAAW,CACPC,iBAAiB,GAErBC,QAAS,SAAUlF,EAAMmF,EAAYC,GACjC1H,EAAKa,iBAAgB,GACrB,IAAIqE,EAAY,IAAIW,MAAMC,OAAOkC,kBAAkB1F,EAAK2F,OAAQ3F,EAAK6C,QAAS7C,EAAK4F,gBAAiB5F,EAAK6F,oBACzG,GAAmB,WAAf7F,EAAK2F,OAAqB,CAC1B,IAAIG,EAASlD,EAAUC,QAAQkD,gBAC3BC,EAAgBC,QAChBC,EAAmBD,QAGvB,OADAnC,QAAQC,IAAI,oCAAsC+B,GAC1CA,GACJ,IAAK,WACDE,EAAcxF,KAAK,CAAE2F,QAAS,aAAcC,UAAU,IACtD,MACJ,IAAK,WACDJ,EAAcxF,KAAK,CAAE2F,QAAS,aAAcC,UAAU,IACtD,MACJ,IAAK,UACDF,EAAiB1F,KAAK,cAG9BsD,QAAQC,IAAI,8BAC0B,IAAlCrG,EAAKsB,0BAAiD,YAAV8G,GAAkC,YAAVA,IACpEE,EAAgB,MAEpBjD,UAAUsD,iBAAiBL,EAAeE,EAC9C,CACJ,EACAZ,MAAO,SAAUF,EAAOG,GACpB1I,EAAGE,OAAO2E,KAAKC,YAAY6D,kBAAkB9H,EAAM0H,EACvD,GA9C6B,CAgDrC,EAEAzH,KAAK2I,eAAiB,WAClB3J,EAAO,IAAMe,EAAKkB,iBAAiB2H,MAAM,CAAEC,QAAS3J,EAAGE,OAAOK,QAAQqJ,iBAAiB,YAC3F,EACA9I,KAAK+I,iBAAmB,WACpB/J,EAAO,IAAMe,EAAKkB,iBAAiB+H,UACnC5D,UAAU6D,UACd,EACAjJ,KAAKkJ,gBAAkB,WACnB,OAAO,CACX,EACAlJ,KAAKmJ,WAAa,WAEd,IAAIC,EAAW,KAEf,OADAA,EAAWlK,EAAGE,OAAOE,GAAGgC,OAAOK,kBAAkB,uBAAwB5B,GACpEb,EAAGE,OAAOK,QAAQiD,cAAc0G,QAGM,IAAhClK,EAAGE,OAAOE,GAAGqF,gBAAkCnF,EAC/CN,EAAGE,OAAOE,GAAGqF,eAAewE,WAAWpJ,QACF,IAA9Bb,EAAGE,OAAOE,GAAGsF,cAAgCjF,EACpDT,EAAGE,OAAOE,GAAGsF,aAAauE,WAAWpJ,QACA,IAA9Bb,EAAGE,OAAOE,GAAGuF,cAAgChF,EACpDX,EAAGE,OAAOE,GAAGuF,aAAasE,WAAWpJ,GAG5CqJ,EAAW,IAAIxD,MAAMyD,UAAUC,gBAAgB,CAC3C/I,mBAAoBR,EAAKQ,qBACzBE,aAAcV,EAAKU,eACnBC,gBAAiBX,EAAKW,kBACtBC,WAAYZ,EAAKY,aACjBP,GAAIL,EAAKK,KACTE,IAAKP,EAAKO,MACViJ,SAAU,KACVC,MAAO,KACPC,WAAY,KACZC,cAAe,OApBZN,CAwBf,EAEApJ,KAAKU,gBAAgBrB,OAAO,CACxBsK,UAAW,CACPC,OAAQ,IACRf,QAAS3J,EAAGE,OAAOK,QAAQoH,aAAa3H,EAAGE,OAAOK,QAAQqJ,iBAAiBlD,MAAMK,SAAS4D,gCAAiC,UAI5H9J,CACX,EAuLI0B,mBAtLJ,SAA4BqI,GACxB,IAAIC,EAAW,CACXxJ,mBAAoB,GACpBuB,iBAAkB,GAClBrB,aAAc,GACdsB,WAAY,GACZpB,WAAY,GACZqB,aAAc,GACdC,UAAW,GACXC,QAAS,GACTC,YAAY,EACZ/B,IAAK,EACLE,IAAK,KACLO,mBAAoB,KACpBC,YAAa,MAEjB5B,EAAGE,OAAOE,GAAGgC,OAAOK,kBAAkB,mCAAoCoI,GAC1E,IAAIC,EAAWhL,EAAOK,OAAO,CAAC,EAAG0K,EAAUD,GAGvC/J,EAAOC,KAEXD,EAAKQ,mBAAqBL,GAAGM,oBAAoBwJ,EAASzJ,oBAC1DR,EAAK+B,iBAAmB5B,GAAGM,oBAAoBwJ,EAASlI,kBACxD/B,EAAKU,aAAeP,GAAGM,oBAAoBwJ,EAASvJ,cACpDV,EAAKgC,WAAa7B,GAAGM,oBAAoBwJ,EAASjI,YAClDhC,EAAKY,WAAaT,GAAGM,oBAAoBwJ,EAASrJ,YAClDZ,EAAKiC,aAAe9B,GAAGM,oBAAoBwJ,EAAShI,cACpDjC,EAAKkC,UAAY/B,GAAGM,oBAAoBwJ,EAAS/H,WACjDlC,EAAKmC,QAAUhC,GAAGM,oBAAoBwJ,EAAS9H,SAC/CnC,EAAKO,IAAMJ,GAAGM,oBAAoBwJ,EAAS1J,KAC3CP,EAAKK,GAAKF,GAAGM,oBAAoBwJ,EAAS5J,IAC1CL,EAAKoC,WAAajC,GAAGG,WAAW2J,EAAS7H,YACzCpC,EAAKW,gBAAkBR,GAAGG,WAAW2J,EAAStJ,iBAE9C,IAAI2B,EAAO,CACP4H,SAAWlK,EACXiK,SAAWA,GA2If,OAzIA9K,EAAGE,OAAOE,GAAGgC,OAAOK,kBAAkB,2BAA4BU,GAE9D2H,EAASnJ,oBAAsB5B,GAA4C,MAA/B+K,EAASnJ,mBACrDd,EAAKc,mBAAqBX,GAAGC,kBAE7BJ,EAAKc,mBAAqBmJ,EAASnJ,mBAGnCmJ,EAASlJ,aAAe7B,GAAqC,MAAxB+K,EAASlJ,YAC9Cf,EAAKe,YAAcZ,GAAGC,kBAEtBJ,EAAKe,YAAckJ,EAASlJ,YAGhCf,EAAKoJ,WAAa,WACd,IAAIe,EAAahL,EAAGsG,UAAUC,eAAeC,SAAS,qBAAqBC,cACvEwE,EAAYC,OAAOrK,EAAKkC,YAAaiI,GAAYG,OAAO,cACxDC,EAAUF,OAAOrK,EAAKmC,UAAWgI,GAAYG,OAAO,cAEpDE,EAA2B,IAAI3E,MAAMyD,UAAUC,gBAAgB,CAC/D/I,mBAAoBR,EAAKQ,qBACzBE,aAAcV,EAAKU,eACnBE,WAAYZ,EAAKY,aACjBsB,UAAWkI,EACXjI,QAASoI,EACTlK,GAAIL,EAAKK,KACTE,IAAKP,EAAKO,MACVkJ,MAAO,KACPC,WAAY,KACZC,cAAe,OAIfc,EAAU,CACVzK,KAAMA,EACNwK,yBAA0BA,GAG1BlG,EAAMnF,EAAGE,OAAOE,GAAGgC,OAAOK,kBAAkB,qBAAsB6I,GACtE,IAAKtL,EAAGE,OAAOK,QAAQiD,cAAc2B,GACjC,OAAOA,EAEX,IAAIhC,EAAO,CACPkI,yBAA0BA,EAC1BE,qBAAsB1K,EAAK2K,sBAM/B,OAJAxL,EAAGE,OAAOE,GAAGgC,OAAOK,kBAAkB,uBAAwBU,GAIvD,CACHsI,sBAAuBJ,EACvBK,cAJmB7K,EAAKiC,eAMhC,EAGA9C,EAAGE,OAAOE,GAAGgC,OAAOK,kBAAkB,+BAAgC5B,GAEtEC,KAAKO,mBAAmBlB,OAAO,CAC3BwL,IAAK,CACDjB,QAAS,mBACTf,QAAS3J,EAAGE,OAAOK,QAAQqJ,iBAAiBlD,MAAMK,SAAS6E,6BAE/DC,IAAK,CACDnB,OAAQ,mBACRf,QAAS3J,EAAGE,OAAOK,QAAQqJ,iBAAiBlD,MAAMK,SAAS6E,6BAE/DE,OAAQ,CACJpB,QAAQ,EACRf,QAAS3J,EAAGE,OAAOK,QAAQqJ,iBAAiBlD,MAAMK,SAAS6E,+BAGnE9K,KAAKS,aAAapB,OAAO,CACrBwL,IAAK,CACDjB,QAAS,mBACTf,QAAS3J,EAAGE,OAAOK,QAAQqJ,iBAAiBlD,MAAMK,SAAS6E,6BAE/DC,IAAK,CACDnB,OAAQ,mBACRf,QAAS3J,EAAGE,OAAOK,QAAQqJ,iBAAiBlD,MAAMK,SAAS6E,6BAE/DE,OAAQ,CACJpB,QAAQ,EACRf,QAAS3J,EAAGE,OAAOK,QAAQqJ,iBAAiBlD,MAAMK,SAAS6E,+BAGnE9K,KAAKW,WAAWtB,OAAO,CACnBwL,IAAK,CACDjB,QAAS,mBACTf,QAAS3J,EAAGE,OAAOK,QAAQqJ,iBAAiBlD,MAAMK,SAAS6E,6BAE/DC,IAAK,CACDnB,OAAQ,mBACRf,QAAS3J,EAAGE,OAAOK,QAAQqJ,iBAAiBlD,MAAMK,SAAS6E,6BAE/DE,OAAQ,CACJpB,QAAQ,EACRf,QAAS3J,EAAGE,OAAOK,QAAQqJ,iBAAiBlD,MAAMK,SAAS6E,+BAGnE9K,KAAKiC,UAAU5C,OAAO,CAClB4L,YAAa,CACTrB,QAAQ,EACRf,QAAS3J,EAAGE,OAAOK,QAAQqJ,iBAAiBlD,MAAMK,SAASiF,2BAG/DC,YAAa,CACTvB,OAAQ,CAAEwB,MAAOpL,KAAKiC,UAAWoJ,IAAKrL,KAAKkC,SAC3C2G,QAAS,qDAGjB7I,KAAKkC,QAAQ7C,OAAO,CAChB4L,YAAa,CACTrB,QAAQ,EACRf,QAAS3J,EAAGE,OAAOK,QAAQqJ,iBAAiBlD,MAAMK,SAASiF,6BAKnElL,KAAKsL,YAAcpL,GAAGqL,WAAWC,MAAMxL,MAIvCA,KAAK2C,UAAY,WACb,OAAiC,GAA7B3C,KAAKsL,cAAchI,MAK3B,EACAtD,KAAK+E,UAAY7E,GAAGuE,UAAS,WAEzB,OADkBzE,KAAK2C,WAE3B,GAAG3C,MAGID,CACX,GAOH,CAlmBD,CAkmBGf","ignoreList":[],"sourcesContent":["/// \r\n\r\n(function (jQuery, undefined) {\r\n var sm = window.sm = window.sm || {};\r\n var windowProxy;\r\n var actionQueue = [];\r\n\r\n if (typeof sm.portal === \"undefined\") {\r\n jQuery.extend(sm, { portal: {} });\r\n }\r\n if (typeof sm.portal.vm === \"undefined\") {\r\n jQuery.extend(sm.portal, { vm: {} });\r\n }\r\n\r\n /**************************************/\r\n // Employment Data View Model\r\n // Holds the employer/employment data\r\n /**************************************/\r\n function EmploymentViewModel() {\r\n\r\n var apasFeatureEnabled = sm.portal.utility.isAPASFeatureEnabled();\r\n var euFeatureEnabled = sm.portal.utility.isEUFeatureEnabled();\r\n var ukFeatureEnabled = sm.portal.utility.isUKFeatureEnabled();\r\n // Self-Identification\r\n var self = this;\r\n\r\n /*** PROPERTIES ***/\r\n this.DataList = ko.observableArray();\r\n this.ID = ko.observable();\r\n this.GID = ko.observable();\r\n this.EmploymentStatusID = ko.validatedObservable();\r\n this.OccupationID = ko.validatedObservable();\r\n this.CurrentEmployer = ko.validatedObservable();\r\n this.EmployerID = ko.validatedObservable();\r\n this.sectionIncluded = ko.observable(false);\r\n /*** PROPERTIES ***/\r\n\r\n /*** LIST DATA PROPERTIES ***/\r\n this.EmploymentStatuses = ko.observableArray();\r\n this.Occupations = ko.observableArray();\r\n /*** LIST DATA PROPERTIES ***/\r\n\r\n /*** SECTION PROPERTIES ***/\r\n this.DataLoaded = ko.observable(false);\r\n this.DataLoading = ko.observable(false);\r\n this.DataContainer = ko.observable(\"EmploymentContainer\");\r\n this.Touched = ko.observable(false);\r\n this.IsRequired = ko.observable(false);\r\n this.DataLoadErrorCount = ko.observable(0);\r\n this.sectionVisibleByConfig = ko.observable(null);\r\n /*** SECTION PROPERTIES ***/\r\n sm.portal.vm.custom.setCustomLocalizeKey(self);\r\n /** ADD/EDIT LIST METHODS **/\r\n this.WorkingItem = ko.observable(new sm.portal.vm.EmploymentDataItem({\r\n EmploymentStatuses: this.EmploymentStatuses,\r\n Occupations: this.Occupations\r\n }));\r\n this.OriginalItem = ko.observable(new sm.portal.vm.EmploymentDataItem({\r\n EmploymentStatuses: this.EmploymentStatuses,\r\n Occupations: this.Occupations\r\n }));\r\n sm.portal.vm.custom.callCustomization('UpdateEmploymentProperties', self);\r\n\r\n this.SaveWorkingChanges = function () {\r\n\r\n var workingItem = new sm.portal.vm.EmploymentDataItem({\r\n EmploymentStatusID: self.WorkingItem().EmploymentStatusID(),\r\n EmploymentStatus: self.WorkingItem().EmploymentStatus(),\r\n OccupationID: self.WorkingItem().OccupationID(),\r\n Occupation: self.WorkingItem().Occupation(),\r\n EmployerID: self.WorkingItem().EmployerID(),\r\n EmployerName: self.WorkingItem().EmployerName(),\r\n BeginDate: self.WorkingItem().BeginDate(),\r\n EndDate: self.WorkingItem().EndDate(),\r\n InEditMode: self.WorkingItem().InEditMode(),\r\n SectionRequired: self.IsRequired(),\r\n EmploymentStatuses: this.EmploymentStatuses,\r\n Occupations: this.Occupations\r\n });\r\n\r\n var data = {\r\n workingItem: workingItem,\r\n self: self\r\n }\r\n sm.portal.vm.custom.callCustomization('UpdateEmploymentWorkingItem', data);\r\n\r\n if (workingItem.EmploymentStatusID()) {\r\n workingItem.EmploymentStatus(self.GetEmploymentStatusNameById(workingItem.EmploymentStatusID()).name);\r\n }\r\n\r\n if (workingItem.OccupationID()) {\r\n workingItem.Occupation(self.GetOccupationNameById(workingItem.OccupationID()).name);\r\n }\r\n\r\n /*** SUBSCRIPTIONS ***/\r\n workingItem.EmployerName.subscribe(function () {\r\n if(sm.portal.utility.isNullOrEmpty(sm.portal.vm.custom.callCustomization(\"SkipSetIdOnEmpNameSubscribe\"))){\r\n // ensure employer id is zero'd on manual change\r\n workingItem.EmployerID(0);\r\n }\r\n });\r\n /*** SUBSCRIPTIONS ***/\r\n\r\n if (workingItem.IsVMValid()) {\r\n\r\n if (!workingItem.InEditMode()) {\r\n // This is an Add...\r\n self.DataList.push(workingItem);\r\n } else {\r\n // NOTE: Edits automatically bind back to the list (knockout is cool, huh?)\r\n if(sm.portal.utility.isNullOrEmpty(sm.portal.vm.custom.callCustomization('IsCustomized'))){\r\n workingItem.InEditMode(false);\r\n }\r\n self.OriginalItem().EmploymentStatusID(workingItem.EmploymentStatusID());\r\n self.OriginalItem().EmploymentStatus(workingItem.EmploymentStatus());\r\n self.OriginalItem().EmploymentAdddress(workingItem.EmploymentAdddress());\r\n self.OriginalItem().OccupationID(workingItem.OccupationID());\r\n self.OriginalItem().Occupation(workingItem.Occupation());\r\n self.OriginalItem().EmployerID(workingItem.EmployerID());\r\n self.OriginalItem().EmployerName(workingItem.EmployerName());\r\n self.OriginalItem().BeginDate(workingItem.BeginDate());\r\n self.OriginalItem().EndDate(workingItem.EndDate());\r\n self.OriginalItem().InEditMode(workingItem.InEditMode());\r\n }\r\n sm.portal.vm.custom.callCustomization('SaveEmploymentWorkingChanges', data);\r\n sm.portal.ui.comboBox();\r\n\r\n // hide the data entry view\r\n jQuery('.dataEntryView').hide();\r\n\r\n // reset fields for next input\r\n self.resetWorkingItem();\r\n\r\n // show the display view with one item\r\n jQuery('.dataDisplayView').show();\r\n jQuery('.dataDisplayView ul.detailedList li').not('.noneAdded').show();\r\n }\r\n };\r\n\r\n this.resetWorkingItem = function () {\r\n self.WorkingItem(new sm.portal.vm.EmploymentDataItem({\r\n EmploymentStatuses: this.EmploymentStatuses,\r\n Occupations: this.Occupations\r\n }));\r\n sm.portal.vm.custom.callCustomization('ResetEmploymentWorkingItem', self);\r\n }\r\n\r\n this.GetEmploymentStatusNameById = function (id) {\r\n\r\n for (var i = 0; i < self.EmploymentStatuses().length; i++) {\r\n if (self.EmploymentStatuses()[i].Value() === id) {\r\n return self.EmploymentStatuses()[i].Text();\r\n }\r\n }\r\n return \"\";\r\n }\r\n\r\n this.GetOccupationNameById = function (id) {\r\n\r\n for (var i = 0; i < self.Occupations().length; i++) {\r\n if (self.Occupations()[i].Value() === id) {\r\n return self.Occupations()[i].Text();\r\n }\r\n }\r\n return \"\";\r\n }\r\n\r\n this.CancelWorkingChanges = function () {\r\n self.resetWorkingItem();\r\n\r\n //hide the display view\r\n jQuery('.dataEntryView').hide();\r\n\r\n // show the entry view\r\n jQuery('.dataDisplayView').show();\r\n };\r\n this.EditItem = function (data, event) {\r\n\r\n self.OriginalItem(data);\r\n self.WorkingItem(\r\n new sm.portal.vm.EmploymentDataItem(\r\n JSON.parse(ko.toJSON(data))\r\n )\r\n );\r\n self.WorkingItem().InEditMode(true);\r\n\r\n jQuery('.dataDisplayView').hide();\r\n jQuery('.dataEntryView').show();\r\n\r\n sm.portal.ui.comboBox();\r\n sm.portal.page.application.fieldHelp();\r\n };\r\n this.AddItem = function (data, event) {\r\n self.resetWorkingItem();\r\n sm.portal.page.application.fieldHelp();\r\n };\r\n this.RemoveItem = function (data, event) {\r\n var customData = {\r\n data: data,\r\n self: self\r\n }\r\n var res = sm.portal.vm.custom.callCustomization('RemoveEmploymentItem', customData);\r\n if (sm.portal.utility.isNullOrEmpty(res)) {\r\n self.DataList.remove(function (item) {\r\n return item.EmploymentStatusID == data.EmploymentStatusID &&\r\n item.OccupationID == data.OccupationID &&\r\n item.EmployerID == data.EmployerID &&\r\n item.BeginDate == data.BeginDate &&\r\n item.EndDate == data.EndDate\r\n }); \r\n }\r\n };\r\n /** ADD/EDIT LIST METHODS **/\r\n\r\n /*** COMPUTED PROPERTIES ***/\r\n this.AnythingPopulated = ko.computed(function () {\r\n var ret = sm.portal.vm.custom.callCustomization('AnythingPopulatedForEmployment', self);\r\n if (!sm.portal.utility.isNullOrEmpty(ret)) {\r\n return ret;\r\n }\r\n \r\n ret = false;\r\n if (typeof sm.portal.vm.apasemployment !== 'undefined' && apasFeatureEnabled) {\r\n ret = sm.portal.vm.apasemployment.AnythingPopulated(this);\r\n }\r\n if (typeof sm.portal.vm.euemployment !== 'undefined' && euFeatureEnabled) {\r\n ret = sm.portal.vm.euemployment.AnythingPopulated(this);\r\n }\r\n if (typeof sm.portal.vm.ukemployment !== 'undefined' && ukFeatureEnabled) {\r\n ret = sm.portal.vm.ukemployment.AnythingPopulated(this);\r\n }\r\n if (!sm.portal.utility.isNullOrEmpty(this.EmploymentStatusID())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(this.OccupationID())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(this.CurrentEmployer())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(this.EmployerID())) return true;\r\n return ret;\r\n\r\n }, this);\r\n if(sm.portal.utility.isNullOrEmpty(self.CompletedFlag)){\r\n this.Completed = ko.computed(function () {\r\n if (this.IsRequired()) {\r\n return this.AnythingPopulated() && this.Touched();\r\n } else {\r\n return this.Touched();\r\n }\r\n }, this);\r\n }\r\n /*** COMPUTED PROPERTIES ***/\r\n\r\n /*** SECTION METHODS ***/\r\n this.LoadModel = function (container) {\r\n // update application section configurations\r\n if (container && container.Payload && container.Payload.Config) {\r\n viewModel.SetSectionsConfigData(\"Employment\", container.Payload.Config);\r\n // To handle inclusion usecase\r\n var showSection = container.Payload.Config.ShowSection;\r\n !sm.portal.utility.isNullOrEmpty(showSection) && this.sectionVisibleByConfig(showSection);\r\n }\r\n var dateFormat = sm.resources.portalResource.getValue('DateFormatExample').toUpperCase();\r\n\r\n this.EmploymentStatuses = smapi.access.loadListItemModels(container.Payload.ListData.EmploymentStatuses, this.EmploymentStatuses);\r\n this.Occupations = smapi.access.loadListItemModels(container.Payload.ListData.Occupations, this.Occupations);\r\n \r\n var customData = {\r\n container: container,\r\n self: self\r\n }\r\n var res = sm.portal.vm.custom.callCustomization('LoadEmploymentModel', customData);\r\n if (sm.portal.utility.isNullOrEmpty(res)) {\r\n if (container.Payload.Employment != null) {\r\n this.EmploymentStatusID(container.Payload.Employment.EmploymentStatusID);\r\n this.OccupationID(container.Payload.Employment.OccupationID);\r\n this.CurrentEmployer(container.Payload.Employment.CurrentEmployer);\r\n this.EmployerID(container.Payload.Employment.EmployerID);\r\n this.ID(container.Payload.Employment.ID);\r\n this.GID(container.Payload.Employment.GID);\r\n }\r\n if (typeof sm.portal.vm.apasemployment !== 'undefined' && apasFeatureEnabled) {\r\n sm.portal.vm.apasemployment.LoadModel(this, container);\r\n }\r\n if (typeof sm.portal.vm.euemployment !== 'undefined' && euFeatureEnabled) {\r\n sm.portal.vm.euemployment.LoadModel(this, container);\r\n }\r\n if (typeof sm.portal.vm.ukemployment !== 'undefined' && ukFeatureEnabled) {\r\n sm.portal.vm.ukemployment.LoadModel(this, container);\r\n } \r\n }\r\n this.DataLoading(false);\r\n this.DataLoaded(true);\r\n if (smapi.constant.applicationDebugFlag) { console.log('[EmploymentVM] Data Loaded'); }\r\n };\r\n\r\n this.GetModelData = function (blockui, applicationMID, personMID, callback) {\r\n if (!this.DataLoaded() && !this.DataLoading()) {\r\n\r\n this.DataLoading(true);\r\n if (blockui) { jQuery.blockUI(); }\r\n var url = _baseApiUri + sm.portal.utility.formatString('api/studentportal/getapplicationsection?sectionName=employment&attemptmid={0}', applicationMID);\r\n\r\n jQuery.ajax({\r\n url: url,\r\n type: 'GET',\r\n dataType: 'json',\r\n contentType: 'application/json; charset=utf-8',\r\n headers: {\r\n \"x-api-version\": '1' //,\r\n },\r\n processData: false,\r\n crossDomain: true,\r\n\r\n xhrFields: {\r\n withCredentials: true\r\n },\r\n success: function (data, textStatus, jqXHR) {\r\n sm.portal.page.application.modelDataResponseHandler(self, data, applicationMID, personMID);\r\n callback && callback(data);\r\n },\r\n error: function (jqXHR, exception) {\r\n sm.portal.page.application.modelErrorHandler(self, jqXHR);\r\n callback && callback();\r\n }\r\n });\r\n } else {\r\n callback && callback();\r\n }\r\n };\r\n\r\n this.CheckInclusion = function (applicationMID, personMID) {\r\n if(self.sectionIncluded()) return;\r\n var url = _baseApiUri + sm.portal.utility.formatString('api/studentportal/CheckApplicationSectionInclusion?sectionName=employment&attemptmid={0}', applicationMID);\r\n\r\n jQuery.ajax({\r\n url: url,\r\n type: 'GET',\r\n dataType: 'json',\r\n contentType: 'application/json; charset=utf-8',\r\n headers: {\r\n \"x-api-version\": '1' //,\r\n },\r\n processData: false,\r\n crossDomain: true,\r\n\r\n xhrFields: {\r\n withCredentials: true\r\n },\r\n success: function (data, textStatus, jqXHR) {\r\n self.sectionIncluded(true);\r\n var container = new smapi.access.ApiContainerModel(data.Status, data.Payload, data.ValidationTitle, data.ValidationMessages);\r\n if (data.Status == 'success') {\r\n var result = container.Payload.InclusionResult;\r\n var sectionsToAdd = Array();\r\n var sectionsToRemove = Array();\r\n\r\n console.log('Inclusion Result for Employment: ' + result);\r\n switch (result) {\r\n case \"Included\":\r\n sectionsToAdd.push({ section: 'Employment', required: false });\r\n break;\r\n case \"Required\":\r\n sectionsToAdd.push({ section: 'Employment', required: true });\r\n break;\r\n case \"Exclude\":\r\n sectionsToRemove.push('Employment');\r\n break;\r\n }\r\n console.log('Calling Maintain Sections');\r\n if (self.sectionVisibleByConfig() === false && (result == \"Included\" || result == \"Required\")) {\r\n sectionsToAdd = null; // If section is hidden by Configuration, don't add the section\r\n }\r\n viewModel.MaintainSections(sectionsToAdd, sectionsToRemove);\r\n }\r\n },\r\n error: function (jqXHR, exception) {\r\n sm.portal.page.application.modelErrorHandler(self, jqXHR);\r\n }\r\n });\r\n };\r\n\r\n this.BlockContainer = function () {\r\n jQuery(\"#\" + self.DataContainer()).block({ message: sm.portal.utility.getResourceValue('Loading') });\r\n };\r\n this.UnBlockContainer = function () {\r\n jQuery(\"#\" + self.DataContainer()).unblock();\r\n viewModel.SetFocus();\r\n };\r\n this.ProcessOnServer = function () {\r\n return true;\r\n };\r\n this.ExtractATO = function () {\r\n // [EXTEND] New fields added to view model need to be updated here\r\n var demoMain = null;\r\n demoMain = sm.portal.vm.custom.callCustomization('ExtractEmploymentATO', self);\r\n if (!sm.portal.utility.isNullOrEmpty(demoMain)) {\r\n return demoMain;\r\n }\r\n if (typeof sm.portal.vm.apasemployment !== 'undefined' && apasFeatureEnabled) {\r\n return sm.portal.vm.apasemployment.ExtractATO(self);\r\n } else if (typeof sm.portal.vm.euemployment !== 'undefined' && euFeatureEnabled) {\r\n return sm.portal.vm.euemployment.ExtractATO(self);\r\n } else if (typeof sm.portal.vm.ukemployment !== 'undefined' && ukFeatureEnabled) {\r\n return sm.portal.vm.ukemployment.ExtractATO(self);\r\n }\r\n else {\r\n demoMain = new smapi.community.EmploymentModel({\r\n EmploymentStatusID: self.EmploymentStatusID(),\r\n OccupationID: self.OccupationID(),\r\n CurrentEmployer: self.CurrentEmployer(),\r\n EmployerID: self.EmployerID(),\r\n ID: self.ID(),\r\n GID: self.GID(),\r\n DutyAFSC: null,\r\n Title: null,\r\n Supervisor: null,\r\n ContactNunber: null\r\n });\r\n }\r\n return demoMain;\r\n };\r\n\r\n this.CurrentEmployer.extend({\r\n maxLength: {\r\n params: 100,\r\n message: sm.portal.utility.formatString(sm.portal.utility.getResourceValue(smapi.constant.validate_0CharactersOrLess_Key), '100')\r\n }\r\n });\r\n\r\n return self;\r\n };\r\n function EmploymentDataItem(options) {\r\n var defaults = {\r\n EmploymentStatusID: '',\r\n EmploymentStatus: '',\r\n OccupationID: '',\r\n Occupation: '',\r\n EmployerID: '',\r\n EmployerName: '',\r\n BeginDate: '',\r\n EndDate: '',\r\n InEditMode: false,\r\n ID: -1,\r\n GID: null,\r\n EmploymentStatuses: null,\r\n Occupations: null\r\n };\r\n sm.portal.vm.custom.callCustomization('UpdateDefaultPropsForEmpDataItem', defaults);\r\n var settings = jQuery.extend({}, defaults, options);\r\n\r\n // Self-Identification\r\n var self = this;\r\n\r\n self.EmploymentStatusID = ko.validatedObservable(settings.EmploymentStatusID);\r\n self.EmploymentStatus = ko.validatedObservable(settings.EmploymentStatus);\r\n self.OccupationID = ko.validatedObservable(settings.OccupationID);\r\n self.Occupation = ko.validatedObservable(settings.Occupation);\r\n self.EmployerID = ko.validatedObservable(settings.EmployerID);\r\n self.EmployerName = ko.validatedObservable(settings.EmployerName);\r\n self.BeginDate = ko.validatedObservable(settings.BeginDate);\r\n self.EndDate = ko.validatedObservable(settings.EndDate);\r\n self.GID = ko.validatedObservable(settings.GID);\r\n self.ID = ko.validatedObservable(settings.ID);\r\n self.InEditMode = ko.observable(settings.InEditMode);\r\n self.CurrentEmployer = ko.observable(settings.CurrentEmployer);\r\n\r\n var data = {\r\n dataItem : self,\r\n settings : settings\r\n }\r\n sm.portal.vm.custom.callCustomization('UpdateEmploymentDataItem', data);\r\n\r\n if (settings.EmploymentStatuses == undefined || settings.EmploymentStatuses == null) {\r\n self.EmploymentStatuses = ko.observableArray();\r\n } else {\r\n self.EmploymentStatuses = settings.EmploymentStatuses;\r\n }\r\n\r\n if (settings.Occupations == undefined || settings.Occupations == null) {\r\n self.Occupations = ko.observableArray();\r\n } else {\r\n self.Occupations = settings.Occupations;\r\n }\r\n\r\n self.ExtractATO = function () {\r\n var dateFormat = sm.resources.portalResource.getValue('DateFormatExample').toUpperCase();\r\n var beginDate = moment(self.BeginDate(), dateFormat).format('YYYY-MM-DD');\r\n var endDate = moment(self.EndDate(), dateFormat).format('YYYY-MM-DD');\r\n\r\n var stdEmploymentInformation = new smapi.community.EmploymentModel({\r\n EmploymentStatusID: self.EmploymentStatusID(),\r\n OccupationID: self.OccupationID(),\r\n EmployerID: self.EmployerID(),\r\n BeginDate: beginDate,\r\n EndDate: endDate,\r\n ID: self.ID(),\r\n GID: self.GID(),\r\n Title: null,\r\n Supervisor: null,\r\n ContactNunber: null\r\n });\r\n\r\n\r\n var cusData = {\r\n self: self,\r\n stdEmploymentInformation: stdEmploymentInformation\r\n }\r\n\r\n var res = sm.portal.vm.custom.callCustomization('ExtractDataItemATO', cusData);\r\n if (!sm.portal.utility.isNullOrEmpty(res)) {\r\n return res;\r\n }\r\n var data = {\r\n stdEmploymentInformation: stdEmploymentInformation,\r\n currentEmployerFlexi: self.CurrentEmployerFlexi\r\n }\r\n sm.portal.vm.custom.callCustomization('UpdateEmploymentInfo', data);\r\n\r\n var stdEmployerNames = self.EmployerName();\r\n\r\n return {\r\n EmploymentInformation: stdEmploymentInformation,\r\n EmployerNames: stdEmployerNames\r\n };\r\n }\r\n\r\n /*** VALIDATION METHODS ***/\r\n sm.portal.vm.custom.callCustomization('OverrideEmploymentValidation', self);\r\n\r\n this.EmploymentStatusID.extend({\r\n min: {\r\n params: -9223372036854775808,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n max: {\r\n params: 9223372036854775807,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n number: {\r\n params: true,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n }\r\n });\r\n this.OccupationID.extend({\r\n min: {\r\n params: -9223372036854775808,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n max: {\r\n params: 9223372036854775807,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n number: {\r\n params: true,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n }\r\n });\r\n this.EmployerID.extend({\r\n min: {\r\n params: -9223372036854775808,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n max: {\r\n params: 9223372036854775807,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n number: {\r\n params: true,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n }\r\n });\r\n this.BeginDate.extend({\r\n smLocalDate: {\r\n params: true,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeADate_Key)\r\n },\r\n // only need to attach range validator to one of the dates\r\n smDateRange: {\r\n params: { start: this.BeginDate, end: this.EndDate },\r\n message: \"Please use a valid date range, with valid dates\"\r\n }\r\n });\r\n this.EndDate.extend({\r\n smLocalDate: {\r\n params: true,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeADate_Key)\r\n }\r\n });\r\n\r\n // Set Model Grouping for validation\r\n this.ModelErrors = ko.validation.group(this);\r\n // Check if Model is valid \r\n // (will NOT validate attached models, unless we\r\n // init that in ui.js - currently it has performance problems)\r\n this.IsVMValid = function () {\r\n if (this.ModelErrors().length == 0) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n this.Completed = ko.computed(function () {\r\n var isCompleted = this.IsVMValid();\r\n return isCompleted;\r\n }, this);\r\n /*** VALIDATION METHODS ***/\r\n\r\n return self;\r\n };\r\n\r\n\r\n jQuery.extend(true, sm.portal.vm, {\r\n EmploymentViewModel: EmploymentViewModel,\r\n EmploymentDataItem: EmploymentDataItem\r\n });\r\n})(jQuery);\r\n"]}