truncate option-text on autocomplete
This commit is contained in:
parent
b4857b403e
commit
158a3356a4
|
@ -12,6 +12,7 @@ import {FieldValuePipe} from "@app/core/pipes/field-value.pipe";
|
|||
import {ColumnClassPipe} from "@app/core/pipes/column-class.pipe";
|
||||
import { PipeService } from '@common/formatting/pipe.service';
|
||||
import { AppTitleCaseFormatPipe } from '@common/formatting/pipes/app-title-case-format.pipe';
|
||||
import { RemoveHtmlTagsPipe } from './pipes/remove-html-tags.pipe';
|
||||
|
||||
//
|
||||
//
|
||||
|
@ -24,6 +25,7 @@ import { AppTitleCaseFormatPipe } from '@common/formatting/pipes/app-title-case-
|
|||
AppTitleCaseFormatPipe,
|
||||
NgForLimitPipe,
|
||||
SumarizeTextPipe,
|
||||
RemoveHtmlTagsPipe,
|
||||
TimezoneInfoDisplayPipe,
|
||||
DateFormatPipe,
|
||||
DateTimeFormatPipe,
|
||||
|
@ -36,6 +38,7 @@ import { AppTitleCaseFormatPipe } from '@common/formatting/pipes/app-title-case-
|
|||
AppTitleCaseFormatPipe,
|
||||
NgForLimitPipe,
|
||||
SumarizeTextPipe,
|
||||
RemoveHtmlTagsPipe,
|
||||
TimezoneInfoDisplayPipe,
|
||||
DateFormatPipe,
|
||||
DateTimeFormatPipe,
|
||||
|
@ -51,6 +54,7 @@ import { AppTitleCaseFormatPipe } from '@common/formatting/pipes/app-title-case-
|
|||
AppTitleCaseFormatPipe,
|
||||
NgForLimitPipe,
|
||||
SumarizeTextPipe,
|
||||
RemoveHtmlTagsPipe,
|
||||
TimezoneInfoDisplayPipe,
|
||||
DateFormatPipe,
|
||||
DateTimeFormatPipe,
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
import { Pipe, PipeTransform } from '@angular/core';
|
||||
|
||||
@Pipe({ name: 'removeHtmlTags' })
|
||||
export class RemoveHtmlTagsPipe implements PipeTransform {
|
||||
transform(value: string) {
|
||||
|
||||
const transformedText = value.replace(/(<([^>]+)>)/ig, '');
|
||||
|
||||
return transformedText;
|
||||
}
|
||||
}
|
|
@ -34,11 +34,11 @@
|
|||
item: item
|
||||
}"></ng-template>
|
||||
<div *ngIf="!_optionTemplate(item)" class="row mt-2 mb-2">
|
||||
<div class="col">
|
||||
<div class="col option-text-container">
|
||||
<div class="title-subtitle-fn">
|
||||
<div class="title-fn">
|
||||
<div class="title-fn-inner">
|
||||
<span *ngIf="!_optionTemplate(item)" class="title-text">{{_titleFn(item)}}</span>
|
||||
<span *ngIf="!_optionTemplate(item)" class="title-text truncate-option-text">{{_titleFn(item)}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div *ngIf="_subtitleFn(item)" class="subtitle-fn">
|
||||
|
@ -67,10 +67,10 @@
|
|||
item: item
|
||||
}"></ng-template>
|
||||
<div *ngIf="!_optionTemplate(item) && !_optionComponent(item)" class="row mt-2 mb-2">
|
||||
<div class="col">
|
||||
<span class="title-text">{{_titleFn(item)}}</span>
|
||||
<div class="col option-text-container">
|
||||
<span class="title-text truncate-option-text">{{_titleFn(item)}}</span>
|
||||
<br *ngIf="_subtitleFn(item)">
|
||||
<small *ngIf="_subtitleFn(item)" class="subtitle-text">{{_subtitleFn(item)}}</small>
|
||||
<small *ngIf="_subtitleFn(item)" class="subtitle-text truncate-option-text">{{_subtitleFn(item) | removeHtmlTags}}</small>
|
||||
</div>
|
||||
<div class="col-auto align-self-center">
|
||||
<span *ngIf="popupItemActionIcon" class="option-icon" (click)="_optionActionClick(item, $event)"><mat-icon>{{popupItemActionIcon}}</mat-icon></span>
|
||||
|
|
|
@ -134,6 +134,10 @@
|
|||
}
|
||||
}
|
||||
|
||||
.option-text-container {
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.title-text {
|
||||
font-weight: 300;
|
||||
line-height: 1.2em;
|
||||
|
@ -146,3 +150,11 @@
|
|||
font-size: 14px;
|
||||
line-height: 1.2em;
|
||||
}
|
||||
|
||||
.truncate-option-text {
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
max-width: 100%;
|
||||
display: inline-block;
|
||||
}
|
||||
|
|
|
@ -13,10 +13,10 @@
|
|||
item: item
|
||||
}"></ng-template>
|
||||
<div *ngIf="!_optionTemplate(item)" class="row mt-2 mb-2">
|
||||
<div class="col">
|
||||
<span class="title-text">{{_titleFn(item)}}</span>
|
||||
<div class="col option-text-container">
|
||||
<span class="title-text truncate-option-text">{{_titleFn(item)}}</span>
|
||||
<br *ngIf="_subtitleFn(item)">
|
||||
<small *ngIf="_subtitleFn(item)" class="subtitle-text">{{_subtitleFn(item)}}</small>
|
||||
<small *ngIf="_subtitleFn(item)" class="subtitle-text truncate-option-text">{{_subtitleFn(item) | removeHtmlTags}}</small>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<span *ngIf="popupItemActionIcon" class="option-icon" (click)="_optionActionClick(item, $event)"><mat-icon>{{popupItemActionIcon}}</mat-icon></span>
|
||||
|
@ -34,12 +34,12 @@
|
|||
item: item
|
||||
}"></ng-template>
|
||||
<div *ngIf="!_optionTemplate(item)" class="row mt-2 mb-2">
|
||||
<div class="col">
|
||||
<span *ngIf="!_optionTemplate(item)" class="title-text">{{_titleFn(item)}}</span>
|
||||
<div class="col option-text-container">
|
||||
<span *ngIf="!_optionTemplate(item)" class="title-text truncate-option-text">{{_titleFn(item)}}</span>
|
||||
<br *ngIf="_subtitleFn(item)">
|
||||
<small *ngIf="_subtitleFn(item)" class="subtitle-text">{{_subtitleFn(item)}}</small>
|
||||
<small *ngIf="_subtitleFn(item)" class="subtitle-text truncate-option-text">{{_subtitleFn(item) | removeHtmlTags}}</small>
|
||||
</div>
|
||||
<div class="col-auto align-self-center">
|
||||
<div class="col-auto align-self-center">
|
||||
<span *ngIf="popupItemActionIcon" class="option-icon" (click)="_optionActionClick(item, $event)"><mat-icon>{{popupItemActionIcon}}</mat-icon></span>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -75,6 +75,18 @@
|
|||
// cursor: pointer;
|
||||
// }
|
||||
|
||||
.option-text-container {
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.truncate-option-text {
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
max-width: 100%;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.title-text {
|
||||
font-weight: 300;
|
||||
line-height: 1.2em;
|
||||
|
|
|
@ -254,7 +254,7 @@
|
|||
|
||||
<div class="col">
|
||||
<div class="row">
|
||||
<div class="col-12 col-lg-6 col-xl">
|
||||
<div class="col-12 col-lg-6 col-xl-4">
|
||||
<mat-form-field class="w-100 mt-3">
|
||||
<mat-label>{{'DMP-BLUEPRINT-EDITOR.FIELDS.DESCRIPTION-TEMPLATE' | translate}}</mat-label>
|
||||
<app-single-auto-complete [formControl]="descriptionTemplate.get('descriptionTemplateGroupId')" [configuration]="descriptionTempalteGroupSingleAutocompleteConfiguration" (optionActionClicked)="onPreviewDescriptionTemplate($event, sectionIndex, descriptionTemplateIndex)"></app-single-auto-complete>
|
||||
|
@ -262,7 +262,7 @@
|
|||
<mat-error *ngIf="descriptionTemplate.get('descriptionTemplateGroupId').hasError('required')">{{'GENERAL.VALIDATION.REQUIRED' | translate}}</mat-error>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<div class="col-12 col-lg-6 col-xl-2">
|
||||
<div class="col-12 col-lg-6 col-xl-4">
|
||||
<mat-form-field class="w-100 mt-3">
|
||||
<mat-label>{{'DMP-BLUEPRINT-EDITOR.FIELDS.DESCRIPTION-TEMPLATE-LABEL' | translate}}</mat-label>
|
||||
<input matInput type="text" name="label" [formControl]="descriptionTemplate.get('label')">
|
||||
|
|
Loading…
Reference in New Issue