/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { ChangeDetectorRef, ElementRef } from '@angular/core'; import { ITitledComponent } from 'sql/workbench/browser/modelComponents/interfaces'; import * as azdata from 'azdata'; import { ComponentBase } from 'sql/workbench/browser/modelComponents/componentBase'; import { ILogService } from 'vs/platform/log/common/log'; export abstract class TitledComponent extends ComponentBase implements ITitledComponent { constructor( _changeRef: ChangeDetectorRef, _el: ElementRef, logService: ILogService) { super(_changeRef, _el, logService); } public get title(): string { return this.getPropertyOrDefault((props) => props.title, ''); } public set title(newTitle: string) { this.setPropertyFromUI((properties, title) => { properties.title = title; }, newTitle); } }