Improvement dialog and component style
This commit is contained in:
parent
fca2dd6213
commit
56bb0f6071
@ -379,7 +379,7 @@ spring:
|
||||
database-platform: "${SPRING_JPA_DATABASE_PLATFORM:org.hibernate.dialect.PostgreSQLDialect}"
|
||||
datasource:
|
||||
driverClassName: "${SPRING_DRIVER_CLASS_NAME:org.postgresql.Driver}"
|
||||
url: "${SPRING_DATASOURCE_URL:jdbc:postgresql://localhost:5432/thingsboard}"
|
||||
url: "${SPRING_DATASOURCE_URL:jdbc:postgresql://localhost:5432/thingsboard_angular}"
|
||||
username: "${SPRING_DATASOURCE_USERNAME:postgres}"
|
||||
password: "${SPRING_DATASOURCE_PASSWORD:postgres}"
|
||||
hikari:
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
<section [formGroup]="parentForm">
|
||||
<mat-form-field class="mat-block">
|
||||
<mat-label translate>contact.country</mat-label>
|
||||
<mat-select matInput formControlName="country">
|
||||
<mat-select formControlName="country">
|
||||
<mat-option *ngFor="let country of countries" [value]="country">
|
||||
{{ country }}
|
||||
</mat-option>
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
/// limitations under the License.
|
||||
///
|
||||
|
||||
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
||||
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
||||
import { PageComponent } from '@shared/components/page.component';
|
||||
import { Store } from '@ngrx/store';
|
||||
import { AppState } from '@core/core.state';
|
||||
|
||||
@ -16,11 +16,11 @@
|
||||
|
||||
-->
|
||||
<form (ngSubmit)="add()" style="min-width: 400px;" [ngStyle]="entitiesTableConfig.addDialogStyle">
|
||||
<mat-toolbar fxLayout="row" color="primary">
|
||||
<mat-toolbar color="primary">
|
||||
<h2 translate>{{ translations.add }}</h2>
|
||||
<span fxFlex></span>
|
||||
<div [tb-help]="resources.helpLinkId"></div>
|
||||
<button mat-button mat-icon-button
|
||||
<button mat-icon-button
|
||||
(click)="cancel()"
|
||||
type="button">
|
||||
<mat-icon class="material-icons">close</mat-icon>
|
||||
@ -32,15 +32,13 @@
|
||||
<div mat-dialog-content>
|
||||
<tb-anchor #entityDetailsForm></tb-anchor>
|
||||
</div>
|
||||
<div mat-dialog-actions fxLayout="row">
|
||||
<span fxFlex></span>
|
||||
<button mat-button mat-raised-button color="primary"
|
||||
<div mat-dialog-actions fxLayoutAlign="end center">
|
||||
<button mat-raised-button color="primary"
|
||||
type="submit"
|
||||
[disabled]="(isLoading$ | async) || detailsForm.invalid || !detailsForm.dirty">
|
||||
{{ 'action.add' | translate }}
|
||||
</button>
|
||||
<button mat-button color="primary"
|
||||
style="margin-right: 20px;"
|
||||
type="button"
|
||||
cdkFocusInitial
|
||||
[disabled]="(isLoading$ | async)"
|
||||
|
||||
@ -13,5 +13,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
:host {
|
||||
:host ::ng-deep .mat-padding{
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
@ -14,20 +14,19 @@
|
||||
/// limitations under the License.
|
||||
///
|
||||
|
||||
import {Component, ComponentFactoryResolver, Inject, OnInit, SkipSelf, ViewChild} from '@angular/core';
|
||||
import { Component, ComponentFactoryResolver, Inject, OnInit, SkipSelf, ViewChild } from '@angular/core';
|
||||
import { ErrorStateMatcher } from '@angular/material/core';
|
||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||
import {PageComponent} from '@shared/components/page.component';
|
||||
import {Store} from '@ngrx/store';
|
||||
import {AppState} from '@core/core.state';
|
||||
import {FormControl, FormGroupDirective, NgForm} from '@angular/forms';
|
||||
import {EntityTypeResource, EntityTypeTranslation} from '@shared/models/entity-type.models';
|
||||
import {BaseData, HasId} from '@shared/models/base-data';
|
||||
import {EntityId} from '@shared/models/id/entity-id';
|
||||
import {TbAnchorComponent} from '@shared/components/tb-anchor.component';
|
||||
import {EntityComponent} from './entity.component';
|
||||
import {EntityTableConfig} from '@home/models/entity/entities-table-config.models';
|
||||
import {AddEntityDialogData} from '@home/models/entity/entity-component.models';
|
||||
import { Store } from '@ngrx/store';
|
||||
import { AppState } from '@core/core.state';
|
||||
import { FormControl, FormGroupDirective, NgForm } from '@angular/forms';
|
||||
import { EntityTypeResource, EntityTypeTranslation } from '@shared/models/entity-type.models';
|
||||
import { BaseData, HasId } from '@shared/models/base-data';
|
||||
import { EntityId } from '@shared/models/id/entity-id';
|
||||
import { TbAnchorComponent } from '@shared/components/tb-anchor.component';
|
||||
import { EntityComponent } from './entity.component';
|
||||
import { EntityTableConfig } from '@home/models/entity/entities-table-config.models';
|
||||
import { AddEntityDialogData } from '@home/models/entity/entity-component.models';
|
||||
import { DialogComponent } from '@shared/components/dialog.component';
|
||||
import { Router } from '@angular/router';
|
||||
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
|
||||
-->
|
||||
<form #addEntitiesToCustomerForm="ngForm" [formGroup]="addEntitiesToCustomerFormGroup" (ngSubmit)="assign()">
|
||||
<mat-toolbar fxLayout="row" color="primary">
|
||||
<mat-toolbar color="primary">
|
||||
<h2>{{ assignToCustomerTitle | translate }}</h2>
|
||||
<span fxFlex></span>
|
||||
<button mat-button mat-icon-button
|
||||
@ -39,16 +39,14 @@
|
||||
</tb-entity-list>
|
||||
</fieldset>
|
||||
</div>
|
||||
<div mat-dialog-actions fxLayout="row">
|
||||
<span fxFlex></span>
|
||||
<button mat-button mat-raised-button color="primary"
|
||||
<div mat-dialog-actions fxLayoutAlign="end center">
|
||||
<button mat-raised-button color="primary"
|
||||
type="submit"
|
||||
[disabled]="(isLoading$ | async) || addEntitiesToCustomerForm.invalid
|
||||
|| !addEntitiesToCustomerForm.dirty">
|
||||
{{ 'action.assign' | translate }}
|
||||
</button>
|
||||
<button mat-button color="primary"
|
||||
style="margin-right: 20px;"
|
||||
type="button"
|
||||
[disabled]="(isLoading$ | async)"
|
||||
(click)="cancel()" cdkFocusInitial>
|
||||
|
||||
@ -14,19 +14,18 @@
|
||||
/// limitations under the License.
|
||||
///
|
||||
|
||||
import {Component, Inject, OnInit, SkipSelf} from '@angular/core';
|
||||
import { Component, Inject, OnInit, SkipSelf } from '@angular/core';
|
||||
import { ErrorStateMatcher } from '@angular/material/core';
|
||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||
import {PageComponent} from '@shared/components/page.component';
|
||||
import {Store} from '@ngrx/store';
|
||||
import {AppState} from '@core/core.state';
|
||||
import {FormBuilder, FormControl, FormGroup, FormGroupDirective, NgForm, Validators} from '@angular/forms';
|
||||
import {DeviceService} from '@core/http/device.service';
|
||||
import {EntityType} from '@shared/models/entity-type.models';
|
||||
import {forkJoin, Observable} from 'rxjs';
|
||||
import {AssetService} from '@core/http/asset.service';
|
||||
import {EntityViewService} from '@core/http/entity-view.service';
|
||||
import {DashboardService} from '@core/http/dashboard.service';
|
||||
import { Store } from '@ngrx/store';
|
||||
import { AppState } from '@core/core.state';
|
||||
import { FormBuilder, FormControl, FormGroup, FormGroupDirective, NgForm, Validators } from '@angular/forms';
|
||||
import { DeviceService } from '@core/http/device.service';
|
||||
import { EntityType } from '@shared/models/entity-type.models';
|
||||
import { forkJoin, Observable } from 'rxjs';
|
||||
import { AssetService } from '@core/http/asset.service';
|
||||
import { EntityViewService } from '@core/http/entity-view.service';
|
||||
import { DashboardService } from '@core/http/dashboard.service';
|
||||
import { DialogComponent } from '@shared/components/dialog.component';
|
||||
import { Router } from '@angular/router';
|
||||
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
|
||||
-->
|
||||
<form #assignToCustomerForm="ngForm" [formGroup]="assignToCustomerFormGroup" (ngSubmit)="assign()">
|
||||
<mat-toolbar fxLayout="row" color="primary">
|
||||
<mat-toolbar color="primary">
|
||||
<h2>{{ assignToCustomerTitle | translate }}</h2>
|
||||
<span fxFlex></span>
|
||||
<button mat-button mat-icon-button
|
||||
@ -30,7 +30,7 @@
|
||||
<div style="height: 4px;" *ngIf="!(isLoading$ | async)"></div>
|
||||
<div mat-dialog-content>
|
||||
<fieldset [disabled]="isLoading$ | async">
|
||||
<span>{{ assignToCustomerText | translate }}</span>
|
||||
<div style="padding-bottom: 0.5em;">{{ assignToCustomerText | translate }}</div>
|
||||
<tb-entity-autocomplete
|
||||
formControlName="customerId"
|
||||
required
|
||||
@ -38,16 +38,14 @@
|
||||
</tb-entity-autocomplete>
|
||||
</fieldset>
|
||||
</div>
|
||||
<div mat-dialog-actions fxLayout="row">
|
||||
<span fxFlex></span>
|
||||
<button mat-button mat-raised-button color="primary"
|
||||
<div mat-dialog-actions fxLayout="row" fxLayoutAlign="end center">
|
||||
<button mat-raised-button color="primary"
|
||||
type="submit"
|
||||
[disabled]="(isLoading$ | async) || assignToCustomerForm.invalid
|
||||
|| !assignToCustomerForm.dirty">
|
||||
{{ 'action.assign' | translate }}
|
||||
</button>
|
||||
<button mat-button color="primary"
|
||||
style="margin-right: 20px;"
|
||||
type="button"
|
||||
[disabled]="(isLoading$ | async)"
|
||||
(click)="cancel()" cdkFocusInitial>
|
||||
|
||||
@ -14,19 +14,18 @@
|
||||
/// limitations under the License.
|
||||
///
|
||||
|
||||
import {Component, Inject, OnInit, SkipSelf} from '@angular/core';
|
||||
import { Component, Inject, OnInit, SkipSelf } from '@angular/core';
|
||||
import { ErrorStateMatcher } from '@angular/material/core';
|
||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||
import {PageComponent} from '@shared/components/page.component';
|
||||
import {Store} from '@ngrx/store';
|
||||
import {AppState} from '@core/core.state';
|
||||
import {FormBuilder, FormControl, FormGroup, FormGroupDirective, NgForm, Validators} from '@angular/forms';
|
||||
import {DeviceService} from '@core/http/device.service';
|
||||
import {EntityId} from '@shared/models/id/entity-id';
|
||||
import {EntityType} from '@shared/models/entity-type.models';
|
||||
import {forkJoin, Observable} from 'rxjs';
|
||||
import {AssetService} from '@core/http/asset.service';
|
||||
import {EntityViewService} from '@core/http/entity-view.service';
|
||||
import { Store } from '@ngrx/store';
|
||||
import { AppState } from '@core/core.state';
|
||||
import { FormBuilder, FormControl, FormGroup, FormGroupDirective, NgForm, Validators } from '@angular/forms';
|
||||
import { DeviceService } from '@core/http/device.service';
|
||||
import { EntityId } from '@shared/models/id/entity-id';
|
||||
import { EntityType } from '@shared/models/entity-type.models';
|
||||
import { forkJoin, Observable } from 'rxjs';
|
||||
import { AssetService } from '@core/http/asset.service';
|
||||
import { EntityViewService } from '@core/http/entity-view.service';
|
||||
import { DialogComponent } from '@shared/components/dialog.component';
|
||||
import { Router } from '@angular/router';
|
||||
|
||||
|
||||
@ -17,8 +17,8 @@
|
||||
import { NgModule } from '@angular/core';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { SharedModule } from '@app/shared/shared.module';
|
||||
import {AssignToCustomerDialogComponent} from '@modules/home/dialogs/assign-to-customer-dialog.component';
|
||||
import {AddEntitiesToCustomerDialogComponent} from '@modules/home/dialogs/add-entities-to-customer-dialog.component';
|
||||
import { AssignToCustomerDialogComponent } from '@modules/home/dialogs/assign-to-customer-dialog.component';
|
||||
import { AddEntitiesToCustomerDialogComponent } from '@modules/home/dialogs/add-entities-to-customer-dialog.component';
|
||||
import { HomeDialogsService } from './home-dialogs.service';
|
||||
|
||||
@NgModule({
|
||||
|
||||
@ -15,8 +15,6 @@
|
||||
///
|
||||
|
||||
import { Injectable } from '@angular/core';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { AuthService } from '@core/auth/auth.service';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { EntityType } from '@shared/models/entity-type.models';
|
||||
import { Observable } from 'rxjs';
|
||||
@ -38,7 +36,6 @@ export class HomeDialogsService {
|
||||
return this.openImportDialogCSV(entityType, 'device.import', 'device.device-file');
|
||||
case EntityType.ASSET:
|
||||
return this.openImportDialogCSV(entityType, 'asset.import', 'asset.asset-file');
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -146,7 +146,7 @@ export class AssetsTableConfigResolver implements Resolve<EntityTableConfig<Asse
|
||||
|
||||
configureColumns(assetScope: string): Array<EntityTableColumn<AssetInfo>> {
|
||||
const columns: Array<EntityTableColumn<AssetInfo>> = [
|
||||
new DateEntityTableColumn<AssetInfo>('createdTime', 'asset.created-time', this.datePipe, '150px'),
|
||||
new DateEntityTableColumn<AssetInfo>('createdTime', 'common.created-time', this.datePipe, '150px'),
|
||||
new EntityTableColumn<AssetInfo>('name', 'asset.name', '25%'),
|
||||
new EntityTableColumn<AssetInfo>('type', 'asset.asset-type', '25%'),
|
||||
new EntityTableColumn<DeviceInfo>('label', 'asset.label', '25%'),
|
||||
|
||||
@ -15,11 +15,11 @@
|
||||
limitations under the License.
|
||||
|
||||
-->
|
||||
<form #deviceCredentialsForm="ngForm" [formGroup]="deviceCredentialsFormGroup" (ngSubmit)="save()">
|
||||
<mat-toolbar fxLayout="row" color="primary">
|
||||
<form #deviceCredentialsForm="ngForm" [formGroup]="deviceCredentialsFormGroup" (ngSubmit)="save()" style="min-width: 350px;">
|
||||
<mat-toolbar color="primary">
|
||||
<h2 translate>device.device-credentials</h2>
|
||||
<span fxFlex></span>
|
||||
<button mat-button mat-icon-button
|
||||
<button mat-icon-button
|
||||
(click)="cancel()"
|
||||
type="button">
|
||||
<mat-icon class="material-icons">close</mat-icon>
|
||||
@ -32,7 +32,7 @@
|
||||
<fieldset [disabled]="(isLoading$ | async) || isReadOnly">
|
||||
<mat-form-field class="mat-block">
|
||||
<mat-label translate>device.credentials-type</mat-label>
|
||||
<mat-select matInput formControlName="credentialsType"
|
||||
<mat-select formControlName="credentialsType"
|
||||
(ngModelChange)="credentialsTypeChanged()">
|
||||
<mat-option *ngFor="let credentialsType of credentialsTypes" [value]="credentialsType">
|
||||
{{ credentialTypeNamesMap.get(deviceCredentialsType[credentialsType]) }}
|
||||
@ -60,16 +60,14 @@
|
||||
</mat-form-field>
|
||||
</fieldset>
|
||||
</div>
|
||||
<div mat-dialog-actions fxLayout="row">
|
||||
<span fxFlex></span>
|
||||
<button *ngIf="!isReadOnly" mat-button mat-raised-button color="primary"
|
||||
<div mat-dialog-actions fxLayoutAlign="end center">
|
||||
<button *ngIf="!isReadOnly" mat-raised-button color="primary"
|
||||
type="submit"
|
||||
[disabled]="(isLoading$ | async) || deviceCredentialsForm.invalid
|
||||
|| !deviceCredentialsForm.dirty">
|
||||
{{ 'action.save' | translate }}
|
||||
</button>
|
||||
<button mat-button color="primary"
|
||||
style="margin-right: 20px;"
|
||||
type="button"
|
||||
[disabled]="(isLoading$ | async)"
|
||||
(click)="cancel()" cdkFocusInitial>
|
||||
|
||||
@ -14,18 +14,14 @@
|
||||
/// limitations under the License.
|
||||
///
|
||||
|
||||
import {Component, OnInit, SkipSelf, Inject} from '@angular/core';
|
||||
import { Component, Inject, OnInit, SkipSelf } from '@angular/core';
|
||||
import { ErrorStateMatcher } from '@angular/material/core';
|
||||
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
|
||||
import { PageComponent } from '@shared/components/page.component';
|
||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||
import { Store } from '@ngrx/store';
|
||||
import { AppState } from '@core/core.state';
|
||||
import {FormBuilder, FormControl, FormGroup, FormGroupDirective, NgForm, Validators} from '@angular/forms';
|
||||
import { ActionNotificationShow } from '@core/notification/notification.actions';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { AuthService } from '@core/auth/auth.service';
|
||||
import {DeviceService} from '@core/http/device.service';
|
||||
import {DeviceCredentials, DeviceCredentialsType, credentialTypeNames} from '@shared/models/device.models';
|
||||
import { FormBuilder, FormControl, FormGroup, FormGroupDirective, NgForm, Validators } from '@angular/forms';
|
||||
import { DeviceService } from '@core/http/device.service';
|
||||
import { credentialTypeNames, DeviceCredentials, DeviceCredentialsType } from '@shared/models/device.models';
|
||||
import { DialogComponent } from '@shared/components/dialog.component';
|
||||
import { Router } from '@angular/router';
|
||||
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
|
||||
-->
|
||||
<form (ngSubmit)="add()" style="width: 600px;">
|
||||
<mat-toolbar fxLayout="row" color="primary">
|
||||
<mat-toolbar color="primary">
|
||||
<h2 translate>user.add</h2>
|
||||
<span fxFlex></span>
|
||||
<div [tb-help]="'user'"></div>
|
||||
@ -33,22 +33,20 @@
|
||||
<tb-user></tb-user>
|
||||
<mat-form-field class="mat-block">
|
||||
<mat-label translate>user.activation-method</mat-label>
|
||||
<mat-select matInput [ngModelOptions]="{standalone: true}" [(ngModel)]="activationMethod">
|
||||
<mat-select [ngModelOptions]="{standalone: true}" [(ngModel)]="activationMethod">
|
||||
<mat-option *ngFor="let activationMethod of activationMethods" [value]="activationMethod">
|
||||
{{ activationMethodTranslations.get(activationMethodEnum[activationMethod]) | translate }}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<div mat-dialog-actions fxLayout="row">
|
||||
<span fxFlex></span>
|
||||
<button mat-button mat-raised-button color="primary"
|
||||
<div mat-dialog-actions fxLayoutAlign="end center">
|
||||
<button mat-raised-button color="primary"
|
||||
type="submit"
|
||||
[disabled]="(isLoading$ | async) || detailsForm.invalid || !detailsForm.dirty">
|
||||
{{ 'action.add' | translate }}
|
||||
</button>
|
||||
<button mat-button color="primary"
|
||||
style="margin-right: 20px;"
|
||||
type="button"
|
||||
cdkFocusInitial
|
||||
[disabled]="(isLoading$ | async)"
|
||||
|
||||
@ -0,0 +1,19 @@
|
||||
/**
|
||||
* Copyright © 2016-2020 The Thingsboard Authors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
:host ::ng-deep .mat-padding{
|
||||
padding: 0;
|
||||
}
|
||||
@ -16,7 +16,6 @@
|
||||
|
||||
import { Component, Inject, OnInit, ViewChild } from '@angular/core';
|
||||
import { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';
|
||||
import { PageComponent } from '@shared/components/page.component';
|
||||
import { Store } from '@ngrx/store';
|
||||
import { AppState } from '@core/core.state';
|
||||
import { NgForm } from '@angular/forms';
|
||||
@ -30,7 +29,7 @@ import {
|
||||
ActivationLinkDialogComponent,
|
||||
ActivationLinkDialogData
|
||||
} from '@modules/home/pages/user/activation-link-dialog.component';
|
||||
import {TenantId} from '@app/shared/models/id/tenant-id';
|
||||
import { TenantId } from '@app/shared/models/id/tenant-id';
|
||||
import { DialogComponent } from '@shared/components/dialog.component';
|
||||
import { Router } from '@angular/router';
|
||||
|
||||
@ -42,7 +41,8 @@ export interface AddUserDialogData {
|
||||
|
||||
@Component({
|
||||
selector: 'tb-add-user-dialog',
|
||||
templateUrl: './add-user-dialog.component.html'
|
||||
templateUrl: './add-user-dialog.component.html',
|
||||
styleUrls: ['./add-user-dialog.component.scss']
|
||||
})
|
||||
export class AddUserDialogComponent extends DialogComponent<AddUserDialogComponent, User> implements OnInit {
|
||||
|
||||
|
||||
@ -16,8 +16,7 @@
|
||||
|
||||
-->
|
||||
<h2 mat-dialog-title>{{data.title}}</h2>
|
||||
<div mat-dialog-content [innerHTML]="data.message">
|
||||
</div>
|
||||
<div mat-dialog-actions fxLayout="row" fxLayoutAlign="end center">
|
||||
<div mat-dialog-content [innerHTML]="data.message"></div>
|
||||
<div mat-dialog-actions fxLayoutAlign="end center">
|
||||
<button mat-button color="primary" [mat-dialog-close]="true" cdkFocusInitial>{{data.ok}}</button>
|
||||
</div>
|
||||
|
||||
@ -16,9 +16,8 @@
|
||||
|
||||
-->
|
||||
<h2 mat-dialog-title>{{data.title}}</h2>
|
||||
<div mat-dialog-content [innerHTML]="data.message">
|
||||
</div>
|
||||
<div mat-dialog-actions fxLayout="row" fxLayoutAlign="end center">
|
||||
<div mat-dialog-content [innerHTML]="data.message"></div>
|
||||
<div mat-dialog-actions fxLayoutAlign="end center">
|
||||
<button mat-button color="primary" [mat-dialog-close]="false">{{data.cancel}}</button>
|
||||
<button mat-button color="primary" [mat-dialog-close]="true" cdkFocusInitial>{{data.ok}}</button>
|
||||
</div>
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
-->
|
||||
<mat-form-field [formGroup]="subTypeFormGroup" class="mat-block">
|
||||
<mat-label *ngIf="showLabel">{{ entitySubtypeTitle | translate }}</mat-label>
|
||||
<mat-select [fxShow]="subTypesLoaded" class="tb-entity-subtype-select" matInput formControlName="subType">
|
||||
<mat-select [fxShow]="subTypesLoaded" class="tb-entity-subtype-select" formControlName="subType">
|
||||
<mat-option *ngFor="let subType of subTypesOptions | async" [value]="subType">
|
||||
{{ displaySubTypeFn(subType) }}
|
||||
</mat-option>
|
||||
|
||||
@ -14,7 +14,5 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
:host {
|
||||
mat-select.tb-entity-subtype-select {
|
||||
min-width: 200px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -14,26 +14,18 @@
|
||||
/// limitations under the License.
|
||||
///
|
||||
|
||||
import {AfterViewInit, Component, ElementRef, forwardRef, Input, OnInit, ViewChild, OnDestroy} from '@angular/core';
|
||||
import {ControlValueAccessor, FormBuilder, FormGroup, NG_VALUE_ACCESSOR} from '@angular/forms';
|
||||
import {Observable, of, throwError, Subscription, Subject} from 'rxjs';
|
||||
import {PageLink} from '@shared/models/page/page-link';
|
||||
import {Direction} from '@shared/models/page/sort-order';
|
||||
import {filter, map, mergeMap, publishReplay, refCount, startWith, tap, publish} from 'rxjs/operators';
|
||||
import {PageData, emptyPageData} from '@shared/models/page/page-data';
|
||||
import {DashboardInfo} from '@app/shared/models/dashboard.models';
|
||||
import {DashboardId} from '@app/shared/models/id/dashboard-id';
|
||||
import {DashboardService} from '@core/http/dashboard.service';
|
||||
import {Store} from '@ngrx/store';
|
||||
import {AppState} from '@app/core/core.state';
|
||||
import {getCurrentAuthUser} from '@app/core/auth/auth.selectors';
|
||||
import {Authority} from '@shared/models/authority.enum';
|
||||
import {TranslateService} from '@ngx-translate/core';
|
||||
import {DeviceService} from '@core/http/device.service';
|
||||
import {EntitySubtype, EntityType} from '@app/shared/models/entity-type.models';
|
||||
import {BroadcastService} from '@app/core/services/broadcast.service';
|
||||
import {AssetService} from '@core/http/asset.service';
|
||||
import {EntityViewService} from '@core/http/entity-view.service';
|
||||
import { AfterViewInit, Component, forwardRef, Input, OnDestroy, OnInit } from '@angular/core';
|
||||
import { ControlValueAccessor, FormBuilder, FormGroup, NG_VALUE_ACCESSOR } from '@angular/forms';
|
||||
import { Observable, Subject, Subscription, throwError } from 'rxjs';
|
||||
import { map, mergeMap, publishReplay, refCount, startWith, tap } from 'rxjs/operators';
|
||||
import { Store } from '@ngrx/store';
|
||||
import { AppState } from '@app/core/core.state';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { DeviceService } from '@core/http/device.service';
|
||||
import { EntitySubtype, EntityType } from '@app/shared/models/entity-type.models';
|
||||
import { BroadcastService } from '@app/core/services/broadcast.service';
|
||||
import { AssetService } from '@core/http/asset.service';
|
||||
import { EntityViewService } from '@core/http/entity-view.service';
|
||||
|
||||
@Component({
|
||||
selector: 'tb-entity-subtype-select',
|
||||
|
||||
@ -247,7 +247,6 @@
|
||||
"no-asset-types-matching": "No asset types matching '{{entitySubtype}}' were found.",
|
||||
"asset-type-list-empty": "No asset types selected.",
|
||||
"asset-types": "Asset types",
|
||||
"created-time": "Created time",
|
||||
"name": "Name",
|
||||
"name-required": "Name is required.",
|
||||
"description": "Description",
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user