tym-table-editor
Version:
'tym-table-editor' is a simple table editor component.
145 lines (144 loc) • 5.95 kB
TypeScript
/*!
* 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>;
}