UI: Remove qr code widgets for tenant level

This commit is contained in:
Vladyslav_Prykhodko 2024-11-04 15:04:30 +02:00
parent bbb2531c2e
commit 7a60c0fbfd
5 changed files with 5 additions and 43 deletions

View File

@ -820,8 +820,7 @@ const defaultUserMenuMap = new Map<Authority, MenuReference[]>([
id: MenuId.mobile_center,
pages: [
{id: MenuId.mobile_apps},
{id: MenuId.mobile_bundles},
{id: MenuId.mobile_qr_code_widget}
{id: MenuId.mobile_bundles}
]
},
{id: MenuId.api_usage},

View File

@ -14,7 +14,7 @@
/// limitations under the License.
///
import { ChangeDetectorRef, Component, Injector } from '@angular/core';
import { Component } from '@angular/core';
import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';
import { Store } from '@ngrx/store';
import { AppState } from '@core/core.state';
@ -42,8 +42,6 @@ export class MobileAppQrCodeBasicConfigComponent extends BasicWidgetConfigCompon
constructor(protected store: Store<AppState>,
protected widgetConfigComponent: WidgetConfigComponent,
private cd: ChangeDetectorRef,
private $injector: Injector,
private fb: UntypedFormBuilder) {
super(store, widgetConfigComponent);
}

View File

@ -27,12 +27,7 @@
<div style="height: 4px;" *ngIf="!(isLoading$ | async)"></div>
<mat-card-content style="padding-top: 16px">
<div class="tb-form-panel no-border no-padding" [formGroup]="mobileAppSettingsForm">
<div class="tb-form-row no-border no-padding-bottom" *ngIf="isTenantAdmin()">
<mat-slide-toggle class="mat-slide" formControlName="useSystemSettings">
{{ 'admin.mobile-app.use-system-settings' | translate }}
</mat-slide-toggle>
</div>
<div class="tb-form-panel" *ngIf="!mobileAppSettingsForm.get('useSystemSettings').value">
<div class="tb-form-panel">
<div class="tb-form-row column-xs no-border no-padding space-between">
<div class="tb-form-panel-title" translate>admin.mobile-app.applications</div>
<tb-toggle-select formControlName="useDefaultApp">
@ -63,7 +58,7 @@
</mat-slide-toggle>
</div>
</div>
<div class="tb-form-panel" formGroupName="qrCodeConfig" *ngIf="!mobileAppSettingsForm.get('useSystemSettings').value">
<div class="tb-form-panel" formGroupName="qrCodeConfig">
<div class="tb-form-row column-xs no-border no-padding space-between">
<div class="tb-form-panel-title" translate>admin.mobile-app.appearance-on-home-page</div>
<tb-toggle-select formControlName="showOnHomePage">
@ -98,7 +93,7 @@
matTooltipClass="tb-error-tooltip"
[matTooltip]="(mobileAppSettingsForm.get('qrCodeConfig.qrCodeLabel').hasError('required') ?
'admin.mobile-app.label-required' : 'admin.mobile-app.label-max-length') | translate"
*ngIf="mobileAppSettingsForm.get('qrCodeConfig.qrCodeLabel').touched &&
*ngIf="!mobileAppSettingsForm.get('qrCodeConfig.qrCodeLabel').untouched &&
mobileAppSettingsForm.get('qrCodeConfig.qrCodeLabel').hasError('required') ||
mobileAppSettingsForm.get('qrCodeConfig.qrCodeLabel').hasError('maxlength')"
class="tb-error">

View File

@ -24,8 +24,6 @@ import { MobileApplicationService } from '@core/http/mobile-application.service'
import { BadgePosition, badgePositionTranslationsMap, QrCodeSettings } from '@shared/models/mobile-app.models';
import { ActionUpdateMobileQrCodeEnabled } from '@core/auth/auth.actions';
import { EntityType } from '@shared/models/entity-type.models';
import { getCurrentAuthUser } from '@core/auth/auth.selectors';
import { Authority } from '@shared/models/authority.enum';
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
@Component({
@ -39,7 +37,6 @@ export class MobileQrCodeWidgetSettingsComponent extends PageComponent implement
readonly entityType = EntityType;
mobileAppSettingsForm = this.fb.group({
useSystemSettings: [false],
useDefaultApp: [true],
mobileAppBundleId: [{value: null, disabled: true}, Validators.required],
androidEnabled: [true],
@ -53,7 +50,6 @@ export class MobileQrCodeWidgetSettingsComponent extends PageComponent implement
})
});
private authUser = getCurrentAuthUser(this.store);
private mobileAppSettings: QrCodeSettings;
constructor(protected store: Store<AppState>,
@ -62,24 +58,6 @@ export class MobileQrCodeWidgetSettingsComponent extends PageComponent implement
super(store);
this.mobileAppService.getMobileAppSettings()
.subscribe(settings => this.processMobileAppSettings(settings));
if (this.isTenantAdmin()) {
this.mobileAppSettingsForm.get('useSystemSettings').valueChanges.pipe(
takeUntilDestroyed()
).subscribe(value => {
if (value) {
this.mobileAppSettingsForm.get('mobileAppBundleId').disable({emitEvent: false});
this.mobileAppSettingsForm.get('qrCodeConfig.qrCodeLabel').disable({emitEvent: false});
} else {
const formValue = this.mobileAppSettingsForm.value;
if (!formValue.useDefaultApp) {
this.mobileAppSettingsForm.get('mobileAppBundleId').enable({emitEvent: false});
}
if (formValue.qrCodeConfig.qrCodeLabelEnabled && formValue.qrCodeConfig.showOnHomePage) {
this.mobileAppSettingsForm.get('qrCodeConfig.qrCodeLabel').enable({emitEvent: false});
}
}
});
}
this.mobileAppSettingsForm.get('useDefaultApp').valueChanges.pipe(
takeUntilDestroyed()
).subscribe(value => {
@ -138,15 +116,8 @@ export class MobileQrCodeWidgetSettingsComponent extends PageComponent implement
});
}
public isTenantAdmin(): boolean {
return this.authUser.authority === Authority.TENANT_ADMIN;
}
private processMobileAppSettings(mobileAppSettings: QrCodeSettings): void {
this.mobileAppSettings = {...mobileAppSettings};
if (!this.isTenantAdmin()) {
this.mobileAppSettings.useSystemSettings = false;
}
this.mobileAppSettingsForm.reset(this.mobileAppSettings);
}

View File

@ -22,7 +22,6 @@ import { MobileAppBundleId } from '@shared/models/id/mobile-app-bundle-id';
import { deepClone, isNotEmptyStr } from '@core/utils';
export interface QrCodeSettings extends HasTenantId {
useSystemSettings: boolean;
useDefaultApp: boolean;
mobileAppBundleId: MobileAppBundleId
androidEnabled: boolean;