{"version":3,"file":"738.4f11194b4db30990.js","mappings":"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","names":["RequiredRolePipe","transform","user","roles","show","userRoles","map","name","toUpperCase","typeRoles","forEach","role","includes","static","this","t","_angular_core__WEBPACK_IMPORTED_MODULE_0__","Yjl","pure","i0","f_r6","description","field_r18","ctx_r19","form","FormStepperComponent_fieldset_4_div_1_div_6_div_1_div_1_Template","fieldType","tmp_1_0","cssClass","undefined","control","ctx_r17","shouldBeDisplayed","FormStepperComponent_fieldset_4_div_1_div_6_div_1_Template","ctx_r11","config","_r23","ctx_r22","nextStep","ctx_r13","submitDisabled","submitButtonLabel","ctx_r14","ctx_r15","FormStepperComponent_fieldset_4_div_1_div_4_Template","FormStepperComponent_fieldset_4_div_1_div_6_Template","_r25","ctx_r24","prevStep","FormStepperComponent_fieldset_4_div_1_button_13_Template","FormStepperComponent_fieldset_4_div_1_button_14_Template","FormStepperComponent_fieldset_4_div_1_button_15_Template","FormStepperComponent_fieldset_4_div_1_div_16_Template","state_r9","active","title","ctx_r8","length","activeStep","fieldIndex_r7","fieldsets","showSubmit","hasEdit","FormStepperComponent_fieldset_4_div_1_Template","ctx_r1","fieldsetStates","ctx_r27","inputErrorMessage","defaultFormConfig","genericInputErrorMessage","ctx_r28","serverErrorMessage","genericServerErrorMessage","FormStepperComponent_ng_container_6_div_1_Template","FormStepperComponent_ng_container_6_div_2_Template","ctx_r2","triedSubmit","valid","serverError","ctx_r3","getRawValue","ctx_r4","stepsTitle","i_r30","text_r40","FormStepperComponent_li_15_button_1_ng_container_10_span_1_Template","state_r32","statusText","_r43","f_r29","$implicit","ctx_r42","validateStep","goToSection","FormStepperComponent_li_15_button_1_app_icon_3_Template","FormStepperComponent_li_15_button_1_app_icon_4_Template","FormStepperComponent_li_15_button_1_app_icon_5_Template","FormStepperComponent_li_15_button_1_span_6_Template","FormStepperComponent_li_15_button_1_ng_container_10_Template","touched","FormStepperComponent_li_15_button_1_Template","ctx_r5","FormStepperComponent","FormComponent","constructor","fb","cd","super","validateStepsOnInit","stepChange","EventEmitter","ngAfterContentInit","reduce","ac","a","i","fieldsetData","fieldset","configs","filter","controls","Object","fromEntries","markAllAsTouched","updateValueAndValidity","detectChanges","onSubmit","formSubmit","emit","value","validateAllSteps","f","validate","markForCheck","invalidFields","keys","key","markAsTouched","markAsDirty","invalid","setFieldsetErrortext","fieldsetName","formEl","nativeElement","window","scroll","top","offsetTop","behavior","activeFieldsetState","label","join","i1","DynamicFormConfigService","Xpm","selectors","viewQuery","rf","ctx","FormStepperComponent_fieldset_4_Template","FormStepperComponent_ng_container_6_Template","FormStepperComponent_pre_9_Template","FormStepperComponent_h2_13_Template","FormStepperComponent_li_15_Template","showValidation","appearance","showAlerts","debug","InitiativeDetailGuard","store","canActivate","checkStore","pipe","switchMap","of","catchError","select","fromStore","withLatestFrom","fromRoot","tap","loaded","loading","nav","dispatch","LoadLikes","id","state","params","initiativeId","take","core","Yz7","factory","ɵfac","providedIn","MyInitiativesGuard","count","VoteComponent_div_7_span_1_ng_container_1_Template","VoteComponent_div_7_span_1_ng_container_2_Template","VoteComponent_div_7_span_1_Template","_r6","vote","ctx_r0","text","likeButtonLabel","ctx_r7","resultText","VoteComponent_section_8_ng_container_12_Template","VoteComponent_section_8_ng_container_13_Template","resultTitle","VoteComponent","voteCount","isVoted","inputs","outputs","decls","vars","consts","template","VoteComponent_div_7_Template","VoteComponent_section_8_Template","tmp_0_0","EventTeaserCardComponent","linkToContent","linkText","contentTypeText","comingSoonText","image","subtitle","date","previewPlaceholder$","_c0","initiative_r1","_c1","theme_r22","slug","icon","locations","InitiativeDetailComponent_article_0_section_15_ng_container_4_ng_container_5_Template","InitiativeDetailComponent_article_0_section_15_ng_container_4_ng_container_6_Template","entireArea","lat","lng","_c2","InitiativeDetailComponent_article_0_section_15_li_2_Template","InitiativeDetailComponent_article_0_section_15_ng_container_4_Template","InitiativeDetailComponent_article_0_section_15_a_5_Template","themes","caption","InitiativeDetailComponent_article_0_figure_16_figcaption_4_Template","_c3","tmp_4_0","alt","_c4","intro","InitiativeDetailComponent_article_0_figure_20_figcaption_4_Template","_c5","latestEvent_r40","url","start","InitiativeDetailComponent_article_0_div_21_ng_container_1_ng_container_1_Template","events_r38","latestStory_r43","InitiativeDetailComponent_article_0_div_21_ng_container_3_ng_container_1_Template","stories_r41","InitiativeDetailComponent_article_0_div_21_ng_container_1_Template","InitiativeDetailComponent_article_0_div_21_ng_container_3_Template","ctx_r10","relatedEvents$","relatedStories$","_c6","contact","tmp_2_0","email","tmp_5_0","logo","relatedContent_r47","InitiativeDetailComponent_article_0_div_30_div_1_app_related_content_1_Template","InitiativeDetailComponent_article_0_div_30_div_1_Template","relatedContent$","stories_r52","InitiativeDetailComponent_article_0_ng_container_32_div_1_app_related_stories_3_Template","InitiativeDetailComponent_article_0_ng_container_32_div_1_Template","relatedEvents_r57","InitiativeDetailComponent_article_0_div_34_div_1_app_related_events_1_Template","InitiativeDetailComponent_article_0_div_34_div_1_Template","relatedInitiatives_r62","InitiativeDetailComponent_article_0_div_44_div_1_app_related_initiatives_1_Template","InitiativeDetailComponent_article_0_div_44_div_1_Template","ctx_r16","relatedInitiatives$","InitiativeDetailComponent_article_0_app_breadcrumbs_4_Template","InitiativeDetailComponent_article_0_div_7_Template","InitiativeDetailComponent_article_0_ng_container_8_Template","InitiativeDetailComponent_article_0_strong_12_Template","InitiativeDetailComponent_article_0_section_15_Template","InitiativeDetailComponent_article_0_figure_16_Template","InitiativeDetailComponent_article_0_p_18_Template","InitiativeDetailComponent_article_0_figure_20_Template","InitiativeDetailComponent_article_0_div_21_Template","InitiativeDetailComponent_article_0_app_content_meta_info_28_Template","InitiativeDetailComponent_article_0_div_29_Template","InitiativeDetailComponent_article_0_div_30_Template","InitiativeDetailComponent_article_0_ng_container_32_Template","InitiativeDetailComponent_article_0_div_34_Template","_r66","ngIf","ctx_r65","like","InitiativeDetailComponent_article_0_div_44_Template","breadcrumbs$","publish","createdById","user$","_c7","hasRelated$","_c8","tmp_11_0","cookiePreferences$","showContactOnPlatform","tmp_14_0","tmp_15_0","tmp_16_0","tmp_20_0","likes$","tmp_21_0","liked$","tmp_22_0","InitiativeDetailComponent","activatedRoute","lang","dict","FromDictionaryPipe","ngOnInit","initiative$","getSelectedInitiative","getAllRelatedInitiatives","getAllRelatedEvents","getAllRelatedStories","relatedStoriesLoaded$","getRelatedStoriesLoaded","getAllRelatedContent","getCookiePreferences","getSelectedContentLikes","getSelectedContentLiked","combineLatest","events","stories","getUser","routerLink","LikeContent","i2","i3","InitiativeDetailComponent_article_0_Template","error_r7","initiative_r8","_r10","ctx_r9","deleteInitiative","$event","_r12","handleSubmit","InitiativeFormComponent_div_13_app_alert_7_Template","InitiativeFormComponent_div_13_button_16_Template","formFields_r4","tmp_3_0","prefix","formLoading$","formError$","InitiativeFormComponent","dialog","formLoaded$","editMode","toolbarOptions","header","list","navActions","theme","usr$","getInitiativeSaving","getInitiativeSaved","themes$","getOrderedThemes","isNew$","Initiative","formFields$","getRouterState","usr","initiative","router","indexOf","SetTitle","introLength","validators","order","inputType","Validators","required","placeholder","maxLength","hint","toolbar","accept","acceptHint","imageAltText","phone","checkboxLabel","selectOptions","crumbs","data","initiativeData","imageCaption","contactImage","contactLogo","contactImageAltText","contactName","contactEmail","contactPhone","update","UpdateInitiative","CreateInitiative","ngOnDestroy","_this","_asyncToGenerator","dialogRefForm","open","ConfirmComponent","maxHeight","width","maxWidth","message","disableClose","firstValueFrom","afterClosed","DeleteInitiative","i4","InitiativeFormComponent_span_6_Template","InitiativeFormComponent_span_8_Template","InitiativeFormComponent_app_alert_12_Template","InitiativeFormComponent_div_13_Template","Call2ActionInitiativeComponent","filtersLoading","sortItem_r13","ctx_r6","geoErrorLabel","error_r14","code","InitiativesOverviewComponent_ng_container_1_ng_container_32_li_4_Template","initiative_r15","geoLocation$","i_r16","_r21","ctx_r20","loadMore","InitiativesOverviewComponent_ng_container_1_ng_container_34_button_2_Template","page_r18","resultCount","initiatives_r1","InitiativesOverviewComponent_ng_container_1_ng_container_37_div_1_Template","page_r24","InitiativesOverviewComponent_ng_container_1_app_theme_filters_11_Template","InitiativesOverviewComponent_ng_container_1_mat_option_19_Template","InitiativesOverviewComponent_ng_container_1_app_icon_20_Template","InitiativesOverviewComponent_ng_container_1_app_icon_22_Template","InitiativesOverviewComponent_ng_container_1_div_24_Template","InitiativesOverviewComponent_ng_container_1_li_30_Template","InitiativesOverviewComponent_ng_container_1_ng_container_32_Template","InitiativesOverviewComponent_ng_container_1_li_33_Template","InitiativesOverviewComponent_ng_container_1_ng_container_34_Template","InitiativesOverviewComponent_ng_container_1_ng_container_37_Template","sortForm","sortOptions","sortLoaded","geoLocationError$","initiativesLoading$","trackByFn","page$","InitiativesOverviewComponent","group","orderBy","_unsubscribe","Subject","GeolocationPositionErrorLabels","initiatives$","getOrderedInitiatives","getInitiativesLoading","getInitiativesPage","getGeoLocationPosition","getGeoLocationError","SetCanonical","SetTags","properties","StringUtility","Truncate","StripHTML","valueChanges","takeUntil","subscribe","setSortOrder","index","item","LoadMoreInitiatives","e","RequestGeoLocation","getGeoLocationLoaded","SetSortOrder","LoadInitiatives","skip","next","complete","InitiativesOverviewComponent_ng_container_1_Template","trigger","CardGridAnimation","changeDetection","InitiativeDetailMetaGuard","getDictionaryLoaded","page","dictLoaded","canonical","SetStructuredData","mainEntitiyOfPage","headline","author","publisher","datePublished","createdOn","routes","path","component","pathMatch","InitiativesOverviewGuard","canDeactivate","currentRoute","currentState","nextState","checkDeactivate","current","queryParams","thema","currentPage","filters","pageSize","ThemesGuard","runGuardsAndResolvers","AuthGuard","RelatedStoriesGuard","RelatedInitiativesGuard","RelatedEventsGuard","RelatedContentGuard","InitiativesRoutingModule","oAB","cJS","RouterModule","forChild","InitiativesModule","CommonModule","DynamicFormModule","ReactiveFormsModule","CoreModule","DictionaryNgrxModule","MatLegacySnackBarModule","MatDialogModule","MatProgressSpinnerModule","ThemesModule","AuthModule","FormModule","ContentModule","MatIconModule","ImageModule","StoreModule","forFeature","metaReducers","EffectsModule","TextUtilityModule","CookieNgrxModule","InViewModule","HttpClientModule","HttpClientJsonpModule","GeoLocationModule","MatFormFieldModule","MatSelectModule","LikesModule","ContentSliderModule","DynamicHooksModule","ThemeFiltersComponent","LoadInitiative","createAction","props","LoadInitiativeSuccess","LoadInitiativeFail","LoadInitiativesSuccess","LoadInitiativesFail","LoadMoreInitiativesSuccess","UpdateInitiativeSuccess","UpdateInitiativeFail","CreateInitiativeSuccess","CreateInitiativeFail","DeleteInitiativeSuccess","DeleteInitiativeFail","ClearInitiatives","LikeInitiative","LikeInitiativeSuccess","LikeInitiativeFail","initialState","entities","sortOrder","pageCount","saved","saving","InitiativeReducer","createReducer","on","InitiativeActions","mineLoaded","initiatives","utility","items","error","entity","likes","removed","LoadMyInitiatives","LoadMyInitiativesSuccess","LoadMyInitiativesFail","MyInitiativeReducer","featureKey","reducers","fromInitiative","myInitiatives","fromMyInitiatives","getInitiativesState","createFeatureSelector","getInitiativeState","createSelector","fromFeature","getInitiativesEntities","getAllInitiatives","getInitiativesLoaded","getInitiativesSortOrder","position","sort","b","featured","Date","p","aLoc","findNearest","latitude","coords","longitude","bLoc","getDistance","getMyInitiatives","fromAuth","getSelectedInitiativeLoaded","c","getSelectedInitiativeLoading","getMyInitiativeState","getMyInitiativesEntities","getAllMyInitiatives","getMyInitiativesLoaded","getMyOrderedInitiatives","getMyInitiativesLoading","InitiativesService","http","BASE_URL","getInitiatives","get","getInitiative","getRelatedInitiatives","createInitiative","formData","FormData","append","toString","Blob","location","post","updateInitiative","_buildInitiativeFormData","put","delete","likeInitiative","effects","InitiativesEffects","actions$","service","sb","LoadInitiative$","createEffect","ofType","actions","LoadInitiatives$","pos","LoadMoreInitiatives$","pagedata","CreateInitiative$","UpdateInitiative$","DeleteInitiative$","updateInitiativeSuccess$","Go","createInitiativeSuccess$","deleteInitiativeSuccess$","LikeInitiative$","LoadByIdFail$","status","extras","skipLocationChange","i5","MyInitiativesEffects","LoadMyInitiatives$"],"sourceRoot":"webpack:///","sources":["./src/app/auth/pipes/role.pipe.ts","./src/app/form/components/form-stepper/form-stepper.component.html","./src/app/form/components/form-stepper/form-stepper.component.ts","./src/app/initiatives/guards/initiative-detail.guard.ts","./src/app/initiatives/guards/my-initiatives.guard.ts","./src/app/likes/components/vote/vote.component.html","./src/app/likes/components/vote/vote.component.ts","./src/app/initiatives/components/event-teaser-card/event-teaser-card.component.ts","./src/app/initiatives/components/event-teaser-card/event-teaser-card.component.html","./src/app/initiatives/containers/initiative-detail/initiative-detail.component.html","./src/app/initiatives/containers/initiative-detail/initiative-detail.component.ts","./src/app/initiatives/containers/initiative-form/initiative-form.component.html","./src/app/initiatives/containers/initiative-form/initiative-form.component.ts","./src/app/initiatives/components/call2-action-initiative/call2-action-initiative.component.ts","./src/app/initiatives/components/call2-action-initiative/call2-action-initiative.component.html","./src/app/initiatives/containers/initiatives-overview/initiatives-overview.component.html","./src/app/initiatives/containers/initiatives-overview/initiatives-overview.component.ts","./src/app/initiatives/guards/initiatives-detail-meta.guard.ts","./src/app/initiatives/initiatives-routing.module.ts","./src/app/initiatives/guards/initiatives.guard.ts","./src/app/initiatives/initiatives.module.ts","./src/app/initiatives/store/actions/initiatives.action.ts","./src/app/initiatives/store/reducers/initiatives.reducer.ts","./src/app/initiatives/store/actions/my-initiatives.action.ts","./src/app/initiatives/store/reducers/my-initiatives.reducer.ts","./src/app/initiatives/store/reducers/index.ts","./src/app/initiatives/store/selectors/initiatives.selector.ts","./src/app/initiatives/store/selectors/my-initiatives.selector.ts","./src/app/initiatives/services/initiatives.service.ts","./src/app/initiatives/store/effects/index.ts","./src/app/initiatives/store/effects/initiatives.effect.ts","./src/app/initiatives/store/effects/my-initiatives.effect.ts"],"sourcesContent":["/***\r\n * Example:\r\n * user$ | async | requiredRole:'HR'\r\n * ***/\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\nimport { Profile } from '../models';\r\n\r\n@Pipe({\r\n name: 'requiredRole',\r\n})\r\nexport class RequiredRolePipe implements PipeTransform {\r\n transform(user: Profile | null | undefined, roles: string[] = []): boolean {\r\n if (!user) {\r\n return false;\r\n }\r\n let show = false;\r\n const userRoles = user.roles.map(name => name.toUpperCase());\r\n const typeRoles = roles.map(name => name.toUpperCase());\r\n\r\n typeRoles.forEach(role => {\r\n const check = userRoles.includes(role);\r\n if (check) {\r\n show = true;\r\n return;\r\n }\r\n });\r\n\r\n return show;\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {{ f.title || f.name }}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n Vorige\r\n \r\n \r\n Volgende\r\n \r\n \r\n\r\n \r\n {{ submitButtonLabel }}\r\n \r\n\r\n 1 && fieldIndex + 1 >= fieldsets.length && showSubmit && hasEdit\"\r\n class=\"button button--primary ms-auto me-0\"\r\n type=\"submit\"\r\n [disabled]=\"submitDisabled\"\r\n >\r\n {{ submitButtonLabel }}\r\n \r\n
\r\n 1 && fieldIndex + 1 < fieldsets.length && showSubmit && hasEdit\"\r\n >\r\n {{ 'form-stepper-opslaan' | fromDictionary }}\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n {{ inputErrorMessage || defaultFormConfig.genericInputErrorMessage }}\r\n
\r\n\r\n
\r\n {{ serverErrorMessage || defaultFormConfig.genericServerErrorMessage }}\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n
\r\n \r\n\r\n
\r\n      {{ form.getRawValue() | json }}\r\n    
\r\n \r\n
\r\n \r\n\r\n \r\n\r\n \r\n
\r\n\r\n","import {\r\n AfterContentInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Inject,\r\n Input,\r\n OnInit,\r\n Output,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { AbstractControl, UntypedFormBuilder } from '@angular/forms';\r\nimport { DynamicFormConfig, DynamicFormConfigService, DynamicFormField, FormComponent } from '@teamfoster/sdk/legacy-dynamic-form';\r\n\r\ninterface FieldsetState {\r\n name: string;\r\n statusText: string | null;\r\n touched: boolean;\r\n active: boolean;\r\n valid: boolean;\r\n}\r\n\r\ninterface FieldsetData {\r\n name: string;\r\n controls: {\r\n [k: string]: {\r\n control: AbstractControl;\r\n config: DynamicFormField;\r\n };\r\n };\r\n [key: string]: any;\r\n}\r\n@Component({\r\n selector: 'app-form-stepper',\r\n templateUrl: './form-stepper.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class FormStepperComponent extends FormComponent implements OnInit, AfterContentInit {\r\n @Input() stepsTitle: string = 'Stappen'; // dictionary\r\n @Input() override fieldsets!: {\r\n name: string;\r\n title?: string | undefined;\r\n collapsed?: boolean | undefined;\r\n description?: string;\r\n }[];\r\n @Input() hasEdit = false;\r\n @Input() activeStep: number = 0;\r\n @Input() submitDisabled: boolean = false;\r\n @Input() validateStepsOnInit: boolean = false;\r\n\r\n @Output() stepChange = new EventEmitter();\r\n\r\n fieldsetStates!: {\r\n [key: string]: FieldsetState;\r\n };\r\n\r\n fieldsetData?: FieldsetData[];\r\n\r\n @ViewChild('formEl') formEl: ElementRef | undefined;\r\n\r\n constructor(\r\n fb: UntypedFormBuilder,\r\n cd: ChangeDetectorRef,\r\n @Inject(DynamicFormConfigService)\r\n defaultFormConfig: DynamicFormConfig\r\n ) {\r\n // {\r\n super(fb, cd, defaultFormConfig);\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n // init fieldstates\r\n this.fieldsetStates = this.fieldsets.reduce(\r\n (ac, a, i) => ({\r\n ...ac,\r\n [a.name]: {\r\n name: a.name,\r\n statusText: null,\r\n touched: this.validateStepsOnInit,\r\n valid: false,\r\n active: i === this.activeStep,\r\n },\r\n }),\r\n {}\r\n );\r\n\r\n // Save which (field) controls and configs are in the fieldsets\r\n this.fieldsetData = this.fieldsets.map(fieldset => {\r\n const configs = this.config.filter(a => a.fieldset === fieldset.name);\r\n const controls = Object.fromEntries(\r\n configs\r\n .filter(config => config.name in this.form.controls) // line can be removed to make it inclusive\r\n //.map(b => ({control: b, label: ''}))\r\n .map(config => [config.name, { control: this.form.controls[config.name], config }])\r\n );\r\n\r\n return {\r\n controls: controls,\r\n ...fieldset,\r\n };\r\n });\r\n\r\n if (this.validateStepsOnInit) {\r\n this.form.markAllAsTouched();\r\n this.form.updateValueAndValidity();\r\n this.validateStep(true);\r\n }\r\n\r\n this.cd.detectChanges();\r\n }\r\n\r\n override onSubmit() {\r\n this.triedSubmit = true;\r\n this.form.markAllAsTouched();\r\n this.validateStep(true);\r\n\r\n if (this.form.valid) {\r\n this.formSubmit.emit(this.form.value);\r\n }\r\n }\r\n\r\n validateStep(validateAllSteps: boolean = false) {\r\n if (validateAllSteps) {\r\n this.fieldsetData?.forEach(f => {\r\n this.validate(f);\r\n this.fieldsetStates[f.name].touched = true;\r\n });\r\n } else {\r\n this.validate(this.fieldsetData![this.activeStep]);\r\n }\r\n\r\n this.cd.markForCheck();\r\n this.cd.detectChanges();\r\n }\r\n\r\n validate(f: FieldsetData) {\r\n const invalidFields = Object.keys(f.controls).filter(key => {\r\n f.controls[key].control.markAsTouched();\r\n f.controls[key].control.markAsDirty();\r\n f.controls[key].control.updateValueAndValidity();\r\n return f.controls[key].control.invalid;\r\n });\r\n this.fieldsetStates[f.name].valid = !invalidFields.length;\r\n this.setFieldsetErrortext(this.fieldsetStates[f.name], invalidFields, f);\r\n }\r\n\r\n goToSection(fieldsetName: string) {\r\n // scroll to top position\r\n if (this.formEl && this.formEl.nativeElement) {\r\n const scrollTop = this.formEl.nativeElement.offsetTop - 100;\r\n\r\n window.scroll({\r\n top: scrollTop,\r\n behavior: 'smooth',\r\n });\r\n }\r\n\r\n const currentActiveName = this.fieldsets[this.activeStep].name;\r\n this.fieldsetStates[currentActiveName].touched = true;\r\n\r\n Object.keys(this.fieldsetStates).forEach((a, i) => {\r\n if (a === fieldsetName) {\r\n this.activeStep = i;\r\n this.fieldsetStates[a].active = true;\r\n } else {\r\n this.fieldsetStates[a].active = false;\r\n }\r\n });\r\n\r\n this.stepChange.emit(this.activeStep);\r\n\r\n this.cd.detectChanges();\r\n }\r\n\r\n nextStep() {\r\n this.validateStep();\r\n\r\n if (this.activeStep < this.fieldsets.length) {\r\n this.activeStep += 1;\r\n this.goToSection(this.fieldsets[this.activeStep].name);\r\n }\r\n\r\n this.stepChange.emit(this.activeStep);\r\n }\r\n\r\n prevStep() {\r\n this.validateStep();\r\n\r\n if (this.activeStep > 0) {\r\n this.activeStep -= 1;\r\n this.goToSection(this.fieldsets[this.activeStep].name);\r\n }\r\n\r\n this.stepChange.emit(this.activeStep);\r\n }\r\n\r\n setFieldsetErrortext(activeFieldsetState: FieldsetState, invalidFields: string[], fieldset: FieldsetData) {\r\n if (invalidFields.length) {\r\n if (invalidFields.length < 3) {\r\n activeFieldsetState.statusText = `Velden niet correct gevuld: ${invalidFields\r\n .map(a => fieldset.controls[a].config.label)\r\n .join(', ')}`;\r\n } else {\r\n activeFieldsetState.statusText = `${invalidFields.length} velden niet correct gevuld`;\r\n }\r\n } else {\r\n activeFieldsetState.statusText = '';\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { Store } from '@ngrx/store';\r\nimport { tap, filter, take, switchMap, catchError, map, withLatestFrom } from 'rxjs/operators';\r\nimport * as fromStore from '../store';\r\nimport * as fromRoot from '../../store';\r\nimport { Observable, of } from 'rxjs';\r\nimport { LoadLikes } from 'src/app/likes/store';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class InitiativeDetailGuard {\r\n constructor(private store: Store) {}\r\n\r\n canActivate(): Observable {\r\n return this.checkStore().pipe(\r\n switchMap(() => of(true)),\r\n catchError(() => of(false))\r\n );\r\n }\r\n\r\n checkStore(): Observable {\r\n return this.store.select(fromStore.getSelectedInitiativeLoaded).pipe(\r\n withLatestFrom(this.store.select(fromStore.getSelectedInitiativeLoading), this.store.select(fromRoot.getRouterState)),\r\n tap(([loaded, loading, nav]) => {\r\n this.store.dispatch(LoadLikes({ id: nav.state.params['initiativeId'] }));\r\n\r\n if (!loaded && !loading) {\r\n this.store.dispatch(fromStore.LoadInitiative({ id: nav.state.params['initiativeId'] }));\r\n }\r\n }),\r\n map(([loaded, loading, nav]) => loaded ?? false),\r\n filter(loaded => loaded),\r\n take(1)\r\n );\r\n }\r\n}\r\n","import { Component, Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree } from '@angular/router';\r\n\r\nimport { Store } from '@ngrx/store';\r\nimport { tap, filter, take, switchMap, catchError, withLatestFrom, map } from 'rxjs/operators';\r\n\r\nimport * as fromStore from '../store';\r\nimport * as fromRoot from '../../store';\r\nimport { Observable, of } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class MyInitiativesGuard {\r\n constructor(private store: Store) {}\r\n\r\n canActivate(): Observable {\r\n return this.checkStore().pipe(\r\n switchMap(() => of(true)),\r\n catchError(() => of(false))\r\n );\r\n }\r\n\r\n checkStore(): Observable {\r\n return this.store.select(fromStore.getMyInitiativesLoaded).pipe(\r\n tap(loaded => {\r\n if (!loaded) {\r\n this.store.dispatch(fromStore.LoadMyInitiatives());\r\n }\r\n }),\r\n filter(loaded => loaded),\r\n take(1)\r\n );\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

{{ title ?? ('stemmen-default-titel' | fromDictionary) }}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{ count + ' ' + ('stemmen-default-subtitel-enkelvoud' | fromDictionary) }}\r\n 1\">{{ count + ' ' + ('stemmen-default-subtitel' | fromDictionary) }}\r\n \r\n

{{ text || ('stemmen-default-text' | fromDictionary) }}

\r\n \r\n
\r\n\r\n
\r\n

\r\n {{ resultTitle || ('stemmen-default-resultaat-titel' | fromDictionary) }}\r\n \r\n

\r\n
\r\n
\r\n

{{ count }}

\r\n \r\n
\r\n
\r\n

\r\n \r\n {{ resultText || ('stemmen-default-resultaat-tekst-enkelvoud' | fromDictionary) }}\r\n \r\n 1\">{{ resultText || ('stemmen-default-resultaat-tekst' | fromDictionary) }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-vote',\r\n templateUrl: './vote.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class VoteComponent {\r\n @Input() voteCount: number = 0;\r\n @Input() isVoted: boolean = false;\r\n\r\n @Input() title?: string;\r\n @Input() text?: string;\r\n @Input() likeButtonLabel?: string;\r\n\r\n @Input() resultTitle?: string;\r\n @Input() resultText?: string;\r\n\r\n @Output() vote = new EventEmitter();\r\n\r\n get count() {\r\n // fix cache on your own vote\r\n return this.voteCount ? this.voteCount : this.isVoted ? 1 : 0;\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { Image } from 'src/app/core/models';\r\n\r\n@Component({\r\n selector: 'app-event-teaser-card',\r\n templateUrl: './event-teaser-card.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class EventTeaserCardComponent {\r\n @Input() linkToContent!: string | string[];\r\n @Input() linkText!: string;\r\n @Input() contentTypeText!: string;\r\n @Input() comingSoonText!: string;\r\n @Input() image!: Image;\r\n @Input() title!: string;\r\n @Input() subtitle!: string;\r\n @Input() date!: Date | string;\r\n}\r\n","\r\n","
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n

Je bent eigenaar van dit initatief

\r\n \r\n {{ 'initiatief-bewerk-knop-label' | fromDictionary }}\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n {{ initiative.subtitle }}\r\n \r\n

{{ initiative.title }}

\r\n
\r\n
    \r\n
  • \r\n \r\n \r\n \r\n
  • \r\n
  • \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ initiative.locations?.[0]?.label || ('bekijk-op-kaart' | fromDictionary) }}\r\n \r\n {{ 'gehele-ijssel' | fromDictionary }}\r\n \r\n \r\n \r\n 1\"\r\n class=\"d-inline-flex align-items-center\"\r\n [routerLink]=\"['.']\"\r\n fragment=\"praktische-informatie\"\r\n >\r\n \r\n \r\n \r\n {{ 'bekijk-locaties' | fromDictionary }}\r\n \r\n
  • \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n © {{ ('foto-credits-prefix' | fromDictionary) + initiative.image.caption }}\r\n
\r\n \r\n\r\n
\r\n

\r\n {{ initiative.intro }}\r\n

\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Store } from '@ngrx/store';\r\nimport { CookiePreferences, getCookiePreferences } from '@teamfoster/sdk/cookie-ngrx';\r\nimport { FromDictionaryPipe, LanguageService } from '@teamfoster/sdk/dictionary-ngrx';\r\nimport { combineLatest, map, Observable, take, tap } from 'rxjs';\r\nimport { Profile } from 'src/app/auth/models';\r\nimport { getUser } from 'src/app/auth/store';\r\nimport {\r\n getAllRelatedEvents,\r\n getAllRelatedInitiatives,\r\n getAllRelatedStories,\r\n getRelatedStoriesLoaded,\r\n LoadRelatedInitiatives,\r\n LoadRelatedStories,\r\n getAllRelatedContent,\r\n} from 'src/app/content/store';\r\nimport { Breadcrumb } from 'src/app/core/models';\r\nimport { Event } from 'src/app/events/models';\r\nimport { getSelectedContentLiked, getSelectedContentLikes, LikeContent, LoadLikes } from 'src/app/likes/store';\r\nimport { Story } from 'src/app/stories/models';\r\nimport { getAllStories } from 'src/app/stories/store';\r\nimport { Initiative } from '../../models';\r\nimport { getSelectedInitiative, LikeInitiative } from '../../store';\r\nimport { BaseContent } from 'src/app/content/models';\r\n\r\n@Component({\r\n selector: 'app-initiative-detail',\r\n templateUrl: './initiative-detail.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class InitiativeDetailComponent implements OnInit {\r\n initiative$!: Observable;\r\n\r\n relatedInitiatives$!: Observable;\r\n relatedEvents$!: Observable;\r\n relatedStories$!: Observable;\r\n relatedContent$!: Observable;\r\n relatedStoriesLoaded$!: Observable;\r\n user$!: Observable;\r\n cookiePreferences$?: Observable;\r\n\r\n likes$!: Observable;\r\n liked$!: Observable;\r\n\r\n hasRelated$!: Observable;\r\n\r\n breadcrumbs$?: Observable;\r\n\r\n previewPlaceholder$!: Observable;\r\n\r\n private dict = new FromDictionaryPipe(this.lang);\r\n\r\n constructor(private store: Store, private activatedRoute: ActivatedRoute, private lang: LanguageService, private cd: ChangeDetectorRef) {}\r\n\r\n ngOnInit(): void {\r\n this.initiative$ = this.store.select(getSelectedInitiative);\r\n this.relatedInitiatives$ = this.store.select(getAllRelatedInitiatives);\r\n this.relatedEvents$ = this.store.select(getAllRelatedEvents);\r\n this.relatedStories$ = this.store.select(getAllRelatedStories);\r\n this.relatedStoriesLoaded$ = this.store.select(getRelatedStoriesLoaded);\r\n this.relatedContent$ = this.store.select(getAllRelatedContent);\r\n this.cookiePreferences$ = this.store.select(getCookiePreferences);\r\n this.likes$ = this.store.select(getSelectedContentLikes);\r\n this.liked$ = this.store.select(getSelectedContentLiked);\r\n\r\n this.hasRelated$ = combineLatest([this.relatedEvents$, this.relatedStories$]).pipe(\r\n map(([events, stories]) => {\r\n return !!(events.length || stories.length);\r\n })\r\n );\r\n\r\n this.user$ = this.store.select(getUser);\r\n this.previewPlaceholder$ = this.user$.pipe(\r\n map(a => (a?.roles.includes('Administrator') ? 'initiatief-niet-gepubliceerd-redactie' : 'initiatief-niet-gepubliceerd')),\r\n map(a => this.dict.transform(a))\r\n );\r\n\r\n this.initiative$.pipe(\r\n tap(a => {\r\n this.cd.detectChanges();\r\n })\r\n );\r\n\r\n this.breadcrumbs$ = this.initiative$.pipe(\r\n map(a => {\r\n return [\r\n {\r\n routerLink: ['/initiatieven'],\r\n title: this.dict.transform('breadcrumbs-initiatieven-overzicht-label'),\r\n },\r\n {\r\n title: a?.subtitle || a?.title,\r\n },\r\n ];\r\n })\r\n );\r\n }\r\n\r\n like(id: number) {\r\n this.store.dispatch(LikeContent({ id }));\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n\r\n

\r\n {{ 'initiative-formulier-bewerken-titel' | fromDictionary }}\r\n {{ 'initiative-formulier-aanmelden-titel' | fromDictionary }}\r\n

\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n Terug naar initiatief\r\n \r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n {{ 'initiatief-verwijderen-button-label' | fromDictionary }}\r\n \r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { FormBuilder, Validators } from '@angular/forms';\r\nimport { Store } from '@ngrx/store';\r\nimport { FromDictionaryPipe, LanguageService } from '@teamfoster/sdk/dictionary-ngrx';\r\nimport { DynamicFormField } from '@teamfoster/sdk/legacy-dynamic-form';\r\nimport { Breadcrumb } from 'src/app/core/models';\r\nimport { combineLatest, first, firstValueFrom, map, Observable, of } from 'rxjs';\r\nimport { getUser } from 'src/app/auth/store';\r\nimport { getRouterState, SetTitle } from 'src/app/store';\r\nimport { Theme } from 'src/app/themes/models';\r\nimport { getOrderedThemes } from 'src/app/themes/store';\r\nimport { Initiative, InitiativeData, UpdateInitiativeData } from '../../models';\r\nimport * as navActions from '../../../store/actions/nav.action';\r\nimport {\r\n getSelectedInitiative,\r\n getInitiativeSaving,\r\n getInitiativeSaved,\r\n UpdateInitiative,\r\n CreateInitiative,\r\n DeleteInitiative,\r\n} from '../../store';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ConfirmComponent } from 'src/app/core/components/confirm/confirm.component';\r\nimport { DynamicFormConfig } from '@teamfoster/sdk/dynamic-form';\r\n\r\n@Component({\r\n selector: 'app-initiative-form',\r\n templateUrl: './initiative-form.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class InitiativeFormComponent implements OnInit, OnDestroy {\r\n prefix = 'initiatief-formulier';\r\n breadcrumbs$: Observable = of([]);\r\n\r\n usr$!: Observable;\r\n initiative$!: Observable;\r\n themes$!: Observable;\r\n formFields$!: Observable;\r\n formLoading$: Observable = of(false);\r\n formLoaded$: Observable = of(false);\r\n formError$?: Observable;\r\n isNew$!: Observable;\r\n id = 0;\r\n editMode = true;\r\n\r\n fieldsets?: any[];\r\n\r\n toolbarOptions = [\r\n ['bold', 'italic', 'underline', 'strike', 'link'], // toggled buttons\r\n ['blockquote'],\r\n\r\n [{ header: 2 }], // custom button values\r\n [{ list: 'ordered' }, { list: 'bullet' }],\r\n //[{ script: 'sub' }, { script: 'super' }], // superscript/subscript\r\n //[{ indent: '-1' }, { indent: '+1' }], // outdent/indent\r\n //[{ direction: 'rtl' }], // text direction\r\n\r\n //[{ size: ['small', false, 'large', 'huge'] }], // custom dropdown\r\n //[{ header: [2, false] }],\r\n\r\n //[{ color: [] }, { background: [] }], // dropdown with defaults from theme\r\n //[{ font: [] }],\r\n //[{ align: [] }],\r\n ['video'],\r\n ['clean'], // remove formatting button\r\n ];\r\n\r\n private dict = new FromDictionaryPipe(this.lang);\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private store: Store,\r\n private lang: LanguageService,\r\n private cd: ChangeDetectorRef,\r\n private dialog: MatDialog\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.store.dispatch(navActions.SetTheme({ theme: 'palette-dark' }));\r\n this.usr$ = this.store.select(getUser);\r\n this.initiative$ = this.store.select(getSelectedInitiative);\r\n this.formLoading$ = this.store.select(getInitiativeSaving);\r\n this.formLoaded$ = this.store.select(getInitiativeSaved);\r\n this.themes$ = this.store.select(getOrderedThemes);\r\n this.isNew$ = this.initiative$.pipe(map(Initiative => !Initiative || Initiative.id <= 0));\r\n this.formFields$ = combineLatest([this.usr$, this.initiative$, this.themes$, this.store.select(getRouterState)]).pipe(\r\n map(([usr, initiative, themes, router]) => {\r\n let init = {};\r\n if (router.state.params['initiativeId'] && !initiative) {\r\n return null;\r\n }\r\n\r\n if (themes === null) {\r\n return null;\r\n }\r\n\r\n if (\r\n initiative &&\r\n usr.id !== initiative.createdById &&\r\n usr.roles.map((role: string) => role.toUpperCase()).indexOf('ADMINISTRATOR') < 0\r\n ) {\r\n this.editMode = false;\r\n\r\n this.cd.detectChanges();\r\n return null;\r\n }\r\n\r\n this.id = initiative?.id;\r\n\r\n if (this.id) {\r\n this.store.dispatch(\r\n SetTitle({\r\n title: `${this.dict.transform('initiatieven-formulier-bewerk-pagina-titel')} - ${this.dict.transform('meta-titel-suffix')}`,\r\n })\r\n );\r\n } else {\r\n this.store.dispatch(\r\n SetTitle({\r\n title: `${this.dict.transform('initiatieven-formulier-nieuw-pagina-titel')} - ${this.dict.transform('meta-titel-suffix')}`,\r\n })\r\n );\r\n }\r\n\r\n const introLength = +this.dict.transform(`${this.prefix}-veld-maxlength-intro`);\r\n const fields: DynamicFormField[] = [\r\n {\r\n label: 'id',\r\n name: 'id',\r\n fieldType: 'hidden',\r\n cssClass: 'd-none',\r\n validators: [],\r\n order: 0,\r\n value: initiative?.id || null,\r\n },\r\n {\r\n inputType: 'text',\r\n label: this.dict.transform(`${this.prefix}-veld-label-titel`),\r\n name: 'title',\r\n validators: [Validators.required],\r\n value: initiative?.title,\r\n placeholder: this.dict.transform(`${this.prefix}-veld-placeholder-titel`),\r\n fieldType: 'input',\r\n order: 0,\r\n fieldset: 'about',\r\n },\r\n {\r\n inputType: 'text',\r\n label: this.dict.transform(`${this.prefix}-veld-label-subtitel`),\r\n name: 'subtitle',\r\n validators: [Validators.required],\r\n value: initiative?.subtitle,\r\n placeholder: this.dict.transform(`${this.prefix}-veld-placeholder-subtitel`),\r\n fieldType: 'input',\r\n order: 0,\r\n fieldset: 'about',\r\n },\r\n {\r\n inputType: 'text',\r\n label: this.dict.transform(`${this.prefix}-veld-label-intro`),\r\n name: 'intro',\r\n validators: [Validators.required, Validators.maxLength(introLength)],\r\n hint: this.dict.transform(`${this.prefix}-veld-hint-intro`) + ` (maximaal ${introLength} karakters) `,\r\n value: initiative?.intro,\r\n placeholder: this.dict.transform(`${this.prefix}-veld-placeholder-intro`),\r\n fieldType: 'textarea',\r\n order: 0,\r\n fieldset: 'about',\r\n },\r\n {\r\n label: this.dict.transform(`${this.prefix}-veld-label-tekst`),\r\n name: 'text',\r\n validators: [Validators.required],\r\n placeholder: this.dict.transform(`${this.prefix}-veld-placeholder-tekst`),\r\n value: initiative?.text,\r\n fieldType: 'wysiwyg',\r\n order: 0,\r\n fieldset: 'about',\r\n toolbar: this.toolbarOptions,\r\n },\r\n {\r\n label: this.dict.transform(`${this.prefix}-veld-label-afbeelding`),\r\n name: 'image',\r\n validators: [Validators.required],\r\n placeholder: this.dict.transform(`${this.prefix}-veld-placeholder-afbeelding`),\r\n value: initiative?.image?.url,\r\n fieldType: 'image',\r\n order: 0,\r\n accept: 'image/*',\r\n acceptHint: this.dict.transform(`${this.prefix}-veld-type-hint-afbeelding`, false),\r\n fieldset: 'about',\r\n },\r\n {\r\n inputType: 'text',\r\n label: this.dict.transform(`${this.prefix}-veld-label-afbeelding-alt-tekst`),\r\n name: 'imageAltText',\r\n validators: [Validators.required],\r\n placeholder: this.dict.transform(`${this.prefix}-veld-placeholder-afbeelding-alt-tekst`),\r\n value: initiative?.imageAltText,\r\n fieldType: 'input',\r\n order: 0,\r\n fieldset: 'about',\r\n hint: this.dict.transform(`${this.prefix}-veld-placeholder-afbeelding-alt-hulptekst`),\r\n },\r\n {\r\n inputType: 'text',\r\n label: this.dict.transform(`${this.prefix}-veld-label-afbeelding-caption-tekst`),\r\n name: 'imageCaption',\r\n validators: [Validators.required],\r\n placeholder: this.dict.transform(`${this.prefix}-veld-placeholder-afbeelding-caption-tekst`),\r\n value: initiative?.image.caption,\r\n fieldType: 'input',\r\n order: 0,\r\n fieldset: 'about',\r\n hint: this.dict.transform(`${this.prefix}-veld-placeholder-afbeelding-caption-hulptekst`),\r\n },\r\n {\r\n label: this.dict.transform(`${this.prefix}-veld-label-logo`),\r\n name: 'contactLogo',\r\n validators: [],\r\n placeholder: this.dict.transform(`${this.prefix}-veld-placeholder-logo`),\r\n value: initiative?.contact.logo?.url,\r\n fieldType: 'image',\r\n order: 0,\r\n accept: 'image/*',\r\n acceptHint: 'Geaccepteerde types: PNG, JPEG, TIFF & WEBP',\r\n fieldset: 'contact',\r\n },\r\n {\r\n label: this.dict.transform(`${this.prefix}-veld-label-contact-foto`),\r\n name: 'contactImage',\r\n validators: [],\r\n placeholder: this.dict.transform(`${this.prefix}-veld-placeholder-contact-foto`),\r\n value: initiative?.contact.image?.url,\r\n fieldType: 'image',\r\n order: 0,\r\n accept: 'image/*',\r\n acceptHint: 'Geaccepteerde types: PNG, JPEG, TIFF & WEBP',\r\n fieldset: 'contact',\r\n },\r\n {\r\n inputType: 'text',\r\n label: this.dict.transform(`${this.prefix}-veld-label-contact-foto-alt-tekst`),\r\n name: 'contactImageAltText',\r\n validators: [],\r\n placeholder: this.dict.transform(`${this.prefix}-veld-placeholder-contact-foto-alt-tekst`),\r\n value: initiative?.contact.image?.caption,\r\n fieldType: 'input',\r\n order: 0,\r\n fieldset: 'contact',\r\n },\r\n {\r\n inputType: 'text',\r\n label: this.dict.transform(`${this.prefix}-veld-label-contact-naam`),\r\n name: 'contactName',\r\n validators: [Validators.required],\r\n placeholder: this.dict.transform(`${this.prefix}-veld-placeholder-contact-naam`),\r\n value: initiative?.contact.name,\r\n fieldType: 'input',\r\n order: 0,\r\n fieldset: 'contact',\r\n },\r\n {\r\n inputType: 'email',\r\n label: this.dict.transform(`${this.prefix}-veld-label-contact-email`),\r\n name: 'contactEmail',\r\n validators: [Validators.email, Validators.required],\r\n placeholder: this.dict.transform(`${this.prefix}-veld-placeholder-contact-email`),\r\n value: initiative?.contact.email,\r\n fieldType: 'input',\r\n order: 0,\r\n fieldset: 'contact',\r\n },\r\n {\r\n inputType: 'tel',\r\n label: this.dict.transform(`${this.prefix}-veld-label-contact-phone`),\r\n name: 'contactPhone',\r\n validators: [Validators.required],\r\n placeholder: this.dict.transform(`${this.prefix}-veld-placeholder-contact-phone`),\r\n value: initiative?.contact.phone,\r\n fieldType: 'input',\r\n order: 0,\r\n fieldset: 'contact',\r\n },\r\n {\r\n inputType: 'checkbox',\r\n label: '',\r\n checkboxLabel: this.dict.transform(`${this.prefix}-veld-label-contact-show-on-platform`),\r\n name: 'showContactOnPlatform',\r\n validators: [],\r\n value: initiative?.showContactOnPlatform,\r\n fieldType: 'checkbox',\r\n order: 0,\r\n fieldset: 'contact',\r\n },\r\n\r\n {\r\n inputType: 'text',\r\n label: this.dict.transform(`${this.prefix}-veld-label-themas`),\r\n name: 'themes',\r\n validators: [Validators.required],\r\n placeholder: this.dict.transform(`${this.prefix}-veld-placeholder-themas`),\r\n fieldType: 'themes',\r\n order: 0,\r\n value: [...(initiative?.themes || [])],\r\n selectOptions: [...themes],\r\n fieldset: 'extra',\r\n },\r\n\r\n {\r\n inputType: 'checkbox',\r\n label: this.dict.transform(`${this.prefix}-veld-label-locatie-is-ijssel`),\r\n name: 'entireArea',\r\n validators: [],\r\n fieldType: 'hidden',\r\n order: 0,\r\n fieldset: 'extra',\r\n value: initiative?.entireArea || false,\r\n },\r\n {\r\n inputType: 'text',\r\n label: this.dict.transform(`${this.prefix}-veld-label-locatie`),\r\n name: 'locations',\r\n validators: [],\r\n placeholder: this.dict.transform(`${this.prefix}-veld-placeholder-locatie`),\r\n fieldType: 'location',\r\n order: 0,\r\n fieldset: 'extra',\r\n value: [...(initiative?.locations || [])],\r\n },\r\n ];\r\n\r\n return fields;\r\n })\r\n );\r\n\r\n this.fieldsets = [\r\n {\r\n name: 'intro',\r\n title: this.dict.transform(`${this.prefix}-stap-intro-titel`),\r\n description: this.dict.transform(`${this.prefix}-stap-intro-tekst`, false),\r\n },\r\n {\r\n name: 'about',\r\n title: this.dict.transform(`${this.prefix}-stap-basisgegevens-titel`),\r\n description: this.dict.transform(`${this.prefix}-stap-basisgegevens-tekst`, false),\r\n },\r\n {\r\n name: 'contact',\r\n title: this.dict.transform(`${this.prefix}-stap-contactgegevens-titel`),\r\n description: this.dict.transform(`${this.prefix}-stap-contactgegevens-tekst`, false),\r\n },\r\n {\r\n name: 'extra',\r\n title: this.dict.transform(`${this.prefix}-stap-meta-titel`),\r\n description: this.dict.transform(`${this.prefix}-stap-meta-tekst`, false),\r\n },\r\n ];\r\n\r\n this.breadcrumbs$ = this.initiative$.pipe(\r\n map(i => {\r\n let crumbs = [\r\n {\r\n routerLink: ['/initiatieven'],\r\n title: this.dict.transform('breadcrumbs-initiatieven-overzicht-label'),\r\n },\r\n {\r\n title: 'Nieuw initiatief',\r\n },\r\n ];\r\n\r\n if (i) {\r\n crumbs = [\r\n {\r\n routerLink: ['/initiatieven'],\r\n title: this.dict.transform('breadcrumbs-initiatieven-overzicht-label'),\r\n },\r\n {\r\n routerLink: i.url,\r\n title: i.title,\r\n },\r\n {\r\n title: 'Bewerken',\r\n },\r\n ];\r\n }\r\n\r\n return crumbs;\r\n })\r\n );\r\n }\r\n\r\n handleSubmit(data: any) {\r\n const initiativeData: InitiativeData = {\r\n title: data.title,\r\n subtitle: data.subtitle,\r\n intro: data.intro,\r\n text: data.text,\r\n image: data.image,\r\n imageAltText: data.imageAltText,\r\n imageCaption: data.imageCaption,\r\n locations: data?.locations,\r\n contactImage: data.contactImage,\r\n contactLogo: data.contactLogo,\r\n contactImageAltText: data.contactImageAltText,\r\n contactName: data.contactName,\r\n contactEmail: data.contactEmail,\r\n contactPhone: data.contactPhone,\r\n showContactOnPlatform: data.showContactOnPlatform,\r\n themes: data.themes,\r\n entireArea: data.entireArea,\r\n };\r\n\r\n if (data['id'] > 0) {\r\n const update: UpdateInitiativeData = { ...initiativeData, id: data.id };\r\n this.store.dispatch(UpdateInitiative({ id: data['id'], initiativeData: update }));\r\n return;\r\n }\r\n this.store.dispatch(CreateInitiative({ initiativeData: initiativeData }));\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.store.dispatch(navActions.SetTheme({ theme: 'palette-light' }));\r\n }\r\n\r\n async deleteInitiative(initiative: Initiative) {\r\n const dialogRefForm = this.dialog.open(ConfirmComponent, {\r\n maxHeight: '50vh',\r\n width: '90vw',\r\n maxWidth: '500px',\r\n data: {\r\n title: `${this.dict.transform('verwijder-initiatief-waarschuwing-titel')}`,\r\n message: `${this.dict.transform('verwijder-initiatief-waarschuwing-tekst')}`,\r\n },\r\n disableClose: false,\r\n });\r\n\r\n const result = await firstValueFrom(dialogRefForm.afterClosed());\r\n if (result) {\r\n this.store.dispatch(DeleteInitiative({ id: initiative.id }));\r\n }\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-call2-action-initiative',\r\n templateUrl: './call2-action-initiative.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class Call2ActionInitiativeComponent {\r\n @Input() title!: string;\r\n @Input() subtitle!: string;\r\n}\r\n","\r\n","
\r\n \r\n
\r\n
\r\n
\r\n \r\n {{ 'initiatief-overzicht-subtitel' | fromDictionary }}\r\n \r\n

\r\n {{ 'initiatief-overzicht-titel' | fromDictionary }}\r\n \r\n

\r\n\r\n \r\n
\r\n\r\n
\r\n \r\n {{ 'initiatief-overzicht-sorteer-titel' | fromDictionary }}\r\n \r\n \r\n {{ sortItem.placeholder | fromDictionary }}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n initiatives.length\"\r\n (click)=\"loadMore()\"\r\n >\r\n {{ 'initiatief-overzicht-meerladen-label' | fromDictionary }}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n 12) ||\r\n (page.resultCount <= initiatives.length && initiatives.length < 6)\r\n \"\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n","import { trigger } from '@angular/animations';\r\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { FormBuilder } from '@angular/forms';\r\nimport { Store } from '@ngrx/store';\r\nimport { FromDictionaryPipe, LanguageService } from '@teamfoster/sdk/dictionary-ngrx';\r\nimport { StringUtility } from '@teamfoster/sdk/text-utility';\r\nimport { filter, firstValueFrom, Observable, Subject, takeUntil, takeWhile, tap } from 'rxjs';\r\nimport { CardGridAnimation } from 'src/app/animations';\r\nimport { PageData } from 'src/app/core/models';\r\nimport { getGeoLocationError, getGeoLocationLoaded, getGeoLocationPosition, RequestGeoLocation } from 'src/app/geo-location/store';\r\nimport { GeolocationPositionErrorLabels } from 'src/app/geo-location/util/error';\r\nimport { SetCanonical, SetTags, SetTitle } from 'src/app/store';\r\nimport { Initiative } from '../../models';\r\nimport {\r\n getInitiativesLoading,\r\n getInitiativesPage,\r\n getOrderedInitiatives,\r\n LoadInitiatives,\r\n LoadMoreInitiatives,\r\n SetSortOrder,\r\n} from '../../store';\r\nimport { Theme } from 'src/app/themes/models';\r\nimport { getOrderedThemes } from 'src/app/themes/store';\r\n\r\n@Component({\r\n selector: 'app-initiatives-overview',\r\n templateUrl: './initiatives-overview.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [trigger('CardGridAnimation', [CardGridAnimation])],\r\n})\r\nexport class InitiativesOverviewComponent implements OnInit, OnDestroy {\r\n initiatives$!: Observable;\r\n initiativesLoading$!: Observable;\r\n geoLocation$!: Observable;\r\n geoLocationError$!: Observable<{ code: number; message: string } | undefined>;\r\n page$!: Observable;\r\n themes$!: Observable;\r\n filtersLoading = false;\r\n\r\n @Input({ alias: 'thema' }) theme: string = '';\r\n\r\n private dict = new FromDictionaryPipe(this.lang);\r\n\r\n sortForm = this.fb.group({\r\n orderBy: [0],\r\n });\r\n\r\n private _unsubscribe = new Subject();\r\n\r\n sortOptions = [\r\n {\r\n value: 0,\r\n placeholder: 'initiatief-overzicht-sorteer-datum',\r\n },\r\n {\r\n value: 1,\r\n placeholder: 'initiatief-overzicht-sorteer-afstand',\r\n },\r\n ];\r\n\r\n sortLoaded = true;\r\n geoErrorLabel = GeolocationPositionErrorLabels;\r\n\r\n constructor(private store: Store, private lang: LanguageService, private fb: FormBuilder, private cd: ChangeDetectorRef) {}\r\n\r\n ngOnInit(): void {\r\n this.initiatives$ = this.store.select(getOrderedInitiatives);\r\n this.initiativesLoading$ = this.store.select(getInitiativesLoading);\r\n this.page$ = this.store.select(getInitiativesPage);\r\n this.geoLocation$ = this.store.select(getGeoLocationPosition);\r\n this.geoLocationError$ = this.store.select(getGeoLocationError);\r\n this.themes$ = this.store.select(getOrderedThemes);\r\n\r\n this.store.dispatch(\r\n SetTitle({ title: `${this.dict.transform('initiatief-overzicht-titel')} - ${this.dict.transform('meta-titel-suffix')}` })\r\n );\r\n\r\n this.store.dispatch(SetCanonical({ url: 'https://onzeijssel.nl/initiatieven' }));\r\n\r\n this.store.dispatch(\r\n SetTags({\r\n properties: {\r\n 'description': StringUtility.Truncate(\r\n StringUtility.StripHTML(this.dict.transform('initiatief-overzicht-description')),\r\n 157,\r\n '...'\r\n ),\r\n 'og:title': `${this.dict.transform('initiatief-overzicht-titel')} ${this.dict.transform('meta-titel-suffix')}`,\r\n 'og:description': StringUtility.Truncate(\r\n StringUtility.StripHTML(this.dict.transform('initiatief-overzicht-description')),\r\n 157,\r\n '...'\r\n ),\r\n },\r\n })\r\n );\r\n\r\n this.sortForm.valueChanges.pipe(takeUntil(this._unsubscribe)).subscribe(a => this.setSortOrder(a));\r\n }\r\n\r\n trackByFn(index: number, item: Initiative) {\r\n return item.id;\r\n }\r\n\r\n // vote(direction: number, event: MouseEvent) {\r\n // event.stopPropagation();\r\n // event.preventDefault();\r\n // }\r\n loadMore() {\r\n this.store.dispatch(LoadMoreInitiatives());\r\n }\r\n\r\n async setSortOrder(e: any) {\r\n this.sortLoaded = false;\r\n\r\n if (e.orderBy === 1) {\r\n this.store.dispatch(RequestGeoLocation({}));\r\n\r\n this.sortLoaded = await firstValueFrom(this.store.select(getGeoLocationLoaded).pipe(filter(a => a)));\r\n }\r\n\r\n this.store.dispatch(SetSortOrder({ order: +e.orderBy }));\r\n this.store.dispatch(LoadInitiatives({ skip: 0, take: 12 }));\r\n\r\n this.sortLoaded = true;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unsubscribe.next();\r\n this._unsubscribe.complete();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { Store } from '@ngrx/store';\r\nimport { tap, take, switchMap, catchError, map, filter } from 'rxjs/operators';\r\n\r\nimport * as fromStore from '../store';\r\nimport { combineLatest, Observable, of } from 'rxjs';\r\nimport { SetTitle, SetTags, SetCanonical, SetStructuredData } from '../../store';\r\nimport { StringUtility } from '@teamfoster/sdk/text-utility';\r\nimport { FromDictionaryPipe, getDictionaryLoaded, LanguageService } from '@teamfoster/sdk/dictionary-ngrx';\r\nimport { DatePipe } from '@angular/common';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class InitiativeDetailMetaGuard {\r\n private dict = new FromDictionaryPipe(this.lang);\r\n\r\n constructor(private store: Store, private lang: LanguageService) {}\r\n\r\n canActivate(): Observable {\r\n return this.checkStore().pipe(\r\n switchMap(() => of(true)),\r\n catchError(() => of(false))\r\n );\r\n }\r\n\r\n checkStore(): Observable {\r\n return combineLatest([this.store.select(fromStore.getSelectedInitiative), this.store.select(getDictionaryLoaded)]).pipe(\r\n filter(([page, dictLoaded]) => page?.id > 0 && dictLoaded && !!this.dict.transform('meta-titel-suffix', false)),\r\n tap(([page]) => {\r\n this.store.dispatch(\r\n SetTitle({\r\n title: `${StringUtility.Truncate(StringUtility.StripHTML(page.title), 157, '...')} - ${this.dict.transform(\r\n 'meta-titel-suffix'\r\n )}`,\r\n })\r\n );\r\n this.store.dispatch(SetCanonical({ url: page.canonical }));\r\n this.store.dispatch(\r\n SetTags({\r\n properties: {\r\n 'description': StringUtility.Truncate(StringUtility.StripHTML(page.intro || page.text), 157, '...'),\r\n 'og:image': `https:${page.image.url || page?.image?.url}`,\r\n 'og:title': `${StringUtility.Truncate(StringUtility.StripHTML(page.title), 157, '...')} - ${this.dict.transform(\r\n 'meta-titel-suffix'\r\n )}`,\r\n 'og:description': StringUtility.Truncate(StringUtility.StripHTML(page.intro || page.text), 157, '...'),\r\n 'twitter:card': 'summary_large_image',\r\n 'twitter:image': `https:${page.image.url || page?.image?.url}`,\r\n 'twitter:title': `${StringUtility.Truncate(StringUtility.StripHTML(page.title), 157, '...')} - ${this.dict.transform(\r\n 'meta-titel-suffix'\r\n )}`,\r\n 'twitter:description': StringUtility.Truncate(StringUtility.StripHTML(page.intro || page.text), 157, '...'),\r\n },\r\n })\r\n );\r\n this.store.dispatch(\r\n SetStructuredData({\r\n data: {\r\n '@context': 'http://schema.org',\r\n '@type': 'Article',\r\n 'mainEntitiyOfPage': {\r\n '@type': 'WebPage',\r\n '@id': page.canonical,\r\n },\r\n 'headline': page.title,\r\n 'description': StringUtility.Truncate(StringUtility.StripHTML(page.intro || page.text), 157, '...'),\r\n 'image': `https:${page.image.url || page?.image?.url}`,\r\n 'author': {\r\n '@type': 'Person',\r\n 'name': page.contact.name,\r\n },\r\n 'publisher': {\r\n '@type': 'Organization',\r\n 'name': 'Onze IJssel',\r\n 'logo': {\r\n '@type': 'ImageObject',\r\n 'url': `https://www.onzeijssel.nl/assets/gfx/onze-ijssel-logo.svg`,\r\n },\r\n },\r\n 'datePublished': page.createdOn,\r\n },\r\n })\r\n );\r\n }),\r\n map(([page, dictLoaded]) => page?.id > 0 && dictLoaded && !!this.dict.transform('meta-titel-suffix', false))\r\n );\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { AuthGuard } from '../auth/guards/auth.guard';\r\nimport { RelatedContentGuard, RelatedEventsGuard, RelatedInitiativesGuard, RelatedStoriesGuard } from '../content/guards';\r\nimport { StoriesOverviewGuard } from '../stories/guards/stories.guard';\r\nimport { ThemesGuard } from '../themes/guards/themes.guard';\r\nimport { InitiativeDetailComponent } from './containers/initiative-detail/initiative-detail.component';\r\nimport { InitiativeFormComponent } from './containers/initiative-form/initiative-form.component';\r\nimport { InitiativesOverviewComponent } from './containers/initiatives-overview/initiatives-overview.component';\r\nimport { InitiativeDetailGuard } from './guards';\r\nimport { InitiativeDetailMetaGuard } from './guards/initiatives-detail-meta.guard';\r\nimport { InitiativesOverviewGuard } from './guards/initiatives.guard';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: InitiativesOverviewComponent,\r\n pathMatch: 'full',\r\n canActivate: [InitiativesOverviewGuard, ThemesGuard],\r\n runGuardsAndResolvers: 'paramsOrQueryParamsChange',\r\n },\r\n {\r\n path: 'aanmelden',\r\n component: InitiativeFormComponent,\r\n canActivate: [ThemesGuard, AuthGuard],\r\n },\r\n {\r\n path: ':initiativeId/:title/bewerken',\r\n component: InitiativeFormComponent,\r\n canActivate: [InitiativeDetailGuard, ThemesGuard, AuthGuard],\r\n },\r\n {\r\n path: ':initiativeId/:title',\r\n component: InitiativeDetailComponent,\r\n canActivate: [\r\n InitiativeDetailGuard,\r\n InitiativeDetailMetaGuard,\r\n RelatedStoriesGuard,\r\n RelatedInitiativesGuard,\r\n RelatedEventsGuard,\r\n RelatedContentGuard,\r\n ],\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class InitiativesRoutingModule {}\r\n","import { Component, Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree } from '@angular/router';\r\n\r\nimport { Store } from '@ngrx/store';\r\nimport { tap, filter, take, switchMap, catchError, withLatestFrom, map } from 'rxjs/operators';\r\n\r\nimport * as fromStore from '../store';\r\nimport * as fromRoot from '../../store';\r\nimport { Observable, of } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class InitiativesOverviewGuard {\r\n constructor(private store: Store) {}\r\n\r\n canDeactivate(\r\n component: Component,\r\n currentRoute: ActivatedRouteSnapshot,\r\n currentState: RouterStateSnapshot,\r\n nextState?: RouterStateSnapshot | undefined\r\n ): boolean | UrlTree | Observable | Promise {\r\n return this.checkDeactivate().pipe(\r\n switchMap(() => of(true)),\r\n catchError(() => of(false))\r\n );\r\n }\r\n\r\n canActivate(): Observable {\r\n return this.checkStore().pipe(\r\n switchMap(() => of(true)),\r\n catchError(() => of(false))\r\n );\r\n }\r\n\r\n checkDeactivate(): Observable {\r\n return this.store.select(fromStore.getInitiativesLoaded).pipe(\r\n tap(loaded => {\r\n if (loaded) {\r\n this.store.dispatch(fromStore.ClearInitiatives());\r\n }\r\n }),\r\n filter(loaded => !loaded),\r\n map(loaded => !loaded),\r\n take(1)\r\n );\r\n }\r\n\r\n checkStore(): Observable {\r\n return this.store.select(fromStore.getInitiativesLoaded).pipe(\r\n withLatestFrom(this.store.select(fromStore.getInitiativesPage), this.store.select(fromRoot.getRouterState)),\r\n tap(([loaded, page, router]) => {\r\n const current = +router.state.queryParams['page'] || 0;\r\n const theme = +router.state.queryParams['thema'] || 0;\r\n\r\n if (!loaded || current !== page.currentPage || theme !== (page.filters['theme'] || 0)) {\r\n this.store.dispatch(\r\n fromStore.LoadInitiatives({\r\n skip: current * page.pageSize,\r\n take: page.pageSize,\r\n theme: theme,\r\n })\r\n );\r\n }\r\n }),\r\n filter(([loaded]) => loaded),\r\n map(([loaded]) => loaded),\r\n take(1)\r\n );\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { InitiativeFormComponent } from './containers/initiative-form/initiative-form.component';\r\nimport { InitiativesRoutingModule } from './initiatives-routing.module';\r\nimport { LegacyDynamicFormModule as DynamicFormModule } from '@teamfoster/sdk/legacy-dynamic-form';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { CoreModule } from '../core/core.module';\r\nimport { DictionaryNgrxModule } from '@teamfoster/sdk/dictionary-ngrx';\r\nimport { InitiativesOverviewComponent } from './containers/initiatives-overview/initiatives-overview.component';\r\nimport { InitiativeDetailComponent } from './containers/initiative-detail/initiative-detail.component';\r\nimport { StoreModule } from '@ngrx/store';\r\nimport { EffectsModule } from '@ngrx/effects';\r\n\r\nimport * as fromStore from './store';\r\nimport { MatLegacySnackBarModule } from '@angular/material/legacy-snack-bar';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { TextUtilityModule } from '@teamfoster/sdk/text-utility';\r\nimport { CookieNgrxModule } from '@teamfoster/sdk/cookie-ngrx';\r\nimport { InViewModule } from '@teamfoster/sdk/in-view';\r\nimport { Call2ActionInitiativeComponent } from './components/call2-action-initiative/call2-action-initiative.component';\r\nimport { ThemesModule } from '../themes/themes.module';\r\nimport { AuthModule } from '../auth/auth.module';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { FormModule } from '../form/form.module';\r\nimport { HttpClientJsonpModule, HttpClientModule } from '@angular/common/http';\r\nimport { GeoLocationModule } from '../geo-location/geo-location.module';\r\n\r\nimport { MatLegacyFormFieldModule as MatFormFieldModule } from '@angular/material/legacy-form-field';\r\nimport { MatLegacySelectModule as MatSelectModule } from '@angular/material/legacy-select';\r\nimport { MatIconModule } from '@angular/material/icon';\r\n\r\nimport { ContentModule } from '../content/content.module';\r\nimport { EventTeaserCardComponent } from './components/event-teaser-card/event-teaser-card.component';\r\nimport { LikesModule } from '../likes/likes.module';\r\nimport { ImageModule } from '@teamfoster/sdk/image';\r\nimport { ContentSliderModule } from '../content-slider/content-slider.module';\r\nimport { DynamicHooksModule } from 'ngx-dynamic-hooks';\r\nimport { ThemeFiltersComponent } from '../standalone/theme-filters/theme-filters.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n InitiativeFormComponent,\r\n InitiativesOverviewComponent,\r\n InitiativeDetailComponent,\r\n Call2ActionInitiativeComponent,\r\n EventTeaserCardComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n InitiativesRoutingModule,\r\n DynamicFormModule,\r\n ReactiveFormsModule,\r\n CoreModule,\r\n DictionaryNgrxModule,\r\n MatLegacySnackBarModule,\r\n MatDialogModule,\r\n MatProgressSpinnerModule,\r\n ThemesModule,\r\n AuthModule,\r\n FormModule,\r\n ContentModule,\r\n MatIconModule,\r\n ImageModule,\r\n StoreModule.forFeature(fromStore.featureKey, fromStore.reducers, {\r\n metaReducers: fromStore.metaReducers,\r\n }),\r\n EffectsModule.forFeature(fromStore.effects),\r\n TextUtilityModule,\r\n CookieNgrxModule,\r\n InViewModule,\r\n HttpClientModule,\r\n HttpClientJsonpModule,\r\n GeoLocationModule,\r\n ReactiveFormsModule,\r\n MatFormFieldModule,\r\n MatSelectModule,\r\n LikesModule,\r\n ContentSliderModule,\r\n DynamicHooksModule,\r\n ThemeFiltersComponent,\r\n ],\r\n})\r\nexport class InitiativesModule {}\r\n","// tslint:disable:max-line-length\r\nimport { createAction, props } from '@ngrx/store';\r\nimport { PagedOverview } from 'src/app/core/models';\r\nimport { Initiative, InitiativeData, UpdateInitiativeData } from '../../models';\r\n\r\nexport const LoadInitiative = createAction('[Initiatives] Load Initiative', props<{ id: number }>());\r\nexport const LoadInitiativeSuccess = createAction('[Initiatives] Load Initiative Success', props<{ initiative: Initiative }>());\r\nexport const LoadInitiativeFail = createAction('[Initiatives] Load Initiative Fail', props<{ error: any }>());\r\n\r\nexport const LoadInitiatives = createAction('[Initiatives] Load Initiatives', props<{ take?: number; skip?: number; theme?: number }>());\r\nexport const LoadInitiativesSuccess = createAction(\r\n '[Initiatives] Load Initiatives Success',\r\n props<{ initiatives: PagedOverview }>()\r\n);\r\nexport const LoadInitiativesFail = createAction('[Initiatives] Load Initiatives Fail', props<{ error: any }>());\r\n\r\nexport const LoadMoreInitiatives = createAction('[Initiatives] Load MORE Initiatives');\r\nexport const LoadMoreInitiativesSuccess = createAction(\r\n '[Initiatives] Load MORE Initiatives Success',\r\n props<{ initiatives: PagedOverview }>()\r\n);\r\n\r\nexport const UpdateInitiative = createAction(\r\n '[Initiatives] Update Initiative',\r\n props<{ id: number; initiativeData: UpdateInitiativeData }>()\r\n);\r\nexport const UpdateInitiativeSuccess = createAction('[Initiatives] Update Initiative Success', props<{ initiative: Initiative }>());\r\nexport const UpdateInitiativeFail = createAction('[Initiatives] Update Initiative Fail', props<{ error: any }>());\r\n\r\nexport const CreateInitiative = createAction('[Initiatives] Create Initiative', props<{ initiativeData: InitiativeData }>());\r\nexport const CreateInitiativeSuccess = createAction('[Initiatives] Create Initiative Success', props<{ initiative: Initiative }>());\r\nexport const CreateInitiativeFail = createAction('[Initiatives] Create Initiative Fail', props<{ error: any }>());\r\n\r\nexport const DeleteInitiative = createAction('[Initiatives] Delete Initiative', props<{ id: number }>());\r\nexport const DeleteInitiativeSuccess = createAction('[Initiatives] Delete Initiative Success', props<{ initiative: Initiative }>());\r\nexport const DeleteInitiativeFail = createAction('[Initiatives] Delete Initiative Fail', props<{ error: any }>());\r\n\r\nexport const SetSortOrder = createAction('[Initiatives] Set Initiative Sort Order', props<{ order: number }>());\r\nexport const ClearInitiatives = createAction('[Initiatives] Clear Initiatives');\r\n\r\nexport const LikeInitiative = createAction('[Initiatives] Like Initiative', props<{ id: number }>());\r\nexport const LikeInitiativeSuccess = createAction('[Initiatives] Like Initiative Success', props<{ initiative: Initiative }>());\r\nexport const LikeInitiativeFail = createAction('[Initiatives] Like Initiative Fail', props<{ error: any }>());\r\n","import { createReducer, on } from '@ngrx/store';\r\nimport { Initiative } from '../../models';\r\nimport * as utility from '../../../utility';\r\nimport * as InitiativeActions from '../actions/initiatives.action';\r\nimport { PageData } from 'src/app/core/models';\r\n\r\nexport interface InitiativesState {\r\n entities: { [id: number]: Initiative };\r\n sortOrder: number;\r\n page: PageData;\r\n loading: boolean;\r\n loaded: boolean;\r\n saving: boolean;\r\n saved: boolean;\r\n error?: any;\r\n}\r\n\r\nexport const initialState: InitiativesState = {\r\n entities: {},\r\n sortOrder: 0,\r\n page: { currentPage: 0, pageCount: 0, resultCount: 0, pageSize: 12, filters: {} },\r\n loaded: false,\r\n loading: false,\r\n saved: false,\r\n saving: false,\r\n};\r\n\r\nexport const InitiativeReducer = createReducer(\r\n initialState,\r\n on(InitiativeActions.LoadInitiatives, InitiativeActions.LoadMoreInitiatives, (state: InitiativesState) => {\r\n return {\r\n ...state,\r\n loading: true,\r\n mineLoaded: false,\r\n };\r\n }),\r\n on(InitiativeActions.LoadInitiativesSuccess, (state: InitiativesState, { initiatives }) => {\r\n const entities = utility.ToEntities(initiatives.items, 'id', {});\r\n\r\n return {\r\n ...state,\r\n entities,\r\n page: initiatives.page,\r\n loading: false,\r\n loaded: true,\r\n };\r\n }),\r\n on(InitiativeActions.LoadMoreInitiativesSuccess, (state: InitiativesState, { initiatives }) => {\r\n const entities = utility.ToEntities(initiatives.items, 'id', state.entities);\r\n\r\n return {\r\n ...state,\r\n entities,\r\n page: initiatives.page,\r\n loading: false,\r\n loaded: true,\r\n mineLoaded: true,\r\n };\r\n }),\r\n on(InitiativeActions.LoadInitiativesFail, (state: InitiativesState, { error }) => {\r\n return {\r\n ...state,\r\n loading: false,\r\n loaded: false,\r\n mineLoaded: false,\r\n error,\r\n };\r\n }),\r\n on(InitiativeActions.LoadInitiative, (state: InitiativesState, { id }) => {\r\n const entity: Initiative = {\r\n ...state.entities[id],\r\n loading: true,\r\n loaded: false,\r\n };\r\n\r\n return {\r\n ...state,\r\n entities: {\r\n ...state.entities,\r\n [id]: entity,\r\n },\r\n };\r\n }),\r\n on(InitiativeActions.LoadInitiativeSuccess, (state: InitiativesState, { initiative }) => {\r\n return {\r\n ...state,\r\n entities: {\r\n ...state.entities,\r\n [initiative.id]: initiative,\r\n },\r\n };\r\n }),\r\n on(InitiativeActions.CreateInitiative, InitiativeActions.UpdateInitiative, (state: InitiativesState) => {\r\n return {\r\n ...state,\r\n saved: false,\r\n saving: true,\r\n };\r\n }),\r\n on(InitiativeActions.CreateInitiativeSuccess, InitiativeActions.UpdateInitiativeSuccess, (state: InitiativesState, { initiative }) => {\r\n const entities = {\r\n ...state.entities,\r\n [initiative.id]: initiative,\r\n };\r\n return {\r\n ...state,\r\n entities,\r\n saved: true,\r\n saving: false,\r\n };\r\n }),\r\n on(InitiativeActions.LikeInitiativeSuccess, (state: InitiativesState, { initiative }) => {\r\n const entities = {\r\n ...state.entities,\r\n [initiative.id]: {\r\n ...state.entities[initiative.id],\r\n likes: { ...initiative.likes },\r\n },\r\n };\r\n return {\r\n ...state,\r\n entities,\r\n };\r\n }),\r\n on(InitiativeActions.DeleteInitiativeSuccess, (state: InitiativesState, { initiative }) => {\r\n const { [initiative.id]: removed, ...entities } = state.entities;\r\n return {\r\n ...state,\r\n entities,\r\n saved: true,\r\n saving: false,\r\n };\r\n }),\r\n on(InitiativeActions.SetSortOrder, (state: InitiativesState, { order }) => {\r\n return {\r\n ...state,\r\n sortOrder: order,\r\n };\r\n }),\r\n on(InitiativeActions.ClearInitiatives, (state: InitiativesState) => {\r\n return {\r\n ...initialState,\r\n };\r\n })\r\n);\r\n\r\nexport const getInitiativesEntities = (state: InitiativesState) => state.entities;\r\nexport const getInitiativesSortOrder = (state: InitiativesState) => state.sortOrder;\r\nexport const getInitiativesLoading = (state: InitiativesState) => state.loading;\r\nexport const getInitiativesLoaded = (state: InitiativesState) => state.loaded;\r\nexport const getInitiativeSaved = (state: InitiativesState) => state.saved;\r\nexport const getInitiativeSaving = (state: InitiativesState) => state.saving;\r\nexport const getInitiativesPage = (state: InitiativesState) => state.page;\r\n","// tslint:disable:max-line-length\r\nimport { createAction, props } from '@ngrx/store';\r\nimport { PagedOverview } from 'src/app/core/models';\r\nimport { Initiative, InitiativeData, UpdateInitiativeData } from '../../models';\r\n\r\nexport const LoadMyInitiatives = createAction('[Initiatives] Load My Initiatives');\r\nexport const LoadMyInitiativesSuccess = createAction('[Initiatives] Load My Initiatives Success', props<{ initiatives: Initiative[] }>());\r\nexport const LoadMyInitiativesFail = createAction('[Initiatives] Load My Initiatives Fail', props<{ error: any }>());\r\n","import { createReducer, on } from '@ngrx/store';\r\nimport { Initiative } from '../../models';\r\nimport * as utility from '../../../utility';\r\nimport * as InitiativeActions from '../actions/my-initiatives.action';\r\nimport { PageData } from 'src/app/core/models';\r\n\r\nexport interface MyInitiativesState {\r\n entities: { [id: number]: Initiative };\r\n loading: boolean;\r\n loaded: boolean;\r\n error?: any;\r\n}\r\n\r\nexport const initialState: MyInitiativesState = {\r\n entities: {},\r\n loaded: false,\r\n loading: false,\r\n};\r\n\r\nexport const MyInitiativeReducer = createReducer(\r\n initialState,\r\n on(InitiativeActions.LoadMyInitiatives, (state: MyInitiativesState) => {\r\n return {\r\n ...state,\r\n loading: true,\r\n };\r\n }),\r\n on(InitiativeActions.LoadMyInitiativesSuccess, (state: MyInitiativesState, { initiatives }) => {\r\n const entities = utility.ToEntities(initiatives, 'id', state.entities);\r\n\r\n return {\r\n ...state,\r\n entities,\r\n loading: false,\r\n loaded: true,\r\n };\r\n }),\r\n on(InitiativeActions.LoadMyInitiativesFail, (state: MyInitiativesState, { error }) => {\r\n return {\r\n ...state,\r\n loading: false,\r\n loaded: false,\r\n error,\r\n };\r\n })\r\n);\r\n\r\nexport const getMyInitiativesEntities = (state: MyInitiativesState) => state.entities;\r\nexport const getMyInitiativesLoading = (state: MyInitiativesState) => state.loading;\r\nexport const getMyInitiativesLoaded = (state: MyInitiativesState) => state.loaded;\r\nexport const getMyInitiativesError = (state: MyInitiativesState) => state.error;\r\n","import * as fromInitiative from './initiatives.reducer';\r\nimport * as fromMyInitiatives from './my-initiatives.reducer';\r\nimport { ActionReducerMap, createFeatureSelector, MetaReducer } from '@ngrx/store';\r\nimport { environment } from '../../../../environments/environment';\r\n\r\nexport const featureKey = 'Initiatives';\r\n\r\nexport interface InitiativeState {\r\n initiatives: fromInitiative.InitiativesState;\r\n myInitiatives: fromMyInitiatives.MyInitiativesState;\r\n}\r\n\r\nexport const reducers: ActionReducerMap = {\r\n initiatives: fromInitiative.InitiativeReducer,\r\n myInitiatives: fromMyInitiatives.MyInitiativeReducer,\r\n};\r\n\r\nexport const getInitiativesState = createFeatureSelector(featureKey);\r\nexport const metaReducers: MetaReducer[] = !environment.production ? [] : [];\r\n","import { createSelector } from '@ngrx/store';\r\n\r\nimport * as fromFeature from '../reducers';\r\nimport * as fromInitiative from '../reducers/initiatives.reducer';\r\nimport * as fromRoot from '../../../store';\r\nimport * as fromAuth from '../../../auth/store';\r\nimport { Initiative } from '../../models';\r\nimport { findNearest, getDistance } from 'geolib';\r\nimport { getGeoLocationPosition } from '../../../geo-location/store';\r\n\r\nexport const getInitiativeState = createSelector(\r\n fromFeature.getInitiativesState,\r\n (state: fromFeature.InitiativeState) => state.initiatives\r\n);\r\n\r\nexport const getInitiativesEntities = createSelector(getInitiativeState, fromInitiative.getInitiativesEntities);\r\n\r\nexport const getAllInitiatives = createSelector(getInitiativesEntities, entities => {\r\n return Object.keys(entities).map(id => entities[+id]);\r\n});\r\n\r\nexport const getInitiativesLoaded = createSelector(getInitiativeState, fromInitiative.getInitiativesLoaded);\r\nexport const getInitiativesLoading = createSelector(getInitiativeState, fromInitiative.getInitiativesLoading);\r\nexport const getInitiativesSortOrder = createSelector(getInitiativeState, fromInitiative.getInitiativesSortOrder);\r\nexport const getInitiativeSaved = createSelector(getInitiativeState, fromInitiative.getInitiativeSaved);\r\nexport const getInitiativeSaving = createSelector(getInitiativeState, fromInitiative.getInitiativeSaving);\r\nexport const getInitiativesPage = createSelector(getInitiativeState, fromInitiative.getInitiativesPage);\r\n\r\nexport const getOrderedInitiatives = createSelector(\r\n getAllInitiatives,\r\n getInitiativesPage,\r\n getInitiativesSortOrder,\r\n getGeoLocationPosition,\r\n (initiatives, page, order, position) => {\r\n if (!position) {\r\n return initiatives.sort((a, b) => +b.featured - +a.featured || (new Date(b.createdOn) > new Date(a.createdOn) ? 1 : -1));\r\n }\r\n\r\n switch (order) {\r\n case 0:\r\n return initiatives.sort((a, b) => +b.featured - +a.featured || (new Date(b.createdOn) > new Date(a.createdOn) ? 1 : -1));\r\n case 1:\r\n return initiatives.sort((a, b) => {\r\n var p = position as any;\r\n if (!a.locations?.length || !b.locations?.length) {\r\n return 0;\r\n }\r\n\r\n // Sort by the distance of the closest location in a.locations\r\n var aLoc = findNearest({ latitude: p.coords.latitude, longitude: p.coords.longitude }, a.locations);\r\n var bLoc = findNearest({ latitude: p.coords.latitude, longitude: p.coords.longitude }, b.locations);\r\n\r\n return (\r\n getDistance({ latitude: p.coords.latitude, longitude: p.coords.longitude }, aLoc) -\r\n getDistance({ latitude: p.coords.latitude, longitude: p.coords.longitude }, bLoc)\r\n );\r\n });\r\n default:\r\n return initiatives.sort((a, b) => +b.featured - +a.featured || (new Date(b.createdOn) > new Date(a.createdOn) ? 1 : -1));\r\n }\r\n }\r\n);\r\n\r\nexport const getMyInitiatives = createSelector(getAllInitiatives, fromAuth.getAuthUser, (initiatives, usr) => {\r\n return initiatives?.filter(a => a.createdById === usr?.id);\r\n});\r\n\r\nexport const getSelectedInitiative = createSelector(getInitiativesEntities, fromRoot.getRouterState, (entities, router): Initiative => {\r\n return router.state && entities[router.state.params?.['initiativeId'] || router.state.data?.['id']];\r\n});\r\n\r\nexport const getSelectedInitiativeLoaded = createSelector(getSelectedInitiative, (c: Initiative) => {\r\n return c?.loaded;\r\n});\r\n\r\nexport const getSelectedInitiativeLoading = createSelector(getSelectedInitiative, (c: Initiative) => {\r\n return c?.loading;\r\n});\r\n","import { createSelector } from '@ngrx/store';\r\n\r\nimport * as fromFeature from '../reducers';\r\nimport * as fromInitiative from '../reducers/my-initiatives.reducer';\r\n\r\nexport const getMyInitiativeState = createSelector(\r\n fromFeature.getInitiativesState,\r\n (state: fromFeature.InitiativeState) => state.myInitiatives\r\n);\r\n\r\nexport const getMyInitiativesEntities = createSelector(getMyInitiativeState, fromInitiative.getMyInitiativesEntities);\r\n\r\nexport const getAllMyInitiatives = createSelector(getMyInitiativesEntities, entities => {\r\n return Object.keys(entities).map(id => entities[+id]);\r\n});\r\n\r\nexport const getMyInitiativesLoaded = createSelector(getMyInitiativeState, fromInitiative.getMyInitiativesLoaded);\r\nexport const getMyInitiativesLoading = createSelector(getMyInitiativeState, fromInitiative.getMyInitiativesLoading);\r\n\r\nexport const getMyOrderedInitiatives = createSelector(getAllMyInitiatives, initiatives => {\r\n return initiatives.sort((a, b) => (a.title > b.title ? 1 : -1));\r\n});\r\n","import { Injectable, Optional, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Initiative, InitiativeData, UpdateInitiativeData } from '../models/initiative.model';\r\nimport { PagedOverview } from 'src/app/core/models';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class InitiativesService {\r\n constructor(\r\n private http: HttpClient,\r\n @Optional()\r\n @Inject('BASE_URL')\r\n private BASE_URL: string\r\n ) {}\r\n\r\n getInitiatives(skip: number = 0, take: number = 0, theme: number = 0, sortOrder: number = 0, lat = '', lng = '') {\r\n return this.http.get>(\r\n `${this.BASE_URL}api/initiatives?take=${take}&skip=${skip}&theme=${theme}&sortOrder=${sortOrder}&lat=${lat}&lng=${lng}`\r\n );\r\n }\r\n\r\n getMyInitiatives() {\r\n return this.http.get(`${this.BASE_URL}api/initiatives/me`);\r\n }\r\n\r\n getInitiative(id: number) {\r\n return this.http.get(`${this.BASE_URL}api/initiatives/${id}`);\r\n }\r\n\r\n getRelatedInitiatives(id: number) {\r\n return this.http.get<{ score: number; source: Initiative }[]>(`${this.BASE_URL}api/initiatives/${id}/related-initiatives`);\r\n }\r\n\r\n createInitiative(data: InitiativeData) {\r\n const formData: FormData = new FormData();\r\n formData.append('title', data.title);\r\n formData.append('subtitle', data.subtitle);\r\n formData.append('intro', data.intro);\r\n formData.append('text', data.text);\r\n formData.append('entireArea', data.entireArea.toString());\r\n\r\n if (data.image instanceof Blob) {\r\n formData.append('image', data.image);\r\n } else {\r\n formData.append('image', (null as unknown));\r\n }\r\n\r\n formData.append('imageAltText', data.imageAltText || '');\r\n formData.append('imageCaption', data.imageCaption || '');\r\n\r\n if (data.contactImage instanceof Blob) {\r\n formData.append('contactImage', data.contactImage);\r\n } else {\r\n formData.append('contactImage', (null as unknown));\r\n }\r\n\r\n if (data.contactLogo instanceof Blob) {\r\n formData.append('contactLogo', data.contactLogo);\r\n } else {\r\n formData.append('contactLogo', (null as unknown));\r\n }\r\n\r\n formData.append('contactImageAltText', data.contactImageAltText || '');\r\n formData.append('contactName', data.contactName || '');\r\n formData.append('contactEmail', data.contactEmail || '');\r\n formData.append('contactPhone', data.contactPhone || '');\r\n formData.append('showContactOnPlatform', data.showContactOnPlatform.toString());\r\n\r\n data.locations.forEach((location, i) => {\r\n formData.append(`locations[${i}].id`, location.id.toString());\r\n formData.append(`locations[${i}].label`, location.label);\r\n formData.append(`locations[${i}].lat`, location.lat.toString());\r\n formData.append(`locations[${i}].lng`, location.lng.toString());\r\n });\r\n\r\n data.themes.forEach((theme, i) => {\r\n formData.append(`themes[${i}].id`, theme.id.toString());\r\n formData.append(`themes[${i}].title`, theme.title);\r\n formData.append(`themes[${i}].icon`, theme.icon);\r\n });\r\n return this.http.post(`${this.BASE_URL}api/initiatives`, formData);\r\n }\r\n\r\n updateInitiative(id: number, data: UpdateInitiativeData) {\r\n const formData: FormData = this._buildInitiativeFormData(data);\r\n return this.http.put(`${this.BASE_URL}api/initiatives/${id}`, formData);\r\n }\r\n\r\n deleteInitiative(id: number) {\r\n return this.http.delete(`${this.BASE_URL}api/initiatives/${id}`);\r\n }\r\n\r\n private _buildInitiativeFormData(data: UpdateInitiativeData) {\r\n const formData: FormData = new FormData();\r\n formData.append('title', data.title);\r\n formData.append('subtitle', data.subtitle);\r\n formData.append('intro', data.intro);\r\n formData.append('text', data.text);\r\n formData.append('entireArea', data.entireArea.toString());\r\n\r\n if (data.image instanceof Blob) {\r\n formData.append('image', data.image);\r\n } else {\r\n formData.append('image', (null as unknown));\r\n }\r\n\r\n formData.append('imageAltText', data.imageAltText || '');\r\n formData.append('imageCaption', data.imageCaption || '');\r\n\r\n if (data.contactImage instanceof Blob) {\r\n formData.append('contactImage', data.contactImage);\r\n } else {\r\n formData.append('contactImage', (null as unknown));\r\n }\r\n\r\n if (data.contactLogo instanceof Blob) {\r\n formData.append('contactLogo', data.contactLogo);\r\n } else {\r\n formData.append('contactLogo', (null as unknown));\r\n }\r\n\r\n formData.append('contactImageAltText', data.contactImageAltText || '');\r\n formData.append('contactName', data.contactName || '');\r\n formData.append('contactEmail', data.contactEmail || '');\r\n formData.append('contactPhone', data.contactPhone || '');\r\n formData.append('showContactOnPlatform', data.showContactOnPlatform.toString());\r\n\r\n data.themes.forEach((theme, i) => {\r\n formData.append(`themes[${i}].id`, theme.id.toString());\r\n formData.append(`themes[${i}].title`, theme.title);\r\n formData.append(`themes[${i}].icon`, theme.icon);\r\n });\r\n\r\n data.locations.forEach((location, i) => {\r\n formData.append(`locations[${i}].id`, location.id.toString());\r\n formData.append(`locations[${i}].label`, location.label);\r\n formData.append(`locations[${i}].lat`, location.lat.toString());\r\n formData.append(`locations[${i}].lng`, location.lng.toString());\r\n });\r\n\r\n formData.append('id', data.id?.toString());\r\n\r\n return formData;\r\n }\r\n\r\n likeInitiative(id: number) {\r\n return this.http.post(`${this.BASE_URL}api/content/${id}/vote`, null);\r\n }\r\n}\r\n","import { InitiativesEffects } from './initiatives.effect';\r\nimport { MyInitiativesEffects } from './my-initiatives.effect';\r\nexport * from './initiatives.effect';\r\nexport * from './my-initiatives.effect';\r\nexport const effects = [InitiativesEffects, MyInitiativesEffects];\r\n","import { Injectable } from '@angular/core';\r\nimport { createEffect, ofType, Actions } from '@ngrx/effects';\r\nimport { of } from 'rxjs';\r\nimport * as actions from '../actions/initiatives.action';\r\nimport { switchMap, map, catchError, tap, withLatestFrom } from 'rxjs/operators';\r\nimport { InitiativesService } from '../../services';\r\nimport { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar';\r\nimport { Router } from '@angular/router';\r\nimport { Go } from '../../../store';\r\nimport { Store } from '@ngrx/store';\r\nimport { getInitiativesPage, getInitiativesSortOrder } from '../selectors';\r\nimport { getGeoLocationPosition } from 'src/app/geo-location/store';\r\n\r\n@Injectable()\r\nexport class InitiativesEffects {\r\n constructor(\r\n private actions$: Actions,\r\n private service: InitiativesService,\r\n private router: Router,\r\n private sb: MatSnackBar,\r\n private store: Store\r\n ) {}\r\n\r\n LoadInitiative$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(actions.LoadInitiative),\r\n switchMap(({ id }) =>\r\n this.service.getInitiative(id).pipe(\r\n map(initiative => actions.LoadInitiativeSuccess({ initiative })),\r\n catchError(error => of(actions.LoadInitiativeFail({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n LoadInitiatives$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(actions.LoadInitiatives),\r\n withLatestFrom(this.store.select(getInitiativesSortOrder), this.store.select(getGeoLocationPosition)),\r\n switchMap(([{ skip, take, theme }, order, pos]) =>\r\n this.service.getInitiatives(skip, take, theme, order, `${pos?.coords.latitude}`, `${pos?.coords.longitude}`).pipe(\r\n map(initiatives => actions.LoadInitiativesSuccess({ initiatives })),\r\n catchError(error => of(actions.LoadInitiativesFail({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n LoadMoreInitiatives$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(actions.LoadMoreInitiatives),\r\n withLatestFrom(\r\n this.store.select(getInitiativesPage),\r\n this.store.select(getInitiativesSortOrder),\r\n this.store.select(getGeoLocationPosition)\r\n ),\r\n switchMap(([{}, pagedata, order, pos]) =>\r\n this.service\r\n .getInitiatives(\r\n (pagedata.currentPage + 1) * pagedata.pageSize,\r\n pagedata.pageSize,\r\n pagedata.filters['theme'],\r\n order,\r\n `${pos?.coords.latitude}`,\r\n `${pos?.coords.longitude}`\r\n )\r\n .pipe(\r\n map(initiatives => actions.LoadMoreInitiativesSuccess({ initiatives })),\r\n catchError(error => of(actions.LoadInitiativesFail({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n CreateInitiative$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(actions.CreateInitiative),\r\n switchMap(({ initiativeData }) =>\r\n this.service.createInitiative(initiativeData).pipe(\r\n map(initiative => actions.CreateInitiativeSuccess({ initiative })),\r\n catchError(error => of(actions.CreateInitiativeFail({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n UpdateInitiative$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(actions.UpdateInitiative),\r\n switchMap(({ id, initiativeData }) =>\r\n this.service.updateInitiative(id, initiativeData).pipe(\r\n map(initiative => actions.UpdateInitiativeSuccess({ initiative })),\r\n catchError(error => of(actions.UpdateInitiativeFail({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n DeleteInitiative$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(actions.DeleteInitiative),\r\n switchMap(({ id }) =>\r\n this.service.deleteInitiative(id).pipe(\r\n map(initiative => actions.DeleteInitiativeSuccess({ initiative })),\r\n catchError(error => of(actions.DeleteInitiativeFail({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n updateInitiativeSuccess$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(actions.UpdateInitiativeSuccess),\r\n tap(({ initiative }) => {\r\n this.sb.open('Initiatief geüpdatet!', '');\r\n }),\r\n map(({ initiative }) => Go({ path: initiative.url }))\r\n );\r\n });\r\n\r\n createInitiativeSuccess$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(actions.CreateInitiativeSuccess),\r\n tap(({ initiative }) => {\r\n this.sb.open('Initiatief aangemaakt!', '');\r\n }),\r\n map(({ initiative }) => Go({ path: initiative.url }))\r\n );\r\n });\r\n\r\n deleteInitiativeSuccess$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(actions.DeleteInitiativeSuccess),\r\n tap(({ initiative }) => {\r\n this.sb.open('Initiatief verwijderd!', '');\r\n }),\r\n map(({ initiative }) => Go({ path: ['/', 'initiatieven'] }))\r\n );\r\n });\r\n\r\n LikeInitiative$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(actions.LikeInitiative),\r\n switchMap(({ id }) =>\r\n this.service.likeInitiative(id).pipe(\r\n map(initiative => actions.LikeInitiativeSuccess({ initiative })),\r\n catchError(error => of(actions.LikeInitiativeFail({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n LoadByIdFail$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(actions.LoadInitiativeFail),\r\n map(({ error }) => {\r\n return Go({ path: ['/' + error?.status ? error.status : '404'], extras: { skipLocationChange: true } });\r\n })\r\n );\r\n });\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { createEffect, ofType, Actions } from '@ngrx/effects';\r\nimport { of } from 'rxjs';\r\nimport * as actions from '../actions/my-initiatives.action';\r\nimport { switchMap, map, catchError, tap, withLatestFrom } from 'rxjs/operators';\r\nimport { InitiativesService } from '../../services';\r\nimport { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar';\r\nimport { Router } from '@angular/router';\r\nimport { Go } from '../../../store';\r\nimport { Store } from '@ngrx/store';\r\nimport { getInitiativesPage, getInitiativesSortOrder } from '../selectors';\r\nimport { getGeoLocationPosition } from 'src/app/geo-location/store';\r\n\r\n@Injectable()\r\nexport class MyInitiativesEffects {\r\n constructor(\r\n private actions$: Actions,\r\n private service: InitiativesService,\r\n private router: Router,\r\n private sb: MatSnackBar,\r\n private store: Store\r\n ) {}\r\n\r\n LoadMyInitiatives$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(actions.LoadMyInitiatives),\r\n switchMap(() =>\r\n this.service.getMyInitiatives().pipe(\r\n map(initiatives => actions.LoadMyInitiativesSuccess({ initiatives })),\r\n catchError(error => of(actions.LoadMyInitiativesFail({ error })))\r\n )\r\n )\r\n );\r\n });\r\n}\r\n"],"x_google_ignoreList":[]}