add id input to select components, focus function to text editor
This commit is contained in:
parent
d73965cb0a
commit
39a9afe1d5
|
@ -19,7 +19,7 @@
|
|||
</mat-chip-grid>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<input matInput #autocompleteInput [name]="id" autocomplete="nope" #autocompleteTrigger="matAutocompleteTrigger" autocomplete="off" [placeholder]="placeholder" [matAutocomplete]="autocomplete" [value]="inputValue" (keyup)="onKeyUp($event)" [disabled]="disabled" (focus)="_onInputFocus()" (blur)="onBlur($event)" [matChipInputFor]="chipList" [matChipInputSeparatorKeyCodes]="separatorKeysCodes" [matChipInputAddOnBlur]="autoSelectFirstOptionOnBlur" (matChipInputTokenEnd)="_addItem($event)">
|
||||
<input matInput #autocompleteInput [id]="id" [name]="id" autocomplete="nope" #autocompleteTrigger="matAutocompleteTrigger" autocomplete="off" [placeholder]="placeholder" [matAutocomplete]="autocomplete" [value]="inputValue" (keyup)="onKeyUp($event)" [disabled]="disabled" (focus)="_onInputFocus()" (blur)="onBlur($event)" [matChipInputFor]="chipList" [matChipInputSeparatorKeyCodes]="separatorKeysCodes" [matChipInputAddOnBlur]="autoSelectFirstOptionOnBlur" (matChipInputTokenEnd)="_addItem($event)">
|
||||
</div>
|
||||
<mat-autocomplete #autocomplete="matAutocomplete" [displayWith]="_displayFn.bind(this)" (optionSelected)="_optionSelected($event)" [classList]="['myClass']">
|
||||
<div (mouseover)="isMouseOverPanel=true" (mouseout)="isMouseOverPanel=false">
|
||||
|
|
|
@ -54,6 +54,7 @@ export class MultipleAutoCompleteComponent extends _CustomComponentMixinBase imp
|
|||
|
||||
@Input()
|
||||
separatorKeysCodes = [];
|
||||
@Input({required: false}) id: string = `multiple-autocomplete-${MultipleAutoCompleteComponent.nextId++}`;
|
||||
|
||||
// Selected Option Event
|
||||
@Output() optionSelected: EventEmitter<any> = new EventEmitter();
|
||||
|
@ -62,7 +63,6 @@ export class MultipleAutoCompleteComponent extends _CustomComponentMixinBase imp
|
|||
@Output() optionActionClicked: EventEmitter<any> = new EventEmitter();
|
||||
|
||||
|
||||
id = `multiple-autocomplete-${MultipleAutoCompleteComponent.nextId++}`;
|
||||
stateChanges = new Subject<void>();
|
||||
|
||||
valueOnBlur = new BehaviorSubject<any>(null);
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<div class="row auto-complete">
|
||||
<input matInput #autocompleteInput class="col-12" [name]="id" autocomplete="off" #autocompleteTrigger="matAutocompleteTrigger" [placeholder]="placeholder" [matAutocomplete]="autocomplete" [value]="inputValue" (keyup)="onKeyUp($event)" [disabled]="disabled" (focus)="_onInputFocus()" (blur)="onBlur($event)">
|
||||
<input matInput #autocompleteInput class="col-12" [id]="id" [name]="id" autocomplete="off" #autocompleteTrigger="matAutocompleteTrigger" [placeholder]="placeholder" [matAutocomplete]="autocomplete" [value]="inputValue" (keyup)="onKeyUp($event)" [disabled]="disabled" (focus)="_onInputFocus()" (blur)="onBlur($event)">
|
||||
<!-- The attribute autocomplete="nope", set by downshift, is ignored in Chrome 67 and Opera 54 (latest at the time of writing)
|
||||
<input matInput #autocompleteInput class="col-12" [name]="id" autocomplete="nope" #autocompleteTrigger="matAutocompleteTrigger" [placeholder]="placeholder" [matAutocomplete]="autocomplete" [value]="inputValue" (keyup)="onKeyUp($event)" [disabled]="disabled" (focus)="_onInputFocus()" (blur)="onBlur($event)"> -->
|
||||
<mat-icon *ngIf="!disabled" class="align-arrow-right" matSuffix>arrow_drop_down</mat-icon>
|
||||
|
|
|
@ -40,6 +40,8 @@ export class SingleAutoCompleteComponent extends _CustomComponentMixinBase imple
|
|||
@ViewChild('autocompleteInput', { static: true }) autocompleteInput: ElementRef;
|
||||
|
||||
@Input() initialSelectedData: any;
|
||||
@Input({required: false}) id: string = `single-autocomplete-${SingleAutoCompleteComponent.nextId++}`;
|
||||
|
||||
@Input()
|
||||
get configuration(): SingleAutoCompleteConfiguration { return this._configuration; }
|
||||
set configuration(configuration: SingleAutoCompleteConfiguration) {
|
||||
|
@ -55,7 +57,6 @@ export class SingleAutoCompleteComponent extends _CustomComponentMixinBase imple
|
|||
@Output() optionSelected: EventEmitter<any> = new EventEmitter();
|
||||
@Output() optionActionClicked: EventEmitter<any> = new EventEmitter();
|
||||
|
||||
id = `single-autocomplete-${SingleAutoCompleteComponent.nextId++}`;
|
||||
stateChanges = new Subject<void>();
|
||||
focused = false;
|
||||
controlType = 'single-autocomplete';
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit, SimpleChanges } from "@angular/core";
|
||||
import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit, SimpleChanges, ViewChild } from "@angular/core";
|
||||
import { FormControl } from "@angular/forms";
|
||||
import { AngularEditorConfig } from "@kolkov/angular-editor";
|
||||
import { AngularEditorComponent, AngularEditorConfig } from "@kolkov/angular-editor";
|
||||
import { Subscription } from "rxjs";
|
||||
|
||||
@Component({
|
||||
|
@ -20,6 +20,8 @@ import { Subscription } from "rxjs";
|
|||
})
|
||||
export class RichTextEditorComponent implements OnInit, OnChanges, OnDestroy {
|
||||
|
||||
@ViewChild(AngularEditorComponent) editor: AngularEditorComponent
|
||||
|
||||
@Input() form: FormControl;
|
||||
@Input() id: string = "editor1";
|
||||
@Input() placeholder: string = "Enter text";
|
||||
|
@ -104,6 +106,10 @@ export class RichTextEditorComponent implements OnInit, OnChanges, OnDestroy {
|
|||
window.document.execCommand("insertText", false, text);
|
||||
}
|
||||
|
||||
focus(){
|
||||
this.editor?.focus();
|
||||
}
|
||||
|
||||
private observeFormStatus(): void {
|
||||
this.formTouchSubscription = this.formTouchEvent
|
||||
.subscribe(
|
||||
|
|
|
@ -6,7 +6,9 @@
|
|||
<div class="icon-bar2"></div>
|
||||
<div class="icon-bar3"></div>
|
||||
</button>
|
||||
<a class="logo mr-auto" [routerLink]="routerUtils.generateUrl(['home'])"><img class="logo-image" alt="website logo" [src]="'../../../assets/images/nav-logo' + configurationService.navLogoExtension"></a>
|
||||
<a class="logo mr-auto" [routerLink]="routerUtils.generateUrl(['home'])">
|
||||
<img class="logo-image" alt="go to homepage" [src]="'../../../assets/images/nav-logo' + configurationService.navLogoExtension">
|
||||
</a>
|
||||
@if(extraImageURL){
|
||||
<a class="extra-logo" [routerLink]="routerUtils.generateUrl(['home'])" aria-label="home">
|
||||
<img alt="logo image" class="extra-logo-image" [src]="extraImageURL">
|
||||
|
@ -57,7 +59,7 @@
|
|||
<li class="pl-2">
|
||||
@if(this.isAuthenticated()) {
|
||||
<button (click)="openProfile()" [matTooltip]="userName" style="border: none; background-color: transparent;" aria-label="user profile">
|
||||
<img alt="round user avatar image" mat-card-avatar class="my-mat-card-avatar" [src]="getPrincipalAvatar() ?? getDefaultAvatar()" (error)="this.applyFallbackAvatar($event)">
|
||||
<img alt="user avatar image" mat-card-avatar class="my-mat-card-avatar" [src]="getPrincipalAvatar() ?? getDefaultAvatar()" (error)="this.applyFallbackAvatar($event)">
|
||||
</button>
|
||||
}@else {
|
||||
<ng-container *ngTemplateOutlet="loginOptionTemplate"/>
|
||||
|
|
Loading…
Reference in New Issue