/*! * * Wijmo Library 5.20251.40 * https://developer.mescius.com/wijmo * * Copyright(c) MESCIUS inc. All rights reserved. * * Licensed under the End-User License Agreement For MESCIUS Wijmo Software. * us.sales@mescius.com * https://developer.mescius.com/wijmo/licensing * */ /** * {@module wijmo.vue2.grid.multirow} * Contains Vue 2 and 3 components for the wijmo.grid.multirow module. */ /** * */ export declare var ___keepComment: any; /** * Vue component for the {@link wijmo.grid.multirow.MultiRow} control. * * The wj-multi-row component may contain * the following child components: * {@link wijmo.vue2.grid.multirow.WjMultiRowCellGroup} * and {@link wijmo.vue2.grid.multirow.WjMultiRowCellTemplate}. * * The component supports all properties and events of the pure JavaScript {@link wijmo.grid.multirow.MultiRow} control it represents. * * The component includes an initialized event that is raised when the control is initialized after it is added to the page. * You can use this event to perform further initialization in addition to setting properties in markup. * The signature of the handler function is the same as any other Wijmo event handlers. */ export declare var WjMultiRow: any; /** * Vue component for the {@link wijmo.grid.multirow.MultiRowCell} class. * * The wj-multi-row-cell component should be contained in * a {@link wijmo.vue2.grid.multirow.WjMultiRowCellGroup} component. * * The wj-multi-row-cell component may contain * a {@link wijmo.vue2.grid.multirow.WjMultiRowCellTemplate} child component. * * The component supports all properties and events of the pure JavaScript {@link wijmo.grid.multirow.MultiRowCell} class it represents. * * The component includes an initialized event that is raised when the control is initialized after it is added to the page. * You can use this event to perform further initialization in addition to setting properties in markup. * The signature of the handler function is the same as any other Wijmo event handlers. */ export declare var WjMultiRowCell: any; /** * Vue component for the {@link wijmo.grid.multirow.MultiRowCellGroup} class. * * The wj-multi-row-cell-group component should be contained in * a {@link wijmo.vue2.grid.multirow.WjMultiRow} component. * * The wj-multi-row-cell-group component may contain * a {@link wijmo.vue2.grid.multirow.WjMultiRowCell} child component. * * The component supports all properties and events of the pure JavaScript {@link wijmo.grid.multirow.MultiRowCellGroup} class it represents. * * The component includes an initialized event that is raised when the control is initialized after it is added to the page. * You can use this event to perform further initialization in addition to setting properties in markup. * The signature of the handler function is the same as any other Wijmo event handlers. */ export declare var WjMultiRowCellGroup: any; /** * Vue component for the {@link MultiRow} cell templates. * * The wj-multi-row-cell-template component defines a template for a certain * cell type in {@link MultiRow}. The template element must contain a cellType attribute that * specifies the {@link wijmo.vue2.grid.CellTemplateType}. Depending on the template's cell type, * the wj-multi-row-cell-template element must be a child * of either {@link wijmo.vue2.grid.multirow.WjMultiRow} * or {@link wijmo.vue2.grid.multirow.WjMultiRowCell} components. * * Column-specific cell templates must be contained in wj-multi-row-cell * components, and cells that are not column-specific (like row header or top left cells) * must be contained in the wj-multi-row component. * * The wj-multi-row-cell-template element * may contain an arbitrary HTML fragment with Vue interpolation expressions and * other components and directives. * * Bindings in HTML fragment can use scoped slot properties that store cell specific data. * The properties are col, row, and item, which refer to the {@link MultiRowCell}, * {@link Row}, and Row.dataItem objects pertaining to the cell. * * For cell types like Group and CellEdit, an additional value * property containing an unformatted cell value is provided. * * To reference slot properties, you can use either a new v-slot directive right on the * wj-multi-row-cell-template element (it's available in Vue 2.6.0 or higher), * or an old slot-scope directive on the <template> element nested in * wj-multi-row-cell-template. * * For example, here is a * {@link MultiRow} control with templates for row header cells and, regular * and column header cells of the Country column: * * ```html * * * * {{cell.row.index}} * * * ... * * * * * * * {{cell.col.header}} * * * * {{cell.item.country}} * * * * * * ``` * * The wj-multi-row-cell-template directive supports the following attributes: * *
*
cellType
*
* The CellTemplateType value defining the type of cell to which the template is applied. *
*
autoSizeRows
*
* Indicates whether the cell template will increase grid's default row height * to accomodate cells content. Defaults to true. *
*
cellOverflow
*
* Defines the style.overflow property value for cells. *
*
forceFullEdit
*
* For cell edit templates, indicates whether cell editing forcibly starts in full edit mode, * regardless of how the editing was initiated. In full edit mode pressing cursor keys don't finish editing. * Defaults to true. *
*
* * The cellType attribute takes any of the following enumerated values: * * Cell * * Defines a regular (data) cell template. Must be a child of the {@link wijmo.vue2.grid.multirow.WjMultiRowCell} component. * For example, this cell template shows flags in the cells of Country column: * * ```html * * * * {{cell.item.country}} * * * ``` * * CellEdit * * Defines a template for a cell in edit mode. Must be a child of the {@link wijmo.vue2.grid.multirow.WjMultiRowCell} component. * This cell type has an additional value scoped slot property available for binding. It contains the * original cell value before editing, and the updated value after editing. * * For example, here is a template that uses the Wijmo {@link InputNumber} control as an editor * for the "Sales" column: * ```html * * * * * * ``` * * Note that two-way binding can also be specified using the binding's sync modifier: * ```html * * * * * * ``` * * ColumnHeader * * Defines a template for a column header cell. Must be a child of the {@link wijmo.vue2.grid.multirow.WjMultiRowCell} component. * For example, this template adds an image to the header of the "Country" column: * * ```html * * * * {{cell.col.header}} * * * ``` * * RowHeader * * Defines a template for a row header cell. Must be a child of the {@link wijmo.vue2.grid.multirow.WjMultiRow} component. * For example, this template shows row indices in the row headers: * * ```html * * * {{cell.row.index / cell.row.grid.rowsPerItem + 1}} * * * ``` * * Note that this template is applied to a row header cell, even if it is in a row that is * in edit mode. In order to provide an edit-mode version of a row header cell with alternate * content, define the RowHeaderEdit template. * * RowHeaderEdit * * Defines a template for a row header cell in edit mode. Must be a child of the * {@link wijmo.vue2.grid.multirow.WjMultiRow} component. For example, this template shows dots in the header * of rows being edited: * * ```html * * * ... * * * ``` * * Use the following RowHeaderEdit template to add the standard edit-mode indicator to cells where the RowHeader template * applies: * * ```html * * * ✎︎ * * * ``` * * TopLeft * * Defines a template for the top left cell. Must be a child of the {@link wijmo.vue2.grid.multirow.WjMultiRow} component. * For example, this template shows a down/right glyph in the top-left cell of the grid: * * ```html * * * * * * ``` * * GroupHeader * * Defines a template for a group header cell in a {@link GroupRow}. Must be a child of the {@link wijmo.vue2.grid.multirow.WjMultiRowCell} component. * * The row scoped slot property contains an instance of the GroupRow class. If the grouping comes * from {@link CollectionView}, the item scoped slot property references the {@link CollectionViewGroup} object. * * For example, this template uses a checkbox element as an expand/collapse toggle: * * ```html * * * * {{cell.item.name}} ({{cell.item.items.length}} items) * * * ``` * * Group * * Defines a template for a regular cell (not a group header) in a {@link GroupRow}. Must be a child of the * {@link wijmo.vue2.grid.multirow.WjMultiRowCell} component. This cell type has an additional value scoped * slot property available for * binding. In cases where columns have the aggregate property specified, it contains the unformatted * aggregate value. * * For example, this template shows aggregate's value and kind for group row cells in the "Sales" * column: * * ```html * * * Average: {{formatNumber(cell.value, 'N0')}} * * * ``` * * NewCellTemplate * * Defines a cell in a new row template. Must be a child of the {@link wijmo.vue2.grid.multirow.WjMultiRowCell} component. * Note that the cell.item property is undefined for this type of a cell. * For example, this cell template shows a placeholder in the Date column's cell in the "new row" item: * * ```html * * * Enter a date here * * * ``` */ export declare var WjMultiRowCellTemplate: any; export declare function registerGridMultirow(app: any): void;