{"version":3,"file":"default-ClientApp_app_sdg_services_sdg_service_ts.dae16f91241c236b.js","mappings":"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","sources":["./ClientApp/app/sdg/services/sdg.resources.ts","./ClientApp/app/sdg/services/sdg.service.ts","./ClientApp/app/sdg/services/sdg.state.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { HttpRestService } from '@core/services/http-rest.service';\r\nimport { APIResponse, NonprofitSDGWithTargets, SDGMetadata, SupportsSDG } from '@yourcause/common';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class SdgResources {\r\n\r\n constructor (\r\n private httpRestService: HttpRestService\r\n ) { }\r\n\r\n async getAllSDGInfo () {\r\n const endpoint = 'api/NonprofitInfo/GetAllSDGInfo';\r\n\r\n const response = await this.httpRestService.get>(\r\n endpoint\r\n );\r\n\r\n return response.data;\r\n }\r\n\r\n async updateNonprofitSupportsSDG (payload: SupportsSDG) {\r\n const endpoint = 'api/Nonprofit/SDG/UpdateNonprofitSupportsSDG';\r\n\r\n return this.httpRestService.post>(\r\n endpoint,\r\n payload\r\n );\r\n }\r\n\r\n async updateNonprofitSDGAndTargetsForNonprofit (\r\n payload: NonprofitSDGWithTargets[]\r\n ) {\r\n const endpoint = 'api/Nonprofit/SDG/UpdateNonprofitSDGAndTargetsForNonprofit';\r\n\r\n return this.httpRestService.post>(\r\n endpoint,\r\n payload\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Nonprofit } from '@core/models/npo.model';\r\nimport { AllNonprofitSdgInfoResponse, AllocationTotalObj, NonprofitSDG, NonprofitSdgStateData, NonprofitSDGTarget, NonprofitSDGWithTargets, SDGMetadata, SDGTargetMetadata, SDGValidationScenario, StepValidity, SupportsSDG } from '@yourcause/common';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { NotifierService } from '@yourcause/common/notifier';\r\nimport { AttachYCState, BaseYCService } from '@yourcause/common/state';\r\nimport { uniqBy } from 'lodash';\r\nimport { SdgResources } from './sdg.resources';\r\nimport { SdgState } from './sdg.state';\r\n\r\n@AttachYCState(SdgState)\r\n@Injectable({ providedIn: 'root' })\r\nexport class SdgService extends BaseYCService {\r\n constructor (\r\n private sdgResources: SdgResources,\r\n private i18n: I18nService,\r\n private notifier: NotifierService\r\n ) {\r\n super();\r\n }\r\n\r\n get allSdgInfo (): SDGMetadata[] {\r\n return this.get('allSdgInfo');\r\n }\r\n\r\n get allTargetInfo (): SDGTargetMetadata[] {\r\n return this.get('allTargetInfo');\r\n }\r\n\r\n get activeNpo (): Nonprofit {\r\n return this.get('activeNpo');\r\n }\r\n\r\n get activeNpoInitialSdgs (): NonprofitSDG[] {\r\n return this.get('activeNpoInitialSdgs');\r\n }\r\n\r\n get nonprofitSdgStateData (): NonprofitSdgStateData {\r\n return this.get('nonprofitSdgStateData');\r\n }\r\n\r\n get sdgStepValidity (): StepValidity {\r\n return this.get('sdgStepValidity');\r\n }\r\n\r\n async setAllSdgMetaData () {\r\n const sdgs: SDGMetadata[] = await this.getAllSDGInfo();\r\n this.setAllGoalInfo(sdgs);\r\n this.setAllTargetInfo();\r\n }\r\n\r\n setAllGoalInfo (sdgs: SDGMetadata[]) {\r\n this.set('allSdgInfo', sdgs);\r\n }\r\n\r\n setAllTargetInfo () {\r\n let allTargetArray: SDGTargetMetadata[] = [];\r\n const sdgs = this.allSdgInfo;\r\n sdgs.forEach((sdg) => {\r\n allTargetArray = [\r\n ...allTargetArray,\r\n ...sdg.targets\r\n ];\r\n });\r\n const uniqueArray = uniqBy(allTargetArray, 'id');\r\n this.set('allTargetInfo', uniqueArray);\r\n }\r\n\r\n setActiveNpo (nonprofit: Nonprofit) {\r\n this.set('activeNpo', nonprofit);\r\n }\r\n\r\n setActiveNpoInitialSdgs (sdgs: NonprofitSDG[]) {\r\n const nonprofitSdgsWithNameAndIcon = this.adaptSdgWithNameAndIcon(sdgs);\r\n this.set('activeNpoInitialSdgs', nonprofitSdgsWithNameAndIcon);\r\n }\r\n\r\n adaptSdgWithNameAndIcon (\r\n sdgs: NonprofitSDG[]\r\n ): NonprofitSDG[] {\r\n let nonprofitSdgsWithNameAndIcon: NonprofitSDG[] = [];\r\n if (!!sdgs) {\r\n nonprofitSdgsWithNameAndIcon = sdgs.map((sdg) => {\r\n const name = this.getSdgName(sdg.sdgId);\r\n const iconUrl = this.getIconUrl(\r\n this.allSdgInfo.find((t) => {\r\n return t.id === sdg.sdgId;\r\n })\r\n );\r\n\r\n return {\r\n ...sdg,\r\n name,\r\n iconUrl\r\n };\r\n });\r\n }\r\n\r\n return nonprofitSdgsWithNameAndIcon || [];\r\n }\r\n\r\n setNonprofitSdgStateData (data: NonprofitSdgStateData) {\r\n const nonprofitSdgsWithNameAndIcon = this.adaptSdgWithNameAndIcon(\r\n data.nonprofitSdgStateSdgs\r\n );\r\n this.set('nonprofitSdgStateData', {\r\n ...data,\r\n nonprofitSdgStateSdgs: nonprofitSdgsWithNameAndIcon\r\n });\r\n this.setSdgStepValidity();\r\n }\r\n\r\n setSdgValidationScenario (scenario: SDGValidationScenario) {\r\n this.set('sdgValidationScenario', scenario);\r\n }\r\n\r\n setSdgStepValidity () {\r\n this.set('sdgStepValidity', this.getValidity());\r\n }\r\n\r\n updateNonprofitSdgStateData (attrs: any) {\r\n this.set(\r\n 'nonprofitSdgStateData',\r\n {\r\n ...this.nonprofitSdgStateData,\r\n ...attrs\r\n }\r\n );\r\n this.setSdgStepValidity();\r\n }\r\n\r\n getValidity () {\r\n if (!!this.nonprofitSdgStateData) {\r\n const sdgStateData = this.nonprofitSdgStateData;\r\n const newValidity: StepValidity = {\r\n ...this.sdgStepValidity || {}\r\n };\r\n newValidity[0] = sdgStateData?.supportsSDGVolunteer ||\r\n sdgStateData.supportsSDGGive;\r\n newValidity[1] = sdgStateData?.nonprofitSdgStateSdgs?.length > 0;\r\n const targetsValid = this.checkTargets(sdgStateData);\r\n const allocationTotals = this.allocationTotals(sdgStateData);\r\n const totalsValid = (!sdgStateData.supportsSDGGive || allocationTotals.give === 1) &&\r\n (!sdgStateData.supportsSDGVolunteer || allocationTotals.volunteer === 1);\r\n if (targetsValid && !totalsValid) {\r\n this.setSdgValidationScenario(SDGValidationScenario.NOT_EQUAL_TO_100);\r\n }\r\n newValidity[2] = targetsValid && totalsValid;\r\n newValidity[3] = true;\r\n\r\n return newValidity;\r\n } else {\r\n return {};\r\n }\r\n }\r\n\r\n allocationTotals (\r\n sdgStateData: NonprofitSdgStateData\r\n ): AllocationTotalObj {\r\n let volTotal = 0;\r\n let giveTotal = 0;\r\n\r\n if (sdgStateData?.nonprofitSdgStateSdgs?.length > 0) {\r\n for (const sdg of sdgStateData?.nonprofitSdgStateSdgs) {\r\n if (sdg?.targets?.length > 0) {\r\n for (const target of sdg.targets) {\r\n giveTotal += +target.givePercent;\r\n volTotal += +target.volunteerPercent;\r\n }\r\n } else {\r\n giveTotal += +sdg.givePercent;\r\n volTotal += +sdg.volunteerPercent;\r\n }\r\n }\r\n }\r\n\r\n return {\r\n give: Math.round(giveTotal * 100) / 100 as number,\r\n volunteer: Math.round(volTotal * 100) / 100 as number\r\n };\r\n }\r\n\r\n // Check for givePercent/volunteerPercent based on\r\n // supportsSDGGive/supportsSDGVolunteer value.\r\n // If no targets selected - check 'goal' percentages\r\n // If targets - check target percentages\r\n checkTargets (sdgStateData: NonprofitSdgStateData) {\r\n const stateSdgs = sdgStateData?.nonprofitSdgStateSdgs;\r\n let valid = true;\r\n stateSdgs?.forEach((sdg) => {\r\n if (sdg?.targets?.length < 1) {\r\n if (\r\n sdgStateData.supportsSDGGive &&\r\n !sdgStateData.supportsSDGVolunteer &&\r\n !sdg.givePercent\r\n ) {\r\n valid = false;\r\n this.setSdgValidationScenario(SDGValidationScenario.NO_ZEROES);\r\n } else if (\r\n !sdgStateData.supportsSDGGive &&\r\n sdgStateData.supportsSDGVolunteer &&\r\n !sdg.volunteerPercent\r\n ) {\r\n valid = false;\r\n this.setSdgValidationScenario(SDGValidationScenario.NO_ZEROES);\r\n } else if (\r\n sdgStateData.supportsSDGGive &&\r\n sdgStateData.supportsSDGVolunteer &&\r\n !sdg.givePercent &&\r\n !sdg.volunteerPercent\r\n ) {\r\n valid = false;\r\n this.setSdgValidationScenario(SDGValidationScenario.NO_ZEROES);\r\n }\r\n } else {\r\n sdg.targets.forEach((target) => {\r\n if (\r\n sdgStateData.supportsSDGGive &&\r\n !sdgStateData.supportsSDGVolunteer &&\r\n !target.givePercent\r\n ) {\r\n valid = false;\r\n this.setSdgValidationScenario(SDGValidationScenario.NO_ZEROES);\r\n } else if (\r\n !sdgStateData.supportsSDGGive &&\r\n sdgStateData.supportsSDGVolunteer &&\r\n !target.volunteerPercent\r\n ) {\r\n valid = false;\r\n this.setSdgValidationScenario(SDGValidationScenario.NO_ZEROES);\r\n } else if (\r\n sdgStateData.supportsSDGGive &&\r\n sdgStateData.supportsSDGVolunteer &&\r\n !target.givePercent &&\r\n !target.volunteerPercent\r\n ) {\r\n valid = false;\r\n this.setSdgValidationScenario(SDGValidationScenario.NO_ZEROES);\r\n }\r\n });\r\n }\r\n });\r\n\r\n return valid;\r\n }\r\n\r\n findGoalIndex (goalId: number): number {\r\n const currentSdgGoalsAndTargets: NonprofitSDG[] = this.nonprofitSdgStateData.nonprofitSdgStateSdgs;\r\n\r\n return currentSdgGoalsAndTargets.indexOf(\r\n currentSdgGoalsAndTargets.find((npoSdg) => npoSdg.sdgId === goalId)\r\n );\r\n }\r\n\r\n findTargetIndex (\r\n sdg: NonprofitSDG,\r\n targetId: number\r\n ): number {\r\n return sdg.targets.indexOf(\r\n sdg.targets.find((t) => t.sdgTargetId === targetId)\r\n );\r\n }\r\n\r\n\r\n updateGoalAndTargets (\r\n selectedTargets: NonprofitSDGTarget[],\r\n goalId: number\r\n ) {\r\n const currentSdgGoalsAndTargets: NonprofitSDG[] = this.nonprofitSdgStateData.nonprofitSdgStateSdgs;\r\n const goalIndex = this.findGoalIndex(goalId);\r\n const newTargetArray: NonprofitSDGTarget[] = // from modal select\r\n selectedTargets.map((target) => {\r\n return {\r\n sdgId: goalId,\r\n sdgTargetId: target.sdgTargetId,\r\n target: target.target,\r\n givePercent: 0,\r\n volunteerPercent: 0,\r\n startDate: new Date().toDateString()\r\n };\r\n });\r\n\r\n if (goalIndex === -1) { // if goal doesn't already exist - ADD\r\n this.addSdgGoalAndTargetsToStateData(\r\n goalId,\r\n newTargetArray\r\n );\r\n } else { // if goal exists we need to update with new selected targets\r\n const updatedTargets: NonprofitSDGTarget[] = [\r\n ...newTargetArray\r\n ];\r\n const goalWithUpdatedTargets: NonprofitSDG = {\r\n ...currentSdgGoalsAndTargets[goalIndex],\r\n targets: updatedTargets\r\n };\r\n currentSdgGoalsAndTargets.splice(\r\n goalIndex,\r\n 1,\r\n goalWithUpdatedTargets\r\n );\r\n const allUpdatedGoalsAndTargets: NonprofitSDG[] =\r\n [\r\n ...currentSdgGoalsAndTargets\r\n ];\r\n this.updateNonprofitSdgStateData({\r\n nonprofitSdgStateSdgs: allUpdatedGoalsAndTargets\r\n });\r\n }\r\n }\r\n\r\n addSdgGoalAndTargetsToStateData (\r\n goalId: number,\r\n targetsToAdd?: NonprofitSDGTarget[]\r\n ) {\r\n const currentSdgGoalsAndTargets: NonprofitSDG[] = this.nonprofitSdgStateData.nonprofitSdgStateSdgs;\r\n const name = this.getSdgName(goalId);\r\n const iconUrl = this.getIconUrl(\r\n this.allSdgInfo.find((t) => {\r\n return t.id === goalId;\r\n })\r\n );\r\n const newSdg: NonprofitSDG = {\r\n name,\r\n iconUrl,\r\n targets: targetsToAdd || [],\r\n sdgId: goalId,\r\n givePercent: 0,\r\n volunteerPercent: 0,\r\n startDate: new Date().toDateString()\r\n };\r\n this.updateNonprofitSdgStateData({\r\n nonprofitSdgStateSdgs: [\r\n ...currentSdgGoalsAndTargets,\r\n newSdg\r\n ]\r\n });\r\n }\r\n\r\n removeSdgGoalFromStateData (\r\n goalId: number,\r\n removeAPI = false\r\n ) {\r\n const goalIndex = this.findGoalIndex(goalId);\r\n const currentSdgGoalsAndTargets: NonprofitSDG[] = this.nonprofitSdgStateData.nonprofitSdgStateSdgs;\r\n currentSdgGoalsAndTargets.splice(\r\n goalIndex,\r\n 1\r\n );\r\n const updatedGoals: NonprofitSDG[] = [\r\n ...currentSdgGoalsAndTargets\r\n ];\r\n this.updateNonprofitSdgStateData({\r\n nonprofitSdgStateSdgs: updatedGoals\r\n });\r\n }\r\n\r\n updateSdgPercents (sdgGoal: NonprofitSDG) {\r\n const goalIndex = this.findGoalIndex(sdgGoal.sdgId);\r\n const currentSdgGoalsAndTargets = [\r\n ...this.nonprofitSdgStateData.nonprofitSdgStateSdgs\r\n ];\r\n currentSdgGoalsAndTargets[goalIndex] = {\r\n ...currentSdgGoalsAndTargets[goalIndex],\r\n ...sdgGoal\r\n };\r\n\r\n this.updateNonprofitSdgStateData({\r\n nonprofitSdgStateSdgs: currentSdgGoalsAndTargets\r\n });\r\n }\r\n\r\n updateTargetPercents (sdgTarget: NonprofitSDGTarget) {\r\n const currentSdgGoalsAndTargets: NonprofitSDG[] = this.nonprofitSdgStateData.nonprofitSdgStateSdgs;\r\n\r\n const goalIndex = this.findGoalIndex(sdgTarget.sdgId);\r\n const targetIndex = this.findTargetIndex(\r\n currentSdgGoalsAndTargets[goalIndex],\r\n sdgTarget.sdgTargetId\r\n );\r\n const updatedTarget: NonprofitSDGTarget = {\r\n ...sdgTarget\r\n };\r\n const updatedTargets: NonprofitSDGTarget[] = [\r\n ...currentSdgGoalsAndTargets[goalIndex].targets\r\n ];\r\n updatedTargets[targetIndex] = updatedTarget;\r\n const updatedSdgs = [\r\n ...currentSdgGoalsAndTargets\r\n ];\r\n currentSdgGoalsAndTargets[goalIndex] = {\r\n ...updatedSdgs[goalIndex],\r\n targets: updatedTargets\r\n };\r\n this.updateNonprofitSdgStateData({\r\n nonprofitSdgStateSdgs: currentSdgGoalsAndTargets\r\n });\r\n }\r\n\r\n adaptSdgsPayload (\r\n sdgs: NonprofitSDGWithTargets[]\r\n ): NonprofitSDGWithTargets[] {\r\n return sdgs.map((sdg) => {\r\n const hasTargets = sdg.targets?.length > 0;\r\n let givePercent = +sdg.givePercent;\r\n let volunteerPercent = +sdg.volunteerPercent;\r\n if (hasTargets) {\r\n givePercent = +sdg.targets.reduce((acc, target) => acc + target.givePercent, 0);\r\n volunteerPercent = +sdg.targets.reduce((acc, target) => acc + target.volunteerPercent, 0);\r\n }\r\n\r\n return {\r\n sdgId: sdg.sdgId,\r\n givePercent,\r\n volunteerPercent,\r\n startDate: sdg.startDate,\r\n endDate: sdg.endDate,\r\n targets: sdg.targets.map((target) => {\r\n return {\r\n sdgTargetId: target.sdgTargetId,\r\n target: target.target,\r\n givePercent: +target.givePercent,\r\n volunteerPercent: +target.volunteerPercent,\r\n startDate: target.startDate,\r\n endDate: target.endDate\r\n };\r\n })\r\n };\r\n });\r\n }\r\n\r\n async updateAllNonprofitSdgInfo (\r\n supportsGive: boolean,\r\n supportsVolunteer: boolean,\r\n sdgPayload: NonprofitSDGWithTargets[]\r\n ): Promise {\r\n const adaptedPayload = this.adaptSdgsPayload(sdgPayload);\r\n const supportResponse = await this.updateSupportsSDG({\r\n supportsSDGGive: supportsGive || false,\r\n supportsSDGVolunteer: supportsVolunteer || false\r\n });\r\n const sdgResponse = await this.updateNonprofitSDGAndTargetsForNonprofit(\r\n adaptedPayload\r\n );\r\n\r\n this.setActiveNpoInitialSdgs(sdgResponse);\r\n this.setNonprofitSdgStateData({\r\n nonprofitSdgStateSdgs: sdgResponse,\r\n supportsSDGGive: supportResponse.supportsSDGGive,\r\n supportsSDGVolunteer: supportResponse.supportsSDGVolunteer\r\n });\r\n\r\n return {\r\n nonprofitSDGWithTargets: sdgResponse,\r\n supportInfo: supportResponse\r\n };\r\n }\r\n\r\n async removeAllSdgs () {\r\n await this.updateAllNonprofitSdgInfo(\r\n false,\r\n false,\r\n []\r\n );\r\n }\r\n\r\n// APIs\r\n // Gets all Goal and Target data\r\n async getAllSDGInfo () {\r\n const response = await this.sdgResources.getAllSDGInfo();\r\n\r\n return response;\r\n }\r\n\r\n getIconUrl (sdg: SDGMetadata) {\r\n if (!!sdg) {\r\n const number = sdg.id > 9 ? '' + sdg.id : `0${sdg.id}`;\r\n\r\n return `/assets/img/sdg/icons/${this.i18n.simpleLanguage}/sdg-rgb-${number}.png`;\r\n }\r\n\r\n return '';\r\n }\r\n\r\n getSdgName (id: number) {\r\n return this.allSdgInfo?.find(info => info.id === id)?.goal;\r\n }\r\n\r\n async updateSupportsSDG (\r\n payload: SupportsSDG\r\n ): Promise {\r\n try {\r\n const response = await this.sdgResources.updateNonprofitSupportsSDG(payload);\r\n\r\n return response.data;\r\n } catch (e) {\r\n console.error(e);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async updateNonprofitSDGAndTargetsForNonprofit (\r\n payload: NonprofitSDGWithTargets[]\r\n ) {\r\n try {\r\n const response = await this.sdgResources.updateNonprofitSDGAndTargetsForNonprofit(\r\n payload\r\n );\r\n this.notifier.success(this.i18n.translate(\r\n 'sdgs:notificationSuccessUpdatingSDGs',\r\n {},\r\n 'Successfully updated SDGs'\r\n ));\r\n\r\n return response.data;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'sdgs:notificationErrorUpdatingSdgs',\r\n {},\r\n 'There was an error updating your SDGs'\r\n ));\r\n\r\n return null;\r\n }\r\n }\r\n}\r\n","import { Nonprofit } from '@core/models/npo.model';\r\nimport { NonprofitSDG, NonprofitSdgStateData, SDGMetadata, SDGTargetMetadata, SDGValidationScenario, StepValidity, SupportsSDG } from '@yourcause/common';\r\nimport { BaseYcState, RegisterYCState } from '@yourcause/common/state';\r\nimport { CachedAttr, CACHE_TYPES } from '../../../lib/Cache';\r\n\r\n@RegisterYCState()\r\nexport class SdgState extends BaseYcState {\r\n\r\n @CachedAttr(CACHE_TYPES.SESSION, [])\r\n readonly allSdgInfo: SDGMetadata[];\r\n readonly allTargetInfo: SDGTargetMetadata[];\r\n readonly activeNpo: Nonprofit;\r\n readonly activeNpoInitialSdgs: NonprofitSDG[];\r\n readonly nonprofitSdgStateData: NonprofitSdgStateData;\r\n readonly supportsSdgValues: SupportsSDG;\r\n readonly sdgValidationScenario: SDGValidationScenario;\r\n readonly sdgStepValidity: StepValidity;\r\n}\r\n"],"names":["HttpRestService","SdgResources","constructor","httpRestService","getAllSDGInfo","_this","_asyncToGenerator","endpoint","response","get","data","updateNonprofitSupportsSDG","payload","_this2","post","updateNonprofitSDGAndTargetsForNonprofit","_this3","_","i0","ɵɵinject","i1","_2","factory","ɵfac","providedIn","SDGValidationScenario","I18nService","NotifierService","AttachYCState","BaseYCService","uniqBy","SdgState","SdgService","sdgResources","i18n","notifier","allSdgInfo","allTargetInfo","activeNpo","activeNpoInitialSdgs","nonprofitSdgStateData","sdgStepValidity","setAllSdgMetaData","sdgs","setAllGoalInfo","setAllTargetInfo","set","allTargetArray","forEach","sdg","targets","uniqueArray","setActiveNpo","nonprofit","setActiveNpoInitialSdgs","nonprofitSdgsWithNameAndIcon","adaptSdgWithNameAndIcon","map","name","getSdgName","sdgId","iconUrl","getIconUrl","find","t","id","setNonprofitSdgStateData","nonprofitSdgStateSdgs","setSdgStepValidity","setSdgValidationScenario","scenario","getValidity","updateNonprofitSdgStateData","attrs","sdgStateData","newValidity","supportsSDGVolunteer","supportsSDGGive","length","targetsValid","checkTargets","allocationTotals","totalsValid","give","volunteer","NOT_EQUAL_TO_100","volTotal","giveTotal","target","givePercent","volunteerPercent","Math","round","stateSdgs","valid","NO_ZEROES","findGoalIndex","goalId","currentSdgGoalsAndTargets","indexOf","npoSdg","findTargetIndex","targetId","sdgTargetId","updateGoalAndTargets","selectedTargets","goalIndex","newTargetArray","startDate","Date","toDateString","addSdgGoalAndTargetsToStateData","updatedTargets","goalWithUpdatedTargets","splice","allUpdatedGoalsAndTargets","targetsToAdd","newSdg","removeSdgGoalFromStateData","removeAPI","updatedGoals","updateSdgPercents","sdgGoal","updateTargetPercents","sdgTarget","targetIndex","updatedTarget","updatedSdgs","adaptSdgsPayload","hasTargets","reduce","acc","endDate","updateAllNonprofitSdgInfo","supportsGive","supportsVolunteer","sdgPayload","adaptedPayload","supportResponse","updateSupportsSDG","sdgResponse","nonprofitSDGWithTargets","supportInfo","removeAllSdgs","_this4","number","simpleLanguage","info","goal","_this5","e","console","error","_this6","success","translate","i2","i3","__decorate","BaseYcState","RegisterYCState","CachedAttr","CACHE_TYPES","SESSION"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}