projects/netgrif-components-core/src/lib/data-fields/task-ref-field/task-ref-list-field/abstract-task-ref-list-field.component.ts
AbstractBaseDataFieldComponent
| selector | ncc-abstract-task-ref-list-field |
Properties |
|
Methods |
|
Inputs |
Protected
constructor(injector: Injector, taskViewType: Type
|
||||||||||||
|
Parameters :
|
| dataField | |
Type : T
|
|
|
Inherited from
AbstractBaseDataFieldComponent
|
|
|
Defined in
AbstractBaseDataFieldComponent:13
|
|
| formControlRef | |
Type : FormControl
|
|
|
Inherited from
AbstractBaseDataFieldComponent
|
|
|
Defined in
AbstractBaseDataFieldComponent:14
|
|
| showLargeLayout | |
Type : WrappedBoolean
|
|
|
Inherited from
AbstractBaseDataFieldComponent
|
|
|
Defined in
AbstractBaseDataFieldComponent:15
|
|
| createFilter |
createFilter()
|
|
Returns :
void
|
| ngAfterViewInit |
ngAfterViewInit()
|
|
Returns :
void
|
| Public checkPropertyInComponent | ||||||
checkPropertyInComponent(property: string)
|
||||||
|
Inherited from
AbstractBaseDataFieldComponent
|
||||||
|
Defined in
AbstractBaseDataFieldComponent:33
|
||||||
|
Parameters :
Returns :
boolean
|
| Public hasHint |
hasHint()
|
|
Inherited from
AbstractBaseDataFieldComponent
|
|
Defined in
AbstractBaseDataFieldComponent:42
|
|
Returns :
boolean
|
| Public hasTitle |
hasTitle()
|
|
Inherited from
AbstractBaseDataFieldComponent
|
|
Defined in
AbstractBaseDataFieldComponent:38
|
|
Returns :
boolean
|
| ngOnDestroy |
ngOnDestroy()
|
|
Inherited from
AbstractBaseDataFieldComponent
|
|
Defined in
AbstractBaseDataFieldComponent:29
|
|
Returns :
void
|
| Public componentPortal |
Type : ComponentPortal<any>
|
| Public dataField |
Type : T
|
Decorators :
@Input()
|
|
Inherited from
AbstractBaseDataFieldComponent
|
|
Defined in
AbstractBaseDataFieldComponent:13
|
| Public formControlRef |
Type : FormControl
|
Decorators :
@Input()
|
|
Inherited from
AbstractBaseDataFieldComponent
|
|
Defined in
AbstractBaseDataFieldComponent:14
|
| Public showLargeLayout |
Type : WrappedBoolean
|
Decorators :
@Input()
|
|
Inherited from
AbstractBaseDataFieldComponent
|
|
Defined in
AbstractBaseDataFieldComponent:15
|
import {AfterViewInit, Component, Inject, Injector, Optional, Type} from "@angular/core";
import {TaskRefField} from "../model/task-ref-field";
import {NAE_BASE_FILTER} from "../../../search/models/base-filter-injection-token";
import {SimpleFilter} from "../../../filter/models/simple-filter";
import {BaseFilter} from "../../../search/models/base-filter";
import {NAE_VIEW_ID_SEGMENT} from "../../../user/models/view-id-injection-tokens";
import {ViewIdService} from "../../../user/services/view-id.service";
import {AbstractBaseDataFieldComponent} from "../../base-component/abstract-base-data-field.component";
import {DATA_FIELD_PORTAL_DATA, DataFieldPortalData} from "../../models/data-field-portal-data-injection-token";
import {ComponentPortal} from "@angular/cdk/portal";
@Component({
selector: 'ncc-abstract-task-ref-list-field',
template: ''
})
export abstract class AbstractTaskRefListFieldComponent extends AbstractBaseDataFieldComponent<TaskRefField> implements AfterViewInit {
public componentPortal: ComponentPortal<any>;
protected constructor(protected injector: Injector,
protected taskViewType: Type<any>,
@Optional() @Inject(DATA_FIELD_PORTAL_DATA) dataFieldPortalData: DataFieldPortalData<TaskRefField>) {
super(dataFieldPortalData);
}
ngAfterViewInit(): void {
this.createFilter();
this.dataField.valueChanges().subscribe(() => {
this.createFilter();
});
}
createFilter() {
const portalInjector = Injector.create({
providers: [
{
provide: NAE_BASE_FILTER,
useValue: { filter: SimpleFilter.fromTaskQuery({stringId: this.dataField.value}) } as BaseFilter
},
{
provide: NAE_VIEW_ID_SEGMENT,
useValue: this.dataField.parentCaseId + '_' + this.dataField.parentTaskId + '_' + this.dataField.stringId
},
{ provide: ViewIdService, useClass: ViewIdService }],
parent: this.injector
});
this.componentPortal = new ComponentPortal(this.taskViewType, null, portalInjector);
}
}