UNPKG

igniteui-webcomponents-grids

Version:

Ignite UI Web Components grid components.

114 lines (113 loc) 3.91 kB
import { DataGridCellEventArgs as DataGridCellEventArgs_internal } from "./DataGridCellEventArgs"; import { IgcDateTimeCellInfo } from "./igc-date-time-cell-info"; import { IgcImageCellInfo } from "./igc-image-cell-info"; import { IgcNumericCellInfo } from "./igc-numeric-cell-info"; import { IgcRowSeparatorInfo } from "./igc-row-separator-info"; import { IgcSectionHeaderCellInfo } from "./igc-section-header-cell-info"; import { IgcTemplateCellInfo } from "./igc-template-cell-info"; import { IgcTemplateHeaderCellInfo } from "./igc-template-header-cell-info"; import { IgcTemplateSectionHeaderCellInfo } from "./igc-template-section-header-cell-info"; import { IgcTextCellInfo } from "./igc-text-cell-info"; import { IgcTextHeaderCellInfo } from "./igc-text-header-cell-info"; import { MouseButton_$type } from "igniteui-webcomponents-core"; import { ensureBool, ensureEnum } from "igniteui-webcomponents-core"; /** * Information about the cell in context. */ export class IgcDataGridCellEventArgs { createImplementation() { return new DataGridCellEventArgs_internal(); } get i() { return this._implementation; } onImplementationCreated() { } constructor() { this._implementation = this.createImplementation(); this._implementation.externalObject = this; this.onImplementationCreated(); } _provideImplementation(i) { this._implementation = i; this._implementation.externalObject = this; this.onImplementationCreated(); } /** * The backing information for the current cell. */ get cellInfo() { if (this.i.cellInfo == null) { return null; } if (!this.i.cellInfo.externalObject) { let ext = null; switch (this.i.cellInfo.$type.name) { case "DateTimeCellModel": ext = new IgcDateTimeCellInfo(); break; case "ImageCellModel": ext = new IgcImageCellInfo(); break; case "NumericCellModel": ext = new IgcNumericCellInfo(); break; case "RowSeparatorModel": ext = new IgcRowSeparatorInfo(); break; case "SectionHeaderCellModel": ext = new IgcSectionHeaderCellInfo(); break; case "TemplateCellModel": ext = new IgcTemplateCellInfo(); break; case "TemplateHeaderCellModel": ext = new IgcTemplateHeaderCellInfo(); break; case "TemplateSectionHeaderCellModel": ext = new IgcTemplateSectionHeaderCellInfo(); break; case "TextCellModel": ext = new IgcTextCellInfo(); break; case "TextHeaderCellModel": ext = new IgcTextHeaderCellInfo(); break; } ext._implementation = this.i.cellInfo; this.i.cellInfo.externalObject = ext; } return this.i.cellInfo.externalObject; } /** * Gets the grid owning the cell. */ get grid() { const r = this.i.grid; if (r == null) { return null; } return r.externalObject; } set grid(v) { v == null ? this.i.grid = null : this.i.grid = v.i; } /** * Gets which click type it is. */ get button() { return this.i.button; } set button(v) { this.i.button = ensureEnum(MouseButton_$type, v); } /** * Is this a double click? */ get isDoubleClick() { return this.i.isDoubleClick; } set isDoubleClick(v) { this.i.isDoubleClick = ensureBool(v); } }