UNPKG

voluptasmollitia

Version:
87 lines (74 loc) 2.34 kB
/** * @license * Copyright 2020 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. import { IDocNodeParameters, DocNode, DocPlainText } from '@microsoft/tsdoc'; import { CustomDocNodeKind } from './CustomDocNodeKind'; import { DocTableCell } from './DocTableCell'; /** * Constructor parameters for {@link DocTableRow}. */ export interface IDocTableRowParameters extends IDocNodeParameters {} /** * Represents table row, similar to an HTML `<tr>` element. */ export class DocTableRow extends DocNode { private readonly _cells: DocTableCell[]; public constructor( parameters: IDocTableRowParameters, cells?: ReadonlyArray<DocTableCell> ) { super(parameters); this._cells = []; if (cells) { for (const cell of cells) { this.addCell(cell); } } } /** @override */ public get kind(): string { return CustomDocNodeKind.TableRow; } public get cells(): ReadonlyArray<DocTableCell> { return this._cells; } public addCell(cell: DocTableCell): void { this._cells.push(cell); } public createAndAddCell(): DocTableCell { const newCell: DocTableCell = new DocTableCell({ configuration: this.configuration }); this.addCell(newCell); return newCell; } public addPlainTextCell(cellContent: string): DocTableCell { const cell: DocTableCell = this.createAndAddCell(); cell.content.appendNodeInParagraph( new DocPlainText({ configuration: this.configuration, text: cellContent }) ); return cell; } /** @override */ protected onGetChildNodes(): ReadonlyArray<DocNode | undefined> { return this._cells; } }