{"version":3,"file":"main.003aea643203d17f.js","mappings":"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iBAAiB,CAAC;IAChC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AAChD,MAAM,CAAC,GAAG,GAAG,+CAA+C,+EAAwB,+BAA+B,CAAC;AACpH,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAElC,wEAAwB;KACrB,eAAe,CAAC,sDAAS,CAAC;KAC1B,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;;;;;;;;;;;ACxBtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["./src/app/_core/api/account.service.ts","./src/app/_core/api/admin.service.ts","./src/app/_core/api/general.service.ts","./src/app/_core/api/google-analytics.service.ts","./src/app/_core/constants/ButtonType.ts","./src/app/_core/constants/CompanyOrFirm.ts","./src/app/_core/constants/EnvironmentConst.ts","./src/app/_core/constants/FileType.ts","./src/app/_core/constants/Filters/FilterTypes.ts","./src/app/_core/constants/GiveButtonBehavior.ts","./src/app/_core/constants/Global/Language.ts","./src/app/_core/constants/Global/Loader.ts","./src/app/_core/constants/Global/SortOptions.ts","./src/app/_core/constants/GooglePlaces.ts","./src/app/_core/constants/Groups/Group.ts","./src/app/_core/constants/Modals.ts","./src/app/_core/constants/NumberFormats.ts","./src/app/_core/constants/Privileges.ts","./src/app/_core/constants/ServerError.ts","./src/app/_core/constants/ToastrMessages.ts","./src/app/_core/constants/Urls.ts","./src/app/_core/constants/User.ts","./src/app/_core/constants/regexCodes.ts","./src/app/_core/core.module.ts","./src/app/_core/guards/no-auth.guard.ts","./src/app/_core/helpers/CustomValidators.helpers.ts","./src/app/_core/helpers/FormFactoryUtils.ts","./src/app/_core/helpers/FormUtils.ts","./src/app/_core/helpers/Storage.helper.ts","./src/app/_core/helpers/Utils.ts","./src/app/_core/interceptors/keycloak-token-interceptor.service.ts","./src/app/_core/models/AnnouncementBanner.ts","./src/app/_core/models/CustomAddress.ts","./src/app/_core/models/FileInfo.ts","./src/app/_core/models/FormControls.ts","./src/app/_core/models/GenericObject.ts","./src/app/_core/models/GlobalConfig.ts","./src/app/_core/models/UploadResponse.ts","./src/app/_core/models/filters/Dashboard.ts","./src/app/_core/models/filters/Filters.ts","./src/app/_core/models/forms/GSFormControl.ts","./src/app/_core/models/global-settings/HomepageConfig.ts","./src/app/_core/services/api.service.ts","./src/app/_core/services/app-initializer.service.ts","./src/app/_core/services/currency.service.ts","./src/app/_core/services/dropdowns.service.ts","./src/app/_core/services/global-config.service.ts","./src/app/_core/services/language.service.ts","./src/app/_core/services/loader.service.ts","./src/app/_core/services/modals.service.ts","./src/app/_core/services/privileges.service.ts","./src/app/_core/services/toast.service.ts","./src/app/_core/services/upload.service.ts","./src/app/_core/services/user.service.ts","./src/app/_core/sso/sso-app-initializer.factory.ts","./src/app/_core/sso/sso-module.config.ts","./src/app/_core/sso/sso.config.ts","./src/app/_core/sso/sso.module.ts","./src/app/_core/sso/sso.service.ts","./src/app/_shared/_modals/cancel-changes/cancel-changes.component.ts","./src/app/_shared/_modals/cancel-changes/cancel-changes.component.html","./src/app/_shared/_modals/crop-modal/crop-modal.component.ts","./src/app/_shared/_modals/crop-modal/crop-modal.component.html","./src/app/_shared/_modals/delete-confirmation/delete-confirmation.component.ts","./src/app/_shared/_modals/delete-confirmation/delete-confirmation.component.html","./src/app/_shared/_modals/idle-entity/idle-entity-modal.component.ts","./src/app/_shared/_modals/idle-entity/idle-entity-modal.component.html","./src/app/_shared/_modals/media/media.component.ts","./src/app/_shared/_modals/media/media.component.html","./src/app/_shared/_modals/modals-container/modals-container.component.ts","./src/app/_shared/_modals/share-buttons-modal/share-buttons-modal.component.ts","./src/app/_shared/_modals/share-buttons-modal/share-buttons-modal.component.html","./src/app/_shared/_modals/story-modal/story-modal.component.ts","./src/app/_shared/_modals/story-modal/story-modal.component.html","./src/app/_shared/components/action-buttons/action-buttons.component.ts","./src/app/_shared/components/action-buttons/action-buttons.component.html","./src/app/_shared/components/currency/currency.component.ts","./src/app/_shared/components/currency/currency.component.html","./src/app/_shared/components/deal-carousel/deal-carousel.component.ts","./src/app/_shared/components/deal-carousel/deal-carousel.component.html","./src/app/_shared/components/document-card/document-card.component.ts","./src/app/_shared/components/document-card/document-card.component.html","./src/app/_shared/components/file-upload/file-upload.component.ts","./src/app/_shared/components/file-upload/file-upload.component.html","./src/app/_shared/components/filters-search-and-sort/filters-search-and-sort.component.ts","./src/app/_shared/components/filters-search-and-sort/filters-search-and-sort.component.html","./src/app/_shared/components/filters/filters.component.ts","./src/app/_shared/components/filters/filters.component.html","./src/app/_shared/components/footer/footer.component.ts","./src/app/_shared/components/footer/footer.component.html","./src/app/_shared/components/form-control-validation/form-control-validation.component.ts","./src/app/_shared/components/form-control-validation/form-control-validation.component.html","./src/app/_shared/components/google-places/google-places.component.ts","./src/app/_shared/components/google-places/google-places.component.html","./src/app/_shared/components/legal/legal.component.ts","./src/app/_shared/components/legal/legal.component.html","./src/app/_shared/components/loader/loader.component.ts","./src/app/_shared/components/loader/loader.component.html","./src/app/_shared/components/loading-spinner/loading-spinner.component.ts","./src/app/_shared/components/loading-spinner/loading-spinner.component.html","./src/app/_shared/components/main-button/main-button.component.ts","./src/app/_shared/components/main-button/main-button.component.html","./src/app/_shared/components/maintenance/maintenance.component.ts","./src/app/_shared/components/maintenance/maintenance.component.html","./src/app/_shared/components/media-info/media-info.component.ts","./src/app/_shared/components/media-info/media-info.component.html","./src/app/_shared/components/next-prev-buttons/next-prev-buttons.component.ts","./src/app/_shared/components/next-prev-buttons/next-prev-buttons.component.html","./src/app/_shared/components/no-items-found/no-items-found.component.ts","./src/app/_shared/components/no-items-found/no-items-found.component.html","./src/app/_shared/components/page-not-found/error.component.ts","./src/app/_shared/components/page-not-found/error.component.html","./src/app/_shared/components/progress-bar/progress-bar.component.ts","./src/app/_shared/components/progress-bar/progress-bar.component.html","./src/app/_shared/components/project-updates-carousel/project-updates-carousel.component.ts","./src/app/_shared/components/project-updates-carousel/project-updates-carousel.component.html","./src/app/_shared/components/read-more-button/read-more-button.component.ts","./src/app/_shared/components/read-more-button/read-more-button.component.html","./src/app/_shared/components/restricted-area/restricted-area.component.ts","./src/app/_shared/components/restricted-area/restricted-area.component.html","./src/app/_shared/components/scroll-top/scroll-top.component.ts","./src/app/_shared/components/scroll-top/scroll-top.component.html","./src/app/_shared/components/search-bar/search-bar.component.ts","./src/app/_shared/components/search-bar/search-bar.component.html","./src/app/_shared/components/search-entity-multi-select/search-entity-multi-select.component.ts","./src/app/_shared/components/search-entity-multi-select/search-entity-multi-select.component.html","./src/app/_shared/components/search-entity/search-entity.component.ts","./src/app/_shared/components/search-entity/search-entity.component.html","./src/app/_shared/components/shared-buttons/shared-buttons.component.ts","./src/app/_shared/components/shared-buttons/shared-buttons.component.html","./src/app/_shared/components/sort-by/sort-by.component.ts","./src/app/_shared/components/sort-by/sort-by.component.html","./src/app/_shared/components/text-editor/text-editor.component.ts","./src/app/_shared/components/text-editor/text-editor.component.html","./src/app/_shared/components/update-card/update-card.component.ts","./src/app/_shared/components/update-card/update-card.component.html","./src/app/_shared/components/upload-progress-bar/upload-progress-bar.component.ts","./src/app/_shared/components/upload-progress-bar/upload-progress-bar.component.html","./src/app/_shared/directives/bolded-title.directive.ts","./src/app/_shared/directives/chip-list-autocomplete.directive.ts","./src/app/_shared/directives/number-formatter.directive.ts","./src/app/_shared/directives/recaptcha.directive.ts","./src/app/_shared/directives/sticky-header.directive.ts","./src/app/_shared/pipes/bold-substring.pipe.ts","./src/app/_shared/pipes/cut-separator.pipe.ts","./src/app/_shared/pipes/enum-to-string.pipe.ts","./src/app/_shared/pipes/extract-array-from-object.pipe.ts","./src/app/_shared/pipes/filter.pipe.ts","./src/app/_shared/pipes/format-address.pipe.ts","./src/app/_shared/pipes/format-number.pipe.ts","./src/app/_shared/pipes/negative-numbers.pipe.ts","./src/app/_shared/pipes/object-iteration.pipe.ts","./src/app/_shared/pipes/sanitize-html.pipe.ts","./src/app/_shared/pipes/sanitize-url.pipe.ts","./src/app/_shared/pipes/single-word.pipe.ts","./src/app/_shared/pipes/sort.pipe.ts","./src/app/_shared/pipes/titlecase-name.pipe.ts","./src/app/_shared/pipes/translate-cut.pipe.ts","./src/app/_shared/pipes/truncate.pipe.ts","./src/app/_shared/pipes/variable-to-string.pipe.ts","./src/app/_shared/pipes/website.pipe.ts","./src/app/_shared/shared.module.ts","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/internal-app/settings/admin/_helpers/decline-entity/decline-entity.component.ts","./src/app/internal-app/settings/admin/_helpers/decline-entity/decline-entity.component.html","./src/environments/tb/environment.prod-sso.ts","./src/main.ts","./node_modules/moment/locale/ sync ^\\.\\/.*$"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { forkJoin, Observable } from 'rxjs';\nimport { environment } from '../../../environments/environment';\nimport { FileType } from '../constants/FileType';\nimport { RegisterRequest } from '../models/Auth';\nimport { ApiService } from '../services/api.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccountService {\n private readonly resourceUrl: string = '/v1/users';\n private readonly resourceAdminUrl: string = '/v1/admin';\n\n // prettier-ignore\n constructor(\n private apiService: ApiService\n ) {\n }\n\n getUserInfo() {\n return this.apiService.get(`${this.resourceUrl}/get-user-info`);\n }\n\n register(registerRequest: RegisterRequest, token: string): Observable {\n return token\n ? this.apiService.post(`${this.resourceUrl}/register/${token}`, registerRequest)\n : this.apiService.post(`${this.resourceUrl}/register-user`, registerRequest);\n }\n\n logout(): Observable {\n return this.apiService.get(`${this.resourceUrl}/logout`);\n }\n\n completeRegistration(body): Observable {\n return this.apiService.post(`${this.resourceUrl}/complete-registration`, body);\n }\n\n confirmEmail(token: string, update: boolean) {\n return update\n ? this.apiService.get(`${this.resourceUrl}/confirm-email-update/${token}`)\n : this.apiService.get(`${this.resourceUrl}/confirm-email/${token}`);\n }\n\n resendEmail(emailOrToken: string) {\n return this.apiService.post(`${this.resourceUrl}/resend-email/${emailOrToken}`, null);\n }\n\n updateUserInfo(uuid, body) {\n return uuid\n ? this.apiService.post(`${this.resourceAdminUrl}/user-profile-update/${uuid}`, body)\n : this.apiService.post(`${this.resourceUrl}/account-update`, body);\n }\n\n getUploadProfileImageUrl() {\n return `${environment.server}${this.resourceUrl}/upload-user-file`;\n }\n\n changePassword(body) {\n return this.apiService.post(`${this.resourceUrl}/change-password`, body);\n }\n\n getResetPasswordLink(email: string): Observable {\n return this.apiService.get(`${this.resourceAdminUrl}/reset-password-link?email=${email}`);\n }\n\n getUserOptions() {\n return this.apiService.get(`${this.resourceUrl}/user-options`);\n }\n\n getDropdownsAndUserInfo(uuid: string) {\n const userDropdowns = this.apiService.get(`${this.resourceUrl}/dropdowns`);\n const userDetails = uuid\n ? this.apiService.get(`${this.resourceAdminUrl}/get-user-profile/${uuid}`)\n : this.apiService.get(`${this.resourceUrl}/get-user-info`);\n return forkJoin([userDropdowns, userDetails]);\n }\n\n deleteUserFile(fileUuid: string, fileType: FileType, userUuid: string) {\n return userUuid\n ? this.apiService.delete(`${this.resourceUrl}/delete-admin-user-image`, { fileUuid, fileType, userUuid })\n : this.apiService.delete(`${this.resourceUrl}/delete-user-file`, { fileUuid, fileType });\n }\n\n deleteFileByAdmin(fileUuid: string, fileType: FileType, userUuid: string) {\n return this.apiService.delete(`${this.resourceUrl}/delete-admin-user-image`, { fileUuid, fileType, userUuid });\n }\n\n toggleWatchlist(body) {\n return this.apiService.post(`${this.resourceUrl}/toggle-watchlist`, body);\n }\n\n getInvitedUserDetails(token: string) {\n return this.apiService.post(`${this.resourceUrl}/get-invited-user-details/${token}`);\n }\n\n deleteAccount() {\n return this.apiService.delete(`${this.resourceUrl}/delete-account`);\n }\n\n saveGlobalSettings(body) {\n return this.apiService.put(`${this.resourceUrl}/save-global-settings`, body);\n }\n\n resendInvitation(payload: any) {\n return this.apiService.post(`${this.resourceUrl}/resend-invitation`, null, payload);\n }\n\n deleteInvitation(payload: any) {\n return this.apiService.post(`${this.resourceUrl}/delete-invitation`, payload);\n }\n\n getLanguageJson(lang: string): Observable {\n return this.apiService.get(`${this.resourceUrl}/json-language`, { languageCode: lang });\n }\n\n getUserSearchLog(): Observable {\n return this.apiService.get(`${this.resourceUrl}/get-user-search-log`);\n }\n\n clearUserSearchLogs(): Observable {\n return this.apiService.delete(`${this.resourceUrl}/clear-search-log`);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ApiService } from '../services/api.service';\nimport { Observable } from 'rxjs';\nimport { EntityType } from '../constants/CompanyOrFirm';\nimport { environment } from '../../../environments/environment';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AdminService {\n private readonly resourceUrl: string = '/v1/admin';\n\n // prettier-ignore\n constructor(\n private apiService: ApiService\n ) {\n }\n\n getUsers(body: any) {\n return this.apiService.post(`${this.resourceUrl}/get-users`, body);\n }\n\n exportUsers(body: any) {\n return this.apiService.post(`${this.resourceUrl}/download-user-file`, body);\n }\n\n getPermissionItems() {\n return this.apiService.get(`${this.resourceUrl}/get-permission-items`);\n }\n\n changeUserPermission(body: any) {\n return this.apiService.post(`${this.resourceUrl}/change-permission`, body);\n }\n\n updateInvitationVetted(body) {\n return this.apiService.post(`${this.resourceUrl}/update-token`, body);\n }\n\n changeVetted(invited: boolean, body: any) {\n return invited ? this.updateInvitationVetted(body) : this.changeUserPermission(body);\n }\n\n restoreUser(uuid: string) {\n return this.apiService.put(`${this.resourceUrl}/unarchive-user/${uuid}`);\n }\n\n archiveUser(uuid: string) {\n return this.apiService.put(`${this.resourceUrl}/archive-user/${uuid}`);\n }\n\n deleteUser(uuid: string) {\n return this.apiService.delete(`${this.resourceUrl}/delete-user/${uuid}`);\n }\n\n getUploadImageUrl() {\n return `${environment.server}${this.resourceUrl}/upload-files-for-user`;\n }\n\n inviteUsers(body: any) {\n return this.apiService.post(`${this.resourceUrl}/invite-user`, body);\n }\n\n getEntities(entityOptions: EntityType, searchInput: string) {\n return this.apiService.get(`${this.resourceUrl}/entities/${entityOptions}`, { searchInput });\n }\n\n checkName(email: string) {\n return this.apiService.get(`${this.resourceUrl}/check-name`, { email });\n }\n\n searchLanguage(name: string): Observable {\n return this.apiService.get(`${this.resourceUrl}/search-language/${name}`);\n }\n\n createUpdateLangauge(body): Observable {\n return this.apiService.post(`${this.resourceUrl}/create-update-language`, body);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ApiService } from '../services/api.service';\nimport { FileType } from '../constants/FileType';\nimport { environment } from '../../../environments/environment';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class GeneralService {\n private readonly resourceUrl: string = '/v1/general';\n\n // prettier-ignore\n constructor(\n private apiService: ApiService,\n ) {\n }\n\n getUploadUrl() {\n return `${environment.server}${this.resourceUrl}/upload/file`;\n }\n\n deleteFiles(entityUuid: string, fileType: FileType, fileUuid: string) {\n return this.apiService.delete(`${this.resourceUrl}/delete/file`, { entityUuid, fileType, fileUuid });\n }\n\n getDropdowns(): Observable {\n return this.apiService.get(`${this.resourceUrl}/dropdowns`);\n }\n\n saveGlobalKeyValue(body): Observable {\n return this.apiService.post(`${this.resourceUrl}/settings/create-update`, body);\n }\n\n getGlobalSettings(): Observable {\n return this.apiService.get(`/v2/general/settings`);\n }\n\n deleteGlobalSettingKey(key): Observable {\n return this.apiService.delete(`${this.resourceUrl}/settings/${key}`);\n }\n\n saveHomepageFocusConfig(body): Observable {\n return this.apiService.post(`${this.resourceUrl}/settings/carousel/create-update`, body);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { GlobalConfigService } from '../services/global-config.service';\n\ndeclare var gtag: Function;\n\n@Injectable({\n providedIn: 'root',\n})\nexport class GoogleAnalyticsService {\n constructor(private router: Router, private globalConfigSvc: GlobalConfigService) {}\n\n initialize() {\n this.onRouteChange();\n\n try {\n const trackingCode = this.globalConfigSvc.globalConfig.googleAnalyticsTrackingCode;\n const url = 'https://www.googletagmanager.com/gtag/js?id=';\n const gTagScript = document.createElement('script');\n gTagScript.async = true;\n gTagScript.src = `${url}${trackingCode}`;\n document.head.appendChild(gTagScript);\n\n const dataLayerScript = document.createElement('script');\n dataLayerScript.innerHTML = `\n window.dataLayer = window.dataLayer || [];\n function gtag(){dataLayer.push(arguments);}\n gtag('js', new Date());\n gtag('config', '${trackingCode}', {'send_page_view': false});`;\n document.head.appendChild(dataLayerScript);\n } catch (e) {\n console.error('Error adding Google Analytics', e);\n }\n }\n\n private onRouteChange() {\n this.router.events.subscribe((event) => {\n if (event instanceof NavigationEnd) {\n const trackingCode = this.globalConfigSvc.globalConfig.googleAnalyticsTrackingCode;\n gtag('config', trackingCode, {\n page_path: event.urlAfterRedirects,\n });\n }\n });\n }\n\n // use gtag.js to send Google Analytics Events\n public event(action: string, eventCategory?: string, eventLabel?: string, value?: string) {\n gtag('event', action, {\n ...(eventCategory && { event_category: eventCategory }),\n ...(eventLabel && { event_label: eventLabel }),\n ...(value && { value: value }),\n });\n }\n}\n","export enum ButtonType {\n NEXT,\n PREV,\n CANCEL,\n SAVE,\n SUBMIT,\n PREVIEW,\n TOGGLE,\n STATUS,\n}\n","export enum CompanyOrFirmStatus {\n ACTIVE = 'active',\n ARCHIVED = 'archived',\n}\n\nexport enum EntityStatus {\n LIVE = 'LIVE',\n DRAFT = 'DRAFT',\n IDLE = 'IDLE',\n PENDING = 'PENDING',\n ARCHIVED = 'ARCHIVED',\n DECLINED = 'DECLINED',\n EXPIRED = 'EXPIRED',\n}\n\nexport const ENTITY_STATUS_ACTIONS = [\n {\n status: EntityStatus.LIVE,\n action: 'MAKE_LIVE',\n },\n {\n status: EntityStatus.PENDING,\n action: 'MAKE_PENDING',\n },\n {\n status: EntityStatus.IDLE,\n action: 'MAKE_IDLE',\n },\n {\n status: EntityStatus.ARCHIVED,\n action: 'ARCHIVE',\n },\n {\n status: EntityStatus.DECLINED,\n action: 'DECLINE',\n },\n];\n\nexport enum EntityType {\n ORGANIZATION = 'ORGANISATION',\n PORTFOLIO = 'PORTFOLIO',\n}\n\nexport enum ProjectType {\n PROJECT = 'PROJECT',\n ORGANISATION = 'ORGANISATION',\n PORTFOLIO = 'PORTFOLIO',\n CHARITY_DIRECTORY = 'CHARITY_DIRECTORY',\n}\n\nexport enum ENTITY_TYPE {\n PROJECT = 'PROJECT',\n ORGANISATION = 'ORGANISATION',\n GROUP = 'GROUP',\n PORTFOLIO = 'PORTFOLIO',\n}\n\nexport const ProjectTypeVideos = [\n {\n title: ProjectType.CHARITY_DIRECTORY,\n videoSource: 'https://charities-files.s3.us-west-1.amazonaws.com/public/TrustBridge+Global+Charity+Directory.mp4',\n },\n];\n\nexport enum Watchlist {\n ADD = 'ADD',\n REMOVE = 'REMOVE',\n}\n\nexport enum CommentType {\n QUESTION = 'QUESTION',\n ANSWER = 'ANSWER',\n}\n","export enum EnvironmentName {\n TB = 'Trustbridge',\n EGCC = 'EGCC',\n SE = 'SaltExchange',\n MACLELLAN = 'Maclellan',\n SINNGEBER = 'Sinngeber',\n PCP = 'Pcp',\n}\n\nexport enum TenantId {\n TRUSTBRIDGE_DEMO = 'swiss_demo',\n TRUSTBRIDGE_DEV = 'swiss_dev',\n TRUSTBRIDGE_TEST = 'swiss_test ',\n TRUSTBRIDGE_PROD = 'swiss_prod',\n EGCC_DEV = 'egcc',\n EGCC_TEST = 'egcc_test',\n EGCC_PROD = 'egcc_prod',\n SALTEXCHANGE_PROD = 'saltexchange_prod',\n SALTEXCHANGE_TEST = 'saltexchange_test',\n MACLELLAN_PROD = 'maclellan_prod',\n SINNGEBER_PROD = 'sinngeber',\n PCP_PROD = 'pcp_prod',\n}\n","export enum FileType {\n IMG = 'IMG',\n IMAGE = 'IMAGE',\n VIDEO = 'VIDEO',\n DOC = 'DOC',\n PROFILE_IMAGE = 'PROFILE_IMAGE',\n CAROUSEL = 'CAROUSEL',\n\n ORGANISATION_LOGO = 'ORGANISATION_LOGO',\n ORGANISATION_VIDEO = 'ORGANISATION_VIDEO',\n ORGANISATION_IMAGE = 'ORGANISATION_IMAGE',\n ORGANISATION_LEADER_PICTURE = 'ORGANISATION_LEADER_PICTURE',\n ORGANISATION_TEAM_MEDIA_VIDEO = 'ORGANISATION_TEAM_MEDIA_VIDEO',\n ORGANISATION_TEAM_MEDIA_THUMBNAIL_VIDEO = 'ORGANISATION_TEAM_MEDIA_THUMBNAIL_VIDEO',\n ORGANISATION_TEAM_MEDIA_PICTURE = 'ORGANISATION_TEAM_MEDIA_PICTURE',\n EXECUTIVE_TEAM_PICTURE = 'EXECUTIVE_TEAM_PICTURE',\n BOARD_MEMBER_PICTURE = 'BOARD_MEMBER_PICTURE',\n ORGANISATION_CHAMPION_VIDEO = 'ORGANISATION_CHAMPION_VIDEO',\n ORGANISATION_CHAMPION_THUMBNAIL_VIDEO = 'ORGANISATION_CHAMPION_THUMBNAIL_VIDEO',\n ORGANISATION_CHAMPION_DILIGENCE_REPORT = 'ORGANISATION_CHAMPION_DILIGENCE_REPORT',\n ORGANISATION_DOCUMENT = 'ORGANISATION_DOCUMENT',\n\n PROJECT_VIDEO = 'PROJECT_VIDEO',\n PROJECT_IMAGE = 'PROJECT_IMAGE',\n PROJECT_TEAM_MEDIA_VIDEO = 'PROJECT_TEAM_MEDIA_VIDEO',\n PROJECT_TEAM_MEDIA_THUMBNAIL_VIDEO = 'PROJECT_TEAM_MEDIA_THUMBNAIL_VIDEO',\n PROJECT_TEAM_MEDIA_PICTURE = 'PROJECT_TEAM_MEDIA_PICTURE',\n PROJECT_TEAM_MEMBER = 'PROJECT_TEAM_MEMBER',\n PROJECT_CHAMPION_VIDEO = 'PROJECT_CHAMPION_VIDEO',\n PROJECT_CHAMPION_THUMBNAIL_VIDEO = 'PROJECT_CHAMPION_THUMBNAIL_VIDEO',\n PROJECT_CHAMPION_DILIGENCE_REPORT = 'PROJECT_CHAMPION_DILIGENCE_REPORT',\n PROJECT_UPDATE_PICTURE = 'PROJECT_UPDATE_PICTURE',\n PROJECT_UPDATE_VIDEO = 'PROJECT_UPDATE_VIDEO',\n PROJECT_UPDATE_VIDEO_THUMBNAIL = 'PROJECT_UPDATE_THUMBNAIL_VIDEO',\n PROJECT_DOCUMENT = 'PROJECT_DOCUMENT',\n\n GROUP_VISION_VIDEO = 'GROUP_VISION_VIDEO',\n GROUP_VISION_IMAGE = 'GROUP_VISION_IMAGE',\n GROUP_VISION_THUMBNAIL_VIDEO = 'GROUP_VISION_THUMBNAIL_VIDEO',\n GROUP_USEFUL_DOCUMENT = 'GROUP_USEFUL_DOCUMENT',\n ANNOUNCEMENT_DOCUMENT = 'ANNOUNCEMENT_DOCUMENT',\n ANNOUNCEMENT_COVER_IMAGE = 'ANNOUNCEMENT_COVER_IMAGE',\n\n PORTFOLIO_IMAGE = 'PORTFOLIO_IMAGE',\n PORTFOLIO_VIDEO = 'PORTFOLIO_VIDEO',\n PORTFOLIO_THUMBNAIL_VIDEO = 'PORTFOLIO_THUMBNAIL_VIDEO',\n PORTFOLIO_CHAMPION_VIDEO = 'PORTFOLIO_CHAMPION_VIDEO',\n PORTFOLIO_CHAMPION_DILIGENCE_REPORT = 'PORTFOLIO_CHAMPION_DILIGENCE_REPORT',\n\n APPLICATION_LOGO = 'APPLICATION_LOGO',\n GENERAL_VIDEO = 'GENERAL_VIDEO',\n GENERAL_IMAGE = 'GENERAL_IMAGE',\n CHAMPION_HIGH_QUALITY_IMAGE = 'CHAMPION_HIGH_QUALITY_IMAGE',\n CHAMPION_ENTITY_VIDEO = 'CHAMPION_ENTITY_VIDEO',\n CHAMPION_ENTITY_DOCUMENT = 'CHAMPION_ENTITY_DOCUMENT',\n\n BADGE_IMAGE = 'BADGE_IMAGE',\n GROUP_REPORT_ATTACHMENT = 'GROUP_REPORT_ATTACHMENT',\n}\n\nexport const DOC_FORMATS = ['txt', 'pdf', 'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx'];\nexport const IMG_FORMATS = ['jpg', 'jpeg', 'bmp', 'png', 'jfif', 'webp'];\nexport const VIDEO_FORMATS = ['mp4', 'mov', 'avi', 'mpeg', 'ogv', 'webm', '3gp'];\nexport const DOC_MIME_TYPES = [\n 'text/plain',\n 'application/pdf',\n 'application/msword',\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n 'application/vnd.ms-excel',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n 'application/vnd.ms-powerpoint',\n 'application/vnd.openxmlformats-officedocument.presentationml.presentation',\n];\nexport const IMG_MIME_TYPES = ['image/jpeg', 'image/bmp', 'image/png', 'image/webp'];\nexport const VIDEO_MIME_TYPES = [\n 'video/mp4',\n 'video/avi',\n 'video/quicktime',\n 'video/mpeg',\n 'video/ogg',\n 'video/x-msvideo',\n 'video/mp2t',\n 'video/webm',\n 'video/3gpp',\n 'video/3gpp2',\n];\nexport const investorPhotosExampleArray = [\n 'https://fdi-files.s3.amazonaws.com/public/IMG_2093232332.jpeg',\n 'https://fdi-files.s3.amazonaws.com/public/IMG_20180105_151443.jpg',\n 'https://fdi-files.s3.amazonaws.com/public/IMG_20180723_183422.jpg',\n 'https://fdi-files.s3.amazonaws.com/public/image.jpg',\n];\n","export enum FILTER_NAME {\n NEWLY_ADDED_PROJECT = 'NEWLY_ADDED_PROJECT',\n NEWLY_ADDED_ORGANIZATION = 'NEWLY_ADDED_ORGANIZATION',\n NEWLY_ADDED_PORTFOLIO = 'NEWLY_ADDED_PORTFOLIO',\n FEATURED_PROJECTS = 'FEATURED_PROJECTS',\n FEATURED_ORGANISATIONS = 'FEATURED_ORGANISATIONS',\n FEATURED_PORTFOLIOS = 'FEATURED_PORTFOLIOS',\n SEARCH = 'SEARCH',\n FUNDED = 'FUNDED',\n CLOSE_TO_CLOSING_PROJECT = 'CLOSE_TO_CLOSING_PROJECT',\n COUNTRY = 'COUNTRY',\n CAUSE = 'CAUSE',\n BADGES = 'BADGES',\n\n PROJECTS_CHAMPIONED = 'PROJECTS_CHAMPIONED',\n PROJECTS_CATEGORY = 'PROJECTS_CATEGORY',\n PROJECTS_REGION = 'PROJECTS_REGION',\n CHARITIES_CHAMPIONED = 'CHARITIES_CHAMPIONED',\n CHARITIES_CATEGORY = 'CHARITIES_CATEGORY',\n CHARITIES_REGION = 'CHARITIES_REGION',\n\n TYPE = 'TYPE',\n ROLE = 'ROLE',\n STATUS = 'STATUS',\n VETTED_STATUS = 'VETTED_STATUS',\n NEW_USERS = 'NEW_USERS',\n LAST_MODIFIED = 'LAST_MODIFIED',\n SEARCH_BY_ORGANISATION = 'SEARCH_BY_ORGANISATION',\n\n ARCHIVED = 'ARCHIVED',\n COMPLETED_REGISTRATION = 'COMPLETED_REGISTRATION',\n WAITING_ROOM = 'WAITING_ROOM',\n\n GROUPS_TYPE = 'GROUPS_TYPE',\n PROJECTS_DISCUSSED = 'PROJECTS_DISCUSSED',\n PROJECTS_STATUSES = 'PROJECTS_STATUSES',\n ORGANISATIONS_DISCUSSED = 'ORGANISATIONS_DISCUSSED',\n PORTFOLIOS_DISCUSSED = 'PORTFOLIOS_DISCUSSED',\n\n PROJECTS_INCLUDED = 'PROJECTS_INCLUDED',\n ORGANISATIONS_INCLUDED = 'ORGANISATIONS_INCLUDED',\n PORTFOLIO_TYPE = 'PORTFOLIO_TYPE',\n PORTFOLIO_CATEGORY = 'PORTFOLIO_CATEGORY',\n PORTFOLIO_REGION = 'PORTFOLIO_REGION',\n PORTFOLIOS_CHAMPIONED = 'PORTFOLIOS_CHAMPIONED',\n}\n","export enum GIVE_BUTTON_BEHAVIOUR {\n STANDARD = 'STANDARD',\n URL_REDIRECT = 'URL_REDIRECT',\n}\n","export const LANGUAGE_STATUS = {\n LIVE: 'LIVE',\n DRAFT: 'DRAFT',\n};\n\nexport enum LANGUAGE_ACTIONS {\n SAVE_DRAFT,\n SAVE_CHANGES,\n PUBLISH,\n UNPUBLISH,\n DELETE,\n}\n","export enum LOADER_TYPE {\n GLOBAL,\n LOCAL,\n}\n\nexport const NoLoaderRequests = ['group/notifications', '/check-name'];\n\n// prettier ignore\nexport const GlobalLoaderRequests = [\n '/get-user-info',\n 'project/details',\n 'delete',\n 'organisation/details',\n '/save-global-settings',\n '/create-update',\n '/toggle-live',\n '/toggle-visible',\n '/account-update',\n '/archive-user',\n '/delete-user',\n '/unarchive-user',\n];\n","export enum CATALOG_PROJECT_SORT_OPTIONS {\n ALPHABETICAL = 'ALPHABETICAL',\n DATE_POSTED = 'DATE_POSTED',\n}\n\nexport enum CATALOG_ORGANISATIONS_SORT_OPTIONS {\n ORGANISATION_NAME = 'ORGANISATION_NAME',\n DATE_POSTED = 'DATE_POSTED',\n}\n\nexport enum CATALOG_PORTFOLIOS_SORT_OPTIONS {\n ALPHABETICAL = 'ALPHABETICAL',\n DATE_POSTED = 'DATE_POSTED',\n}\n\nexport const ADMIN_ORGANISATION_SORT_OPTIONS = ['ORGANISATION_NAME', 'DATE_POSTED'];\n\nexport const ADMIN_PROJECT_SORT_OPTIONS = ['PROJECT_NAME', 'DATE_POSTED'];\n","export enum AddressComponentTypes {\n COUNTRY = 'country',\n ADMINISTRATIVE_AREA_LEVEL_1 = 'administrative_area_level_1',\n ADMINISTRATIVE_AREA_LEVEL_2 = 'administrative_area_level_2',\n SUBLOCALITY_LEVEL_1 = 'sublocality_level_1',\n LOCALITY = 'locality',\n POSTAL_TOWN = 'postal_town',\n ROUTE = 'route',\n STREET_NUMBER = 'street_number',\n}\n","export enum MEMBER_STATE {\n JOINED = 'JOINED',\n NOT_JOINED = 'NOT_JOINED',\n DECLINED = 'DECLINED',\n PENDING_INVITATION = 'PENDING_INVITATION',\n REQUESTED_TO_JOIN = 'REQUESTED_TO_JOIN',\n}\n\nexport enum GROUP_STATUS {\n APPROVED = 'APPROVED',\n PENDING = 'PENDING',\n DECLINED = 'DECLINED',\n ARCHIVED = 'ARCHIVED',\n}\n\nexport enum GROUP_ACTION {\n // performed on members\n MAKE_ADMIN = 'MAKE_ADMIN',\n REMOVE_ADMIN = 'REMOVE_ADMIN',\n REMOVE_FROM_GROUP = 'REMOVE_FROM_GROUP',\n APPROVE_MEMBER = 'APPROVE_MEMBER',\n DECLINE_MEMBER = 'DECLINE_MEMBER',\n CANCEL_INVITATION = 'CANCEL_INVITATION',\n REINVITE = 'REINVITE',\n\n // performed on group by admin\n APPROVE_GROUP = 'APPROVE_GROUP',\n DECLINE_GROUP = 'DECLINE_GROUP',\n ARCHIVE_GROUP = 'ARCHIVE_GROUP',\n EDIT_GROUP = 'EDIT_GROUP',\n\n // performed on group by members\n JOIN_GROUP = 'JOIN_GROUP',\n LEAVE_GROUP = 'LEAVE_GROUP',\n ACCEPT_INVITATION = 'ACCEPT_INVITATION',\n DECLINE_INVITATION = 'DECLINE_INVITATION',\n REQUEST_TO_JOIN = 'REQUEST_TO_JOIN',\n CANCEL_REQUEST = 'CANCEL_REQUEST',\n ADD_MEMBER = 'ADD_MEMBER',\n}\n\nexport enum INVITED_MEMBER_STATE {\n SUCCESS = 'Success',\n FAILED = 'Fail',\n}\n\nexport const GROUP_SORT_OPTIONS: string[] = ['ALPHABETICAL', 'DATE_POSTED'];\n\nexport const GROUP_PROJECT_SORT_OPTIONS: string[] = ['PROJECT_ALPHABETICAL', 'PROJECT_DATE_POSTED'];\n\nexport const GROUP_PORTFOLIO_SORT_OPTIONS: string[] = ['PORTFOLIO_ALPHABETICAL', 'PORTFOLIO_DATE_POSTED'];\n\nexport const GROUP_ORGANISATION_SORT_OPTIONS: string[] = ['ORGANISATION_ALPHABETICAL', 'ORGANISATION_DATE_POSTED'];\n","export enum Modals {\n COMPLETE_REGISTRATION,\n MEDIA,\n DELETE_CONFIRMATION,\n STORY,\n EDIT_USER,\n CROP_IMAGE,\n INFO_MESSAGE,\n ADD_NEW,\n ADD_NEW_FUND,\n CANCEL_CHANGES,\n CONTACT_INVEST,\n HOW_CAN_WE_HELP,\n ACCREDITED_INVESTOR_TERMS,\n LEGAL,\n WELCOME_POPUP_IMAGE,\n MEET_THE_INVESTORS_RESTRICTED,\n MAKE_PROJECT_LIVE,\n INVITE_USERS,\n POST_INVITE_USERS,\n POST_COMPLETE_REGISTRATION,\n PROJECT_TYPE_MEDIA,\n COMMIT_TO_GIVE,\n SUBMIT_PROJECT_ORGANIZATION,\n ADD_GROUP_MEMBER,\n POST_ADD_GROUP_MEMBER,\n ADD_GROUP_PROJECT,\n SELECT_LANGUAGE,\n SEARCH_LANGUAGE,\n ADD_GROUP_PORTFOLIO,\n ORGANISATION_SETTINGS,\n REPORT_ABUSE,\n DECLINE_REASON,\n SHARE_BUTTON,\n INFO_MODAL,\n URL_REDIRECT,\n}\n\nexport const MODALS_STYLES = [\n {\n name: Modals.COMPLETE_REGISTRATION,\n style: {\n width: '500px',\n height: '500px',\n autoFocus: false,\n },\n },\n {\n name: Modals.MEDIA,\n style: {\n width: '1280px',\n height: 'auto',\n autoFocus: false,\n },\n },\n {\n name: Modals.PROJECT_TYPE_MEDIA,\n style: {\n width: '1280px',\n height: 'auto',\n maxHeight: '90vh',\n autoFocus: false,\n },\n },\n {\n name: Modals.DELETE_CONFIRMATION,\n style: {\n width: 'auto',\n height: 'auto',\n autoFocus: false,\n },\n },\n {\n name: Modals.STORY,\n style: {\n width: '980px',\n height: '557px',\n autoFocus: false,\n },\n },\n {\n name: Modals.EDIT_USER,\n style: {\n width: '630px',\n height: 'auto',\n maxHeight: '90vh',\n maxWidth: '90vw',\n autoFocus: false,\n },\n },\n {\n name: Modals.CROP_IMAGE,\n style: {\n width: '750px',\n height: '460px',\n autoFocus: false,\n },\n },\n {\n name: Modals.INFO_MESSAGE,\n style: {\n width: '505px',\n height: '296px',\n autoFocus: false,\n },\n },\n {\n name: Modals.ADD_NEW,\n style: {\n width: '410px',\n height: '340px',\n autoFocus: false,\n },\n },\n {\n name: Modals.ADD_NEW_FUND,\n style: {\n width: '410px',\n height: '270px',\n autoFocus: false,\n },\n },\n {\n name: Modals.CANCEL_CHANGES,\n style: {\n width: '450px',\n height: '300px',\n autoFocus: false,\n },\n },\n {\n name: Modals.CONTACT_INVEST,\n style: {\n width: '600px',\n height: '720px',\n autoFocus: false,\n },\n },\n {\n name: Modals.HOW_CAN_WE_HELP,\n style: {\n width: '500px',\n height: '720px',\n autoFocus: false,\n },\n },\n {\n name: Modals.ACCREDITED_INVESTOR_TERMS,\n style: {\n width: '600px',\n height: '720px',\n autoFocus: false,\n },\n },\n {\n name: Modals.LEGAL,\n style: {\n width: '880px',\n maxHeight: '720px',\n height: 'auto',\n autoFocus: false,\n },\n },\n {\n name: Modals.WELCOME_POPUP_IMAGE,\n style: {\n maxWidth: '100vw',\n maxHeight: '90vh',\n minWidth: '300px',\n width: 'auto',\n height: 'auto',\n autoFocus: false,\n },\n },\n {\n name: Modals.MEET_THE_INVESTORS_RESTRICTED,\n style: {\n width: '410px',\n height: '270px',\n autoFocus: false,\n },\n },\n {\n name: Modals.MAKE_PROJECT_LIVE,\n style: {\n width: '400px',\n height: '230px',\n autoFocus: false,\n },\n },\n {\n name: Modals.INVITE_USERS,\n style: {\n width: '650px',\n height: 'auto',\n maxHeight: '710px',\n autoFocus: false,\n },\n },\n {\n name: Modals.POST_INVITE_USERS,\n style: {\n width: '505px',\n height: '575px',\n autoFocus: false,\n },\n },\n {\n name: Modals.POST_COMPLETE_REGISTRATION,\n style: {\n width: '580px',\n height: 'auto',\n autoFocus: false,\n },\n },\n {\n name: Modals.COMMIT_TO_GIVE,\n style: {\n width: '580px',\n height: 'auto',\n maxHeight: '90vh',\n maxWidth: '90vw',\n autoFocus: false,\n },\n },\n {\n name: Modals.SUBMIT_PROJECT_ORGANIZATION,\n style: {\n width: '380px',\n height: 'auto',\n maxHeight: '96vh',\n autoFocus: false,\n },\n },\n {\n name: Modals.ADD_GROUP_MEMBER,\n style: {\n width: '600px',\n height: 'auto',\n maxHeight: '710px',\n autoFocus: false,\n },\n },\n {\n name: Modals.POST_ADD_GROUP_MEMBER,\n style: {\n width: '505px',\n height: '575px',\n autoFocus: false,\n },\n },\n {\n name: Modals.ADD_GROUP_PROJECT,\n style: {\n width: '700px',\n height: 'auto',\n autoFocus: false,\n },\n },\n {\n name: Modals.SELECT_LANGUAGE,\n style: {\n width: '700px',\n height: 'auto',\n autoFocus: false,\n },\n },\n {\n name: Modals.SEARCH_LANGUAGE,\n style: {\n width: '500px',\n height: 'auto',\n autoFocus: false,\n },\n },\n {\n name: Modals.ADD_GROUP_PORTFOLIO,\n style: {\n width: '700px',\n height: 'auto',\n autoFocus: false,\n },\n },\n {\n name: Modals.ORGANISATION_SETTINGS,\n style: {\n width: '550px',\n height: 'auto',\n autoFocus: false,\n },\n },\n {\n name: Modals.REPORT_ABUSE,\n style: {\n width: '650px',\n height: 'auto',\n autoFocus: false,\n },\n },\n {\n name: Modals.DECLINE_REASON,\n style: {\n width: '550px',\n height: 'auto',\n autoFocus: false,\n },\n },\n {\n name: Modals.SHARE_BUTTON,\n style: {\n width: '550px',\n height: 'auto',\n autoFocus: false,\n },\n },\n {\n name: Modals.INFO_MODAL,\n style: {\n width: '520px',\n height: 'auto',\n autoFocus: false,\n },\n },\n {\n name: Modals.URL_REDIRECT,\n style: {\n width: '520px',\n height: 'auto',\n autoFocus: false,\n },\n },\n];\n\nexport enum MODAL_ACTIONS {\n DELETE,\n CROP,\n ADD_DEAL,\n DELETE_COMPANY,\n DELETE_DEAL,\n DELETE_USER,\n ARCHIVE_USER,\n RESTORE_USER,\n DELETE_INVITATION,\n RESEND_INVITATION,\n INVITE_USER,\n DELETE_FILE,\n DELETE_SURVEY,\n DELETE_ACCOUNT,\n DELETE_QUESTION,\n CANCEL_CHANGES,\n CONTACT_COMPANY,\n HOW_CAN_WE_HELP,\n ACCREDITED_INVESTOR_OPTIONS,\n DELETE_FIRM,\n DELETE_ORGANIZATION,\n DELETE_FUND,\n MAKE_PROJECT_LIVE,\n WAITING_ROOM_CHANGED,\n DELETE_PROJECT,\n CLOSE,\n COMMIT_TO_GIVE,\n DELETE_GROUP,\n ARCHIVE_GROUP,\n SUBMIT_PROJECT_ORGANIZATION,\n ADD_GROUP_MEMBER,\n UPDATE_GROUP_PROJECTS,\n UPDATE_GROUP_ORGANISATIONS,\n GROUP_LEAVE_CONFIRM,\n CHANGE_DEFAULT_ENTITY_PROFILE,\n DELETE_ENTITY_PROFILE,\n SEARCH_LANGUAGE,\n TRANSLATION_ACTION,\n SELECT_PRIMARY_PROJECT_LANGUAGE,\n ADD_PROJECT_LANGUAGE,\n EDIT_PROJECT_LANGUAGE,\n ADD_ORGANISATION_LANGUAGE,\n EDIT_ORGANISATION_LANGUAGE,\n SELECT_PRIMARY_ORGANISATION_LANGUAGE,\n SYNC_MISSING_STRINGS,\n CONFIRM_EMAIL_UPDATE,\n CONFIRM_ENABLE_CONTROL,\n CONFIRM_REMOVE_CHAMPION,\n SELECT_PRIMARY_PORTFOLIO_LANGUAGE,\n DELETE_PORTFOLIO,\n UPDATE_GROUP_PORTFOLIOS,\n SAVE_GLOBAL_CONFIG_CHANGES,\n LANGUAGE_IMPORT_OVERWRITTEN,\n LANGUAGE_EXPORT_UNSAVED_CHANGES,\n SAVE_ORGANISATION_SETTINGS,\n CHANGE_STATUS,\n ARCHIVE_PROJECT,\n UNARCHIVE_PROJECT,\n DECLINE_PROJECT,\n ARCHIVE_ORGANISATION,\n UNARCHIVE_ORGANISATION,\n DECLINE_ORGANISATION,\n CANCEL_CHANGES_HOMEPAGE_FOCUS,\n DELETE_REGION,\n DELETE_CAUSE,\n URL_REDIRECT,\n DELETE_CATEGORY,\n}\n\nexport enum MODAL_RESPONSE {\n CLOSE = 'close',\n CLOSE_ALL = 'closeAll',\n CLOSE_SUCCESS = 'closeSuccess',\n}\n","import { KeyValue } from '../models/GenericObject';\n\nexport enum DigitGroupingKeys {\n DIGIT_GROUPING_0 = 'DIGIT_GROUPING_0',\n DIGIT_GROUPING_1 = 'DIGIT_GROUPING_1',\n DIGIT_GROUPING_2 = 'DIGIT_GROUPING_2',\n DIGIT_GROUPING_3 = 'DIGIT_GROUPING_3',\n}\n\nexport enum NumberFormatKeys {\n DOT = 'DOT',\n COMMA = 'COMMA',\n SPACE = 'SPACE',\n APOSTROPHE = 'APOSTROPHE',\n}\n\nexport const NumberFormats: KeyValue[] = [\n {\n key: NumberFormatKeys.DOT,\n value: '.',\n },\n {\n key: NumberFormatKeys.COMMA,\n value: ',',\n },\n {\n key: NumberFormatKeys.SPACE,\n value: ' ',\n },\n {\n key: NumberFormatKeys.APOSTROPHE,\n value: \"'\",\n },\n];\n\nexport const DigitGrouping: KeyValue[] = [\n {\n key: DigitGroupingKeys.DIGIT_GROUPING_0,\n value: '123456789',\n },\n {\n key: DigitGroupingKeys.DIGIT_GROUPING_1,\n value: '123,456,789',\n },\n {\n key: DigitGroupingKeys.DIGIT_GROUPING_2,\n value: '123456,789',\n },\n {\n key: DigitGroupingKeys.DIGIT_GROUPING_3,\n value: '12,34,56,789',\n },\n];\n","import Urls from './Urls';\n\nexport enum Privilege {\n USER_ACCOUNT = 'user-account',\n\n CATALOG_PUBLIC_PROJECTS = 'catalog-public-projects',\n CATALOG_PRIVATE_PROJECTS = 'catalog-private-projects',\n\n ASK_QUESTION = 'ask-question',\n DASHBOARD = 'dashboard',\n FAQS = 'faqs',\n\n // ADMIN\n ORGANIZATION_SETUP = 'organization-setup',\n ORGANIZATION_UPDATE = 'organization-update',\n ORGANIZATION_DELETE = 'organization-delete',\n ORGANIZATION_VIEW = 'organization-view',\n ORGANIZATION_LIST = 'organization-list',\n\n PROJECT_ORGANIZATION_UPDATE = 'project-organization-update',\n PROJECT_SETUP = 'project-setup',\n PROJECT_UPDATE = 'project-update',\n PROJECT_VIEW = 'project-view',\n PROJECT_DELETE = 'project-delete',\n PROJECT_QUESTIONS = 'project-questions',\n PROJECT_LIST = 'project-list',\n\n PORTFOLIO_PRIVATE_SETUP = 'portfolio-private-setup',\n PORTFOLIO_PUBLIC_SETUP = 'portfolio-public-setup',\n PORTFOLIO_UPDATE = 'portfolio-update',\n PORTFOLIO_VIEW = 'portfolio-view',\n PORTFOLIO_DELETE = 'portfolio-delete',\n PORTFOLIO_LIST = 'portfolio-list',\n\n USERS_PERMISSIONS = 'users-permissions',\n USER_DELETE = 'user-delete',\n USER_ARCHIVE = 'user-archive',\n USER_UNARCHIVE = 'user-unarchive',\n\n CHANGE_ENTITY_STATUS = 'change-entity-status',\n PROJECT_IDLE_TO_LIVE = 'project-idle-to-live',\n\n HAS_FINANCIAL = 'has-financial',\n\n GROUPS = 'groups',\n\n GLOBAL_SETTINGS = 'global-settings',\n LANGUAGE_SETUP = 'global-language-setup',\n VETTED = 'vetted',\n CHAMPION_ADMIN = 'champion-admin-pages',\n CHAMPION_CHECKBOX = 'champion-pages',\n}\n\nexport const ModulePrivileges = {\n [Urls.HOMEPAGE]: {\n [Privilege.DASHBOARD]: true,\n },\n [Urls.PREVIEW]: {\n [Privilege.ORGANIZATION_VIEW]: true,\n [Privilege.PROJECT_VIEW]: true,\n },\n [Urls.ORGANIZATION]: {\n [Privilege.ORGANIZATION_VIEW]: true,\n },\n [Urls.ORGANISATION]: {\n [Privilege.ORGANIZATION_VIEW]: true,\n },\n [Urls.PROJECT]: {\n [Privilege.PROJECT_VIEW]: true,\n },\n [Urls.PORTFOLIO]: {\n [Privilege.PORTFOLIO_VIEW]: true,\n },\n [Urls.USER_ACCOUNT]: {\n [Privilege.USER_ACCOUNT]: true,\n },\n [Urls.CATALOG]: {\n [Privilege.CATALOG_PRIVATE_PROJECTS]: true,\n [Privilege.CATALOG_PUBLIC_PROJECTS]: true,\n },\n [Urls.GIVING]: {\n [Privilege.CATALOG_PUBLIC_PROJECTS]: true,\n [Privilege.CATALOG_PRIVATE_PROJECTS]: true,\n },\n [Urls.ADMIN]: {\n [Privilege.ORGANIZATION_SETUP]: true,\n [Privilege.ORGANIZATION_UPDATE]: true,\n [Privilege.ORGANIZATION_LIST]: true,\n [Privilege.PROJECT_SETUP]: true,\n [Privilege.USERS_PERMISSIONS]: true,\n [Privilege.LANGUAGE_SETUP]: true,\n [Privilege.PORTFOLIO_LIST]: true,\n [Privilege.PORTFOLIO_UPDATE]: true,\n [Privilege.PORTFOLIO_PRIVATE_SETUP]: true,\n [Privilege.PORTFOLIO_PUBLIC_SETUP]: true,\n },\n [Urls.SETUP]: {\n [Privilege.ORGANIZATION_SETUP]: true,\n [Privilege.ORGANIZATION_UPDATE]: true,\n [Privilege.PROJECT_SETUP]: true,\n [Privilege.PROJECT_UPDATE]: true,\n [Privilege.PORTFOLIO_PUBLIC_SETUP]: true,\n [Privilege.PORTFOLIO_PRIVATE_SETUP]: true,\n [Privilege.PORTFOLIO_UPDATE]: true,\n },\n [Urls.NEW_ORGANIZATION]: {\n [Privilege.ORGANIZATION_SETUP]: true,\n },\n [Urls.UPDATE_ORGANIZATION]: {\n [Privilege.ORGANIZATION_UPDATE]: true,\n },\n [Urls.NEW_PROJECT]: {\n [Privilege.PROJECT_SETUP]: true,\n },\n [Urls.UPDATE_PROJECT]: {\n [Privilege.PROJECT_UPDATE]: true,\n },\n [Urls.PORTFOLIOS]: {\n [Privilege.PORTFOLIO_LIST]: true,\n },\n [Urls.NEW_PORTFOLIO]: {\n [Privilege.PORTFOLIO_PRIVATE_SETUP]: true,\n [Privilege.PORTFOLIO_PUBLIC_SETUP]: true,\n },\n [Urls.UPDATE_PORTFOLIO]: {\n [Privilege.PORTFOLIO_UPDATE]: true,\n },\n [Urls.ORGANIZATIONS]: {\n [Privilege.ORGANIZATION_LIST]: true,\n },\n [Urls.USERS_PERMISSIONS]: {\n [Privilege.USERS_PERMISSIONS]: true,\n },\n [Urls.ACTIVITY]: {\n [Privilege.PROJECT_VIEW]: true,\n [Privilege.VETTED]: true,\n },\n [Urls.FAQ]: {\n [Privilege.FAQS]: true,\n },\n [Urls.GROUPS]: {\n [Privilege.GROUPS]: true,\n },\n [Urls.GLOBAL_SETTINGS]: {\n [Privilege.GLOBAL_SETTINGS]: true,\n [Privilege.LANGUAGE_SETUP]: true,\n },\n [Urls.LANGUAGE_SETTINGS]: {\n [Privilege.GLOBAL_SETTINGS]: true,\n [Privilege.LANGUAGE_SETUP]: true,\n },\n [Urls.CHAMPION_ADMIN]: {\n [Privilege.CHAMPION_ADMIN]: true,\n },\n [Urls.MY_CHAMPIONED]: {\n [Privilege.CHAMPION_ADMIN]: true,\n [Privilege.CHAMPION_CHECKBOX]: true,\n },\n [Urls.PROJECTS]: {\n [Privilege.PROJECT_LIST]: true,\n },\n};\n","export enum ServerError {\n INVALID_GRANT = 'invalid_grant',\n EMAIL_USED = 'EMAIL_USED',\n NO_USER = 'USER_NOT_FOUND',\n INVALID_PASSWORD_FORMAT = 'INVALID_PASSWORD_FORMAT',\n TOKEN_EXPIRED = 'TOKEN_EXPIRED',\n TOKEN_NOT_FOUND = 'TOKEN_NOT_FOUND',\n TOKEN_INVALID = 'invalid_token',\n NEW_PASSWORD_SAME_AS_OLD = 'NEW_PASSWORD_SAME_AS_OLD',\n INVALID_OLD_PASSWORD = 'INVALID_OLD_PASSWORD',\n ROLE_INVALID = 'ROLE_INVALID',\n ASSET_HAS_NULL_FIELDS = 'ASSET_HAS_NULL_FIELDS',\n EQUITY_FUND_HAS_NULL_FIELDS = 'EQUITY_FUND_HAS_NULL_FIELDS',\n ASSET_NOT_VISIBLE = 'ASSET_NOT_VISIBLE',\n DELETE_USER_ERROR = 'DELETE_USER_ERROR',\n CANNOT_DELETE_OWN_USER = 'CANNOT_DELETE_OWN_USER',\n SPONSOR_ON_PROJECT = 'SPONSOR_ON_PROJECT',\n INSUFFICIENT_PERMISSION = 'INSUFFICIENT_PERMISSION',\n ROLE_CHANGE_INVALID = 'ROLE_CHANGE_INVALID',\n PARTNER_ALREADY_ASSIGNED = 'PARTNER_ALREADY_ASSIGNED',\n COMPANY_ADMIN_ASSIGNED = 'COMPANY_ADMIN_ASSIGNED',\n COMPANY_HAS_PUBLISHED_DEALS = 'COMPANY_HAS_PUBLISHED_DEALS',\n LINK_AND_VIDEO_CANNOT_COEXIST = 'LINK_AND_VIDEO_CANNOT_COEXIST',\n NUMBER_OF_BANNERS_EXCEEDED = 'NUMBER_OF_BANNERS_EXCEEDED',\n MINIMUM_NUMBER_OF_BANNERS_REACHED = 'MINIMUM_NUMBER_OF_BANNERS_REACHED',\n FIRM_HAS_PUBLISHED_FUNDS = 'FIRM_HAS_PUBLISHED_FUNDS',\n FIRM_ADMIN_ASSIGNED = 'FIRM_ADMIN_ASSIGNED',\n NAME_EMPTY = 'NAME_EMPTY',\n INVESTMENT_TYPE_NOT_SELECTED = 'INVESTMENT_TYPE_NOT_SELECTED',\n NO_INVESTOR_OPTION_SELECTED = 'NO_INVESTOR_OPTION_SELECTED',\n NO_PROFILE = 'NO_PROFILE',\n CAPTCHA_INVALID = 'CAPTCHA_INVALID',\n COMPANY_ADMIN_NOT_FOUND = 'COMPANY_ADMIN_NOT_FOUND',\n REQUIRED_FIELDS_NOT_POPULATED = 'REQUIRED_FIELDS_NOT_POPULATED',\n PROJECT_HAS_NULL_FIELDS = 'PROJECT_HAS_NULL_FIELDS',\n PROJECT_HAS_PUBLISHED_DEALS = 'PROJECT_HAS_PUBLISHED_DEALS',\n ORGANISATION_NOT_PUBLISHED = 'ORGANISATION_NOT_PUBLISHED',\n ORGANISATION_HAS_NULL_FIELDS = 'ORGANISATION_HAS_NULL_FIELDS',\n ORGANISATION_HAS_PUBLISHED_PROJECTS = 'ORGANISATION_HAS_PUBLISHED_PROJECTS',\n PROJECT_MANAGER_INCOMPLETE_PROFILE = 'PROJECT_MANAGER_INCOMPLETE_PROFILE',\n NOT_PERMITTED = 'NOT_PERMITTED',\n DUPLICATED_GOALS = 'DUPLICATED_GOALS',\n DUPLICATED_PARTNER_ORGANISATIONS = 'DUPLICATED_PARTNER_ORGANISATIONS',\n NUMBER_OF_FINANCIAL_STATEMENTS_REQUIRED_NOT_REACHED = 'NUMBER_OF_FINANCIAL_STATEMENTS_REQUIRED_NOT_REACHED',\n USER_NOT_FOUND = 'USER_NOT_FOUND',\n NUMBER_OF_CHARACTERS_NOT_REACHED = 'NUMBER_OF_CHARACTERS_NOT_REACHED',\n AWS_ERROR_UPLOAD = 'AWS_ERROR_UPLOAD',\n PORTFOLIO_HAS_NULL_FIELDS = 'PORTFOLIO_HAS_NULL_FIELDS',\n MAXIMUM_LIVE_PROJECTS_EXCEEDED = 'MAXIMUM_LIVE_PROJECTS_EXCEEDED',\n INVALID_COLLECTION_ENTITY = 'INVALID_COLLECTION_ENTITY',\n PROJECT_NOT_VISIBLE = 'PROJECT_NOT_VISIBLE',\n UUID_NOT_FOUND = 'UUID_NOT_FOUND',\n PREV_PASSWORD_NOT_ALLOWED = 'PREV_PASSWORD_NOT_ALLOWED',\n}\n","export const ToastrMessages = {\n BASIC_ERROR: ['NOTIFICATIONS.GENERAL.BASIC_ERROR'],\n USER_PROFILE_ERROR: ['NOTIFICATIONS.AUTH.USER_PROFILE_ERROR'],\n EXPIRED_SESSION: ['NOTIFICATIONS.AUTH.EXPIRED_SESSION', 'NOTIFICATIONS.TITLES.EXPIRED_SESSION'],\n NOT_FOUND: ['NOTIFICATIONS.AUTH.NOT_FOUND'],\n\n ACCOUNT_CREATED: ['NOTIFICATIONS.AUTH.ACCOUNT_CREATED'],\n FORGOT_PASSWORD: ['NOTIFICATIONS.AUTH.FORGOT_PASSWORD'],\n FORGOT_PASSWORD_ADMIN: ['NOTIFICATIONS.AUTH.FORGOT_PASSWORD_ADMIN'],\n RESET_PASSWORD: ['NOTIFICATIONS.AUTH.RESET_PASSWORD'],\n CAPTCHA_INVALID: ['NOTIFICATIONS.AUTH.CAPTCHA_INVALID'],\n TOKEN_EXPIRED: ['NOTIFICATIONS.AUTH.TOKEN_EXPIRED'],\n EMAIL_USED: ['NOTIFICATIONS.AUTH.EMAIL_USED'],\n EMAIL_RESENT: ['NOTIFICATIONS.AUTH.EMAIL_RESENT'],\n USER_NOT_FOUND: ['NOTIFICATIONS.AUTH.USER_NOT_FOUND'],\n USER_UNVERIFIED: ['NOTIFICATIONS.AUTH.USER_UNVERIFIED'],\n USER_WAS_VETTED: ['NOTIFICATIONS.AUTH.USER_WAS_VETTED'],\n USER_WAS_UNVETTED: ['NOTIFICATIONS.AUTH.USER_WAS_UNVETTED'],\n BAD_CREDENTIALS: ['NOTIFICATIONS.AUTH.BAD_CREDENTIALS'],\n NEW_PASSWORD_SAME_AS_OLD: ['NOTIFICATIONS.AUTH.NEW_PASSWORD_SAME_AS_OLD'],\n INVALID_OLD_PASSWORD: ['NOTIFICATIONS.AUTH.INVALID_OLD_PASSWORD'],\n INVALID_PASSWORD_FORMAT: ['NOTIFICATIONS.AUTH.INVALID_PASSWORD_FORMAT'],\n PREV_PASSWORD_NOT_ALLOWED: ['NOTIFICATIONS.AUTH.PREV_PASSWORD_NOT_ALLOWED'],\n FIRST_STEP_NEEDED: ['NOTIFICATIONS.MESSAGES.FIRST_STEP_NEEDED'],\n FIRST_STEP_ASSET_NEEDED: ['NOTIFICATIONS.MESSAGES.FIRST_STEP_ASSET_NEEDED'],\n DEAL_NOT_STARTED: ['NOTIFICATIONS.MESSAGES.DEAL_NOT_STARTED'],\n INCOMPLETE_FORM: ['NOTIFICATIONS.GENERAL.INCOMPLETE_FORM'],\n INCOMPLETE_FORM_TERMS_NOT_SELECTED: ['NOTIFICATIONS.AUTH.INCOMPLETE_FORM_TERMS_NOT_SELECTED'],\n INCOMPLETE_FORM_ALL_TERMS_NOT_SELECTED: ['NOTIFICATIONS.MESSAGES.INCOMPLETE_FORM_ALL_TERMS_NOT_SELECTED'],\n TERMS_NOT_SELECTED: ['NOTIFICATIONS.AUTH.TERMS_NOT_SELECTED'],\n ALL_TERMS_NOT_SELECTED: ['NOTIFICATIONS.MESSAGES.ALL_TERMS_NOT_SELECTED'],\n NO_INVESTOR_OPTION_SELECTED: ['NOTIFICATIONS.MESSAGES.NO_INVESTOR_OPTION_SELECTED'],\n INVALID_FORM: ['NOTIFICATIONS.GENERAL.INVALID_FORM'],\n ADDRESS_INVALID_FORM: ['NOTIFICATIONS.GENERAL.ADDRESS_INVALID_FORM'],\n UPLOAD_VIDEO_DENIEND: ['NOTIFICATIONS.MESSAGES.UPLOAD_VIDEO_DENIEND'],\n INVALID_COLLECTION_ENTITY: ['NOTIFICATIONS.GENERAL.INVALID_COLLECTION_ENTITY'],\n\n ASSET_NOT_VISIBLE: ['NOTIFICATIONS.MESSAGES.ASSET_NOT_VISIBLE'],\n ASSET_NOT_PUBLISHED: ['NOTIFICATIONS.MESSAGES.ASSET_NOT_PUBLISHED'],\n\n INVALID_FORMAT: ['NOTIFICATIONS.FILE.INVALID_FORMAT'],\n FILE_SIZE: ['NOTIFICATIONS.FILE.FILE_SIZE'],\n FILE_ERROR: ['NOTIFICATIONS.FILE.FILE_ERROR'],\n NO_PREVIEW_FORMAT: ['NOTIFICATIONS.FILE.NO_PREVIEW_FORMAT'],\n ERROR_MAX_FILE_SIZE: ['NOTIFICATIONS.FILE.ERROR_MAX_FILE_SIZE'],\n DOCUMENT_DOWNLOAD: ['NOTIFICATIONS.FILE.DOCUMENT_DOWNLOAD'],\n ERROR_DOCUMENT_DOWNLOAD: ['NOTIFICATIONS.FILE.ERROR_DOCUMENT_DOWNLOAD'],\n REMOVE_FILE: ['NOTIFICATIONS.FILE.REMOVE_FILE'],\n ERROR_REMOVE_FILE: ['NOTIFICATIONS.FILE.ERROR_REMOVE_FILE'],\n COVER_IMAGE: ['NOTIFICATIONS.FILE.COVER_IMAGE'],\n FILE_UPLOADED: ['NOTIFICATIONS.FILE.FILE_UPLOADED'],\n ERROR_ADD_LOCAL_PARTNER: ['NOTIFICATIONS.MESSAGES.ERROR_ADD_LOCAL_PARTNER'],\n FILES_ORDER_CHANGED: ['NOTIFICATIONS.FILE.FILES_ORDER_CHANGED'],\n ERROR_FILES_ORDER: ['NOTIFICATIONS.FILE.ERROR_FILES_ORDER'],\n\n NO_CHANGES: ['NOTIFICATIONS.GENERAL.NO_CHANGES'],\n SUCCESS_CHANGE: ['NOTIFICATIONS.GENERAL.SUCCESS_CHANGE'],\n\n TOGGLE_VISIBILITY: ['NOTIFICATIONS.MESSAGES.TOGGLE_VISIBILITY'],\n ERROR_TOGGLE_VISIBILITY_CONFLICT: ['NOTIFICATIONS.MESSAGES.ERROR_TOGGLE_VISIBILITY_CONFLICT'],\n ERROR_TOGGLE_VISIBILITY_TRUE: ['NOTIFICATIONS.MESSAGES.ERROR_TOGGLE_VISIBILITY_TRUE'],\n ERROR_TOGGLE_VISIBILITY_FALSE: ['NOTIFICATIONS.MESSAGES.ERROR_TOGGLE_VISIBILITY_FALSE'],\n MAXIMUM_LIVE_PROJECTS_EXCEEDED: ['NOTIFICATIONS.PROJECT.PROJECT_ERROR_MAXIMUM_LIVE_PROJECTS_EXCEEDED'],\n ERROR_ORGANISATION_ARCHIVED: ['NOTIFICATIONS.PROJECT.ERROR_ORGANISATION_ARCHIVED'],\n\n CHANGE_PERMISSION: ['NOTIFICATIONS.AUTH.CHANGE_PERMISSION'],\n CHANGE_PERMISSION_ERROR: ['NOTIFICATIONS.AUTH.CHANGE_PERMISSION_ERROR'],\n CHANGE_VETTED_ERROR: ['NOTIFICATIONS.AUTH.CHANGE_VETTED_ERROR'],\n USER_WAS_ARCHIVED: ['NOTIFICATIONS.AUTH.USER_WAS_ARCHIVED'],\n USER_WAS_RESTORED: ['NOTIFICATIONS.AUTH.USER_WAS_RESTORED'],\n DELETE_USER: ['NOTIFICATIONS.AUTH.DELETE_USER'],\n DELETE_USER_ERROR: ['NOTIFICATIONS.AUTH.DELETE_USER_ERROR'],\n DELETE_USER_CONFLICT: ['NOTIFICATIONS.AUTH.DELETE_USER_CONFLICT'],\n DELETE_USER_SPONSOR_ACTIVE: ['NOTIFICATIONS.AUTH.DELETE_USER_SPONSOR_ACTIVE'],\n DELETE_USER_LINKED: ['NOTIFICATIONS.AUTH.DELETE_USER_LINKED'],\n\n IMAGE_FORMAT_ERROR: ['NOTIFICATIONS.FILE.IMAGE_FORMAT_ERROR'],\n LOAD_IMG_IN_CROPPER_ERROR: ['NOTIFICATIONS.FILE.LOAD_IMG_IN_CROPPER_ERROR'],\n UPDATE_PROFILE_IMG: ['NOTIFICATIONS.FILE.UPDATE_PROFILE_IMG'],\n UPDATE_PROFILE_IMG_ERROR: ['NOTIFICATIONS.FILE.UPDATE_PROFILE_IMG_ERROR'],\n ROLE_CHANGE_INVALID: ['NOTIFICATIONS.AUTH.ROLE_CHANGE_INVALID'],\n PARTNER_ALREADY_ASSIGNED: ['NOTIFICATIONS.MESSAGES.PARTNER_ALREADY_ASSIGNED'],\n PROJECT_WATCHLIST_ADD: ['NOTIFICATIONS.PROJECT.PROJECT_WATCHLIST_ADD'],\n PROJECT_WATCHLIST_REMOVE: ['NOTIFICATIONS.PROJECT.PROJECT_WATCHLIST_REMOVE'],\n ORGANIZATION_WATCHLIST_ADD: ['NOTIFICATIONS.ORGANIZATION.ORGANIZATION_WATCHLIST_ADD'],\n ORGANIZATION_WATCHLIST_REMOVE: ['NOTIFICATIONS.ORGANIZATION.ORGANIZATION_WATCHLIST_REMOVE'],\n CONTACT_COMPANY: ['NOTIFICATIONS.MESSAGES.CONTACT_COMPANY'],\n SURVEY: ['NOTIFICATIONS.SURVEY.SURVEY'],\n\n QUESTION_POSTED: ['NOTIFICATIONS.QUESTION.QUESTION_POSTED'],\n QUESTION_EDITED: ['NOTIFICATIONS.QUESTION.QUESTION_EDITED'],\n QUESTION_MOVED: ['NOTIFICATIONS.QUESTION.QUESTION_MOVED'],\n QUESTION_DELETED: ['NOTIFICATIONS.QUESTION.QUESTION_DELETED'],\n ANSWER_POSTED: ['NOTIFICATIONS.QUESTION.ANSWER_POSTED'],\n ANSWER_EDITED: ['NOTIFICATIONS.QUESTION.ANSWER_EDITED'],\n\n UPDATE_PUBLISHED: ['NOTIFICATIONS.UPDATE.UPDATE_PUBLISHED'],\n UPDATE_SAVED: ['NOTIFICATIONS.UPDATE.UPDATE_SAVED'],\n UPDATE_DELETE_SUCCESS: ['NOTIFICATIONS.UPDATE.UPDATE_DELETE_SUCCESS'],\n UPDATE_MISSING_REQUIRED_FIELDS: ['NOTIFICATIONS.UPDATE.UPDATE_MISSING_REQUIRED_FIELDS'],\n UPDATE_NO_COMPANY_ADMIN: ['NOTIFICATIONS.UPDATE.UPDATE_NO_COMPANY_ADMIN'],\n\n INVITATION_RESEND_SUCCESS: ['NOTIFICATIONS.INVITATION.INVITATION_RESEND_SUCCESS'],\n INVITATION_DELETED_SUCCESS: ['NOTIFICATIONS.INVITATION.INVITATION_DELETED_SUCCESS'],\n INVITE_USERS_ALREADY_INVITED: ['NOTIFICATIONS.INVITATION.INVITE_USERS_ALREADY_INVITED'],\n INVITATION_DELETE_ERROR: ['NOTIFICATIONS.INVITATION.INVITATION_DELETE_ERROR'],\n\n UPLOAD_IN_PROGRESS: ['NOTIFICATIONS.MESSAGES.UPLOAD_IN_PROGRESS'],\n TOKEN_NOT_FOUND: ['NOTIFICATIONS.AUTH.TOKEN_NOT_FOUND'],\n COPIED_TO_CLIPBOARD: ['NOTIFICATIONS.GENERAL.COPIED_TO_CLIPBOARD'],\n\n ORGANIZATION_ADDED: ['NOTIFICATIONS.ORGANIZATION.ORGANIZATION_ADDED'],\n ORGANIZATION_UPDATED: ['NOTIFICATIONS.ORGANIZATION.ORGANIZATION_UPDATED'],\n ORGANIZATION_DELETED: ['NOTIFICATIONS.ORGANIZATION.DELETE_SUCCESS'],\n ORGANIZATION_TOGGLE_VISIBLITY: ['NOTIFICATIONS.ORGANIZATION.TOGGLE_VISIBILITY_SUCCESS'],\n ORGANIZATION_TOGGLE_VISIBILITY_ERROR_INCOMPLETE: ['NOTIFICATIONS.ORGANIZATION.TOGGLE_VISIBILITY_ERROR_INCOMPLETE'],\n ORGANIZATION_TOGGLE_VISIBILITY_ERROR_FINANCIAL_STATEMENTS: ['NOTIFICATIONS.ORGANIZATION.TOGGLE_VISIBILITY_ERROR_FINANCIAL_STATEMENTS'],\n ORGANIZATION_TOGGLE_VISIBILITY_ERROR_PUBLISH: ['NOTIFICATIONS.ORGANIZATION.TOGGLE_VISIBILITY_ERROR_PUBLISH'],\n ORGANIZATION_TOGGLE_VISIBILITY_ERROR_WITHDRAW: ['NOTIFICATIONS.ORGANIZATION.TOGGLE_VISIBILITY_ERROR_WITHDRAW'],\n ORGANIZATION_TOGGLE_VISIBILITY_ERROR_PUBLISHED_PROJECTS: ['NOTIFICATIONS.ORGANIZATION.TOGGLE_VISIBILITY_ERROR_PUBLISHED_PROJECTS'],\n ORGANIZATION_DELETE_ERROR_PUBLISHED_PROJECTS: ['NOTIFICATIONS.ORGANIZATION.DELETE_ERROR_PUBLISHED_PROJECTS'],\n ORGANIZATION_DELETE_ERROR: ['NOTIFICATIONS.ORGANIZATION.DELETE_ERROR'],\n ORGANIZATION_PRIVATE_SIGN_IN: ['NOTIFICATIONS.ORGANIZATION.ORGANIZATION_PRIVATE_SIGN_IN'],\n ORGANIZATION_PRIVATE_USER_NOT_VETTED: ['NOTIFICATIONS.ORGANIZATION.ORGANIZATION_PRIVATE_USER_NOT_VETTED'],\n DUPLICATED_PARTNER_ORGANISATIONS: ['NOTIFICATIONS.ORGANIZATION.DUPLICATED_PARTNER_ORGANISATIONS'],\n ORGANIZATION_NAME_REQUIRED: ['NOTIFICATIONS.ORGANIZATION.ORGANIZATION_NAME_REQUIRED'],\n ORGANIZATION_NAME_REQUIRED_UPLOAD: ['Organisation name is required in order to make an upload'],\n ORGANISATION_SETTINGS_SAVED: ['NOTIFICATIONS.ORGANIZATION.ORGANISATION_SETTINGS_SAVED'],\n ORGANIZATION_NOT_FOUND: ['NOTIFICATIONS.ORGANIZATION.ORGANIZATION_NOT_FOUND'],\n MAXIMUM_NUMBER_OF_LIVE_PROJECTS_EXCEEDED: ['NOTIFICATIONS.ORGANIZATION.MAXIMUM_NUMBER_OF_LIVE_PROJECTS_EXCEEDED'],\n\n PROJECT_ADDED: ['NOTIFICATIONS.PROJECT.PROJECT_ADDED'],\n PROJECT_UPDATED: ['NOTIFICATIONS.PROJECT.PROJECT_UPDATED'],\n PROJECT_SCORE_UPDATED: ['NOTIFICATIONS.PROJECT.PROJECT_SCORE_UPDATED'],\n PROJECT_VISIBILITY_UPDATED: ['NOTIFICATIONS.PROJECT.PROJECT_VISIBILITY_UPDATED'],\n PROJECT_MANAGER_HAS_INCOMPLETE_PROFILE: ['NOTIFICATIONS.PROJECT.PROJECT_MANAGER_HAS_INCOMPLETE_PROFILE'],\n PROJECT_DELETED: ['NOTIFICATIONS.PROJECT.PROJECT_DELETED'],\n PROJECT_PRIVATE_SIGN_IN: ['NOTIFICATIONS.PROJECT.PROJECT_PRIVATE_SIGN_IN'],\n PROJECT_PRIVATE_USER_NOT_VETTED: ['NOTIFICATIONS.PROJECT.PROJECT_PRIVATE_USER_NOT_VETTED'],\n PROJECT_ERROR_DUPLICATE_GOALS: ['NOTIFICATIONS.PROJECT.PROJECT_ERROR_DUPLICATE_GOALS'],\n PROJECT_ERROR_MANAGER_INCOMPLETE_PROFILE: ['NOTIFICATIONS.PROJECT.PROJECT_ERROR_MANAGER_INCOMPLETE_PROFILE'],\n PROJECT_ERROR_UPDATE: ['NOTIFICATIONS.PROJECT.PROJECT_ERROR_UPDATE'],\n PROJECT_TOGGLE_VISIBILITY: ['NOTIFICATIONS.PROJECT.PROJECT_TOGGLE_VISIBILITY'],\n PROJECT_ERROR_TOGGLE_VISIBILITY_CONFLICT: ['NOTIFICATIONS.PROJECT.PROJECT_ERROR_TOGGLE_VISIBILITY_CONFLICT'],\n PROJECT_ERROR_TOGGLE_VISIBILITY_ORGANIZATION: ['NOTIFICATIONS.PROJECT.PROJECT_ERROR_TOGGLE_VISIBILITY_ORGANIZATION'],\n PROJECT_ERROR_TOGGLE_VISIBILITY_TRUE: ['NOTIFICATIONS.PROJECT.PROJECT_ERROR_TOGGLE_VISIBILITY_TRUE'],\n PROJECT_ERROR_TOGGLE_VISIBILITY_FALSE: ['NOTIFICATIONS.PROJECT.PROJECT_ERROR_TOGGLE_VISIBILITY_FALSE'],\n FORM_WAITING_FOR_APPROVAL: ['NOTIFICATIONS.GENERAL.FORM_WAITING_FOR_APPROVAL'],\n PROJECT_NAME_REQUIRED: ['NOTIFICATIONS.PROJECT.PROJECT_NAME_REQUIRED'],\n PROJECT_NAME_REQUIRED_UPLOAD: ['NOTIFICATIONS.PROJECT.PROJECT_NAME_REQUIRED_UPLOAD'],\n PROJECT_ERROR_END_DATE: ['NOTIFICATIONS.PROJECT.PROJECT_ERROR_END_DATE'],\n\n GIVING_FORM_SUCCESS: ['NOTIFICATIONS.GIVING.GIVING_FORM_SUCCESS'],\n GIVING_FORM_ERROR: ['NOTIFICATIONS.GIVING.GIVING_FORM_ERROR'],\n GIVING_LINK_MISSING_ERROR: ['NOTIFICATIONS.GIVING.GIVING_LINK_MISSING_ERROR'],\n\n GROUP_ADDED: ['NOTIFICATIONS.GROUP.GROUP_ADDED'],\n GROUP_UPDATED: ['NOTIFICATIONS.GROUP.GROUP_UPDATED'],\n GROUP_CREATE_ERROR: ['NOTIFICATIONS.GROUP.GROUP_CREATE_ERROR'],\n GROUP_UPDATE_ERROR: ['NOTIFICATIONS.GROUP.GROUP_UPDATE_ERROR'],\n GROUP_PROJECTS_UPDATED: ['NOTIFICATIONS.GROUP.GROUP_PROJECTS_UPDATED'],\n GROUP_PROJECTS_UPDATE_ERROR: ['NOTIFICATIONS.GROUP.GROUP_PROJECTS_UPDATE_ERROR'],\n GROUP_ORGANISATIONS_UPDATED: ['NOTIFICATIONS.GROUP.GROUP_ORGANISATIONS_UPDATED'],\n GROUP_ORGANISATIONS_UPDATE_ERROR: ['NOTIFICATIONS.GROUP.GROUP_ORGANISATIONS_UPDATE_ERROR'],\n GROUP_PORTFOLIOS_UPDATED: ['NOTIFICATIONS.GROUP.GROUP_PORTFOLIOS_UPDATED'],\n GROUP_PORTFOLIOS_UPDATE_ERROR: ['NOTIFICATIONS.GROUP.GROUP_PORTFOLIOS_UPDATE_ERROR'],\n GROUP_DELETED: ['NOTIFICATIONS.GROUP.GROUP_DELETED'],\n GROUP_DELETE_ERROR: ['NOTIFICATIONS.GROUP.GROUP_DELETE_ERROR'],\n GROUP_ARCHIVED: ['NOTIFICATIONS.GROUP.GROUP_ARCHIVED'],\n GROUP_ARCHIVE_ERROR: ['NOTIFICATIONS.GROUP.GROUP_ARCHIVE_ERROR'],\n GROUP_UNARCHIVED: ['NOTIFICATIONS.GROUP.GROUP_UNARCHIVED'],\n GROUP_UNARCHIVE_ERROR: ['NOTIFICATIONS.GROUP.GROUP_UNARCHIVE_ERROR'],\n GROUP_APPROVED: ['NOTIFICATIONS.GROUP.GROUP_APPROVED'],\n GROUP_DECLINED: ['NOTIFICATIONS.GROUP.GROUP_DECLINED'],\n\n GROUP_MEMBERS_ALREADY_INVITED: ['NOTIFICATIONS.GROUP.MEMBERS_ALREADY_INVITED'],\n GROUP_MEMBER_ADDED: ['NOTIFICATIONS.GROUP.MEMBER_ADDED'],\n GROUP_MEMBER_UPDATED: ['NOTIFICATIONS.GROUP.MEMBER_UPDATED'],\n GROUP_MEMBER_REMOVED: ['NOTIFICATIONS.GROUP.MEMBER_REMOVED'],\n GROUP_MEMBER_UPDATE_ERROR: ['NOTIFICATIONS.GROUP.MEMBER_UPDATE_ERROR'],\n\n GROUP_UPDATE_DELETED: ['NOTIFICATIONS.GROUP.GROUP_UPDATE_DELETED'],\n GROUP_UPDATE_DELETE_ERROR: ['NOTIFICATIONS.GROUP.GROUP_UPDATE_DELETE_ERROR'],\n JOIN_REQUEST_SENT: ['NOTIFICATIONS.GROUP.JOIN_REQUEST_SENT'],\n JOINED_GROUP: ['NOTIFICATIONS.GROUP.JOINED_GROUP'],\n LEFT_GROUP: ['NOTIFICATIONS.GROUP.LEFT_GROUP'],\n INVITATION_REJECTED: ['NOTIFICATIONS.GROUP.INVITATION_REJECTED'],\n JOIN_REQUEST_CANCELED: ['NOTIFICATIONS.GROUP.JOIN_REQUEST_CANCELED'],\n ACTION_ERROR: ['NOTIFICATIONS.GROUP.ACTION_ERROR'],\n REPORT_SUBMITTED: ['NOTIFICATIONS.GROUP.REPORT_SUBMITTED'],\n\n PROFILE_CREATED_SUCCESS: ['NOTIFICATIONS.GLOBAL_SETTINGS.PROFILE_CREATED_SUCCESS'],\n PROFILE_UPDATED_SUCCESS: ['NOTIFICATIONS.GLOBAL_SETTINGS.PROFILE_UPDATED_SUCCESS'],\n PROFILE_SET_DEFAULT_SUCCESS: ['NOTIFICATIONS.GLOBAL_SETTINGS.PROFILE_SET_DEFAULT_SUCCESS'],\n PROFILE_DELETE_ERROR_DEFAULT: ['NOTIFICATIONS.GLOBAL_SETTINGS.PROFILE_DELETE_ERROR_DEFAULT'],\n PROFILE_DELETE_ERROR_USED: ['NOTIFICATIONS.GLOBAL_SETTINGS.PROFILE_DELETE_ERROR_USED'],\n PROFILE_DELETE_SUCCESS: ['NOTIFICATIONS.GLOBAL_SETTINGS.PROFILE_DELETE_SUCCESS'],\n\n LANGUAGE_SAVE_DRAFT: ['NOTIFICATIONS.GLOBAL_SETTINGS.LANGUAGE_SAVE_DRAFT'],\n LANGUAGE_SAVE_CHANGES: ['NOTIFICATIONS.GLOBAL_SETTINGS.LANGUAGE_SAVE_CHANGES'],\n LANGUAGE_PUBLISH: ['NOTIFICATIONS.GLOBAL_SETTINGS.LANGUAGE_PUBLISH'],\n LANGUAGE_UNPUBLISH: ['NOTIFICATIONS.GLOBAL_SETTINGS.LANGUAGE_UNPUBLISH'],\n LANGUAGE_DELETE: ['NOTIFICATIONS.GLOBAL_SETTINGS.LANGUAGE_DELETE'],\n LANGUAGE_SAVE_CHANGES_BEFORE_PUBLISH: ['NOTIFICATIONS.GLOBAL_SETTINGS.LANGUAGE_CHANGES_BEFORE_PUBLISH'],\n LANGUAGE_SAVE_CHANGES_BEFORE_UNPUBLISH: ['NOTIFICATIONS.GLOBAL_SETTINGS.LANGUAGE_CHANGES_BEFORE_UNPUBLISH'],\n\n PORTFOLIO_ADDED: ['NOTIFICATIONS.PORTFOLIO.PORTFOLIO_ADDED'],\n PORTFOLIO_UPDATED: ['NOTIFICATIONS.PORTFOLIO.PORTFOLIO_UPDATED'],\n PORTFOLIO_DELETED: ['NOTIFICATIONS.PORTFOLIO.DELETE_SUCCESS'],\n PORTFOLIO_TOGGLE_VISIBLITY: ['NOTIFICATIONS.PORTFOLIO.TOGGLE_VISIBILITY_SUCCESS'],\n PORTFOLIO_TOGGLE_VISIBILITY_ERROR_INCOMPLETE: ['NOTIFICATIONS.PORTFOLIO.TOGGLE_VISIBILITY_ERROR_INCOMPLETE'],\n PORTFOLIO_TOGGLE_VISIBILITY_ERROR_PUBLISH: ['NOTIFICATIONS.PORTFOLIO.TOGGLE_VISIBILITY_ERROR_PUBLISH'],\n PORTFOLIO_TOGGLE_VISIBILITY_ERROR_WITHDRAW: ['NOTIFICATIONS.PORTFOLIO.TOGGLE_VISIBILITY_ERROR_WITHDRAW'],\n PORTFOLIO_TOGGLE_VISIBILITY_ERROR_PUBLISHED_PROJECTS: ['NOTIFICATIONS.PORTFOLIO.TOGGLE_VISIBILITY_ERROR_PUBLISHED_PROJECTS'],\n PORTFOLIO_DELETE_ERROR_PUBLISHED_PROJECTS: ['NOTIFICATIONS.PORTFOLIO.DELETE_ERROR_PUBLISHED_PROJECTS'],\n PORTFOLIO_DELETE_ERROR: ['NOTIFICATIONS.PORTFOLIO.DELETE_ERROR'],\n PORTFOLIO_NAME_REQUIRED: ['NOTIFICATIONS.PORTFOLIO.PORTFOLIO_NAME_REQUIRED'],\n\n GLOBAL_CONFIG_SAVED_CHANGES_SUCCESS: ['NOTIFICATIONS.GLOBAL_SETTINGS.GLOBAL_CONFIG_SAVED_CHANGES_SUCCESS'],\n HOMEPAGE_FOCUS_SAVED_SUCCESS: ['NOTIFICATIONS.GLOBAL_SETTINGS.HOMEPAGE_FOCUS_CHANGES_SAVED_SUCCESS'],\n\n CHAMPION_ADMIN_SUCCESSFULLY_ADDED_AS_CHAMPION: ['NOTIFICATIONS.CHAMPION.CHAMPION_ADMIN_SUCCESSFULLY_ADDED_AS_CHAMPION'],\n CHAMPION_ADMIN_SUCCESSFULLY_ADDED_AS_CHAMPION_BUT_INCOMPLETE: [\n 'NOTIFICATIONS.CHAMPION.CHAMPION_ADMIN_SUCCESSFULLY_ADDED_AS_CHAMPION_BUT_INCOMPLETE',\n ],\n CHAMPION_ADMIN_REMOVED_FROM_ORGANISATION: ['NOTIFICATIONS.CHAMPION.CHAMPION_ADMIN_REMOVED_FROM_ORGANISATION'],\n CHAMPION_ADMIN_REMOVED_FROM_PROJECT: ['NOTIFICATIONS.CHAMPION.CHAMPION_ADMIN_REMOVED_FROM_PROJECT'],\n CHAMPION_ADMIN_REMOVED_FROM_PORTFOLIO: ['NOTIFICATIONS.CHAMPION.CHAMPION_ADMIN_REMOVED_FROM_PORTFOLIO'],\n CHAMPION_ADMIN_SUCCESSFULLY_UPDATED_INFORMATION: ['NOTIFICATIONS.CHAMPION.CHAMPION_ADMIN_SUCCESSFULLY_UPDATED_INFORMATION'],\n CHAMPION_ADMIN_REMOVED_HIMSELF_FROM_PROJECT: ['NOTIFICATIONS.CHAMPION.CHAMPION_ADMIN_REMOVED_HIMSELF_FROM_PROJECT'],\n CHAMPION_ADMIN_REMOVED_HIMSELF_FROM_ORGANISATION: ['NOTIFICATIONS.CHAMPION.CHAMPION_ADMIN_REMOVED_HIMSELF_FROM_ORGANISATION'],\n CHAMPION_ADMIN_REMOVED_HIMSELF_FROM_PORTFOLIO: ['NOTIFICATIONS.CHAMPION.CHAMPION_ADMIN_REMOVED_HIMSELF_FROM_PORTFOLIO'],\n\n BADGE_SUCCESSFULLY_CREATED: ['NOTIFICATIONS.GLOBAL_SETTINGS.BADGE_SUCCESSFULLY_CREATED'],\n BADGE_SUCCESSFULLY_UPDATED: ['NOTIFICATIONS.GLOBAL_SETTINGS.BADGE_SUCCESSFULLY_UPDATED'],\n BADGE_SUCCESSFULLY_DELETED: ['NOTIFICATIONS.GLOBAL_SETTINGS.BADGE_SUCCESSFULLY_DELETED'],\n\n REGION_NAME_REQUIRED: ['NOTIFICATIONS.REGION.REGION_NAME_REQUIRED'],\n REGION_SUCCESSFULLY_DELETED: ['NOTIFICATIONS.GLOBAL_SETTINGS.REGION_SUCCESSFULLY_DELETED'],\n REGION_HAS_COUNTRY: ['NOTIFICATIONS.GLOBAL_SETTINGS.REGION_HAS_COUNTRY'],\n REGION_SUCCESSFULLY_CREATED: ['NOTIFICATIONS.GLOBAL_SETTINGS.REGION_SUCCESSFULLY_CREATED'],\n REGION_SUCCESSFULLY_UPDATED: ['NOTIFICATIONS.GLOBAL_SETTINGS.REGION_SUCCESSFULLY_UPDATED'],\n\n CAUSE_NAME_REQUIRED: ['NOTIFICATIONS.CAUSE.CAUSE_NAME_REQUIRED'],\n CAUSE_SUCCESSFULLY_DELETED: ['NOTIFICATIONS.GLOBAL_SETTINGS.CAUSE_SUCCESSFULLY_DELETED'],\n CAUSE_SUCCESSFULLY_CREATED: ['NOTIFICATIONS.GLOBAL_SETTINGS.CAUSE_SUCCESSFULLY_CREATED'],\n CAUSE_SUCCESSFULLY_UPDATED: ['NOTIFICATIONS.GLOBAL_SETTINGS.CAUSE_SUCCESSFULLY_UPDATED'],\n\n CATEGORY_NAME_REQUIRED: ['NOTIFICATIONS.CATEGORY.CATEGORY_NAME_REQUIRED'],\n CATEGORY_SUCCESSFULLY_DELETED: ['NOTIFICATIONS.GLOBAL_SETTINGS.CATEGORY_SUCCESSFULLY_DELETED'],\n CATEGORY_SUCCESSFULLY_CREATED: ['NOTIFICATIONS.GLOBAL_SETTINGS.CATEGORY_SUCCESSFULLY_CREATED'],\n CATEGORY_SUCCESSFULLY_UPDATED: ['NOTIFICATIONS.GLOBAL_SETTINGS.CATEGORY_SUCCESSFULLY_UPDATED'],\n};\n","export enum Urls {\n BASE = '/',\n\n MAINTENANCE = 'maintenance',\n\n AUTH = 'auth',\n LOGIN = 'login',\n REGISTER = 'register',\n FORGOT_PASSWORD = 'forgot-password',\n RESET_PASSWORD = 'reset-password',\n CONFIRM_EMAIL = 'confirm-email',\n CONFIRM_EMAIL_UPDATE = 'confirm-email-update',\n\n APP = 'app',\n HOMEPAGE = 'home',\n LEARN_MORE = 'learn-more',\n FAQ = 'faqs',\n ACTIVITY = 'activity',\n CODE_OF_CONDUCT = 'code-of-conduct',\n\n USER_ACCOUNT = 'user-account',\n NEW = 'new',\n\n USER = 'user',\n USER_INFO = 'user-info',\n MY_INFO = 'my-info',\n USER_SETTINGS = 'user-settings',\n SETTINGS = 'settings',\n MY_FAVORITES = 'my-favorites',\n MY_CHAMPIONED = 'my-championed',\n\n CATALOG = 'catalog',\n SEARCH_RESULTS = 'search-results',\n CLOSE_TO_CLOSING = 'close-to-closing',\n\n GIVING = 'giving',\n\n DETAILS = 'details',\n PREVIEW = 'preview',\n\n ORGANIZATION = 'organization',\n ORGANISATION = 'organisation',\n PROJECT = 'project',\n PROJECT_ADMIN = 'project-admin',\n\n SUMMARY_TAB = 'summary',\n TEAM_TAB = 'team',\n FINANCIALS_TAB = 'financials',\n CHAMPION_TAB = 'champion',\n DOCUMENTS_TAB = 'docs',\n QUESTIONS_TAB = 'questions',\n UPDATE_TAB = 'updates',\n PROJECTS_TAB = 'projects',\n GOALS_TAB = 'goals',\n ORGANIZATION_TAB = 'organization',\n\n PROFILES = 'profiles',\n INVESTORS_AND_CHAMPIONS = 'investors-and-champions',\n PARTNERS = 'partners',\n CHAMPION_PROFILE = 'champion-profile',\n INVESTOR_PROFILE = 'investor-profile',\n PARTNER_PROFILE = 'partner-profile',\n\n ADMIN = 'admin',\n SETUP = 'setup',\n ORGANIZATIONS = 'organisations',\n PROJECTS = 'projects',\n PORTFOLIOS = 'portfolios',\n\n NEW_ORGANIZATION = 'new-organization',\n EXISTING_ORGANIZATION = 'existing',\n NEW_PROJECT = 'new-project',\n NEW_PORTFOLIO = 'new-portfolio',\n\n UPDATE = 'update',\n UPDATE_ORGANIZATION = 'update-organization',\n UPDATE_PROJECT = 'update-project',\n UPDATE_PORTFOLIO = 'update-portfolio',\n\n ARCHIVE = 'archive',\n\n USERS_PERMISSIONS = 'users-permissions',\n\n QUESTIONS_AND_UPDATES = 'questions-and-updates',\n\n GROUPS = 'groups',\n LIST = 'list',\n ALL_GROUPS = 'all-groups',\n MY_GROUPS = 'my-groups',\n ADD_NEW_GROUP = 'add-new-group',\n EDIT_GROUP = 'edit-group',\n\n OWNED_GROUPS = 'owned-groups',\n JOINED_GROUPS = 'joined-groups',\n INVITED_TO_JOIN = 'invited-to-join',\n PENDING_REQUEST = 'pending-request',\n MEMBERS = 'members',\n PROJECTS_DISCUSSED = 'projects-discussed',\n ORGANISATIONS_DISCUSSED = 'organisations-discussed',\n DOCUMENTS = 'documents',\n ANNOUNCEMENTS_AND_UPDATES = 'updates-announcements',\n ADD_DOCUMENTS = 'add-documents',\n ADD_NEW_UPDATE = 'add-update',\n EDIT_UPDATE = 'edit-update',\n MESSAGES = 'messages',\n\n PORTFOLIO = 'portfolio',\n CHAMPIONS = 'champions',\n DESCRIPTION = 'description',\n\n GLOBAL_SETTINGS = 'global-settings',\n GLOBAL_CONFIG = 'config',\n LANGUAGE_SETTINGS = 'language-settings',\n PROFILES_SETTINGS = 'profiles-settings',\n PROJECT_PROFILES = 'project-profiles',\n ORGANISATION_PROFILES = 'organisation-profiles',\n USER_PROFILES = 'user-profiles',\n BADGES = 'badges',\n HOMEPAGE_CONFIG = 'landing-page-config',\n REGION_SETTINGS = 'region-settings',\n NEW_REGION = 'new-region',\n PROFILE_SETUP = 'profile-setup',\n NEW_PROFILE = 'new-profile',\n NEW_LANGUAGE = 'new-language',\n NEW_BADGE = 'new-badge',\n CHAMPION_ADMIN = 'champion-admin',\n CAUSES_SETTINGS = 'causes-settings',\n NEW_CAUSE = 'new-cause',\n CATEGORIES_SETTINGS = 'categories-settings',\n NEW_CATEGORY = 'new-category',\n PORTFOLIO_PROFILES = 'portfolio-profiles',\n}\n\nexport default Urls;\n","import { CodeValue } from '../models/GenericObject';\n\nexport enum Role {\n UNVERIFIED = 'UNVERIFIED',\n USER = 'USER',\n CHAMPION = 'ADMIN_CHAMPION',\n SUPER_ADMIN = 'SUPERADMIN',\n FOUNDATION_ADMIN = 'FOUNDATION_ADMIN',\n ORGANIZATION_ADMIN = 'ORGANIZATION_ADMIN',\n PROJECT_ADMIN = 'PROJECT_MANAGER',\n}\n\nexport enum UserType {\n DONOR = 'DONOR',\n FOUNDATION = 'FOUNDATION',\n ORGANISATION = 'ORGANISATION',\n}\n\nexport enum UserStatus {\n DRAFT = 'DRAFT',\n COMPLETE = 'COMPLETE',\n INCOMPLETE = 'INCOMPLETE',\n}\n\nexport enum VettedStatus {\n VETTED = 'VETTED',\n NON_VETTED = 'NON_VETTED',\n}\n\nexport enum UserTerm {\n CODE_OF_CONDUCT = 'CODE_OF_CONDUCT',\n TS_AND_PRIVACY = 'TS_AND_PRIVACY',\n CHAMPION_DISCLOSURE = 'CHAMPION_DISCLOSURE',\n}\n\nexport const Interval: CodeValue[] = [\n new CodeValue('GENERAL.FILTERS.LAST_DAY', 1),\n new CodeValue('GENERAL.FILTERS.LAST_3_DAYS', 3),\n new CodeValue('GENERAL.FILTERS.LAST_7_DAYS', 7),\n new CodeValue('GENERAL.FILTERS.LAST_MONTH', 31),\n];\n\nexport const UserSortOptions: string[] = ['FIRST_NAME', 'LAST_NAME', 'UPDATE_DATE'];\n\nexport const InvitedUserSortOptions: string[] = ['FIRST_NAME', 'LAST_NAME', 'ROLE', 'TYPE', 'EXPIRATION_DATE', 'ORGANISATION_NAME'];\n","export const RegexCodes = {\n email: /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}])|(([a-zA-Z-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n};\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {HttpClientModule} from '@angular/common/http';\n\n@NgModule({\n imports: [\n CommonModule,\n HttpClientModule\n ],\n declarations: [],\n exports: []\n})\n\nexport class CoreModule {\n}\n","import { Injectable } from '@angular/core';\nimport { Router, CanActivate, CanLoad, Route, UrlSegment, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\nimport { Observable, of, switchMap } from 'rxjs';\nimport StorageHelper from '../helpers/Storage.helper';\nimport Urls from '../constants/Urls';\nimport { UserService } from '../services/user.service';\nimport { SSOService } from '../sso/sso.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NoAuthGuard implements CanActivate, CanLoad {\n // prettier-ignore\n constructor(\n private router: Router,\n private userService: UserService,\n private ssoService: SSOService\n ) {}\n\n canActivate(_route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean {\n return this.hasAccess(state);\n }\n\n canLoad(_route: Route, segments: UrlSegment[]): Observable | boolean {\n return this.hasAccess(segments);\n }\n\n hasAccess(urlData: RouterStateSnapshot | UrlSegment[]): Observable | boolean {\n let url: string, lastParam: string;\n if (urlData instanceof RouterStateSnapshot) {\n url = urlData.url;\n lastParam = url.split('/').reverse()[0];\n } else if (urlData[0] instanceof UrlSegment) {\n url = urlData.join('/');\n lastParam = urlData[urlData.length - 1].path;\n }\n\n if (StorageHelper.getKeycloakToken()) {\n return this.userService.currentUser$.pipe(\n switchMap((user) => {\n if (Object.values(Urls).findIndex((url) => url === lastParam) < 0) {\n this.ssoService.logout();\n return of(true);\n }\n if (user?.email) {\n this.router.navigate([Urls.APP]);\n return of(false);\n }\n return of(true);\n })\n );\n } else {\n return true;\n }\n }\n}\n","import { AbstractControl, FormControl, FormGroup, ValidatorFn } from '@angular/forms';\nimport { of, timer } from 'rxjs';\nimport { catchError, map, switchMap } from 'rxjs/operators';\nimport { ResponseObject } from '../models/GenericObject';\nimport { RegexCodes } from '../constants/regexCodes';\nimport { Media } from '../models/FormControls';\nimport { ServerError } from '../constants/ServerError';\nimport moment from 'moment';\nimport Utils from './Utils';\n\nexport class CustomValidators {\n public static passwordMatchValidator(control: AbstractControl): { [key: string]: any } {\n if (!control.get('password').value || !control.get('repeatPassword').value) return null;\n return control.get('password').value !== control.get('repeatPassword').value ? { confPass: true } : null;\n }\n\n public static required(control: FormControl): { [key: string]: any } {\n return (control.value || control.value === 0) &&\n ((typeof control.value === 'number' && !Number.isNaN(control.value)) ||\n typeof control.value === 'object' ||\n (typeof control.value === 'string' && control.value.trim()))\n ? null\n : { required: true };\n }\n\n public static mediaRequired(control: FormControl): { [key: string]: any } {\n return control.value && control.value instanceof Media && control.value.url ? null : { required: true };\n }\n\n public static imageOrVideoRequired(imageKey, videoKey): ValidatorFn {\n return (control: FormGroup): { [key: string]: any } => {\n let required = true;\n const imageControl = control.get(imageKey) as FormControl;\n const videoControl = control.get(videoKey) as FormControl;\n for (const mediaElement of [imageControl, videoControl]) {\n if (mediaElement.value && mediaElement.value instanceof Media && mediaElement.value.url && mediaElement.value.uuid) {\n return null;\n }\n }\n return { required: required };\n };\n }\n\n public static requiredObject(control: FormControl): { [key: string]: any } {\n return Utils.hasValue(control.value) ? null : { required: true };\n }\n\n public static objectType(control: FormControl): { [key: string]: any } {\n if (!control.value) {\n return null;\n }\n if (typeof control.value === 'object') {\n const result = !!Object.keys(control.value).length && !!Object.keys(control.value).find((child) => control.value[child]);\n return result ? null : { required: true };\n }\n return { required: true };\n }\n\n public static minLengthArray(min: number): ValidatorFn {\n return (c: AbstractControl): { [key: string]: any } => {\n if (c.value.length >= min) return null;\n return { required: true };\n };\n }\n\n public static allowZero(control: FormControl): { [key: string]: any } {\n return control.value !== undefined &&\n (typeof control.value === 'number' || typeof control.value === 'object' || (typeof control.value === 'string' && control.value.trim()))\n ? null\n : { required: true };\n }\n\n public static valueSelected(array: any[]): ValidatorFn {\n return (c: AbstractControl): { [key: string]: any } => {\n return array.find((item) => item.name === c.value?.trim()) ? null : { required: true };\n };\n }\n\n public static differentThanOldPasswordValidator(control: AbstractControl): { [key: string]: any } {\n if (!control.get('oldPassword').value || !control.get('passwords').get('password').value) return null;\n return control.get('oldPassword').value === control.get('passwords').get('password').value ? { samePass: true } : null;\n }\n\n public static minLength(value: number): ValidatorFn {\n return (c: AbstractControl): { [key: string]: any } => {\n return (c.value && c.value.trim().length >= value) || !c.value ? null : { minlength: true };\n };\n }\n\n public static amountRaisedToDateNeededToBeLess(total, rest): ValidatorFn {\n return (control: AbstractControl): { [key: string]: any } => {\n return control.get(total).value < control.get(total).value - control.get(rest).value ? { greaterThan: true } : null;\n };\n }\n\n public static maxLength(value: number): ValidatorFn {\n return (c: AbstractControl): { [key: string]: any } => {\n return c.value && c.value.trim().length > value ? { maxlength: true } : null;\n };\n }\n\n public static password(control: FormControl): { [key: string]: any } {\n const regExp: RegExp = new RegExp(String.raw`(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])`);\n return regExp.test(control.value) || !control.value ? null : { password: true };\n }\n\n public static lettersAndSomeSpecialCharacters(c: FormControl): { [key: string]: any } {\n const regExp: RegExp = /^[^0-9_”„\"!¡?÷?¿\\/\\\\+=@#$%ˆ^&*(){}|~<>;:[\\]]*$/;\n return regExp.test(c.value) ? null : { noNameFormat: true };\n }\n\n public static email(c: FormControl): { [key: string]: any } {\n if (!c.value) {\n return null;\n }\n const regExp: RegExp = RegexCodes.email;\n return regExp.test(c.value.trim()) ? null : { email: true };\n }\n\n public static website(c: FormControl): { [key: string]: any } {\n if (c.value === null || c.value === '' || c.value === undefined) {\n return null;\n }\n const regExp: RegExp =\n /(https?:\\/\\/)?(www\\.)[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,4}\\b([-a-zA-Z0-9@:%_\\+.~#?&//=]*)|(https?:\\/\\/)?(www\\.)?(?!ww)[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,15}\\b([-a-zA-Z0-9@:%_\\+.~#?&//=]*)/;\n const regExpArray = regExp.exec(c.value);\n return regExpArray && regExpArray[0] === regExpArray.input ? null : { invalidWebsite: true };\n }\n\n public static validateNameNotTaken(service: any, uuid: string, parent: boolean = false, time: number = 500) {\n return (input: FormControl) => {\n return timer(time).pipe(\n switchMap(() => (parent ? service.checkName(input.value, uuid, parent) : service.checkName(input.value, uuid))),\n map((res: ResponseObject) => {\n return res.response ? { nameExists: true } : null;\n }),\n catchError((err) => {\n if (err.error.message === ServerError.NUMBER_OF_CHARACTERS_NOT_REACHED) {\n return of({ minlength: true });\n } else {\n return null;\n }\n })\n );\n };\n }\n\n public static endDateAfterStartDate(control: AbstractControl): { [key: string]: any } {\n const startDate = control.get('startDate');\n const endDate = control.get('endDate');\n if (moment(startDate.value).isBefore(endDate.value)) {\n endDate.setErrors(null);\n return null;\n } else {\n endDate.setErrors({ ...endDate.errors, endTime: true });\n return { endTime: true };\n }\n }\n\n public static fillEntireGroup(group: FormGroup): { [key: string]: any } {\n const name = group.controls['name'];\n const description = group.controls['relationshipDescription'];\n if (name.value?.trim().length > 0 && !description.value?.length) {\n description.setErrors({ required: true });\n return { required: true };\n } else {\n description.setErrors(null);\n }\n if (description.value?.length > 0 && !name.value?.length) {\n name.setErrors({ required: true });\n return { required: true };\n } else {\n name.setErrors(null);\n }\n return null;\n }\n public static hexCode(control: FormControl): { [key: string]: any } {\n const hexRegex = /^#([0-9a-f]{3}){1,2}$/i;\n return hexRegex.test(control.value) ? null : { hexCode: true };\n }\n\n public static maxValue(value: number): ValidatorFn {\n return (c: AbstractControl): { [key: string]: any } => {\n return c.value && c.value > value ? { maxValue: true } : null;\n };\n }\n\n public static minValue(value: number): ValidatorFn {\n return (c: AbstractControl): { [key: string]: any } => {\n return c.value && c.value < value ? { minValue: true } : null;\n };\n }\n}\n","import { AbstractControl, FormArray, FormGroup } from '@angular/forms';\nimport { combineLatest } from 'rxjs';\nimport { Role } from '../constants/User';\nimport { EntityProfile } from '../models/EntityProfile';\nimport { Control, CONTROL_TYPES, VALUE_TYPES } from '../models/FormControls';\nimport { ArrayObjects } from '../models/GenericObject';\nimport { OrganisationProfileFields } from '../models/organisation/Organization';\nimport { ProjectProfileFields } from '../models/project/Project';\nimport { CustomValidators } from './CustomValidators.helpers';\nimport FormUtils from './FormUtils';\nimport { PortfolioProfileFields } from '../models/portfolio/Portfolio';\n\n// tslint:disable: max-line-length\nexport default class FormFactoryUtils {\n public static getInvalidFieldsForEntity(rootControl: Control, formcontrol: AbstractControl): ArrayObjects {\n const invalidFieldsObject: ArrayObjects = {};\n Object.values(rootControl.controls).forEach((groupData) => {\n let invalidFields = [];\n Object.values(groupData.controls).forEach(\n (controlData) =>\n (invalidFields = [\n ...invalidFields,\n ...this.extractInvalidLabelsFromControl(controlData, formcontrol.get(groupData.key).get(controlData.key)),\n ])\n );\n if (invalidFields.length > 0) {\n Object.assign(invalidFieldsObject, { [groupData.label]: invalidFields });\n }\n });\n return Object.values(invalidFieldsObject).length > 0 ? invalidFieldsObject : undefined;\n }\n\n public static extractInvalidLabelsFromControl(controlData: Control, control: AbstractControl): Array {\n switch (controlData.controlType) {\n case CONTROL_TYPES.FORM_CONTROL:\n if (control.invalid) {\n return [controlData.label];\n }\n return [];\n case CONTROL_TYPES.FORM_GROUP:\n if (control.invalid) {\n if (controlData.label) {\n return [controlData.label];\n } else {\n let invalidFields = [];\n Object.values(controlData.controls).forEach((ctrlData) => {\n invalidFields = [...invalidFields, ...this.extractInvalidLabelsFromControl(ctrlData, control.get(ctrlData.key))];\n });\n return invalidFields;\n }\n }\n return [];\n case CONTROL_TYPES.FORM_ARRAY:\n if (control.invalid) {\n return [controlData.label];\n }\n return [];\n default:\n return [];\n }\n }\n\n public static invalidBesidesRequired(rootControl: Control, formGroup: FormGroup): boolean {\n for (const control of Object.values(rootControl.controls)) {\n if (this.checkForOtherThenRequiredError(control, formGroup.controls[control.key])) {\n return true;\n }\n }\n return false;\n }\n\n public static checkForOtherThenRequiredError(controlData: Control, control: AbstractControl): boolean {\n switch (controlData.controlType) {\n case CONTROL_TYPES.FORM_CONTROL:\n if (control.value && control.errors && FormUtils.errorDifferentThanRequired(control.errors)) {\n return true;\n }\n return false;\n case CONTROL_TYPES.FORM_GROUP:\n for (const ctrl of Object.values(controlData.controls)) {\n if (this.checkForOtherThenRequiredError(ctrl, (control as FormGroup).controls[ctrl.key])) {\n return true;\n }\n }\n return false;\n case CONTROL_TYPES.FORM_ARRAY:\n for (const ctrl of (control as FormArray).controls) {\n if (this.checkForOtherThenRequiredError(Object.values(controlData.controls)[0], ctrl)) {\n return true;\n }\n }\n return false;\n }\n }\n\n public static organizationFinancialsCustomParsing(control: FormArray, controlKeys): void {\n control.get(controlKeys.BUDGET_YEAR).updateValueAndValidity();\n control.get(controlKeys.FISCAL_YEAR_END).updateValueAndValidity();\n\n control.get(controlKeys.REVENUE).valueChanges.subscribe((val) => {\n let budget = 0;\n let actuals = 0;\n val.forEach((revenueItem) => {\n budget += revenueItem.revenueItemBudget;\n actuals += revenueItem.revenueItemActual;\n });\n control.get(controlKeys.TOTAL_REVENUE_ACTUALS).patchValue(actuals);\n control.get(controlKeys.TOTAL_REVENUE_BUDGET).patchValue(budget);\n });\n control.get(controlKeys.EXPENSE).valueChanges.subscribe((val) => {\n let budget = 0;\n let actuals = 0;\n val.forEach((expenseItem) => {\n budget += expenseItem.expenseItemBudget;\n actuals += expenseItem.expenseItemActual;\n });\n control.get(controlKeys.TOTAL_EXPENSE_ACTUALS).patchValue(actuals);\n control.get(controlKeys.TOTAL_OPERATING_BUDGET).patchValue(budget);\n });\n\n combineLatest([\n control.get(controlKeys.TOTAL_REVENUE_BUDGET).valueChanges,\n control.get(controlKeys.TOTAL_OPERATING_BUDGET).valueChanges,\n ]).subscribe((val: [number, number]) => {\n control.get(controlKeys.NET_GAIN_LOSS_BUDGET).patchValue(val[0] - val[1]);\n });\n\n combineLatest([\n control.get(controlKeys.TOTAL_REVENUE_ACTUALS).valueChanges,\n control.get(controlKeys.TOTAL_EXPENSE_ACTUALS).valueChanges,\n ]).subscribe((val: [number, number]) => {\n control.get(controlKeys.NET_GAIN_LOSS_ACTUALS).patchValue(val[0] - val[1]);\n });\n\n control.get(controlKeys.REVENUE).updateValueAndValidity();\n control.get(controlKeys.EXPENSE).updateValueAndValidity();\n\n control.markAsUntouched();\n }\n\n public static handleUserTypeChange(userTypeControl: AbstractControl): void {\n userTypeControl.valueChanges.subscribe((value) => {\n if (value) {\n userTypeControl.parent.get('roleName').patchValue(null);\n }\n });\n }\n\n public static handleRoleChange(roleControl: AbstractControl): void {\n roleControl.valueChanges.subscribe((value) => {\n if (roleControl.parent) {\n let entityControl = roleControl.parent.get('entity');\n if (value === Role.PROJECT_ADMIN) {\n if (!entityControl.validator) {\n entityControl.setValidators(CustomValidators.requiredObject);\n entityControl.updateValueAndValidity();\n }\n } else {\n if (entityControl.validator) {\n entityControl.clearValidators();\n entityControl.updateValueAndValidity();\n }\n }\n }\n });\n }\n\n public static getSecondUuidControl(rootControl: Control, abstractControl: AbstractControl): AbstractControl {\n return rootControl.parent\n ? abstractControl.parent.get(\n Object.values(rootControl.parent.controls).find((control) => control.valueType === VALUE_TYPES.SECOND_UUID)?.key\n ) || this.getSecondUuidControl(rootControl.parent, abstractControl.parent)\n : abstractControl.get(Object.values(rootControl.controls).find((control) => control.valueType === VALUE_TYPES.SECOND_UUID)?.key) || null;\n }\n\n public static setUpProfile(fields: ProjectProfileFields | OrganisationProfileFields | PortfolioProfileFields, profile: EntityProfile): void {\n Object.values(fields).forEach((value) => {\n if (Object.values(value.innerFields).length) {\n value.list = true;\n }\n if (value.list) {\n this.setUpProfile(value.innerFields, profile);\n }\n if (profile?.innerFields[value.uuid]) {\n value.hidden = profile?.innerFields[value.uuid].hidden;\n value.mandatory = value.hidden ? false : true;\n } else {\n value.hidden = false;\n value.mandatory = value.mandatory ? value.mandatory : false;\n }\n });\n }\n}\n","import { AbstractControl, FormArray, ValidatorFn } from '@angular/forms';\nimport { MatOption } from '@angular/material/core';\nimport { ActivityActionType } from '../constants/Activity';\n\n// tslint:disable:max-line-length\nexport default class FormUtils {\n public static updateValueAndValidator(control: AbstractControl, validators: ValidatorFn[], value?: any): void {\n control.setValidators(validators);\n control.updateValueAndValidity();\n if (value) {\n control.patchValue(value);\n }\n }\n\n public static clearValueAndValidator(control: AbstractControl | FormArray, array?: boolean) {\n array ? control.patchValue([]) : control.patchValue(null);\n control.clearValidators();\n control.updateValueAndValidity();\n }\n\n public static toggleAllSelection(control: AbstractControl, listOrObject: any, option: MatOption, object = false): void {\n if (option.selected) {\n if (object) {\n const uuidArray = [];\n for (const item of Object.keys(listOrObject)) {\n uuidArray.push(listOrObject[item].uuid);\n }\n control.patchValue([...uuidArray]);\n } else {\n control.patchValue([...listOrObject.map((item) => item.uuid || item.code || item.name || item)]);\n }\n } else {\n control.patchValue([]);\n }\n }\n\n public static allSelectedAfterOptionClick(control: AbstractControl, filters: ActivityActionType[] = []): void {\n if (control.value?.length < filters.length && control.value.indexOf('ALL')) {\n const controlValue = [...control.value];\n controlValue.splice(control.value.indexOf('ALL'), control.value.indexOf('ALL') + 1);\n control.patchValue(controlValue);\n } else if (control.value?.length && control.value?.length === filters.length - 1 && !control.value.indexOf('ALL')) {\n const controlValue = [...control.value];\n controlValue.push('ALL');\n control.patchValue(controlValue);\n }\n }\n\n public static errorDifferentThanRequired(controlErrors: any) {\n for (const error in controlErrors) {\n if (error !== 'required' && error !== 'minArrayLength' && error !== 'actualYearMissing') {\n return true;\n }\n }\n return false;\n }\n}\n","import { Language } from '../models/global-settings/Language';\n\nexport default class StorageHelper {\n private static readonly tokenKey: string = 'jwtToken';\n private static readonly keyCloakTokenKey: string = 'access_token';\n private static readonly refreshTokenKey: string = 'refreshJwtToken';\n private static readonly username: string = 'username';\n private static readonly currency: string = 'currency';\n private static readonly language: string = 'language';\n private static readonly languages: string = 'languages';\n private static readonly appConfig: string = 'appConfig';\n\n static getAppConfig() {\n return window.localStorage[this.appConfig];\n }\n\n static saveAppConfig(appConfig: string) {\n window.localStorage[this.appConfig] = appConfig;\n }\n\n static getToken() {\n return window.localStorage[this.tokenKey];\n }\n\n static getKeycloakToken() {\n return window.localStorage[this.keyCloakTokenKey];\n }\n\n static getRefreshToken() {\n return window.localStorage[this.refreshTokenKey];\n }\n\n static getUsername() {\n return window.localStorage[this.username];\n }\n\n static saveTokensAndUsername(token: string, refreshToken?: string, username?: string) {\n this.saveToken(token);\n window.localStorage[this.refreshTokenKey] = refreshToken;\n window.localStorage[this.username] = username;\n }\n\n static saveToken(token: string): void {\n window.localStorage[this.tokenKey] = token;\n }\n\n static clearToken(): void {\n window.localStorage.removeItem(this.tokenKey);\n }\n\n static killSession() {\n window.localStorage.removeItem(this.tokenKey);\n window.localStorage.removeItem(this.refreshTokenKey);\n window.localStorage.removeItem(this.username);\n }\n\n static saveCurrency(currency: string): void {\n window.localStorage[this.currency] = currency;\n }\n\n static getCurrency(): string {\n return window.localStorage[this.currency];\n }\n\n static saveLanguage(language: string): void {\n window.localStorage[this.language] = language;\n }\n\n static getSelectedLanguage(): Language {\n const language = window.localStorage[this.language];\n return language && language !== 'undefined' && language !== 'null' ? JSON.parse(language) : null;\n }\n\n static saveStoredLanguages(list: string): void {\n window.localStorage[this.languages] = list;\n }\n\n static getStoredTranslationsList(): object {\n const languages = window.localStorage[this.languages];\n return languages ? JSON.parse(languages) : {};\n }\n\n static setLanguageJSON(code: string, json: string): void {\n window.localStorage[code] = json;\n }\n\n static getLanguageJSON(code: string): object {\n const json = window.localStorage[code];\n return json && json !== 'undefined' && json !== 'null' ? JSON.parse(json) : null;\n }\n\n static clearAll(): void {\n window.localStorage.clear();\n }\n\n static clearLanguages(): void {\n const languagesList = this.getStoredTranslationsList();\n Object.values(languagesList).forEach((language) => {\n window.localStorage.removeItem(language.code);\n });\n }\n\n static getDateFormat(): string {\n const json = window.localStorage[this.appConfig];\n return json && json !== 'undefined' && json !== 'null' ? JSON.parse(json).dateFormat : 'M/d/yyyy';\n }\n}\n","import { AbstractControl } from '@angular/forms';\nimport * as jwt_decode from 'jwt-decode';\nimport { FileItem } from 'ng2-file-upload';\nimport { AddressComponent } from 'ngx-google-places-autocomplete/objects/addressComponent';\nimport { PageFilters, FilterOption } from 'src/app/_core/models/filters/Filters';\nimport { DOC_FORMATS, DOC_MIME_TYPES, IMG_FORMATS, IMG_MIME_TYPES, VIDEO_FORMATS, VIDEO_MIME_TYPES } from '../constants/FileType';\nimport { FilterSelected } from '../models/filters/Dashboard';\nimport { AddressComponentTypes } from '../constants/GooglePlaces';\nimport StorageHelper from './Storage.helper';\nimport { TokenData } from '../models/Auth';\nimport { UUIDName } from '../models/GenericObject';\nimport { Privilege } from '../constants/Privileges';\nimport { Tab } from '../models/Tab';\nimport Urls from '../constants/Urls';\nimport { RegexCodes } from '../constants/regexCodes';\nimport { Color } from '@angular-material-components/color-picker';\nimport { environment } from 'src/environments/environment';\nimport { EnvironmentName } from '../constants/EnvironmentConst';\n\nexport default class Utils {\n public static decodeToken(): TokenData {\n try {\n return jwt_decode.default(StorageHelper.getKeycloakToken());\n } catch (Error) {\n return null;\n }\n }\n\n public static calculateFinancedPercent(amountRaised: number, totalAmount: number): number {\n return Math.floor((amountRaised * 100) / totalAmount);\n }\n\n public static compareArraysLength(array1: Array, array2: Array): boolean {\n return array1?.length === array2?.length;\n }\n\n public static setCurrencySymbol(select: AbstractControl | string, currencyList: Array = []) {\n let selectedCurrency;\n\n if (currencyList.length) {\n selectedCurrency = currencyList.find(\n (currency) => currency.uuid === (select as AbstractControl).value?.uuid || currency.uuid === (select as AbstractControl).value\n );\n }\n const selectedCurrencySymbol = selectedCurrency ? selectedCurrency.name : select;\n\n switch (selectedCurrencySymbol) {\n case 'SGD':\n return ' S$ ';\n case 'HKD':\n return ' HK$ ';\n case 'USD':\n return ' $ ';\n case 'EUR':\n return ' € ';\n case 'CHF':\n return ' CHF ';\n case 'CAD':\n return ' CA$ ';\n case 'AUD':\n return ' A$ ';\n case 'GBP':\n return ' £ ';\n case 'NZD':\n return ' NZ$ ';\n case 'KSH':\n return ' KES ';\n case 'CZK':\n return ' Kč ';\n case 'PHP':\n return ' ₱ ';\n case 'JPY':\n return ' ¥ ';\n case 'MXN':\n return ' MX$ ';\n case 'INR':\n return ' ₹ ';\n case 'ZAR':\n return ' R ';\n case 'MYR':\n return ' RM ';\n case 'BRL':\n return ' R$ ';\n case 'THB':\n return ' ฿ ';\n default:\n if (typeof selectedCurrencySymbol !== 'string') return '';\n return ` ${selectedCurrencySymbol} `;\n }\n }\n\n public static extractField(array: Array, fieldToSearch: string, valueToSearch: string): any {\n return array.find((item) => item[fieldToSearch] === valueToSearch);\n }\n\n public static extractFieldArray(array: Array, field: string): string[] {\n return array.map((item) => item[field]);\n }\n\n public static extractFileExtension(fileName: string) {\n return fileName ? fileName.split('.').pop() : null;\n }\n\n public static localToUTCNoOffset(date: Date): number | null {\n return date ? new Date(date.getTime() - date.getTimezoneOffset() * 60000).getTime() : null;\n }\n\n public static applyCurrencyMask(value: number) {\n return Intl.NumberFormat('en-us').format(value);\n }\n\n public static UTCtoLocalNoOffset(date: number): Date | null {\n if (date) {\n const localDate = new Date(date);\n return new Date(localDate.getTime() + localDate.getTimezoneOffset() * 60000);\n }\n return null;\n }\n\n public static UTCtoLocalStringDateOnly(date: number): string | null {\n if (date) {\n return this.UTCtoLocalNoOffset(date).toLocaleString('en-US').split(',')[0];\n }\n return null;\n }\n\n public static UTCtoLocalStringDateAndTimeOnly(date: number): string | null {\n if (date) {\n const timeFormat: Intl.DateTimeFormatOptions = { month: 'short', year: 'numeric', day: '2-digit', hour: '2-digit', minute: '2-digit' };\n return new Date(date).toLocaleDateString('en-US', timeFormat);\n }\n return null;\n }\n\n public static calculatePercent(total: number, raised: number): number {\n return total ? Math.floor((raised * 100) / total) : 0;\n }\n\n public static arrayToFormattedStr(array: Array) {\n const typeStr = array.reduce((result: string, type: string) => {\n result = result + type + ', ';\n return result;\n }, '');\n return typeStr.substr(0, typeStr.length - 2);\n }\n\n public static changeIndexPositionInArray(array: any[], oldIndex: number): any[] {\n const leftSection = array.splice(0, oldIndex);\n return array.concat(leftSection);\n }\n\n public static getFileName(fileLongName: string) {\n return fileLongName?.split('/').pop();\n }\n\n public static checkFileType(fileName: string, mimeType: string, fileType: string): boolean {\n let mimeTypes: Array;\n let fileFormats: Array;\n switch (fileType) {\n case 'DOC':\n mimeTypes = DOC_MIME_TYPES;\n fileFormats = DOC_FORMATS;\n break;\n case 'VIDEO':\n mimeTypes = VIDEO_MIME_TYPES;\n fileFormats = VIDEO_FORMATS;\n break;\n case 'IMG':\n mimeTypes = IMG_MIME_TYPES;\n fileFormats = IMG_FORMATS;\n break;\n }\n return mimeType ? mimeTypes.indexOf(mimeType) > -1 : fileFormats.indexOf(Utils.extractFileExtension(fileName)) > -1;\n }\n\n public static computeLinksVisibility(links: Tab[], privileges: Privilege[]) {\n links.forEach((tab: Tab) => {\n if (tab.link == Urls.HOMEPAGE) {\n tab.visibility = true;\n } else {\n tab.visibility = privileges?.some((item: Privilege) => tab.privileges[item]);\n }\n });\n }\n\n public static sortBy(array: Array, field: string, numberInString: boolean = false) {\n return array.sort((a: any, b: any) =>\n numberInString ? Number(a[field].split('-').shift()) - Number(b[field].split('-').shift()) : a[field].localeCompare(b[field])\n );\n }\n\n private static isDigit(char: string): boolean {\n return /[\\d]/.test(char);\n }\n\n private static addWordToArray(word: string, words: string[], linkingWord: string): void {\n word.toLowerCase() === linkingWord ? words.push(word.toLowerCase()) : words.push(word);\n }\n\n public static variableToString(value: string, linkingWord: string): string {\n if (value) {\n const words: string[] = [];\n\n let previousCapitalLetterIndex = 0;\n let firstDigitIndex = 0;\n let isPreviousDigit = this.isDigit(value.charAt(0));\n\n value = value.charAt(0).toUpperCase() + value.slice(1, value.length);\n\n for (let i = 1; i < value.length; i++) {\n const char = value.charAt(i);\n if (this.isDigit(char)) {\n if (isPreviousDigit) {\n previousCapitalLetterIndex = i + 1;\n } else {\n const word = value.slice(previousCapitalLetterIndex, i);\n this.addWordToArray(word, words, linkingWord);\n firstDigitIndex = i;\n }\n isPreviousDigit = true;\n } else {\n if (isPreviousDigit) {\n const word = value.slice(firstDigitIndex, i);\n this.addWordToArray(word, words, linkingWord);\n } else {\n if (char === char.toUpperCase()) {\n const word = value.slice(previousCapitalLetterIndex, i);\n this.addWordToArray(word, words, linkingWord);\n previousCapitalLetterIndex = i;\n }\n }\n isPreviousDigit = false;\n }\n }\n const lastWord = value.slice(previousCapitalLetterIndex, value.length);\n this.addWordToArray(lastWord, words, linkingWord);\n return words.join(' ');\n }\n return null;\n }\n\n public static b64toBlob(b64Data, contentType = '', sliceSize = 512) {\n const byteCharacters = atob(b64Data);\n const byteArrays = [];\n\n for (let offset = 0; offset < byteCharacters.length; offset += sliceSize) {\n const slice = byteCharacters.slice(offset, offset + sliceSize);\n\n const byteNumbers = new Array(slice.length);\n for (let i = 0; i < slice.length; i++) {\n byteNumbers[i] = slice.charCodeAt(i);\n }\n\n const byteArray = new Uint8Array(byteNumbers);\n byteArrays.push(byteArray);\n }\n\n return new Blob(byteArrays, { type: contentType });\n }\n\n public static convertB64ToImage(b64string: string, fileToUpload: FileItem): File {\n const contentType = b64string.split('data:')[0];\n const data = b64string.split('base64,')[1];\n const blob: Blob = this.b64toBlob(data, contentType);\n return new File([blob], fileToUpload.file.name, { type: fileToUpload.file.type });\n }\n\n public static checkProperties(object: any) {\n for (const key in object) {\n if (object[key] !== null && object[key] !== '' && key !== 'position') {\n return false;\n }\n }\n return true;\n }\n\n public static navigate(url: string, location: string = '_blank') {\n let urlEditted = '';\n if (!/^http[s]?:\\/\\//.test(url)) {\n urlEditted += 'http://';\n }\n\n urlEditted += url;\n window.open(urlEditted, location);\n }\n\n public static setFilter(filterArray: FilterOption[], filterMenu: PageFilters, filterSelected: FilterSelected): void {\n filterMenu.setDefaultSort();\n if (filterSelected.option === 'all') {\n filterArray.forEach((filter) => (filter.checked = true));\n } else {\n for (const filter of filterArray) {\n if (filter.value === filterSelected.option) {\n filter.checked = true;\n break;\n }\n }\n }\n }\n\n // NOTE: The order of items in addressComponentType matters\n public static getGooglePlacesData(addressComponents: AddressComponent[], addressComponentType: AddressComponentTypes[]) {\n let addressComponent;\n addressComponentType.every((component: AddressComponentTypes) => {\n addressComponent = addressComponents.find((address: AddressComponent) => {\n return address.types.indexOf(component) > -1;\n });\n return !addressComponent;\n });\n return addressComponent;\n }\n\n public static hasPrivilege(privilegeList: Privilege[], privilege: Privilege) {\n return privilegeList?.some((item: Privilege) => item === privilege);\n }\n\n public static removeDuplicatesInArrayOfObject(array, field) {\n const obj = {};\n const newArray = [];\n\n for (const item of array) {\n obj[item[field]] = item;\n }\n\n for (const key in obj) {\n newArray.push(obj[key]);\n }\n return newArray;\n }\n\n public static checkUrlOrEmailAndNavigate(link: string, location: string = '_blank') {\n const emailRgx = new RegExp(RegexCodes.email);\n if (emailRgx.test(link)) {\n window.open(`mailto:${link}`, location);\n } else {\n this.navigate(link, location);\n }\n }\n\n public static hasValue(prop: any): boolean {\n if (!prop) {\n return false;\n }\n if (typeof prop === 'object') {\n return !!Object.keys(prop).length && !!Object.keys(prop).find((child) => prop[child]);\n }\n return true;\n }\n\n public static cloneArray(array: any[]): any[] {\n return JSON.parse(JSON.stringify(array));\n }\n\n public static sortArray(array: any[], sortByProp: string, ascending = true, sortFalsyValuesProp?: string): any[] {\n if (!array?.length) return [];\n\n let sortedArray;\n switch (typeof array[0][sortByProp]) {\n case 'boolean':\n sortedArray = array.sort((a, b) => {\n if (!a[sortByProp] && b[sortByProp]) {\n return ascending ? 1 : -1;\n } else if (a[sortByProp] && !b[sortByProp]) {\n return ascending ? -1 : 1;\n } else {\n return 0;\n }\n });\n\n if (sortFalsyValuesProp) {\n if (ascending) {\n sortedArray = [\n ...sortedArray.filter((elem) => ascending === elem[sortByProp]),\n ...this.sortArray(\n sortedArray.filter((elem) => ascending !== elem[sortByProp]),\n sortFalsyValuesProp\n ),\n ];\n }\n }\n break;\n case 'string':\n sortedArray = array.sort((a, b) => {\n return ascending ? a[sortByProp].charCodeAt(0) - b[sortByProp].charCodeAt(0) : b[sortByProp].charCodeAt(0) - a[sortByProp].charCodeAt(0);\n });\n break;\n case 'number':\n sortedArray = array.sort((a, b) => {\n return ascending ? a[sortByProp] - b[sortByProp] : b[sortByProp] - a[sortByProp];\n });\n break;\n }\n return sortedArray;\n }\n\n public static hexToPickerColor(hex): Color {\n const shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n hex = hex.replace(shorthandRegex, (_m, r, g, b) => {\n return r + r + g + g + b + b;\n });\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n if (result) {\n const rgb = {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16),\n };\n return new Color(rgb.r, rgb.g, rgb.b);\n }\n return null;\n }\n\n public static getThousandsSeparator(): string {\n return environment.name === EnvironmentName.SINNGEBER ? '.' : ',';\n }\n\n public static getDecimalSeparator(): string {\n return environment.name === EnvironmentName.SINNGEBER ? ',' : '.';\n }\n}\n","import { HttpErrorResponse, HttpEvent, HttpHandler, HttpHeaders, HttpInterceptor, HttpRequest, HttpResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { OAuthStorage } from 'angular-oauth2-oidc';\nimport { Observable, catchError, of, tap, throwError } from 'rxjs';\nimport { environment } from 'src/environments/environment';\nimport StorageHelper from '../helpers/Storage.helper';\nimport { GlobalLoaderRequests, LOADER_TYPE, NoLoaderRequests } from '../constants/Global/Loader';\nimport { LoaderService } from '../services/loader.service';\nimport { SSOService } from '../sso/sso.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class KeycloakTokenInterceptor implements HttpInterceptor {\n constructor(private authStorage: OAuthStorage, private ssoService: SSOService, private loaderService: LoaderService) {}\n\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\n const noLoaderRequest = !!NoLoaderRequests.find((reqName) => req.url.indexOf(reqName) >= 0);\n const globalLoaderRequest = !!GlobalLoaderRequests.find((reqName) => req.url.indexOf(reqName) >= 0);\n let loader: LOADER_TYPE;\n if (!noLoaderRequest) {\n loader = globalLoaderRequest ? LOADER_TYPE.GLOBAL : LOADER_TYPE.LOCAL;\n this.loaderService.show(loader);\n }\n\n const token = this.authStorage.getItem('access_token');\n const isKeycloak = req.url.indexOf(environment.keycloakRealm) >= 0;\n\n let headers: HttpHeaders = req.headers;\n if (!isKeycloak) {\n headers = req.headers\n .set('Access-Control-Allow-Origin', '*')\n .set('Cache-Control', 'no-cache')\n .set('Pragma', 'no-cache')\n .set('tenantId', environment.tenantId)\n .set('language', StorageHelper.getSelectedLanguage()?.code || 'eng');\n }\n\n if (token) {\n headers = headers.set('Authorization', `Bearer ${token}`);\n if (!isKeycloak) {\n headers = headers.set('Content-Type', 'application/json');\n }\n }\n\n req = req.clone({ headers });\n\n return next.handle(req).pipe(\n tap((event: HttpEvent) => {\n if (event instanceof HttpResponse) {\n this.loaderService.hide(loader);\n }\n }),\n catchError((error: any) => {\n if (error instanceof HttpErrorResponse) {\n const throwErr = (): Observable => {\n const err = error.error.message || error.error.error;\n return throwError(err);\n };\n this.loaderService.hide(loader);\n switch (error.status) {\n case 401:\n StorageHelper.clearAll();\n this.ssoService.login();\n return of(null);\n default:\n return throwErr();\n }\n } else {\n return of(null);\n }\n })\n );\n }\n}\n","export class AnnouncementBanner {\n header: string;\n body: string;\n\n constructor(header?: string, body?: string, date?: string) {\n this.header = header;\n this.body = body.replace('', `${date}`);\n }\n}\n","export class CustomAddress {\n streetName: string;\n streetNumber: string;\n country: string;\n countryCode: string;\n stateProvince: string;\n city: string;\n latitude: number;\n longitude: number;\n postalCode: string;\n fullAddress: string;\n uuid: string;\n\n constructor(\n streetName: string,\n streetNumber: string,\n country: string,\n countryCode: string,\n stateProvince: string,\n city: string,\n latitude: number,\n longitude: number,\n postalCode: string,\n fullAddress: string\n ) {\n this.streetName = streetName;\n this.streetNumber = streetNumber;\n this.country = country;\n this.countryCode = countryCode;\n this.stateProvince = stateProvince;\n this.city = city;\n this.latitude = latitude;\n this.longitude = longitude;\n this.postalCode = postalCode;\n this.fullAddress = fullAddress;\n }\n}\n","import Utils from '../helpers/Utils';\nimport { DOC_FORMATS, FileType, IMG_FORMATS, VIDEO_FORMATS } from '../constants/FileType';\n\nexport class File {\n uuid: string;\n name: string;\n path: string;\n fileType: FileType;\n cover: boolean;\n\n constructor(uuid: string, name: string, path: string, fileType: FileType, cover: boolean = false) {\n this.uuid = uuid;\n this.name = name;\n this.path = path;\n this.fileType = fileType;\n this.cover = cover;\n }\n}\n\nexport class FileDetails extends File {\n pendingUpload: boolean = false;\n isFormatValid: boolean = true;\n progress: number = 0;\n\n constructor(uuid: string, name: string, path: string, fileType: FileType) {\n super(uuid, name, path, fileType);\n }\n}\n\nexport class Files {\n files: File[];\n pendingUpload: boolean;\n isFormatValid: boolean;\n progress: number;\n\n constructor(files: File[], pendingUpload: boolean = false, isFormatValid = true, progress = 0) {\n this.files = files;\n this.pendingUpload = pendingUpload;\n this.isFormatValid = isFormatValid;\n this.progress = progress;\n }\n}\n\nexport class UserDetailsFiles {\n profileImage: FileDetails;\n investorPhoto: FileDetails;\n partnerPhoto: FileDetails;\n partnerLogo: FileDetails;\n introVideo: FileDetails;\n thumbnailPartnerVideo: FileDetails;\n\n constructor() {\n this.profileImage = new FileDetails(null, null, null, null);\n this.investorPhoto = new FileDetails(null, null, null, null);\n this.partnerPhoto = new FileDetails(null, null, null, null);\n this.partnerLogo = new FileDetails(null, null, null, null);\n this.introVideo = new FileDetails(null, null, null, null);\n this.thumbnailPartnerVideo = new FileDetails(null, null, null, null);\n }\n}\n\nexport class AllowedFileTypesMessage {\n imageValidFormats: string;\n videoValidFormats: string;\n docValidFormats: string;\n imageValidFormatsMessage: string;\n videoValidFormatsMessage: string;\n docValidFormatsMessage: string;\n videoOrImageValidFormats: string;\n videoOrImageValidFormatsMessage: string;\n\n constructor() {\n this.imageValidFormats = Utils.arrayToFormattedStr(IMG_FORMATS);\n this.videoValidFormats = Utils.arrayToFormattedStr(VIDEO_FORMATS);\n this.docValidFormats = Utils.arrayToFormattedStr(DOC_FORMATS);\n this.imageValidFormatsMessage = this.computeValidFormatsMessage(this.imageValidFormats);\n this.videoValidFormatsMessage = this.computeValidFormatsMessage(this.videoValidFormats);\n this.docValidFormatsMessage = this.computeValidFormatsMessage(this.docValidFormats);\n this.videoOrImageValidFormats = Utils.arrayToFormattedStr(VIDEO_FORMATS.concat(IMG_FORMATS));\n this.videoOrImageValidFormatsMessage = this.computeValidFormatsMessage(this.videoValidFormats.concat(this.imageValidFormats));\n }\n\n computeValidFormatsMessage(formats: string) {\n return `Accepted format(s): ${formats}.`;\n }\n}\n","import { AbstractControl, AsyncValidatorFn, ValidatorFn } from '@angular/forms';\nimport { FileType } from '../constants/FileType';\nimport { EntityProfile } from './EntityProfile';\nimport { GSFormGroup } from './forms/GSFormGroup';\nimport { GSFormArray } from './forms/GSFormArray';\nimport { GSFormControl } from './forms/GSFormControl';\nimport { KeyValue, UUIDName } from './GenericObject';\nimport { Color } from '@angular-material-components/color-picker';\nimport { HomepageEntityType, HomepageFilterType } from 'src/app/_core/models/global-settings/HomepageConfig';\n\nexport class ControlError {\n constructor(public type: string, public text: string) {}\n}\n\ntype ParsingFunction = (formControl: AbstractControl, controlKeys) => void;\n\nexport const CONTROL_STATE = {\n MANDATORY: 'MANDATORY',\n OPTIONAL: 'OPTIONAL',\n HIDDEN: 'HIDDEN',\n};\n\nexport interface ControlsObject {\n [key: string]: BasicControlObject;\n}\n\nexport interface BasicControlObject {\n [key: string]: Control;\n}\n\nexport interface LanguageResponseFields {\n [key: string]: { [key: string]: any };\n}\n\nexport enum VALUE_TYPES {\n STRING,\n NUMBER,\n CURRENCY,\n DATE,\n MEDIA,\n NAME_UUID,\n NAME_UUID_LIST,\n ENTITY_UUID,\n SECOND_UUID,\n}\n\nexport enum CONTROL_TYPES {\n FORM_CONTROL,\n FORM_ARRAY,\n FORM_GROUP,\n}\n\nexport type GSTypedGroup = {\n [key in keyof T]: GSTypedValue;\n};\n\nexport type GSTypedArray = T extends UUIDName ? GSFormControl : GSTypedValue;\n\nexport type GSTypedValue = T extends (infer U)[]\n ? U extends UUIDName\n ? GSFormControl\n : GSFormArray\n : T extends object\n ? T extends TreatAsFormControl\n ? GSFormControl\n : GSFormGroup\n : GSFormControl;\n\nexport type TreatAsFormControl = Media | Color | UUIDName | HomepageFilterType | HomepageEntityType | KeyValue;\n\nexport class GSControl {\n controlType: CONTROL_TYPES;\n controls: { [k: string]: GSControl };\n validators: ValidatorFn[];\n asyncValidators: AsyncValidatorFn[];\n label: string;\n placeholder: string;\n translatable: boolean;\n max: number;\n min: number;\n errors: ControlError[];\n value: T;\n key: string;\n disabled: boolean;\n optionalText: string;\n profile: EntityProfile;\n valueType: VALUE_TYPES;\n onAddItem: (value: GSFormGroup) => void;\n\n constructor(\n options: {\n value?: T;\n key?: string;\n label?: string;\n placeholder?: string;\n max?: number;\n min?: number;\n disabled?: boolean;\n optionalText?: string;\n validators?: ValidatorFn[];\n asyncValidators?: AsyncValidatorFn[];\n errors?: ControlError[];\n controlType?: CONTROL_TYPES;\n translatable?: boolean;\n controls?: { [k: string]: GSControl };\n profile?: EntityProfile;\n valueType?: VALUE_TYPES;\n } = {}\n ) {\n this.label = options.label || '';\n this.placeholder = options.placeholder || '';\n this.value = options.value;\n this.max = options.max;\n this.key = options.key;\n this.min = options.min;\n this.validators = options.validators;\n this.asyncValidators = options.asyncValidators;\n this.errors = options.errors;\n this.controlType = options.controlType || CONTROL_TYPES.FORM_CONTROL;\n this.translatable = options.translatable;\n this.controls = options.controls;\n this.disabled = options.disabled || false;\n this.optionalText = options.optionalText || '';\n this.profile = options.profile;\n this.valueType = options.valueType || VALUE_TYPES.STRING;\n }\n}\n\nexport class Control {\n key: string;\n externalKey: string | number;\n profile: EntityProfile;\n label: string;\n placeholder: string;\n optionalText: string;\n maxLength: number;\n minLength: number;\n parent: Control;\n value: T;\n valueType: VALUE_TYPES;\n validators: ValidatorFn[];\n asyncValidators: AsyncValidatorFn[];\n errors: ControlError[];\n order: number;\n controlType: CONTROL_TYPES;\n type: string;\n translatable: boolean;\n profileDisabled: boolean;\n controls: { [k: string]: Control };\n customParsing: ParsingFunction;\n\n parse(control: AbstractControl, controlKeys): void {\n if (this.customParsing) {\n this.customParsing(control, controlKeys);\n }\n }\n\n constructor(\n options: {\n value?: T;\n key?: string;\n externalKey?: string | number;\n valueType?: VALUE_TYPES;\n label?: string;\n placeholder?: string;\n optionalText?: string;\n maxLength?: number;\n minLength?: number;\n parent?: Control;\n validators?: ValidatorFn[];\n asyncValidators?: AsyncValidatorFn[];\n errors?: ControlError[];\n controlType?: CONTROL_TYPES;\n translatable?: boolean;\n type?: string;\n order?: number;\n profileDisabled?: boolean;\n controls?: { [k: string]: Control };\n customParsing?: ParsingFunction;\n profile?: EntityProfile;\n } = {}\n ) {\n this.key = options.key || 'item';\n this.externalKey = options.externalKey || '';\n this.valueType = options.valueType || VALUE_TYPES.STRING;\n this.label = options.label || '';\n this.placeholder = options.placeholder || '';\n this.optionalText = options.optionalText || '';\n this.maxLength = options.maxLength || null;\n this.minLength = options.minLength || null;\n this.value = options.value === undefined || options.value === null ? null : options.value;\n this.parent = options.parent || null;\n this.validators = options.validators || [];\n this.asyncValidators = options.asyncValidators;\n this.errors = options.errors;\n this.order = options.order === undefined ? 1 : options.order;\n this.controlType = options.controlType || CONTROL_TYPES.FORM_CONTROL;\n this.type = options.type || 'text';\n this.controls = options.controls;\n this.translatable = options.translatable !== null && options.translatable !== undefined ? options.translatable : undefined;\n this.profileDisabled = options.profileDisabled || false;\n this.customParsing = options.customParsing;\n this.profile = options.profile;\n }\n\n get controlsArray(): Control[] {\n return Object.values(this.controls);\n }\n\n addControl(control: Control): void {\n this.controls = {\n [this.key]: control,\n ...this.controls,\n };\n }\n\n clone(): Control {\n const controls = {};\n if (!!this.controls) {\n Object.values(this.controls).forEach((ctrl) => Object.assign(controls, { [ctrl.key]: ctrl.clone() }));\n }\n return new Control({\n value: this.value,\n key: this.key,\n externalKey: this.externalKey,\n valueType: this.valueType,\n label: this.label,\n placeholder: this.placeholder,\n optionalText: this.optionalText,\n maxLength: this.maxLength,\n minLength: this.minLength,\n parent: this.parent,\n validators: this.validators,\n asyncValidators: this.asyncValidators,\n errors: [],\n controlType: this.controlType,\n type: this.type,\n order: this.order,\n controls: controls ? controls : null,\n profileDisabled: this.profileDisabled,\n customParsing: this.customParsing,\n profile: {\n uuid: this.profile?.uuid,\n list: this.profile?.list,\n mandatory: this.profile?.mandatory,\n hidden: this.profile?.hidden,\n },\n });\n }\n\n setProfile(profile: EntityProfile) {\n this.profile = {\n uuid: profile?.uuid,\n list: profile?.list,\n mandatory: profile?.mandatory || false,\n hidden: profile?.hidden || false,\n };\n }\n}\n\nexport class Media {\n uuid: string;\n fileName: string;\n url: string;\n fileType: FileType;\n allowedFileType: FileType;\n cover: boolean;\n pendingUpload: boolean;\n isFormatValid: boolean;\n progress: number;\n position?: number;\n\n constructor(fileType: FileType, allowedFileType: FileType) {\n this.fileType = fileType;\n this.allowedFileType = allowedFileType;\n this.uuid = null;\n this.fileName = null;\n this.url = null;\n this.cover = false;\n this.pendingUpload = false;\n this.isFormatValid = true;\n this.progress = 0;\n this.position = null;\n }\n\n prefillFields(file: any): void {\n this.uuid = file?.uuid;\n this.fileName = file?.filename || file?.fileName;\n this.cover = file?.cover || false;\n this.url = file?.url;\n this.position = file?.position;\n }\n\n clearAfterDelete(): void {\n this.uuid = null;\n this.fileName = null;\n this.url = null;\n this.cover = false;\n this.pendingUpload = false;\n this.isFormatValid = true;\n this.progress = 0;\n this.position = null;\n }\n\n setProgress(progress: string) {\n this.progress = +progress;\n }\n\n resetProgress(): void {\n this.isFormatValid = true;\n this.pendingUpload = false;\n this.progress = 0;\n }\n\n setFieldsAfterUpload(media: Media, fileName = ''): void {\n this.resetProgress();\n this.fileName = fileName || media.fileName;\n this.uuid = media.uuid;\n this.url = media.url;\n }\n\n clone(): Media {\n return new Media(this.fileType, this.allowedFileType);\n }\n}\n\nexport interface InputNumberFormatterOptions {\n allowNegative?: boolean;\n min?: number;\n max?: number;\n allowDecimals?: boolean;\n maxDecimals?: number;\n prefix?: string;\n}\n\nexport class DocumentMedia extends Media {\n documentName: string;\n ownerName: string;\n ownerUuid: string;\n uploadDate: number;\n ownerProfilePictureUrl: string;\n\n constructor(fileType: FileType, allowedFileType: FileType) {\n super(fileType, allowedFileType);\n this.ownerName = null;\n this.ownerUuid = null;\n this.uploadDate = null;\n this.ownerProfilePictureUrl = null;\n this.documentName = null;\n }\n\n override prefillFields(file: any): void {\n super.prefillFields(file);\n this.ownerName = file?.ownerName;\n this.ownerUuid = file?.ownerUuid;\n this.uploadDate = file?.uploadDate;\n this.ownerProfilePictureUrl = file?.ownerProfilePictureUrl;\n this.documentName = file?.documentName;\n }\n\n override setFieldsAfterUpload(file: DocumentMedia, fileName): void {\n super.setFieldsAfterUpload(file, fileName);\n this.ownerName = file.ownerName;\n this.ownerUuid = file.ownerUuid;\n this.uploadDate = file.uploadDate;\n this.ownerProfilePictureUrl = file.ownerProfilePictureUrl;\n }\n\n override clone(): DocumentMedia {\n return new DocumentMedia(this.fileType, this.allowedFileType);\n }\n}\n","import { EntityStatus, ENTITY_TYPE } from '../constants/CompanyOrFirm';\nimport { PORTFOLIO_TYPE } from '../constants/portfolios/Portfolios';\nimport Urls from '../constants/Urls';\nimport { DocumentMedia } from './FormControls';\nimport { Language } from './global-settings/Language';\nimport { Media } from './Media';\n\nexport interface ResponseObject {\n response: T;\n}\n\nexport interface PaginationResponse {\n pageNumber: number;\n totalObjects: number;\n from: number;\n to: number;\n}\n\nexport interface PaginatedResponse extends PaginationResponse {\n objects: T[];\n invitedUserList?: any;\n pendingInvitationsCounter?: number;\n requestedToJoinCounter?: number;\n}\n\nexport class UUIDName {\n uuid: string;\n name: T;\n disabled: boolean;\n\n constructor(uuid: string, name: T) {\n this.uuid = uuid;\n this.name = name;\n this.disabled = false;\n }\n}\n\nexport interface UUIDSymbol {\n uuid: string;\n symbol: string;\n}\n\nexport type Enum = { [k: string]: string };\n\nexport class CodeValue {\n code: string;\n value: string | number | boolean;\n\n constructor(code: string, value?: string | number | boolean) {\n this.code = code;\n this.value = value !== undefined ? value : code;\n }\n}\n\nexport interface GenericObject {\n uuid?: string;\n code?: string;\n text?: string;\n title?: string;\n value?: string | number;\n name?: string;\n visibility?: boolean;\n privileges?: object;\n}\n\nexport interface ArrayObjects {\n [key: string]: string[];\n}\n\nexport class NavigationData {\n url: string;\n queryParams: { [k: string]: string | boolean | number };\n\n constructor(url: string, queryParams?: { [k: string]: string | boolean | number }) {\n this.url = url;\n this.queryParams = queryParams;\n }\n}\n\nexport interface EntityImage {\n mediaDto: Media;\n position: number;\n}\n\nexport interface EntityDocument {\n documentDto: DocumentMedia;\n position: number;\n}\n\nexport class EntityMainInfo {\n uuid: string;\n name: string;\n status: EntityStatus;\n language: Language;\n statusDisabled: boolean;\n showStatusDropdown: boolean;\n decliningReason: string;\n\n constructor(entityUuid: string, entityName: string, entityStatus: EntityStatus, reason?: string) {\n this.uuid = entityUuid;\n this.name = entityName;\n this.status = entityStatus;\n this.decliningReason = reason;\n }\n\n setEntityStatus(newStatus: EntityStatus): void {\n this.status = newStatus;\n if (this.language && this.language.hasOwnProperty('entityStatus')) {\n this.language.entityStatus = newStatus;\n }\n this.handleStatusButton();\n }\n\n handleStatusButton(): void {\n this.statusDisabled = this.status === EntityStatus.DRAFT || this.status === EntityStatus.EXPIRED || this.status === EntityStatus.DECLINED;\n this.showStatusDropdown = this.language?.primaryLanguage && this.status !== EntityStatus.ARCHIVED;\n }\n\n setSelectedLanguage(language: Language): void {\n this.language = language;\n if (this.language) this.handleStatusButton();\n }\n}\n\nexport class CatalogEntityCard {\n name: string;\n uuid: string;\n favorite: boolean;\n amountRaised: number;\n currencySymbol: string;\n totalBudget: number;\n coverImageUrl: string;\n coverVideoUrl: string;\n description: string;\n languageCode: string;\n parentOrganisation: UUIDName;\n categories: string[];\n countries: string[];\n cause: string;\n manager: string;\n leader: string;\n detailsPageLink: string;\n parentOrganisationLink: string;\n multipleCountries: boolean;\n multipleCategories: boolean;\n isProject: boolean;\n isOrganisation: boolean;\n isPortfolio: boolean;\n numberOfProjects: number;\n numberOfOrganisations: number;\n type: PORTFOLIO_TYPE;\n allocation: number;\n entityType: ENTITY_TYPE;\n badges: CatalogEntityBadge[];\n projects: any[];\n\n constructor(entityInfo: any) {\n this.isProject = !!entityInfo.projectUuid;\n this.isOrganisation = !this.isProject && !!entityInfo.organisationUuid;\n this.languageCode = entityInfo.languageCode;\n\n if (this.isProject) {\n this.setProjectFields(entityInfo);\n } else if (this.isOrganisation) {\n this.setOrganisationFields(entityInfo);\n } else {\n this.isPortfolio = true;\n this.setPortfolioFields(entityInfo);\n return;\n }\n\n this.amountRaised = entityInfo.amountRaisedToDate;\n this.currencySymbol = entityInfo.amountRaisedToDateCurrencySymbol;\n this.favorite = entityInfo.addedToWatchlist;\n this.totalBudget = entityInfo.totalProjectBudget;\n }\n\n setProjectFields(entityInfo): void {\n this.entityType = ENTITY_TYPE.PROJECT;\n this.name = entityInfo.projectName;\n this.uuid = entityInfo.projectUuid;\n this.coverImageUrl = entityInfo.coverImageUrl;\n this.coverVideoUrl = entityInfo.projectVideoUrl;\n this.parentOrganisation = new UUIDName(entityInfo.organisationUuid, entityInfo.organisationName);\n this.cause = entityInfo.projectCauseName;\n this.setCountries(entityInfo?.projectCountriesNames);\n this.categories = entityInfo.projectCategoriesNames;\n this.manager = entityInfo.projectManagers?.length && entityInfo.projectManagers[0];\n this.description = entityInfo.description;\n this.allocation = entityInfo.percent;\n this.detailsPageLink = `/${Urls.APP}/${Urls.DETAILS}/${Urls.PROJECT}/${this.uuid}/${this.languageCode}`;\n this.parentOrganisationLink = `/${Urls.APP}/${Urls.DETAILS}/${Urls.ORGANIZATION}/${this.parentOrganisation.uuid}/${this.languageCode}`;\n if (entityInfo.hasOwnProperty('badges')) {\n this.badges = entityInfo.badges;\n }\n }\n\n setOrganisationFields(entityInfo): void {\n this.entityType = ENTITY_TYPE.ORGANISATION;\n this.name = entityInfo.organisationName;\n this.uuid = entityInfo.organisationUuid;\n this.coverImageUrl = entityInfo.coverImageUrl;\n this.coverVideoUrl = entityInfo.organizationVideoUrl;\n this.cause = entityInfo.causeName;\n this.setCountries(entityInfo?.organisationCountriesNames);\n this.categories = entityInfo.organisationCategoriesNames;\n this.leader = entityInfo.organisationLeader;\n this.description = entityInfo.executiveSummary;\n this.allocation = entityInfo.percent;\n this.detailsPageLink = `/${Urls.APP}/${Urls.DETAILS}/${Urls.ORGANIZATION}/${this.uuid}/${this.languageCode}`;\n this.projects = entityInfo.projects.map((project: any) => {\n return {\n uuid: project.uuid,\n name: project.name,\n detailsPageLink: `/${Urls.APP}/${Urls.DETAILS}/${Urls.PROJECT}/${project.uuid}/${this.languageCode}`,\n };\n });\n if (entityInfo.hasOwnProperty('badges')) {\n this.badges = entityInfo.badges;\n }\n }\n\n setPortfolioFields(entityInfo): void {\n this.entityType = ENTITY_TYPE.PORTFOLIO;\n this.name = entityInfo.name;\n this.uuid = entityInfo.uuid;\n this.coverImageUrl = entityInfo.urlCoverImage || entityInfo.urlThumbnail;\n this.coverVideoUrl = entityInfo.urlVideo;\n this.description = entityInfo.description;\n this.cause = entityInfo.cause;\n this.setCountries(entityInfo?.countries);\n this.categories = entityInfo.categories;\n this.numberOfProjects = entityInfo.numberOfProjects;\n this.numberOfOrganisations = entityInfo.numberOfOrganisations;\n this.type = entityInfo.portfolioType;\n this.detailsPageLink = `/${Urls.APP}/${Urls.DETAILS}/${Urls.PORTFOLIO}/${this.uuid}`;\n if (entityInfo.hasOwnProperty('badges')) {\n this.badges = entityInfo.badges;\n }\n }\n\n setCountries(allCountries: string[]): void {\n if (!allCountries?.length) {\n this.countries = null;\n return;\n }\n this.multipleCountries = allCountries.length > 4;\n allCountries = allCountries.map((country) => 'GENERAL.DROPDOWNS.COUNTRIES.' + country);\n this.countries = this.multipleCountries ? allCountries.slice(0, 4) : allCountries;\n }\n}\n\nexport interface CatalogEntityBadge {\n image: Media;\n name: string;\n rank: number;\n uuid: string;\n}\n\nexport class KeyValue {\n key: string;\n value: T;\n\n constructor(key: string, value: T) {\n this.key = key;\n this.value = value;\n }\n}\n","import { Media } from './FormControls';\nimport { KeyValue, UUIDName } from './GenericObject';\nimport { CATALOG_ORGANISATIONS_SORT_OPTIONS, CATALOG_PORTFOLIOS_SORT_OPTIONS, CATALOG_PROJECT_SORT_OPTIONS } from '../constants/Global/SortOptions';\nimport Utils from '../helpers/Utils';\nimport { Color } from '@angular-material-components/color-picker';\nimport { HomepageConfig, HomepageConfigDto } from 'src/app/_core/models/global-settings/HomepageConfig';\nimport { environment } from 'src/environments/environment';\nimport { DigitGroupingKeys, NumberFormatKeys } from '../constants/NumberFormats';\nimport { GIVE_BUTTON_BEHAVIOUR } from '../constants/GiveButtonBehavior';\n\nexport class GlobalConfig {\n applicationTitle: string = '';\n whiteLogo: Media = null;\n blackLogo: Media = null;\n authBackgroundImage: Media = null;\n championsVideoThumbnail: Media = null;\n championsVideo: Media = null;\n defaultCurrency: UUIDName = null;\n adminEmail: string = '';\n entityPriority: string = null;\n termsOfUse: string = '';\n privacyPolicy: string = '';\n helpVideosLink: string = '';\n authBottomText: string = '';\n displayRegisterLink: boolean = true;\n givingLinkAdminOnly: boolean = true;\n allowDonorsCreatePrivatePortfolios: boolean = true;\n displayLearnMoreButton: boolean = true;\n allowOrganizationApproval: boolean = false;\n allowProjectApproval: boolean = false;\n allowPortfolioApproval: boolean = false;\n catalogProjectsSortOrder: CATALOG_PROJECT_SORT_OPTIONS = CATALOG_PROJECT_SORT_OPTIONS.ALPHABETICAL;\n catalogOrganisationsSortOrder: CATALOG_ORGANISATIONS_SORT_OPTIONS = CATALOG_ORGANISATIONS_SORT_OPTIONS.ORGANISATION_NAME;\n catalogPortfoliosSortOrder: CATALOG_PORTFOLIOS_SORT_OPTIONS = CATALOG_PORTFOLIOS_SORT_OPTIONS.ALPHABETICAL;\n organisationProjectsLimit: number = null;\n dateFormat: string = '';\n authButtonBackgroundColor: Color = null;\n authButtonTextColor: Color = null;\n authTextColor: Color = null;\n footerColor: Color = null;\n companyName: string = '';\n footerParentWebsiteLink: string = '';\n homepageFocus: HomepageConfig = null;\n contactLink: string = '';\n newsLink: string = '';\n customLinkLabel: string = '';\n customLinkUrl: string = '';\n learnMoreLink: string = '';\n addressFormat: string = null;\n decimalSymbol: KeyValue = null;\n digitGroupingSymbol: KeyValue = null;\n digitGrouping: KeyValue = null;\n giveButton: GIVE_BUTTON_BEHAVIOUR = GIVE_BUTTON_BEHAVIOUR.STANDARD;\n showRedirectPopup: boolean = null;\n enableGoogleAnalytics: boolean = false;\n showPortfolioOrganizationCount: boolean = null;\n showPortfolioProjectCount: boolean = null;\n googleAnalyticsTrackingCode: string = '';\n\n constructor(response: GlobalConfigResponse = null) {\n if (response?.globalConfig.length) {\n response.globalConfig.forEach((item) => {\n if (!Object.keys(this).includes(item.key)) return;\n this[item.key] = typeof this[item.key] === 'string' ? item.value : JSON.parse(item.value);\n });\n }\n\n if (!this.applicationTitle) {\n this.applicationTitle = 'Application Title';\n }\n if (!this.whiteLogo) {\n this.whiteLogo = { url: 'Logo-on-black-background' } as Media;\n }\n if (!this.blackLogo) {\n this.blackLogo = { url: 'Logo-on-white-background' } as Media;\n }\n if (!this.authBackgroundImage) {\n this.authBackgroundImage = { url: 'Auth-backgrond-logo' } as Media;\n }\n if (!this.championsVideoThumbnail) {\n this.championsVideoThumbnail = { url: 'Champions-video-thumbnail' } as Media;\n }\n if (!this.championsVideo) {\n this.championsVideo = { url: 'Champions-video' } as Media;\n }\n if (!this.defaultCurrency) {\n this.defaultCurrency = new UUIDName('', 'USD');\n }\n if (!this.adminEmail) {\n this.adminEmail = 'admin@trustbridgeglobal.com';\n }\n if (!this.entityPriority) {\n this.entityPriority = [EntitiesPosition.ORGANISATIONS, EntitiesPosition.PROJECTS, EntitiesPosition.PORTFOLIOS] as unknown as string;\n }\n if (!this.termsOfUse) {\n this.termsOfUse = '';\n }\n if (!this.privacyPolicy) {\n this.privacyPolicy = '';\n }\n if (!this.helpVideosLink) {\n this.helpVideosLink = '';\n }\n if (!this.authBottomText) {\n this.authBottomText = 'GivingSpace';\n }\n if (typeof this.displayRegisterLink !== 'boolean') {\n this.displayRegisterLink = true;\n }\n if (typeof this.givingLinkAdminOnly !== 'boolean') {\n this.givingLinkAdminOnly = true;\n }\n if (typeof this.allowDonorsCreatePrivatePortfolios !== 'boolean') {\n this.allowDonorsCreatePrivatePortfolios = true;\n }\n if (typeof this.displayLearnMoreButton !== 'boolean') {\n this.displayLearnMoreButton = true;\n }\n if (typeof this.allowOrganizationApproval !== 'boolean') {\n this.allowOrganizationApproval = false;\n }\n if (typeof this.allowProjectApproval !== 'boolean') {\n this.allowOrganizationApproval = false;\n }\n if (typeof this.allowPortfolioApproval !== 'boolean') {\n this.allowOrganizationApproval = false;\n }\n if (!this.catalogProjectsSortOrder) {\n this.catalogProjectsSortOrder = CATALOG_PROJECT_SORT_OPTIONS.ALPHABETICAL;\n }\n if (!this.catalogOrganisationsSortOrder) {\n this.catalogOrganisationsSortOrder = CATALOG_ORGANISATIONS_SORT_OPTIONS.ORGANISATION_NAME;\n }\n if (!this.catalogPortfoliosSortOrder) {\n this.catalogPortfoliosSortOrder = CATALOG_PORTFOLIOS_SORT_OPTIONS.ALPHABETICAL;\n }\n if (!this.organisationProjectsLimit) {\n this.organisationProjectsLimit = 10;\n }\n if (!this.dateFormat) {\n this.dateFormat = 'M/d/yyyy';\n }\n if (!this.authButtonBackgroundColor) {\n this.authButtonBackgroundColor = Utils.hexToPickerColor('#a78b58');\n } else {\n this.authButtonBackgroundColor = Utils.hexToPickerColor(this.authButtonBackgroundColor.hex);\n }\n if (!this.authButtonTextColor) {\n this.authButtonTextColor = Utils.hexToPickerColor('#fff');\n } else {\n this.authButtonTextColor = Utils.hexToPickerColor(this.authButtonTextColor.hex);\n }\n if (!this.authTextColor) {\n this.authTextColor = Utils.hexToPickerColor('#fff');\n } else {\n this.authTextColor = Utils.hexToPickerColor(this.authTextColor.hex);\n }\n if (!this.footerColor) {\n this.footerColor = Utils.hexToPickerColor('#3e3d3d');\n } else {\n this.footerColor = Utils.hexToPickerColor(this.footerColor.hex);\n }\n if (!this.footerParentWebsiteLink) {\n this.footerParentWebsiteLink = '';\n }\n if (!this.companyName) {\n this.companyName = '';\n }\n this.homepageFocus = new HomepageConfig(response?.homepageFocus);\n if (!this.contactLink) {\n this.contactLink = '';\n }\n if (!this.newsLink) {\n this.newsLink = '';\n }\n if (!this.learnMoreLink) {\n this.learnMoreLink = `${environment.url}/app/learn-more`;\n }\n if (!this.customLinkLabel) {\n this.customLinkLabel = '';\n }\n if (!this.customLinkUrl) {\n this.customLinkUrl = '';\n }\n if (!this.addressFormat) {\n this.addressFormat = [\n AddressFormat.STREETNUMBER,\n AddressFormat.STREETNAME,\n AddressFormat.CITY,\n AddressFormat.STATEPROVINCE,\n AddressFormat.POSTALCODE,\n AddressFormat.COUNTRY,\n AddressFormat.LANDMARK_ADDRESS,\n ] as unknown as string;\n }\n if (!this.decimalSymbol) {\n this.decimalSymbol = new KeyValue(NumberFormatKeys.DOT, '.');\n }\n if (!this.digitGroupingSymbol) {\n this.digitGroupingSymbol = new KeyValue(NumberFormatKeys.COMMA, ',');\n }\n if (!this.digitGrouping) {\n this.digitGrouping = new KeyValue(DigitGroupingKeys.DIGIT_GROUPING_1, '123,456,789');\n }\n if (!this.giveButton) {\n this.giveButton = GIVE_BUTTON_BEHAVIOUR.STANDARD;\n }\n if (typeof this.showRedirectPopup !== 'boolean') {\n this.showRedirectPopup = false;\n }\n\n if (typeof this.enableGoogleAnalytics !== 'boolean') {\n this.enableGoogleAnalytics = false;\n }\n\n if (!this.googleAnalyticsTrackingCode) {\n this.googleAnalyticsTrackingCode = '';\n }\n\n if (typeof this.showPortfolioOrganizationCount !== 'boolean') {\n this.showPortfolioOrganizationCount = false;\n }\n\n if (typeof this.showPortfolioProjectCount !== 'boolean') {\n this.showPortfolioProjectCount = false;\n }\n }\n}\n\nexport enum EntitiesPosition {\n PROJECTS = 'PROJECTS',\n ORGANISATIONS = 'ORGANISATIONS',\n PORTFOLIOS = 'PORTFOLIOS',\n}\n\nexport interface GlobalConfigResponse {\n globalConfig: GlobalConfigItemDto[];\n homepageFocus: HomepageConfigDto;\n}\n\nexport interface GlobalConfigItemDto {\n key: string;\n value: string;\n}\n\nexport enum AddressFormat {\n STREETNUMBER = 'STREET_NUMBER',\n STREETNAME = 'STREET_NAME',\n CITY = 'CITY',\n STATEPROVINCE = 'STATE_PROVINCE',\n POSTALCODE = 'POSTAL_CODE',\n COUNTRY = 'COUNTRY',\n LANDMARK_ADDRESS = 'LANDMARK_ADDRESS',\n}\n","import { FileItem } from 'ng2-file-upload';\nimport { FileType } from '../constants/FileType';\n\nexport interface UploadResponse {\n upload: Upload;\n}\n\nexport interface Upload {\n uploadUuid?: string;\n uploadUrl?: string;\n teamMemberUuid?: string;\n entrepreneurCEOUuid?: string;\n uuid?: string;\n objectUuid?: string;\n url?: string;\n type?: string;\n}\n\nexport class UploadPromiseResponse {\n constructor(public fileItem: FileItem, public response: any) {}\n}\n\nexport interface BannerInputs {\n aspectRatio: number;\n fileType: FileType;\n target: string;\n}\n","import { FILTER_NAME } from '../../constants/Filters/FilterTypes';\nimport { HomepageConfig, HomepageEntityType, HomepageFilterType } from 'src/app/_core/models/global-settings/HomepageConfig';\nimport Urls from 'src/app/_core/constants/Urls';\nimport { ProjectType } from 'src/app/_core/constants/CompanyOrFirm';\n\nexport interface DashboardDto {\n landingGivingSpaceDto: LandingPageDto;\n}\n\nexport interface LandingPageDto {\n carouselFeaturedEntity: CarouselItemDto[];\n featuredRows: { [k: string]: CarouselItemDto[] };\n}\n\nexport interface CarouselItemDto {\n causeName: string;\n description: string;\n giveLink: string;\n imageUrl: string;\n languageCode: string;\n name: string;\n organisationInfluencedCountriesNames: string[];\n uuid: string;\n}\n\nexport class CarouselItem {\n causeName: string;\n description: string;\n giveLink: string;\n imageUrl: string;\n languageCode: string;\n name: string;\n organisationInfluencedCountriesNames: string[];\n uuid: string;\n readMoreLink: string;\n projectType: ProjectType;\n\n constructor(dto: CarouselItemDto, entityType: HomepageEntityType) {\n this.causeName = dto.causeName;\n this.description = dto.description;\n this.giveLink = dto.giveLink;\n if (!/^https?:\\/\\//i.test(this.giveLink) && !!this.giveLink) {\n this.giveLink = 'https://' + this.giveLink;\n }\n this.imageUrl = dto.imageUrl;\n this.name = dto.name;\n this.languageCode = dto.languageCode;\n this.organisationInfluencedCountriesNames = dto.organisationInfluencedCountriesNames;\n this.uuid = dto.uuid;\n if (entityType === HomepageEntityType.ORGANISATIONS) {\n this.projectType = ProjectType.ORGANISATION;\n this.readMoreLink = `/${Urls.APP}/${Urls.DETAILS}/${Urls.ORGANISATION}/${this.uuid}`;\n }\n if (entityType === HomepageEntityType.PROJECTS) {\n this.projectType = ProjectType.PROJECT;\n this.readMoreLink = `/${Urls.APP}/${Urls.DETAILS}/${Urls.PROJECT}/${this.uuid}`;\n }\n if (entityType === HomepageEntityType.PORTFOLIOS) {\n this.projectType = ProjectType.PORTFOLIO;\n this.readMoreLink = `/${Urls.APP}/${Urls.DETAILS}/${Urls.PORTFOLIO}/${this.uuid}`;\n }\n\n if (this.languageCode && entityType !== HomepageEntityType.PORTFOLIOS) {\n this.readMoreLink = this.readMoreLink + `/${this.languageCode}`;\n }\n }\n}\n\nexport class HomeCarouselRow {\n position: number;\n filterType: HomepageFilterType;\n entityType: HomepageEntityType;\n items: CarouselItem[];\n headerLabelPath: string;\n\n constructor(key: string, items: CarouselItemDto[]) {\n this.position = parseInt(key.charAt(0));\n if (key.indexOf('newly_added') > -1) {\n this.filterType = HomepageFilterType.NEWLY_ADDED;\n }\n if (key.indexOf('featured') > -1) {\n this.filterType = HomepageFilterType.FEATURED;\n }\n if (key.indexOf('championed') > -1) {\n this.filterType = HomepageFilterType.CHAMPIONED;\n }\n if (key.indexOf('organisations') > -1) {\n this.entityType = HomepageEntityType.ORGANISATIONS;\n if (this.filterType === HomepageFilterType.FEATURED) {\n this.headerLabelPath = 'HOME.LANDING.FEATURED_ORGANISATIONS';\n }\n if (this.filterType === HomepageFilterType.NEWLY_ADDED) {\n this.headerLabelPath = 'HOME.LANDING.NEWLY_ADDED_ORGANISATIONS';\n }\n if (this.filterType === HomepageFilterType.CHAMPIONED) {\n this.headerLabelPath = 'HOME.LANDING.CHAMPIONED_ORGANISATIONS';\n }\n }\n if (key.indexOf('projects') > -1) {\n this.entityType = HomepageEntityType.PROJECTS;\n if (this.filterType === HomepageFilterType.FEATURED) {\n this.headerLabelPath = 'HOME.LANDING.FEATURED_PROJECTS';\n }\n if (this.filterType === HomepageFilterType.NEWLY_ADDED) {\n this.headerLabelPath = 'HOME.LANDING.NEWLY_ADDED_PROJECTS';\n }\n if (this.filterType === HomepageFilterType.CHAMPIONED) {\n this.headerLabelPath = 'HOME.LANDING.CHAMPIONED_PROJECTS';\n }\n }\n if (key.indexOf('portfolios') > -1) {\n this.entityType = HomepageEntityType.PORTFOLIOS;\n if (this.filterType === HomepageFilterType.FEATURED) {\n this.headerLabelPath = 'HOME.LANDING.FEATURED_PORTFOLIOS';\n }\n if (this.filterType === HomepageFilterType.NEWLY_ADDED) {\n this.headerLabelPath = 'HOME.LANDING.NEWLY_ADDED_PORTFOLIOS';\n }\n if (this.filterType === HomepageFilterType.CHAMPIONED) {\n this.headerLabelPath = 'HOME.LANDING.CHAMPIONED_PORTFOLIOS';\n }\n }\n this.items = items.map((item) => new CarouselItem(item, this.entityType));\n }\n}\n\nexport class Dashboard {\n carouselFeaturedEntity: CarouselItem[] = [];\n rows: HomeCarouselRow[] = [];\n\n constructor(dashboardDto: DashboardDto, homepageConfig: HomepageConfig) {\n this.carouselFeaturedEntity = dashboardDto.landingGivingSpaceDto.carouselFeaturedEntity.map(\n (i) => new CarouselItem(i, homepageConfig.mainCarouselEntityType)\n );\n const rows = dashboardDto.landingGivingSpaceDto.featuredRows;\n const firstRowKey: string = Object.keys(rows).find((key) => key.charAt(0) === '1');\n if (!firstRowKey) {\n throw Error('At least one carousel row is required');\n }\n this.rows.push(new HomeCarouselRow(firstRowKey, rows[firstRowKey]));\n const secondRowKey: string = Object.keys(rows).find((key) => key.charAt(0) === '2');\n if (secondRowKey) {\n this.rows.push(new HomeCarouselRow(secondRowKey, rows[secondRowKey]));\n }\n const thirdRowKey: string = Object.keys(rows).find((key) => key.charAt(0) === '3');\n if (thirdRowKey) {\n this.rows.push(new HomeCarouselRow(thirdRowKey, rows[thirdRowKey]));\n }\n this.checkConfig(homepageConfig);\n }\n\n private checkConfig(config: HomepageConfig) {\n if (config.homepageCarouselRows.length !== this.rows.length) {\n throw Error('Bad configuration for homepage');\n }\n config.homepageCarouselRows.forEach((configRow) => {\n const row = this.rows.find((item) => item.position === configRow.position);\n if (!row || row.position !== configRow.position || row.entityType !== configRow.entityType || row.filterType !== configRow.filterType) {\n throw Error('Bad configuration for homepage');\n }\n });\n }\n}\n\nexport class FilterSelected {\n title: FILTER_NAME;\n option: string;\n link: string;\n\n constructor(title?: FILTER_NAME, option?: string, link?: string) {\n this.setter(title, option, link);\n }\n\n setter(title: FILTER_NAME, option: string = '', link: string) {\n this.title = title;\n this.option = option;\n this.link = link;\n }\n}\n\nexport interface CarouselDeal {\n uuid: string;\n imageUrl: string;\n name: string;\n country: string;\n languageCode: string;\n returnTarget: string;\n principalAmount: number;\n principalAmountCurrencySymbol: string;\n amountRemainingToBeRaised: number;\n causeName: string;\n countriesNames?: string[];\n organisationInfluencedCountriesNames?: string[];\n championedBy?: string;\n firmName?: string;\n morningstarRating?: 1 | 2 | 3 | 4 | 5;\n tickerSymbol?: string;\n typeOfFund?: string;\n allocation?: number;\n}\n","import { FILTER_NAME } from '../../constants/Filters/FilterTypes';\nimport { CodeValue, Enum, UUIDName } from '../GenericObject';\n\nexport interface Filters {\n regions?: Option[];\n categories?: Option[];\n champions?: Option[];\n sortOptions?: string[];\n projects?: Option[];\n organisations?: Option[];\n countries?: Option[];\n causes?: Option[];\n}\n\nexport type Option = {\n uuid: string;\n name: string;\n};\n\n/**\n * `generateFilterOptions` is an Adapter function that is used to parse raw data,\n * and covert it to an object of key-value pairs of type FilterOption.\n *\n * The return value of this function is used by the `Filter` class to handle options.\n *\n * @param data can be of type Option[], UUIDName[], CodeValue[], CodeValue, Enum.\n */\nexport function generateFilterOptions(data): { [k: string]: FilterOption } {\n const result = {};\n if (data.length && data[0].hasOwnProperty('code') && data[0].hasOwnProperty('value')) {\n (data as CodeValue[]).forEach((item: CodeValue) => Object.assign(result, { [item.code]: new FilterOption(item.code, item.value) }));\n } else if (data.length && data[0].hasOwnProperty('uuid') && data[0].hasOwnProperty('name')) {\n (data as UUIDName[]).forEach((item: UUIDName) => {\n Object.assign(result, { [item.name]: new FilterOption(item.name, item.uuid) });\n if (item.hasOwnProperty('imageUrl')) {\n result[item.name].addImage(item['imageUrl']);\n }\n });\n } else if (data.hasOwnProperty('code') && data.hasOwnProperty('value')) {\n Object.assign(result, { [data.code]: new FilterOption(data.code, data.value) });\n } else {\n Object.keys(data).forEach((key) => Object.assign(result, { [key]: new FilterOption(key, data[key]) }));\n }\n return result;\n}\n\nexport class Filter {\n name: FILTER_NAME;\n data: { [k: string]: FilterOption };\n unique: boolean;\n adminOnly: boolean;\n singleValue: boolean;\n filterAsInput: boolean;\n\n // prettier-ignore\n /**\n * Instantiates a `Filter` class that is responsible for a single filter on a page,\n * and is being only instantiated via the 'PageFilters' class.\n *\n * @param name declare a unique filter name for mapping the translated name of the filter.\n * @param data the raw data that needs to be made into options for a filter.\n * Can be of type UUIDName[], CodeValue[], CodeValue, Enum.\n * The items for this parameter are generated through {@link generateFilterOptions}\n * @param options extra configuration to handle the options of this filter differently.\n *\n * @param options.unique if true, only one selection can be marked as checked at a time.\n * @param options.adminOnly boolean that would mark this filter as being available only for admin.\n * @param options.singleValue if true, the filter will be hidden, and the option will be marked as checked,\n * {@link extractValue} function will return the value of the option as a primitive. Usually used for single\n * option filters.\n * @param options.input if true, the FilterOption will be treated as an input\n * @see {@link generateFilterOptions} to generate the items for the data parameter\n */\n constructor(\n name: FILTER_NAME,\n data: Option[] | UUIDName[] | CodeValue[] | CodeValue | Enum = {},\n options: {\n unique?: boolean,\n adminOnly?: boolean,\n singleValue?: boolean,\n filterAsInput?: boolean\n } = {}) {\n this.name = name;\n this.data = generateFilterOptions(data || {});\n this.unique = options.unique || false;\n this.adminOnly = options.adminOnly;\n this.singleValue = options.singleValue || false;\n this.filterAsInput = options.filterAsInput || false;\n if (this.singleValue) {\n this.options[0].markDefaultAsChecked();\n }\n }\n\n selectOption(option: FilterOption): void {\n if (this.unique) {\n this.options.forEach((i: FilterOption) => (i.code === option.code ? option.toggleCheck() : (i.checked = false)));\n } else {\n option.toggleCheck();\n }\n }\n\n resetFilter(): void {\n this.options.forEach((option: FilterOption) => {\n option.checked = option.defaultCheck;\n if (this.filterAsInput) {\n this.options[0] = null;\n }\n });\n }\n\n /**\n * Return an array with the values of the checked options of this filter.\n */\n extractValue(): any {\n const result = this.options.filter((item: FilterOption) => item.checked || this.singleValue).map((item: FilterOption) => item.value);\n return this.singleValue ? result[0] : result;\n }\n\n get options(): FilterOption[] {\n return Object.values(this.data) || [];\n }\n}\n\nexport class FilterOption {\n code: string;\n value: string | number | boolean;\n checked: boolean;\n defaultCheck: boolean;\n readonly: boolean;\n imageUrl: string;\n\n constructor(code: string, value: string | number | boolean = null, checked: boolean = false) {\n this.code = code;\n this.value = value !== undefined ? value : code;\n this.checked = checked;\n this.readonly = false;\n this.defaultCheck = false;\n }\n\n addImage(imageUrl: string) {\n this.imageUrl = imageUrl;\n }\n\n toggleCheck(): void {\n this.checked = !this.checked;\n }\n\n markAsChecked(): void {\n this.checked = true;\n }\n\n /**\n * `markDefaultAsChecked` function would make the default state of this option to be checked.\n * For example, resetFilters function would leave this option as checked.\n */\n markDefaultAsChecked(): void {\n this.defaultCheck = true;\n this.checked = true;\n }\n}\n\nexport class SortOptionFilter {\n field: string;\n order: string;\n checked: boolean;\n\n constructor(field: string, order: string = 'ASC', checked: boolean = false) {\n this.field = field;\n this.order = order;\n this.checked = checked;\n }\n}\n\nexport class BaseFilters {\n sortOptions: SortOptionFilter[];\n page: number;\n size: number;\n searchText: string;\n defaultSort: string;\n\n constructor(sortOptions: string[], size = 10) {\n this.sortOptions = sortOptions.map((i) => new SortOptionFilter(i));\n this.page = 0;\n this.size = size;\n this.searchText = '';\n this.defaultSort = 'ASC';\n }\n\n resetFilters(): void {\n this.size = 30;\n this.page = 0;\n this.searchText = '';\n this.setDefaultSort();\n }\n\n sortSelected(): boolean {\n return this.sortOptions.some((el) => el.checked);\n }\n\n setDefaultSort(index: number = 0): void {\n this.sortOptions[index].checked = true;\n this.sortOptions[index].order = this.defaultSort;\n }\n\n setSort(value: string): SortOptionFilter {\n for (const sortOption of this.sortOptions) {\n if (sortOption.field === value) {\n if (value === 'DATE_POSTED') {\n sortOption.order = 'DESC';\n } else {\n sortOption.order = 'ASC';\n }\n sortOption.checked = true;\n return sortOption;\n } else {\n sortOption.checked = false;\n }\n }\n return null;\n }\n\n extractSortOptions(): any {\n const sortOption = this.sortOptions.find((i) => i.checked === true);\n return sortOption ? sortOption : {};\n }\n}\n\nexport type IPageFilters = { [k in keyof T]: Filter };\n\nexport class PageFilters extends BaseFilters {\n filters: IPageFilters;\n\n constructor(filters, TCreator: new (filters) => T, size = 10) {\n super(filters.sortOptions, size);\n this.filters = new TCreator(filters) as unknown as IPageFilters;\n this.setDefaultSort();\n }\n\n override resetFilters(): void {\n super.resetFilters();\n for (const key in this.filters) {\n if (this.filters.hasOwnProperty(key)) {\n this.filters[key].resetFilter();\n }\n }\n }\n}\n","import { FormControl, FormControlOptions, FormControlState, ValidatorFn } from '@angular/forms';\nimport { ControlError, GSControl, Media } from '../FormControls';\nimport { EntityProfile } from '../EntityProfile';\n\nfunction processControlValue(gsControl: GSControl, prefillValue): any {\n let value;\n if (gsControl.value instanceof Media) {\n value = gsControl.value.clone();\n (value as Media).prefillFields(prefillValue);\n } else {\n value = prefillValue !== undefined ? prefillValue : prefillValue || gsControl.value;\n }\n return { value, disabled: gsControl.disabled };\n}\n\nexport class GSFormControl extends FormControl {\n label: string;\n placeholder: string;\n max: number;\n min: number;\n controlErrors: ControlError[];\n key: string;\n defaultValidators: ValidatorFn[];\n optionalText: string;\n profile: EntityProfile;\n\n constructor(gsControl: GSControl, prefillValue: any) {\n const formControlOptions: FormControlOptions = {\n initialValueIsDefault: true,\n validators: gsControl.validators,\n asyncValidators: gsControl.asyncValidators,\n };\n super(processControlValue(gsControl, prefillValue) as T, formControlOptions);\n this.key = gsControl.key;\n this.label = gsControl.label;\n this.placeholder = gsControl.placeholder;\n this.max = gsControl.max;\n this.min = gsControl.min;\n this.controlErrors = gsControl.errors;\n this.defaultValidators = gsControl.validators;\n this.optionalText = gsControl.optionalText;\n this.profile = gsControl.profile;\n }\n\n override reset(formState?: T | FormControlState, options?: { onlySelf?: boolean; emitEvent?: boolean }): void {\n if (this.value instanceof Media) {\n super.patchValue(this.value.clone() as any);\n super.markAsDirty();\n return;\n }\n super.reset(formState, options);\n }\n\n override patchValue(\n value: T,\n options?: { onlySelf?: boolean; emitEvent?: boolean; emitModelToViewChange?: boolean; emitViewToModelChange?: boolean }\n ): void {\n if (this.value instanceof Media) {\n super.patchValue((this.value as unknown as Media).clone() as any);\n this.value.setFieldsAfterUpload(value as unknown as Media);\n super.updateValueAndValidity();\n super.markAsDirty();\n return;\n }\n super.patchValue(value, options);\n }\n\n override clearValidators(updateValueAndValidity: boolean = false, opts?: { onlySelf?: boolean; emitEvent?: boolean }): void {\n super.clearValidators();\n if (updateValueAndValidity) {\n super.updateValueAndValidity(opts);\n }\n }\n\n removeError(errorKey: string): void {\n if (this.errors && this.errors.hasOwnProperty(errorKey)) {\n delete this.errors.errorKey;\n super.updateValueAndValidity();\n }\n }\n\n restoreValidators(options?: { onlySelf?: boolean; emitEvent?: boolean }): void {\n this.clearValidators();\n super.addValidators(this.defaultValidators);\n super.updateValueAndValidity(options);\n }\n}\n","import { CONTROL_TYPES, ControlError, GSControl } from 'src/app/_core/models/FormControls';\nimport { Validators } from '@angular/forms';\n\nexport enum HomepageEntityType {\n PROJECTS = 'PROJECTS',\n ORGANISATIONS = 'ORGANISATIONS',\n PORTFOLIOS = 'PORTFOLIOS',\n}\n\nexport enum HomepageFilterType {\n FEATURED = 'FEATURED',\n NEWLY_ADDED = 'NEWLY_ADDED',\n CHAMPIONED = 'CHAMPIONED',\n}\n\nexport interface HomepageConfigDto {\n enableMainCarousel: boolean;\n timer: number;\n type: HomepageEntityType;\n filter: HomepageFilterType;\n carouselRows: CarouselRow[];\n}\n\nexport class HomepageConfig {\n enableMainCarousel: boolean;\n mainCarouselTimer: number;\n mainCarouselEntityType: HomepageEntityType;\n mainCarouselFilterType: HomepageFilterType;\n homepageCarouselRows: CarouselRow[];\n\n constructor(data?: HomepageConfigDto) {\n this.enableMainCarousel = data?.enableMainCarousel || false;\n this.mainCarouselTimer = data?.timer || 3;\n this.mainCarouselEntityType = data?.type || HomepageEntityType.PROJECTS;\n this.mainCarouselFilterType = data?.filter || HomepageFilterType.FEATURED;\n this.homepageCarouselRows = data?.carouselRows || [\n {\n entityType: HomepageEntityType.PROJECTS,\n filterType: HomepageFilterType.FEATURED,\n position: 1,\n },\n ];\n }\n}\n\nexport interface CarouselRow {\n position: number;\n entityType: HomepageEntityType | string;\n filterType: HomepageFilterType | string;\n}\n\nexport enum HomepageConfigControlKeys {\n ENABLE_MAIN_CAROUSEL = 'enableMainCarousel',\n MAIN_CAROUSEL_TIMER = 'mainCarouselTimer',\n MAIN_CAROUSEL_ENTITY_TYPE = 'mainCarouselEntityType',\n MAIN_CAROUSEL_FILTER_TYPE = 'mainCarouselFilterType',\n HOMEPAGE_CAROUSEL_ROWS = 'homepageCarouselRows',\n ENTITY_TYPE = 'entityType',\n FILTER_TYPE = 'filterType',\n POSITION = 'position',\n}\n\nexport const HOMEPAGECONFIG_FORM: GSControl = new GSControl({\n controlType: CONTROL_TYPES.FORM_GROUP,\n controls: {\n [HomepageConfigControlKeys.ENABLE_MAIN_CAROUSEL]: new GSControl({\n label: 'ADMIN.GLOBAL_SETTINGS.HOMEPAGE_CONFIG.LABELS.ENABLE_MAIN_CAROUSEL',\n value: false,\n validators: [Validators.required],\n errors: [new ControlError('required', 'ADMIN.GLOBAL_SETTINGS.HOMEPAGE_CONFIG.ERRORS.ENABLE_MAIN_CAROUSEL_REQUIRED')],\n }),\n [HomepageConfigControlKeys.MAIN_CAROUSEL_TIMER]: new GSControl({\n label: 'ADMIN.GLOBAL_SETTINGS.HOMEPAGE_CONFIG.LABELS.MAIN_CAROUSEL_TIMER',\n placeholder: 'ADMIN.GLOBAL_SETTINGS.HOMEPAGE_CONFIG.PLACEHOLDERS.MAIN_CAROUSEL_TIMER',\n validators: [Validators.required],\n min: 3,\n max: 99,\n value: 3,\n errors: [new ControlError('required', 'ADMIN.GLOBAL_SETTINGS.HOMEPAGE_CONFIG.ERRORS.MAIN_CAROUSEL_TIMER_REQUIRED')],\n }),\n [HomepageConfigControlKeys.MAIN_CAROUSEL_ENTITY_TYPE]: new GSControl({\n label: 'ADMIN.GLOBAL_SETTINGS.HOMEPAGE_CONFIG.LABELS.MAIN_CAROUSEL_ENTITY_TYPE',\n placeholder: 'ADMIN.GLOBAL_SETTINGS.HOMEPAGE_CONFIG.PLACEHOLDERS.MAIN_CAROUSEL_ENTITY_TYPE',\n validators: [Validators.required],\n value: HomepageEntityType.PROJECTS,\n errors: [new ControlError('required', 'ADMIN.GLOBAL_SETTINGS.HOMEPAGE_CONFIG.ERRORS.MAIN_CAROUSEL_ENTITY_TYPE_REQUIRED')],\n }),\n [HomepageConfigControlKeys.MAIN_CAROUSEL_FILTER_TYPE]: new GSControl({\n label: 'ADMIN.GLOBAL_SETTINGS.HOMEPAGE_CONFIG.LABELS.MAIN_CAROUSEL_FILTER_TYPE',\n placeholder: 'ADMIN.GLOBAL_SETTINGS.HOMEPAGE_CONFIG.PLACEHOLDERS.MAIN_CAROUSEL_FILTER_TYPE',\n value: HomepageFilterType.FEATURED,\n validators: [Validators.required],\n errors: [new ControlError('required', 'ADMIN.GLOBAL_SETTINGS.HOMEPAGE_CONFIG.ERRORS.MAIN_CAROUSEL_FILTER_TYPE_REQUIRED')],\n }),\n [HomepageConfigControlKeys.HOMEPAGE_CAROUSEL_ROWS]: new GSControl({\n controlType: CONTROL_TYPES.FORM_ARRAY,\n label: 'ADMIN.GLOBAL_SETTINGS.HOMEPAGE_CONFIG.LABELS.HOMEPAGE_CAROUSEL_ROWS',\n min: 1,\n max: 3,\n controls: {\n item: new GSControl({\n controlType: CONTROL_TYPES.FORM_GROUP,\n controls: {\n [HomepageConfigControlKeys.POSITION]: new GSControl({\n value: 1,\n }),\n [HomepageConfigControlKeys.ENTITY_TYPE]: new GSControl({\n label: 'ADMIN.GLOBAL_SETTINGS.HOMEPAGE_CONFIG.LABELS.ENTITY_TYPE',\n placeholder: 'ADMIN.GLOBAL_SETTINGS.HOMEPAGE_CONFIG.PLACEHOLDERS.ENTITY_TYPE',\n validators: [Validators.required],\n errors: [new ControlError('required', 'ADMIN.GLOBAL_SETTINGS.HOMEPAGE_CONFIG.ERRORS.ENTITY_TYPE_REQUIRED')],\n }),\n [HomepageConfigControlKeys.FILTER_TYPE]: new GSControl({\n label: 'ADMIN.GLOBAL_SETTINGS.HOMEPAGE_CONFIG.LABELS.FILTER_TYPE',\n placeholder: 'ADMIN.GLOBAL_SETTINGS.HOMEPAGE_CONFIG.PLACEHOLDERS.FILTER_TYPE',\n validators: [Validators.required],\n errors: [new ControlError('required', 'ADMIN.GLOBAL_SETTINGS.HOMEPAGE_CONFIG.ERRORS.FILTER_TYPE_REQUIRED')],\n }),\n },\n }),\n },\n }),\n },\n});\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { environment } from '../../../environments/environment';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApiService {\n private readonly apiUrl;\n\n // prettier-ignore\n constructor(\n private http: HttpClient,\n ) {\n this.apiUrl = environment.server;\n }\n\n get(path: string, params = {}, headers = {}) {\n return this.http.get(`${this.apiUrl}${path}`, { params, headers });\n }\n\n put(path: string, body = {}, params = {}) {\n return this.http.put(`${this.apiUrl}${path}`, body, { params });\n }\n\n post(path: string, body = {}, params = {}, headers = {}) {\n return this.http.post(`${this.apiUrl}${path}`, body, { params, headers });\n }\n\n delete(path: string, params = {}, body = {}) {\n return this.http.delete(`${this.apiUrl}${path}`, { params, body });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { mergeMap, Observable } from 'rxjs';\nimport { LanguageService } from './language.service';\nimport { GlobalConfigService } from './global-config.service';\nimport StorageHelper from '../helpers/Storage.helper';\n\n@Injectable()\nexport class AppInitializer {\n // prettier-ignore\n constructor(\n private languageService: LanguageService,\n private globalConfigService: GlobalConfigService,\n ) {}\n\n initialize(): Observable {\n StorageHelper.clearLanguages();\n return this.languageService\n .initializeLocalTranslations()\n .pipe(mergeMap(() => this.globalConfigService.initializeGlobalConfig().pipe(mergeMap(() => this.languageService.refreshLanguages()))));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ReplaySubject, Subject } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport StorageHelper from '../helpers/Storage.helper';\nimport Utils from '../helpers/Utils';\nimport { Currency } from '../models/global-settings/Currency';\nimport { GlobalDropdowns } from '../models/global-settings/Dropdowns';\nimport { UserDetails } from '../models/User';\nimport { DropdownsService } from './dropdowns.service';\nimport { UserService } from './user.service';\nimport { GlobalConfigService } from './global-config.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CurrencyService {\n public selectedCurrency$ = new ReplaySubject(1);\n public currencies$ = new ReplaySubject(1);\n public saveGlobalCurrency$ = new Subject();\n public selectedCurrency: Currency;\n private currencies: Currency[];\n private user: UserDetails;\n private readonly tenantCurrency: string;\n\n // prettier-ignore\n constructor(\n private userService: UserService,\n private dropdownService: DropdownsService,\n private globalConfigService: GlobalConfigService\n ) {\n this.getCurrencies();\n this.tenantCurrency = this.globalConfigService.globalConfig.defaultCurrency.name;\n }\n\n private getCurrencies(): void {\n this.dropdownService.dropdowns$.pipe(take(1)).subscribe((dropdowns: GlobalDropdowns) => {\n this.currencies = dropdowns.currencies;\n this.currencies$.next(this.currencies);\n this.handleUser();\n });\n }\n\n private handleUser(): void {\n this.userService.currentUser$.subscribe((user: UserDetails) => {\n this.user = user;\n const loggedIn = !!this.user && !!StorageHelper.getKeycloakToken();\n const loggedOut = !this.user && !StorageHelper.getKeycloakToken();\n if (loggedIn || loggedOut) {\n this.handleCurrency();\n }\n });\n }\n\n private handleCurrency(): void {\n if (!!this.user) {\n this.pushNewCurrency(this.user?.globalCurrency || null);\n } else {\n this.pushNewCurrency(StorageHelper.getCurrency() ? StorageHelper.getCurrency() : this.tenantCurrency);\n }\n }\n\n public setCurrency(currency: Currency): void {\n this.pushNewCurrency(currency?.name || null);\n }\n\n private pushNewCurrency(currencySymbol): void {\n this.selectedCurrency = this.currencies.find((currency: Currency) => currency?.name === currencySymbol) || null;\n this.selectedCurrency$.next(this.selectedCurrency);\n StorageHelper.saveCurrency(this.selectedCurrency?.name || null);\n }\n\n public convert(amount: number, currencySymbol: string, showSymbol = true): [amount: number, currencySymbol: string] {\n if (this.selectedCurrency) {\n if (this.tenantCurrency === currencySymbol) {\n amount = amount * this.selectedCurrency.exchangeRate;\n } else {\n const baseCurrency = this.currencies.find((item) => item.name === currencySymbol);\n amount = (amount * this.selectedCurrency.exchangeRate) / baseCurrency.exchangeRate;\n }\n currencySymbol = showSymbol ? Utils.setCurrencySymbol(this.selectedCurrency.name) : ` ${this.selectedCurrency.name} `;\n } else {\n currencySymbol = showSymbol ? Utils.setCurrencySymbol(currencySymbol) : ` ${currencySymbol} `;\n }\n return [amount, currencySymbol];\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ReplaySubject } from 'rxjs';\nimport { GeneralService } from '../api/general.service';\nimport { ResponseObject } from '../models/GenericObject';\nimport { GlobalDropdowns } from '../models/global-settings/Dropdowns';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DropdownsService {\n private dropdowns = new ReplaySubject(1);\n public dropdowns$ = this.dropdowns.asObservable();\n\n // prettier-ignore\n constructor(\n private generalService: GeneralService\n ) {\n }\n\n getDropdowns(): void {\n this.generalService.getDropdowns().subscribe({\n next: (response: ResponseObject) => {\n this.dropdowns.next(response.response);\n },\n error: () => {\n this.dropdowns.next({\n languages: [],\n currencies: [],\n });\n },\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { GlobalConfig, GlobalConfigResponse } from '../models/GlobalConfig';\nimport { catchError, Observable, of, tap } from 'rxjs';\nimport { ResponseObject } from '../models/GenericObject';\nimport StorageHelper from '../helpers/Storage.helper';\nimport { GeneralService } from '../api/general.service';\nimport { AnnouncementBanner } from '../models/AnnouncementBanner';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class GlobalConfigService {\n private _globalConfig: GlobalConfig;\n private _bannerAnnouncement: AnnouncementBanner;\n\n constructor(private generalService: GeneralService) {}\n\n public initializeGlobalConfig(): Observable {\n return this.generalService.getGlobalSettings().pipe(\n tap((response: ResponseObject) => {\n response.response.globalConfig.forEach((item) => {\n if (item.key === 'bannerAnnouncement') {\n const value = JSON.parse(item.value);\n this._bannerAnnouncement = new AnnouncementBanner(value.header, value.body, value.date);\n }\n });\n this._globalConfig = new GlobalConfig(response.response);\n StorageHelper.saveAppConfig(JSON.stringify(this.globalConfig));\n }),\n catchError(() => {\n console.error('Something went wrong when initializing global configuration.');\n this._globalConfig = StorageHelper.getAppConfig() ? JSON.parse(StorageHelper.getAppConfig()) : new GlobalConfig();\n return of(null);\n })\n );\n }\n\n get globalConfig(): GlobalConfig {\n return this._globalConfig;\n }\n\n get bannerAnnouncement(): AnnouncementBanner {\n return this._bannerAnnouncement;\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { mergeMap, Observable, of, ReplaySubject, skip, switchMap, tap } from 'rxjs';\nimport { first, map } from 'rxjs/operators';\nimport { environment } from '../../../environments/environment';\nimport { AccountService } from '../api/account.service';\nimport { LANGUAGE_STATUS } from '../constants/Global/Language';\nimport StorageHelper from '../helpers/Storage.helper';\nimport { ResponseObject, UUIDName } from '../models/GenericObject';\nimport { Language } from '../models/global-settings/Language';\nimport { UserDetails } from '../models/User';\nimport { DropdownsService } from './dropdowns.service';\nimport { UserService } from './user.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LanguageService {\n private _selectedLanguage: ReplaySubject = new ReplaySubject(1);\n public selectedLanguage$: Observable = this._selectedLanguage.asObservable();\n\n private _languages: ReplaySubject = new ReplaySubject(1);\n public languages$: Observable = this._languages.asObservable();\n\n private _saveGlobalLanguage: ReplaySubject = new ReplaySubject(1);\n public saveGlobalLanguage$: Observable = this._saveGlobalLanguage.asObservable();\n\n private selectedLanguage: Language;\n private languages: Language[];\n private user: UserDetails;\n private isFallbackLanguageDownloaded: boolean = false;\n\n // prettier-ignore\n constructor(\n private dropdownService: DropdownsService,\n private userService: UserService,\n @Inject(DOCUMENT) private readonly documentRef: Document,\n private accountService: AccountService,\n private translateService: TranslateService,\n private http: HttpClient\n ) {\n }\n\n public initializeLocalTranslations(): Observable {\n const languagesList = StorageHelper.getStoredTranslationsList();\n this.translateService.addLangs(Object.keys(languagesList));\n Object.values(languagesList).forEach((language) => {\n this.translateService.setTranslation(language.code, StorageHelper.getLanguageJSON(language.code));\n });\n return this.setLanguage(StorageHelper.getSelectedLanguage());\n }\n\n public refreshLanguages(): Observable {\n this.dropdownService.getDropdowns();\n const refreshLanguages = (dropdowns): Observable => {\n this.languages = dropdowns.languages;\n this._languages.next(this.languages);\n return this.setDefaultLanguage().pipe(mergeMap(() => this.handleUserSettings()));\n };\n this.dropdownService.dropdowns$.pipe(skip(1)).subscribe((dropdowns) => {\n refreshLanguages(dropdowns).pipe(first()).subscribe();\n });\n return this.dropdownService.dropdowns$.pipe(mergeMap(refreshLanguages));\n }\n\n private setDefaultLanguage(): Observable {\n const englishLanguage = this.getLanguageByCode('eng');\n if (!!englishLanguage) {\n return this.getTranslation(false, englishLanguage).pipe(tap(() => this.translateService.setDefaultLang(englishLanguage.code)));\n } else {\n return this.getFallbackLanguage(false).pipe(tap(() => this.translateService.setDefaultLang(environment.defaultLanguage)));\n }\n }\n\n private handleUserSettings(): Observable {\n const checkUser = (user: UserDetails): Observable => {\n this.user = user;\n const loggedIn = !!this.user && !!StorageHelper.getKeycloakToken();\n const loggedOut = !this.user && !StorageHelper.getKeycloakToken();\n if (loggedIn || loggedOut) {\n return this.parseUser(loggedIn);\n } else {\n throw Error(\"some user logic doesn't work.\");\n }\n };\n this.userService.currentUser$.pipe(skip(1)).subscribe(checkUser);\n return this.userService.currentUser$.pipe(mergeMap(checkUser));\n }\n\n private parseUser(loggedIn: boolean): Observable {\n if (loggedIn) {\n if (this.user.languageCode && this.getLanguageByCode(this.user.languageCode)) {\n return this.setLanguage(this.getLanguageByCode(this.user.languageCode));\n }\n } else {\n if (StorageHelper.getSelectedLanguage() && this.getLanguageByCode(StorageHelper.getSelectedLanguage().code)) {\n return this.setLanguage(StorageHelper.getSelectedLanguage());\n }\n }\n return this.extractBrowserLanguage();\n }\n\n public setLanguage(language: Language): Observable {\n const shouldSwitchToFallbackLanguage = language?.code !== environment.defaultLanguage || this.isFallbackLanguageDownloaded;\n if (language && this.selectedLanguage?.code !== language?.code && shouldSwitchToFallbackLanguage) {\n if (this.isLanguageChangedOrNotDownloaded(language)) {\n return this.getTranslation(false, language).pipe(\n tap((language: Language) => {\n this.saveAndUseLanguage(language);\n })\n );\n } else {\n return this.saveAndUseLanguage(language);\n }\n } else if (!language || (language.code === environment.defaultLanguage && !this.isFallbackLanguageDownloaded)) {\n return this.getFallbackLanguage(true).pipe(switchMap((language: Language) => this.setLanguage(language)));\n } else {\n return of(language);\n }\n }\n\n private extractBrowserLanguage(): Observable {\n const browserLanguages = this.documentRef.defaultView.navigator.languages;\n let browserLanguage;\n for (const browserLng of browserLanguages) {\n const found = this.languages.find(\n (language: Language) => language.state === LANGUAGE_STATUS.LIVE && browserLng.indexOf(language.code.substr(0, 2)) > -1\n );\n if (found) {\n browserLanguage = found;\n break;\n }\n }\n\n if (browserLanguage) {\n return this.setLanguage(browserLanguage);\n } else {\n const liveLanguage = this.languages.find((language: Language) => language.state === LANGUAGE_STATUS.LIVE);\n if (liveLanguage && !environment.isEnglishDefault) {\n return this.setLanguage(liveLanguage || { code: environment.defaultLanguage, name: environment.defaultLanguage, flag: '', lastModified: 1 });\n } else {\n const englishCase = this.languages.find((lng: Language) => lng.code === 'eng');\n return this.setLanguage(\n englishCase || this.languages[0] || { code: environment.defaultLanguage, name: environment.defaultLanguage, flag: '', lastModified: 1 }\n );\n }\n }\n }\n\n private saveAndUseLanguage(language: Language): Observable {\n this.translateService.use(language.code);\n this.saveLanguage(language);\n this._selectedLanguage.next({ ...language, code: language.code === environment.defaultLanguage ? 'eng' : language.code });\n this.selectedLanguage = language;\n this._saveGlobalLanguage.next(language);\n return of(language);\n }\n\n public getTranslation(force: boolean = false, language: Language = this.selectedLanguage): Observable {\n if (this.isLanguageChangedOrNotDownloaded(language) || force) {\n return this.downloadJson(language);\n } else {\n language.translations = StorageHelper.getLanguageJSON(language.code);\n return of(language);\n }\n }\n\n private downloadJson(language: Language): Observable {\n return this.accountService.getLanguageJson(language.code).pipe(\n map((response: ResponseObject) => {\n language.translations = JSON.parse(response.response);\n return language;\n }),\n tap((language: Language) => {\n this.addLanguageToStorage(language);\n })\n );\n }\n\n public getFallbackLanguage(download: boolean = true): Observable {\n const language: Language = {\n code: environment.defaultLanguage,\n name: environment.defaultLanguage,\n flag: '',\n lastModified: 1,\n };\n if (download || this.isLanguageChangedOrNotDownloaded(language)) {\n return this.http.get(`/assets/i18n/${environment.defaultLanguage}.json`).pipe(\n map((response: object) => {\n language.translations = response;\n return language;\n }),\n tap((language: Language) => {\n this.isFallbackLanguageDownloaded = true;\n this.addLanguageToStorage(language);\n })\n );\n } else {\n language.translations = StorageHelper.getLanguageJSON(language.code);\n return of(language);\n }\n }\n\n private addLanguageToStorage(language: Language) {\n const languagesList = StorageHelper.getStoredTranslationsList();\n Object.assign(languagesList, { [language.code]: { code: language.code, lastModified: language?.lastModified || 1, translations: undefined } });\n StorageHelper.saveStoredLanguages(JSON.stringify(languagesList));\n StorageHelper.setLanguageJSON(language.code, JSON.stringify(language.translations));\n this.translateService.addLangs([language.code]);\n this.translateService.setTranslation(language.code, language.translations);\n }\n\n public setCustomDropdowns(\n dropdowns: { [k: string]: UUIDName[] } | any,\n objectKey: string = 'categories',\n languagePath: string = 'GENERAL.DROPDOWNS.CATEGORIES'\n ): void {\n const originalDropdowns = dropdowns[objectKey];\n const parseTranslations = () => {\n const translatedDropdowns = this.translateService.instant(languagePath);\n Object.keys(translatedDropdowns).forEach((key) => {\n const langKey = `${languagePath}.${key}`;\n const value = this.translateService.instant(langKey);\n translatedDropdowns[key] = value === langKey ? null : value;\n });\n dropdowns[objectKey] = originalDropdowns.filter((category: UUIDName) => !!translatedDropdowns[category.name]);\n dropdowns[objectKey] = dropdowns[objectKey].map((item: UUIDName) => new UUIDName(item.uuid, translatedDropdowns[item.name]));\n dropdowns[objectKey].sort((a: UUIDName, b: UUIDName) =>\n a.name.toLowerCase().trim() > b.name.toLowerCase().trim() ? 1 : a.name.toLowerCase().trim() < b.name.toLowerCase().trim() ? -1 : 0\n );\n };\n parseTranslations();\n this.translateService.onLangChange.subscribe(() => {\n parseTranslations();\n });\n }\n\n public filterMissingDropdowns(\n dropdowns: { [k: string]: UUIDName[] } | any,\n objectKey: string = 'categories',\n languagePath: string = 'GENERAL.DROPDOWNS.CATEGORIES'\n ): void {\n const translatedDropdowns = this.translateService.instant(languagePath);\n Object.keys(translatedDropdowns).forEach((key) => {\n const langKey = languagePath ? `${languagePath}.${key}` : key;\n const value = this.translateService.instant(langKey);\n translatedDropdowns[key] = value === langKey ? null : value;\n });\n dropdowns[objectKey] = dropdowns[objectKey].filter((category: UUIDName) => !!translatedDropdowns[category.name]);\n }\n\n private saveLanguage(language: Language) {\n StorageHelper.saveLanguage(JSON.stringify({ ...language, translations: undefined }));\n }\n\n private isLanguageChangedOrNotDownloaded(language: Language): boolean {\n const translations = StorageHelper.getStoredTranslationsList();\n const hasChanged: boolean =\n this.languages?.length &&\n translations[language.code] &&\n translations[language.code].lastModified !== this.getLanguageByCode(language.code)?.lastModified;\n const isJsonDownloaded: boolean = !!StorageHelper.getLanguageJSON(language.code);\n return hasChanged || !isJsonDownloaded;\n }\n\n getLanguageByCode(code: string): Language {\n return this.languages.find((language) => language.code === code);\n }\n\n getLanguageByCode$(code: string): Observable {\n return this.languages$.pipe(\n first(),\n map((languages) => languages.find((lng) => lng.code === code))\n );\n }\n\n getLanguageByUuid$(uuid: string): Observable {\n return this.languages$.pipe(\n first(),\n map((languages) => languages.find((item) => item.uuid === uuid))\n );\n }\n\n getLiveLanguages$(): Observable {\n return this.languages$.pipe(\n first(),\n map((languages) => languages.filter((language) => language.state === LANGUAGE_STATUS.LIVE))\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ReplaySubject } from 'rxjs';\nimport { LOADER_TYPE } from '../constants/Global/Loader';\nimport { LoaderData } from '../models/Loader';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LoaderService {\n public loading$ = new ReplaySubject(1);\n private _loaderData: LoaderData;\n\n show(type: LOADER_TYPE) {\n this._loaderData = {\n type,\n visible: true,\n };\n this.loading$.next(this._loaderData);\n }\n\n hide(type: LOADER_TYPE) {\n this._loaderData = {\n type,\n visible: false,\n };\n this.loading$.next(this._loaderData);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { Modals, MODAL_RESPONSE } from '../constants/Modals';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ModalsService {\n private modalResponse = new Subject();\n private modalSource = new Subject();\n\n modal$ = this.modalSource.asObservable();\n modalResponse$ = this.modalResponse.asObservable();\n\n modals = Object.values(Modals);\n params: any = null;\n\n openModal(modalName, params?, component?): void {\n if (this.modals.indexOf(modalName) === -1) {\n console.error('Modal ' + modalName + ' not found!');\n return;\n }\n this.params = params;\n this.modalSource.next({\n modalName,\n action: this.params?.action || null,\n component,\n });\n }\n\n closeModal(source?: any): void {\n this.modalSource.next({ closeStatus: MODAL_RESPONSE.CLOSE, ...source });\n }\n\n closeAll(): void {\n this.modalSource.next({ closeStatus: MODAL_RESPONSE.CLOSE_ALL });\n }\n\n closeModalSuccess(): void {\n this.modalSource.next({ closeStatus: MODAL_RESPONSE.CLOSE_SUCCESS });\n }\n\n emitResponse(response): void {\n switch (response.closeStatus) {\n case MODAL_RESPONSE.CLOSE:\n this.closeModal();\n break;\n case MODAL_RESPONSE.CLOSE_ALL:\n this.closeAll();\n break;\n case MODAL_RESPONSE.CLOSE_SUCCESS:\n this.closeModalSuccess();\n break;\n }\n this.modalResponse.next(response);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Privilege } from '../constants/Privileges';\nimport { ReplaySubject } from 'rxjs';\nimport { GlobalConfigService } from './global-config.service';\nimport { UserDetails } from '../models/User';\nimport { Privileges } from '../models/Privileges';\nimport { Role, UserType } from '../constants/User';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PrivilegesService {\n private privilegesSource = new ReplaySubject(1);\n privileges: Privilege[];\n privileges$ = this.privilegesSource.asObservable();\n\n // prettier-ignore\n constructor(\n private globalConfigService: GlobalConfigService\n ) {}\n\n setPrivileges(data: UserDetails & Privileges): void {\n this.parsePrivileges(data);\n this.privilegesSource.next(data.privileges);\n this.privileges = data.privileges;\n }\n\n private parsePrivileges(data: UserDetails & Privileges): void {\n if (!this.globalConfigService.globalConfig.allowDonorsCreatePrivatePortfolios) {\n if (data.userType === UserType.DONOR && data.role === Role.USER) {\n data.privileges.splice(\n data.privileges.findIndex((item) => item === Privilege.PORTFOLIO_PRIVATE_SETUP),\n 1\n );\n data.privileges.splice(\n data.privileges.findIndex((item) => item === Privilege.PORTFOLIO_LIST),\n 1\n );\n data.privileges.splice(\n data.privileges.findIndex((item) => item === Privilege.PORTFOLIO_UPDATE),\n 1\n );\n }\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ToastrService } from 'ngx-toastr';\nimport { first } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ToastService {\n // prettier-ignore\n constructor(\n private toastrService: ToastrService,\n private translateService: TranslateService\n ) { }\n\n success(messagePath: string[], params?: { [k: string]: string | number }): void {\n this.translateService\n .get(messagePath, params)\n .pipe(first())\n .subscribe((text: { [k: string]: string }) => this.toastrService.success(text[messagePath[0]], text[messagePath[1]]));\n }\n\n error(messagePath: string[], params?: { [k: string]: string | number }): void {\n this.translateService\n .get(messagePath, params)\n .pipe(first())\n .subscribe((text: { [k: string]: string }) => this.toastrService.error(text[messagePath[0]], text[messagePath[1]]));\n }\n\n info(messagePath: string[], params?: { [k: string]: string | number }): void {\n this.translateService\n .get(messagePath, params)\n .pipe(first())\n .subscribe((text: { [k: string]: string }) => this.toastrService.info(text[messagePath[0]], text[messagePath[1]]));\n }\n}\n","import { Injectable } from '@angular/core';\nimport FormFactoryUtils from '../helpers/FormFactoryUtils';\nimport StorageHelper from '../helpers/Storage.helper';\nimport { FileItem, FileUploader } from 'ng2-file-upload';\nimport { UploadPromiseResponse } from '../models/UploadResponse';\nimport { Subject } from 'rxjs';\nimport { ToastrMessages } from '../constants/ToastrMessages';\nimport { FileType } from '../constants/FileType';\nimport { AdminService } from '../api/admin.service';\nimport { GeneralService } from '../api/general.service';\nimport { AccountService } from '../api/account.service';\nimport Utils from '../helpers/Utils';\nimport { environment } from 'src/environments/environment';\nimport { ToastService } from './toast.service';\nimport { Control, Media } from '../models/FormControls';\nimport { FormControl } from '@angular/forms';\nimport { GSFormControl } from '../models/forms/GSFormControl';\n\n@Injectable({ providedIn: 'root' })\nexport class UploadService {\n private readonly uploader: FileUploader;\n public readonly maxFileSize = 2 * 1024 * 1024 * 1024; // 2GB\n\n public uploaderObservable = new Subject();\n\n // prettier-ignore\n constructor(\n private accountService: AccountService,\n private adminService: AdminService,\n private generalService: GeneralService,\n private toastService: ToastService\n ) {\n this.uploader = this.setAssetUploaderInstance();\n this.setUploaderMethods();\n }\n\n get uploaderInstance() {\n return this.uploader;\n }\n\n setAssetUploaderInstance(): FileUploader {\n return new FileUploader({\n // url: this.companyService.getFileUploadURL(),\n url: this.generalService.getUploadUrl(),\n authToken: `Bearer ${StorageHelper.getKeycloakToken()}`,\n headers: [{ name: 'tenantId', value: environment.tenantId }],\n autoUpload: false,\n itemAlias: 'file',\n removeAfterUpload: false,\n maxFileSize: this.maxFileSize,\n });\n }\n\n updateToken(): void {\n this.uploader.setOptions({ url: this.generalService.getUploadUrl() });\n this.uploader.authToken = `Bearer ${StorageHelper.getKeycloakToken()}`;\n }\n\n setUploaderMethods() {\n this.uploader.onProgressItem = (fileItem: FileItem, progress: any) => this.emitResponse(fileItem, progress.toString(), true);\n this.uploader.onSuccessItem = (fileItem: FileItem, response: any) => this.emitResponse(fileItem, response, false);\n this.uploader.onErrorItem = (fileItem: FileItem, response: any) => this.handleError(fileItem, response);\n this.uploader.onBuildItemForm = (fileItem: FileItem, form) => this.computeBuildItem(fileItem, form);\n this.uploader.onWhenAddingFileFailed = (_, filter, __) => this.handleAddFileError(filter);\n }\n\n uploadFileV3(mediaControl: GSFormControl, entityUuid: string = '', secondUuid: string = '', b64string?) {\n this.updateToken();\n const media = mediaControl.value as Media;\n const file = this.uploader.queue[this.uploader.queue.length - 1];\n media.isFormatValid = Utils.checkFileType(file.file.name, file.file.type, media.allowedFileType);\n\n if (b64string) {\n file._file = Utils.convertB64ToImage(b64string, file);\n }\n\n if (!media.isFormatValid) {\n this.toastService.error(ToastrMessages.INVALID_FORMAT);\n file.remove();\n return;\n }\n\n if (file.file.size > this.maxFileSize) {\n this.toastService.error(ToastrMessages.FILE_SIZE);\n file.remove();\n return;\n }\n\n file.formData.mediaControl = mediaControl;\n file.formData.fileType = media.fileType;\n file.formData.secondUuid = secondUuid || '';\n file.formData.entityUuid = entityUuid || '';\n\n media.progress = 0;\n media.pendingUpload = true;\n this.computeFileNames();\n this.uploader.uploadAll();\n }\n\n uploadFileV2(mediaControl: FormControl, control: Control, entityUuidControl: FormControl, b64string: any = null) {\n this.updateToken();\n const media = mediaControl.value as Media;\n const file = this.uploader.queue[this.uploader.queue.length - 1];\n media.isFormatValid = Utils.checkFileType(file.file.name, file.file.type, media.allowedFileType);\n\n if (b64string) {\n file._file = Utils.convertB64ToImage(b64string, file);\n }\n\n if (!media.isFormatValid) {\n this.toastService.error(ToastrMessages.INVALID_FORMAT);\n file.remove();\n return;\n }\n\n if (file.file.size > this.maxFileSize) {\n this.toastService.error(ToastrMessages.FILE_SIZE);\n file.remove();\n return;\n }\n\n file.formData.mediaControl = mediaControl;\n file.formData.fileType = media.fileType;\n const secondUuid = FormFactoryUtils.getSecondUuidControl(control, mediaControl)?.value;\n file.formData.secondUuid = secondUuid?.uuid || secondUuid || '';\n file.formData.entityUuid = entityUuidControl.value || secondUuid?.uuid || secondUuid || '';\n file.formData.control = control;\n\n media.progress = 0;\n media.pendingUpload = true;\n this.computeFileNames();\n this.uploader.uploadAll();\n }\n\n private computeFileNames() {\n this.uploader.queue.forEach((file: FileItem) => (file.file.name = file.file.name.replace(/[^0-9a-zA-z._&\\-\\s]+/g, '').replace(/\\ /g, '_')));\n }\n\n // duplicated because there is too much to refactor on backend\n uploadUserProfileImage(mediaControl: GSFormControl, userUuid: string = '', b64string?) {\n this.updateToken();\n const media = mediaControl.value as Media;\n const file = this.uploader.queue[this.uploader.queue.length - 1];\n media.isFormatValid = Utils.checkFileType(file.file.name, file.file.type, media.allowedFileType);\n\n if (b64string) {\n file._file = Utils.convertB64ToImage(b64string, file);\n }\n\n if (!media.isFormatValid) {\n this.toastService.error(ToastrMessages.INVALID_FORMAT);\n file.remove();\n return;\n }\n\n if (file.file.size > this.maxFileSize) {\n this.toastService.error(ToastrMessages.FILE_SIZE);\n file.remove();\n return;\n }\n\n file.formData.mediaControl = mediaControl;\n file.formData.fileType = media.fileType;\n file.formData.userUuid = userUuid;\n\n media.progress = 0;\n media.pendingUpload = true;\n\n userUuid\n ? this.uploader.setOptions({ url: this.adminService.getUploadImageUrl() })\n : this.uploader.setOptions({ url: this.accountService.getUploadProfileImageUrl() });\n this.uploader.authToken = `Bearer ${StorageHelper.getKeycloakToken()}`;\n this.computeFileNames();\n this.uploader.uploadAll();\n }\n\n private computeBuildItem(fileItem: FileItem, form) {\n switch (fileItem.formData.fileType) {\n case FileType.PROFILE_IMAGE:\n form.append('fileType', fileItem.formData.fileType);\n fileItem.formData.userUuid ? form.append('userUuid', fileItem.formData.userUuid) : null;\n break;\n default:\n form.append('entityUuid ', fileItem.formData.entityUuid);\n form.append('fileType ', fileItem.formData.fileType);\n form.append('secondUuid ', fileItem.formData.secondUuid);\n break;\n }\n return { fileItem, form };\n }\n\n private emitResponse(fileItem: FileItem, response: string, progress: boolean) {\n const result: UploadPromiseResponse = new UploadPromiseResponse(fileItem, JSON.parse(response));\n this.uploaderObservable.next({ result, progress });\n if (!progress) {\n this.uploader.progress = 0;\n this.uploader.removeFromQueue(fileItem);\n }\n }\n\n private handleError(fileItem: FileItem, response: string) {\n JSON.parse(response).error === 'invalid_token'\n ? this.toastService.error(ToastrMessages.EXPIRED_SESSION)\n : this.emitResponse(fileItem, response, false);\n }\n\n private handleAddFileError(filter: any): void {\n switch (filter.name) {\n case 'fileSize':\n this.toastService.error(ToastrMessages.ERROR_MAX_FILE_SIZE);\n break;\n default:\n break;\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { catchError, tap } from 'rxjs/operators';\nimport { AccountService } from '../api/account.service';\nimport { ToastrMessages } from '../constants/ToastrMessages';\nimport StorageHelper from '../helpers/Storage.helper';\nimport { ResponseObject } from '../models/GenericObject';\nimport { Privileges } from '../models/Privileges';\nimport { UserDetails } from '../models/User';\nimport { BehaviorSubject, Observable, of } from 'rxjs';\nimport Urls from '../constants/Urls';\nimport { Router } from '@angular/router';\nimport { MEMBER_STATE } from '../constants/Groups/Group';\nimport { PrivilegesService } from './privileges.service';\nimport { ToastService } from './toast.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UserService {\n private _currentUser: UserDetails = null;\n private currentUserSource = new BehaviorSubject(null);\n currentUser$ = this.currentUserSource.asObservable();\n\n // prettier-ignore\n constructor(\n private router: Router,\n private accountService: AccountService,\n private privilegesService: PrivilegesService,\n private toastService: ToastService\n ) {\n }\n\n getUserInfo(): Observable {\n return this.accountService.getUserInfo().pipe(\n tap((res: ResponseObject) => {\n this.privilegesService.setPrivileges(res?.response);\n if (res.response?.email) {\n this.setCurrentUser(res?.response);\n } else {\n this.setCurrentUser(null);\n }\n }),\n catchError(() => {\n this.toastService.error(ToastrMessages.BASIC_ERROR);\n StorageHelper.killSession();\n return of(null);\n })\n );\n }\n\n get currentUser(): UserDetails {\n return this._currentUser;\n }\n\n setCurrentUser(currentUser: UserDetails) {\n this.currentUserSource.next(currentUser);\n this._currentUser = currentUser;\n }\n\n isLoggedIn() {\n return this._currentUser !== null;\n }\n\n handleGroupsNotifications(notificationType: MEMBER_STATE): void {\n if (notificationType === MEMBER_STATE.REQUESTED_TO_JOIN && this.currentUser.requestsToJoinGroupsCounter > 0) {\n this.currentUser.requestsToJoinGroupsCounter -= 1;\n } else if (notificationType === MEMBER_STATE.PENDING_INVITATION && this.currentUser.invitedToJoinGroupCounter > 0) {\n this.currentUser.invitedToJoinGroupCounter -= 1;\n }\n this.setCurrentUser(this.currentUser);\n }\n\n logout(redirectUrl?: string): Observable {\n return this.accountService.logout().pipe(\n tap(() => {\n this.killSession(redirectUrl);\n })\n );\n }\n\n killSession(redirectUrl?: string) {\n StorageHelper.killSession();\n this.getUserInfo().subscribe(() => {\n const url = this.router.parseUrl(redirectUrl ? redirectUrl : Urls.BASE);\n this.router.navigateByUrl(url);\n });\n }\n}\n","import { Observable, from, mergeMap } from 'rxjs';\nimport { UserService } from '../services/user.service';\nimport { SSOService } from './sso.service';\n\nexport function ssoAppInitializerFactory(ssoService: SSOService, userService: UserService): () => Observable {\n return () => from(ssoService.runInitialLoginSequence()).pipe(mergeMap(() => userService.getUserInfo()));\n}\n","import { OAuthModuleConfig } from 'angular-oauth2-oidc';\n\nexport const ssoModuleConfig: OAuthModuleConfig = {\n resourceServer: {\n sendAccessToken: true,\n },\n};\n","import { AuthConfig } from 'angular-oauth2-oidc';\nimport { environment } from 'src/environments/environment';\n\nexport const ssoConfig: AuthConfig = {\n issuer: environment.authConfig.issuer,\n clientId: environment.authConfig.clientId,\n responseType: environment.authConfig.responseType,\n redirectUri: environment.authConfig.redirectUri,\n // silentRefreshRedirectUri: environment.authConfig.redirectUri + '/silent-refresh.html',\n scope: environment.authConfig.scope,\n useSilentRefresh: environment.authConfig.useSilentRefresh,\n sessionChecksEnabled: environment.authConfig.sessionChecksEnabled,\n showDebugInformation: environment.authConfig.showDebugInformation,\n silentRefreshTimeout: 5000,\n};\n","import { HttpClientModule } from '@angular/common/http';\nimport { APP_INITIALIZER, ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';\nimport { AuthConfig, OAuthModule, OAuthModuleConfig, OAuthStorage } from 'angular-oauth2-oidc';\nimport { SSOService } from './sso.service';\nimport { ssoAppInitializerFactory } from './sso-app-initializer.factory';\nimport { ssoConfig } from './sso.config';\nimport { ssoModuleConfig } from './sso-module.config';\nimport { UserService } from '../services/user.service';\n\n// We need a factory since localStorage is not available at AOT build time\nexport function storageFactory(): OAuthStorage {\n return localStorage;\n}\n\n@NgModule({\n imports: [\n HttpClientModule,\n OAuthModule.forRoot(),\n ],\n providers: [\n SSOService\n ],\n})\nexport class SSOModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: SSOModule,\n providers: [\n { \n provide: APP_INITIALIZER, \n useFactory: ssoAppInitializerFactory, \n deps: [SSOService, UserService], \n multi: true \n },\n { provide: AuthConfig, useValue: ssoConfig },\n { provide: OAuthModuleConfig, useValue: ssoModuleConfig },\n { provide: OAuthStorage, useFactory: storageFactory },\n ]\n };\n }\n\n constructor(@Optional() @SkipSelf() parentModule: SSOModule) {\n if (parentModule) {\n throw new Error('SSOModule is already loaded. Import it in the AppModule only');\n }\n }\n}\n","/* eslint-disable brace-style */\n\nimport { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { BehaviorSubject, combineLatest, Observable } from 'rxjs';\nimport { filter, map } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { ExternalLinks } from '../models/ExternalLinks';\nimport Urls from '../constants/Urls';\n\n@Injectable({ providedIn: 'root' })\nexport class SSOService {\n private isAuthenticatedSubject$ = new BehaviorSubject(false);\n public isAuthenticated$ = this.isAuthenticatedSubject$.asObservable();\n\n private isDoneLoadingSubject$ = new BehaviorSubject(false);\n public isDoneLoading$ = this.isDoneLoadingSubject$.asObservable();\n private _showAppSwitcher = false;\n\n /**\n * Publishes `true` if and only if (a) all the asynchronous initial\n * login calls have completed or errorred, and (b) the user ended up\n * being authenticated.\n *\n * In essence, it combines:\n *\n * - the latest known state of whether the user is authorized\n * - whether the ajax calls for initial log in have all been done\n */\n public canActivateProtectedRoutes$: Observable = combineLatest([this.isAuthenticated$, this.isDoneLoading$]).pipe(\n map((values) => values.every((b) => b))\n );\n\n constructor(private oauthService: OAuthService, private router: Router) {\n // this.oauthService.redirectUri = environment.authConfig.redirectUri + '/silent-refresh.html';\n // THe following cross-tab communication of fresh access tokens works usually in practice,\n // but if you need more robust handling the community has come up with ways to extend logic\n // in the library which may give you better mileage.\n //\n // See: https://github.com/jeroenheijmans/sample-angular-oauth2-oidc-with-auth-guards/issues/2\n //\n // Until then we'll stick to this:\n window.addEventListener('storage', (event) => {\n // The `key` is `null` if the event was caused by `.clear()`\n if (event.key !== 'access_token' && event.key !== null) {\n return;\n }\n\n this.isAuthenticatedSubject$.next(this.oauthService.hasValidAccessToken());\n\n if (!this.oauthService.hasValidAccessToken()) {\n this.logout();\n }\n });\n\n this.oauthService.events.subscribe((_) => {\n this.isAuthenticatedSubject$.next(this.oauthService.hasValidAccessToken());\n });\n this.isAuthenticatedSubject$.next(this.oauthService.hasValidAccessToken());\n\n // this.oauthService.events.pipe(filter((e) => ['token_received'].includes(e.type))).subscribe(() => this.oauthService.loadUserProfile());\n\n this.oauthService.events.pipe(filter((e) => ['session_terminated', 'session_error'].includes(e.type))).subscribe(() => this.logout());\n\n this.oauthService.setupAutomaticSilentRefresh();\n }\n\n public runInitialLoginSequence(): Promise {\n // 0. LOAD CONFIG:\n // First we have to check to see how the IdServer is\n // currently configured:\n return (\n this.oauthService\n .loadDiscoveryDocument()\n // 1. HASH LOGIN:\n // Try to log in via hash fragment after redirect back\n // from IdServer from initImplicitFlow:\n .then(() => this.oauthService.tryLogin())\n .then(() => {\n if (this.oauthService.hasValidAccessToken()) {\n return Promise.resolve();\n }\n // 2. SILENT LOGIN:\n // Try to log in via a refresh because then we can prevent\n // needing to redirect the user:\n return this.oauthService\n .silentRefresh()\n .then(() => Promise.resolve())\n .catch((result) => {\n // Subset of situations from https://openid.net/specs/openid-connect-core-1_0.html#AuthError\n // Only the ones where it's reasonably sure that sending the\n // user to the IdServer will help.\n const errorResponsesRequiringUserInteraction = [\n 'interaction_required',\n 'login_required',\n 'account_selection_required',\n 'consent_required',\n ];\n\n if (result && result.reason && errorResponsesRequiringUserInteraction.indexOf(result.reason.error) >= 0) {\n // 3. ASK FOR LOGIN:\n // At this point we know for sure that we have to ask the\n // user to log in, so we redirect them to the IdServer to\n // enter credentials.\n //\n // ALWAYS force a user to login.\n this.login();\n return Promise.resolve();\n }\n\n // We can't handle the truth, just pass on the problem to the\n // next handler.\n return Promise.reject(result);\n });\n })\n\n .then(() => {\n this.isDoneLoadingSubject$.next(true);\n\n // Check for the strings 'undefined' and 'null' just to be sure. Our current\n // login(...) should never have this, but in case someone ever calls\n // initImplicitFlow(undefined | null) this could happen.\n if (this.oauthService.state && this.oauthService.state !== 'undefined' && this.oauthService.state !== 'null') {\n let stateUrl = this.oauthService.state;\n if (stateUrl.startsWith('/') === false) {\n stateUrl = decodeURIComponent(stateUrl);\n }\n\n if (stateUrl.indexOf(`${Urls.REGISTER}`) > -1) {\n this.router.navigate([`${Urls.APP}/${Urls.HOMEPAGE}`]);\n } else {\n this.router.navigateByUrl(stateUrl);\n }\n }\n })\n .catch(() => this.isDoneLoadingSubject$.next(true))\n );\n }\n\n public login(targetUrl?: string) {\n // Note: before version 9.1.0 of the library you needed to\n // call encodeURIComponent on the argument to the method.\n this.oauthService.initLoginFlow(targetUrl || this.router.url);\n }\n\n public logout() {\n this.oauthService.logOut({ client_id: this.oauthService.clientId });\n }\n public refresh() {\n this.oauthService.silentRefresh();\n }\n public hasValidToken() {\n return this.oauthService.hasValidAccessToken();\n }\n\n get accessToken() {\n return this.oauthService.getAccessToken();\n }\n get isLoggedIn(): boolean {\n return this.oauthService.hasValidIdToken() && this.oauthService.hasValidAccessToken();\n }\n get decodedAccessToken() {\n return this.accessToken ? JSON.parse(atob(this.accessToken.split('.')[1])) : '';\n }\n get externalApplicationLinks() {\n const externalLinks: ExternalLinks[] = [];\n const tokenLinks = this.decodedAccessToken.links;\n if (tokenLinks) {\n for (let index = 0; index < tokenLinks.length; index++) {\n const link = tokenLinks[index];\n const parsedLinkData = JSON.parse(link);\n const origin = environment.url;\n\n Object.keys(parsedLinkData).forEach((key) => {\n const splitKey = key.split('_');\n const appTranslationKey = splitKey[1].indexOf('gs') > -1 ? 'GENERAL.EXTERNAL_LINKS.GIVING_SPACE' : 'GENERAL.EXTERNAL_LINKS.PORTAL';\n const exists = externalLinks.find((el) => el.tenantName === `GENERAL.EXTERNAL_LINKS.${splitKey[0].toUpperCase()}`);\n const url = parsedLinkData[key];\n\n if (exists) {\n const existingApplication = exists.applications.find((a) => a.name === appTranslationKey);\n if (!existingApplication) {\n exists.applications.push({\n name: appTranslationKey,\n url,\n selected: url.indexOf(origin) > -1,\n });\n }\n\n if (!this._showAppSwitcher) {\n this._showAppSwitcher = exists.applications.length > 1;\n }\n } else {\n externalLinks.push({\n tenantName: `GENERAL.EXTERNAL_LINKS.${splitKey[0].toUpperCase()}`,\n applications: [\n {\n name: appTranslationKey,\n url,\n selected: url.indexOf(origin) > -1,\n },\n ],\n });\n }\n });\n }\n }\n return externalLinks;\n }\n get showAppSwitcher() {\n return this._showAppSwitcher;\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { ModalsService } from '../../../_core/services/modals.service';\nimport { ModalEvent } from 'src/app/_core/models/Modal';\nimport { MODAL_ACTIONS } from '../../../_core/constants/Modals';\n\n@Component({\n selector: 'app-media',\n templateUrl: './cancel-changes.component.html',\n styleUrls: ['./cancel-changes.component.scss'],\n})\nexport class CancelChangesComponent implements OnInit {\n // prettier-ignore\n constructor(\n private modalsService: ModalsService\n ) {\n }\n\n ngOnInit(): void {}\n\n closeAll(): void {\n this.modalsService.closeAll();\n }\n\n emitFalse(): ModalEvent {\n return {\n confirmed: false,\n action: MODAL_ACTIONS.CANCEL_CHANGES,\n payload: null,\n };\n }\n}\n","
\n \n
\n\n
\n \n
{{ 'SHARED.MODALS.CANCEL_CHANGES.CTA_TEXT' | translate }}
\n
\n \n \n
\n
\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild } from '@angular/core';\nimport { FileUploader } from 'ng2-file-upload';\nimport { ModalsService } from 'src/app/_core/services/modals.service';\nimport { UploadService } from 'src/app/_core/services/upload.service';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { MODAL_ACTIONS, Modals, MODALS_STYLES, MODAL_RESPONSE } from 'src/app/_core/constants/Modals';\nimport { ImageCroppedEvent, ImageCropperComponent, ImageTransform, OutputFormat } from 'ngx-image-cropper';\nimport { ToastrMessages } from '../../../_core/constants/ToastrMessages';\nimport Utils from '../../../_core/helpers/Utils';\nimport { FileType } from 'src/app/_core/constants/FileType';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { Control } from '../../../_core/models/FormControls';\nimport { BannerInputs } from '../../../_core/models/UploadResponse';\nimport { Subscription } from 'rxjs';\nimport { ToastService } from 'src/app/_core/services/toast.service';\n\n@Component({\n selector: 'app-crop-modal',\n templateUrl: './crop-modal.component.html',\n styleUrls: ['./crop-modal.component.scss'],\n})\nexport class CropModalComponent implements OnInit, OnDestroy {\n @ViewChild('cropper') cropper: ImageCropperComponent;\n @Input() bannerInputParams: BannerInputs;\n @Output() sendImageInfo: EventEmitter = new EventEmitter();\n\n uploader: FileUploader;\n modalStyle;\n hasBaseDropZoneOver: boolean;\n editingFile: boolean;\n scale = 1;\n transform: ImageTransform = {};\n format: OutputFormat;\n control: Control;\n mediaControl: any;\n fileType: FileType;\n target: string;\n image: any = '';\n aspectRatio: number;\n maxWidth: number;\n croppedImages = []; // TODO make this string instead of string[]\n isMobile = false;\n fileIndex: number;\n breakpointSubscription: Subscription;\n fileEvent: any;\n cropAction = MODAL_ACTIONS.CROP;\n\n // prettier-ignore\n constructor(\n private modalsService: ModalsService,\n private uploadService: UploadService,\n private dialogRef: MatDialogRef,\n private toastService: ToastService,\n private breakpointObserver: BreakpointObserver\n ) {\n this.breakpointSubscription = this.breakpointObserver.observe(['(max-width: 500px)']).subscribe((result) => {\n result.matches\n ? this.isMobile = true\n : this.isMobile = false;\n });\n }\n\n ngOnInit(): void {\n this.uploader = this.uploadService.uploaderInstance;\n if (this.bannerInputParams) {\n this.aspectRatio = this.bannerInputParams.aspectRatio;\n this.fileType = this.bannerInputParams.fileType;\n this.target = this.bannerInputParams.target; // to check if needed\n } else {\n this.aspectRatio = this.modalsService.params.aspectRatio;\n this.modalStyle = MODALS_STYLES.find((modal) => modal.name === Modals.CROP_IMAGE).style;\n this.fileType = this.modalsService.params.fileType;\n this.mediaControl = this.modalsService.params.mediaControl;\n this.control = this.modalsService.params.control;\n this.fileIndex = this.modalsService.params.idx;\n this.target = this.modalsService.params?.target;\n this.fileEvent = this.modalsService.params?.fileEvent;\n this.maxWidth = this.modalsService.params?.maxWidth || 1920;\n this.format = this.modalsService.params?.format || 'jpeg';\n if (this.fileEvent) {\n this.fileChangeEvent(this.modalsService.params?.fileEvent);\n }\n }\n }\n\n ngOnDestroy(): void {\n this.breakpointSubscription.unsubscribe();\n }\n\n fileChangeEvent(event: any): void {\n if (event) {\n if (!Utils.checkFileType(event[0].name, event[0].type, FileType.IMG)) {\n this.toastService.error(ToastrMessages.INVALID_FORMAT);\n this.uploader.removeFromQueue(this.uploader.queue[this.uploader.queue.length - 1]);\n return;\n }\n this.image = this.uploader.queue[this.uploader.queue.length - 1].file.rawFile;\n this.editingFile = true;\n if (this.isMobile) {\n this.dialogRef.updateSize(this.modalStyle.width, '570px');\n }\n }\n }\n\n imageCropped(event: ImageCroppedEvent): void {\n this.croppedImages.length ? (this.croppedImages[0] = event.base64) : this.croppedImages.push(event.base64);\n }\n\n uploadImageBanner() {\n this.sendImageInfo.emit(this.emitEvent(this.cropAction));\n }\n\n loadImageFailed(): void {\n this.toastService.error(ToastrMessages.LOAD_IMG_IN_CROPPER_ERROR);\n }\n\n changeFileOver(event: any): void {\n this.hasBaseDropZoneOver = event;\n }\n\n zoomOut() {\n this.scale -= 0.1;\n if (this.scale < 0.1) {\n this.scale = 0.1;\n return;\n }\n this.transform = { ...this.transform, scale: this.scale };\n }\n\n zoomIn() {\n this.scale += 0.1;\n this.transform = { ...this.transform, scale: this.scale };\n }\n\n close(): void {\n if (this.uploader.queue.length) {\n this.uploader.removeFromQueue(this.uploader.queue[this.uploader.queue.length - 1]);\n }\n\n if (this.bannerInputParams) {\n this.editingFile = false;\n } else {\n if (this.fileEvent) {\n this.emitEvent(MODAL_ACTIONS.CLOSE);\n }\n this.modalsService.closeModal();\n }\n }\n\n emitEvent(actionType: MODAL_ACTIONS): void {\n this.modalsService.emitResponse({\n confirmed: true,\n action: actionType,\n payload: MODAL_ACTIONS.CROP ? this.croppedImages : null,\n mediaControl: this.mediaControl,\n control: this.control,\n fileType: this.fileType,\n target: this.target,\n idx: this.fileIndex,\n closeStatus: MODAL_RESPONSE.CLOSE_SUCCESS,\n });\n }\n}\n","
\n \n
\n \n
\n {{ 'SHARED.MODALS.CROP_MODAL.CTA_TEXT' | translate }}\n \n
\n
\n
\n\n
\n
\n \n
\n \n \n
\n
\n\n
\n \n
{{ 'SHARED.MODALS.CROP_MODAL.RESULT' | translate }}
\n
\n
\n\n
\n
\n \n {{ 'GENERAL.GENERIC_BUTTONS.UPLOAD' | translate }}\n \n \n \n
\n
\n\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { ModalsService } from 'src/app/_core/services/modals.service';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { Subscription } from 'rxjs';\nimport { MODAL_ACTIONS, MODAL_RESPONSE } from '../../../_core/constants/Modals';\n\n@Component({\n selector: 'app-delete-confirmation',\n templateUrl: './delete-confirmation.component.html',\n styleUrls: ['./delete-confirmation.component.scss'],\n})\nexport class DeleteConfirmationComponent implements OnInit, OnDestroy {\n confirmActionButton: string = '';\n cancelActionButton: string = '';\n message: string;\n confirmButtonColor: string;\n cancelButtonColor: string;\n messageInfo: string;\n payload: any;\n action: MODAL_ACTIONS;\n breakpointSubscription: Subscription;\n\n // prettier-ignore\n constructor(\n private modalsService: ModalsService,\n private breakpointObserver: BreakpointObserver,\n private dialogRef: MatDialogRef\n ) { }\n\n ngOnInit(): void {\n this.message = this.modalsService.params.message;\n this.messageInfo = this.modalsService.params.messageInfo;\n this.payload = this.modalsService.params.payload;\n this.action = this.modalsService.params.action;\n this.confirmActionButton = this.modalsService.params.confirmActionButton || '';\n this.cancelActionButton = this.modalsService.params.cancelActionButton || '';\n this.cancelButtonColor = this.modalsService.params.cancelButtonColor || 'primary';\n this.confirmButtonColor = this.modalsService.params.confirmButtonColor || 'warn';\n\n this.breakpointSubscription = this.breakpointObserver.observe(['(max-width: 500px)']).subscribe((result) => {\n result.matches ? this.dialogRef.updateSize('100vw', 'auto') : this.dialogRef.updateSize('500px', 'auto');\n });\n }\n\n ngOnDestroy(): void {\n this.breakpointSubscription.unsubscribe();\n }\n\n emitTrue(): void {\n this.modalsService.emitResponse({\n confirmed: true,\n action: this.action,\n payload: this.payload,\n closeStatus: MODAL_RESPONSE.CLOSE_SUCCESS,\n });\n }\n\n emitFalse(): void {\n this.modalsService.emitResponse({\n confirmed: false,\n action: null,\n payload: null,\n });\n this.modalsService.closeModal();\n }\n}\n","
\n
{{ message | translate }}
\n
{{ messageInfo | translate }}
\n
\n \n {{ 'GENERAL.GENERIC_BUTTONS.' + (cancelActionButton ? cancelActionButton : 'CANCEL') | translate }}\n \n \n {{ 'GENERAL.GENERIC_BUTTONS.' + (confirmActionButton ? confirmActionButton : 'DELETE') | translate }}\n \n
\n
\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\nimport Urls from 'src/app/_core/constants/Urls';\nimport Utils from 'src/app/_core/helpers/Utils';\nimport { GlobalConfigService } from 'src/app/_core/services/global-config.service';\nimport { ModalsService } from 'src/app/_core/services/modals.service';\n\n@Component({\n selector: 'app-idle-entity-modal',\n templateUrl: './idle-entity-modal.component.html',\n styleUrls: ['./idle-entity-modal.component.scss'],\n})\nexport class IdleEntityModalComponent {\n contactUsLink: string;\n\n constructor(private globalConfigService: GlobalConfigService, private modalsService: ModalsService, private router: Router) {\n this.contactUsLink = this.globalConfigService.globalConfig.contactLink;\n }\n\n close(): void {\n this.modalsService.closeModalSuccess();\n this.router.navigate([`${Urls.APP}/${Urls.HOMEPAGE}`]);\n }\n\n contactUs(): void {\n Utils.navigate(this.contactUsLink);\n }\n}\n","
\n
\n \n
\n
\n
{{ 'SHARED.COMPONENTS.IDLE.TITLE' | translate }}
\n

\n \n \n \n {{ 'SHARED.COMPONENTS.IDLE.INFO' | translate | translateCut: 3 }}\n \n \n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { ModalsService } from '../../../_core/services/modals.service';\nimport { FileType } from '../../../_core/constants/FileType';\n\n@Component({\n selector: 'app-media',\n templateUrl: './media.component.html',\n styleUrls: ['./media.component.scss'],\n})\nexport class MediaComponent implements OnInit {\n urls: Array;\n fileType: FileType;\n fileTypes = FileType;\n\n slideConfig = {\n slidesToShow: 1,\n slidesToScroll: 1,\n arrows: true,\n nextArrow: '',\n prevArrow: '',\n variableWidth: false,\n adaptiveHeight: true,\n lazyLoad: 'progressive',\n };\n\n constructor(private modalsService: ModalsService) {}\n\n ngOnInit(): void {\n this.urls = this.modalsService.params.urls;\n this.fileType = this.modalsService.params.fileType as FileType;\n }\n\n close(): void {\n this.modalsService.closeModal();\n }\n}\n","
\n
\n \n
\n \n \n
\n \n
\n
\n
\n\n \n \n \n\n
\n \"image\"\n
\n
\n","import { Component, OnDestroy } from '@angular/core';\n\nimport { Subscription } from 'rxjs';\nimport { Modals, MODALS_STYLES, MODAL_RESPONSE } from '../../../_core/constants/Modals';\nimport { ModalsService } from '../../../_core/services/modals.service';\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { MediaComponent } from '../media/media.component';\nimport { DeleteConfirmationComponent } from '../delete-confirmation/delete-confirmation.component';\nimport { StoryModalComponent } from 'src/app/_shared/_modals/story-modal/story-modal.component';\nimport { CropModalComponent } from '../crop-modal/crop-modal.component';\nimport { CancelChangesComponent } from '../cancel-changes/cancel-changes.component';\nimport { LegalComponent } from '../../components/legal/legal.component';\nimport { DeclineEntityComponent } from 'src/app/internal-app/settings/admin/_helpers/decline-entity/decline-entity.component';\nimport { ShareButtonsModalComponent } from '../share-buttons-modal/share-buttons-modal.component';\nimport { IdleEntityModalComponent } from '../idle-entity/idle-entity-modal.component';\n\n@Component({\n selector: 'app-modal-container',\n template: ``,\n})\nexport class ModalContainerComponent implements OnDestroy {\n modalRef: MatDialogRef;\n modalSubscription: Subscription;\n\n constructor(private dialog: MatDialog, private modalService: ModalsService) {\n this.modalSubscription = modalService.modal$.subscribe((response: any) => {\n switch (response.closeStatus) {\n case MODAL_RESPONSE.CLOSE:\n case MODAL_RESPONSE.CLOSE_SUCCESS:\n this.closeModal();\n response.source && this.emitCloseEvent(response);\n return;\n case MODAL_RESPONSE.CLOSE_ALL:\n this.dialog.closeAll();\n return;\n default:\n this.setModal(response.modalName, response.component);\n }\n this.modalRef.backdropClick().subscribe(() => {\n this.emitCloseEvent({ closeStatus: MODAL_RESPONSE.CLOSE, source: response.action });\n });\n });\n }\n\n emitCloseEvent(event): void {\n this.modalRef.afterClosed().subscribe(() => {\n this.modalService.emitResponse(event);\n });\n }\n\n ngOnDestroy() {\n this.modalSubscription.unsubscribe();\n }\n\n setModal(response: any, component?): void {\n const style = MODALS_STYLES.find((modal) => modal.name === response).style;\n switch (response) {\n case Modals.COMPLETE_REGISTRATION:\n this.openModal(component, style, true);\n break;\n case Modals.MEDIA:\n this.openModal(MediaComponent, style, false, true);\n break;\n case Modals.PROJECT_TYPE_MEDIA:\n this.openModal(component, style, false, true);\n break;\n case Modals.DELETE_CONFIRMATION:\n this.openModal(DeleteConfirmationComponent, style, false, true);\n break;\n case Modals.STORY:\n this.openModal(StoryModalComponent, style, false, true);\n break;\n case Modals.EDIT_USER:\n this.openModal(component, style);\n break;\n case Modals.CROP_IMAGE:\n this.openModal(CropModalComponent, style);\n break;\n case Modals.INFO_MESSAGE:\n this.openModal(component, style);\n break;\n case Modals.ADD_NEW:\n this.openModal(component, style, true);\n break;\n case Modals.ADD_NEW_FUND:\n this.openModal(component, style, true);\n break;\n case Modals.CANCEL_CHANGES:\n this.openModal(CancelChangesComponent, style, false, true);\n break;\n case Modals.CONTACT_INVEST:\n this.openModal(component, style);\n break;\n case Modals.HOW_CAN_WE_HELP:\n this.openModal(component, style);\n break;\n case Modals.LEGAL:\n this.openModal(LegalComponent, style, false, true);\n break;\n case Modals.MEET_THE_INVESTORS_RESTRICTED:\n this.openModal(component, style);\n break;\n case Modals.INVITE_USERS:\n this.openModal(component, style);\n break;\n case Modals.POST_INVITE_USERS:\n this.openModal(component, style);\n break;\n case Modals.POST_COMPLETE_REGISTRATION:\n this.openModal(component, style);\n break;\n case Modals.MAKE_PROJECT_LIVE:\n this.openModal(component, style);\n break;\n case Modals.COMMIT_TO_GIVE:\n this.openModal(component, style);\n break;\n case Modals.SUBMIT_PROJECT_ORGANIZATION:\n this.openModal(component, style);\n break;\n case Modals.ADD_GROUP_MEMBER:\n this.openModal(component, style);\n break;\n case Modals.POST_ADD_GROUP_MEMBER:\n this.openModal(component, style);\n break;\n case Modals.ADD_GROUP_PROJECT:\n this.openModal(component, style);\n break;\n case Modals.SELECT_LANGUAGE:\n this.openModal(component, style);\n break;\n case Modals.SEARCH_LANGUAGE:\n this.openModal(component, style);\n break;\n case Modals.ADD_GROUP_PORTFOLIO:\n this.openModal(component, style);\n break;\n case Modals.ORGANISATION_SETTINGS:\n this.openModal(component, style);\n break;\n case Modals.REPORT_ABUSE:\n this.openModal(component, style);\n break;\n case Modals.DECLINE_REASON:\n this.openModal(DeclineEntityComponent, style);\n break;\n case Modals.SHARE_BUTTON:\n this.openModal(ShareButtonsModalComponent, style, false);\n break;\n case Modals.INFO_MODAL:\n this.openModal(IdleEntityModalComponent, style, true);\n break;\n case Modals.URL_REDIRECT:\n this.openModal(component, style);\n break;\n default:\n break;\n }\n }\n\n openModal(modalComponent, style, disableClose: boolean = false, cancel: boolean = false): void {\n if (this.dialog.openDialogs.length && !cancel) {\n this.dialog.closeAll();\n }\n this.modalRef = this.dialog.open(modalComponent, { ...style, disableClose });\n }\n\n closeModal(): void {\n this.modalRef.close();\n }\n}\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport { Component, OnDestroy, OnInit } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { Subscription } from 'rxjs';\nimport { MODAL_ACTIONS, MODAL_RESPONSE } from 'src/app/_core/constants/Modals';\nimport { ModalsService } from 'src/app/_core/services/modals.service';\n\n@Component({\n selector: 'app-share-buttons-modal',\n templateUrl: './share-buttons-modal.component.html',\n styleUrls: ['./share-buttons-modal.component.scss'],\n})\nexport class ShareButtonsModalComponent implements OnInit, OnDestroy {\n shareLink: string;\n linkTitle: string = '';\n payload: any;\n action: MODAL_ACTIONS;\n breakpointSubscription: Subscription;\n\n constructor(private modalsService: ModalsService, private breakpointObserver: BreakpointObserver, private dialogRef: MatDialogRef) {}\n\n ngOnInit(): void {\n this.shareLink = this.modalsService.params.shareLink;\n this.linkTitle = this.modalsService.params.linkTitle;\n this.payload = this.modalsService.params.payload;\n this.action = this.modalsService.params.action;\n\n this.breakpointSubscription = this.breakpointObserver.observe(['(max-width: 500px)']).subscribe((result) => {\n result.matches ? this.dialogRef.updateSize('100vw', 'auto') : this.dialogRef.updateSize('500px', 'auto');\n });\n }\n\n ngOnDestroy(): void {\n this.breakpointSubscription.unsubscribe();\n }\n\n emitTrue(): void {\n this.modalsService.emitResponse({\n confirmed: true,\n action: this.action,\n payload: this.payload,\n closeStatus: MODAL_RESPONSE.CLOSE_SUCCESS,\n });\n }\n\n emitFalse(): void {\n this.modalsService.emitResponse({\n confirmed: false,\n action: null,\n payload: null,\n });\n this.modalsService.closeModal();\n }\n}\n","
\n \n

Share with others

\n
\n
\n \n
\n","import { Component, OnInit } from '@angular/core';\nimport { ModalsService } from 'src/app/_core/services/modals.service';\nimport { UserTerm } from '../../../_core/constants/User';\n\n@Component({\n selector: 'app-story-modal',\n templateUrl: './story-modal.component.html',\n styleUrls: ['./story-modal.component.scss'],\n})\nexport class StoryModalComponent implements OnInit {\n story: string;\n header: string;\n viewer: boolean;\n loaded: boolean;\n\n // prettier-ignore\n constructor(\n private modalsService: ModalsService\n ) {\n }\n\n ngOnInit(): void {\n this.header = this.modalsService.params.header;\n this.story = this.modalsService.params.story;\n this.viewer = [UserTerm.CODE_OF_CONDUCT as string, UserTerm.TS_AND_PRIVACY as string].indexOf(this.header) > -1;\n }\n\n close(): void {\n this.modalsService.closeModal();\n }\n}\n","
\n
\n \n
\n
\n {{ 'GENERAL.GENERIC_LABELS.LOADING' | translate }}\n
\n \n
\n
\n \n
\n
{{ header }}
\n

{{ story }}

\n
\n
\n
\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { EntityStatus } from 'src/app/_core/constants/CompanyOrFirm';\nimport { ButtonType } from '../../../_core/constants/ButtonType';\n\n@Component({\n selector: 'app-action-buttons',\n templateUrl: './action-buttons.component.html',\n styleUrls: ['./action-buttons.component.scss'],\n})\nexport class ActionButtonsComponent implements OnInit, OnChanges {\n @Input() changesMade: boolean = false;\n @Input() entityStatus: EntityStatus = null;\n @Output() buttonClicked: EventEmitter = new EventEmitter();\n buttonTypes = ButtonType;\n entityStatuses = EntityStatus;\n hidePreview: boolean;\n disableSubmit: boolean;\n hideSave: boolean;\n saveButtonText: string;\n\n constructor() {}\n\n ngOnInit(): void {\n this.handleConditions();\n this.saveButtonText = this.entityStatus === EntityStatus.DRAFT || !this.entityStatus ? 'SAVE_DRAFT' : 'SAVE_CHANGES';\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.entityStatus && changes.entityStatus.currentValue !== changes.entityStatus.previousValue) {\n this.handleConditions();\n }\n }\n\n handleConditions(): void {\n const nonSubmitable = [EntityStatus.ARCHIVED, EntityStatus.DECLINED];\n const saveableStatuses = [EntityStatus.ARCHIVED, EntityStatus.DRAFT, EntityStatus.EXPIRED];\n this.disableSubmit = !this.entityStatus || nonSubmitable.includes(this.entityStatus);\n this.hidePreview = this.entityStatus !== EntityStatus.DRAFT;\n this.hideSave = this.entityStatus && !saveableStatuses.includes(this.entityStatus);\n }\n}\n","
\n \n {{ 'GENERAL.GENERIC_BUTTONS.PREVIEW' | translate }}\n \n \n {{ 'GENERAL.GENERIC_BUTTONS.' + saveButtonText | translate }}\n \n \n {{\n entityStatus && entityStatus !== entityStatuses.DRAFT\n ? ('GENERAL.GENERIC_BUTTONS.RESUBMIT' | translate)\n : ('GENERAL.GENERIC_BUTTONS.SUBMIT' | translate)\n }}\n \n \n {{ (changesMade ? 'GENERAL.GENERIC_BUTTONS.CANCEL' : 'GENERAL.GENERIC_BUTTONS.BACK') | translate }}\n \n
\n","import { Component, Input, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { CurrencyService } from '../../../_core/services/currency.service';\n\n@Component({\n selector: 'app-currency',\n templateUrl: './currency.component.html',\n styleUrls: ['./currency.component.scss'],\n})\nexport class CurrencyComponent implements OnInit, OnChanges, OnDestroy {\n @Input() amount: number;\n @Input() currency: string;\n @Input() showSymbol = true;\n @Input() hideCurrency = false;\n\n subscription: Subscription;\n\n parsedCurrency: string;\n exchangedMoney: number;\n\n // prettier-ignore\n constructor(\n private currencyService: CurrencyService\n ) {\n }\n\n ngOnInit() {\n this.subscription = this.currencyService.selectedCurrency$.subscribe(() => this.convert());\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (typeof changes.amount?.currentValue === 'number' && changes.amount.currentValue !== changes.amount?.previousValue) {\n this.convert();\n }\n }\n\n ngOnDestroy() {\n this.subscription.unsubscribe();\n }\n\n convert(): void {\n [this.exchangedMoney, this.parsedCurrency] = this.currencyService.convert(this.amount, this.currency, this.showSymbol);\n }\n}\n","{{ hideCurrency ? (exchangedMoney | formatNumber) : parsedCurrency + (exchangedMoney | formatNumber | negativeNumber) }}\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Subscription } from 'rxjs';\nimport { environment } from 'src/environments/environment';\nimport { FILTER_NAME } from '../../../_core/constants/Filters/FilterTypes';\nimport Urls from '../../../_core/constants/Urls';\nimport Utils from '../../../_core/helpers/Utils';\nimport { CarouselDeal, FilterSelected } from '../../../_core/models/filters/Dashboard';\n\n@Component({\n selector: 'app-deal-carousel',\n templateUrl: './deal-carousel.component.html',\n styleUrls: ['./deal-carousel.component.scss'],\n})\nexport class DealCarouselComponent implements OnInit, OnDestroy {\n @Input() deals: CarouselDeal[];\n @Input() seeAll = true;\n @Input() filterTitle: FILTER_NAME = null;\n @Input() link: string;\n @Input() filter: string = null;\n @Input() search: boolean;\n @Input() customButton: boolean = false;\n @Input() detailsLink: RouterLink;\n @Input() pagination: boolean = false;\n @Input() showEntityCount: boolean = false;\n @Output() categorySelected: EventEmitter = new EventEmitter();\n @Output() loadMoreItems: EventEmitter = new EventEmitter();\n\n filterName: string;\n\n filterType = FILTER_NAME;\n restricted = false;\n showCauses: boolean;\n mobileBreakpointSubscription: Subscription;\n tabletBreakpointSubscription: Subscription;\n desktopBreapointSubscription: Subscription;\n\n isCategory: boolean = false;\n\n slideConfig = {\n slidesToShow: 1,\n slidesToScroll: 1,\n arrows: true,\n mobileFirst: true,\n nextArrow: '',\n prevArrow: '',\n variableWidth: true,\n variableHeight: false,\n infinite: false,\n };\n\n // prettier-ignore\n constructor(\n private breakpointObserver: BreakpointObserver,\n private translateService: TranslateService\n ) { }\n\n ngOnInit(): void {\n this.filterName = this.splitAndExtractLastItemWithoutLastChar(this.filter, 'name=');\n this.showCauses = environment.hasCause;\n if (\n this.filterTitle === FILTER_NAME.PORTFOLIO_CATEGORY ||\n this.filterTitle === FILTER_NAME.PROJECTS_CATEGORY ||\n this.filterTitle === FILTER_NAME.CHARITIES_CATEGORY\n ) {\n this.isCategory = true;\n this.processCategories();\n this.translateService.onLangChange.subscribe(() => this.processCategories());\n }\n }\n\n processCategories(): void {\n if (!this.translateService.instant('GENERAL.DROPDOWNS.CATEGORIES.' + this.filterName)) {\n this.deals = [];\n }\n }\n\n observe(): void {\n this.mobileBreakpointSubscription = this.breakpointObserver\n .observe(['(max-width: 965px)'])\n .subscribe((result) =>\n result.matches\n ? this.breakpointObserver.isMatched(['(min-width: 850px)'])\n ? (this.slideConfig.slidesToShow = 2)\n : (this.slideConfig.slidesToShow = 1)\n : null\n );\n this.tabletBreakpointSubscription = this.breakpointObserver\n .observe(['(min-width: 966px) and (max-width: 1166px)'])\n .subscribe((result) => (result.matches ? (this.slideConfig.slidesToShow = 2) : null));\n this.desktopBreapointSubscription = this.breakpointObserver\n .observe(['(min-width: 1167px)'])\n .subscribe((result) =>\n result.matches ? (this.customButton ? (this.slideConfig.slidesToShow = 2) : (this.slideConfig.slidesToShow = 3)) : null\n );\n }\n\n ngOnDestroy(): void {\n this.mobileBreakpointSubscription?.unsubscribe();\n this.tabletBreakpointSubscription?.unsubscribe();\n this.desktopBreapointSubscription?.unsubscribe();\n }\n\n slideInit(event): void {\n this.observe();\n event.slick.$prevArrow.hide();\n if (event.slick.slideCount <= this.slideConfig.slidesToShow) {\n event.slick.$nextArrow.hide();\n } else {\n event.slick.$nextArrow.show();\n }\n }\n\n beforeChange(event): void {\n if (event.nextSlide >= this.deals.length - this.slideConfig.slidesToShow) {\n event.slick.$nextArrow.hide();\n } else {\n event.slick.$nextArrow.show();\n }\n\n if (event.nextSlide) {\n event.slick.$prevArrow.show();\n } else {\n event.slick.$prevArrow.hide();\n }\n }\n\n afterChange(event): void {\n if (this.pagination && this.deals?.length && this.deals.length - event.currentSlide < 3) {\n this.loadMoreItems.emit();\n }\n }\n\n calculatePercent(deal: CarouselDeal): number {\n return Utils.calculatePercent(deal.principalAmount, deal.amountRemainingToBeRaised);\n }\n\n getLink(uuid: string, languageCode: string): string {\n let detailsLink: string;\n switch (this.filterTitle) {\n case FILTER_NAME.CHARITIES_CATEGORY:\n case FILTER_NAME.CHARITIES_REGION:\n case FILTER_NAME.NEWLY_ADDED_ORGANIZATION:\n case FILTER_NAME.CHARITIES_CHAMPIONED:\n case FILTER_NAME.ORGANISATIONS_DISCUSSED:\n case FILTER_NAME.ORGANISATIONS_INCLUDED:\n case FILTER_NAME.FEATURED_ORGANISATIONS:\n detailsLink = Urls.ORGANIZATION;\n break;\n case FILTER_NAME.CLOSE_TO_CLOSING_PROJECT:\n case FILTER_NAME.PROJECTS_REGION:\n case FILTER_NAME.PROJECTS_CATEGORY:\n case FILTER_NAME.PROJECTS_CHAMPIONED:\n case FILTER_NAME.FEATURED_PROJECTS:\n case FILTER_NAME.NEWLY_ADDED_PROJECT:\n case FILTER_NAME.PROJECTS_DISCUSSED:\n case FILTER_NAME.PROJECTS_INCLUDED:\n detailsLink = Urls.PROJECT;\n break;\n case FILTER_NAME.NEWLY_ADDED_PORTFOLIO:\n case FILTER_NAME.FEATURED_PORTFOLIOS:\n case FILTER_NAME.PORTFOLIOS_DISCUSSED:\n case FILTER_NAME.PORTFOLIO_CATEGORY:\n case FILTER_NAME.PORTFOLIO_REGION:\n case FILTER_NAME.PORTFOLIOS_CHAMPIONED:\n languageCode = null;\n detailsLink = Urls.PORTFOLIO;\n break;\n default:\n languageCode = null;\n detailsLink = this.detailsLink.toString();\n break;\n }\n return languageCode\n ? `/${Urls.APP}/${Urls.DETAILS}/${detailsLink}/${uuid}/${languageCode}`\n : `/${Urls.APP}/${Urls.DETAILS}/${detailsLink}/${uuid}`;\n }\n\n emitEvent(searchText: string = null) {\n if (searchText !== null) {\n if (searchText) {\n this.categorySelected.emit(new FilterSelected(FILTER_NAME.SEARCH, searchText, this.link));\n }\n } else {\n if (this.filterName) {\n this.categorySelected.emit(new FilterSelected(this.filterTitle, this.filterName, this.link));\n } else {\n switch (this.filterTitle) {\n case FILTER_NAME.NEWLY_ADDED_PROJECT:\n this.categorySelected.emit(new FilterSelected(this.filterTitle, 'DESC', `${Urls.GIVING}/${Urls.PROJECTS}`));\n break;\n case FILTER_NAME.NEWLY_ADDED_ORGANIZATION:\n this.categorySelected.emit(new FilterSelected(this.filterTitle, 'DESC', `${Urls.GIVING}/${Urls.ORGANIZATIONS}`));\n break;\n case FILTER_NAME.NEWLY_ADDED_PORTFOLIO:\n this.categorySelected.emit(new FilterSelected(this.filterTitle, 'DESC', `${Urls.GIVING}/${Urls.PORTFOLIOS}`));\n break;\n default:\n this.categorySelected.emit(new FilterSelected(this.filterTitle, 'all', this.link));\n }\n }\n }\n }\n\n splitAndExtractLastItemWithoutLastChar(text: string, separator: string): string {\n const lastItem = text?.split(separator).pop();\n return lastItem?.substring(0, lastItem.length - 1);\n }\n}\n","\n \n
\n

\n {{ filterName || ('GENERAL.DASHBOARD_FILTERS.' + filterTitle | translate) }}\n

\n

\n {{ 'GENERAL.DROPDOWNS.CATEGORIES.' + filterName | translate }}\n

\n \n \n {{ 'GENERAL.GENERIC_LABELS.SEE_ALL' | translate }} ({{ deals.length }})\n \n \n

\n {{\n filterTitle === filterType.PROJECTS_DISCUSSED || filterTitle === filterType.PROJECTS_INCLUDED\n ? ('GROUPS.GROUP_DETAILS.GENERAL.SEE_ALL_PROJECTS' | translate)\n : filterTitle === filterType.ORGANISATIONS_DISCUSSED || filterTitle === filterType.ORGANISATIONS_INCLUDED\n ? ('GROUPS.GROUP_DETAILS.GENERAL.SEE_ALL_ORGANISATIONS' | translate)\n : ('GROUPS.GROUP_DETAILS.GENERAL.SEE_ALL_PORTFOLIOS' | translate)\n }}\n

\n
\n \n \n
\n \n
\n
\n
\n
\n \n
\n
\n\n \n
\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\n\n@Component({\n selector: 'app-document-card',\n templateUrl: './document-card.component.html',\n styleUrls: ['./document-card.component.scss'],\n})\nexport class DocumentCardComponent implements OnInit {\n @Input() document;\n @Input() entityUuid;\n @Input() isAdmin: boolean = false;\n @Input() partOfForm: boolean = true;\n\n @Output() deleteEmit: EventEmitter = new EventEmitter();\n @Output() previewEmit: EventEmitter = new EventEmitter();\n\n constructor() {}\n\n ngOnInit(): void {}\n\n deleteDocument(mediaControl: FormControl | FormGroup, entityUuid: string): void {\n const payload = { mediaControl, entityUuid };\n this.deleteEmit.emit(payload);\n }\n\n previewDocument(document): void {\n this.previewEmit.emit(document);\n }\n}\n","
\n
\n
\n \n\n
\n
\n {{\n partOfForm\n ? document.value.documentName || document.value.fileName\n : document.documentName || document.fileName || document.filename.split('/')[2]\n }}\n
\n
\n \n
\n {{ 'SHARED.COMPONENTS.DOCUMENT_CARD.BY' | translate: { userName: partOfForm ? document.value.ownerName : document.ownerName } }},\n
\n
\n {{ 'SHARED.COMPONENTS.DOCUMENT_CARD.ON' | translate: { uploadDate: partOfForm ? document.value.uploadDate : document.uploadDate } }}\n
\n
\n
\n
\n
\n \n \n \n
\n
\n \n \n \n
\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { FileUploader } from 'ng2-file-upload';\nimport { Subscription } from 'rxjs';\nimport { GeneralService } from 'src/app/_core/api/general.service';\nimport { FileType } from 'src/app/_core/constants/FileType';\nimport { Modals, MODAL_ACTIONS } from 'src/app/_core/constants/Modals';\nimport { ToastrMessages } from 'src/app/_core/constants/ToastrMessages';\nimport Utils from 'src/app/_core/helpers/Utils';\nimport { AllowedFileTypesMessage } from 'src/app/_core/models/FileInfo';\nimport { Media } from 'src/app/_core/models/FormControls';\nimport { GSFormControl } from 'src/app/_core/models/forms/GSFormControl';\nimport { ModalEvent } from 'src/app/_core/models/Modal';\nimport { UploadPromiseResponse } from 'src/app/_core/models/UploadResponse';\nimport { ModalsService } from 'src/app/_core/services/modals.service';\nimport { ToastService } from 'src/app/_core/services/toast.service';\nimport { UploadService } from 'src/app/_core/services/upload.service';\n\n@Component({\n selector: 'app-file-upload',\n templateUrl: './file-upload.component.html',\n styleUrls: ['./file-upload.component.scss'],\n})\nexport class FileUploadComponent implements OnInit, OnDestroy {\n @Output() fileUpdated: EventEmitter = new EventEmitter();\n @Input() imageControl: GSFormControl;\n @Input() videoControl: GSFormControl;\n @Input() label: string;\n @Input() placeholder: string;\n @Input() cropFormat: string;\n @Input() buttonId: string;\n uploader: FileUploader;\n modalSub: Subscription;\n uploaderSub: Subscription;\n allowedFileTypes: string;\n\n // prettier ignore\n constructor(\n private uploadService: UploadService,\n private toastService: ToastService,\n private modalsService: ModalsService,\n private generalService: GeneralService\n ) {\n this.uploader = this.uploadService.uploaderInstance;\n this.modalSub = this.modalsService.modalResponse$.subscribe((response: ModalEvent) => {\n this.handleModalResponse(response);\n });\n this.uploaderSub = this.uploadService.uploaderObservable.subscribe((data) =>\n data.progress ? this.setProgress(data.result) : this.setFileFields(data.result)\n );\n }\n\n ngOnInit(): void {\n this.setAllowedFileTypes();\n }\n\n ngOnDestroy(): void {\n this.modalSub.unsubscribe();\n this.uploaderSub.unsubscribe();\n }\n\n setAllowedFileTypes(): void {\n if (this.imageControl && this.videoControl) this.allowedFileTypes = new AllowedFileTypesMessage().videoOrImageValidFormats;\n else if (this.imageControl) this.allowedFileTypes = new AllowedFileTypesMessage().imageValidFormats;\n else if (this.videoControl) this.allowedFileTypes = new AllowedFileTypesMessage().videoValidFormats;\n }\n\n handleModalResponse(response: ModalEvent): void {\n const { confirmed, action, payload } = response;\n if (!confirmed) return;\n const mediaControl = response.mediaControl || payload?.mediaControl;\n if (!mediaControl) return;\n const isImage = (mediaControl as any).label === this.imageControl?.label;\n const isVideo = (mediaControl as any).label === this.videoControl?.label;\n switch (action) {\n case MODAL_ACTIONS.CROP:\n if (!isImage) return;\n payload.forEach((b64string) => {\n this.uploadService.uploadFileV3(this.imageControl, null, null, b64string);\n });\n break;\n case MODAL_ACTIONS.DELETE_FILE:\n if (!isImage && !isVideo) return;\n this.deleteFileRequest(payload);\n break;\n }\n }\n\n setProgress(response: UploadPromiseResponse): void {\n const media = response.fileItem.formData.mediaControl.value as Media;\n media.setProgress(response.response);\n }\n\n setFileFields(uploadResponse: UploadPromiseResponse): void {\n const mediaControl: GSFormControl = uploadResponse.fileItem.formData.mediaControl;\n const isImage = mediaControl.label === this.imageControl?.label;\n const isVideo = mediaControl.label === this.videoControl?.label;\n if (!isImage && !isVideo) return;\n if (uploadResponse.response.hasOwnProperty('error') || uploadResponse.response.hasOwnProperty('message')) {\n mediaControl.reset();\n this.toastService.error(ToastrMessages.BASIC_ERROR);\n return;\n }\n mediaControl.patchValue({ ...uploadResponse.response.response, fileName: uploadResponse.fileItem.file.name });\n if (this.imageControl && this.videoControl) this.validateMultiUpload();\n this.fileUpdated.emit(mediaControl);\n this.toastService.success(ToastrMessages.FILE_UPLOADED);\n }\n\n validateMultiUpload(): void {\n this.imageControl.restoreValidators();\n this.videoControl.restoreValidators();\n if (this.imageControl.value?.uuid) this.videoControl.clearValidators(true);\n else if (this.videoControl.value?.uuid) this.imageControl.clearValidators(true);\n }\n\n deleteFileRequest(payload): void {\n const mediaControl: GSFormControl = payload.mediaControl;\n this.generalService.deleteFiles('', mediaControl.value.fileType, mediaControl.value.uuid).subscribe({\n error: () => {\n if (\n mediaControl.value.fileType === FileType.GENERAL_IMAGE ||\n mediaControl.value.fileType === FileType.GENERAL_VIDEO ||\n mediaControl.value.fileType === FileType.APPLICATION_LOGO\n ) {\n mediaControl.reset();\n }\n this.toastService.error(ToastrMessages.BASIC_ERROR);\n },\n complete: () => {\n mediaControl.reset();\n if (this.imageControl && this.videoControl) this.validateMultiUpload();\n this.fileUpdated.emit(mediaControl);\n this.toastService.success(ToastrMessages.REMOVE_FILE);\n },\n });\n }\n\n imageOrVideoSelected(): void {\n const file = this.uploader.queue[this.uploader.queue.length - 1];\n if (!file) return;\n if (Utils.checkFileType(file.file.name, file.file.type, FileType.VIDEO) && this.videoControl) {\n this.videoControl.value.allowedFileType = FileType.VIDEO;\n this.uploadService.uploadFileV3(this.videoControl);\n } else if (Utils.checkFileType(file.file.name, file.file.type, FileType.IMG) && this.imageControl) {\n this.imageControl.value.allowedFileType = FileType.IMG;\n this.uploadService.uploadFileV3(this.imageControl);\n } else {\n this.toastService.error(ToastrMessages.INVALID_FORMAT);\n }\n }\n\n openCropModal(): void {\n this.modalsService.openModal(Modals.CROP_IMAGE, { mediaControl: this.imageControl, format: this.cropFormat });\n }\n\n deleteFile(mediaControl: GSFormControl): void {\n const payload = { mediaControl };\n this.modalsService.openModal(Modals.DELETE_CONFIRMATION, { message: 'SHARED.MODALS.DELETE.FILE', payload, action: MODAL_ACTIONS.DELETE_FILE });\n }\n\n get hideButton(): boolean {\n if (this.videoControl && (this.videoControl.value.fileName || this.videoControl.value.pendingUpload)) return true;\n if (this.imageControl && (this.imageControl.value.fileName || this.imageControl.value.pendingUpload)) return true;\n return false;\n }\n}\n","
\n
\n {{ label | translate }}\n ({{ allowedFileTypes }})\n
\n
{{ placeholder | translate }}
\n \n \n {{ 'GENERAL.GENERIC_BUTTONS.ADD_FILE' | translate }}\n \n\n \n
\n\n\n\n \n \n \n \n \n \n {{ err.text | translate }}\n \n \n \n\n\n\n\n \n \n \n \n \n \n {{ err.text | translate }}\n \n \n \n\n","import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { Component, EventEmitter, Input, OnDestroy, Output } from '@angular/core';\nimport { ActivatedRoute, ParamMap } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { PageFilters } from 'src/app/_core/models/filters/Filters';\n\n@Component({\n selector: 'app-filters-search-and-sort',\n templateUrl: './filters-search-and-sort.component.html',\n styleUrls: ['./filters-search-and-sort.component.scss'],\n})\nexport class FiltersSearchAndSortComponent implements OnDestroy {\n @Output() filtersApplied: EventEmitter = new EventEmitter();\n @Output() viewChanged: EventEmitter = new EventEmitter();\n\n @Input() filterMenu: PageFilters;\n @Input() hasFilters: boolean = true;\n @Input() filtersCollapsed: boolean = false;\n @Input() hasSort: boolean = true;\n @Input() sortByLabel: boolean = true;\n @Input() toggleListView: boolean = false;\n\n subscriptions: Subscription = new Subscription();\n isTable: boolean;\n isTablet: boolean;\n\n // prettier ignore\n constructor(private activatedRoute: ActivatedRoute, private breakpointObserver: BreakpointObserver) {\n this.activatedRoute.queryParamMap.subscribe((params: ParamMap) => (this.isTable = params.get('view') === 'table'));\n this.subscriptions.add(\n this.breakpointObserver.observe([Breakpoints.XSmall, Breakpoints.Small]).subscribe(() => {\n this.isTablet = breakpointObserver.isMatched(Breakpoints.Small) || breakpointObserver.isMatched(Breakpoints.XSmall);\n })\n );\n }\n\n ngOnDestroy(): void {}\n\n onFiltersApplied(arg = null): void {\n if (typeof arg === 'boolean') {\n this.filtersApplied.emit(arg);\n } else {\n this.filtersApplied.emit(arg || '');\n }\n }\n}\n","
\n
\n \n
\n \n \n
\n
\n \n
\n \n \n
\n

|

\n \n \n
\n
\n
\n
\n\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormGroup } from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { FILTER_NAME } from 'src/app/_core/constants/Filters/FilterTypes';\nimport { Role } from 'src/app/_core/constants/User';\nimport { UserService } from 'src/app/_core/services/user.service';\nimport { Filter, FilterOption, generateFilterOptions, IPageFilters } from '../../../_core/models/filters/Filters';\nimport { UUIDName } from '../../../_core/models/GenericObject';\n\n@Component({\n selector: 'app-filters',\n templateUrl: './filters.component.html',\n styleUrls: ['./filters.component.scss', '../../../internal-app/catalog/catalog.scss'],\n})\nexport class FiltersComponent implements OnInit, OnDestroy {\n @Input() filters: IPageFilters;\n @Input() collapsed = false;\n @Output() triggerRequest = new EventEmitter();\n\n filterType = FILTER_NAME;\n breakpointSubscription: Subscription;\n isMobile = false;\n displayFilter: boolean;\n searchForm: FormGroup;\n isAdmin: boolean;\n filterCategoriesApplied: number = 0;\n\n // prettier-ignore\n constructor(\n private breakpointObserver: BreakpointObserver,\n private fb: FormBuilder,\n private userService: UserService\n ) {\n this.breakpointSubscription = this.breakpointObserver.observe(['(max-width: 767px)']).subscribe(\n (result) => this.isMobile = result.matches);\n }\n\n ngOnInit(): void {\n this.computeDisplayFilter();\n this.countFiltersCategoriesApplied();\n this.initEntitySearch();\n this.isAdmin = this.userService.currentUser?.role === Role.SUPER_ADMIN;\n }\n\n ngOnDestroy(): void {\n this.breakpointSubscription.unsubscribe();\n }\n\n initEntitySearch(): void {\n this.searchForm = this.fb.group({\n inputField: [\n this.filters?.searchByOrganisation?.options?.length\n ? new UUIDName(this.filters.searchByOrganisation.options[0].value as string, this.filters.searchByOrganisation.options[0].code)\n : [],\n ],\n });\n }\n\n computeDisplayFilter(): void {\n for (const key in this.filters) {\n if (this.filters[key].options?.length || this.filters[key].name === this.filterType.SEARCH_BY_ORGANISATION) {\n this.displayFilter = true;\n break;\n }\n }\n }\n\n countFiltersApplied(filter: FilterOption[]): number {\n return filter.filter((item) => item.checked !== item.defaultCheck).length;\n }\n\n countFiltersCategoriesApplied(): void {\n let categoriesCounter = 0;\n for (const key in this.filters) {\n if (this.filters[key].options?.length) {\n if (this.filters[key].options.filter((option: FilterOption) => option.checked !== option.defaultCheck).length) {\n categoriesCounter++;\n }\n }\n }\n this.filterCategoriesApplied = categoriesCounter;\n }\n\n selectInput(filter: Filter, value: UUIDName, event: Event) {\n filter.data = generateFilterOptions([value]);\n this.selectOption(filter, filter.options[0], event);\n }\n\n selectOption(filter: Filter, filterOption: FilterOption, event: Event): void {\n filter.selectOption(filterOption);\n event.stopPropagation();\n this.countFiltersCategoriesApplied();\n this.triggerRequest.emit();\n }\n\n resetFilters(): void {\n for (const key in this.filters) {\n if (this.filters.hasOwnProperty(key)) {\n this.filters[key].resetFilter();\n }\n }\n if (this.inputField.value) {\n this.inputField.setValue(null);\n }\n this.triggerRequest.emit(true);\n this.countFiltersCategoriesApplied();\n }\n\n get inputField(): AbstractControl {\n return this.searchForm.get('inputField');\n }\n}\n","
\n \n \n {{ 'GENERAL.FILTERS.' + filters[key].name | translate | uppercase }}\n \n keyboard_arrow_down\n \n \n \n \n \n
\n \n
\n \n
\n
\n
\n
\n
\n
\n
\n \n clear\n {{ 'GENERAL.FILTERS.RESET_FILTERS' | translate | titlecase }}\n
\n\n\n\n
\n \n \n \n \n
\n\n \n \n \n \n \n \n {{ 'GENERAL.FILTERS.' + filters[key].name | translate | uppercase }}\n \n \n \n \n \n
\n \n
\n \n
\n
\n \n
\n
\n \n
\n \n \n \n {{ 'GENERAL.FILTERS.' + filters[key].name | translate | uppercase }}\n \n \n \n \n \n
\n
\n \n clear\n {{ 'GENERAL.FILTERS.RESET_FILTERS' | translate | uppercase }}\n \n
\n
\n","import { Component } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { filter } from 'rxjs';\nimport Urls from 'src/app/_core/constants/Urls';\nimport { GlobalConfigService } from '../../../_core/services/global-config.service';\nimport { Color } from '@angular-material-components/color-picker';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n selector: 'app-footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.scss'],\n})\nexport class FooterComponent {\n text: string;\n year: number;\n termsOfUse: string;\n privacyPolicy: string;\n isChampionPage: boolean;\n showSecondaryFooter: boolean;\n footerColor: Color;\n footerParentWebsiteLink: string;\n companyName: string;\n hasCodeOfConduct: boolean;\n contactLink: string;\n\n // prettier-ignore\n constructor(\n private globalConfigService: GlobalConfigService,\n private router: Router,\n ) {\n this.termsOfUse = this.globalConfigService.globalConfig.termsOfUse;\n this.privacyPolicy = this.globalConfigService.globalConfig.privacyPolicy;\n this.footerColor = this.globalConfigService.globalConfig.footerColor;\n this.contactLink = this.globalConfigService.globalConfig.contactLink;\n this.footerParentWebsiteLink = this.globalConfigService.globalConfig.footerParentWebsiteLink;\n this.companyName = this.globalConfigService.globalConfig.companyName;\n this.year = new Date().getFullYear();\n this.hasCodeOfConduct = environment.hasCodeOfConduct;\n\n this.router.events.pipe(filter(value => value instanceof NavigationEnd))\n .subscribe(() => {\n this.checkUrl();\n });\n }\n\n checkUrl(): void {\n const championRoutes = [Urls.CHAMPIONS, Urls.CHAMPION_ADMIN, Urls.CHAMPION_PROFILE, Urls.CHAMPION_TAB];\n this.isChampionPage = false;\n championRoutes.forEach((route) => {\n if (this.router.url.includes(route)) {\n this.isChampionPage = true;\n return;\n }\n });\n this.showSecondaryFooter = this.router.url.includes(Urls.LEARN_MORE);\n }\n}\n","
\n
\n

{{ 'SHARED.COMPONENTS.FOOTER.SECONDARY_FOOTER_TITLE' | translate }}

\n
\n
\n

\n {{ 'SHARED.COMPONENTS.FOOTER.SECONDARY_FOOTER_CONTENT' | translate }}\n

\n \n {{ 'SHARED.COMPONENTS.TOP_BAR.CONTACT' | translate }}\n \n
\n
\n
\n \n

{{ 'HOME.LEGAL.CHAMPION_DISCLOSURE.TITLE' | translate }}

\n

\n
\n \n
\n {{ 'SHARED.COMPONENTS.FOOTER.FOOTER_COPYRIGHT_V2' | translate: { year: year, companyName: companyName } | translateCut: 0 }}\n \n \n {{ 'SHARED.COMPONENTS.FOOTER.FOOTER_COPYRIGHT_V2' | translate: { year: year, companyName: companyName } | translateCut: 1 }}\n \n \n \n {{ 'SHARED.COMPONENTS.FOOTER.FOOTER_COPYRIGHT_V2' | translate: { year: year, companyName: companyName } | translateCut: 1 }}\n \n {{ 'SHARED.COMPONENTS.FOOTER.FOOTER_COPYRIGHT_V2' | translate: { year: year, companyName: companyName } | translateCut: 2 }}\n
\n
\n","import { Component, Input, OnInit } from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { Control } from 'src/app/_core/models/FormControls';\n\n@Component({\n selector: 'app-form-control-validation',\n templateUrl: './form-control-validation.component.html',\n styleUrls: ['./form-control-validation.component.scss'],\n})\nexport class FormControlValidationComponent implements OnInit {\n @Input() control: AbstractControl = null;\n @Input() basicControl: Control = null;\n\n ngOnInit(): void {}\n}\n","\n \n
{{ message.message }}
\n
\n
\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { Address } from 'ngx-google-places-autocomplete/objects/address';\nimport { FormControl } from '@angular/forms';\nimport { AddressComponentTypes } from '../../../_core/constants/GooglePlaces';\nimport Utils from '../../../_core/helpers/Utils';\nimport { CustomAddress } from '../../../_core/models/CustomAddress';\n\n@Component({\n selector: 'app-google-places',\n templateUrl: './google-places.component.html',\n styleUrls: ['./google-places.component.scss'],\n})\nexport class GooglePlacesComponent implements OnInit {\n @Input() streetAddress: boolean;\n @Input() fullAddress = null;\n @Output() addressChanged: EventEmitter = new EventEmitter();\n\n address: FormControl;\n\n constructor() {}\n\n ngOnInit(): void {\n this.address = new FormControl(this.fullAddress);\n }\n\n handleAddressChange(address: Address): void {\n const customAddress = new CustomAddress(\n Utils.getGooglePlacesData(address.address_components, [AddressComponentTypes.ROUTE])?.long_name,\n Utils.getGooglePlacesData(address.address_components, [AddressComponentTypes.STREET_NUMBER])?.long_name,\n Utils.getGooglePlacesData(address.address_components, [AddressComponentTypes.COUNTRY])?.long_name,\n Utils.getGooglePlacesData(address.address_components, [AddressComponentTypes.COUNTRY])?.short_name,\n Utils.getGooglePlacesData(address.address_components, [AddressComponentTypes.ADMINISTRATIVE_AREA_LEVEL_1])?.long_name,\n Utils.getGooglePlacesData(address.address_components, [\n AddressComponentTypes.LOCALITY,\n AddressComponentTypes.POSTAL_TOWN,\n AddressComponentTypes.SUBLOCALITY_LEVEL_1,\n AddressComponentTypes.ADMINISTRATIVE_AREA_LEVEL_1,\n ])?.long_name,\n address.geometry.location.lat(),\n address.geometry.location.lng(),\n null,\n address.formatted_address\n );\n const addressNotFound = this.streetAddress\n ? !customAddress.streetName || !customAddress.country || !customAddress.city\n : !customAddress.country || !customAddress.city;\n if (addressNotFound) {\n this.address.setErrors({ invalid: addressNotFound });\n }\n this.addressChanged.emit(customAddress);\n }\n}\n","\n \n Address couldn't provide enough data. Please try again.\n\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { ModalsService } from 'src/app/_core/services/modals.service';\nimport { UserTerm } from '../../../_core/constants/User';\n\n@Component({\n selector: 'app-legal',\n templateUrl: './legal.component.html',\n styleUrls: ['./legal.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class LegalComponent implements OnInit {\n term: UserTerm;\n isModal: boolean;\n\n // prettier-ignore\n constructor(\n private modalsService: ModalsService\n ) {}\n\n ngOnInit(): void {\n this.isModal = this.modalsService.params?.modal;\n this.term = this.modalsService.params?.term || UserTerm.CODE_OF_CONDUCT;\n }\n\n close(): void {\n this.modalsService.closeModal();\n }\n}\n","
\n \n
\n
\n
\n

{{ 'HOME.LEGAL.' + term + '.TITLE' | translate }}

\n
\n
\n
\n
\n
\n
\n \n
\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { LoaderService } from '../../../_core/services/loader.service';\nimport { Subscription } from 'rxjs';\nimport { LoaderData } from 'src/app/_core/models/Loader';\nimport { LOADER_TYPE } from 'src/app/_core/constants/Global/Loader';\n\n@Component({\n selector: 'app-loader',\n templateUrl: './loader.component.html',\n styleUrls: ['./loader.component.scss'],\n})\nexport class LoaderComponent implements OnInit, OnDestroy {\n @Input() isAuth: boolean = false;\n\n loading: boolean;\n loadingSub: Subscription;\n\n // prettier-ignore\n constructor(\n private loaderService: LoaderService,\n ) {\n }\n\n ngOnInit() {\n this.loadingSub = this.loaderService.loading$.subscribe((loaderData: LoaderData) => {\n if (loaderData.type === LOADER_TYPE.GLOBAL) {\n this.loading = loaderData.visible;\n }\n });\n }\n\n ngOnDestroy(): void {\n this.loadingSub.unsubscribe();\n }\n}\n","
\n \n
\n","import { ChangeDetectorRef, Component, Input, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { LOADER_TYPE } from 'src/app/_core/constants/Global/Loader';\nimport { LoaderData } from 'src/app/_core/models/Loader';\nimport { LoaderService } from 'src/app/_core/services/loader.service';\n\n@Component({\n selector: 'app-loading-spinner',\n templateUrl: './loading-spinner.component.html',\n styleUrls: ['./loading-spinner.component.scss'],\n})\nexport class LoadingSpinnerComponent implements OnInit, OnChanges, OnDestroy {\n @Input() forceLoading: boolean;\n @Input() small: boolean;\n\n loading: boolean;\n loadingSub: Subscription;\n\n // prettier-ignore\n constructor(\n private loaderService: LoaderService,\n private changeDetector: ChangeDetectorRef,\n ) {\n }\n\n ngOnInit(): void {\n this.loadingSub = this.loaderService.loading$.subscribe((loaderData: LoaderData) => {\n if (loaderData.type === LOADER_TYPE.LOCAL) {\n this.loading = loaderData.visible || this.forceLoading;\n this.changeDetector.detectChanges();\n }\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.forceLoading) {\n this.loading = this.forceLoading;\n }\n }\n\n ngOnDestroy(): void {\n this.loadingSub.unsubscribe();\n }\n}\n","
\n
\n
\n G\n I\n V\n I\n N\n G\n S\n P\n A\n C\n E\n
\n

{{ 'GENERAL.GENERIC_LABELS.LOADING' | translate }}

\n
\n
\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { NavigationData } from 'src/app/_core/models/GenericObject';\n\n@Component({\n selector: 'app-main-button',\n templateUrl: './main-button.component.html',\n styleUrls: ['./main-button.component.scss'],\n})\nexport class MainButtonComponent implements OnInit {\n @Input() navigationData?: NavigationData;\n @Input() isLink: boolean = false;\n @Input() addNewIcon: boolean = false;\n @Input() isDisabled: boolean = false;\n @Input() fullWidth: boolean = false;\n @Input() url?: string;\n @Input() text: string;\n @Input() order: number;\n\n @Output() clicked: EventEmitter = new EventEmitter();\n\n buttonId: string;\n\n constructor() {}\n\n ngOnInit(): void {\n this.buttonId = this.text.split('.').reverse()[0].toLowerCase() + (this.order ? `-${this.order}` : '');\n }\n}\n","
\n \n \n \"tab-icon\"\n {{ text | translate }}\n \n \n \n \n \"tab-icon\"\n {{ text | translate }}\n \n \n
\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport Urls from 'src/app/_core/constants/Urls';\nimport { GlobalConfigService } from '../../../_core/services/global-config.service';\n\n@Component({\n selector: 'app-maintenance',\n templateUrl: './maintenance.component.html',\n styleUrls: ['./maintenance.component.scss'],\n})\nexport class MaintenanceComponent implements OnInit {\n email: string;\n showPage: boolean;\n\n // prettier ignore\n constructor(private route: ActivatedRoute, private router: Router, private globalConfigService: GlobalConfigService) {\n this.route.queryParams.subscribe((params) => {\n if (!params.intercepted) {\n this.router.navigate([Urls.BASE]);\n } else {\n this.showPage = true;\n this.router.navigate([], { queryParams: {} });\n }\n });\n }\n\n ngOnInit(): void {\n this.email = this.globalConfigService.globalConfig?.adminEmail;\n }\n}\n","\n
\n \"maintenance\"\n

{{ 'SHARED.COMPONENTS.MAINTENANCE.TITLE' | translate }}

\n

\n
\n
\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { ModalsService } from '../../../_core/services/modals.service';\nimport { Modals } from '../../../_core/constants/Modals';\nimport { ToastrMessages } from '../../../_core/constants/ToastrMessages';\nimport { DOC_FORMATS, FileType, IMG_FORMATS, VIDEO_FORMATS } from '../../../_core/constants/FileType';\nimport Utils from '../../../_core/helpers/Utils';\nimport { Media } from 'src/app/_core/models/FormControls';\nimport { ToastService } from 'src/app/_core/services/toast.service';\n\n@Component({\n selector: 'app-media-info',\n templateUrl: './media-info.component.html',\n styleUrls: ['./media-info.component.scss'],\n})\nexport class MediaInfoComponent implements OnInit {\n @Input() media: Media;\n @Input() canPreview = true;\n @Input() shouldDisable = false;\n @Input() showPreview = false;\n @Output() deleteFile: EventEmitter = new EventEmitter();\n @Output() setCover: EventEmitter = new EventEmitter();\n\n video: boolean;\n displaySetCoverButton: boolean;\n shortName: string;\n fileType = FileType;\n\n // prettier-ignore\n constructor(\n private modalsService: ModalsService,\n private toastService: ToastService\n ) {\n }\n\n ngOnInit(): void {\n this.shortName = Utils.getFileName(this.media.fileName);\n this.checkFileTypes();\n }\n\n checkFileTypes(): void {\n switch (this.media.fileType) {\n case FileType.VIDEO:\n this.video = true;\n break;\n case FileType.PROJECT_IMAGE:\n case FileType.ORGANISATION_IMAGE:\n this.displaySetCoverButton = true;\n break;\n default:\n break;\n }\n }\n\n setAsCover(): void {\n this.setCover.emit();\n }\n\n delete(): void {\n this.deleteFile.emit();\n }\n\n previewDownload(): void {\n this.preview();\n }\n\n preview(): void {\n const extension: string = this.extractExtension();\n let fileType: FileType;\n if (extension) {\n if (IMG_FORMATS.indexOf(extension.toLowerCase()) > -1) {\n fileType = FileType.IMAGE;\n } else if (VIDEO_FORMATS.indexOf(extension.toLowerCase()) > -1) {\n fileType = FileType.VIDEO;\n } else if (DOC_FORMATS.indexOf(extension.toLowerCase()) > -1) {\n fileType = FileType.DOC;\n } else {\n this.toastService.error(ToastrMessages.NO_PREVIEW_FORMAT);\n return;\n }\n if (fileType === FileType.DOC) {\n Utils.navigate(this.media.url);\n } else {\n this.modalsService.openModal(Modals.MEDIA, { urls: [this.media.url], fileType });\n }\n }\n }\n\n extractExtension(): string {\n return this.media ? Utils.extractFileExtension(this.media.fileName) : null;\n }\n}\n","
\n \"\"\n
\n
\n
{{ shortName || media.fileName }}
\n
\n
\n \n {{ 'SHARED.COMPONENTS.FILE_CARD.SET_COVER' | translate }}\n \n \n \n
\n
\n
\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { ButtonType } from '../../../_core/constants/ButtonType';\n\n@Component({\n selector: 'app-next-prev-buttons',\n templateUrl: './next-prev-buttons.component.html',\n styleUrls: ['./next-prev-buttons.component.scss'],\n})\nexport class NextPrevButtonsComponent implements OnInit, OnChanges {\n @Input() selectedIndex: number;\n @Input() indexToHide = null;\n @Output() buttonClicked: EventEmitter = new EventEmitter();\n\n buttonTypes = ButtonType;\n\n constructor() {}\n\n ngOnInit(): void {}\n\n ngOnChanges(changes: SimpleChanges): void {\n this.selectedIndex = changes.selectedIndex.currentValue;\n }\n}\n","
\n \n {{ 'GENERAL.GENERIC_BUTTONS.PREV' | translate }}\n \n \n {{ 'GENERAL.GENERIC_BUTTONS.NEXT' | translate }}\n \n
\n","import { Component, Input, OnInit } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { GlobalConfigService } from '../../../_core/services/global-config.service';\n\n@Component({\n selector: 'app-no-items-found',\n templateUrl: './no-items-found.component.html',\n styleUrls: ['./no-items-found.component.scss'],\n})\nexport class NoItemsFoundComponent implements OnInit {\n @Input() item = null;\n @Input() subTitle = true;\n @Input() title: string = null;\n @Input() subTitleText: string = null;\n @Input() catalog = false;\n @Input() noPaddings = false;\n\n description: string;\n\n constructor(private translateService: TranslateService, private globalConfigService: GlobalConfigService) {}\n\n ngOnInit(): void {\n this.computeDescription();\n }\n\n computeDescription(): void {\n if (this.catalog) {\n this.translateService\n .get('SHARED.COMPONENTS.NO_ITEMS_FOUND.DESCRIPTION', { emailAddress: this.globalConfigService.globalConfig.adminEmail })\n .subscribe((res: string) => {\n this.description = res;\n });\n }\n }\n}\n","
\n
\n
\n \n
\n \n
{{ 'SHARED.COMPONENTS.NO_ITEMS_FOUND.CTA' | translate }}
\n
\n
\n \n \n
{{ title | translate }}
\n
{{ subTitleText | translate }}
\n
\n
\n \n \n
{{ 'SHARED.COMPONENTS.NO_ITEMS_FOUND.NO_ITEM_FOUND' | translate: { value: item } }}
\n
{{ 'SHARED.COMPONENTS.NO_ITEMS_FOUND.ADJUST_SEARCH_FILTER' | translate }}
\n
\n
\n
\n
\n","import { Component, Input, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport Urls from '../../../_core/constants/Urls';\n\n@Component({\n selector: 'app-error',\n templateUrl: './error.component.html',\n styleUrls: ['./error.component.scss'],\n})\nexport class ErrorComponent implements OnInit {\n @Input() errorStatus = 404;\n\n errorTitle: string;\n errorMessage: string;\n errorPic: string;\n\n // prettier-ignore\n constructor(\n private router: Router,\n private translateService: TranslateService\n ) {\n }\n\n ngOnInit(): void {\n this.translateService.get('SHARED.COMPONENTS.ERROR_COMP').subscribe((res: { [k: string]: string }) => {\n switch (this.errorStatus) {\n case 404:\n this.errorTitle = res['404_TITLE'];\n this.errorMessage = res['404_MESSAGE'];\n this.errorPic = 'https://fdi-files.s3.amazonaws.com/public/404.svg';\n break;\n case 401:\n this.errorTitle = res['401_TITLE'];\n this.errorMessage = res['401_MESSAGE'];\n this.errorPic = 'https://fdi-files.s3.amazonaws.com/public/401.svg';\n break;\n case 403:\n this.errorTitle = res['403_TITLE'];\n this.errorMessage = res['403_MESSAGE'];\n this.errorPic = 'https://fdi-files.s3.amazonaws.com/public/403.svg';\n break;\n case 500:\n this.errorTitle = res['500_TITLE'];\n this.errorMessage = res['500_MESSAGE'];\n this.errorPic = 'https://fdi-files.s3.amazonaws.com/public/404.svg';\n break;\n }\n });\n }\n\n goHome() {\n this.router.navigate([Urls.BASE]);\n }\n}\n","
\n
\n

{{ errorTitle }}

\n

{{ errorMessage }}

\n \"error-pic\"\n\n \n
\n
\n","import { Component, Input, OnInit } from '@angular/core';\nimport Utils from '../../../_core/helpers/Utils';\n\n@Component({\n selector: 'app-progress-bar',\n templateUrl: './progress-bar.component.html',\n styleUrls: ['./progress-bar.component.scss'],\n})\nexport class ProgressBarComponent implements OnInit {\n @Input() totalAmount: number;\n @Input() amountNeeded: number;\n @Input() currency: string;\n\n amountRaised: number;\n progress: number;\n start = '0';\n\n constructor() {}\n\n ngOnInit(): void {\n this.amountRaised = this.totalAmount - this.amountNeeded;\n this.setProgress();\n }\n\n setProgress() {\n this.progress = Utils.calculateFinancedPercent(this.amountRaised, this.totalAmount);\n if (this.progress > 100) {\n this.progress = 100;\n return;\n }\n if (this.progress < 0) {\n this.progress = 0;\n }\n }\n}\n","
\n \n
\n\n
\n
\n
\n \n \n \n
\n
\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { ProjectUpdate } from 'src/app/_core/models/ProjectUpdate';\nimport StorageHelper from 'src/app/_core/helpers/Storage.helper';\n\n@Component({\n selector: 'app-project-updates-carousel',\n templateUrl: './project-updates-carousel.component.html',\n styleUrls: ['./project-updates-carousel.component.scss'],\n})\nexport class ProjectUpdatesCarouselComponent implements OnInit {\n @Input() updates: ProjectUpdate[];\n @Input() showDelete = true;\n @Input() currency: string;\n @Output() delete: EventEmitter = new EventEmitter();\n @Output() loadMoreUpdates: EventEmitter = new EventEmitter();\n\n restricted = false; // TODO logic for restricted\n dateFormat: string;\n slideConfig = {\n slidesToShow: 1,\n slidesToScroll: 1,\n arrows: true,\n nextArrow: '
Next Update
',\n prevArrow: '
Previous Update
',\n adaptiveHeight: false,\n dots: true,\n speed: 650,\n focusOnSelect: true,\n pauseOnFocus: false,\n autoplay: false,\n lazyLoad: 'ondemand',\n };\n\n // prettier-ignore\n constructor(\n ) {\n }\n\n ngOnInit(): void {\n this.dateFormat = StorageHelper.getDateFormat();\n }\n\n slideChange(e) {\n if (this.updates?.length - e.currentSlide < 3) {\n this.loadMoreUpdates.emit();\n }\n }\n\n deleteUpdate(projectUuid) {\n this.delete.emit(projectUuid);\n }\n}\n","\n
\n
\n \n

\n {{ 'SHARED.COMPONENTS.PROJECT_UPDATES_CAROUSEL.REMAINING_FUNDS_TO_REACH_TARGET' | translate }}
\n \n \n \n

\n\n \n

{{ update.headline }}

\n \n
\n \n
\n \n
\n \n \n \"project-update-img\"\n \n
\n
\n
\n {{ 'SHARED.COMPONENTS.PROJECT_UPDATES_CAROUSEL.UPDATE_DATE' | translate }} {{ update.modificationDate | date: dateFormat }}\n
\n \n
\n
\n
\n
\n \n","import { Component, Input, OnInit } from '@angular/core';\nimport { Modals } from '../../../_core/constants/Modals';\nimport { ModalsService } from '../../../_core/services/modals.service';\n\n@Component({\n selector: 'app-read-more-button',\n templateUrl: './read-more-button.component.html',\n styleUrls: ['./read-more-button.component.scss'],\n})\nexport class ReadMoreButtonComponent implements OnInit {\n @Input() field: string;\n @Input() header: string;\n @Input() length: number;\n\n constructor(private modalsService: ModalsService) {}\n\n ngOnInit(): void {}\n\n openModal(): void {\n this.modalsService.openModal(Modals.STORY, { story: this.field, header: this.header });\n }\n}\n","
\n \n
\n","import { Component, OnInit } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { GlobalConfigService } from '../../../_core/services/global-config.service';\n\n@Component({\n selector: 'app-restricted-area',\n templateUrl: './restricted-area.component.html',\n styleUrls: ['./restricted-area.component.scss'],\n})\nexport class RestrictedAreaComponent implements OnInit {\n text: string;\n\n // prettier-ignore\n constructor(\n private translateService: TranslateService,\n private globalConfigService: GlobalConfigService\n ) {\n }\n\n ngOnInit(): void {\n this.computeText();\n }\n\n computeText(): void {\n this.translateService\n .get('SHARED.COMPONENTS.RESTRICTED_AREA.MESSAGE', { email: this.globalConfigService.globalConfig.adminEmail })\n .subscribe((res: string) => {\n this.text = res;\n });\n }\n}\n","
\n \n
\n

\n
\n
\n","import { Component, OnInit, HostListener } from '@angular/core';\n\n@Component({\n selector: 'app-scroll-top',\n templateUrl: './scroll-top.component.html',\n styleUrls: ['./scroll-top.component.scss'],\n})\nexport class ScrollTopComponent implements OnInit {\n windowScrolled: boolean;\n\n constructor() {}\n\n @HostListener('window:scroll', [])\n onWindowScroll() {\n if (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop > 100) {\n this.windowScrolled = true;\n } else if ((this.windowScrolled && window.pageYOffset) || document.documentElement.scrollTop || document.body.scrollTop < 10) {\n this.windowScrolled = false;\n }\n }\n\n scrollToTop() {\n (function smoothscroll() {\n const currentScroll = document.documentElement.scrollTop || document.body.scrollTop;\n if (currentScroll > 0) {\n window.requestAnimationFrame(smoothscroll);\n window.scrollTo(0, currentScroll - currentScroll / 8);\n }\n })();\n }\n\n ngOnInit(): void {}\n}\n","
\n \n
\n","import { Component, EventEmitter, Input, Output, ViewChild, ElementRef, OnInit, ChangeDetectorRef, OnDestroy } from '@angular/core';\nimport Urls from '../../../_core/constants/Urls';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { PageFilters } from 'src/app/_core/models/filters/Filters';\nimport { Subscription, filter } from 'rxjs';\nimport { BreakpointObserver } from '@angular/cdk/layout';\n\n@Component({\n selector: 'app-search-bar',\n templateUrl: './search-bar.component.html',\n styleUrls: ['./search-bar.component.scss'],\n})\nexport class SearchBarComponent implements OnInit, OnDestroy {\n @Input() searchText: string = null;\n @Input() globalSearch: boolean = false;\n @Input() filterMenu: PageFilters;\n @Output() searchEvent: EventEmitter = new EventEmitter();\n @Output() onInput: EventEmitter = new EventEmitter();\n @Output() onInputFocus: EventEmitter = new EventEmitter();\n @ViewChild('searchInput') searchInput: ElementRef;\n\n subscriptions = new Subscription();\n opened: boolean;\n active: boolean;\n inputFocused: boolean;\n mouseInside: boolean;\n inputValue: string;\n placeholder: string;\n\n // prettier-ignore\n constructor(\n private router: Router,\n private ref: ChangeDetectorRef,\n private breakpointObserver: BreakpointObserver\n ) {\n }\n\n ngOnInit(): void {\n this.inputValue = this.filterMenu?.searchText ? this.filterMenu?.searchText : '';\n if (this.inputValue.length) {\n this.opened = true;\n this.active = true;\n this.inputFocused = true;\n }\n if (this.globalSearch) {\n this.opened = true;\n }\n this.setPlaceholder();\n this.setSubscriptions();\n }\n\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n\n setSubscriptions(): void {\n if (!this.globalSearch) {\n this.subscriptions.add(\n this.breakpointObserver.observe(['(max-width: 415px)']).subscribe((result) => {\n this.opened = result.matches;\n })\n );\n } else {\n this.subscriptions.add(\n this.router.events.pipe(filter((value) => value instanceof NavigationEnd)).subscribe((value: NavigationEnd) => {\n if (!value.url.includes(Urls.SEARCH_RESULTS)) this.inputValue = '';\n })\n );\n }\n }\n\n setPlaceholder(): void {\n const urlSegments = this.router.url.split('?')[0].split('/');\n const module = urlSegments[2];\n const page = urlSegments.reverse()[0];\n switch (module) {\n case Urls.SETTINGS:\n switch (page) {\n case Urls.ORGANIZATIONS:\n this.placeholder = 'SEARCH_ORGANISATION';\n break;\n case Urls.USERS_PERMISSIONS:\n this.placeholder = 'SEARCH_USER';\n break;\n default:\n this.placeholder = 'SEARCH';\n break;\n }\n break;\n case Urls.CATALOG:\n switch (page) {\n case Urls.ORGANIZATIONS:\n this.placeholder = 'SEARCH_ORGANISATION';\n break;\n case Urls.PROJECTS:\n this.placeholder = 'SEARCH_PROJECT';\n break;\n default:\n this.placeholder = 'SEARCH';\n break;\n }\n break;\n case Urls.GROUPS:\n switch (page) {\n case Urls.GROUPS:\n this.placeholder = 'SEARCH_GROUP';\n break;\n case Urls.ANNOUNCEMENTS_AND_UPDATES:\n this.placeholder = 'SEARCH_ANNOUNCEMENT';\n break;\n case Urls.PROJECTS_DISCUSSED:\n this.placeholder = 'SEARCH_PROJECT';\n break;\n case Urls.ORGANISATIONS_DISCUSSED:\n this.placeholder = 'SEARCH_ORGANISATION';\n break;\n case Urls.MEMBERS:\n this.placeholder = 'SEARCH_USER';\n break;\n case Urls.DOCUMENTS:\n this.placeholder = 'SEARCH_DOCUMENT';\n break;\n default:\n this.placeholder = 'SEARCH';\n break;\n }\n break;\n default:\n this.placeholder = 'SEARCH';\n break;\n }\n }\n\n onSearchButtonClicked(): void {\n if (!this.opened) {\n this.opened = true;\n this.ref.detectChanges();\n this.searchInput?.nativeElement.focus();\n } else {\n this.search();\n }\n }\n\n search(): void {\n if (typeof this.inputValue === 'string' && this.inputValue !== this.filterMenu?.searchText) {\n if (this.filterMenu) {\n this.filterMenu.searchText = this.inputValue;\n }\n this.searchEvent.emit(this.inputValue);\n this.searchInput.nativeElement.blur();\n }\n }\n\n onFocus(): void {\n this.inputFocused = true;\n this.active = true;\n this.onInputFocus.emit();\n }\n\n onBlur(): void {\n setTimeout(() => {\n if (this.opened && !this.inputValue && !this.globalSearch) {\n this.opened = false;\n this.active = false;\n this.inputFocused = false;\n this.inputValue = '';\n this.search();\n } else if (this.inputValue && this.mouseInside) {\n this.inputFocused = false;\n } else if (!this.mouseInside) {\n this.inputFocused = false;\n this.active = false;\n }\n }, 50);\n }\n\n toggleActive(hover: boolean): void {\n if (hover) {\n this.active = true;\n this.mouseInside = true;\n } else {\n if (!this.inputFocused) {\n this.active = false;\n this.mouseInside = false;\n } else {\n this.mouseInside = false;\n }\n }\n }\n\n clear(): void {\n this.inputValue = '';\n if (this.filterMenu?.searchText) {\n this.search();\n }\n this.searchInput.nativeElement.focus();\n }\n}\n","\n
\n \n
\n \n \n \n
\n
\n
\n
\n \n
\n\n\n
\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';\nimport { Observable, map, of, startWith } from 'rxjs';\nimport { COMMA, ENTER } from '@angular/cdk/keycodes';\nimport { FormControl } from '@angular/forms';\n\n@Component({\n selector: 'app-search-entity-multi-select',\n templateUrl: './search-entity-multi-select.component.html',\n styleUrls: ['./search-entity-multi-select.component.scss'],\n})\nexport class SearchEntityMultiSelectComponent implements OnInit {\n @Input() list: any[] = [];\n @Input() set addToListItem(value: any) {\n if (value) {\n // add to main list\n this.list.push(value);\n this.filteredList = of(this.list);\n\n // remove from the selected items\n const index = this.selectedItems.indexOf(value);\n this.selectedItems.splice(index, 1);\n }\n }\n @Output() onSelectedItemChanged = new EventEmitter();\n\n searchCtrl = new FormControl();\n visible = true;\n selectable = true;\n removable = true;\n addOnBlur = false;\n separatorKeysCodes: number[] = [ENTER, COMMA];\n filteredList: Observable;\n selectedItems: any[] = [];\n\n @ViewChild('searchInput') searchInput: ElementRef;\n\n constructor() {\n this.filteredList = this.searchCtrl.valueChanges.pipe(\n startWith(null),\n map((item: any | null) => (item ? this._filter(item) : this.list.slice()))\n );\n }\n\n ngOnInit(): void {}\n\n remove(item: any): void {\n const index = this.selectedItems.indexOf(item);\n if (index >= 0) {\n this.list.push(item);\n this.filteredList = of(this.list);\n this.selectedItems.splice(index, 1);\n this.onSelectedItemChanged.emit(this.selectedItems);\n }\n }\n\n selected(event: MatAutocompleteSelectedEvent): void {\n this.selectedItems.push(event.option.value);\n this.searchInput.nativeElement.value = '';\n this.list = this.list.filter((item) => item.uuid !== event.option.value.uuid);\n this.searchCtrl.setValue(null);\n this.onSelectedItemChanged.emit(this.selectedItems);\n }\n\n private _filter(value: any): string[] {\n const filterValue = typeof value === 'string' ? value?.toLowerCase() : value?.name?.toLowerCase();\n return this.list.filter((item) => item?.name?.toLowerCase().indexOf(filterValue) === 0);\n }\n}\n","\n \n \n {{ selectedItem?.name }}\n \n \n \n \n \n \n {{ filteredItem?.name }}\n \n \n\n","import { ChangeDetectorRef, Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { catchError, debounceTime, filter, switchMap, tap } from 'rxjs/operators';\nimport { EntityType } from '../../../_core/constants/CompanyOrFirm';\nimport { of } from 'rxjs';\nimport { UUIDName } from '../../../_core/models/GenericObject';\nimport { AdminService } from '../../../_core/api/admin.service';\nimport { ControlError } from 'src/app/_core/models/FormControls';\nimport { UserService } from 'src/app/_core/services/user.service';\nimport { Role } from 'src/app/_core/constants/User';\nimport { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';\n\n@Component({\n selector: 'app-search-entity',\n templateUrl: './search-entity.component.html',\n styleUrls: ['./search-entity.component.scss'],\n})\nexport class SearchEntityComponent implements OnInit, OnChanges {\n @Input() label: string;\n @Input() entityType: EntityType = EntityType.ORGANIZATION;\n @Input() control: FormControl;\n @Input() suffixIcon: string;\n @Input() required = true;\n @Input() errors: ControlError[] = [];\n @Input() entityValue: UUIDName;\n\n @Output() searchRequest = new EventEmitter();\n @Output() optionSelected = new EventEmitter();\n\n searchResults: UUIDName[] = [];\n isSuperAdmin: boolean;\n canSearch: boolean;\n\n // prettier-ignore\n constructor(\n private adminService: AdminService,\n private userService: UserService,\n private ref: ChangeDetectorRef\n ) {\n }\n\n ngOnInit(): void {\n if (this.userService.currentUser.role === Role.SUPER_ADMIN || this.userService.currentUser.role === Role.FOUNDATION_ADMIN) {\n this.isSuperAdmin = true;\n if (this.entityValue) {\n this.prefillInput(this.entityValue);\n } else {\n this.handleEntityChange();\n }\n } else {\n this.prefillInput(this.userService.currentUser.entityDto);\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.label?.currentValue) {\n this.label = changes.label.currentValue;\n }\n\n if (changes.entityType?.currentValue) {\n this.entityType = changes.entityType.currentValue;\n }\n\n if (changes.required?.currentValue || changes.required?.currentValue === false) {\n this.required = changes.required.currentValue;\n }\n }\n\n handleEntityChange(): void {\n this.control.valueChanges\n .pipe(\n filter((value) => {\n if (typeof value === 'object' && value) {\n this.canSearch = true;\n return false;\n }\n this.canSearch = false;\n return typeof value === 'string' && value.trim().length > 0;\n }),\n debounceTime(500),\n tap(() => (this.searchResults = [])),\n switchMap((value: string) => this.adminService.getEntities(this.entityType, value).pipe(catchError((err) => of(err))))\n )\n .subscribe((res) => {\n this.searchResults = res?.response || [];\n this.ref.detectChanges();\n });\n }\n\n prefillInput(value: UUIDName): void {\n this.control.setValue(value);\n this.control.disable();\n }\n\n displayFn(item?: UUIDName): string | undefined {\n return item?.name;\n }\n\n emitSearch(event: any) {\n if (this.canSearch) {\n this.searchRequest.emit(event);\n }\n }\n\n emitOptionSelected(event: MatAutocompleteSelectedEvent): void {\n this.searchResults = [];\n this.optionSelected.emit(event.option.value);\n }\n}\n","
\n \n \n \n \n {{ suffixIcon }}\n \n \n {{ item.name }}\n \n \n \n {{ err.text | translate }}\n \n \n \n
\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-shared-buttons',\n templateUrl: './shared-buttons.component.html',\n styleUrls: ['./shared-buttons.component.scss'],\n})\nexport class SharedButtonsComponent implements OnInit {\n @Input() shareLink: string;\n @Input() linkTitle: string = '';\n\n includedSocialMedia: string[] = ['facebook', 'linkedin', 'twitter', 'copy'];\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","\n\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { SortOptionFilter } from '../../../_core/models/filters/Filters';\n\n@Component({\n selector: 'app-sort-by',\n templateUrl: './sort-by.component.html',\n styleUrls: ['./sort-by.component.scss'],\n})\nexport class SortByComponent {\n @Input() sortByOptions: SortOptionFilter[];\n @Input() showText = true;\n @Output() triggerRequest = new EventEmitter();\n\n constructor() {}\n\n selectOption(sort: SortOptionFilter, toggle = false) {\n this.deselectPrevious(sort);\n if (toggle) {\n sort.order = sort.order === 'ASC' ? 'DESC' : 'ASC';\n }\n sort.checked = true;\n this.triggerRequest.emit();\n }\n\n deselectPrevious(sort: SortOptionFilter) {\n this.sortByOptions.forEach((i) => {\n if (i !== sort) {\n i.checked = false;\n i.order = 'ASC';\n }\n });\n }\n}\n","
\n \n
\n\n \n
\n \n \n \n \n
\n
\n
\n","import { Component, Input } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport Quill from 'quill';\n\n@Component({\n selector: 'app-text-editor',\n templateUrl: './text-editor.component.html',\n styleUrls: ['./text-editor.component.scss'],\n})\nexport class TextEditorComponent {\n @Input() updateControl: FormControl;\n @Input() uuid: string;\n @Input() placeholder: string;\n\n @Input() formats = [\n 'background',\n 'bold',\n 'color',\n 'font',\n 'italic',\n 'link',\n 'size',\n 'strike',\n 'script',\n 'underline',\n 'blockquote',\n 'header',\n 'indent',\n 'list',\n 'align',\n 'direction',\n 'image',\n 'video',\n ];\n\n @Input() modules = {\n toolbar: [\n ['bold', 'italic', 'underline', 'strike'],\n ['blockquote', 'code-block'],\n [{ list: 'ordered' }, { list: 'bullet' }],\n [{ header: [1, 2, 3, 4, 5, 6, false] }],\n [{ color: [] }, { background: [] }],\n ['link'],\n ['clean'],\n ],\n };\n\n // prettier-ignore\n constructor() {}\n\n editorCreated(quill: Quill): void {\n quill.clipboard.addMatcher('IMG', () => {\n const Delta = Quill.import('delta');\n return new Delta().insert('');\n });\n quill.clipboard.addMatcher('PICTURE', () => {\n const Delta = Quill.import('delta');\n return new Delta().insert('');\n });\n quill.clipboard.addMatcher('VIDEO', () => {\n const Delta = Quill.import('delta');\n return new Delta().insert('');\n });\n }\n}\n","\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport { AfterViewInit, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { GroupUpdates } from 'src/app/_core/models/Group';\nimport Utils from 'src/app/_core/helpers/Utils';\nimport { FileType } from 'src/app/_core/constants/FileType';\nimport StorageHelper from 'src/app/_core/helpers/Storage.helper';\n\n@Component({\n selector: 'app-update-card',\n templateUrl: './update-card.component.html',\n styleUrls: ['./update-card.component.scss'],\n})\nexport class UpdateCardComponent implements OnInit, OnDestroy, AfterViewInit {\n @ViewChild('content') paragraphContent: ElementRef;\n\n canGoBack: boolean;\n isTablet: boolean;\n breakpointSubscription: Subscription;\n contentLength: number = 0;\n showMoreContent: boolean = false;\n isMoreContent: boolean = false;\n dateFormat: string;\n @Input() groupUpdate: GroupUpdates;\n @Input() updateList: boolean = false;\n @Input() isAdmin: boolean = false;\n\n @Output() deleteUpdateEmit: EventEmitter = new EventEmitter();\n @Output() editUpdateEmit: EventEmitter = new EventEmitter();\n\n constructor(private breakpointObserver: BreakpointObserver, private ref: ChangeDetectorRef) {\n this.breakpointSubscription = this.breakpointObserver.observe(['(max-width: 991px)']).subscribe((result) => {\n this.isTablet = result.matches;\n });\n }\n\n ngOnInit(): void {\n this.dateFormat = StorageHelper.getDateFormat();\n }\n\n ngOnDestroy(): void {\n this.breakpointSubscription.unsubscribe();\n }\n\n ngAfterViewInit(): void {\n this.contentLength = this.paragraphContent.nativeElement.innerText.length;\n this.isMoreContent = this.contentLength > 405;\n this.ref.detectChanges();\n }\n\n readMoreOrLess() {\n this.showMoreContent = !this.showMoreContent;\n }\n\n previewDocument(document): void {\n if (Utils.checkFileType(document.fileName, document.type, FileType.DOC)) {\n Utils.navigate(document.url, '_blank');\n }\n }\n}\n","\n
\n
\n
\n \n
\n
\n
\n

\n {{ groupUpdate.createdByName }}\n   \n

\n |\n

\n   \n {{ groupUpdate.createdByTitle }}\n

\n
\n
\n

\n {{ 'GROUPS.GROUP_UPDATES.LABELS.UPDATE_POST_TIME' | translate: { dateTime: groupUpdate.uploadTimestamp | date: dateFormat } }}\n

\n
\n
\n
\n
\n \n \n \n \n \n \n \n
\n
\n \n

{{ groupUpdate.title }}

\n

\n {{ (showMoreContent ? 'GENERAL.GENERIC_BUTTONS.READ_LESS' : 'GENERAL.GENERIC_BUTTONS.READ_MORE') | translate }}...\n

\n
{{ 'GROUPS.GROUP_UPDATES.LABELS.DOCUMENTS_OF_THIS_ANNOUNCEMENT' | translate }}\n

\n\n
\n \n
\n \n

\n {{ document.filename }}\n

\n
\n
\n
\n\n \n
\n
\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-upload-progress-bar',\n templateUrl: './upload-progress-bar.component.html',\n styleUrls: ['./upload-progress-bar.component.scss'],\n})\nexport class UploadProgressBarComponent implements OnInit {\n @Input() pending: number | boolean;\n @Input() progress: number;\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","
\n
{{ progress }}%
\n
\n
\n
\n
\n","import { Directive, ElementRef, Input, OnInit } from '@angular/core';\n\n@Directive({\n selector: '[appBoldedTitle]',\n})\nexport class BoldedTitleDirective implements OnInit {\n @Input() text: string;\n @Input() lastOfArray: boolean;\n\n constructor(private el: ElementRef) {}\n\n ngOnInit() {\n this.setCategories();\n }\n\n setCategories(): void {\n let boldedTitleText: string = this.text;\n if (this.text.indexOf(':') >= 0) {\n boldedTitleText = `${this.text.split(':')[0]}: ${this.text.split(':')[1]}`;\n }\n let separator = this.lastOfArray ? '' : ',  ';\n boldedTitleText += separator;\n this.el.nativeElement.innerHTML = boldedTitleText;\n }\n}\n","import { AfterContentInit, ContentChild, Directive, QueryList, ViewContainerRef } from '@angular/core';\nimport { MatAutocompleteTrigger } from '@angular/material/autocomplete';\nimport { MatChip, MatChipList } from '@angular/material/chips';\n\n/**\n * This directive fixes the Material Chip List Autocomplete issue where if you click an option in the autocomplete menu,\n * the panel doesn't return unless you click out and click back in again.\n *\n * Keaton Burleson\n */\n@Directive({\n selector: '[chipListAutocomplete]',\n})\nexport class ChipListAutocompleteDirective implements AfterContentInit {\n // Use ContentChild decorator to get the MatAutocomplete component and the MatAutoCompleteTrigger component\n @ContentChild(MatChipList) chipList: MatChipList;\n @ContentChild(MatAutocompleteTrigger, { read: MatAutocompleteTrigger }) input: MatAutocompleteTrigger;\n\n // Keep track of the raw input inside of the MatFormField\n private rawInput: HTMLInputElement;\n private chipCount = 0;\n\n /**\n * Constructor\n *\n * @param _viewContainerRef - We need this to fetch the raw input element from inside of the MatFormField\n */\n constructor(private _viewContainerRef: ViewContainerRef) {}\n\n /**\n * This function runs after the content has been displayed.\n * This is important to make sure all the DOM rendering is finished for the Material components\n */\n ngAfterContentInit(): void {\n if (!this.rawInput) {\n // Query our input element directly\n this.rawInput = this._viewContainerRef.element.nativeElement.querySelector('input');\n }\n\n // Watch for changes on the Chip List\n this.chipList.chips.changes.subscribe((changes: QueryList) => {\n const currentChipCount = changes.length;\n\n // Check if we're adding or removing a chip to toggle input\n if (currentChipCount < this.chipCount || currentChipCount > this.chipCount) {\n this.toggleInput();\n }\n\n // Update chip count\n this.chipCount = currentChipCount;\n });\n }\n\n /**\n * This function sets the search value of the autocomplete to a blank string then opens the panel again\n *\n * @private\n */\n private toggleInput() {\n if (!!this.input && !!this.rawInput) {\n this.rawInput.value = '';\n\n // NOTE: setTimeout() is required to trigger a change quickly in e DOM\n setTimeout(() => this.input.openPanel(), 0);\n return;\n }\n }\n}\n","import { Directive, ElementRef, EventEmitter, forwardRef, HostListener, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { MAT_INPUT_VALUE_ACCESSOR } from '@angular/material/input';\nimport { InputNumberFormatterOptions } from 'src/app/_core/models/FormControls';\n\n@Directive({\n selector: 'input[formatNumberInput]',\n providers: [\n { provide: MAT_INPUT_VALUE_ACCESSOR, useExisting: FormatNumberInput },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FormatNumberInput),\n multi: true,\n },\n ],\n})\nexport class FormatNumberInput implements ControlValueAccessor, OnInit, OnChanges {\n @Input() options: InputNumberFormatterOptions = {\n allowNegative: true,\n min: -999999999999999,\n max: 999999999999999,\n allowDecimals: true,\n maxDecimals: 2,\n };\n @Output() onStateChange = new EventEmitter();\n\n decimalMarker: string = '.';\n thousandsSeparator: string = ',';\n outOfBounds: boolean = false;\n\n constructor(private element: ElementRef) {}\n\n @Input('value')\n set value(value: string | null) {\n this.formatValue(value);\n }\n\n @HostListener('input', ['$event.target.value'])\n input(value) {\n this.formatValue(value);\n }\n\n ngOnInit() {\n this.updateOptions();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.options = { ...changes.options?.currentValue };\n this.updateOptions();\n this.formatValue(this.element.nativeElement.value, false);\n }\n\n updateOptions(): void {\n this.options.allowNegative = this.options.allowNegative !== undefined ? this.options.allowNegative : true;\n this.options.allowDecimals = this.options.allowDecimals !== undefined ? this.options.allowDecimals : true;\n this.options.max = this.options.max !== undefined ? this.options.max : 999999999999999;\n this.options.min = this.options.min !== undefined ? this.options.min : -999999999999999;\n this.options.maxDecimals = this.options.maxDecimals !== undefined ? this.options.maxDecimals : 2;\n }\n\n writeValue(value: any) {\n this.formatValue(value);\n }\n\n registerOnChange(fn: (value: any) => void) {\n this._onChange = fn;\n }\n\n // set the value of the formControl\n _onChange(_value: any): void {}\n\n //trigger the validators\n _onTouched(): void {\n this.onStateChange.emit();\n }\n\n registerOnTouched(fn: any) {\n this._onTouched = fn;\n }\n\n filterValue(value: string): string {\n const filteredStringValue = value\n .split(this.thousandsSeparator)\n .join('')\n .split('')\n .filter((char, index, arr) => {\n return this.options.allowNegative\n ? index === 0 || arr[index - 1] === ' '\n ? /\\d/.test(char) || char === '-'\n : /\\d/.test(char) || char === this.decimalMarker\n : /\\d/.test(char) || char === this.decimalMarker;\n })\n .join('');\n\n return ((parseInt(filteredStringValue) >= this.options.max || parseInt(filteredStringValue) <= this.options.min) &&\n filteredStringValue[filteredStringValue.length - 1] === this.decimalMarker) ||\n (filteredStringValue[0] === '-' && filteredStringValue[1] === this.decimalMarker)\n ? filteredStringValue.substring(0, filteredStringValue.length - 1)\n : filteredStringValue;\n }\n\n checkOutOfBounds(value: number): string {\n if (value > this.options.max) {\n this.outOfBounds = true;\n return this.options.max.toString();\n } else if (value < this.options.min) {\n this.outOfBounds = true;\n return `${this.options.min.toString()}`;\n } else {\n return value.toString();\n }\n }\n\n private formatValue(value: string | number | null, touch: boolean = true) {\n this.outOfBounds = false;\n if (value === null || value === undefined || Number.isNaN(value)) {\n this.element.nativeElement.value = null;\n if (touch) {\n this._onChange(null);\n this._onTouched();\n }\n return;\n }\n let inputValue: string = this.filterValue(value.toString());\n let [integer, decimal] = inputValue.split(this.decimalMarker);\n inputValue = isNaN(parseInt(integer))\n ? integer.replace(/\\B(?=(\\d{3})+(?!\\d))/g, this.thousandsSeparator)\n : this.checkOutOfBounds(parseInt(integer)).replace(/\\B(?=(\\d{3})+(?!\\d))/g, this.thousandsSeparator);\n\n if (this.options.allowDecimals && decimal?.length >= 0 && !this.outOfBounds) {\n inputValue = inputValue.concat(this.decimalMarker, decimal.substring(0, this.options.maxDecimals));\n }\n\n this.element.nativeElement.value = this.options.prefix ? `${this.options.prefix} ${inputValue}` : inputValue;\n\n if (touch) {\n this._onChange(parseFloat(inputValue.split(',').join('')));\n this._onTouched();\n }\n }\n}\n","import { Directive, Output, EventEmitter, ElementRef, NgZone, Inject, OnInit, OnDestroy } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { environment } from '../../../environments/environment';\n\n@Directive({\n selector: '[appRecaptcha]',\n})\nexport class RecaptchaDirective implements OnInit, OnDestroy {\n @Output() recaptchaSuccess = new EventEmitter();\n @Output() recaptchaExpired = new EventEmitter();\n @Output() recaptchaError = new EventEmitter();\n\n private readonly scriptId = 'recaptcha';\n widgetId: number;\n\n constructor(private elementRef: ElementRef, private ngZone: NgZone, @Inject(DOCUMENT) private readonly dom: Document) {}\n\n ngOnInit(): void {\n this.registerCaptchaCallback();\n this.addScript();\n }\n\n ngOnDestroy(): void {\n this.widgetId = null;\n }\n\n private registerCaptchaCallback(): void {\n (window as any).recaptchaCallback = () => {\n const config = {\n sitekey: environment.recaptchaApiKey,\n callback: this.onSuccessCallback.bind(this),\n 'error-callback': this.onErrorCallback.bind(this),\n 'expired-callback': this.onExpiredCallback.bind(this),\n };\n this.widgetId = this.renderCaptcha(config);\n };\n }\n\n private addScript(): void {\n const script = this.dom.createElement('script');\n script.src = 'https://www.google.com/recaptcha/enterprise.js?onload=recaptchaCallback&render=explicit';\n script.id = this.scriptId;\n script.async = true;\n script.defer = true;\n this.dom.body.appendChild(script);\n }\n\n private onSuccessCallback(token: string): void {\n this.ngZone.run(() => {\n this.recaptchaSuccess.emit(token);\n });\n }\n\n private onErrorCallback(): void {\n this.ngZone.run(() => {\n this.recaptchaError.emit();\n });\n }\n\n private onExpiredCallback(): void {\n this.ngZone.run(() => {\n this.recaptchaExpired.emit();\n });\n }\n\n private renderCaptcha(config: any): number {\n return (window as any).grecaptcha.enterprise.render(this.elementRef.nativeElement, config);\n }\n}\n","import { style, animate, AnimationMetadata, AnimationPlayer, AnimationBuilder } from '@angular/animations';\nimport { DOCUMENT } from '@angular/common';\nimport { Directive, ElementRef, Inject, OnInit } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { fromEvent, skip } from 'rxjs';\nimport { throttleTime, map, pairwise, distinctUntilChanged, share, filter } from 'rxjs/operators';\n\n@Directive({\n selector: '[appStickyElement]',\n})\nexport class StickyHeaderDirective implements OnInit {\n private player: AnimationPlayer;\n\n // prettier-ignore\n constructor(\n private el: ElementRef,\n private builder: AnimationBuilder,\n private router: Router,\n @Inject(DOCUMENT) private document: Document,\n ) {}\n\n ngOnInit(): void {\n this.router.events.subscribe((event) => (event instanceof NavigationEnd ? this.show(true, false) : null));\n\n const scroll$ = fromEvent(this.document.defaultView, 'scroll').pipe(\n throttleTime(10),\n map(() => this.document.defaultView.scrollY),\n pairwise(),\n map(([y1, y2]): Direction => (this.isScrolledOutsideViewport() ? (y2 < y1 ? Direction.Up : Direction.Down) : Direction.Up)),\n distinctUntilChanged(),\n share()\n );\n\n const scrollUp$ = scroll$.pipe(\n skip(1),\n filter((direction) => direction === Direction.Up)\n );\n\n const scrollDown$ = scroll$.pipe(filter((direction) => direction === Direction.Down));\n\n scrollUp$.subscribe(() => this.show(true));\n scrollDown$.subscribe(() => this.show(false));\n }\n\n private show(show: boolean, animation: boolean = true) {\n if (this.player) {\n this.player.destroy();\n }\n\n const metadata = show ? this.slideIn(animation) : this.slideOut(animation);\n\n const factory = this.builder.build(metadata);\n const player = factory.create(this.el.nativeElement);\n\n player.play();\n }\n\n private slideIn(animation: boolean): AnimationMetadata[] {\n return animation\n ? [style({ opacity: 0, transform: 'translateY(-100%)' }), animate('300ms ease-in', style({ opacity: 1, transform: 'translateY(0)' }))]\n : [style({ opacity: 1, transform: 'translateY(0)' })];\n }\n\n private slideOut(animation: boolean): AnimationMetadata[] {\n return animation\n ? [style({ opacity: 1, transform: 'translateY(0)' }), animate('300ms ease-in', style({ opacity: 0, transform: 'translateY(-100%)' }))]\n : [style({ opacity: 0, transform: 'translateY(-100%)' })];\n }\n\n private isScrolledOutsideViewport() {\n return this.document.documentElement.scrollTop >= (this.document.defaultView.innerHeight || this.document.documentElement.clientHeight);\n }\n}\n\nenum Direction {\n Up = 'Up',\n Down = 'Down',\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'boldSubString',\n})\nexport class BoldSubstringPipe implements PipeTransform {\n transform(value: string, subString: string): string {\n if (!subString) return value;\n const subStringStartPosition: number = value.toLowerCase().indexOf(subString.toLowerCase());\n const subStringEndPosition: number = subStringStartPosition + subString.length;\n if (subStringStartPosition < 0 || subStringEndPosition < 0) return value;\n const preBoldText: string = subStringStartPosition ? value.slice(0, subStringStartPosition) : '';\n const postBoldText: string = subStringEndPosition !== value.length ? value.slice(subStringEndPosition, value.length) : '';\n return `${preBoldText}${value.slice(subStringStartPosition, subStringEndPosition)}${postBoldText}`;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'cutSeparator',\n})\nexport class CutSeparatorPipe implements PipeTransform {\n transform(value: string): string {\n return value.replaceAll('||', '');\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'enumToString',\n})\nexport class EnumToStringPipe implements PipeTransform {\n transform(value: string): string {\n return value && value.length ? value.split('_').join(' ') : '';\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'extractArrayFromObject',\n})\nexport class ExtractArrayFromObjectPipe implements PipeTransform {\n transform(value: any, fieldToExtract: string): unknown {\n return value.hasOwnProperty(fieldToExtract) ? value[fieldToExtract] : [];\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'filterOrFind',\n})\nexport class FilterPipe implements PipeTransform {\n transform(value: any[], field: string, valueToSearch: any, find: boolean): unknown {\n const predicate = field ? (item) => item[field] === valueToSearch : (item) => item === valueToSearch;\n return value.length ? (find ? value.find(predicate) : value.filter(predicate)) : [];\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { CustomAddress } from 'src/app/_core/models/CustomAddress';\nimport { GlobalConfigService } from 'src/app/_core/services/global-config.service';\n\n@Pipe({\n name: 'formatAddress',\n})\nexport class FormatAddressPipe implements PipeTransform {\n constructor(private globalConfigSvc: GlobalConfigService) {}\n\n transform(address: CustomAddress): string {\n let formattedAddress = '';\n const addressFormat = this.globalConfigSvc.globalConfig.addressFormat as unknown as string[];\n\n for (let index = 0; index < addressFormat.length; index++) {\n const selectedAddressFormat = addressFormat[index];\n const cleanSelectedAddressFormat = selectedAddressFormat.split('_').join('');\n const addressKeys = Object.keys(address);\n\n for (let index = 0; index < addressKeys.length; index++) {\n const selectedAddressKey = addressKeys[index];\n if (cleanSelectedAddressFormat.indexOf(selectedAddressKey.toUpperCase()) > -1) {\n const keyValue = address[selectedAddressKey];\n if (keyValue) {\n formattedAddress += keyValue + ' ';\n }\n break;\n }\n }\n }\n\n return formattedAddress;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DigitGroupingKeys } from 'src/app/_core/constants/NumberFormats';\nimport { GlobalConfigService } from 'src/app/_core/services/global-config.service';\n\n@Pipe({\n name: 'formatNumber',\n})\nexport class FormatNumberPipe implements PipeTransform {\n constructor(private globalConfigSvc: GlobalConfigService) {}\n\n transform(value: string | number, currencySymbol: string = ''): string | number {\n const decimalSymbol = this.globalConfigSvc.globalConfig.decimalSymbol;\n const digitGroupingSymbol = this.globalConfigSvc.globalConfig.digitGroupingSymbol;\n const digitGrouping = this.globalConfigSvc.globalConfig.digitGrouping;\n\n const cleanValue = typeof value === 'number' ? value.toFixed(2).toString() : (+value).toFixed(2).toString();\n const splitCleanValue = cleanValue.toString().split('.');\n const valueWholeNumber = splitCleanValue[0];\n\n let formattedValue = '';\n\n switch (digitGrouping.key) {\n case DigitGroupingKeys.DIGIT_GROUPING_0:\n formattedValue = valueWholeNumber;\n break;\n case DigitGroupingKeys.DIGIT_GROUPING_1:\n {\n let valueWholeNumberLength = valueWholeNumber.length;\n\n if (valueWholeNumberLength <= 3) {\n formattedValue = valueWholeNumber;\n } else {\n let insertSymbolForEveryNChars = 3;\n let counter = 3;\n let startSubStringIndex = valueWholeNumberLength;\n let endIndex = valueWholeNumberLength;\n let valueChunks: string[] = [];\n\n while (endIndex > 0) {\n const valueChunk = valueWholeNumber.slice(startSubStringIndex - counter, endIndex);\n valueChunks.push(valueChunk);\n endIndex -= insertSymbolForEveryNChars;\n counter += endIndex < insertSymbolForEveryNChars ? endIndex : insertSymbolForEveryNChars;\n }\n formattedValue = valueChunks.reverse().join(digitGroupingSymbol.value);\n }\n }\n break;\n case DigitGroupingKeys.DIGIT_GROUPING_2:\n {\n const valueWholeNumberLength = valueWholeNumber.length;\n if (valueWholeNumberLength <= 3) {\n formattedValue = valueWholeNumber;\n } else {\n formattedValue =\n valueWholeNumber.slice(0, valueWholeNumberLength - 3) +\n digitGroupingSymbol.value +\n valueWholeNumber.slice(valueWholeNumberLength - 3, valueWholeNumberLength);\n }\n }\n break;\n case DigitGroupingKeys.DIGIT_GROUPING_3:\n {\n let valueWholeNumberLength = valueWholeNumber.length;\n\n if (valueWholeNumberLength <= 3) {\n formattedValue = valueWholeNumber;\n } else {\n let insertSymbolForEveryNChars = 3;\n let counter = 3;\n let startSubStringIndex = valueWholeNumberLength;\n let endIndex = valueWholeNumberLength;\n let valueChunks: string[] = [];\n\n while (endIndex > 0) {\n const valueChunk = valueWholeNumber.slice(startSubStringIndex - counter, endIndex);\n valueChunks.push(valueChunk);\n endIndex -= insertSymbolForEveryNChars;\n insertSymbolForEveryNChars = 2;\n counter += endIndex < insertSymbolForEveryNChars ? endIndex : insertSymbolForEveryNChars;\n }\n formattedValue = valueChunks.reverse().join(digitGroupingSymbol.value);\n }\n }\n break;\n default:\n formattedValue = formattedValue;\n break;\n }\n formattedValue = `${currencySymbol}${formattedValue}${decimalSymbol.value}${splitCleanValue[1]}`;\n\n return formattedValue;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'negativeNumber',\n})\nexport class NegativeNumberPipe implements PipeTransform {\n transform(value: string | number): string {\n const cleanValue = typeof value === 'number' ? value.toString() : value;\n return cleanValue && cleanValue.charAt(0) === '-'\n ? cleanValue.charAt(1) === ' '\n ? `(${cleanValue.substring(2, cleanValue.length)})`\n : `(${cleanValue.substring(1, cleanValue.length)})`\n : cleanValue;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'objectIteration',\n})\nexport class ObjectIterationPipe implements PipeTransform {\n transform(value: {}): string[] {\n return !value ? [] : Object.keys(value);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Pipe({\n name: 'sanitizeHtml',\n})\nexport class SanitizeHtmlPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {}\n\n transform(v: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(v);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Pipe({\n name: 'sanitizeResourceUrl',\n})\nexport class SanitizeResourceUrlPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {}\n\n transform(v: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustResourceUrl(v);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'singleWord',\n})\nexport class SingleWordPipe implements PipeTransform {\n transform(value: string, camelCase?: boolean): string {\n let newValue: string = value;\n\n if (camelCase) {\n const separators = [' ', '-', '_', '/'];\n separators.forEach((char) => (newValue = this.camelCase(newValue, char)));\n } else {\n newValue = newValue.split(' ').join('');\n }\n\n return newValue;\n }\n\n camelCase(value: string, separator: string): string {\n let arr = value.split(separator);\n\n arr = arr.map((string, index) => {\n if (index > 0) {\n return string.charAt(0).toUpperCase() + string.substring(1);\n } else {\n return string.charAt(0).toLowerCase() + string.substring(1);\n }\n });\n return arr.join('');\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { orderBy } from 'lodash';\n\n@Pipe({ name: 'sortBy' })\nexport class SortByPipe implements PipeTransform {\n transform(value: any[], order = '', column: string = ''): any[] {\n if (!value || order === '' || !order) {\n return value;\n } // no array\n if (value.length <= 1) {\n return value;\n } // array with only one item\n if (!column || column === '') {\n if (order === 'asc') {\n return value.sort();\n } else {\n return value.sort().reverse();\n }\n } // sort 1d array\n return orderBy(value, [column], [order]);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'titlecaseName',\n})\nexport class TitlecaseNamePipe implements PipeTransform {\n transform(value: string): string {\n let value1 = '';\n let arr: string[];\n\n arr = value.split(' ');\n\n arr.forEach((string) => (value1 = value1 + string.charAt(0).toUpperCase() + string.substring(1) + ' '));\n\n arr = value1.split('-');\n\n value = arr[0];\n arr.splice(0, 1);\n\n arr.forEach((string) => (value = value + '-' + string.charAt(0).toUpperCase() + string.substring(1)));\n\n return value;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'translateCut',\n})\nexport class TranslateCutPipe implements PipeTransform {\n transform(value: string, index: number): string {\n return value.split('||')[index];\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'truncate',\n})\nexport class TruncateCharactersPipe implements PipeTransform {\n transform(value: string, limit?: number): string {\n return value && value.length > limit ? value.slice(0, limit) + '...' : value;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport Utils from '../../_core/helpers/Utils';\n\n@Pipe({\n name: 'variableToString',\n})\nexport class VariableToStringPipe implements PipeTransform {\n transform(value: string, linkingWord: string = ''): string {\n return Utils.variableToString(value, linkingWord);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'website',\n})\nexport class WebsitePipe implements PipeTransform {\n transform(value: string): string {\n const website = value ? value.replace(/https?:\\/\\//, '') : null;\n if (website) {\n const websiteArray = website.split('.');\n return websiteArray[0].toLowerCase() === 'www' ? website : 'www.' + website;\n }\n return null;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatGridListModule } from '@angular/material/grid-list';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatSelectModule } from '@angular/material/select';\nimport { RouterModule } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { LazyLoadImageModule } from 'ng-lazyload-image';\nimport { FileUploadModule } from 'ng2-file-upload';\nimport { CarouselModule } from 'ngx-bootstrap/carousel';\nimport { NgxDocViewerModule } from 'ngx-doc-viewer';\nimport { GooglePlaceModule } from 'ngx-google-places-autocomplete';\nimport { ImageCropperModule } from 'ngx-image-cropper';\nimport { InfiniteScrollModule } from 'ngx-infinite-scroll';\nimport { NgxMaskModule } from 'ngx-mask';\nimport { SlickCarouselModule } from 'ngx-slick-carousel';\nimport { CoreModule } from '../_core/core.module';\nimport { DealCarouselComponent } from './components/deal-carousel/deal-carousel.component';\nimport { FooterComponent } from './components/footer/footer.component';\nimport { LoaderComponent } from './components/loader/loader.component';\nimport { LoadingSpinnerComponent } from './components/loading-spinner/loading-spinner.component';\nimport { NextPrevButtonsComponent } from './components/next-prev-buttons/next-prev-buttons.component';\nimport { NoItemsFoundComponent } from './components/no-items-found/no-items-found.component';\nimport { ErrorComponent } from './components/page-not-found/error.component';\nimport { ProgressBarComponent } from './components/progress-bar/progress-bar.component';\nimport { ReadMoreButtonComponent } from './components/read-more-button/read-more-button.component';\nimport { RestrictedAreaComponent } from './components/restricted-area/restricted-area.component';\nimport { ScrollTopComponent } from './components/scroll-top/scroll-top.component';\nimport { SearchBarComponent } from './components/search-bar/search-bar.component';\nimport { SortByComponent } from './components/sort-by/sort-by.component';\nimport { UploadProgressBarComponent } from './components/upload-progress-bar/upload-progress-bar.component';\nimport { RecaptchaDirective } from './directives/recaptcha.directive';\nimport { StickyHeaderDirective } from './directives/sticky-header.directive';\nimport { EnumToStringPipe } from './pipes/enum-to-string.pipe';\nimport { FilterPipe } from './pipes/filter.pipe';\nimport { NegativeNumberPipe } from './pipes/negative-numbers.pipe';\nimport { ObjectIterationPipe } from './pipes/object-iteration.pipe';\nimport { SanitizeResourceUrlPipe } from './pipes/sanitize-url.pipe';\nimport { SortByPipe } from './pipes/sort.pipe';\nimport { TruncateCharactersPipe } from './pipes/truncate.pipe';\nimport { VariableToStringPipe } from './pipes/variable-to-string.pipe';\nimport { WebsitePipe } from './pipes/website.pipe';\nimport { CancelChangesComponent } from './_modals/cancel-changes/cancel-changes.component';\nimport { CropModalComponent } from './_modals/crop-modal/crop-modal.component';\nimport { DeleteConfirmationComponent } from './_modals/delete-confirmation/delete-confirmation.component';\nimport { MediaComponent } from './_modals/media/media.component';\nimport { ModalContainerComponent } from './_modals/modals-container/modals-container.component';\nimport { StoryModalComponent } from './_modals/story-modal/story-modal.component';\nimport { FormControlValidationComponent } from './components/form-control-validation/form-control-validation.component';\nimport { GooglePlacesComponent } from './components/google-places/google-places.component';\nimport { FiltersComponent } from './components/filters/filters.component';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { ExtractArrayFromObjectPipe } from './pipes/extract-array-from-object.pipe';\nimport { BoldedTitleDirective } from './directives/bolded-title.directive';\nimport { ProjectUpdatesCarouselComponent } from './components/project-updates-carousel/project-updates-carousel.component';\nimport { SanitizeHtmlPipe } from './pipes/sanitize-html.pipe';\nimport { QuillModule } from 'ngx-quill';\nimport { MediaInfoComponent } from './components/media-info/media-info.component';\nimport { FormatNumberInput } from './directives/number-formatter.directive';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatBadgeModule } from '@angular/material/badge';\nimport { CurrencyComponent } from './components/currency/currency.component';\nimport { SearchEntityComponent } from './components/search-entity/search-entity.component';\nimport { ActionButtonsComponent } from './components/action-buttons/action-buttons.component';\nimport { UpdateCardComponent } from './components/update-card/update-card.component';\nimport { MatCardModule } from '@angular/material/card';\nimport { TextEditorComponent } from './components/text-editor/text-editor.component';\nimport { ChipListAutocompleteDirective } from './directives/chip-list-autocomplete.directive';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { TitlecaseNamePipe } from './pipes/titlecase-name.pipe';\nimport { FiltersSearchAndSortComponent } from './components/filters-search-and-sort/filters-search-and-sort.component';\nimport { MaintenanceComponent } from './components/maintenance/maintenance.component';\nimport { SingleWordPipe } from './pipes/single-word.pipe';\nimport { DocumentCardComponent } from './components/document-card/document-card.component';\nimport {MatSlideToggleModule} from '@angular/material/slide-toggle';\nimport { MainButtonComponent } from './components/main-button/main-button.component';\nimport { LegalComponent } from 'shared/components/legal/legal.component';\nimport { TranslateCutPipe } from './pipes/translate-cut.pipe';\nimport { CutSeparatorPipe } from './pipes/cut-separator.pipe';\nimport { FileUploadComponent } from './components/file-upload/file-upload.component';\nimport { SharedButtonsComponent } from './components/shared-buttons/shared-buttons.component';\nimport { ShareButtonsModule } from 'ngx-sharebuttons/buttons';\nimport { ShareIconsModule } from 'ngx-sharebuttons/icons';\nimport { ShareButtonsModalComponent } from './_modals/share-buttons-modal/share-buttons-modal.component';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { SearchEntityMultiSelectComponent } from './components/search-entity-multi-select/search-entity-multi-select.component';\nimport { BoldSubstringPipe } from './pipes/bold-substring.pipe';\nimport { FormatAddressPipe } from './pipes/format-address.pipe';\nimport { IdleEntityModalComponent } from './_modals/idle-entity/idle-entity-modal.component';\nimport { FormatNumberPipe } from './pipes/format-number.pipe';\n\nimport { FaIconLibrary } from '@fortawesome/angular-fontawesome';\nimport { faSquareXTwitter, faXTwitter } from '@fortawesome/free-brands-svg-icons';\n\nconst icons = [\n // ... other icons\n faSquareXTwitter,\n faXTwitter\n];\n\nconst shareProp = {\n twitter: {\n icon: ['fab', 'x-twitter'],\n color: '#0b0b0c'\n }\n};\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n FormsModule,\n ReactiveFormsModule,\n CoreModule,\n MatButtonModule,\n MatSelectModule,\n MatChipsModule,\n MatRadioModule,\n MatAutocompleteModule,\n MatIconModule,\n MatDividerModule,\n MatFormFieldModule,\n MatMenuModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatDialogModule,\n MatGridListModule,\n MatCheckboxModule,\n MatInputModule,\n ImageCropperModule,\n FileUploadModule,\n CarouselModule,\n InfiniteScrollModule,\n NgxMaskModule.forRoot(),\n SlickCarouselModule,\n LazyLoadImageModule,\n NgxDocViewerModule,\n GooglePlaceModule,\n TranslateModule,\n MatExpansionModule,\n QuillModule,\n MatBadgeModule,\n MatCardModule,\n MatSlideToggleModule,\n ShareButtonsModule.withConfig({ prop: shareProp }),\n ShareIconsModule,\n MatTabsModule,\n MatAutocompleteModule,\n MatChipsModule\n ],\n\n declarations: [\n FooterComponent,\n LoadingSpinnerComponent,\n ProgressBarComponent,\n ErrorComponent,\n ModalContainerComponent,\n MediaComponent,\n SortByComponent,\n FiltersComponent,\n LoaderComponent,\n CropModalComponent,\n NoItemsFoundComponent,\n CancelChangesComponent,\n DeleteConfirmationComponent,\n SearchBarComponent,\n UploadProgressBarComponent,\n DealCarouselComponent,\n ScrollTopComponent,\n ReadMoreButtonComponent,\n MediaInfoComponent,\n StoryModalComponent,\n LegalComponent,\n RestrictedAreaComponent,\n TruncateCharactersPipe,\n EnumToStringPipe,\n WebsitePipe,\n StickyHeaderDirective,\n SortByPipe,\n ObjectIterationPipe,\n VariableToStringPipe,\n FilterPipe,\n SanitizeResourceUrlPipe,\n NegativeNumberPipe,\n RecaptchaDirective,\n FormControlValidationComponent,\n GooglePlacesComponent,\n ExtractArrayFromObjectPipe,\n BoldedTitleDirective,\n ProjectUpdatesCarouselComponent,\n SanitizeHtmlPipe,\n FormatNumberInput,\n CurrencyComponent,\n SearchEntityComponent,\n NextPrevButtonsComponent,\n ActionButtonsComponent,\n UpdateCardComponent,\n TextEditorComponent,\n ChipListAutocompleteDirective,\n TitlecaseNamePipe,\n FiltersSearchAndSortComponent,\n MaintenanceComponent,\n SingleWordPipe,\n DocumentCardComponent,\n MainButtonComponent,\n TranslateCutPipe,\n CutSeparatorPipe,\n FileUploadComponent,\n SharedButtonsComponent,\n ShareButtonsModalComponent,\n SearchEntityMultiSelectComponent,\n BoldSubstringPipe,\n IdleEntityModalComponent,\n FormatAddressPipe,\n FormatNumberPipe\n ],\n\n exports: [\n InfiniteScrollModule,\n MatButtonModule,\n MatDividerModule,\n TranslateModule,\n CurrencyComponent,\n LoadingSpinnerComponent,\n FooterComponent,\n ErrorComponent,\n ModalContainerComponent,\n ProgressBarComponent,\n FiltersComponent,\n SortByComponent,\n LoaderComponent,\n NoItemsFoundComponent,\n CropModalComponent,\n CancelChangesComponent,\n DeleteConfirmationComponent,\n SearchBarComponent,\n UploadProgressBarComponent,\n DealCarouselComponent,\n ScrollTopComponent,\n ReadMoreButtonComponent,\n StoryModalComponent,\n LegalComponent,\n MediaInfoComponent,\n GooglePlaceModule,\n RestrictedAreaComponent,\n TruncateCharactersPipe,\n EnumToStringPipe,\n WebsitePipe,\n StickyHeaderDirective,\n SortByPipe,\n ObjectIterationPipe,\n VariableToStringPipe,\n FilterPipe,\n NegativeNumberPipe,\n SanitizeResourceUrlPipe,\n RecaptchaDirective,\n FormControlValidationComponent,\n GooglePlacesComponent,\n ExtractArrayFromObjectPipe,\n NextPrevButtonsComponent,\n BoldedTitleDirective,\n ProjectUpdatesCarouselComponent,\n SanitizeHtmlPipe,\n FormatNumberInput,\n MatTooltipModule,\n LazyLoadImageModule,\n SearchEntityComponent,\n MatBadgeModule,\n ActionButtonsComponent,\n MatChipsModule,\n UpdateCardComponent,\n TextEditorComponent,\n ChipListAutocompleteDirective,\n MatProgressSpinnerModule,\n TitlecaseNamePipe,\n FiltersSearchAndSortComponent,\n DocumentCardComponent,\n MatIconModule,\n MatSelectModule,\n MatIconModule,\n SingleWordPipe,\n MatSlideToggleModule,\n MainButtonComponent,\n TranslateCutPipe,\n CutSeparatorPipe,\n FileUploadComponent,\n SharedButtonsComponent,\n ShareButtonsModule,\n ShareIconsModule,\n SearchEntityMultiSelectComponent,\n BoldSubstringPipe,\n IdleEntityModalComponent,\n FormatAddressPipe,\n FormatNumberPipe\n ]\n})\nexport class SharedModule {\n constructor(iconLibrary: FaIconLibrary) {\n iconLibrary.addIcons(...icons);\n }\n}\n","import {RouterModule, Routes} from '@angular/router';\nimport {NgModule} from '@angular/core';\nimport Urls from './_core/constants/Urls';\nimport { NoAuthGuard } from './_core/guards/no-auth.guard';\nimport { MaintenanceComponent } from './_shared/components/maintenance/maintenance.component';\n\n\nconst routes: Routes = [\n {path: '', redirectTo: Urls.APP, pathMatch: 'full'},\n {\n path: Urls.APP,\n loadChildren: () => import('./internal-app/internal-app.module').then(m => m.InternalAppModule)\n },\n {\n path: Urls.AUTH,\n canLoad: [NoAuthGuard],\n canActivate: [NoAuthGuard],\n loadChildren: () => import('./auth/auth.module').then(m => m.AuthModule)\n },\n {\n path: Urls.MAINTENANCE,\n component: MaintenanceComponent\n },\n {\n path: '**',\n loadChildren: () => import('./internal-app/internal-app.module').then(m => m.InternalAppModule)\n },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, {\n scrollPositionRestoration: 'enabled',\n relativeLinkResolution: 'legacy'\n})],\n exports: [RouterModule]\n})\nexport class AppRoutingModule {\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { environment } from '../environments/environment';\nimport { Title } from '@angular/platform-browser';\nimport { GlobalConfigService } from './_core/services/global-config.service';\nimport { DOCUMENT } from '@angular/common';\nimport { GoogleAnalyticsService } from './_core/api/google-analytics.service';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'],\n})\nexport class AppComponent implements OnInit {\n favIcon: HTMLLinkElement;\n\n // prettier-ignore\n constructor(\n private titleService: Title,\n private globalConfigService: GlobalConfigService,\n private analyticsService: GoogleAnalyticsService,\n @Inject(DOCUMENT) private document: Document,\n ) {\n this.favIcon = this.document.querySelector('#favicon');\n this.setEnvironmentConfiguration();\n this.setColorTheme();\n }\n\n ngOnInit(): void {\n if (this.globalConfigService.globalConfig.enableGoogleAnalytics && this.globalConfigService.globalConfig.googleAnalyticsTrackingCode.length > 0) {\n this.analyticsService.initialize();\n }\n }\n\n setEnvironmentConfiguration(): void {\n this.titleService.setTitle(this.globalConfigService.globalConfig.applicationTitle);\n this.favIcon.href = environment.favicon;\n }\n\n setColorTheme(): void {\n const colors = [\n { name: 'auth-primary', value: `#${this.globalConfigService.globalConfig.authButtonBackgroundColor.hex}` },\n { name: 'auth-btn-text', value: `#${this.globalConfigService.globalConfig.authButtonTextColor.hex}` },\n { name: 'auth-secondary', value: `#${this.globalConfigService.globalConfig.authTextColor.hex}` },\n ];\n colors.forEach((color) => this.document.documentElement.style.setProperty(`--${color.name}`, color.value));\n }\n}\n","\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { APP_INITIALIZER, LOCALE_ID, NgModule } from '@angular/core';\r\nimport { PopoverModule } from 'ngx-bootstrap/popover';\r\nimport { SharedModule } from './_shared/shared.module';\r\nimport { AppComponent } from './app.component';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MAT_DATE_LOCALE, MatNativeDateModule } from '@angular/material/core';\r\nimport { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';\r\nimport { MissingTranslationHandler, MissingTranslationHandlerParams, TranslateModule } from '@ngx-translate/core';\r\nimport { QuillModule } from 'ngx-quill';\r\nimport { RxReactiveFormsModule } from '@rxweb/reactive-form-validators';\r\nimport { AppInitializer } from './_core/services/app-initializer.service';\r\nimport { first } from 'rxjs/operators';\r\nimport { catchError, Observable, of } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\nimport { EnvironmentName } from './_core/constants/EnvironmentConst';\r\nimport { registerLocaleData } from '@angular/common';\r\nimport localeDe from '@angular/common/locales/de'\r\nimport localeCs from '@angular/common/locales/cs'\r\nimport { KeycloakTokenInterceptor } from './_core/interceptors/keycloak-token-interceptor.service';\r\nimport { SSOModule } from './_core/sso/sso.module';\r\n\r\nexport function initializeApp(appInitializer: AppInitializer): () => Observable {\r\n return () => {\r\n return appInitializer.initialize().pipe(catchError(() => of(null)), first());\r\n };\r\n}\r\n\r\nexport class MyMissingTranslationHandler implements MissingTranslationHandler {\r\n handle(params: MissingTranslationHandlerParams): any {\r\n // Allow placeholders throughout application to have their value removed from language interface\r\n // and to return empty strings instead of their key\r\n const pathsForEmptyValues = ['.PLACEHOLDERS.', 'DROPDOWNS.CATEGORIES.'];\r\n if (pathsForEmptyValues.some(path => params.key.indexOf(path) > -1)) {\r\n return '';\r\n } else {\r\n return params.key;\r\n }\r\n }\r\n}\r\n\r\nconst setLocaleId = () => {\r\n switch (environment.name) {\r\n case EnvironmentName.SINNGEBER:\r\n registerLocaleData(localeDe)\r\n return 'de-DE';\r\n case EnvironmentName.EGCC:\r\n registerLocaleData(localeCs)\r\n return 'cs-CZ';\r\n default:\r\n return 'en-US';\r\n }\r\n};\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent\r\n ],\r\n imports: [\r\n BrowserModule,\r\n SharedModule,\r\n BrowserAnimationsModule,\r\n AppRoutingModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n HttpClientModule,\r\n ToastrModule.forRoot(),\r\n QuillModule.forRoot(),\r\n TranslateModule.forRoot({\r\n missingTranslationHandler: { provide: MissingTranslationHandler, useClass: MyMissingTranslationHandler },\r\n }),\r\n PopoverModule.forRoot(),\r\n RxReactiveFormsModule,\r\n SSOModule.forRoot(),\r\n ],\r\n providers: [\r\n AppInitializer,\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: initializeApp,\r\n deps: [AppInitializer],\r\n multi: true\r\n },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: KeycloakTokenInterceptor,\r\n multi: true\r\n },\r\n {\r\n provide: Window,\r\n useValue: window\r\n },\r\n {\r\n provide: LOCALE_ID,\r\n useValue: setLocaleId()\r\n },\r\n {\r\n provide: MAT_DATE_LOCALE,\r\n useValue: 'en-US'\r\n }\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule {\r\n}\r\n","import { Component, OnInit } from '@angular/core';\nimport { MODAL_ACTIONS, MODAL_RESPONSE } from 'src/app/_core/constants/Modals';\nimport { CustomValidators } from 'src/app/_core/helpers/CustomValidators.helpers';\nimport { GSControl } from 'src/app/_core/models/FormControls';\nimport { GSFormControl } from 'src/app/_core/models/forms/GSFormControl';\nimport { EntityMainInfo } from 'src/app/_core/models/GenericObject';\nimport { ModalsService } from 'src/app/_core/services/modals.service';\n\n@Component({\n selector: 'app-decline-entity',\n templateUrl: './decline-entity.component.html',\n styleUrls: ['./decline-entity.component.scss'],\n})\nexport class DeclineEntityComponent implements OnInit {\n reason: GSFormControl;\n action: MODAL_ACTIONS;\n entity: EntityMainInfo;\n\n // prettier ignore\n constructor(private modalsService: ModalsService) {}\n\n ngOnInit(): void {\n this.createControl();\n this.action = this.modalsService.params.action;\n this.entity = this.modalsService.params.entity;\n }\n\n createControl(): void {\n this.reason = new GSFormControl(\n new GSControl({\n validators: [CustomValidators.required],\n label: 'ADMIN.ENTITIES_OPTIONS.DECLINE.LABEL',\n optionalText: 'GROUPS.GROUP_DETAILS.REPORT_ABUSE.LABELS.MAX_CHARACTERS',\n max: 1000,\n errors: [{ type: 'required', text: 'ADMIN.ENTITIES_OPTIONS.DECLINE.REQUIRED_REASON_ERROR' }],\n }),\n null\n );\n }\n\n emitTrue(): void {\n this.reason.markAsTouched();\n if (this.reason.invalid) return;\n this.modalsService.emitResponse({\n action: this.action,\n payload: {\n entity: this.entity,\n reason: this.reason.value,\n },\n closeStatus: MODAL_RESPONSE.CLOSE_SUCCESS,\n });\n }\n\n close(): void {\n this.modalsService.closeAll();\n }\n}\n","
\n \n

{{ 'ADMIN.ENTITIES_OPTIONS.DECLINE.TITLE' | translate }}

\n
\n
\n
\n
\n {{ reason.label | translate }} *\n ({{ reason.optionalText | translate: { maxChars: reason.max } }})\n
\n \n \n \n \n {{ err.text | translate }}\n \n \n \n
\n \n
\n","import { EnvironmentName, TenantId } from 'src/app/_core/constants/EnvironmentConst';\nimport { Environment } from 'src/app/_core/models/IEnvironment';\n\nexport const environment: Environment = {\n name: EnvironmentName.TB,\n tenantId: TenantId.TRUSTBRIDGE_PROD,\n defaultLanguage: 'en-tb',\n appVersion: require('../../package.json').version,\n production: false,\n url: 'https://givingspace.trustbridgeglobal.com',\n server: 'https://givingspace.trustbridgeglobal.com/api',\n authServer: 'https://givingspace.trustbridgeglobal.com/api/auth',\n mattermostUrl: 'https://tgf-east.mattermost.givingspace.com/',\n placesApiKey: 'AIzaSyCDVRL0Igtki_L6-xHqyquPHdLZ3D3GpXA',\n recaptchaApiKey: '6Ld9tNYfAAAAAInURAhAM34V5OmNg74xWnH4Ib19',\n favicon: 'assets/env-assets/tb/favicon.ico',\n authBackground: 'assets/env-assets/tb/bg.jpg',\n whiteLogo: 'assets/env-assets/tb/logo-white.png',\n blackLogo: 'assets/env-assets/tb/logo-black-v2.png',\n termsOfUse: 'https://www.trustbridgeglobal.com/terms',\n privacyPolicy: 'https://www.trustbridgeglobal.com/privacy',\n emailAddress: 'admin@trustbridgeglobal.com',\n hasCause: true,\n hasCodeOfConduct: true,\n isEnglishDefault: true,\n authConfig: {\n issuer: 'https://sso.benevatech.com/auth/realms/BenevaTech',\n redirectUri: window.location.origin,\n clientId: 'swiss_prod-gs-public',\n responseType: 'code',\n scope: 'openid profile email links',\n showDebugInformation: true,\n disableAtHashCheck: true,\n sessionChecksEnabled: true,\n useSilentRefresh: true,\n },\n keycloakRealm: 'BenevaTech',\n};\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n enableNewRelic();\n}\n\nfunction enableNewRelic() {\n const script = document.createElement('script');\n script.src = 'new-relic/new-relic.js';\n script.type = 'text/javascript';\n document.head.appendChild(script);\n}\n\nconst script = document.createElement('script');\nscript.src = `https://maps.googleapis.com/maps/api/js?key=${environment.placesApiKey}&libraries=places&language=en`;\ndocument.head.appendChild(script);\n\nplatformBrowserDynamic()\n .bootstrapModule(AppModule)\n .catch((err) => console.error(err));\n","var map = {\n\t\"./af\": 58685,\n\t\"./af.js\": 58685,\n\t\"./ar\": 254,\n\t\"./ar-dz\": 4312,\n\t\"./ar-dz.js\": 4312,\n\t\"./ar-kw\": 32614,\n\t\"./ar-kw.js\": 32614,\n\t\"./ar-ly\": 18630,\n\t\"./ar-ly.js\": 18630,\n\t\"./ar-ma\": 28674,\n\t\"./ar-ma.js\": 28674,\n\t\"./ar-sa\": 49032,\n\t\"./ar-sa.js\": 49032,\n\t\"./ar-tn\": 24730,\n\t\"./ar-tn.js\": 24730,\n\t\"./ar.js\": 254,\n\t\"./az\": 53052,\n\t\"./az.js\": 53052,\n\t\"./be\": 60150,\n\t\"./be.js\": 60150,\n\t\"./bg\": 63069,\n\t\"./bg.js\": 63069,\n\t\"./bm\": 13466,\n\t\"./bm.js\": 13466,\n\t\"./bn\": 18516,\n\t\"./bn-bd\": 90557,\n\t\"./bn-bd.js\": 90557,\n\t\"./bn.js\": 18516,\n\t\"./bo\": 26273,\n\t\"./bo.js\": 26273,\n\t\"./br\": 9588,\n\t\"./br.js\": 9588,\n\t\"./bs\": 19815,\n\t\"./bs.js\": 19815,\n\t\"./ca\": 83331,\n\t\"./ca.js\": 83331,\n\t\"./cs\": 21320,\n\t\"./cs.js\": 21320,\n\t\"./cv\": 72219,\n\t\"./cv.js\": 72219,\n\t\"./cy\": 68266,\n\t\"./cy.js\": 68266,\n\t\"./da\": 66427,\n\t\"./da.js\": 66427,\n\t\"./de\": 67435,\n\t\"./de-at\": 52871,\n\t\"./de-at.js\": 52871,\n\t\"./de-ch\": 12994,\n\t\"./de-ch.js\": 12994,\n\t\"./de.js\": 67435,\n\t\"./dv\": 82357,\n\t\"./dv.js\": 82357,\n\t\"./el\": 95649,\n\t\"./el.js\": 95649,\n\t\"./en-au\": 59961,\n\t\"./en-au.js\": 59961,\n\t\"./en-ca\": 19878,\n\t\"./en-ca.js\": 19878,\n\t\"./en-gb\": 3924,\n\t\"./en-gb.js\": 3924,\n\t\"./en-ie\": 70864,\n\t\"./en-ie.js\": 70864,\n\t\"./en-il\": 91579,\n\t\"./en-il.js\": 91579,\n\t\"./en-in\": 30940,\n\t\"./en-in.js\": 30940,\n\t\"./en-nz\": 16181,\n\t\"./en-nz.js\": 16181,\n\t\"./en-sg\": 44301,\n\t\"./en-sg.js\": 44301,\n\t\"./eo\": 85291,\n\t\"./eo.js\": 85291,\n\t\"./es\": 54529,\n\t\"./es-do\": 53764,\n\t\"./es-do.js\": 53764,\n\t\"./es-mx\": 12584,\n\t\"./es-mx.js\": 12584,\n\t\"./es-us\": 63425,\n\t\"./es-us.js\": 63425,\n\t\"./es.js\": 54529,\n\t\"./et\": 35203,\n\t\"./et.js\": 35203,\n\t\"./eu\": 70678,\n\t\"./eu.js\": 70678,\n\t\"./fa\": 83483,\n\t\"./fa.js\": 83483,\n\t\"./fi\": 96262,\n\t\"./fi.js\": 96262,\n\t\"./fil\": 52521,\n\t\"./fil.js\": 52521,\n\t\"./fo\": 34555,\n\t\"./fo.js\": 34555,\n\t\"./fr\": 63131,\n\t\"./fr-ca\": 88239,\n\t\"./fr-ca.js\": 88239,\n\t\"./fr-ch\": 21702,\n\t\"./fr-ch.js\": 21702,\n\t\"./fr.js\": 63131,\n\t\"./fy\": 267,\n\t\"./fy.js\": 267,\n\t\"./ga\": 23821,\n\t\"./ga.js\": 23821,\n\t\"./gd\": 71753,\n\t\"./gd.js\": 71753,\n\t\"./gl\": 4074,\n\t\"./gl.js\": 4074,\n\t\"./gom-deva\": 92762,\n\t\"./gom-deva.js\": 92762,\n\t\"./gom-latn\": 5969,\n\t\"./gom-latn.js\": 5969,\n\t\"./gu\": 82809,\n\t\"./gu.js\": 82809,\n\t\"./he\": 45402,\n\t\"./he.js\": 45402,\n\t\"./hi\": 315,\n\t\"./hi.js\": 315,\n\t\"./hr\": 10410,\n\t\"./hr.js\": 10410,\n\t\"./hu\": 38288,\n\t\"./hu.js\": 38288,\n\t\"./hy-am\": 67928,\n\t\"./hy-am.js\": 67928,\n\t\"./id\": 71334,\n\t\"./id.js\": 71334,\n\t\"./is\": 86959,\n\t\"./is.js\": 86959,\n\t\"./it\": 34864,\n\t\"./it-ch\": 51124,\n\t\"./it-ch.js\": 51124,\n\t\"./it.js\": 34864,\n\t\"./ja\": 36141,\n\t\"./ja.js\": 36141,\n\t\"./jv\": 29187,\n\t\"./jv.js\": 29187,\n\t\"./ka\": 42136,\n\t\"./ka.js\": 42136,\n\t\"./kk\": 94332,\n\t\"./kk.js\": 94332,\n\t\"./km\": 18607,\n\t\"./km.js\": 18607,\n\t\"./kn\": 84305,\n\t\"./kn.js\": 84305,\n\t\"./ko\": 70234,\n\t\"./ko.js\": 70234,\n\t\"./ku\": 16003,\n\t\"./ku.js\": 16003,\n\t\"./ky\": 75061,\n\t\"./ky.js\": 75061,\n\t\"./lb\": 32786,\n\t\"./lb.js\": 32786,\n\t\"./lo\": 66183,\n\t\"./lo.js\": 66183,\n\t\"./lt\": 50029,\n\t\"./lt.js\": 50029,\n\t\"./lv\": 24169,\n\t\"./lv.js\": 24169,\n\t\"./me\": 68577,\n\t\"./me.js\": 68577,\n\t\"./mi\": 68177,\n\t\"./mi.js\": 68177,\n\t\"./mk\": 50337,\n\t\"./mk.js\": 50337,\n\t\"./ml\": 65260,\n\t\"./ml.js\": 65260,\n\t\"./mn\": 52325,\n\t\"./mn.js\": 52325,\n\t\"./mr\": 14695,\n\t\"./mr.js\": 14695,\n\t\"./ms\": 75334,\n\t\"./ms-my\": 37151,\n\t\"./ms-my.js\": 37151,\n\t\"./ms.js\": 75334,\n\t\"./mt\": 63570,\n\t\"./mt.js\": 63570,\n\t\"./my\": 97963,\n\t\"./my.js\": 97963,\n\t\"./nb\": 88028,\n\t\"./nb.js\": 88028,\n\t\"./ne\": 86638,\n\t\"./ne.js\": 86638,\n\t\"./nl\": 50302,\n\t\"./nl-be\": 66782,\n\t\"./nl-be.js\": 66782,\n\t\"./nl.js\": 50302,\n\t\"./nn\": 33501,\n\t\"./nn.js\": 33501,\n\t\"./oc-lnc\": 50563,\n\t\"./oc-lnc.js\": 50563,\n\t\"./pa-in\": 50869,\n\t\"./pa-in.js\": 50869,\n\t\"./pl\": 65302,\n\t\"./pl.js\": 65302,\n\t\"./pt\": 49687,\n\t\"./pt-br\": 74884,\n\t\"./pt-br.js\": 74884,\n\t\"./pt.js\": 49687,\n\t\"./ro\": 79107,\n\t\"./ro.js\": 79107,\n\t\"./ru\": 33627,\n\t\"./ru.js\": 33627,\n\t\"./sd\": 30355,\n\t\"./sd.js\": 30355,\n\t\"./se\": 83427,\n\t\"./se.js\": 83427,\n\t\"./si\": 11848,\n\t\"./si.js\": 11848,\n\t\"./sk\": 54590,\n\t\"./sk.js\": 54590,\n\t\"./sl\": 20184,\n\t\"./sl.js\": 20184,\n\t\"./sq\": 56361,\n\t\"./sq.js\": 56361,\n\t\"./sr\": 78965,\n\t\"./sr-cyrl\": 81287,\n\t\"./sr-cyrl.js\": 81287,\n\t\"./sr.js\": 78965,\n\t\"./ss\": 25456,\n\t\"./ss.js\": 25456,\n\t\"./sv\": 70451,\n\t\"./sv.js\": 70451,\n\t\"./sw\": 77558,\n\t\"./sw.js\": 77558,\n\t\"./ta\": 51356,\n\t\"./ta.js\": 51356,\n\t\"./te\": 73693,\n\t\"./te.js\": 73693,\n\t\"./tet\": 21243,\n\t\"./tet.js\": 21243,\n\t\"./tg\": 42500,\n\t\"./tg.js\": 42500,\n\t\"./th\": 55768,\n\t\"./th.js\": 55768,\n\t\"./tk\": 77761,\n\t\"./tk.js\": 77761,\n\t\"./tl-ph\": 35780,\n\t\"./tl-ph.js\": 35780,\n\t\"./tlh\": 29590,\n\t\"./tlh.js\": 29590,\n\t\"./tr\": 33807,\n\t\"./tr.js\": 33807,\n\t\"./tzl\": 93857,\n\t\"./tzl.js\": 93857,\n\t\"./tzm\": 60654,\n\t\"./tzm-latn\": 8806,\n\t\"./tzm-latn.js\": 8806,\n\t\"./tzm.js\": 60654,\n\t\"./ug-cn\": 30845,\n\t\"./ug-cn.js\": 30845,\n\t\"./uk\": 19232,\n\t\"./uk.js\": 19232,\n\t\"./ur\": 47052,\n\t\"./ur.js\": 47052,\n\t\"./uz\": 77967,\n\t\"./uz-latn\": 32233,\n\t\"./uz-latn.js\": 32233,\n\t\"./uz.js\": 77967,\n\t\"./vi\": 98615,\n\t\"./vi.js\": 98615,\n\t\"./x-pseudo\": 12320,\n\t\"./x-pseudo.js\": 12320,\n\t\"./yo\": 31313,\n\t\"./yo.js\": 31313,\n\t\"./zh-cn\": 64490,\n\t\"./zh-cn.js\": 64490,\n\t\"./zh-hk\": 55910,\n\t\"./zh-hk.js\": 55910,\n\t\"./zh-mo\": 98262,\n\t\"./zh-mo.js\": 98262,\n\t\"./zh-tw\": 44223,\n\t\"./zh-tw.js\": 44223\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;"],"names":[],"sourceRoot":"webpack:///","x_google_ignoreList":[170]}