Merge pull request #11704 from maxunbearable/fix/4487-version-conflict-fixes

Version Conflict Fixes
This commit is contained in:
Igor Kulikov 2024-09-20 16:37:52 +03:00 committed by GitHub
commit 7601138535
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 18 additions and 11 deletions

View File

@ -116,17 +116,18 @@
<mat-icon>edit</mat-icon>{{'dashboard.edit-mode' | translate}}</button> <mat-icon>edit</mat-icon>{{'dashboard.edit-mode' | translate}}</button>
</ng-container> </ng-container>
<ng-container *ngIf="isEdit"> <ng-container *ngIf="isEdit">
<button fxHide.gt-md mat-icon-button (click)="saveDashboard()" <button fxHide.gt-md mat-icon-button (click)="saveDashboard()" [disabled]="isLoading$ | async"
matTooltip="{{'action.save' | translate}}" matTooltip="{{'action.save' | translate}}"
matTooltipPosition="below"> matTooltipPosition="below">
<mat-icon>done</mat-icon></button> <mat-icon>done</mat-icon></button>
<button fxHide.lt-lg mat-stroked-button (click)="saveDashboard()"> <button fxHide.lt-lg mat-stroked-button [disabled]="isLoading$ | async" (click)="saveDashboard()">
<mat-icon>done</mat-icon>{{ 'action.save' | translate }}</button> <mat-icon>done</mat-icon>{{ 'action.save' | translate }}</button>
<button fxHide.gt-md mat-icon-button (click)="toggleDashboardEditMode()" <button fxHide.gt-md mat-icon-button (click)="toggleDashboardEditMode()"
matTooltip="{{'action.cancel' | translate}}" matTooltip="{{'action.cancel' | translate}}"
[disabled]="isLoading$ | async"
matTooltipPosition="below"> matTooltipPosition="below">
<mat-icon>close</mat-icon></button> <mat-icon>close</mat-icon></button>
<button fxHide.lt-lg mat-button (click)="toggleDashboardEditMode()"> <button fxHide.lt-lg mat-button (click)="toggleDashboardEditMode()" [disabled]="isLoading$ | async">
<mat-icon>close</mat-icon>{{ 'action.cancel' | translate }}</button> <mat-icon>close</mat-icon>{{ 'action.cancel' | translate }}</button>
<mat-divider class="tb-toolbar-divider" vertical></mat-divider> <mat-divider class="tb-toolbar-divider" vertical></mat-divider>
</ng-container> </ng-container>
@ -352,6 +353,7 @@
mat-mini-fab mat-mini-fab
class="tb-btn-header tb-btn-edit" class="tb-btn-header tb-btn-edit"
(click)="saveDashboard()" (click)="saveDashboard()"
[disabled]="isLoading$ | async"
matTooltip="{{'action.save' | translate}}" matTooltip="{{'action.save' | translate}}"
matTooltipPosition="below"> matTooltipPosition="below">
<mat-icon>done</mat-icon></button> <mat-icon>done</mat-icon></button>
@ -360,6 +362,7 @@
mat-mini-fab mat-mini-fab
class="tb-btn-header tb-btn-edit" class="tb-btn-header tb-btn-edit"
(click)="toggleDashboardEditMode()" (click)="toggleDashboardEditMode()"
[disabled]="isLoading$ | async"
matTooltip="{{'action.cancel' | translate}}" matTooltip="{{'action.cancel' | translate}}"
matTooltipPosition="below"> matTooltipPosition="below">
<mat-icon>close</mat-icon></button> <mat-icon>close</mat-icon></button>

View File

@ -29,9 +29,7 @@
<div mat-dialog-content> <div mat-dialog-content>
<div class="message-container"> <div class="message-container">
<span> <span>
{{ 'entity.version-conflict.link' | translate: {{ 'entity.version-conflict.link' | translate:{ entityType: entityTypeLabel | translate } }}
{ entityType: (entityTypeTranslations.get(entityId.entityType).type | translate) }
}}
<a class="cursor-pointer" (click)="onLinkClick($event)">{{ 'entity.link' | translate }}</a>. <a class="cursor-pointer" (click)="onLinkClick($event)">{{ 'entity.link' | translate }}</a>.
</span> </span>
<br/> <br/>

View File

@ -42,8 +42,10 @@ interface EntityConflictDialogData {
export class EntityConflictDialogComponent { export class EntityConflictDialogComponent {
entityId: EntityId; entityId: EntityId;
entityTypeLabel: string;
readonly entityTypeTranslations = entityTypeTranslations; readonly entityTypeTranslations = entityTypeTranslations;
private readonly defaultEntityLabel = 'entity.entity';
constructor( constructor(
@Inject(MAT_DIALOG_DATA) public data: EntityConflictDialogData, @Inject(MAT_DIALOG_DATA) public data: EntityConflictDialogData,
@ -51,6 +53,9 @@ export class EntityConflictDialogComponent {
private importExportService: ImportExportService, private importExportService: ImportExportService,
) { ) {
this.entityId = (data.entity as EntityInfoData).id ?? (data.entity as RuleChainMetaData).ruleChainId; this.entityId = (data.entity as EntityInfoData).id ?? (data.entity as RuleChainMetaData).ruleChainId;
this.entityTypeLabel = entityTypeTranslations.has(this.entityId.entityType)
? (entityTypeTranslations.get(this.entityId.entityType).type)
: this.defaultEntityLabel;
} }
onCancel(): void { onCancel(): void {

View File

@ -55,11 +55,7 @@ import { EntityType } from '@shared/models/entity-type.models';
import { UtilsService } from '@core/services/utils.service'; import { UtilsService } from '@core/services/utils.service';
import { WidgetService } from '@core/http/widget.service'; import { WidgetService } from '@core/http/widget.service';
import { WidgetsBundle } from '@shared/models/widgets-bundle.model'; import { WidgetsBundle } from '@shared/models/widgets-bundle.model';
import { import { EntityInfoData, ImportEntitiesResultInfo, ImportEntityData } from '@shared/models/entity.models';
EntityInfoData,
ImportEntitiesResultInfo,
ImportEntityData
} from '@shared/models/entity.models';
import { RequestConfig } from '@core/http/http-utils'; import { RequestConfig } from '@core/http/http-utils';
import { RuleChain, RuleChainImport, RuleChainMetaData, RuleChainType } from '@shared/models/rule-chain.models'; import { RuleChain, RuleChainImport, RuleChainMetaData, RuleChainType } from '@shared/models/rule-chain.models';
import { RuleChainService } from '@core/http/rule-chain.service'; import { RuleChainService } from '@core/http/rule-chain.service';
@ -85,6 +81,7 @@ import { selectUserSettingsProperty } from '@core/auth/auth.selectors';
import { ActionPreferencesPutUserSettings } from '@core/auth/auth.actions'; import { ActionPreferencesPutUserSettings } from '@core/auth/auth.actions';
import { ExportableEntity } from '@shared/models/base-data'; import { ExportableEntity } from '@shared/models/base-data';
import { EntityId } from '@shared/models/id/entity-id'; import { EntityId } from '@shared/models/id/entity-id';
import { Customer } from '@shared/models/customer.model';
export type editMissingAliasesFunction = (widgets: Array<Widget>, isSingleWidget: boolean, export type editMissingAliasesFunction = (widgets: Array<Widget>, isSingleWidget: boolean,
customTitle: string, missingEntityAliases: EntityAliases) => Observable<EntityAliases>; customTitle: string, missingEntityAliases: EntityAliases) => Observable<EntityAliases>;
@ -391,6 +388,10 @@ export class ImportExportService {
case EntityType.DASHBOARD: case EntityType.DASHBOARD:
preparedData = this.prepareDashboardExport(entityData as Dashboard); preparedData = this.prepareDashboardExport(entityData as Dashboard);
break; break;
case EntityType.CUSTOMER:
preparedData = this.prepareExport({...entityData, name: (entityData as Customer).title});
(entityData as EntityInfoData).name = (entityData as Customer).title;
break;
default: default:
preparedData = this.prepareExport(entityData); preparedData = this.prepareExport(entityData);
} }