{ "version": 3, "sources": ["libs/user-profile/src/lib/user-profile/user-profile.component.ts", "libs/user-profile/src/lib/user-profile/user-profile.component.html", "libs/user-profile/src/lib/user-profile/delete-image-modal/delete-image-modal.component.ts", "libs/user-profile/src/lib/user-profile/delete-image-modal/delete-image-modal.component.html", "libs/user-profile/src/lib/user-profile/upload-image-modal/upload-image-modal.service.ts", "libs/user-profile/src/lib/user-profile/upload-image-modal/upload-image-modal.component.ts", "libs/user-profile/src/lib/user-profile/upload-image-modal/upload-image-modal.component.html", "libs/user-profile/src/lib/user-profile/user-profile.service.ts", "libs/user-profile/src/assets/i18n/en_devel.json", "libs/user-profile/src/lib/user-profile/shared/constants.ts", "libs/user-profile/src/lib/user-profile/user-profile.module.ts", "apps/partner-center-client/src/app/account/account.component.ts", "apps/partner-center-client/src/app/account/account.component.html", "apps/partner-center-client/src/app/account/account-routing.module.ts", "apps/partner-center-client/src/app/account/account.module.ts"], "sourcesContent": ["import { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { UntypedFormArray, UntypedFormControl, UntypedFormGroup } from '@angular/forms';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { AddressAPIService } from '@vendasta/address';\nimport { Address } from '@vendasta/businesses';\nimport { SelectInputOptionInterface } from '@vendasta/galaxy/input';\nimport { SnackbarService } from '@vendasta/galaxy/snackbar-service';\nimport { getCode as getCountryCodeFromName, getName as getCountryNameFromCode } from 'country-list';\nimport { BehaviorSubject, Observable, Subject, of } from 'rxjs';\nimport {\n catchError,\n distinctUntilChanged,\n filter,\n map,\n publishReplay,\n refCount,\n switchMap,\n take,\n takeUntil,\n tap,\n withLatestFrom,\n} from 'rxjs/operators';\nimport { DeleteImageModalComponent } from './delete-image-modal/delete-image-modal.component';\nimport { UploadImageModalComponent } from './upload-image-modal/upload-image-modal.component';\nimport { DEFAULT_IMAGE_URL, PlainPhoneNumber, UserProfileService } from './user-profile.service';\n\n@Component({\n selector: 'user-profile',\n templateUrl: './user-profile.component.html',\n styleUrls: ['./user-profile.component.scss'],\n})\nexport class UserProfileComponent implements OnInit, OnDestroy {\n @Input() unifiedUserId: string;\n\n isUserEditing = false;\n isUpdatingPassword = false;\n disabledRemoveImg = false;\n canAddMorePhones = true;\n\n userProfileFormGroup$: Observable;\n updatePasswordFormGroup = new UntypedFormGroup({\n current_password: new UntypedFormControl(),\n new_password: new UntypedFormControl(),\n });\n\n countryOptions$: Observable;\n stateProvOptions$$ = new BehaviorSubject([]);\n private readonly onDestroy = new Subject();\n\n constructor(\n private userProfileService: UserProfileService,\n private snackbarService: SnackbarService,\n public dialog: MatDialog,\n private readonly addressService: AddressAPIService,\n ) {}\n\n ngOnInit(): void {\n this.userProfileFormGroup$ = this.userProfileService.getUser(this.unifiedUserId).pipe(\n take(1),\n map((user) => {\n const profileImage = user.profileImageUrl || DEFAULT_IMAGE_URL;\n this.disabledRemoveImg = profileImage === DEFAULT_IMAGE_URL;\n\n const phoneFormGroups =\n user.phoneNumbers.map((n) => {\n const mappedPhoneNumber = this.mapRFC3966FormatToPlainPhoneNumber(n.phoneNumber);\n return this.createPhoneNumberForm(mappedPhoneNumber);\n }) || [];\n if (phoneFormGroups.length >= 3) {\n this.canAddMorePhones = false;\n }\n\n const formGroup = new UntypedFormGroup({\n first_name: new UntypedFormControl(user.firstName),\n last_name: new UntypedFormControl(user.lastName),\n email: new UntypedFormControl({ value: user.email, disabled: true }),\n profile_image: new UntypedFormControl(profileImage),\n phone_numbers: new UntypedFormArray(phoneFormGroups),\n country: new UntypedFormControl(this.validateCountryCode(user.address.country)),\n address: new UntypedFormControl(user.address.address || ''),\n additionalAddressLine: new UntypedFormControl(user.address.additionalAddress),\n city: new UntypedFormControl(user.address.city || ''),\n postalCode: new UntypedFormControl(user.address.postalCode || ''),\n });\n this.updateStateProvWithCountry(user.address.state.split('-')[1] || '');\n return formGroup;\n }),\n catchError(() => {\n this.snackbarService.openErrorSnack('EDIT_USER_PROFILE.USER_NOT_FOUND');\n return of(null);\n }),\n publishReplay(1),\n refCount(),\n );\n\n this.countryOptions$ = this.addressService.listAllCountryOptions().pipe(\n take(1),\n map((countries) => {\n if (!countries) {\n return [];\n }\n return countries.sort((a, b) => {\n const nameA = a.name.toUpperCase();\n const nameB = b.name.toUpperCase();\n if (nameA < nameB) {\n return -1;\n }\n if (nameA > nameB) {\n return 1;\n }\n return 0;\n });\n }),\n map((countries) =>\n countries.map((country) => ({\n value: country?.code || '',\n label: country?.name || '',\n })),\n ),\n publishReplay(1),\n refCount(),\n );\n }\n\n ngOnDestroy(): void {\n this.onDestroy.complete();\n }\n\n private updateStateProvWithCountry(state: string): void {\n this.userProfileFormGroup$\n .pipe(\n switchMap((fg) => fg.controls.country.valueChanges),\n takeUntil(this.onDestroy),\n filter((country) => !!country),\n distinctUntilChanged(),\n tap((country) => this.setCountry(country, state)),\n )\n .subscribe();\n }\n\n private setCountry(country: string, state: string): void {\n this.addressService\n .getCountryConfiguration(country, undefined)\n .pipe(\n map((countryConfig) =>\n countryConfig?.zones?.map((zone) => ({\n value: zone?.code || '',\n label: zone?.name || '',\n })),\n ),\n catchError(() => []),\n tap((stateProvs: SelectInputOptionInterface[]) => this.stateProvOptions$$.next(stateProvs)),\n withLatestFrom(this.userProfileFormGroup$),\n tap(([stateProvs, form]) => {\n if (!!stateProvs && stateProvs.findIndex((sp) => sp.value === state) > 0) {\n form.setControl('stateProv', new UntypedFormControl(state));\n } else {\n form.setControl('stateProv', new UntypedFormControl(null));\n }\n }),\n take(1),\n )\n .subscribe();\n }\n\n private validateCountryCode(countryKey: string): string {\n if (!countryKey) {\n return '';\n }\n\n const countryName = getCountryNameFromCode(countryKey);\n if (countryName) {\n return countryKey;\n }\n\n const countryCode = getCountryCodeFromName(countryKey);\n if (countryCode) {\n return countryCode;\n }\n return '';\n }\n\n mapRFC3966FormatToPlainPhoneNumber(rfc3966Format: string): PlainPhoneNumber {\n const numberSections = rfc3966Format.split(';ext=');\n return { phone: numberSections[0].substring(5).replace('-', ''), ext: numberSections[1] } as PlainPhoneNumber;\n }\n\n mapPlainToRFC3966FormatPhoneNumber(formArray: UntypedFormArray): string[] {\n return formArray.value.map((fg) => {\n if (fg.phone !== '') {\n if (fg.ext) {\n return '+' + fg.phone + ';ext=' + fg.ext;\n } else {\n return '+' + fg.phone;\n }\n }\n });\n }\n\n addPhoneNumber(userForm: UntypedFormGroup): void {\n const phonesFormArray = userForm.controls.phone_numbers;\n phonesFormArray.push(this.createPhoneNumberForm());\n if (phonesFormArray.controls.length >= 3) {\n this.canAddMorePhones = false;\n }\n }\n\n createPhoneNumberForm(plainNumber?: PlainPhoneNumber): UntypedFormGroup {\n const form = new UntypedFormGroup({\n phone: new UntypedFormControl(),\n ext: new UntypedFormControl(),\n });\n if (plainNumber) {\n form.get('phone').setValue(plainNumber.phone);\n form.get('ext').setValue(plainNumber.ext);\n }\n return form;\n }\n\n deletePhoneNumber(userForm: UntypedFormGroup, index: number): void {\n const phonesFormArray = userForm.controls.phone_numbers;\n phonesFormArray.removeAt(index);\n if (phonesFormArray.controls.length < 3) {\n this.canAddMorePhones = true;\n }\n }\n\n saveUserProfile(userForm: UntypedFormGroup): void {\n const phoneFormArray = userForm.controls.phone_numbers;\n if (!userForm.valid) {\n this.snackbarService.openErrorSnack('EDIT_USER_PROFILE.INVALID_FORM');\n return;\n }\n\n const phones = this.mapPlainToRFC3966FormatPhoneNumber(phoneFormArray);\n const firstName = userForm.controls.first_name.value;\n const lastName = userForm.controls.last_name.value;\n\n const address = {\n address1: userForm.controls.address.value,\n address2: userForm.controls.additionalAddressLine.value,\n city: userForm.controls.city.value,\n province: userForm.controls.stateProv.value || '',\n country: userForm.controls.country.value,\n zip: userForm.controls.postalCode.value,\n } as Address;\n\n this.userProfileService\n .updateUser(this.unifiedUserId, firstName, lastName, address, phones)\n .pipe(take(1))\n .subscribe(\n () => {\n this.isUserEditing = false;\n this.snackbarService.openSuccessSnack('EDIT_USER_PROFILE.SUCCESS');\n },\n () => {\n this.isUserEditing = false;\n this.snackbarService.openErrorSnack('EDIT_USER_PROFILE.FAILURE');\n },\n );\n }\n\n uploadPhotoModal(userForm: UntypedFormGroup): void {\n this.disabledRemoveImg = false;\n this.dialog\n .open(UploadImageModalComponent, {\n width: '650px',\n } as MatDialogConfig)\n .afterClosed()\n .pipe(\n switchMap((response) => {\n if (response && response.url) {\n const profileImageControl = userForm.controls.profile_image;\n profileImageControl.setValue(response.url);\n return this.userProfileService.updateUserImage(this.unifiedUserId, profileImageControl.value);\n }\n }),\n take(1),\n )\n .subscribe((success) => {\n if (success) {\n this.disabledRemoveImg = false;\n this.snackbarService.openSuccessSnack('PHOTO.UPLOAD_SUCCESS');\n } else {\n this.snackbarService.openErrorSnack('PHOTO.UPLOAD_ERROR');\n }\n });\n }\n\n removeImage(userForm: UntypedFormGroup, isDisabled: boolean): void {\n if (!isDisabled) {\n this.dialog\n .open(DeleteImageModalComponent)\n .afterClosed()\n .pipe(\n switchMap((response) => {\n if (response.continue) {\n const profileImageControl = userForm.controls.profile_image;\n profileImageControl.setValue(DEFAULT_IMAGE_URL);\n return this.userProfileService.updateUserImage(this.unifiedUserId, profileImageControl.value);\n }\n }),\n take(1),\n )\n .subscribe((success) => {\n if (success) {\n this.disabledRemoveImg = true;\n this.snackbarService.openSuccessSnack('PHOTO.UPLOAD_SUCCESS');\n } else {\n this.snackbarService.openErrorSnack('PHOTO.UPLOAD_ERROR');\n }\n });\n }\n }\n\n updatePassword(): void {\n if (this.updatePasswordFormGroup.invalid) {\n this.snackbarService.openErrorSnack('PASSWORD.INVALID_FORM');\n return;\n }\n this.isUpdatingPassword = true;\n\n const currentPassword = this.updatePasswordFormGroup.value.current_password;\n const newPassword = this.updatePasswordFormGroup.value.new_password;\n this.userProfileService\n .updatePassword(this.unifiedUserId, currentPassword, newPassword)\n .pipe(take(1))\n .subscribe((success) => {\n this.isUpdatingPassword = false;\n if (success) {\n this.snackbarService.openSuccessSnack('PASSWORD.CHANGE_SUCCESS');\n } else {\n this.snackbarService.openErrorSnack('PASSWORD.CHANGE_ERROR');\n }\n });\n }\n}\n", "\n \n {{ 'PERSONAL_PROFILE' | translate }}\n \n \n \n \n \n \n \n \n\n \n
\n {{ 'PHOTO.TITLE' | translate }}\n
\n
\n \"profile-image\"\n
\n \n \n
\n
\n \n\n \n
\n
\n {{ 'PHONES.TITLE' | translate }}\n
\n\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n\n \n
\n \n\n \n
\n {{ 'ADDRESS.TITLE' | translate }}\n
\n 0\"\n [formControl]=\"userForm.controls['country']\"\n [label]=\"'COMMON.ADDRESS.COUNTRY'\"\n [options]=\"countryOptions$ | async\"\n [required]=\"true\"\n >\n \n \n 0\"\n [formControl]=\"userForm.controls['stateProv']\"\n [label]=\"'COMMON.ADDRESS.STATE_PROV'\"\n [options]=\"stateProvOptions$$ | async\"\n >\n \n \n \n
\n\n \n \n \n
\n \n
\n \n
\n
\n
\n\n\n \n {{ 'PASSWORD.TITLE' | translate }}\n \n \n
\n \n \n \n
\n \n \n \n
\n", "import { Component } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'user-profile-delete-image-modal',\n templateUrl: './delete-image-modal.component.html',\n})\nexport class DeleteImageModalComponent {\n constructor(public dialogRef: MatDialogRef) {}\n\n accept(accepted: boolean): void {\n this.dialogRef.close({ continue: accepted });\n }\n}\n", "

{{ 'PHOTO.REMOVE_MODAL.TITLE' | translate }}

\n\n

\n {{ 'PHOTO.REMOVE_MODAL.CONTENT' | translate }}\n

\n
\n\n \n \n\n", "import { Injectable } from '@angular/core';\nimport { FileInfo, GalaxyImageUploaderService, UploadResponse } from '@vendasta/galaxy/uploader';\nimport { Observable } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\nimport { EnvironmentService, Environment } from '@galaxy/core';\n\n@Injectable()\nexport class UploadImageModalService extends GalaxyImageUploaderService {\n constructor(private httpClient: HttpClient, private environmentService: EnvironmentService) {\n super(httpClient);\n }\n\n public getURL(): string {\n switch (this.environmentService.getEnvironment()) {\n case Environment.DEMO: {\n return 'https://media-demo.apigateway.co/image/upload';\n }\n case Environment.PROD: {\n return 'https://media-prod.apigateway.co/image/upload';\n }\n default: {\n return 'https://media-demo.apigateway.co/image/upload';\n }\n }\n }\n\n buildRequest(fileInfo: FileInfo): Observable {\n const imageToUpload = fileInfo?.data?.croppedImage || fileInfo.file;\n const formData = new FormData();\n\n formData.append('image', imageToUpload);\n return this.httpClient.post(this.getURL(), formData, { withCredentials: true });\n }\n}\n", "import { Component, Inject, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { TranslateService } from '@ngx-translate/core';\nimport { SnackbarService } from '@vendasta/galaxy/snackbar-service';\nimport {\n FileInfo,\n FileUploadError,\n GALAXY_UPLOADER_SERVICE_TOKEN,\n GalaxyImageUploaderService,\n} from '@vendasta/galaxy/uploader';\nimport { BehaviorSubject, Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { UploadImageModalService } from './upload-image-modal.service';\n\n@Component({\n selector: 'user-profile-upload-image-modal',\n styleUrls: ['./upload-image-modal.component.scss'],\n templateUrl: './upload-image-modal.component.html',\n providers: [{ provide: GALAXY_UPLOADER_SERVICE_TOKEN, useClass: UploadImageModalService }],\n})\nexport class UploadImageModalComponent implements OnInit, OnChanges, OnDestroy {\n files: FileInfo[] = [];\n partnerId: string;\n imgURL: string;\n saveDisabled = true;\n currentFile: FileInfo;\n maxDimensions = { width: 2500, height: 2500 };\n maxFileSize = 5200000;\n acceptedFiles = '.png,.svg,.jpg,.jpeg/*';\n uploadPhotoHint: string;\n fileErrored$$: BehaviorSubject = new BehaviorSubject(null);\n private subscriptions: Subscription[] = [];\n\n constructor(\n public dialogRef: MatDialogRef,\n private snackService: SnackbarService,\n @Inject(GALAXY_UPLOADER_SERVICE_TOKEN) private uploadService: GalaxyImageUploaderService,\n private translate: TranslateService,\n ) {}\n\n ngOnInit(): void {\n this.subscriptions.push(\n this.uploadService.fileErrored$$.pipe(filter((error) => !!error)).subscribe({\n next: (error: FileUploadError) => this.onError(error),\n }),\n );\n\n this.subscriptions.push(\n this.uploadService.fileUploaded$$.pipe(filter((fileInfo) => !!fileInfo)).subscribe({\n next: (fileInfo: FileInfo) => this.onUpload(fileInfo),\n }),\n );\n\n this.uploadPhotoHint = this.translate.instant('PHOTO.HINT');\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.maxDimensions && changes.maxDimensions.previousValue !== changes.maxDimensions.currentValue) {\n this.uploadService.setMaxDimensions(this.maxDimensions);\n }\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach((sub: Subscription) => sub.unsubscribe());\n }\n\n onError(fileError: FileUploadError): void {\n this.saveDisabled = false;\n this.snackService.openErrorSnack(fileError.error.message);\n }\n\n onUpload(file: FileInfo): void {\n this.saveDisabled = false;\n this.dialogRef.close({ url: file.url });\n }\n\n editImage(info: FileInfo): void {\n this.saveDisabled = false;\n this.currentFile = info;\n }\n\n endEdit(blob?: Blob): void {\n this.uploadService.setCroppedImage(this.currentFile, blob);\n\n this.currentFile = undefined;\n }\n\n continue(): void {\n this.saveDisabled = true;\n this.uploadService.uploadQueuedFiles();\n }\n\n onFilesChanged(files: FileInfo[]): void {\n this.files = files;\n\n if (this.files[0]) {\n this.editImage(this.files[0]);\n }\n }\n\n closeUploadImageModal(success: boolean): void {\n this.dialogRef.close(success);\n }\n\n deleteImage(): void {\n this.uploadService.removeFile(this.files[0]);\n }\n}\n", "

{{ 'PHOTO.ACTIONS.UPLOAD_IMAGE' | translate }}

\n\n \n \n
\n \n
\n
\n \n
\n\n \n \n\n", "import { HttpResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Address } from '@vendasta/businesses';\nimport {\n IAMService,\n PhoneNumberInterface,\n PhoneNumberType,\n SetAddress,\n SetFirstName,\n SetLastName,\n SetPhoneNumbers,\n SetProfileImageUrl,\n User,\n UserIdentifier,\n} from '@vendasta/iamv2';\nimport { Observable, of } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\n\nexport const DEFAULT_IMAGE_URL = 'https://storage.googleapis.com/iam-user-images-demo/Profile.png';\nexport const STATUS_VALID = 'VALID';\n\nexport interface PlainPhoneNumber {\n phone: string;\n ext: string;\n}\n\n@Injectable()\nexport class UserProfileService {\n constructor(private iamService: IAMService) {}\n\n getUser(userUnifiedId: string): Observable {\n return this.iamService.getUser(new UserIdentifier({ userId: userUnifiedId }));\n }\n\n updateUser(\n userUnifiedId: string,\n firstName: string,\n lastName: string,\n addrs: Address,\n stringPhones?: string[],\n ): Observable> {\n const phoneNumbers = stringPhones\n .map((phoneNumber) => {\n if (phoneNumber) {\n return {\n phoneNumber: phoneNumber,\n phoneNumberType: PhoneNumberType.PHONE_NUMBER_TYPE_HOME,\n } as PhoneNumberInterface;\n }\n })\n .filter((pn) => pn !== undefined);\n\n const newAddress = addrs\n ? {\n address: addrs.address1,\n additionalAddress: addrs.address2,\n city: addrs.city,\n country: addrs.country,\n state: addrs.province !== '' ? addrs.country + '-' + addrs.province : '',\n postalCode: addrs.zip,\n }\n : {};\n\n return this.iamService.updateUser(new UserIdentifier({ userId: userUnifiedId }), [\n SetFirstName(firstName),\n SetLastName(lastName),\n SetPhoneNumbers(phoneNumbers),\n SetAddress(newAddress),\n ]);\n }\n\n updateUserImage(userUnifiedId: string, imageURL: string): Observable> {\n return this.iamService.updateUser(new UserIdentifier({ userId: userUnifiedId }), [SetProfileImageUrl(imageURL)]);\n }\n\n updatePassword(userUnifiedId: string, currentPassword: string, newPassword: string): Observable {\n return this.iamService\n .changePassword(new UserIdentifier({ userId: userUnifiedId }), currentPassword, newPassword)\n .pipe(\n map(() => true),\n catchError(() => of(false)),\n );\n }\n}\n", "{\n \"PERSONAL_PROFILE\": \"Personal Profile\",\n \"FIRST_NAME\": \"First name\",\n \"LAST_NAME\": \"Last name\",\n \"EMAIL\": \"Email\",\n\n \"ACTIONS\": {\n \"SAVE\": \"Save\",\n \"CANCEL\": \"Cancel\"\n },\n\n \"PHOTO\": {\n \"TITLE\": \"Photo\",\n \"HINT\": \"Select a JPG, JPEG, or PNG file.\",\n \"UPLOAD_ERROR\": \"Error updating photo.\",\n \"UPLOAD_SUCCESS\": \"Successfully updated photo.\",\n \"ACTIONS\": {\n \"SAVE\": \"Save\",\n \"UPLOAD\": \"Upload\",\n \"UPLOAD_NEW\": \"Upload new photo\",\n \"REMOVE\": \"Remove photo\",\n \"UPLOAD_IMAGE\": \"Upload image\",\n \"CANCEL\": \"Cancel\"\n },\n \"REMOVE_MODAL\": {\n \"TITLE\": \"Remove image?\",\n \"CONTENT\": \"This can't be undone.\",\n \"REMOVE\": \"Remove\",\n \"KEEP\": \"Keep image\"\n }\n },\n \"EDIT_USER_PROFILE\": {\n \"INVALID_FORM\": \"Invalid form, please check all fields are filled in correctly\",\n \"COUNTRY_REQUIRED\": \"Country required, please select a country and try again\",\n \"SUCCESS\": \"User profile updated.\",\n \"FAILURE\": \"Error updating user.\",\n \"USER_NOT_FOUND\": \"Error getting your user profile.\"\n },\n \"PHONES\": {\n \"ADD\": \"+Add phone number\",\n \"TITLE\": \"Phone number(s)\"\n },\n \"PASSWORD\": {\n \"TITLE\": \"Password\",\n \"CHANGE_PASSWORD\": \"Change password\",\n \"CURRENT_PASSWORD\": \"Current password\",\n \"NEW_PASSWORD\": \"New password\",\n \"INVALID_FORM\": \"Invalid form, please check all fields are filled in correctly\",\n \"CHANGE_ERROR\": \"Error changing password\",\n \"CHANGE_SUCCESS\": \"Successfully changed password\"\n },\n \"ADDRESS\": {\n \"TITLE\": \"Address\"\n }\n}\n", "export const WEBLATE_COMPONENT_NAME = 'common/user-profile';\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatCardModule } from '@angular/material/card';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { GalaxyPageModule } from '@vendasta/galaxy/page';\nimport { MatButtonModule } from '@angular/material/button';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { UserProfileComponent } from './user-profile.component';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { UserProfileService } from './user-profile.service';\nimport baseTranslation from '../../assets/i18n/en_devel.json';\nimport { LexiconModule } from '@galaxy/lexicon';\nimport { UploadImageModalComponent } from './upload-image-modal/upload-image-modal.component';\nimport { DeleteImageModalComponent } from './delete-image-modal/delete-image-modal.component';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { GalaxyUploaderModule } from '@vendasta/galaxy/uploader';\nimport { GalaxyInputModule } from '@vendasta/galaxy/input';\nimport { GalaxyWrapModule } from '@vendasta/galaxy/galaxy-wrap';\nimport { WEBLATE_COMPONENT_NAME } from './shared/constants';\n\nexport { UserProfileComponent };\n\nexport const MODULE_IMPORTS = [\n CommonModule,\n GalaxyInputModule,\n MatCardModule,\n GalaxyPageModule,\n MatButtonModule,\n TranslateModule,\n MatProgressSpinnerModule,\n ReactiveFormsModule,\n LexiconModule.forChild({\n componentName: WEBLATE_COMPONENT_NAME,\n baseTranslation: baseTranslation,\n }),\n MatIconModule,\n GalaxyUploaderModule,\n MatDialogModule,\n GalaxyWrapModule,\n];\n\nexport const MODULE_DECLARATIONS = [UserProfileComponent, UploadImageModalComponent, DeleteImageModalComponent];\n\n@NgModule({\n declarations: MODULE_DECLARATIONS,\n imports: MODULE_IMPORTS,\n exports: [UserProfileComponent, UploadImageModalComponent],\n providers: [UserProfileService],\n})\nexport class UserProfileModule {}\n", "import { Component, OnInit } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { AppConfigService } from '../app-config.service';\n\n@Component({\n templateUrl: `./account.component.html`,\n styleUrls: ['./account.component.scss'],\n})\nexport class AccountComponent implements OnInit {\n userUnified$: Observable;\n\n constructor(private config: AppConfigService) {}\n\n ngOnInit(): void {\n this.userUnified$ = this.config.config$.pipe(map(({ unifiedUserId }) => unifiedUserId));\n }\n}\n", "\n \n \n {{ 'MY_PROFILE_PAGE.TITLE' | translate }}\n \n \n \n \n \n \n\n", "import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { AccountComponent } from './account.component';\n\n@NgModule({\n imports: [\n RouterModule.forChild([\n {\n path: '',\n component: AccountComponent,\n },\n ]),\n ],\n\n exports: [RouterModule],\n})\nexport class AccountRoutingModule {}\n", "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatCardModule } from '@angular/material/card';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { GalaxyPageModule } from '@vendasta/galaxy/page';\nimport { UIKitModule } from '@vendasta/uikit';\nimport { UserProfileModule } from '@vendasta/user-profile';\nimport { VFormModule } from '@vendasta/vform';\nimport { AccountRoutingModule } from './account-routing.module';\nimport { AccountComponent } from './account.component';\n\n@NgModule({\n imports: [\n VFormModule,\n UIKitModule,\n MatCardModule,\n CommonModule,\n UserProfileModule,\n GalaxyPageModule,\n TranslateModule,\n AccountRoutingModule,\n ],\n declarations: [AccountComponent],\n})\nexport class AccountModule {}\n"], "mappings": "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", "names": ["import_country_list", "DeleteImageModalComponent", "constructor", "dialogRef", "accept", "accepted", "close", "continue", "\u0275\u0275directiveInject", "MatDialogRef", "selectors", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275listener", "\u0275\u0275advance", "\u0275\u0275textInterpolate", "\u0275\u0275pipeBind1", "\u0275\u0275textInterpolate1", "_DeleteImageModalComponent", "UploadImageModalService", "GalaxyImageUploaderService", "constructor", "httpClient", "environmentService", "getURL", "getEnvironment", "Environment", "DEMO", "PROD", "buildRequest", "fileInfo", "imageToUpload", "data", "croppedImage", "file", "formData", "FormData", "append", "post", "withCredentials", "\u0275\u0275inject", "HttpClient", "EnvironmentService", "factory", "\u0275fac", "_UploadImageModalService", "\u0275\u0275elementStart", "\u0275\u0275listener", "$event", "\u0275\u0275restoreView", "_r1", "ctx_r1", "\u0275\u0275nextContext", "\u0275\u0275resetView", "onFilesChanged", "\u0275\u0275elementEnd", "\u0275\u0275property", "maxFileSize", "acceptedFiles", "uploadPhotoHint", "\u0275\u0275elementContainerStart", "_r3", "deleteImage", "editImage", "files", "\u0275\u0275advance", "data", "croppedImage", "file", "status", "_r4", "endEdit", "maxDimensions", "currentFile", "\u0275\u0275pureFunction1", "_c1", "\u0275\u0275pureFunction0", "_c0", "_r5", "closeUploadImageModal", "\u0275\u0275text", "continue", "\u0275\u0275textInterpolate1", "\u0275\u0275pipeBind1", "saveDisabled", "UploadImageModalComponent", "constructor", "dialogRef", "snackService", "uploadService", "translate", "width", "height", "fileErrored$$", "BehaviorSubject", "subscriptions", "ngOnInit", "push", "pipe", "filter", "error", "subscribe", "next", "onError", "fileUploaded$$", "fileInfo", "onUpload", "instant", "ngOnChanges", "changes", "previousValue", "currentValue", "setMaxDimensions", "ngOnDestroy", "forEach", "sub", "unsubscribe", "fileError", "openErrorSnack", "message", "close", "url", "info", "blob", "setCroppedImage", "undefined", "uploadQueuedFiles", "success", "removeFile", "\u0275\u0275directiveInject", "MatDialogRef", "SnackbarService", "GALAXY_UPLOADER_SERVICE_TOKEN", "TranslateService", "selectors", "features", "\u0275\u0275ProvidersFeature", "provide", "useClass", "UploadImageModalService", "\u0275\u0275NgOnChangesFeature", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275template", "UploadImageModalComponent_glxy_image_uploader_4_Template", "UploadImageModalComponent_ng_container_5_Template", "UploadImageModalComponent_glxy_image_editor_6_Template", "UploadImageModalComponent_mat_dialog_actions_7_Template", "\u0275\u0275textInterpolate", "length", "_UploadImageModalComponent", "DEFAULT_IMAGE_URL", "UserProfileService", "constructor", "iamService", "getUser", "userUnifiedId", "UserIdentifier", "userId", "updateUser", "firstName", "lastName", "addrs", "stringPhones", "phoneNumbers", "map", "phoneNumber", "phoneNumberType", "PhoneNumberType", "PHONE_NUMBER_TYPE_HOME", "filter", "pn", "undefined", "newAddress", "address", "address1", "additionalAddress", "address2", "city", "country", "state", "province", "postalCode", "zip", "SetFirstName", "SetLastName", "SetPhoneNumbers", "SetAddress", "updateUserImage", "imageURL", "SetProfileImageUrl", "updatePassword", "currentPassword", "newPassword", "changePassword", "pipe", "catchError", "of", "\u0275\u0275inject", "IAMService", "factory", "\u0275fac", "_UserProfileService", "\u0275\u0275elementStart", "\u0275\u0275element", "\u0275\u0275elementEnd", "\u0275\u0275listener", "i_r6", "\u0275\u0275restoreView", "_r5", "index", "userForm_r3", "\u0275\u0275nextContext", "ngIf", "ctx_r3", "\u0275\u0275resetView", "deletePhoneNumber", "\u0275\u0275text", "\u0275\u0275advance", "\u0275\u0275property", "control_r7", "get", "_r8", "addPhoneNumber", "\u0275\u0275textInterpolate1", "\u0275\u0275pipeBind1", "controls", "countryOptions$", "stateProvOptions$$", "\u0275\u0275elementContainerStart", "_r2", "uploadPhotoModal", "removeImage", "disabledRemoveImg", "\u0275\u0275template", "UserProfileComponent_ng_container_5_div_25_Template", "UserProfileComponent_ng_container_5_div_26_Template", "UserProfileComponent_ng_container_5_glxy_select_input_31_Template", "UserProfileComponent_ng_container_5_glxy_select_input_35_Template", "saveUserProfile", "UserProfileComponent_ng_container_5_ng_container_41_Template", "UserProfileComponent_ng_container_5_ng_template_42_Template", "\u0275\u0275templateRefExtractor", "first_name", "last_name", "email", "\u0275\u0275textInterpolate", "\u0275\u0275propertyInterpolate", "profile_image", "value", "\u0275\u0275sanitizeUrl", "phone_numbers", "canAddMorePhones", "tmp_22_0", "length", "tmp_27_0", "isUserEditing", "loadingSpinner_r9", "UserProfileComponent", "constructor", "userProfileService", "snackbarService", "dialog", "addressService", "isUpdatingPassword", "updatePasswordFormGroup", "UntypedFormGroup", "current_password", "UntypedFormControl", "new_password", "BehaviorSubject", "onDestroy", "Subject", "ngOnInit", "userProfileFormGroup$", "getUser", "unifiedUserId", "pipe", "take", "map", "user", "profileImage", "profileImageUrl", "DEFAULT_IMAGE_URL", "phoneFormGroups", "phoneNumbers", "n", "mappedPhoneNumber", "mapRFC3966FormatToPlainPhoneNumber", "phoneNumber", "createPhoneNumberForm", "formGroup", "firstName", "lastName", "disabled", "UntypedFormArray", "country", "validateCountryCode", "address", "additionalAddressLine", "additionalAddress", "city", "postalCode", "updateStateProvWithCountry", "state", "split", "catchError", "openErrorSnack", "of", "publishReplay", "refCount", "listAllCountryOptions", "countries", "sort", "a", "b", "nameA", "name", "toUpperCase", "nameB", "code", "label", "ngOnDestroy", "complete", "switchMap", "fg", "valueChanges", "takeUntil", "filter", "distinctUntilChanged", "tap", "setCountry", "subscribe", "getCountryConfiguration", "undefined", "countryConfig", "zones", "zone", "stateProvs", "next", "withLatestFrom", "form", "findIndex", "sp", "setControl", "countryKey", "getCountryNameFromCode", "countryCode", "getCountryCodeFromName", "rfc3966Format", "numberSections", "phone", "substring", "replace", "ext", "mapPlainToRFC3966FormatPhoneNumber", "formArray", "userForm", "phonesFormArray", "push", "plainNumber", "setValue", "removeAt", "phoneFormArray", "valid", "phones", "address1", "address2", "province", "stateProv", "zip", "updateUser", "openSuccessSnack", "open", "UploadImageModalComponent", "width", "afterClosed", "response", "url", "profileImageControl", "updateUserImage", "success", "isDisabled", "DeleteImageModalComponent", "continue", "updatePassword", "invalid", "currentPassword", "newPassword", "\u0275\u0275directiveInject", "UserProfileService", "SnackbarService", "MatDialog", "AddressAPIService", "selectors", "inputs", "decls", "vars", "consts", "template", "rf", "ctx", "UserProfileComponent_ng_container_5_Template", "UserProfileComponent_ng_template_7_Template", "i0", "_r1", "UserProfileComponent_ng_container_20_Template", "UserProfileComponent_ng_template_21_Template", "loadingUserProfile_r10", "loadingSpinner_r11", "_UserProfileComponent", "en_devel_default", "WEBLATE_COMPONENT_NAME", "MODULE_IMPORTS", "CommonModule", "GalaxyInputModule", "MatCardModule", "GalaxyPageModule", "MatButtonModule", "TranslateModule", "MatProgressSpinnerModule", "ReactiveFormsModule", "LexiconModule", "forChild", "componentName", "WEBLATE_COMPONENT_NAME", "baseTranslation", "MatIconModule", "GalaxyUploaderModule", "MatDialogModule", "GalaxyWrapModule", "UserProfileModule", "UserProfileService", "imports", "MODULE_IMPORTS", "_UserProfileModule", "\u0275\u0275element", "\u0275\u0275property", "userUnified_r1", "AccountComponent", "constructor", "config", "ngOnInit", "userUnified$", "config$", "pipe", "map", "unifiedUserId", "\u0275\u0275directiveInject", "AppConfigService", "selectors", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275template", "AccountComponent_user_profile_6_Template", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "\u0275\u0275pipeBind1", "_AccountComponent", "AccountRoutingModule", "RouterModule", "forChild", "path", "component", "AccountComponent", "_AccountRoutingModule", "AccountModule", "VFormModule", "UIKitModule", "MatCardModule", "CommonModule", "UserProfileModule", "GalaxyPageModule", "TranslateModule", "AccountRoutingModule", "_AccountModule"] }