{"version":3,"sources":["webpack:///./src/components/support/support.ts","webpack:///./src/components/support/support.html","webpack:///./src/components/top-navbar/top-navbar.ts","webpack:///./src/components/top-navbar/top-navbar.html","webpack:///./src/components/unit-kpi/unit-kpi.ts","webpack:///./src/components/unit-kpi/unit-kpi.html","webpack:///./src/components/unit-plan-copy/unit-plan-copy.ts","webpack:///./src/components/unit-plan-copy/unit-plan-copy.html","webpack:///./src/components/unit-plan-edit/unit-plan-edit.ts","webpack:///./src/components/unit-plan-edit/unit-plan-edit.html","webpack:///./src/components/unit-plan-view/unit-plan-view.ts","webpack:///./src/components/unit-plan-view/unit-plan-view.html","webpack:///./src/components/unit-report-edit/unit-report-edit.ts","webpack:///./src/components/unit-report-edit/unit-report-edit.html","webpack:///./src/components/unit-report-lastperiod-edit/unit-report-lastperiod-edit.ts","webpack:///./src/components/unit-report-lastperiod-edit/unit-report-lastperiod-edit.html","webpack:///./src/components/unit-report-view/unit-report-view.ts","webpack:///./src/components/unit-report-view/unit-report-view.html","webpack:///./src/components/welcome/welcome.ts","webpack:///./src/components/welcome/welcome.html"],"names":["auth","isAuthenticated","this","authNotifier","addListener","authChangeHandler","state","authenticated","attached","Support","module","exports","TopNavbar","service","activate","params","planid","loadPlan","getPlan","unitPlan","kpi","description","reportStatus","organization","reportingPeriod","workingMeetingKpi","efficiencyPercentage","tarbiyahMeetingKpi","dawahEventKpi","associateMemberKpi","preliminaryMemberKpi","reportSubmissionKpi","fiscalYear","expectedMeetingPerPeriod","expectedIncrease","monthlyKpiBreakdown","reduce","total","monthData","workingMeetingActual","tarbiyahMeetingActual","dawahEventActual","associateMemberActual","preliminaryMemberActual","overallEfficiency","statusSummary","UnitKpi","reportingPeriodService","signalr","router","reportingPeriods","signalreventhandlers","copyPlan","copy","id","selectedReportingPeriod","year","reportingTerm","reportingFrequency","toastr","error","isCopyingPlan","onUnitPlanCopied","success","navigate","onUnitPlanCopyFailed","e","$values","join","key","hasOwnProperty","on","detached","off","isSystemAdmin","getReportingPeriodsToCreatePlan","allReportingPeriods","filter","r","getNextReportingPeriod","nextReportingPeriod","UnitPlanCopy","isSaving","isSubmitting","isCancelling","initialJson","afterSave","onUnitPlanUpdated","setInitialData","length","pop","onUnitPlanUpdateFailed","submitPlan","saveAndSubmitPlan","isDirty","save","push","onUnitPlanSubmitted","onUnitPlanSubmitFailed","initialData","getPlanData","JSON","stringify","makeMemberPlanData","associateMemberPlanData","preliminaryMemberPlanData","supporterMemberPlanData","memberMemberPlanData","makeUnitOrganizationPlanData","dawahUnitOrganizationPlanData","organizationUnitOrganizationPlanData","ymbUnitOrganizationPlanData","ymsUnitOrganizationPlanData","lmUnitOrganizationPlanData","makeMeetingProgramPlanData","workerMeetingProgramPlanData","cmsMeetingProgramPlanData","smMeetingProgramPlanData","memberMeetingProgramPlanData","makeDawahProgramPlanData","dawahMeetingProgramPlanData","stateLeaderMeetingProgramPlanData","stateOutingMeetingProgramPlanData","iftarMeetingProgramPlanData","learningMeetingProgramPlanData","socialDawahMeetingProgramPlanData","dawahGroupMeetingProgramPlanData","nextGMeetingProgramPlanData","tafsirMeetingProgramPlanData","unitMeetingProgramPlanData","bbqMeetingProgramPlanData","gatheringMeetingProgramPlanData","familyVisitMeetingProgramPlanData","eidReunionMeetingProgramPlanData","otherMeetingProgramPlanData","makeTeachingLearningProgramPlanData","groupStudyTeachingLearningProgramPlanData","studyCircleForAssociateMemberTeachingLearningProgramPlanData","studyCircleTeachingLearningProgramPlanData","practiceDarsTeachingLearningProgramPlanData","stateLearningCampTeachingLearningProgramPlanData","quranStudyTeachingLearningProgramPlanData","hadithTeachingLearningProgramPlanData","quranClassTeachingLearningProgramPlanData","weekendIslamicSchoolTeachingLearningProgramPlanData","memorizingAyatTeachingLearningProgramPlanData","memorizingHadithTeachingLearningProgramPlanData","memorizingDoaTeachingLearningProgramPlanData","stateLearningSessionTeachingLearningProgramPlanData","stateQiyamulLailTeachingLearningProgramPlanData","otherTeachingLearningProgramPlanData","makeSocialWelfarePlanData","qardeHasanaSocialWelfarePlanData","patientVisitSocialWelfarePlanData","socialVisitSocialWelfarePlanData","transportSocialWelfarePlanData","shiftingSocialWelfarePlanData","shoppingSocialWelfarePlanData","foodDistributionSocialWelfarePlanData","cleanUpAustraliaSocialWelfarePlanData","otherSocialWelfarePlanData","makeMaterialPlanData","bookSaleMaterialPlanData","bookDistributionMaterialPlanData","vhsSaleMaterialPlanData","vhsDistributionMaterialPlanData","emailDistributionMaterialPlanData","ipdcLeafletDistributionMaterialPlanData","otherSaleMaterialPlanData","otherDistributionMaterialPlanData","makeFinancePlanData","baitulMalFinancePlanData","aDayMasjidProjectFinancePlanData","masjidTableBankFinancePlanData","original","nameAndContactNumber","action","upgradeTarget","target","dateAndAction","workerPromiseIncreaseTarget","otherSourceAction","otherSourceIncreaseTarget","updatePlan","cancelChanges","UnitPlanEdit","UnitPlanView","ea","updateReport","unitReport","reportid","getMemberReportData","saveAndSubmitReport","submitReport","onUnitReportUpdated","loadReport","onUnitReportUpdateFailed","onUnitReportSubmitted","onUnitReportSubmitFailed","subscription","subscribe","_","dispose","SingleTimeLastPeriodValuesUpdate","lastPeriodValuesUpdateNeeded","window","localStorage","Submitted","getItem","removeItem","updateReportLastPeriodFromModel","getReport","makeMemberData","associateMemberData","preliminaryMemberData","supporterMemberData","memberMemberData","makeUnitOrganizationData","dawahUnitOrganizationData","organizationUnitOrganizationData","ymbUnitOrganizationData","ymsUnitOrganizationData","lmUnitOrganizationData","makeMeetingProgramData","workerMeetingProgramData","cmsMeetingProgramData","smMeetingProgramData","memberMeetingProgramData","makeDawahProgramData","dawahMeetingProgramData","stateLeaderMeetingProgramData","stateOutingMeetingProgramData","iftarMeetingProgramData","learningMeetingProgramData","socialDawahMeetingProgramData","dawahGroupMeetingProgramData","nextGMeetingProgramData","tafsirMeetingProgramData","unitMeetingProgramData","bbqMeetingProgramData","gatheringMeetingProgramData","familyVisitMeetingProgramData","eidReunionMeetingProgramData","otherMeetingProgramData","makeTeachingLearningProgramData","groupStudyTeachingLearningProgramData","studyCircleForAssociateMemberTeachingLearningProgramData","studyCircleTeachingLearningProgramData","practiceDarsTeachingLearningProgramData","stateLearningCampTeachingLearningProgramData","quranStudyTeachingLearningProgramData","hadithTeachingLearningProgramData","quranClassTeachingLearningProgramData","weekendIslamicSchoolTeachingLearningProgramData","memorizingAyatTeachingLearningProgramData","memorizingHadithTeachingLearningProgramData","memorizingDoaTeachingLearningProgramData","stateLearningSessionTeachingLearningProgramData","stateQiyamulLailTeachingLearningProgramData","otherTeachingLearningProgramData","makeSocialWelfareReportData","qardeHasanaSocialWelfareData","patientVisitSocialWelfareData","socialVisitSocialWelfareData","transportSocialWelfareData","shiftingSocialWelfareData","shoppingSocialWelfareData","foodDistributionSocialWelfareData","cleanUpAustraliaSocialWelfareData","otherSocialWelfareData","makeMaterialData","bookSaleMaterialData","bookDistributionMaterialData","vhsSaleMaterialData","vhsDistributionMaterialData","emailDistributionMaterialData","ipdcLeafletDistributionMaterialData","otherSaleMaterialData","otherDistributionMaterialData","makeLibraryStockData","bookLibraryStockData","vhsLibraryStockData","otherLibraryStockData","makeFinanceReportData","baitulMalFinanceData","aDayMasjidProjectFinanceData","masjidTableBankFinanceData","comment","actual","averageAttendance","lastPeriod","increased","decreased","personalContact","thisPeriod","workerPromiseLastPeriod","workerPromiseIncreased","workerPromiseDecreased","collection","expense","nisabPaidToCentral","UnitReportEdit","updateReportLastPeriod","getReportLastPeriodUpdateData","makeLibraryStockReportData","UnitReportLastPeriodEdit","isDownloadingList","isDownloadingDetail","getUnitReport","UnitReportView","Welcome"],"mappings":"8nBAIA,aAEI,WAAoBA,GAAA,KAAAA,OADpB,KAAAC,iBAAkB,EAEdC,KAAKD,gBAAkBD,EAAKC,gBAE5BD,EAAKG,aAAaC,YAAY,aAAcF,KAAKG,mBASzD,OANY,YAAAA,kBAAR,SAA0BC,GACtBJ,KAAKD,gBAAkBK,EAAMC,eAGjC,YAAAC,SAAA,aAZSC,EAAO,GADnB,I,uBAG6B,OAFjBA,GAAb,I,gDCJAC,EAAOC,QAAU,mV,6kBCMjB,aACI,WAAmBX,GAAA,KAAAA,OAKvB,OAHI,sBAAI,8BAAe,C,IAAnB,WACI,OAAOE,KAAKF,KAAKC,iB,gCAJZW,EAAS,GAHrB,IACA,IACA,YAAc,c,uBAEc,OADhBA,GAAb,I,sDCNAF,EAAOC,QAAU,+3B,q4DCOjB,aAII,WAAmBE,GAAA,KAAAA,UA8GvB,OA5GI,YAAAC,SAAA,SAASC,GACLb,KAAKc,OAASD,EAAOC,QAGnB,YAAAR,SAAN,W,wFACI,SAAMN,KAAKe,Y,cAAX,S,UAGE,YAAAA,SAAN,W,8FACoB,OAAhB,EAAAf,KAAgB,GAAMA,KAAKW,QAAQK,QAAQhB,KAAKc,QAAQ,I,cAAxD,EAAKG,SAAW,SAChBjB,KAAKkB,IAAMlB,KAAKiB,SAASC,I,UAG7B,sBAAI,yBAAU,C,IAAd,WACI,GAAIlB,KAAKiB,SACT,OAAO,IAAI,IAAqB,YAAajB,KAAKc,OAAQd,KAAKiB,SAASE,YAAanB,KAAKiB,SAASG,aAAcpB,KAAKiB,SAASI,aAAcrB,KAAKiB,SAASK,kB,gCAG/J,sBAAI,gCAAiB,C,IAArB,WACI,OAAOtB,KAAKkB,IAAIK,kBAAkBC,sB,gCAGtC,sBAAI,iCAAkB,C,IAAtB,WACI,OAAOxB,KAAKkB,IAAIO,mBAAmBD,sB,gCAGvC,sBAAI,4BAAa,C,IAAjB,WACI,OAAOxB,KAAKkB,IAAIQ,cAAcF,sB,gCAGlC,sBAAI,iCAAkB,C,IAAtB,WACI,OAAOxB,KAAKkB,IAAIS,mBAAmBH,sB,gCAGvC,sBAAI,mCAAoB,C,IAAxB,WACI,OAAOxB,KAAKkB,IAAIU,qBAAqBJ,sB,gCAGzC,sBAAI,kCAAmB,C,IAAvB,WACI,OAAOxB,KAAKkB,IAAIW,oBAAoBL,sB,gCAGxC,sBAAI,yBAAU,C,IAAd,WACI,OAAOxB,KAAKkB,IAAIY,Y,gCAGpB,sBAAI,4CAA6B,C,IAAjC,WACI,OAAK9B,KAAKkB,KAAQlB,KAAKkB,IAAIK,kBACpBvB,KAAKkB,IAAIK,kBAAkBQ,yBADmB,G,gCAIzD,sBAAI,6CAA8B,C,IAAlC,WACI,OAAK/B,KAAKkB,KAAQlB,KAAKkB,IAAIO,mBACpBzB,KAAKkB,IAAIO,mBAAmBM,yBADmB,G,gCAI1D,sBAAI,wCAAyB,C,IAA7B,WACI,OAAK/B,KAAKkB,KAAQlB,KAAKkB,IAAIQ,cACpB1B,KAAKkB,IAAIQ,cAAcK,yBADmB,G,gCAIrD,sBAAI,uCAAwB,C,IAA5B,WACI,OAAK/B,KAAKkB,KAAQlB,KAAKkB,IAAIS,mBACpB3B,KAAKkB,IAAIS,mBAAmBK,iBADmB,G,gCAI1D,sBAAI,uCAAwB,C,IAA5B,WACI,OAAKhC,KAAKkB,KAAQlB,KAAKkB,IAAIU,qBACpB5B,KAAKkB,IAAIU,qBAAqBI,iBADmB,G,gCAI5D,sBAAI,mCAAoB,C,IAAxB,WACI,OAAKhC,KAAKkB,KAAQlB,KAAKkB,IAAIe,oBACpBjC,KAAKkB,IAAIe,oBAAoBC,OAAO,SAACC,EAAOC,GAC/C,OAAAD,EAAQC,EAAUC,sBAAsB,GAFW,G,gCAK3D,sBAAI,oCAAqB,C,IAAzB,WACI,OAAKrC,KAAKkB,KAAQlB,KAAKkB,IAAIe,oBACpBjC,KAAKkB,IAAIe,oBAAoBC,OAAO,SAACC,EAAOC,GAC/C,OAAAD,EAAQC,EAAUE,uBAAuB,GAFU,G,gCAK3D,sBAAI,+BAAgB,C,IAApB,WACI,OAAKtC,KAAKkB,KAAQlB,KAAKkB,IAAIe,oBACpBjC,KAAKkB,IAAIe,oBAAoBC,OAAO,SAACC,EAAOC,GAC/C,OAAAD,EAAQC,EAAUG,kBAAkB,GAFe,G,gCAK3D,sBAAI,oCAAqB,C,IAAzB,WACI,OAAKvC,KAAKkB,KAAQlB,KAAKkB,IAAIe,oBACpBjC,KAAKkB,IAAIe,oBAAoBC,OAAO,SAACC,EAAOC,GAC/C,OAAAD,EAAQC,EAAUI,uBAAuB,GAFU,G,gCAK3D,sBAAI,sCAAuB,C,IAA3B,WACI,OAAKxC,KAAKkB,KAAQlB,KAAKkB,IAAIe,oBACpBjC,KAAKkB,IAAIe,oBAAoBC,OAAO,SAACC,EAAOC,GAC/C,OAAAD,EAAQC,EAAUK,yBAAyB,GAFQ,G,gCAK3D,sBAAI,gCAAiB,C,IAArB,WACI,OAAOzC,KAAKkB,IAAIwB,mB,gCAGpB,sBAAI,4BAAa,C,IAAjB,WACI,OAAO1C,KAAKkB,IAAIyB,e,gCAhHXC,EAAO,GADnB,I,uBAK+B,OAJnBA,GAAb,I,gFCPApC,EAAOC,QAAU,6mL,s8DCWjB,aASI,WAAmBE,EAAuCkC,EAC/CC,EAAgCC,EAA0BjD,GADrE,WAAmB,KAAAa,UAAuC,KAAAkC,yBAC/C,KAAAC,UAAgC,KAAAC,SAA0B,KAAAjD,OAPrE,KAAAkD,iBAA+C,GAI/C,KAAAC,qBAA4B,GA+C5B,KAAAC,SAAW,+C,uDAEH,O,sBAAA,GAAMlD,KAAKW,QAAQwC,KAAKnD,KAAKiB,SAASmC,GAAIpD,KAAKiB,SAASI,aACpDrB,KAAKqD,wBAAwBC,KAAMtD,KAAKqD,wBAAwBE,cAAevD,KAAKqD,wBAAwBG,qB,cADhH,S,aAIA,O,WADAC,OAAOC,MAAM,GACb,I,cAEJ1D,KAAK2D,eAAgB,E,UAGzB,KAAAC,iBAAmB,SAAC9C,GAChB2C,OAAOI,QAAQ,eACf,EAAKd,OAAOe,SAAS,kBAAkBhD,IAG3C,KAAAiD,qBAAuB,SAACC,GACpB,EAAKL,eAAgB,EACrBF,OAAOC,MAAMM,EAAEC,QAAQC,KAAK,QA7D5BlE,KAAKiD,qBAAuB,CACxB,eAAkBjD,KAAK4D,iBACvB,mBAAsB5D,KAAK+D,sBA6DvC,OAzDI,YAAAnD,SAAA,SAASC,GACLb,KAAKc,OAASD,EAAOC,QAGnB,YAAAR,SAAN,W,8FACI,IAAW6D,KAAOnE,KAAKiD,qBACfjD,KAAKiD,qBAAqBmB,eAAeD,IACzCnE,KAAK8C,QAAQuB,GAAGF,EAAKnE,KAAKiD,qBAAqBkB,IAGvD,SAAMnE,KAAKe,Y,cAAX,S,UAGJ,YAAAuD,SAAA,WACI,IAAI,IAAMH,KAAOnE,KAAKiD,qBACdjD,KAAKiD,qBAAqBmB,eAAeD,IACzCnE,KAAK8C,QAAQyB,IAAIJ,EAAKnE,KAAKiD,qBAAqBkB,KAKtD,YAAApD,SAAN,W,yGACoB,OAAhB,EAAAf,KAAgB,GAAMA,KAAKW,QAAQK,QAAQhB,KAAKc,S,cAAhD,EAAKG,SAAW,SACZjB,KAAKF,KAAK0E,cACkB,GAAMxE,KAAK6C,uBAAuB4B,gCAAgCzE,KAAKiB,SAASI,aAAa+B,KADzH,M,cACMsB,EAAsB,SAC5B1E,KAAKgD,iBAAmB0B,EAAoBC,OAAO,SAAAC,GAAK,OAAAA,EAAEpB,qBAAuB,EAAKvC,SAASK,gBAAgBkC,qB,aAEnF,SAAMxD,KAAK6C,uBAAuBgC,uBAAuB7E,KAAKiB,SAASmC,K,OAA7F0B,EAAsB,SAC5B9E,KAAKgD,iBAAmB,CAAC8B,G,iCAIjC,sBAAI,yBAAU,C,IAAd,WACI,GAAI9E,KAAKiB,SACT,OAAO,IAAI,IAAqB,YAAajB,KAAKc,OAAQd,KAAKiB,SAASE,YAAanB,KAAKiB,SAASG,aAAcpB,KAAKiB,SAASI,aAAcrB,KAAKiB,SAASK,kB,gCAnDtJyD,EAAY,GADxB,I,uBAU+B,IAAsD,IAC9D,IAA+B,IAAwB,OAVlEA,GAAb,I,4FCXAvE,EAAOC,QAAU,mrE,siECoBjB,aAUI,WAAmBE,EAAuCmC,EAAgCC,GAA1F,WAAmB,KAAApC,UAAuC,KAAAmC,UAAgC,KAAAC,SAP1F,KAAAiC,UAAW,EACX,KAAAC,cAAe,EACf,KAAAC,cAAe,EACf,KAAAC,YAAc,GACd,KAAAC,UAAqC,GAErC,KAAAnC,qBAA2B,GA+K3B,KAAAoC,kBAAoB,SAAOjC,GAAU,oC,iDAIjC,OAHApD,KAAKgF,UAAW,EAChB,UAAe,cACfhF,KAAKsF,iBACwB,IAA1BtF,KAAKoF,UAAUG,OAAc,IAChC,GAAMvF,KAAKoF,UAAUI,KAAfxF,I,cAAN,S,UAGJ,KAAAyF,uBAAyB,SAACzB,GACtB,EAAKgB,UAAW,EAChB,QAAahB,EAAEC,QAAQC,KAAK,MAAO,qBACN,IAA1B,EAAKkB,UAAUG,QAClB,EAAKH,UAAUI,OAGnB,KAAAE,WAAa,+C,uDAEL,O,sBAAA,GAAM1F,KAAKW,QAAQ+E,WAAW1F,KAAKiB,SAASI,aAAa+B,GAAIpD,KAAKc,S,cAAlE,S,+BAEA,QAAa,EAAO,yB,oBAExBd,KAAKiF,cAAe,E,UAGxB,KAAAU,kBAAoB,+C,wDACd3F,KAAK4F,QAEP,GAAM5F,KAAK6F,QAFT,M,OAIF,OAFA,SACA7F,KAAKoF,UAAUU,KAAK9F,KAAK0F,YACzB,I,OAEF,SAAM1F,KAAK0F,c,cAAX,S,UAGF,KAAAK,oBAAsB,SAAC3C,GACnB,EAAK6B,cAAe,EACpB,UAAe,kBACf,EAAKlC,OAAOe,SAAS,kBAAkBV,IAG3C,KAAA4C,uBAAyB,SAAChC,GACtB,EAAKiB,cAAe,EACpB,QAAajB,EAAEC,QAAQC,KAAK,MAAO,yBACN,IAA1B,EAAKkB,UAAUG,QAClB,EAAKH,UAAUI,OAzNfxF,KAAKiD,qBAAuB,CACxB,gBAAmBjD,KAAKqF,kBACxB,qBAAwBrF,KAAKyF,uBAC7B,kBAAqBzF,KAAK+F,oBAC1B,qBAAwB/F,KAAKgG,wBA4NzC,OAxNI,YAAApF,SAAA,SAASC,GACLb,KAAKc,OAASD,EAAOC,QAGnB,YAAAR,SAAN,W,8FACI,IAAW6D,KAAOnE,KAAKiD,qBACfjD,KAAKiD,qBAAqBmB,eAAeD,IACzCnE,KAAK8C,QAAQuB,GAAGF,EAAKnE,KAAKiD,qBAAqBkB,IAGvD,SAAMnE,KAAKe,Y,cAAX,S,UAGJ,YAAAuD,SAAA,WACI,IAAK,IAAMH,KAAOnE,KAAKiD,qBACfjD,KAAKiD,qBAAqBmB,eAAeD,IACzCnE,KAAK8C,QAAQyB,IAAIJ,EAAKnE,KAAKiD,qBAAqBkB,KAKtD,YAAApD,SAAN,W,8FACqB,SAAMf,KAAKW,QAAQK,QAAQhB,KAAKc,S,cAA3CG,EAAW,SACjBjB,KAAKiB,SAAWA,EAChBjB,KAAKsF,iB,UAGT,YAAAA,eAAA,WACI,IAAMW,EAAcjG,KAAKkG,cACzBlG,KAAKmF,YAAcgB,KAAKC,UAAUH,IAGtC,YAAAC,YAAA,WACI,OAAO,IAAI,IACPlG,KAAKqG,mBAAmBrG,KAAKiB,SAASqF,yBACtCtG,KAAKqG,mBAAmBrG,KAAKiB,SAASsF,2BACtCvG,KAAKqG,mBAAmBrG,KAAKiB,SAASuF,yBACtCxG,KAAKqG,mBAAmBrG,KAAKiB,SAASwF,sBACtCzG,KAAK0G,6BAA6B1G,KAAKiB,SAAS0F,+BAChD3G,KAAK0G,6BAA6B1G,KAAKiB,SAAS2F,sCAChD5G,KAAK0G,6BAA6B1G,KAAKiB,SAAS4F,6BAChD7G,KAAK0G,6BAA6B1G,KAAKiB,SAAS6F,6BAChD9G,KAAK0G,6BAA6B1G,KAAKiB,SAAS8F,4BAChD/G,KAAKgH,2BAA2BhH,KAAKiB,SAASgG,8BAC9CjH,KAAKgH,2BAA2BhH,KAAKiB,SAASiG,2BAC9ClH,KAAKgH,2BAA2BhH,KAAKiB,SAASkG,0BAC9CnH,KAAKgH,2BAA2BhH,KAAKiB,SAASmG,8BAC9CpH,KAAKqH,yBAAyBrH,KAAKiB,SAASqG,6BAC5CtH,KAAKgH,2BAA2BhH,KAAKiB,SAASsG,mCAC9CvH,KAAKqH,yBAAyBrH,KAAKiB,SAASuG,mCAC5CxH,KAAKgH,2BAA2BhH,KAAKiB,SAASwG,6BAC9CzH,KAAKgH,2BAA2BhH,KAAKiB,SAASyG,gCAC9C1H,KAAKqH,yBAAyBrH,KAAKiB,SAAS0G,mCAC5C3H,KAAKgH,2BAA2BhH,KAAKiB,SAAS2G,kCAC9C5H,KAAKgH,2BAA2BhH,KAAKiB,SAAS4G,6BAC9C7H,KAAKgH,2BAA2BhH,KAAKiB,SAAS6G,8BAC9C9H,KAAKgH,2BAA2BhH,KAAKiB,SAAS8G,4BAC9C/H,KAAKgH,2BAA2BhH,KAAKiB,SAAS+G,2BAC9ChI,KAAKgH,2BAA2BhH,KAAKiB,SAASgH,iCAC9CjI,KAAKgH,2BAA2BhH,KAAKiB,SAASiH,mCAC9ClI,KAAKgH,2BAA2BhH,KAAKiB,SAASkH,kCAC9CnI,KAAKgH,2BAA2BhH,KAAKiB,SAASmH,6BAC9CpI,KAAKqI,oCAAoCrI,KAAKiB,SAASqH,2CACvDtI,KAAKqI,oCAAoCrI,KAAKiB,SAASsH,8DACvDvI,KAAKqI,oCAAoCrI,KAAKiB,SAASuH,4CACvDxI,KAAKqI,oCAAoCrI,KAAKiB,SAASwH,6CACvDzI,KAAKqI,oCAAoCrI,KAAKiB,SAASyH,kDACvD1I,KAAKqI,oCAAoCrI,KAAKiB,SAAS0H,2CACvD3I,KAAKqI,oCAAoCrI,KAAKiB,SAAS2H,uCACvD5I,KAAKqI,oCAAoCrI,KAAKiB,SAAS4H,2CACvD7I,KAAKqI,oCAAoCrI,KAAKiB,SAAS6H,qDACvD9I,KAAKqI,oCAAoCrI,KAAKiB,SAAS8H,+CACvD/I,KAAKqI,oCAAoCrI,KAAKiB,SAAS+H,iDACvDhJ,KAAKqI,oCAAoCrI,KAAKiB,SAASgI,8CACvDjJ,KAAKqI,oCAAoCrI,KAAKiB,SAASiI,qDACvDlJ,KAAKqI,oCAAoCrI,KAAKiB,SAASkI,iDACvDnJ,KAAKqI,oCAAoCrI,KAAKiB,SAASmI,sCACvDpJ,KAAKqJ,0BAA0BrJ,KAAKiB,SAASqI,kCAC7CtJ,KAAKqJ,0BAA0BrJ,KAAKiB,SAASsI,mCAC7CvJ,KAAKqJ,0BAA0BrJ,KAAKiB,SAASuI,kCAC7CxJ,KAAKqJ,0BAA0BrJ,KAAKiB,SAASwI,gCAC7CzJ,KAAKqJ,0BAA0BrJ,KAAKiB,SAASyI,+BAC7C1J,KAAKqJ,0BAA0BrJ,KAAKiB,SAAS0I,+BAC7C3J,KAAKqJ,0BAA0BrJ,KAAKiB,SAAS2I,uCAC7C5J,KAAKqJ,0BAA0BrJ,KAAKiB,SAAS4I,uCAC7C7J,KAAKqJ,0BAA0BrJ,KAAKiB,SAAS6I,4BAC7C9J,KAAK+J,qBAAqB/J,KAAKiB,SAAS+I,0BACxChK,KAAK+J,qBAAqB/J,KAAKiB,SAASgJ,kCACxCjK,KAAK+J,qBAAqB/J,KAAKiB,SAASiJ,yBACxClK,KAAK+J,qBAAqB/J,KAAKiB,SAASkJ,iCACxCnK,KAAK+J,qBAAqB/J,KAAKiB,SAASmJ,mCACxCpK,KAAK+J,qBAAqB/J,KAAKiB,SAASoJ,yCACxCrK,KAAK+J,qBAAqB/J,KAAKiB,SAASqJ,2BACxCtK,KAAK+J,qBAAqB/J,KAAKiB,SAASsJ,mCACxCvK,KAAKwK,oBAAoBxK,KAAKiB,SAASwJ,0BACvCzK,KAAKwK,oBAAoBxK,KAAKiB,SAASyJ,kCACvC1K,KAAKwK,oBAAoBxK,KAAKiB,SAAS0J,kCAGvC,YAAAtE,mBAAR,SAA2BuE,GACvB,OAAO,IAAI,IAAeA,EAASC,qBAAsBD,EAASE,OAAQF,EAASG,gBAG/E,YAAArE,6BAAR,SAAqCkE,GACjC,OAAO,IAAI,IAAyBA,EAASE,OAAQF,EAASG,gBAG1D,YAAA/D,2BAAR,SAAmC4D,GAC/B,OAAO,IAAI,IAAuBA,EAASI,OAAQJ,EAASK,gBAGxD,YAAA5C,oCAAR,SAA4CuC,GACxC,OAAO,IAAI,IAAgCA,EAASI,OAAQJ,EAASK,gBAGjE,YAAA5D,yBAAR,SAAiCuD,GAC7B,OAAO,IAAI,IAAqBA,EAASI,OAAQJ,EAASK,gBAGtD,YAAA5B,0BAAR,SAAkCuB,GAC9B,OAAO,IAAI,IAAsBA,EAASI,OAAQJ,EAASK,gBAGvD,YAAAlB,qBAAR,SAA6Ba,GACzB,OAAO,IAAI,IAAiBA,EAASI,OAAQJ,EAASK,gBAGlD,YAAAT,oBAAR,SAA4BI,GACxB,OAAO,IAAI,IAAgBA,EAASE,OAAQF,EAASM,4BAA6BN,EAASO,kBAAmBP,EAASQ,4BAGrH,YAAAvF,KAAN,W,8FACE,IAAK7F,KAAK4F,QAAS,U,iBAEb,O,sBAAA,GAAM5F,KAAKW,QAAQ0K,WAAWrL,KAAKiB,SAASI,aAAa+B,GAAIpD,KAAKc,OAAQd,KAAKkG,gB,cAA/E,S,aAGA,O,WADA,QAAa,EAAO,qBACpB,I,cAEJlG,KAAKgF,UAAW,E,UAGpB,sBAAI,sBAAO,C,IAAX,WAEI,OADmBmB,KAAKC,UAAUpG,KAAKkG,iBACjBlG,KAAKmF,a,gCAGzB,YAAAmG,cAAN,W,wFAEI,OADAtL,KAAKkF,cAAe,EACpB,GAAMlF,KAAKe,Y,cAAX,SACAf,KAAKkF,cAAe,E,UAGxB,sBAAI,sBAAO,C,IAAX,WACI,OAAOlF,KAAK4F,UAAY5F,KAAKkF,eAAiBlF,KAAKgF,WAAahF,KAAKiF,c,gCAGzE,sBAAI,wBAAS,C,IAAb,WACI,OAAQjF,KAAKkF,eAAiBlF,KAAKgF,WAAahF,KAAKiF,c,gCAGzD,sBAAI,wBAAS,C,IAAb,WACI,QAAQjF,KAAK4F,SAAY5F,KAAKkF,cAAiBlF,KAAKgF,UAAahF,KAAKiF,e,gCAkD1E,sBAAI,yBAAU,C,IAAd,WACI,GAAIjF,KAAKiB,SACT,OAAO,IAAI,IAAqB,YAAajB,KAAKc,OAAQd,KAAKiB,SAASE,YAAanB,KAAKiB,SAASG,aAAcpB,KAAKiB,SAASI,aAAcrB,KAAKiB,SAASK,kB,gCAzOtJiK,EAAY,GADxB,I,uBAW+B,IAAuC,IAA+B,OAVzFA,GAAb,I,4FCpBA/K,EAAOC,QAAU,w2V,s5DCMjB,aAGI,WAAmBE,GAAA,KAAAA,UAoBvB,OAlBI,YAAAC,SAAA,SAASC,GACLb,KAAKc,OAASD,EAAOC,QAGnB,YAAAR,SAAN,W,wFACI,SAAMN,KAAKe,Y,cAAX,S,UAGE,YAAAA,SAAN,W,8FACoB,OAAhB,EAAAf,KAAgB,GAAMA,KAAKW,QAAQK,QAAQhB,KAAKc,S,cAAhD,EAAKG,SAAW,S,UAGpB,sBAAI,yBAAU,C,IAAd,WACI,GAAIjB,KAAKiB,SACT,OAAO,IAAI,IAAqB,YAAajB,KAAKc,OAAQd,KAAKiB,SAASE,YAAanB,KAAKiB,SAASG,aAAcpB,KAAKiB,SAASI,aAAcrB,KAAKiB,SAASK,kB,gCAnBtJkK,EAAY,GADxB,I,uBAI+B,OAHnBA,GAAb,I,4FCNAhL,EAAOC,QAAU,swR,gnEC0BjB,aAWI,WAAmBE,EAAuCmC,EAAgCC,EAA0B0I,GAApH,WAAmB,KAAA9K,UAAuC,KAAAmC,UAAgC,KAAAC,SAA0B,KAAA0I,KARpH,KAAAzG,UAAW,EACX,KAAAC,cAAe,EACf,KAAAC,cAAe,EACf,KAAAC,YAAc,GACd,KAAAC,UAAqC,GAErC,KAAAnC,qBAA4B,GAwI5B,KAAA4C,KAAO,+C,uDACL,IAAK7F,KAAK4F,QAAS,U,iBAEb,O,sBAAA,GAAM5F,KAAKW,QAAQ+K,aAAa1L,KAAK2L,WAAWtK,aAAa+B,GAAIpD,KAAK4L,SAAU5L,KAAK6L,wB,cAArF,S,aAGA,O,WADA,QAAa,EAAO,uBACpB,I,cAEJ7L,KAAKgF,UAAW,EAChB,UAAe,gB,UAGnB,KAAA8G,oBAAsB,+C,wDAChB9L,KAAK4F,QAEP,GAAM5F,KAAK6F,QAFT,M,OAIF,OAFA,SACA7F,KAAKoF,UAAUU,KAAK9F,KAAK+L,cACzB,I,OAEF,SAAM/L,KAAK+L,gB,cAAX,S,UAGF,KAAAA,aAAe,+C,uDAET,O,sBAAA,GAAM/L,KAAKW,QAAQoL,aAAa/L,KAAK2L,WAAWtK,aAAa+B,GAAIpD,KAAK4L,W,cAAtE,S,+BAEA,QAAa,EAAO,2B,oBAExB5L,KAAKiF,cAAe,E,UAqEtB,KAAA+G,oBAAsB,SAAM5I,GAAU,oC,iDAElC,OADApD,KAAKgF,UAAW,EAChB,GAAMhF,KAAKiM,WAAW,I,OACtB,OADA,SAC6B,IAA1BjM,KAAKoF,UAAUG,OAAc,IAChC,GAAMvF,KAAKoF,UAAUI,KAAfxF,I,cAAN,S,UAGJ,KAAAkM,yBAA2B,SAAClI,GACxB,EAAKgB,UAAW,EAChB,QAAahB,EAAEC,QAAQC,KAAK,MAAO,uBACN,IAA1B,EAAKkB,UAAUG,QAClB,EAAKH,UAAUI,OAGnB,KAAA2G,sBAAwB,SAAC/I,GACrB,EAAK6B,cAAe,EACpB,UAAe,oBACf,EAAKlC,OAAOe,SAAS,oBAAoBV,IAG7C,KAAAgJ,yBAA2B,SAACpI,GACxB,EAAKiB,cAAe,EACpB,QAAajB,EAAEC,QAAQC,KAAK,MAAO,4BA5PnClE,KAAKiD,qBAAuB,CACxB,kBAAqBjD,KAAKgM,oBAC1B,uBAA0BhM,KAAKkM,yBAC/B,gBAAmBlM,KAAKmM,sBACxB,mBAAsBnM,KAAKoM,0BA+PvC,OA3PI,YAAAxL,SAAA,SAASC,GACLb,KAAK4L,SAAW/K,EAAO+K,UAGrB,YAAAtL,SAAN,W,qGACI,IAAW6D,KAAOnE,KAAKiD,qBACfjD,KAAKiD,qBAAqBmB,eAAeD,IACzCnE,KAAK8C,QAAQuB,GAAGF,EAAKnE,KAAKiD,qBAAqBkB,IAIvD,OADAnE,KAAKqM,aAAerM,KAAKyL,GAAGa,UAAU,IAAmB,SAAAC,GAAK,SAAKN,WAAW,KAC9E,GAAMjM,KAAKiM,WAAW,I,cAAtB,S,UAGJ,YAAA3H,SAAA,WACI,IAAK,IAAMH,KAAOnE,KAAKiD,qBACfjD,KAAKiD,qBAAqBmB,eAAeD,IACzCnE,KAAK8C,QAAQyB,IAAIJ,EAAKnE,KAAKiD,qBAAqBkB,IAGxDnE,KAAKqM,aAAaG,WAGtB,YAAAC,iCAAA,SAAiCC,GAQzBC,OAAOC,cAAiD,IAAjCF,GAAsC1M,KAAK2L,WAAWvK,eAAiB,IAAayL,YACtGF,OAAOC,aAAaE,QAAQ,aAK7BH,OAAOC,aAAaG,WAAW,cAJ/B/M,KAAKW,QAAQqM,gCAAgChN,KAAK4L,UAClDe,OAAOC,aAAwB,WAAI,KAQzC,YAAAX,WAAN,SAAiBS,G,8FACK,OAAlB,EAAA1M,KAAkB,GAAMA,KAAKW,QAAQsM,UAAUjN,KAAK4L,W,cAApD,EAAKD,WAAa,SAClB3L,KAAKsF,iBACLtF,KAAKyM,iCAAiCC,G,UAG1C,YAAApH,eAAA,WACI,IAAMW,EAAcjG,KAAK6L,sBACzB7L,KAAKmF,YAAcgB,KAAKC,UAAUH,IAGtC,YAAA4F,oBAAA,WACI,OAAO,IAAI,IACP7L,KAAKkN,eAAelN,KAAK2L,WAAWwB,qBACpCnN,KAAKkN,eAAelN,KAAK2L,WAAWyB,uBACpCpN,KAAKkN,eAAelN,KAAK2L,WAAW0B,qBACpCrN,KAAKkN,eAAelN,KAAK2L,WAAW2B,kBACpCtN,KAAKuN,yBAAyBvN,KAAK2L,WAAW6B,2BAC9CxN,KAAKuN,yBAAyBvN,KAAK2L,WAAW8B,kCAC9CzN,KAAKuN,yBAAyBvN,KAAK2L,WAAW+B,yBAC9C1N,KAAKuN,yBAAyBvN,KAAK2L,WAAWgC,yBAC9C3N,KAAKuN,yBAAyBvN,KAAK2L,WAAWiC,wBAC9C5N,KAAK6N,uBAAuB7N,KAAK2L,WAAWmC,0BAC5C9N,KAAK6N,uBAAuB7N,KAAK2L,WAAWoC,uBAC5C/N,KAAK6N,uBAAuB7N,KAAK2L,WAAWqC,sBAC5ChO,KAAK6N,uBAAuB7N,KAAK2L,WAAWsC,0BAC5CjO,KAAKkO,qBAAqBlO,KAAK2L,WAAWwC,yBAC1CnO,KAAK6N,uBAAuB7N,KAAK2L,WAAWyC,+BAC5CpO,KAAKkO,qBAAqBlO,KAAK2L,WAAW0C,+BAC1CrO,KAAK6N,uBAAuB7N,KAAK2L,WAAW2C,yBAC5CtO,KAAK6N,uBAAuB7N,KAAK2L,WAAW4C,4BAC5CvO,KAAKkO,qBAAqBlO,KAAK2L,WAAW6C,+BAC1CxO,KAAK6N,uBAAuB7N,KAAK2L,WAAW8C,8BAC5CzO,KAAK6N,uBAAuB7N,KAAK2L,WAAW+C,yBAC5C1O,KAAK6N,uBAAuB7N,KAAK2L,WAAWgD,0BAC5C3O,KAAK6N,uBAAuB7N,KAAK2L,WAAWiD,wBAC5C5O,KAAK6N,uBAAuB7N,KAAK2L,WAAWkD,uBAC5C7O,KAAK6N,uBAAuB7N,KAAK2L,WAAWmD,6BAC5C9O,KAAK6N,uBAAuB7N,KAAK2L,WAAWoD,+BAC5C/O,KAAK6N,uBAAuB7N,KAAK2L,WAAWqD,8BAC5ChP,KAAK6N,uBAAuB7N,KAAK2L,WAAWsD,yBAC5CjP,KAAKkP,gCAAgClP,KAAK2L,WAAWwD,uCACrDnP,KAAKkP,gCAAgClP,KAAK2L,WAAWyD,0DACrDpP,KAAKkP,gCAAgClP,KAAK2L,WAAW0D,wCACrDrP,KAAKkP,gCAAgClP,KAAK2L,WAAW2D,yCACrDtP,KAAKkP,gCAAgClP,KAAK2L,WAAW4D,8CACrDvP,KAAKkP,gCAAgClP,KAAK2L,WAAW6D,uCACrDxP,KAAKkP,gCAAgClP,KAAK2L,WAAW8D,mCACrDzP,KAAKkP,gCAAgClP,KAAK2L,WAAW+D,uCACrD1P,KAAKkP,gCAAgClP,KAAK2L,WAAWgE,iDACrD3P,KAAKkP,gCAAgClP,KAAK2L,WAAWiE,2CACrD5P,KAAKkP,gCAAgClP,KAAK2L,WAAWkE,6CACrD7P,KAAKkP,gCAAgClP,KAAK2L,WAAWmE,0CACrD9P,KAAKkP,gCAAgClP,KAAK2L,WAAWoE,iDACrD/P,KAAKkP,gCAAgClP,KAAK2L,WAAWqE,6CACrDhQ,KAAKkP,gCAAgClP,KAAK2L,WAAWsE,kCACrDjQ,KAAKkQ,4BAA4BlQ,KAAK2L,WAAWwE,8BACjDnQ,KAAKkQ,4BAA4BlQ,KAAK2L,WAAWyE,+BACjDpQ,KAAKkQ,4BAA4BlQ,KAAK2L,WAAW0E,8BACjDrQ,KAAKkQ,4BAA4BlQ,KAAK2L,WAAW2E,4BACjDtQ,KAAKkQ,4BAA4BlQ,KAAK2L,WAAW4E,2BACjDvQ,KAAKkQ,4BAA4BlQ,KAAK2L,WAAW6E,2BACjDxQ,KAAKkQ,4BAA4BlQ,KAAK2L,WAAW8E,mCACjDzQ,KAAKkQ,4BAA4BlQ,KAAK2L,WAAW+E,mCACjD1Q,KAAKkQ,4BAA4BlQ,KAAK2L,WAAWgF,wBACjD3Q,KAAK4Q,iBAAiB5Q,KAAK2L,WAAWkF,sBACtC7Q,KAAK4Q,iBAAiB5Q,KAAK2L,WAAWmF,8BACtC9Q,KAAK4Q,iBAAiB5Q,KAAK2L,WAAWoF,qBACtC/Q,KAAK4Q,iBAAiB5Q,KAAK2L,WAAWqF,6BACtChR,KAAK4Q,iBAAiB5Q,KAAK2L,WAAWsF,+BACtCjR,KAAK4Q,iBAAiB5Q,KAAK2L,WAAWuF,qCACtClR,KAAK4Q,iBAAiB5Q,KAAK2L,WAAWwF,uBACtCnR,KAAK4Q,iBAAiB5Q,KAAK2L,WAAWyF,+BACtCpR,KAAKqR,qBAAqBrR,KAAK2L,WAAW2F,sBAC1CtR,KAAKqR,qBAAqBrR,KAAK2L,WAAW4F,qBAC1CvR,KAAKqR,qBAAqBrR,KAAK2L,WAAW6F,uBAC1CxR,KAAKyR,sBAAsBzR,KAAK2L,WAAW+F,sBAC3C1R,KAAKyR,sBAAsBzR,KAAK2L,WAAWgG,8BAC3C3R,KAAKyR,sBAAsBzR,KAAK2L,WAAWiG,4BAC3C5R,KAAK2L,WAAWkG,UAmChB,YAAAhE,uBAAR,SAA+BjD,GAC3B,OAAO,IAAI,IAAyBA,EAASkH,OAAQlH,EAASmH,kBAAmBnH,EAASiH,UAGtF,YAAA3E,eAAR,SAAuBtC,GACnB,OAAO,IAAI,IAAiBA,EAASoH,WAAYpH,EAASqH,UAAWrH,EAASsH,UAAWtH,EAASiH,QAASjH,EAASuH,kBAGhH,YAAA5E,yBAAR,SAAiC3C,GAC7B,OAAO,IAAI,IAA2BA,EAASoH,WAAYpH,EAASqH,UAAWrH,EAASsH,UAAWtH,EAASiH,UAGxG,YAAA3C,gCAAR,SAAwCtE,GACpC,OAAO,IAAI,IAA4BA,EAASI,OAAQJ,EAASK,cAAeL,EAASkH,OAAQlH,EAASmH,kBAAmBnH,EAASiH,UAGlI,YAAA3D,qBAAR,SAA6BtD,GACzB,OAAO,IAAI,IAAuBA,EAASkH,OAAQlH,EAASmH,kBAAmBnH,EAASiH,UAGpF,YAAA3B,4BAAR,SAAoCtF,GAChC,OAAO,IAAI,IAAwBA,EAASkH,OAAQlH,EAASiH,UAGzD,YAAAjB,iBAAR,SAAyBhG,GACrB,OAAO,IAAI,IAAaA,EAASI,OAAQJ,EAASK,cAAeL,EAASkH,OAAQlH,EAASiH,UAGvF,YAAAR,qBAAR,SAA6BzG,GACzB,OAAO,IAAI,IAAiBA,EAASoH,WAAYpH,EAASwH,WAAYxH,EAASqH,UAAWrH,EAASsH,UAAWtH,EAASiH,UAGnH,YAAAJ,sBAAR,SAA8B7G,GAC1B,OAAO,IAAI,IAAkBA,EAASyH,wBAClCzH,EAASoH,WACTpH,EAAS0H,uBACT1H,EAAS2H,uBACT3H,EAAS4H,WACT5H,EAAS6H,QACT7H,EAAS8H,mBACT9H,EAASiH,UAGjB,sBAAI,sBAAO,C,IAAX,WAEI,OADmB1L,KAAKC,UAAUpG,KAAK6L,yBACjB7L,KAAKmF,a,gCAGzB,YAAAmG,cAAN,W,wFAEI,OADAtL,KAAKkF,cAAe,EACpB,GAAMlF,KAAKiM,WAAW,I,cAAtB,SACAjM,KAAKkF,cAAe,E,UAGxB,sBAAI,sBAAO,C,IAAX,WACI,OAAOlF,KAAK4F,UAAY5F,KAAKkF,eAAiBlF,KAAKgF,WAAahF,KAAKiF,c,gCAGzE,sBAAI,wBAAS,C,IAAb,WACI,OAAQjF,KAAKkF,eAAiBlF,KAAKgF,WAAahF,KAAKiF,c,gCAGzD,sBAAI,wBAAS,C,IAAb,WACI,QAAQjF,KAAK4F,SAAY5F,KAAKkF,cAAiBlF,KAAKgF,UAAahF,KAAKiF,e,gCA4B1E,sBAAI,yBAAU,C,IAAd,WACI,GAAIjF,KAAK2L,WACT,OAAO,IAAI,IAAqB,cAAe3L,KAAK4L,SAAU5L,KAAK2L,WAAWxK,YAAanB,KAAK2L,WAAWvK,aAAcpB,KAAK2L,WAAWtK,aAAcrB,KAAK2L,WAAWrK,kB,gCA7QlKqR,EAAc,GAD1B,I,uBAY+B,IAAuC,IAA+B,IAAuB,OAXhHA,GAAb,I,gGC1BAnS,EAAOC,QAAU,o4W,4hECgBjB,aAQI,WAAmBE,EAAuCmC,EAAgCC,GAA1F,WAAmB,KAAApC,UAAuC,KAAAmC,UAAgC,KAAAC,SAL1F,KAAAiC,UAAW,EACX,KAAAE,cAAe,EACf,KAAAC,YAAc,GAEd,KAAAlC,qBAA4B,GA2D5B,KAAA4C,KAAO,+C,uDACL,IAAK7F,KAAK4F,QAAS,U,iBAEb,O,sBAAA,GAAM5F,KAAKW,QAAQiS,uBAAuB5S,KAAK2L,WAAWtK,aAAa+B,GAAIpD,KAAK4L,SAAU5L,KAAK6S,kC,cAA/F,S,aAGA,O,WADA,QAAa,EAAO,uBACpB,I,cAEJ7S,KAAKgF,UAAW,E,UA6CpB,KAAAgH,oBAAsB,SAAM5I,GAAU,oC,iDAGlC,OAFApD,KAAKgF,UAAW,EAChB,UAAe,gBACf,GAAMhF,KAAKiM,c,cAAX,S,UAGJ,KAAAC,yBAA2B,SAAClI,GACxB,EAAKgB,UAAW,EAChB,QAAahB,EAAEC,QAAQC,KAAK,MAAO,wBAtHnClE,KAAKiD,qBAAuB,CACxB,kBAAqBjD,KAAKgM,oBAC1B,uBAA0BhM,KAAKkM,0BA2H3C,OAvHI,YAAAtL,SAAA,SAASC,GACLb,KAAK4L,SAAW/K,EAAO+K,UAGrB,YAAAtL,SAAN,W,8FACI,IAAW6D,KAAOnE,KAAKiD,qBACfjD,KAAKiD,qBAAqBmB,eAAeD,IACzCnE,KAAK8C,QAAQuB,GAAGF,EAAKnE,KAAKiD,qBAAqBkB,IAGvD,SAAMnE,KAAKiM,c,cAAX,S,UAGJ,YAAA3H,SAAA,WACI,IAAK,IAAMH,KAAOnE,KAAKiD,qBACfjD,KAAKiD,qBAAqBmB,eAAeD,IACzCnE,KAAK8C,QAAQyB,IAAIJ,EAAKnE,KAAKiD,qBAAqBkB,KAKtD,YAAA8H,WAAN,W,8FACsB,OAAlB,EAAAjM,KAAkB,GAAMA,KAAKW,QAAQsM,UAAUjN,KAAK4L,W,cAApD,EAAKD,WAAa,SAClB3L,KAAKsF,iB,UAGT,YAAAA,eAAA,WACI,IAAMW,EAAcjG,KAAK6S,gCACzB7S,KAAKmF,YAAcgB,KAAKC,UAAUH,IAGtC,YAAA4M,8BAAA,WACI,OAAO,IAAI,IACP7S,KAAKkN,eAAelN,KAAK2L,WAAW2B,kBACpCtN,KAAKkN,eAAelN,KAAK2L,WAAWwB,qBACpCnN,KAAKkN,eAAelN,KAAK2L,WAAWyB,uBACpCpN,KAAKkN,eAAelN,KAAK2L,WAAW0B,qBACpCrN,KAAKuN,yBAAyBvN,KAAK2L,WAAW6B,2BAC9CxN,KAAKuN,yBAAyBvN,KAAK2L,WAAW8B,kCAC9CzN,KAAKuN,yBAAyBvN,KAAK2L,WAAW+B,yBAC9C1N,KAAKuN,yBAAyBvN,KAAK2L,WAAWgC,yBAC9C3N,KAAKuN,yBAAyBvN,KAAK2L,WAAWiC,wBAC9C5N,KAAKyR,sBAAsBzR,KAAK2L,WAAW+F,sBAC3C1R,KAAKyR,sBAAsBzR,KAAK2L,WAAWgG,8BAC3C3R,KAAKyR,sBAAsBzR,KAAK2L,WAAWiG,4BAC3C5R,KAAK8S,2BAA2B9S,KAAK2L,WAAW2F,sBAChDtR,KAAK8S,2BAA2B9S,KAAK2L,WAAW4F,qBAChDvR,KAAK8S,2BAA2B9S,KAAK2L,WAAW6F,yBAehD,YAAAtE,eAAR,SAAuBtC,GACnB,OAAO,IAAI,IAAiBA,EAASoH,WAAYpH,EAASqH,UAAWrH,EAASsH,UAAWtH,EAASiH,QAASjH,EAASuH,kBAGhH,YAAA5E,yBAAR,SAAiC3C,GAC7B,OAAO,IAAI,IAA2BA,EAASoH,WAAYpH,EAASqH,UAAWrH,EAASsH,UAAWtH,EAASiH,UAGxG,YAAAiB,2BAAR,SAAmClI,GAC/B,OAAO,IAAI,IAAuBA,EAASoH,WAAYpH,EAASqH,UAAWrH,EAASsH,UAAWtH,EAASiH,UAGpG,YAAAJ,sBAAR,SAA8B7G,GAC1B,OAAO,IAAI,IAAkBA,EAASyH,wBAClCzH,EAASoH,WACTpH,EAAS0H,uBACT1H,EAAS2H,uBACT3H,EAAS4H,WACT5H,EAAS6H,QACT7H,EAAS8H,mBACT9H,EAASiH,UAGjB,sBAAI,sBAAO,C,IAAX,WAEI,OADmB1L,KAAKC,UAAUpG,KAAK6S,mCACjB7S,KAAKmF,a,gCAGzB,YAAAmG,cAAN,W,wFAEI,OADAtL,KAAKkF,cAAe,EACpB,GAAMlF,KAAKiM,c,cAAX,SACAjM,KAAKkF,cAAe,E,UAGxB,sBAAI,sBAAO,C,IAAX,WACI,OAAOlF,KAAK4F,UAAY5F,KAAKkF,eAAiBlF,KAAKgF,U,gCAGvD,sBAAI,wBAAS,C,IAAb,WACI,OAAQhF,KAAKkF,eAAiBlF,KAAKgF,U,gCAcvC,sBAAI,yBAAU,C,IAAd,WACI,GAAIhF,KAAK2L,WACT,OAAO,IAAI,IAAqB,cAAe3L,KAAK4L,SAAU5L,KAAK2L,WAAWxK,YAAanB,KAAK2L,WAAWvK,aAAcpB,KAAK2L,WAAWtK,aAAcrB,KAAK2L,WAAWrK,kB,gCApIlKyR,EAAwB,GADpC,I,uBAS+B,IAAuC,IAA+B,OARzFA,GAAb,I,sHChBAvS,EAAOC,QAAU,ojI,o9DCSjB,aAMI,WAAmBE,EAAuC8K,GAAvC,KAAA9K,UAAuC,KAAA8K,KAH1D,KAAAuH,mBAAoB,EACpB,KAAAC,qBAAsB,EAiD1B,OA7CI,YAAArS,SAAA,SAASC,GACLb,KAAK4L,SAAW/K,EAAO+K,UAGrB,YAAAtL,SAAN,W,mGAEI,OADAN,KAAKqM,aAAerM,KAAKyL,GAAGa,UAAU,IAAmB,SAAAC,GAAK,SAAKN,WAAW,KAC9E,GAAMjM,KAAKiM,WAAW,I,cAAtB,S,UAGJ,YAAA3H,SAAA,WACItE,KAAKqM,aAAaG,WAGtB,YAAAC,iCAAA,SAAiCC,GAQzBC,OAAOC,cAAiD,IAAjCF,GAAsC1M,KAAK2L,WAAWvK,eAAiB,IAAayL,YACtGF,OAAOC,aAAaE,QAAQ,aAK7BH,OAAOC,aAAaG,WAAW,cAJ/B/M,KAAKW,QAAQqM,gCAAgChN,KAAK4L,UAClDe,OAAOC,aAAwB,WAAI,KAQzC,YAAAsG,cAAN,SAAoBxG,G,8FACE,OAAlB,EAAA1M,KAAkB,GAAMA,KAAKW,QAAQsM,UAAUjN,KAAK4L,W,cAApD,EAAKD,WAAa,SAClB3L,KAAKyM,iCAAiCC,G,UAGpC,YAAAT,WAAN,SAAiBS,G,wEACb1M,KAAKkT,cAAcxG,G,SAGvB,sBAAI,yBAAU,C,IAAd,WACI,GAAI1M,KAAK2L,WACT,OAAO,IAAI,IAAqB,cAAe3L,KAAK4L,SAAU5L,KAAK2L,WAAWxK,YAAanB,KAAK2L,WAAWvK,aAAcpB,KAAK2L,WAAWtK,aAAcrB,KAAK2L,WAAWrK,kB,gCAnDlK6R,EAAc,GAD1B,I,uBAO+B,IAAmC,OANtDA,GAAb,I,gGCTA3S,EAAOC,QAAU,yuT,qkBCIjB,aAEI,WAAoBX,GAAA,KAAAA,OADpB,KAAAC,iBAAkB,EAEdC,KAAKD,gBAAkBD,EAAKC,gBAE5BD,EAAKG,aAAaC,YAAY,aAAcF,KAAKG,mBASzD,OANY,YAAAA,kBAAR,SAA0BC,GACtBJ,KAAKD,gBAAkBK,EAAMC,eAGjC,YAAAC,SAAA,aAZS8S,EAAO,GADnB,I,uBAG6B,OAFjBA,GAAb,I,gDCJA5S,EAAOC,QAAU","file":"app~3c2d8b16.7d4a8f0951099ac829fe.chunk.js","sourcesContent":["import { autoinject } from 'aurelia-framework';\r\nimport { AuthService } from '../../auth-service';\r\n\r\n@autoinject\r\nexport class Support {\r\n isAuthenticated = false;\r\n constructor(private auth: AuthService) {\r\n this.isAuthenticated = auth.isAuthenticated;\r\n \r\n auth.authNotifier.addListener('authChange', this.authChangeHandler);\r\n }\r\n\r\n private authChangeHandler(state) {\r\n this.isAuthenticated = state.authenticated;\r\n }\r\n\r\n attached(){\r\n }\r\n}","module.exports = \"\";","import { autoinject, containerless, customElement } from \"aurelia-framework\";\r\nimport { AuthService } from \"auth-service\";\r\n\r\n@containerless\r\n@autoinject\r\n@customElement(\"top-navbar\")\r\nexport class TopNavbar {\r\n constructor(public auth: AuthService) {}\r\n\r\n get isAuthenticated() {\r\n return this.auth.isAuthenticated;\r\n }\r\n}","module.exports = \"\";","import { autoinject } from \"aurelia-framework\";\r\nimport { UnitPlanReportService } from \"services/UnitPlanReportService\";\r\nimport { UnitPlanViewModelDto } from \"models/UnitPlanViewModelDto\";\r\nimport { PlanReportHeaderData } from \"resources/plan-report-header/PlanReportHeaderData\";\r\nimport { UnitDetailedKpi } from \"models/UnitDetailedKpi\";\r\n\r\n@autoinject\r\nexport class UnitKpi {\r\n planid: number;\r\n unitPlan: UnitPlanViewModelDto;\r\n kpi: UnitDetailedKpi;\r\n constructor(public service: UnitPlanReportService) {}\r\n \r\n activate(params: {planid: number}) {\r\n this.planid = params.planid;\r\n }\r\n\r\n async attached() {\r\n await this.loadPlan();\r\n }\r\n\r\n async loadPlan() {\r\n this.unitPlan = await this.service.getPlan(this.planid, true);\r\n this.kpi = this.unitPlan.kpi;\r\n }\r\n\r\n get headerData() {\r\n if(!this.unitPlan) return undefined;\r\n return new PlanReportHeaderData(\"Unit Plan\", this.planid, this.unitPlan.description, this.unitPlan.reportStatus, this.unitPlan.organization, this.unitPlan.reportingPeriod);\r\n }\r\n\r\n get workingMeetingKpi(): number {\r\n return this.kpi.workingMeetingKpi.efficiencyPercentage;\r\n }\r\n \r\n get tarbiyahMeetingKpi(): number {\r\n return this.kpi.tarbiyahMeetingKpi.efficiencyPercentage;\r\n }\r\n \r\n get dawahEventKpi(): number {\r\n return this.kpi.dawahEventKpi.efficiencyPercentage;\r\n }\r\n\r\n get associateMemberKpi(): number {\r\n return this.kpi.associateMemberKpi.efficiencyPercentage;\r\n }\r\n \r\n get preliminaryMemberKpi(): number {\r\n return this.kpi.preliminaryMemberKpi.efficiencyPercentage;\r\n }\r\n \r\n get reportSubmissionKpi(): number {\r\n return this.kpi.reportSubmissionKpi.efficiencyPercentage;\r\n }\r\n\r\n get fiscalYear(): number {\r\n return this.kpi.fiscalYear;\r\n }\r\n\r\n get expectedWorkingMeetingsPeriod(): number {\r\n if (!this.kpi || !this.kpi.workingMeetingKpi) return 0;\r\n return this.kpi.workingMeetingKpi.expectedMeetingPerPeriod;\r\n }\r\n\r\n get expectedTarbiyahMeetingsPeriod(): number {\r\n if (!this.kpi || !this.kpi.tarbiyahMeetingKpi) return 0;\r\n return this.kpi.tarbiyahMeetingKpi.expectedMeetingPerPeriod;\r\n }\r\n\r\n get expectedDawahEventsPeriod(): number {\r\n if (!this.kpi || !this.kpi.dawahEventKpi) return 0;\r\n return this.kpi.dawahEventKpi.expectedMeetingPerPeriod;\r\n }\r\n\r\n get expectedAmIncreaseYearly(): number {\r\n if (!this.kpi || !this.kpi.associateMemberKpi) return 0;\r\n return this.kpi.associateMemberKpi.expectedIncrease;\r\n }\r\n\r\n get expectedPmIncreaseYearly(): number {\r\n if (!this.kpi || !this.kpi.preliminaryMemberKpi) return 0;\r\n return this.kpi.preliminaryMemberKpi.expectedIncrease;\r\n }\r\n \r\n get totalWorkingMeetings(): number {\r\n if (!this.kpi || !this.kpi.monthlyKpiBreakdown) return 0;\r\n return this.kpi.monthlyKpiBreakdown.reduce((total, monthData) => \r\n total + monthData.workingMeetingActual, 0);\r\n }\r\n\r\n get totalTarbiyahMeetings(): number {\r\n if (!this.kpi || !this.kpi.monthlyKpiBreakdown) return 0;\r\n return this.kpi.monthlyKpiBreakdown.reduce((total, monthData) => \r\n total + monthData.tarbiyahMeetingActual, 0);\r\n }\r\n\r\n get totalDawahEvents(): number {\r\n if (!this.kpi || !this.kpi.monthlyKpiBreakdown) return 0;\r\n return this.kpi.monthlyKpiBreakdown.reduce((total, monthData) => \r\n total + monthData.dawahEventActual, 0);\r\n }\r\n\r\n get totalAssociateMembers(): number {\r\n if (!this.kpi || !this.kpi.monthlyKpiBreakdown) return 0;\r\n return this.kpi.monthlyKpiBreakdown.reduce((total, monthData) => \r\n total + monthData.associateMemberActual, 0);\r\n }\r\n\r\n get totalPreliminaryMembers(): number {\r\n if (!this.kpi || !this.kpi.monthlyKpiBreakdown) return 0;\r\n return this.kpi.monthlyKpiBreakdown.reduce((total, monthData) => \r\n total + monthData.preliminaryMemberActual, 0);\r\n }\r\n\r\n get overallEfficiency(): number {\r\n return this.kpi.overallEfficiency;\r\n }\r\n\r\n get statusSummary(): string {\r\n return this.kpi.statusSummary;\r\n }\r\n}","module.exports = \"\";","import { autoinject } from \"aurelia-framework\";\r\nimport { UnitPlanReportService } from \"services/UnitPlanReportService\";\r\nimport { UnitPlanViewModelDto } from \"models/UnitPlanViewModelDto\";\r\nimport { PlanReportHeaderData } from \"resources/plan-report-header/PlanReportHeaderData\";\r\nimport { ReportingPeriodViewModel } from \"models/ReportingPeriodViewModel\";\r\nimport { AppRouter } from \"aurelia-router\";\r\nimport { SignalrWrapper } from \"signalrwrapper\";\r\nimport { ReportingPeriodService } from \"services/ReportingPeriodService\";\r\nimport { AuthService } from \"auth-service\";\r\n\r\n@autoinject\r\nexport class UnitPlanCopy {\r\n planid: number;\r\n unitPlan: UnitPlanViewModelDto;\r\n reportingPeriods: ReportingPeriodViewModel[] = [];\r\n selectedReportingPeriod: ReportingPeriodViewModel;\r\n isCopyingPlan: boolean;\r\n\r\n signalreventhandlers: any = {};\r\n\r\n constructor(public service: UnitPlanReportService, public reportingPeriodService: ReportingPeriodService, \r\n public signalr: SignalrWrapper, public router: AppRouter, public auth: AuthService) {\r\n this.signalreventhandlers = {\r\n \"UnitPlanCopied\": this.onUnitPlanCopied,\r\n \"UnitPlanCopyFailed\": this.onUnitPlanCopyFailed\r\n };\r\n }\r\n \r\n activate(params: {planid: number}) {\r\n this.planid = params.planid;\r\n }\r\n\r\n async attached() {\r\n for (const key in this.signalreventhandlers) {\r\n if (this.signalreventhandlers.hasOwnProperty(key)) {\r\n this.signalr.on(key, this.signalreventhandlers[key]);\r\n }\r\n }\r\n await this.loadPlan();\r\n }\r\n\r\n detached() {\r\n for(const key in this.signalreventhandlers) {\r\n if (this.signalreventhandlers.hasOwnProperty(key)) {\r\n this.signalr.off(key, this.signalreventhandlers[key]);\r\n }\r\n }\r\n }\r\n\r\n async loadPlan() {\r\n this.unitPlan = await this.service.getPlan(this.planid);\r\n if (this.auth.isSystemAdmin) {\r\n const allReportingPeriods = await this.reportingPeriodService.getReportingPeriodsToCreatePlan(this.unitPlan.organization.id);\r\n this.reportingPeriods = allReportingPeriods.filter(r => r.reportingFrequency === this.unitPlan.reportingPeriod.reportingFrequency);\r\n } else {\r\n const nextReportingPeriod = await this.reportingPeriodService.getNextReportingPeriod(this.unitPlan.id);\r\n this.reportingPeriods = [nextReportingPeriod];\r\n }\r\n }\r\n\r\n get headerData() {\r\n if(!this.unitPlan) return undefined;\r\n return new PlanReportHeaderData(\"Unit Plan\", this.planid, this.unitPlan.description, this.unitPlan.reportStatus, this.unitPlan.organization, this.unitPlan.reportingPeriod);\r\n }\r\n\r\n copyPlan = async () => {\r\n try {\r\n await this.service.copy(this.unitPlan.id, this.unitPlan.organization, \r\n this.selectedReportingPeriod.year, this.selectedReportingPeriod.reportingTerm, this.selectedReportingPeriod.reportingFrequency);\r\n } catch(error) {\r\n toastr.error(error);\r\n return;\r\n }\r\n this.isCopyingPlan = true;\r\n }\r\n\r\n onUnitPlanCopied = (planid: number) => {\r\n toastr.success(\"Plan Copied\");\r\n this.router.navigate(`unit-plan-edit/${planid}`);\r\n }\r\n\r\n onUnitPlanCopyFailed = (e: {$values: string[]}) => {\r\n this.isCopyingPlan = false;\r\n toastr.error(e.$values.join(\", \"));\r\n }\r\n}","module.exports = \"\\r\\n\";","import { autoinject } from \"aurelia-framework\";\r\nimport { AppRouter } from \"aurelia-router\";\r\nimport * as toastr from \"toastr\";\r\nimport { UnitPlanReportService } from \"services/UnitPlanReportService\";\r\nimport { UnitPlanViewModelDto } from \"models/UnitPlanViewModelDto\";\r\nimport { SignalrWrapper } from \"signalrwrapper\";\r\nimport { PlanData } from \"models/PlanData\";\r\nimport { MemberPlanData } from \"models/MemberPlanData\";\r\nimport { UnitOrganizationPlanData } from \"models/UnitOrganizationPlanData\";\r\nimport { MeetingProgramPlanData } from \"models/MeetingProgramPlanData\";\r\nimport { SocialWelfareData } from \"models/SocialWelfareData\";\r\nimport { SocialWelfarePlanData } from \"models/SocialWelfarePlanData\";\r\nimport { TeachingLearningProgramPlanData } from \"models/TeachingLearningProgramPlanData\";\r\nimport { DawahProgramPlanData } from \"models/DawahProgramPlanData\";\r\nimport { MaterialPlanData } from \"models/MaterialPlanData\";\r\nimport { FinancePlanData } from \"models/FinancePlanData\";\r\nimport { PlanReportHeaderData } from \"resources/plan-report-header/PlanReportHeaderData\";\r\n\r\n\r\n@autoinject\r\nexport class UnitPlanEdit {\r\n planid: number;\r\n unitPlan: UnitPlanViewModelDto;\r\n isSaving = false;\r\n isSubmitting = false;\r\n isCancelling = false;\r\n initialJson = \"\";\r\n afterSave: (() => Promise)[] = [];\r\n\r\n signalreventhandlers: any= {};\r\n constructor(public service: UnitPlanReportService, public signalr: SignalrWrapper, public router: AppRouter) {\r\n this.signalreventhandlers = {\r\n \"UnitPlanUpdated\": this.onUnitPlanUpdated,\r\n \"UnitPlanUpdateFailed\": this.onUnitPlanUpdateFailed,\r\n \"UnitPlanSubmitted\": this.onUnitPlanSubmitted,\r\n \"UnitPlanSubmitFailed\": this.onUnitPlanSubmitFailed\r\n };\r\n }\r\n \r\n activate(params: {planid: number}) {\r\n this.planid = params.planid;\r\n }\r\n\r\n async attached() {\r\n for (const key in this.signalreventhandlers) {\r\n if (this.signalreventhandlers.hasOwnProperty(key)) {\r\n this.signalr.on(key, this.signalreventhandlers[key]);\r\n }\r\n }\r\n await this.loadPlan();\r\n }\r\n\r\n detached() {\r\n for (const key in this.signalreventhandlers) {\r\n if (this.signalreventhandlers.hasOwnProperty(key)) {\r\n this.signalr.off(key, this.signalreventhandlers[key]);\r\n }\r\n }\r\n }\r\n\r\n async loadPlan() {\r\n const unitPlan = await this.service.getPlan(this.planid);\r\n this.unitPlan = unitPlan;\r\n this.setInitialData();\r\n }\r\n\r\n setInitialData() {\r\n const initialData = this.getPlanData();\r\n this.initialJson = JSON.stringify(initialData);\r\n }\r\n\r\n getPlanData(): PlanData {\r\n return new PlanData(\r\n this.makeMemberPlanData(this.unitPlan.associateMemberPlanData),\r\n this.makeMemberPlanData(this.unitPlan.preliminaryMemberPlanData),\r\n this.makeMemberPlanData(this.unitPlan.supporterMemberPlanData),\r\n this.makeMemberPlanData(this.unitPlan.memberMemberPlanData),\r\n this.makeUnitOrganizationPlanData(this.unitPlan.dawahUnitOrganizationPlanData),\r\n this.makeUnitOrganizationPlanData(this.unitPlan.organizationUnitOrganizationPlanData),\r\n this.makeUnitOrganizationPlanData(this.unitPlan.ymbUnitOrganizationPlanData),\r\n this.makeUnitOrganizationPlanData(this.unitPlan.ymsUnitOrganizationPlanData),\r\n this.makeUnitOrganizationPlanData(this.unitPlan.lmUnitOrganizationPlanData),\r\n this.makeMeetingProgramPlanData(this.unitPlan.workerMeetingProgramPlanData),\r\n this.makeMeetingProgramPlanData(this.unitPlan.cmsMeetingProgramPlanData),\r\n this.makeMeetingProgramPlanData(this.unitPlan.smMeetingProgramPlanData),\r\n this.makeMeetingProgramPlanData(this.unitPlan.memberMeetingProgramPlanData),\r\n this.makeDawahProgramPlanData(this.unitPlan.dawahMeetingProgramPlanData),\r\n this.makeMeetingProgramPlanData(this.unitPlan.stateLeaderMeetingProgramPlanData),\r\n this.makeDawahProgramPlanData(this.unitPlan.stateOutingMeetingProgramPlanData),\r\n this.makeMeetingProgramPlanData(this.unitPlan.iftarMeetingProgramPlanData),\r\n this.makeMeetingProgramPlanData(this.unitPlan.learningMeetingProgramPlanData),\r\n this.makeDawahProgramPlanData(this.unitPlan.socialDawahMeetingProgramPlanData),\r\n this.makeMeetingProgramPlanData(this.unitPlan.dawahGroupMeetingProgramPlanData),\r\n this.makeMeetingProgramPlanData(this.unitPlan.nextGMeetingProgramPlanData),\r\n this.makeMeetingProgramPlanData(this.unitPlan.tafsirMeetingProgramPlanData),\r\n this.makeMeetingProgramPlanData(this.unitPlan.unitMeetingProgramPlanData),\r\n this.makeMeetingProgramPlanData(this.unitPlan.bbqMeetingProgramPlanData),\r\n this.makeMeetingProgramPlanData(this.unitPlan.gatheringMeetingProgramPlanData),\r\n this.makeMeetingProgramPlanData(this.unitPlan.familyVisitMeetingProgramPlanData),\r\n this.makeMeetingProgramPlanData(this.unitPlan.eidReunionMeetingProgramPlanData),\r\n this.makeMeetingProgramPlanData(this.unitPlan.otherMeetingProgramPlanData),\r\n this.makeTeachingLearningProgramPlanData(this.unitPlan.groupStudyTeachingLearningProgramPlanData),\r\n this.makeTeachingLearningProgramPlanData(this.unitPlan.studyCircleForAssociateMemberTeachingLearningProgramPlanData),\r\n this.makeTeachingLearningProgramPlanData(this.unitPlan.studyCircleTeachingLearningProgramPlanData),\r\n this.makeTeachingLearningProgramPlanData(this.unitPlan.practiceDarsTeachingLearningProgramPlanData),\r\n this.makeTeachingLearningProgramPlanData(this.unitPlan.stateLearningCampTeachingLearningProgramPlanData),\r\n this.makeTeachingLearningProgramPlanData(this.unitPlan.quranStudyTeachingLearningProgramPlanData),\r\n this.makeTeachingLearningProgramPlanData(this.unitPlan.hadithTeachingLearningProgramPlanData),\r\n this.makeTeachingLearningProgramPlanData(this.unitPlan.quranClassTeachingLearningProgramPlanData),\r\n this.makeTeachingLearningProgramPlanData(this.unitPlan.weekendIslamicSchoolTeachingLearningProgramPlanData),\r\n this.makeTeachingLearningProgramPlanData(this.unitPlan.memorizingAyatTeachingLearningProgramPlanData),\r\n this.makeTeachingLearningProgramPlanData(this.unitPlan.memorizingHadithTeachingLearningProgramPlanData),\r\n this.makeTeachingLearningProgramPlanData(this.unitPlan.memorizingDoaTeachingLearningProgramPlanData),\r\n this.makeTeachingLearningProgramPlanData(this.unitPlan.stateLearningSessionTeachingLearningProgramPlanData),\r\n this.makeTeachingLearningProgramPlanData(this.unitPlan.stateQiyamulLailTeachingLearningProgramPlanData),\r\n this.makeTeachingLearningProgramPlanData(this.unitPlan.otherTeachingLearningProgramPlanData),\r\n this.makeSocialWelfarePlanData(this.unitPlan.qardeHasanaSocialWelfarePlanData),\r\n this.makeSocialWelfarePlanData(this.unitPlan.patientVisitSocialWelfarePlanData),\r\n this.makeSocialWelfarePlanData(this.unitPlan.socialVisitSocialWelfarePlanData),\r\n this.makeSocialWelfarePlanData(this.unitPlan.transportSocialWelfarePlanData),\r\n this.makeSocialWelfarePlanData(this.unitPlan.shiftingSocialWelfarePlanData),\r\n this.makeSocialWelfarePlanData(this.unitPlan.shoppingSocialWelfarePlanData),\r\n this.makeSocialWelfarePlanData(this.unitPlan.foodDistributionSocialWelfarePlanData),\r\n this.makeSocialWelfarePlanData(this.unitPlan.cleanUpAustraliaSocialWelfarePlanData),\r\n this.makeSocialWelfarePlanData(this.unitPlan.otherSocialWelfarePlanData),\r\n this.makeMaterialPlanData(this.unitPlan.bookSaleMaterialPlanData),\r\n this.makeMaterialPlanData(this.unitPlan.bookDistributionMaterialPlanData),\r\n this.makeMaterialPlanData(this.unitPlan.vhsSaleMaterialPlanData),\r\n this.makeMaterialPlanData(this.unitPlan.vhsDistributionMaterialPlanData),\r\n this.makeMaterialPlanData(this.unitPlan.emailDistributionMaterialPlanData),\r\n this.makeMaterialPlanData(this.unitPlan.ipdcLeafletDistributionMaterialPlanData),\r\n this.makeMaterialPlanData(this.unitPlan.otherSaleMaterialPlanData),\r\n this.makeMaterialPlanData(this.unitPlan.otherDistributionMaterialPlanData),\r\n this.makeFinancePlanData(this.unitPlan.baitulMalFinancePlanData),\r\n this.makeFinancePlanData(this.unitPlan.aDayMasjidProjectFinancePlanData),\r\n this.makeFinancePlanData(this.unitPlan.masjidTableBankFinancePlanData));\r\n }\r\n\r\n private makeMemberPlanData(original: MemberPlanData): MemberPlanData {\r\n return new MemberPlanData(original.nameAndContactNumber, original.action, original.upgradeTarget);\r\n }\r\n\r\n private makeUnitOrganizationPlanData(original: UnitOrganizationPlanData): UnitOrganizationPlanData {\r\n return new UnitOrganizationPlanData(original.action, original.upgradeTarget);\r\n }\r\n\r\n private makeMeetingProgramPlanData(original: MeetingProgramPlanData): MeetingProgramPlanData {\r\n return new MeetingProgramPlanData(original.target, original.dateAndAction);\r\n }\r\n\r\n private makeTeachingLearningProgramPlanData(original: TeachingLearningProgramPlanData): TeachingLearningProgramPlanData {\r\n return new TeachingLearningProgramPlanData(original.target, original.dateAndAction);\r\n }\r\n\r\n private makeDawahProgramPlanData(original: DawahProgramPlanData): DawahProgramPlanData {\r\n return new DawahProgramPlanData(original.target, original.dateAndAction);\r\n }\r\n\r\n private makeSocialWelfarePlanData(original: SocialWelfarePlanData) {\r\n return new SocialWelfarePlanData(original.target, original.dateAndAction);\r\n }\r\n\r\n private makeMaterialPlanData(original: MaterialPlanData) {\r\n return new MaterialPlanData(original.target, original.dateAndAction);\r\n }\r\n\r\n private makeFinancePlanData(original: FinancePlanData) {\r\n return new FinancePlanData(original.action, original.workerPromiseIncreaseTarget, original.otherSourceAction, original.otherSourceIncreaseTarget);\r\n }\r\n\r\n async save() {\r\n if (!this.isDirty) return;\r\n try {\r\n await this.service.updatePlan(this.unitPlan.organization.id, this.planid, this.getPlanData());\r\n } catch(error) {\r\n toastr.error(error, \"Error Saving Plan\");\r\n return;\r\n }\r\n this.isSaving = true;\r\n }\r\n\r\n get isDirty() {\r\n const latestJson = JSON.stringify(this.getPlanData());\r\n return latestJson !== this.initialJson;\r\n }\r\n\r\n async cancelChanges() {\r\n this.isCancelling = true;\r\n await this.loadPlan();\r\n this.isCancelling = false;\r\n }\r\n\r\n get canSave() {\r\n return this.isDirty && !this.isCancelling && !this.isSaving && !this.isSubmitting;\r\n }\r\n\r\n get canCancel() {\r\n return !this.isCancelling && !this.isSaving && !this.isSubmitting;\r\n }\r\n\r\n get canSubmit() {\r\n return !this.isDirty && !this.isCancelling && !this.isSaving && !this.isSubmitting;\r\n }\r\n\r\n onUnitPlanUpdated = async (id: number) => {\r\n this.isSaving = false;\r\n toastr.success(\"Plan Saved\");\r\n this.setInitialData();\r\n if(this.afterSave.length === 0) return;\r\n await this.afterSave.pop()(); \r\n }\r\n\r\n onUnitPlanUpdateFailed = (e: {$values: string[]}) => {\r\n this.isSaving = false;\r\n toastr.error(e.$values.join(\"\\n\"), \"Error Saving Plan\");\r\n if(this.afterSave.length === 0) return;\r\n this.afterSave.pop();\r\n }\r\n\r\n submitPlan = async () => {\r\n try {\r\n await this.service.submitPlan(this.unitPlan.organization.id, this.planid);\r\n } catch(error) {\r\n toastr.error(error, \"Error Submitting Plan\");\r\n }\r\n this.isSubmitting = true;\r\n }\r\n\r\n saveAndSubmitPlan = async () => {\r\n if (this.isDirty)\r\n {\r\n await this.save();\r\n this.afterSave.push(this.submitPlan);\r\n return;\r\n } \r\n await this.submitPlan();\r\n }\r\n\r\n onUnitPlanSubmitted = (id: number) => {\r\n this.isSubmitting = false;\r\n toastr.success(\"Plan Submitted\");\r\n this.router.navigate(`unit-plan-view/${id}`);\r\n }\r\n\r\n onUnitPlanSubmitFailed = (e: {$values: string[]}) => {\r\n this.isSubmitting = false;\r\n toastr.error(e.$values.join(\"\\n\"), \"Error Submitting Plan\");\r\n if(this.afterSave.length === 0) return;\r\n this.afterSave.pop();\r\n }\r\n\r\n get headerData() {\r\n if(!this.unitPlan) return undefined;\r\n return new PlanReportHeaderData(\"Unit Plan\", this.planid, this.unitPlan.description, this.unitPlan.reportStatus, this.unitPlan.organization, this.unitPlan.reportingPeriod);\r\n }\r\n}\r\n","module.exports = \"\\r\\n\";","import { autoinject } from \"aurelia-framework\";\r\nimport { UnitPlanReportService } from \"services/UnitPlanReportService\";\r\nimport { UnitPlanViewModelDto } from \"models/UnitPlanViewModelDto\";\r\nimport { PlanReportHeaderData } from \"resources/plan-report-header/PlanReportHeaderData\";\r\n\r\n@autoinject\r\nexport class UnitPlanView {\r\n planid: number;\r\n unitPlan: UnitPlanViewModelDto;\r\n constructor(public service: UnitPlanReportService) {}\r\n \r\n activate(params: {planid: number}) {\r\n this.planid = params.planid;\r\n }\r\n\r\n async attached() {\r\n await this.loadPlan();\r\n }\r\n\r\n async loadPlan() {\r\n this.unitPlan = await this.service.getPlan(this.planid);\r\n }\r\n\r\n get headerData() {\r\n if(!this.unitPlan) return undefined;\r\n return new PlanReportHeaderData(\"Unit Plan\", this.planid, this.unitPlan.description, this.unitPlan.reportStatus, this.unitPlan.organization, this.unitPlan.reportingPeriod);\r\n }\r\n\r\n \r\n}","module.exports = \"\\r\\n\";","import { autoinject } from \"aurelia-framework\";\r\nimport { AppRouter } from \"aurelia-router\";\r\nimport * as toastr from \"toastr\";\r\nimport { UnitPlanReportService } from \"services/UnitPlanReportService\";\r\nimport { UnitReportViewModelDto } from \"models/UnitReportViewModelDto\";\r\nimport { SignalrWrapper } from \"signalrwrapper\";\r\nimport { MemberReportData } from \"models/MemberReportData\";\r\nimport { UnitOrganizationReportData } from \"models/UnitOrganizationReportData\";\r\nimport { ReportUpdateData } from \"models/ReportUpdateData\";\r\nimport { MeetingProgramData } from \"models/MeetingProgramData\";\r\nimport { DawahProgramData } from \"models/DawahProgramData\";\r\nimport { ReportStatus } from \"models/ReportStatus\";\r\nimport { MeetingProgramReportData } from \"models/MeetingProgramReportData\";\r\nimport { DawahProgramReportData } from \"models/DawahProgramReportData\";\r\nimport { SocialWelfareData } from \"models/SocialWelfareData\";\r\nimport { TeachingLearningProgramData } from \"models/TeachingLearningProgramData\";\r\nimport { LibraryStockData } from \"models/LibraryStockData\";\r\nimport { MaterialData } from \"models/MaterialData\";\r\nimport { SocialWelfareReportData } from \"models/SocialWelfareReportData\";\r\nimport { FinanceReportData } from \"models/FinanceReportData\";\r\nimport { FinanceData } from \"models/FinanceData\";\r\nimport { PlanReportHeaderData } from \"resources/plan-report-header/PlanReportHeaderData\";\r\nimport { Subscription, EventAggregator } from \"aurelia-event-aggregator\";\r\nimport { UnitReportUpdated } from \"resources/plan-report-header/UnitReportUpdated\";\r\n\r\n@autoinject\r\nexport class UnitReportEdit {\r\n reportid: number;\r\n unitReport: UnitReportViewModelDto;\r\n isSaving = false;\r\n isSubmitting = false;\r\n isCancelling = false;\r\n initialJson = \"\";\r\n afterSave: (() => Promise)[] = [];\r\n\r\n signalreventhandlers: any = {};\r\n subscription: Subscription;\r\n constructor(public service: UnitPlanReportService, public signalr: SignalrWrapper, public router: AppRouter, public ea?: EventAggregator) {\r\n this.signalreventhandlers = {\r\n \"UnitReportUpdated\": this.onUnitReportUpdated,\r\n \"UnitReportUpdateFailed\": this.onUnitReportUpdateFailed,\r\n \"ReportSubmitted\": this.onUnitReportSubmitted,\r\n \"ReportSubmitFailed\": this.onUnitReportSubmitFailed\r\n };\r\n }\r\n\r\n activate(params: { reportid: number }) {\r\n this.reportid = params.reportid;\r\n }\r\n\r\n async attached() {\r\n for (const key in this.signalreventhandlers) {\r\n if (this.signalreventhandlers.hasOwnProperty(key)) {\r\n this.signalr.on(key, this.signalreventhandlers[key]);\r\n }\r\n }\r\n this.subscription = this.ea.subscribe(UnitReportUpdated, _ => this.loadReport(1));\r\n await this.loadReport(1);\r\n }\r\n\r\n detached() {\r\n for (const key in this.signalreventhandlers) {\r\n if (this.signalreventhandlers.hasOwnProperty(key)) {\r\n this.signalr.off(key, this.signalreventhandlers[key]);\r\n }\r\n }\r\n this.subscription.dispose();\r\n }\r\n\r\n SingleTimeLastPeriodValuesUpdate(lastPeriodValuesUpdateNeeded: number) {\r\n /*\r\n Calls `updateReportLastPeriodFromModel()` for a single time\r\n when the report status is `Report Not Submitted`.\r\n\r\n `updateReportLastPeriodFromModel()` automatically calls `loadReport()`\r\n which causes the circular calling.\r\n */\r\n if( window.localStorage && lastPeriodValuesUpdateNeeded === 1 && this.unitReport.reportStatus !== ReportStatus.Submitted ) {\r\n if( !window.localStorage.getItem('firstLoad') ) {\r\n this.service.updateReportLastPeriodFromModel(this.reportid);\r\n window.localStorage['firstLoad'] = true;\r\n }\r\n else {\r\n window.localStorage.removeItem('firstLoad');\r\n }\r\n };\r\n }\r\n\r\n async loadReport(lastPeriodValuesUpdateNeeded: number) {\r\n this.unitReport = await this.service.getReport(this.reportid);\r\n this.setInitialData();\r\n this.SingleTimeLastPeriodValuesUpdate(lastPeriodValuesUpdateNeeded);\r\n }\r\n\r\n setInitialData() {\r\n const initialData = this.getMemberReportData();\r\n this.initialJson = JSON.stringify(initialData);\r\n }\r\n\r\n getMemberReportData(): ReportUpdateData {\r\n return new ReportUpdateData(\r\n this.makeMemberData(this.unitReport.associateMemberData),\r\n this.makeMemberData(this.unitReport.preliminaryMemberData),\r\n this.makeMemberData(this.unitReport.supporterMemberData),\r\n this.makeMemberData(this.unitReport.memberMemberData),\r\n this.makeUnitOrganizationData(this.unitReport.dawahUnitOrganizationData),\r\n this.makeUnitOrganizationData(this.unitReport.organizationUnitOrganizationData),\r\n this.makeUnitOrganizationData(this.unitReport.ymbUnitOrganizationData),\r\n this.makeUnitOrganizationData(this.unitReport.ymsUnitOrganizationData),\r\n this.makeUnitOrganizationData(this.unitReport.lmUnitOrganizationData),\r\n this.makeMeetingProgramData(this.unitReport.workerMeetingProgramData),\r\n this.makeMeetingProgramData(this.unitReport.cmsMeetingProgramData),\r\n this.makeMeetingProgramData(this.unitReport.smMeetingProgramData),\r\n this.makeMeetingProgramData(this.unitReport.memberMeetingProgramData),\r\n this.makeDawahProgramData(this.unitReport.dawahMeetingProgramData),\r\n this.makeMeetingProgramData(this.unitReport.stateLeaderMeetingProgramData),\r\n this.makeDawahProgramData(this.unitReport.stateOutingMeetingProgramData),\r\n this.makeMeetingProgramData(this.unitReport.iftarMeetingProgramData),\r\n this.makeMeetingProgramData(this.unitReport.learningMeetingProgramData),\r\n this.makeDawahProgramData(this.unitReport.socialDawahMeetingProgramData),\r\n this.makeMeetingProgramData(this.unitReport.dawahGroupMeetingProgramData),\r\n this.makeMeetingProgramData(this.unitReport.nextGMeetingProgramData),\r\n this.makeMeetingProgramData(this.unitReport.tafsirMeetingProgramData),\r\n this.makeMeetingProgramData(this.unitReport.unitMeetingProgramData),\r\n this.makeMeetingProgramData(this.unitReport.bbqMeetingProgramData),\r\n this.makeMeetingProgramData(this.unitReport.gatheringMeetingProgramData),\r\n this.makeMeetingProgramData(this.unitReport.familyVisitMeetingProgramData),\r\n this.makeMeetingProgramData(this.unitReport.eidReunionMeetingProgramData),\r\n this.makeMeetingProgramData(this.unitReport.otherMeetingProgramData),\r\n this.makeTeachingLearningProgramData(this.unitReport.groupStudyTeachingLearningProgramData),\r\n this.makeTeachingLearningProgramData(this.unitReport.studyCircleForAssociateMemberTeachingLearningProgramData),\r\n this.makeTeachingLearningProgramData(this.unitReport.studyCircleTeachingLearningProgramData),\r\n this.makeTeachingLearningProgramData(this.unitReport.practiceDarsTeachingLearningProgramData),\r\n this.makeTeachingLearningProgramData(this.unitReport.stateLearningCampTeachingLearningProgramData),\r\n this.makeTeachingLearningProgramData(this.unitReport.quranStudyTeachingLearningProgramData),\r\n this.makeTeachingLearningProgramData(this.unitReport.hadithTeachingLearningProgramData),\r\n this.makeTeachingLearningProgramData(this.unitReport.quranClassTeachingLearningProgramData),\r\n this.makeTeachingLearningProgramData(this.unitReport.weekendIslamicSchoolTeachingLearningProgramData),\r\n this.makeTeachingLearningProgramData(this.unitReport.memorizingAyatTeachingLearningProgramData),\r\n this.makeTeachingLearningProgramData(this.unitReport.memorizingHadithTeachingLearningProgramData),\r\n this.makeTeachingLearningProgramData(this.unitReport.memorizingDoaTeachingLearningProgramData),\r\n this.makeTeachingLearningProgramData(this.unitReport.stateLearningSessionTeachingLearningProgramData),\r\n this.makeTeachingLearningProgramData(this.unitReport.stateQiyamulLailTeachingLearningProgramData),\r\n this.makeTeachingLearningProgramData(this.unitReport.otherTeachingLearningProgramData),\r\n this.makeSocialWelfareReportData(this.unitReport.qardeHasanaSocialWelfareData),\r\n this.makeSocialWelfareReportData(this.unitReport.patientVisitSocialWelfareData),\r\n this.makeSocialWelfareReportData(this.unitReport.socialVisitSocialWelfareData),\r\n this.makeSocialWelfareReportData(this.unitReport.transportSocialWelfareData),\r\n this.makeSocialWelfareReportData(this.unitReport.shiftingSocialWelfareData),\r\n this.makeSocialWelfareReportData(this.unitReport.shoppingSocialWelfareData),\r\n this.makeSocialWelfareReportData(this.unitReport.foodDistributionSocialWelfareData),\r\n this.makeSocialWelfareReportData(this.unitReport.cleanUpAustraliaSocialWelfareData),\r\n this.makeSocialWelfareReportData(this.unitReport.otherSocialWelfareData),\r\n this.makeMaterialData(this.unitReport.bookSaleMaterialData),\r\n this.makeMaterialData(this.unitReport.bookDistributionMaterialData),\r\n this.makeMaterialData(this.unitReport.vhsSaleMaterialData),\r\n this.makeMaterialData(this.unitReport.vhsDistributionMaterialData),\r\n this.makeMaterialData(this.unitReport.emailDistributionMaterialData),\r\n this.makeMaterialData(this.unitReport.ipdcLeafletDistributionMaterialData),\r\n this.makeMaterialData(this.unitReport.otherSaleMaterialData),\r\n this.makeMaterialData(this.unitReport.otherDistributionMaterialData),\r\n this.makeLibraryStockData(this.unitReport.bookLibraryStockData),\r\n this.makeLibraryStockData(this.unitReport.vhsLibraryStockData),\r\n this.makeLibraryStockData(this.unitReport.otherLibraryStockData),\r\n this.makeFinanceReportData(this.unitReport.baitulMalFinanceData),\r\n this.makeFinanceReportData(this.unitReport.aDayMasjidProjectFinanceData),\r\n this.makeFinanceReportData(this.unitReport.masjidTableBankFinanceData),\r\n this.unitReport.comment\r\n );\r\n }\r\n\r\n save = async () => {\r\n if (!this.isDirty) return;\r\n try {\r\n await this.service.updateReport(this.unitReport.organization.id, this.reportid, this.getMemberReportData());\r\n } catch (error) {\r\n toastr.error(error, \"Error Saving Report\");\r\n return;\r\n }\r\n this.isSaving = true;\r\n toastr.success(\"Report Saved\");\r\n }\r\n\r\n saveAndSubmitReport = async () => {\r\n if (this.isDirty)\r\n {\r\n await this.save();\r\n this.afterSave.push(this.submitReport);\r\n return;\r\n } \r\n await this.submitReport();\r\n }\r\n\r\n submitReport = async () => {\r\n try {\r\n await this.service.submitReport(this.unitReport.organization.id, this.reportid);\r\n } catch(error) {\r\n toastr.error(error, \"Error Submitting Report\");\r\n }\r\n this.isSubmitting = true;\r\n }\r\n\r\n private makeMeetingProgramData(original: MeetingProgramData): MeetingProgramReportData {\r\n return new MeetingProgramReportData(original.actual, original.averageAttendance, original.comment);\r\n }\r\n\r\n private makeMemberData(original: MemberReportData): MemberReportData {\r\n return new MemberReportData(original.lastPeriod, original.increased, original.decreased, original.comment, original.personalContact);\r\n }\r\n\r\n private makeUnitOrganizationData(original: UnitOrganizationReportData): UnitOrganizationReportData {\r\n return new UnitOrganizationReportData(original.lastPeriod, original.increased, original.decreased, original.comment);\r\n }\r\n\r\n private makeTeachingLearningProgramData(original: TeachingLearningProgramData): TeachingLearningProgramData {\r\n return new TeachingLearningProgramData(original.target, original.dateAndAction, original.actual, original.averageAttendance, original.comment);\r\n }\r\n\r\n private makeDawahProgramData(original: DawahProgramData): DawahProgramReportData {\r\n return new DawahProgramReportData(original.actual, original.averageAttendance, original.comment);\r\n }\r\n\r\n private makeSocialWelfareReportData(original: SocialWelfareData): SocialWelfareReportData {\r\n return new SocialWelfareReportData(original.actual, original.comment);\r\n }\r\n\r\n private makeMaterialData(original: MaterialData): MaterialData {\r\n return new MaterialData(original.target, original.dateAndAction, original.actual, original.comment);\r\n }\r\n\r\n private makeLibraryStockData(original: LibraryStockData): LibraryStockData {\r\n return new LibraryStockData(original.lastPeriod, original.thisPeriod, original.increased, original.decreased, original.comment);\r\n }\r\n\r\n private makeFinanceReportData(original: FinanceData): FinanceReportData {\r\n return new FinanceReportData(original.workerPromiseLastPeriod,\r\n original.lastPeriod,\r\n original.workerPromiseIncreased,\r\n original.workerPromiseDecreased,\r\n original.collection,\r\n original.expense,\r\n original.nisabPaidToCentral,\r\n original.comment);\r\n }\r\n\r\n get isDirty() {\r\n const latestJson = JSON.stringify(this.getMemberReportData());\r\n return latestJson !== this.initialJson;\r\n }\r\n\r\n async cancelChanges() {\r\n this.isCancelling = true;\r\n await this.loadReport(0);\r\n this.isCancelling = false;\r\n }\r\n\r\n get canSave() {\r\n return this.isDirty && !this.isCancelling && !this.isSaving && !this.isSubmitting;\r\n }\r\n\r\n get canCancel() {\r\n return !this.isCancelling && !this.isSaving && !this.isSubmitting;\r\n }\r\n\r\n get canSubmit() {\r\n return !this.isDirty && !this.isCancelling && !this.isSaving && !this.isSubmitting;\r\n }\r\n\r\n onUnitReportUpdated = async(id: number) => {\r\n this.isSaving = false;\r\n await this.loadReport(0);\r\n if(this.afterSave.length === 0) return;\r\n await this.afterSave.pop()();\r\n }\r\n\r\n onUnitReportUpdateFailed = (e: {$values: string[]}) => {\r\n this.isSaving = false;\r\n toastr.error(e.$values.join(\"\\n\"), \"Error Saving Report\");\r\n if(this.afterSave.length === 0) return;\r\n this.afterSave.pop();\r\n }\r\n\r\n onUnitReportSubmitted = (id: number) => {\r\n this.isSubmitting = false;\r\n toastr.success(\"Report Submitted\");\r\n this.router.navigate(`unit-report-view/${id}`);\r\n }\r\n\r\n onUnitReportSubmitFailed = (e: {$values: string[]}) => {\r\n this.isSubmitting = false;\r\n toastr.error(e.$values.join(\"\\n\"), \"Error Submitting Report\");\r\n }\r\n\r\n get headerData() {\r\n if(!this.unitReport) return undefined;\r\n return new PlanReportHeaderData(\"Unit Report\", this.reportid, this.unitReport.description, this.unitReport.reportStatus, this.unitReport.organization, this.unitReport.reportingPeriod);\r\n }\r\n}\r\n","module.exports = \"\\r\\n\";","import { autoinject } from \"aurelia-framework\";\r\nimport { AppRouter } from \"aurelia-router\";\r\nimport * as toastr from \"toastr\";\r\nimport { UnitPlanReportService } from \"services/UnitPlanReportService\";\r\nimport { UnitReportViewModelDto } from \"models/UnitReportViewModelDto\";\r\nimport { SignalrWrapper } from \"signalrwrapper\";\r\nimport { MemberReportData } from \"models/MemberReportData\";\r\nimport { UnitOrganizationReportData } from \"models/UnitOrganizationReportData\";\r\nimport { LibraryStockData } from \"models/LibraryStockData\";\r\nimport { FinanceReportData } from \"models/FinanceReportData\";\r\nimport { FinanceData } from \"models/FinanceData\";\r\nimport { PlanReportHeaderData } from \"resources/plan-report-header/PlanReportHeaderData\";\r\nimport { LibraryStockReportData } from \"models/LibraryStockReportData\";\r\nimport { ReportLastPeriodUpdateData } from \"models/ReportLastPeriodUpdateData\";\r\n\r\n@autoinject\r\nexport class UnitReportLastPeriodEdit {\r\n reportid: number;\r\n unitReport: UnitReportViewModelDto;\r\n isSaving = false;\r\n isCancelling = false;\r\n initialJson = \"\";\r\n\r\n signalreventhandlers: any = {};\r\n constructor(public service: UnitPlanReportService, public signalr: SignalrWrapper, public router: AppRouter) {\r\n this.signalreventhandlers = {\r\n \"UnitReportUpdated\": this.onUnitReportUpdated,\r\n \"UnitReportUpdateFailed\": this.onUnitReportUpdateFailed\r\n };\r\n }\r\n\r\n activate(params: { reportid: number }) {\r\n this.reportid = params.reportid;\r\n }\r\n\r\n async attached() {\r\n for (const key in this.signalreventhandlers) {\r\n if (this.signalreventhandlers.hasOwnProperty(key)) {\r\n this.signalr.on(key, this.signalreventhandlers[key]);\r\n }\r\n }\r\n await this.loadReport();\r\n }\r\n\r\n detached() {\r\n for (const key in this.signalreventhandlers) {\r\n if (this.signalreventhandlers.hasOwnProperty(key)) {\r\n this.signalr.off(key, this.signalreventhandlers[key]);\r\n }\r\n }\r\n }\r\n\r\n async loadReport() {\r\n this.unitReport = await this.service.getReport(this.reportid);\r\n this.setInitialData();\r\n }\r\n\r\n setInitialData() {\r\n const initialData = this.getReportLastPeriodUpdateData();\r\n this.initialJson = JSON.stringify(initialData);\r\n }\r\n\r\n getReportLastPeriodUpdateData(): ReportLastPeriodUpdateData {\r\n return new ReportLastPeriodUpdateData(\r\n this.makeMemberData(this.unitReport.memberMemberData),\r\n this.makeMemberData(this.unitReport.associateMemberData),\r\n this.makeMemberData(this.unitReport.preliminaryMemberData),\r\n this.makeMemberData(this.unitReport.supporterMemberData),\r\n this.makeUnitOrganizationData(this.unitReport.dawahUnitOrganizationData),\r\n this.makeUnitOrganizationData(this.unitReport.organizationUnitOrganizationData),\r\n this.makeUnitOrganizationData(this.unitReport.ymbUnitOrganizationData),\r\n this.makeUnitOrganizationData(this.unitReport.ymsUnitOrganizationData),\r\n this.makeUnitOrganizationData(this.unitReport.lmUnitOrganizationData),\r\n this.makeFinanceReportData(this.unitReport.baitulMalFinanceData),\r\n this.makeFinanceReportData(this.unitReport.aDayMasjidProjectFinanceData),\r\n this.makeFinanceReportData(this.unitReport.masjidTableBankFinanceData),\r\n this.makeLibraryStockReportData(this.unitReport.bookLibraryStockData),\r\n this.makeLibraryStockReportData(this.unitReport.vhsLibraryStockData),\r\n this.makeLibraryStockReportData(this.unitReport.otherLibraryStockData)\r\n );\r\n }\r\n\r\n save = async () => {\r\n if (!this.isDirty) return;\r\n try {\r\n await this.service.updateReportLastPeriod(this.unitReport.organization.id, this.reportid, this.getReportLastPeriodUpdateData());\r\n } catch (error) {\r\n toastr.error(error, \"Error Saving Report\");\r\n return;\r\n }\r\n this.isSaving = true;\r\n } \r\n\r\n private makeMemberData(original: MemberReportData): MemberReportData {\r\n return new MemberReportData(original.lastPeriod, original.increased, original.decreased, original.comment, original.personalContact);\r\n }\r\n\r\n private makeUnitOrganizationData(original: UnitOrganizationReportData): UnitOrganizationReportData {\r\n return new UnitOrganizationReportData(original.lastPeriod, original.increased, original.decreased, original.comment);\r\n }\r\n\r\n private makeLibraryStockReportData(original: LibraryStockData): LibraryStockReportData {\r\n return new LibraryStockReportData(original.lastPeriod, original.increased, original.decreased, original.comment);\r\n }\r\n\r\n private makeFinanceReportData(original: FinanceData): FinanceReportData {\r\n return new FinanceReportData(original.workerPromiseLastPeriod,\r\n original.lastPeriod,\r\n original.workerPromiseIncreased,\r\n original.workerPromiseDecreased,\r\n original.collection,\r\n original.expense,\r\n original.nisabPaidToCentral,\r\n original.comment);\r\n }\r\n\r\n get isDirty() {\r\n const latestJson = JSON.stringify(this.getReportLastPeriodUpdateData());\r\n return latestJson !== this.initialJson;\r\n }\r\n\r\n async cancelChanges() {\r\n this.isCancelling = true;\r\n await this.loadReport();\r\n this.isCancelling = false;\r\n }\r\n\r\n get canSave() {\r\n return this.isDirty && !this.isCancelling && !this.isSaving;\r\n }\r\n\r\n get canCancel() {\r\n return !this.isCancelling && !this.isSaving;\r\n }\r\n\r\n onUnitReportUpdated = async(id: number) => {\r\n this.isSaving = false;\r\n toastr.success(\"Report Saved\");\r\n await this.loadReport();\r\n }\r\n\r\n onUnitReportUpdateFailed = (e: {$values: string[]}) => {\r\n this.isSaving = false;\r\n toastr.error(e.$values.join(\"\\n\"), \"Error Saving Report\");\r\n }\r\n\r\n get headerData() {\r\n if(!this.unitReport) return undefined;\r\n return new PlanReportHeaderData(\"Unit Report\", this.reportid, this.unitReport.description, this.unitReport.reportStatus, this.unitReport.organization, this.unitReport.reportingPeriod);\r\n }\r\n}\r\n","module.exports = \"\\r\\n\";","import { autoinject } from \"aurelia-framework\";\r\nimport { UnitPlanReportService } from \"services/UnitPlanReportService\";\r\nimport { UnitReportViewModelDto } from \"models/UnitReportViewModelDto\";\r\nimport { ReportStatus } from \"models/ReportStatus\";\r\nimport { PlanReportHeaderData } from \"resources/plan-report-header/PlanReportHeaderData\";\r\nimport { Subscription, EventAggregator } from \"aurelia-event-aggregator\";\r\nimport { UnitReportUpdated } from \"resources/plan-report-header/UnitReportUpdated\";\r\n\r\n@autoinject\r\nexport class UnitReportView {\r\n reportid: number;\r\n unitReport: UnitReportViewModelDto;\r\n isDownloadingList = false;\r\n isDownloadingDetail = false;\r\n subscription: Subscription;\r\n constructor(public service: UnitPlanReportService, public ea?: EventAggregator) {}\r\n\r\n activate(params: {reportid: number}) {\r\n this.reportid = params.reportid;\r\n }\r\n\r\n async attached() {\r\n this.subscription = this.ea.subscribe(UnitReportUpdated, _ => this.loadReport(1));\r\n await this.loadReport(1);\r\n }\r\n\r\n detached() {\r\n this.subscription.dispose();\r\n }\r\n\r\n SingleTimeLastPeriodValuesUpdate(lastPeriodValuesUpdateNeeded: number) {\r\n /*\r\n Calls `updateReportLastPeriodFromModel()` for a single time\r\n when the report status is `Report Not Submitted`.\r\n\r\n `updateReportLastPeriodFromModel()` automatically calls `loadReport()`\r\n which causes the circular calling.\r\n */\r\n if( window.localStorage && lastPeriodValuesUpdateNeeded === 1 && this.unitReport.reportStatus !== ReportStatus.Submitted ) {\r\n if( !window.localStorage.getItem('firstLoad') ) {\r\n this.service.updateReportLastPeriodFromModel(this.reportid);\r\n window.localStorage['firstLoad'] = true;\r\n }\r\n else {\r\n window.localStorage.removeItem('firstLoad');\r\n }\r\n };\r\n }\r\n\r\n async getUnitReport(lastPeriodValuesUpdateNeeded: number) {\r\n this.unitReport = await this.service.getReport(this.reportid);\r\n this.SingleTimeLastPeriodValuesUpdate(lastPeriodValuesUpdateNeeded);\r\n }\r\n\r\n async loadReport(lastPeriodValuesUpdateNeeded: number) {\r\n this.getUnitReport(lastPeriodValuesUpdateNeeded);\r\n }\r\n\r\n get headerData() {\r\n if(!this.unitReport) return undefined;\r\n return new PlanReportHeaderData(\"Unit Report\", this.reportid, this.unitReport.description, this.unitReport.reportStatus, this.unitReport.organization, this.unitReport.reportingPeriod);\r\n }\r\n}\r\n","module.exports = \"\\r\\n\";","import { autoinject } from 'aurelia-framework';\r\nimport { AuthService } from '../../auth-service';\r\n\r\n@autoinject\r\nexport class Welcome {\r\n isAuthenticated = false;\r\n constructor(private auth: AuthService) {\r\n this.isAuthenticated = auth.isAuthenticated;\r\n \r\n auth.authNotifier.addListener('authChange', this.authChangeHandler);\r\n }\r\n\r\n private authChangeHandler(state) {\r\n this.isAuthenticated = state.authenticated;\r\n }\r\n\r\n attached(){\r\n }\r\n}","module.exports = \"\";"],"sourceRoot":""}