|
|
@ -34,110 +34,122 @@ |
|
|
<tb-toggle-option [value]="false">{{ 'admin.mobile-app.custom' | translate }}</tb-toggle-option> |
|
|
<tb-toggle-option [value]="false">{{ 'admin.mobile-app.custom' | translate }}</tb-toggle-option> |
|
|
</tb-toggle-select> |
|
|
</tb-toggle-select> |
|
|
</div> |
|
|
</div> |
|
|
<div class="tb-form-panel stroked no-padding no-gap" formGroupName="androidConfig"> |
|
|
<div class="tb-form-row column-xs" *ngIf="!mobileAppSettingsForm.get('useDefaultApp').value"> |
|
|
<div class="tb-form-row no-border no-padding-bottom"> |
|
|
<div class="fixed-title-width-230">{{ 'mobile.bundle' | translate }}</div> |
|
|
<mat-slide-toggle class="mat-slide" formControlName="enabled" (click)="$event.stopPropagation()"> |
|
|
<tb-entity-autocomplete |
|
|
{{ 'admin.mobile-app.android' | translate }} |
|
|
fxFlex |
|
|
</mat-slide-toggle> |
|
|
useFullEntityId |
|
|
</div> |
|
|
appearance="outline" |
|
|
<div class="tb-form-panel no-border no-padding-top" |
|
|
subscriptSizing="dynamic" |
|
|
*ngIf="!mobileAppSettingsForm.get('useDefaultApp').value && mobileAppSettingsForm.get('androidConfig.enabled').value"> |
|
|
[additionalClasses]="['flex']" |
|
|
<div class="tb-form-row column-xs"> |
|
|
[entityType]="entityType.MOBILE_APP_BUNDLE" |
|
|
<div class="fixed-title-width-230">{{ 'admin.mobile-app.app-package-name' | translate }}</div> |
|
|
formControlName="mobileAppBundleId"> |
|
|
<mat-form-field class="flex" appearance="outline" subscriptSizing="dynamic"> |
|
|
</tb-entity-autocomplete> |
|
|
<input matInput formControlName="appPackage" placeholder="{{'admin.mobile-app.set' | translate}}"> |
|
|
|
|
|
<mat-icon matSuffix |
|
|
|
|
|
matTooltipPosition="above" |
|
|
|
|
|
matTooltipClass="tb-error-tooltip" |
|
|
|
|
|
[matTooltip]="'admin.mobile-app.app-package-name-required' | translate" |
|
|
|
|
|
*ngIf="mobileAppSettingsForm.get('androidConfig.appPackage').hasError('required') |
|
|
|
|
|
&& mobileAppSettingsForm.get('androidConfig.appPackage').touched" |
|
|
|
|
|
class="tb-error"> |
|
|
|
|
|
warning |
|
|
|
|
|
</mat-icon> |
|
|
|
|
|
</mat-form-field> |
|
|
|
|
|
</div> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div class="tb-form-panel no-border no-padding-top" |
|
|
|
|
|
*ngIf="!mobileAppSettingsForm.get('useDefaultApp').value && mobileAppSettingsForm.get('androidConfig.enabled').value"> |
|
|
|
|
|
<div class="tb-form-row column-xs"> |
|
|
|
|
|
<div class="fixed-title-width-230">{{ 'admin.mobile-app.sha256-certificate-fingerprints' | translate }}</div> |
|
|
|
|
|
<mat-form-field class="flex" appearance="outline" subscriptSizing="dynamic"> |
|
|
|
|
|
<input matInput formControlName="sha256CertFingerprints" placeholder="{{'admin.mobile-app.set' | translate}}"> |
|
|
|
|
|
<mat-icon matSuffix |
|
|
|
|
|
matTooltipPosition="above" |
|
|
|
|
|
matTooltipClass="tb-error-tooltip" |
|
|
|
|
|
[matTooltip]="'admin.mobile-app.sha256-certificate-fingerprints-required' | translate" |
|
|
|
|
|
*ngIf="mobileAppSettingsForm.get('androidConfig.sha256CertFingerprints').hasError('required') |
|
|
|
|
|
&& mobileAppSettingsForm.get('androidConfig.sha256CertFingerprints').touched" |
|
|
|
|
|
class="tb-error"> |
|
|
|
|
|
warning |
|
|
|
|
|
</mat-icon> |
|
|
|
|
|
</mat-form-field> |
|
|
|
|
|
</div> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div class="tb-form-panel no-border no-padding-top" |
|
|
|
|
|
*ngIf="!mobileAppSettingsForm.get('useDefaultApp').value && mobileAppSettingsForm.get('androidConfig.enabled').value"> |
|
|
|
|
|
<div class="tb-form-row column-xs"> |
|
|
|
|
|
<div class="fixed-title-width-230">{{ 'admin.mobile-app.google-play-link' | translate }}</div> |
|
|
|
|
|
<mat-form-field class="flex" appearance="outline" subscriptSizing="dynamic"> |
|
|
|
|
|
<input matInput formControlName="storeLink" placeholder="{{'admin.mobile-app.set' | translate}}"> |
|
|
|
|
|
<mat-icon matSuffix |
|
|
|
|
|
matTooltipPosition="above" |
|
|
|
|
|
matTooltipClass="tb-error-tooltip" |
|
|
|
|
|
[matTooltip]="'admin.mobile-app.google-play-link-required' | translate" |
|
|
|
|
|
*ngIf="mobileAppSettingsForm.get('androidConfig.storeLink').hasError('required') |
|
|
|
|
|
&& mobileAppSettingsForm.get('androidConfig.storeLink').touched" |
|
|
|
|
|
class="tb-error"> |
|
|
|
|
|
warning |
|
|
|
|
|
</mat-icon> |
|
|
|
|
|
</mat-form-field> |
|
|
|
|
|
</div> |
|
|
|
|
|
</div> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div class="tb-form-panel stroked no-padding no-gap" formGroupName="iosConfig"> |
|
|
|
|
|
<div class="tb-form-row no-border no-padding-bottom"> |
|
|
|
|
|
<mat-slide-toggle class="mat-slide" formControlName="enabled" (click)="$event.stopPropagation()"> |
|
|
|
|
|
{{ 'admin.mobile-app.ios' | translate }} |
|
|
|
|
|
</mat-slide-toggle> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div class="tb-form-panel no-border no-padding-top" |
|
|
|
|
|
*ngIf="!mobileAppSettingsForm.get('useDefaultApp').value && mobileAppSettingsForm.get('iosConfig.enabled').value"> |
|
|
|
|
|
<div class="tb-form-row column-xs"> |
|
|
|
|
|
<div class="fixed-title-width-230">{{ 'admin.mobile-app.app-id' | translate }}</div> |
|
|
|
|
|
<mat-form-field class="flex" appearance="outline" subscriptSizing="dynamic"> |
|
|
|
|
|
<input matInput formControlName="appId" placeholder="{{'admin.mobile-app.set' | translate}}"> |
|
|
|
|
|
<mat-icon matSuffix |
|
|
|
|
|
matTooltipPosition="above" |
|
|
|
|
|
matTooltipClass="tb-error-tooltip" |
|
|
|
|
|
[matTooltip]="'admin.mobile-app.app-id-required' | translate" |
|
|
|
|
|
*ngIf="mobileAppSettingsForm.get('iosConfig.appId').hasError('required') |
|
|
|
|
|
&& mobileAppSettingsForm.get('iosConfig.appId').touched" |
|
|
|
|
|
class="tb-error"> |
|
|
|
|
|
warning |
|
|
|
|
|
</mat-icon> |
|
|
|
|
|
</mat-form-field> |
|
|
|
|
|
</div> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div class="tb-form-panel no-border no-padding-top" |
|
|
|
|
|
*ngIf="!mobileAppSettingsForm.get('useDefaultApp').value && mobileAppSettingsForm.get('iosConfig.enabled').value"> |
|
|
|
|
|
<div class="tb-form-row column-xs"> |
|
|
|
|
|
<div class="fixed-title-width-230">{{ 'admin.mobile-app.app-store-link' | translate }}</div> |
|
|
|
|
|
<mat-form-field class="flex" appearance="outline" subscriptSizing="dynamic"> |
|
|
|
|
|
<input matInput formControlName="storeLink" placeholder="{{'admin.mobile-app.set' | translate}}"> |
|
|
|
|
|
<mat-icon matSuffix |
|
|
|
|
|
matTooltipPosition="above" |
|
|
|
|
|
matTooltipClass="tb-error-tooltip" |
|
|
|
|
|
[matTooltip]="'admin.mobile-app.app-store-link-required' | translate" |
|
|
|
|
|
*ngIf="mobileAppSettingsForm.get('iosConfig.storeLink').hasError('required') |
|
|
|
|
|
&& mobileAppSettingsForm.get('iosConfig.storeLink').touched" |
|
|
|
|
|
class="tb-error"> |
|
|
|
|
|
warning |
|
|
|
|
|
</mat-icon> |
|
|
|
|
|
</mat-form-field> |
|
|
|
|
|
</div> |
|
|
|
|
|
</div> |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<!-- <div class="tb-form-panel stroked no-padding no-gap" formGroupName="androidConfig">--> |
|
|
|
|
|
<!-- <div class="tb-form-row no-border no-padding-bottom">--> |
|
|
|
|
|
<!-- <mat-slide-toggle class="mat-slide" formControlName="enabled" (click)="$event.stopPropagation()">--> |
|
|
|
|
|
<!-- {{ 'admin.mobile-app.android' | translate }}--> |
|
|
|
|
|
<!-- </mat-slide-toggle>--> |
|
|
|
|
|
<!-- </div>--> |
|
|
|
|
|
<!-- <div class="tb-form-panel no-border no-padding-top"--> |
|
|
|
|
|
<!-- *ngIf="!mobileAppSettingsForm.get('useDefaultApp').value && mobileAppSettingsForm.get('androidConfig.enabled').value">--> |
|
|
|
|
|
<!-- <div class="tb-form-row column-xs">--> |
|
|
|
|
|
<!-- <div class="fixed-title-width-230">{{ 'admin.mobile-app.app-package-name' | translate }}</div>--> |
|
|
|
|
|
<!-- <mat-form-field class="flex" appearance="outline" subscriptSizing="dynamic">--> |
|
|
|
|
|
<!-- <input matInput formControlName="appPackage" placeholder="{{'admin.mobile-app.set' | translate}}">--> |
|
|
|
|
|
<!-- <mat-icon matSuffix--> |
|
|
|
|
|
<!-- matTooltipPosition="above"--> |
|
|
|
|
|
<!-- matTooltipClass="tb-error-tooltip"--> |
|
|
|
|
|
<!-- [matTooltip]="'admin.mobile-app.app-package-name-required' | translate"--> |
|
|
|
|
|
<!-- *ngIf="mobileAppSettingsForm.get('androidConfig.appPackage').hasError('required')--> |
|
|
|
|
|
<!-- && mobileAppSettingsForm.get('androidConfig.appPackage').touched"--> |
|
|
|
|
|
<!-- class="tb-error">--> |
|
|
|
|
|
<!-- warning--> |
|
|
|
|
|
<!-- </mat-icon>--> |
|
|
|
|
|
<!-- </mat-form-field>--> |
|
|
|
|
|
<!-- </div>--> |
|
|
|
|
|
<!-- </div>--> |
|
|
|
|
|
<!-- <div class="tb-form-panel no-border no-padding-top"--> |
|
|
|
|
|
<!-- *ngIf="!mobileAppSettingsForm.get('useDefaultApp').value && mobileAppSettingsForm.get('androidConfig.enabled').value">--> |
|
|
|
|
|
<!-- <div class="tb-form-row column-xs">--> |
|
|
|
|
|
<!-- <div class="fixed-title-width-230">{{ 'admin.mobile-app.sha256-certificate-fingerprints' | translate }}</div>--> |
|
|
|
|
|
<!-- <mat-form-field class="flex" appearance="outline" subscriptSizing="dynamic">--> |
|
|
|
|
|
<!-- <input matInput formControlName="sha256CertFingerprints" placeholder="{{'admin.mobile-app.set' | translate}}">--> |
|
|
|
|
|
<!-- <mat-icon matSuffix--> |
|
|
|
|
|
<!-- matTooltipPosition="above"--> |
|
|
|
|
|
<!-- matTooltipClass="tb-error-tooltip"--> |
|
|
|
|
|
<!-- [matTooltip]="'admin.mobile-app.sha256-certificate-fingerprints-required' | translate"--> |
|
|
|
|
|
<!-- *ngIf="mobileAppSettingsForm.get('androidConfig.sha256CertFingerprints').hasError('required')--> |
|
|
|
|
|
<!-- && mobileAppSettingsForm.get('androidConfig.sha256CertFingerprints').touched"--> |
|
|
|
|
|
<!-- class="tb-error">--> |
|
|
|
|
|
<!-- warning--> |
|
|
|
|
|
<!-- </mat-icon>--> |
|
|
|
|
|
<!-- </mat-form-field>--> |
|
|
|
|
|
<!-- </div>--> |
|
|
|
|
|
<!-- </div>--> |
|
|
|
|
|
<!-- <div class="tb-form-panel no-border no-padding-top"--> |
|
|
|
|
|
<!-- *ngIf="!mobileAppSettingsForm.get('useDefaultApp').value && mobileAppSettingsForm.get('androidConfig.enabled').value">--> |
|
|
|
|
|
<!-- <div class="tb-form-row column-xs">--> |
|
|
|
|
|
<!-- <div class="fixed-title-width-230">{{ 'admin.mobile-app.google-play-link' | translate }}</div>--> |
|
|
|
|
|
<!-- <mat-form-field class="flex" appearance="outline" subscriptSizing="dynamic">--> |
|
|
|
|
|
<!-- <input matInput formControlName="storeLink" placeholder="{{'admin.mobile-app.set' | translate}}">--> |
|
|
|
|
|
<!-- <mat-icon matSuffix--> |
|
|
|
|
|
<!-- matTooltipPosition="above"--> |
|
|
|
|
|
<!-- matTooltipClass="tb-error-tooltip"--> |
|
|
|
|
|
<!-- [matTooltip]="'admin.mobile-app.google-play-link-required' | translate"--> |
|
|
|
|
|
<!-- *ngIf="mobileAppSettingsForm.get('androidConfig.storeLink').hasError('required')--> |
|
|
|
|
|
<!-- && mobileAppSettingsForm.get('androidConfig.storeLink').touched"--> |
|
|
|
|
|
<!-- class="tb-error">--> |
|
|
|
|
|
<!-- warning--> |
|
|
|
|
|
<!-- </mat-icon>--> |
|
|
|
|
|
<!-- </mat-form-field>--> |
|
|
|
|
|
<!-- </div>--> |
|
|
|
|
|
<!-- </div>--> |
|
|
|
|
|
<!-- </div>--> |
|
|
|
|
|
<!-- <div class="tb-form-panel stroked no-padding no-gap" formGroupName="iosConfig">--> |
|
|
|
|
|
<!-- <div class="tb-form-row no-border no-padding-bottom">--> |
|
|
|
|
|
<!-- <mat-slide-toggle class="mat-slide" formControlName="enabled" (click)="$event.stopPropagation()">--> |
|
|
|
|
|
<!-- {{ 'admin.mobile-app.ios' | translate }}--> |
|
|
|
|
|
<!-- </mat-slide-toggle>--> |
|
|
|
|
|
<!-- </div>--> |
|
|
|
|
|
<!-- <div class="tb-form-panel no-border no-padding-top"--> |
|
|
|
|
|
<!-- *ngIf="!mobileAppSettingsForm.get('useDefaultApp').value && mobileAppSettingsForm.get('iosConfig.enabled').value">--> |
|
|
|
|
|
<!-- <div class="tb-form-row column-xs">--> |
|
|
|
|
|
<!-- <div class="fixed-title-width-230">{{ 'admin.mobile-app.app-id' | translate }}</div>--> |
|
|
|
|
|
<!-- <mat-form-field class="flex" appearance="outline" subscriptSizing="dynamic">--> |
|
|
|
|
|
<!-- <input matInput formControlName="appId" placeholder="{{'admin.mobile-app.set' | translate}}">--> |
|
|
|
|
|
<!-- <mat-icon matSuffix--> |
|
|
|
|
|
<!-- matTooltipPosition="above"--> |
|
|
|
|
|
<!-- matTooltipClass="tb-error-tooltip"--> |
|
|
|
|
|
<!-- [matTooltip]="'admin.mobile-app.app-id-required' | translate"--> |
|
|
|
|
|
<!-- *ngIf="mobileAppSettingsForm.get('iosConfig.appId').hasError('required')--> |
|
|
|
|
|
<!-- && mobileAppSettingsForm.get('iosConfig.appId').touched"--> |
|
|
|
|
|
<!-- class="tb-error">--> |
|
|
|
|
|
<!-- warning--> |
|
|
|
|
|
<!-- </mat-icon>--> |
|
|
|
|
|
<!-- </mat-form-field>--> |
|
|
|
|
|
<!-- </div>--> |
|
|
|
|
|
<!-- </div>--> |
|
|
|
|
|
<!-- <div class="tb-form-panel no-border no-padding-top"--> |
|
|
|
|
|
<!-- *ngIf="!mobileAppSettingsForm.get('useDefaultApp').value && mobileAppSettingsForm.get('iosConfig.enabled').value">--> |
|
|
|
|
|
<!-- <div class="tb-form-row column-xs">--> |
|
|
|
|
|
<!-- <div class="fixed-title-width-230">{{ 'admin.mobile-app.app-store-link' | translate }}</div>--> |
|
|
|
|
|
<!-- <mat-form-field class="flex" appearance="outline" subscriptSizing="dynamic">--> |
|
|
|
|
|
<!-- <input matInput formControlName="storeLink" placeholder="{{'admin.mobile-app.set' | translate}}">--> |
|
|
|
|
|
<!-- <mat-icon matSuffix--> |
|
|
|
|
|
<!-- matTooltipPosition="above"--> |
|
|
|
|
|
<!-- matTooltipClass="tb-error-tooltip"--> |
|
|
|
|
|
<!-- [matTooltip]="'admin.mobile-app.app-store-link-required' | translate"--> |
|
|
|
|
|
<!-- *ngIf="mobileAppSettingsForm.get('iosConfig.storeLink').hasError('required')--> |
|
|
|
|
|
<!-- && mobileAppSettingsForm.get('iosConfig.storeLink').touched"--> |
|
|
|
|
|
<!-- class="tb-error">--> |
|
|
|
|
|
<!-- warning--> |
|
|
|
|
|
<!-- </mat-icon>--> |
|
|
|
|
|
<!-- </mat-form-field>--> |
|
|
|
|
|
<!-- </div>--> |
|
|
|
|
|
<!-- </div>--> |
|
|
|
|
|
<!-- </div>--> |
|
|
</div> |
|
|
</div> |
|
|
<div class="tb-form-panel" formGroupName="qrCodeConfig"> |
|
|
<div class="tb-form-panel" formGroupName="qrCodeConfig"> |
|
|
<div class="tb-form-row column-xs no-border no-padding space-between"> |
|
|
<div class="tb-form-row column-xs no-border no-padding space-between"> |
|
|
@ -154,7 +166,7 @@ |
|
|
{{ 'admin.mobile-app.badges' | translate }} |
|
|
{{ 'admin.mobile-app.badges' | translate }} |
|
|
</mat-slide-toggle> |
|
|
</mat-slide-toggle> |
|
|
<mat-form-field class="flex" appearance="outline" subscriptSizing="dynamic"> |
|
|
<mat-form-field class="flex" appearance="outline" subscriptSizing="dynamic"> |
|
|
<mat-select formControlName="badgePosition" appearance="outline" subscriptSizing="dynamic"> |
|
|
<mat-select formControlName="badgePosition"> |
|
|
<mat-option *ngFor="let badgePosition of badgePositionTranslationsMap | keyvalue" [value]="badgePosition.key"> |
|
|
<mat-option *ngFor="let badgePosition of badgePositionTranslationsMap | keyvalue" [value]="badgePosition.key"> |
|
|
{{ badgePosition.value | translate }} |
|
|
{{ badgePosition.value | translate }} |
|
|
</mat-option> |
|
|
</mat-option> |
|
|
|