blob: 1cea2233af884892c8955591642170fc003593c6 [file] [log] [blame]
/********************************************************************************
* Copyright (c) 2020 Contributors to the Eclipse Foundation
*
* See the NOTICE file(s) distributed with this work for additional
* information regarding copyright ownership.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* SPDX-License-Identifier: EPL-2.0
********************************************************************************/
import { InternalPersonDetailsSandBox } from '@pages/persons/internal-person/internal-person-details/internal-person-details.sandbox';
import { BaseList } from '@shared/components/base-components/base.list';
import { Component, EventEmitter, Output } from '@angular/core';
import { COMMUNICATIONS_DATA_LIST_COLDEF } from '@shared/components/column-definitions/communications-data-list-column-definition';
import { Globals } from '@shared/constants/globals';
@Component({
selector: 'app-internal-person-communications-data-list',
templateUrl: './communications-data-list.component.html',
styleUrls: ['./communications-data-list.component.scss']
})
export class InternalPersonCommunicationsDataListComponent extends BaseList {
@Output() internalPersonDetailsId: EventEmitter<string> = new EventEmitter();
@Output() createNewInternalPerson: EventEmitter<string> = new EventEmitter();
public columnDefinition = COMMUNICATIONS_DATA_LIST_COLDEF;
constructor(public internalPersonDetailsSandBox: InternalPersonDetailsSandBox) {
super();
}
ngOnInit() {
this.gridOptions = {
...this.gridOptions,
localeText: Globals.LOCALE_TEXT
};
this.gridOptions.context = {
...this.gridOptions.context,
icons: { edit: true, delete: true }
};
this.gridOptions.context.eventSubject.subscribe(event => {
if (event.type === 'edit') {
this.internalPersonDetailsId.emit(event.data.id);
}
if (event.type === 'delete') {
this.internalPersonDetailsSandBox.deleteCommunicationsData(event.data);
}
});
}
public createNewCommunicationsDataForm(){
this.internalPersonDetailsSandBox.clearCommunicationsData();
this.createNewInternalPerson.emit(null);
}
}