UI: Prohibit chnges to asset profile with name 'TbServiceQueue'
This commit is contained in:
parent
0717a56a69
commit
3b6c16af68
@ -31,7 +31,7 @@
|
|||||||
<button mat-raised-button color="primary"
|
<button mat-raised-button color="primary"
|
||||||
[disabled]="(isLoading$ | async)"
|
[disabled]="(isLoading$ | async)"
|
||||||
(click)="onEntityAction($event, 'setDefault')"
|
(click)="onEntityAction($event, 'setDefault')"
|
||||||
[fxShow]="!isEdit && !entity?.default">
|
[fxShow]="!isEdit && !entity?.default && entity?.name !== TB_SERVICE_QUEUE">
|
||||||
{{'asset-profile.set-default' | translate }}
|
{{'asset-profile.set-default' | translate }}
|
||||||
</button>
|
</button>
|
||||||
<button mat-raised-button color="primary"
|
<button mat-raised-button color="primary"
|
||||||
|
|||||||
@ -27,7 +27,7 @@ import { RuleChainId } from '@shared/models/id/rule-chain-id';
|
|||||||
import { ServiceType } from '@shared/models/queue.models';
|
import { ServiceType } from '@shared/models/queue.models';
|
||||||
import { EntityId } from '@shared/models/id/entity-id';
|
import { EntityId } from '@shared/models/id/entity-id';
|
||||||
import { DashboardId } from '@shared/models/id/dashboard-id';
|
import { DashboardId } from '@shared/models/id/dashboard-id';
|
||||||
import { AssetProfile } from '@shared/models/asset.models';
|
import { AssetProfile, TB_SERVICE_QUEUE } from '@shared/models/asset.models';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'tb-asset-profile',
|
selector: 'tb-asset-profile',
|
||||||
@ -43,6 +43,8 @@ export class AssetProfileComponent extends EntityComponent<AssetProfile> {
|
|||||||
|
|
||||||
serviceType = ServiceType.TB_RULE_ENGINE;
|
serviceType = ServiceType.TB_RULE_ENGINE;
|
||||||
|
|
||||||
|
TB_SERVICE_QUEUE = TB_SERVICE_QUEUE;
|
||||||
|
|
||||||
assetProfileId: EntityId;
|
assetProfileId: EntityId;
|
||||||
|
|
||||||
constructor(protected store: Store<AppState>,
|
constructor(protected store: Store<AppState>,
|
||||||
|
|||||||
@ -31,7 +31,7 @@ import { DialogService } from '@core/services/dialog.service';
|
|||||||
import { MatDialog } from '@angular/material/dialog';
|
import { MatDialog } from '@angular/material/dialog';
|
||||||
import { ImportExportService } from '@home/components/import-export/import-export.service';
|
import { ImportExportService } from '@home/components/import-export/import-export.service';
|
||||||
import { HomeDialogsService } from '@home/dialogs/home-dialogs.service';
|
import { HomeDialogsService } from '@home/dialogs/home-dialogs.service';
|
||||||
import { AssetProfile } from '@shared/models/asset.models';
|
import { AssetProfile, TB_SERVICE_QUEUE } from '@shared/models/asset.models';
|
||||||
import { AssetProfileService } from '@core/http/asset-profile.service';
|
import { AssetProfileService } from '@core/http/asset-profile.service';
|
||||||
import { AssetProfileComponent } from '@home/components/profile/asset-profile.component';
|
import { AssetProfileComponent } from '@home/components/profile/asset-profile.component';
|
||||||
import { AssetProfileTabsComponent } from './asset-profile-tabs.component';
|
import { AssetProfileTabsComponent } from './asset-profile-tabs.component';
|
||||||
@ -78,7 +78,7 @@ export class AssetProfilesTableConfigResolver implements Resolve<EntityTableConf
|
|||||||
{
|
{
|
||||||
name: this.translate.instant('asset-profile.set-default'),
|
name: this.translate.instant('asset-profile.set-default'),
|
||||||
icon: 'flag',
|
icon: 'flag',
|
||||||
isEnabled: (assetProfile) => !assetProfile.default,
|
isEnabled: (assetProfile) => !assetProfile.default && TB_SERVICE_QUEUE !== assetProfile.name,
|
||||||
onAction: ($event, entity) => this.setDefaultAssetProfile($event, entity)
|
onAction: ($event, entity) => this.setDefaultAssetProfile($event, entity)
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
@ -94,8 +94,9 @@ export class AssetProfilesTableConfigResolver implements Resolve<EntityTableConf
|
|||||||
this.config.saveEntity = assetProfile => this.assetProfileService.saveAssetProfile(assetProfile);
|
this.config.saveEntity = assetProfile => this.assetProfileService.saveAssetProfile(assetProfile);
|
||||||
this.config.deleteEntity = id => this.assetProfileService.deleteAssetProfile(id.id);
|
this.config.deleteEntity = id => this.assetProfileService.deleteAssetProfile(id.id);
|
||||||
this.config.onEntityAction = action => this.onAssetProfileAction(action);
|
this.config.onEntityAction = action => this.onAssetProfileAction(action);
|
||||||
this.config.deleteEnabled = (assetProfile) => assetProfile && !assetProfile.default;
|
this.config.deleteEnabled = (assetProfile) => assetProfile && !assetProfile.default && TB_SERVICE_QUEUE !== assetProfile.name;
|
||||||
this.config.entitySelectionEnabled = (assetProfile) => assetProfile && !assetProfile.default;
|
this.config.entitySelectionEnabled = (assetProfile) => assetProfile && !assetProfile.default && TB_SERVICE_QUEUE !== assetProfile.name;
|
||||||
|
this.config.detailsReadonly = (assetProfile) => assetProfile && TB_SERVICE_QUEUE === assetProfile.name;
|
||||||
this.config.addActionDescriptors = this.configureAddActions();
|
this.config.addActionDescriptors = this.configureAddActions();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -24,6 +24,8 @@ import { RuleChainId } from '@shared/models/id/rule-chain-id';
|
|||||||
import { DashboardId } from '@shared/models/id/dashboard-id';
|
import { DashboardId } from '@shared/models/id/dashboard-id';
|
||||||
import { EntityInfoData } from '@shared/models/entity.models';
|
import { EntityInfoData } from '@shared/models/entity.models';
|
||||||
|
|
||||||
|
export const TB_SERVICE_QUEUE = 'TbServiceQueue';
|
||||||
|
|
||||||
export interface AssetProfile extends BaseData<AssetProfileId>, ExportableEntity<AssetProfileId> {
|
export interface AssetProfile extends BaseData<AssetProfileId>, ExportableEntity<AssetProfileId> {
|
||||||
tenantId?: TenantId;
|
tenantId?: TenantId;
|
||||||
name: string;
|
name: string;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user