UNPKG

tym-table-editor

Version:

'tym-table-editor' is a simple table editor component.

145 lines (144 loc) 5.95 kB
/*! * tym-table-editor.js * Copyright (c) 2022 shinichi tayama * Released under the MIT license. * see https://opensource.org/licenses/MIT */ import { AfterViewInit, ElementRef, Renderer2 } from '@angular/core'; import * as i0 from "@angular/core"; /** カラム定義 */ export type TYM_EDITOR_DEF = { /** 対象列番号(1~) */ col: number; /** 対象列タイプ */ type?: string; /** 対象列揃え指定 {'left' | 'center' | 'right'}, 規定値: 'left' */ align?: 'left' | 'center' | 'right'; /** 表示モードだけにする, 規定値: false */ readonly?: boolean; /** 値を表示文字に変換する関数, 規定値: なし */ viewfnc?: (val: string, type?: string, col?: number) => string; /** 値を編集する関数, 規定値: なし */ editfnc?: (elm: HTMLElement, val: string, type?: string, col?: number) => Promise<string | null>; }; /** オプション定義 */ export type TYM_EDITOR_OPTS = { /** 選択, カレントセルを折り返ししない */ whiteSpaceNoWrap?: boolean; /** 編集モードの解除時に列のリサイズを実行する */ editModeAutoResize?: boolean; /** フラットデザインにする */ flatDesign?: boolean; /** 垂直方向のリサイズを無しにする */ noVerticalResize?: boolean; }; export declare class TymTableEditorComponent implements AfterViewInit { private _elmRef; private _renderer; private static idnum; private _thisElm; row: number; col: number; defs: TYM_EDITOR_DEF[]; data: any[][]; menu: (event: MouseEvent, row1: number, col1: number, row2: number, col2: number) => boolean; private _opts; set opts(opts: TYM_EDITOR_OPTS); private _setopt; /** Host Binding style */ protected thFont: string; protected thWidth: string; protected thBgColor: string; protected thBorder: string; protected thWidth1: string; protected thWidth2: string; protected tdShadow: string; /** * コンストラクタ * * @memberof TymTreeViewComponent */ constructor(_elmRef: ElementRef, _renderer: Renderer2); /** * ビューを初期化した後の処理 */ ngAfterViewInit(): void; /****************************************************************** * セルの文字列を取得する * @param rownum 取得する行数 * @param colnum 取得する列数 * @param fnc 取得用コールバック関数 */ getCells(rownum: number, colnum: number, fnc: (row: number, col: number, val: string, eol: boolean) => void): void; /****************************************************************** * テーブルにデータを設定する * @param data 設定するデータ */ setData(data: any[][]): void; /****************************************************************** * テーブルにデータを設定する * @param data 設定するデータ * @param row1 設定する開始行番号 * @param col1 設定する開始列番号 */ setData(data: any[][], row1: number, col1: number): void; /****************************************************************** * テーブルからデータを取得する * @param rownum 取得する行数 * @param colnum 取得する列数 * @returns data: any[][] */ getData(rownum: number, colnum: number): any[][]; /****************************************************************** * テーブルからデータを取得する * @param row1 取得する開始行番号 * @param col1 取得する開始列番号 * @param row2 取得する終了行番号 * @param col2 取得する終了列番号 * @returns data: any[][] */ getData(row1: number, col1: number, row2: number, col2: number): any[][]; /****************************************************************** * テーブルに行の挿入する * @param row 挿入する位置の行番号 */ insertRow(row: number): void; /****************************************************************** * テーブルから行を削除する * @param row 削除する位置の行番号 */ removeRow(row: number): void; /****************************************************************** * テーブルに列の挿入する * @param col 挿入する位置の列番号 * @param def 定義 */ insertCol(col: number, def?: TYM_EDITOR_DEF): void; /****************************************************************** * テーブルから列を削除する * @param col 削除する位置の列番号 */ removeCol(col: number): void; /****************************************************************** * 選択範囲のセルをコピーする */ copy(): void; /****************************************************************** * カレントセルから貼り付ける */ paste(): void; /****************************************************************** * 選択範囲のテキストを消去する */ delete(): void; /****************************************************************** * 編集を元に戻す */ undo(): void; /****************************************************************** * 編集をやり直す */ redo(): void; static ɵfac: i0.ɵɵFactoryDeclaration<TymTableEditorComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<TymTableEditorComponent, "ngx-tym-table-editor", never, { "row": { "alias": "row"; "required": false; }; "col": { "alias": "col"; "required": false; }; "defs": { "alias": "defs"; "required": false; }; "data": { "alias": "data"; "required": false; }; "menu": { "alias": "menu"; "required": false; }; "opts": { "alias": "opts"; "required": false; }; }, {}, never, never, false, never>; }