@syncfusion/ej2-grids
Version:
Feature-rich JavaScript datagrid (datatable) control with built-in support for editing, filtering, grouping, paging, sorting, and exporting to Excel.
61 lines (60 loc) • 2.53 kB
JavaScript
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
import { isNullOrUndefined } from '@syncfusion/ej2-base';
import { CellRenderer } from './cell-renderer';
/**
* ExpandCellRenderer class which responsible for building group expand cell.
*
* @hidden
*/
var DetailExpandCellRenderer = /** @class */ (function (_super) {
__extends(DetailExpandCellRenderer, _super);
function DetailExpandCellRenderer() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.element = _this.parent.createElement('TD', {
className: 'e-detailrowcollapse',
attrs: { 'aria-expanded': 'false', tabindex: '-1' }
});
return _this;
}
/**
* Function to render the detail expand cell
*
* @param {Cell<Column>} cell - specifies the cell
* @param {Object} data - specifies the data
* @param {Object} attributes - specifies the attributes
* @returns {Element} returns the element
*/
DetailExpandCellRenderer.prototype.render = function (cell, data, attributes) {
var node = this.element.cloneNode();
if (attributes && !isNullOrUndefined(attributes['class'])) {
node.className = '';
node.className = attributes['class'];
node.appendChild(this.parent.createElement('a', { className: 'e-icons e-dtdiagonaldown e-icon-gdownarrow', attrs: {
href: '#', 'title': this.localizer.getConstant('Expanded')
} }));
}
else {
node.appendChild(this.parent.createElement('a', { className: 'e-icons e-dtdiagonalright e-icon-grightarrow', attrs: {
href: '#', 'title': this.localizer.getConstant('Collapsed')
} }));
}
if (cell.isSelected) {
node.classList.add('e-selectionbackground', 'e-active');
}
return node;
};
return DetailExpandCellRenderer;
}(CellRenderer));
export { DetailExpandCellRenderer };