@syncfusion/ej2-grids
Version:
Feature-rich JavaScript datagrid (datatable) control with built-in support for editing, filtering, grouping, paging, sorting, and exporting to Excel.
59 lines (58 loc) • 2.54 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 { CellRenderer } from './cell-renderer';
import { applyStickyLeftRightPosition } from '../base/util';
/**
* ExpandCellRenderer class which responsible for building group expand cell.
*
* @hidden
*/
var RowDragDropRenderer = /** @class */ (function (_super) {
__extends(RowDragDropRenderer, _super);
function RowDragDropRenderer() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.element = _this.parent.createElement('TD', {
className: 'e-rowdragdrop e-rowdragdropcell',
attrs: { tabindex: '-1', role: 'gridcell' }
});
return _this;
}
/**
* Function to render the detail expand cell
*
* @param {Cell<Column>} cell - specifies the cell
* @param {Object} data - specifies the data
* @returns {Element} returns the element
*/
// eslint-disable-next-line @typescript-eslint/no-unused-vars
RowDragDropRenderer.prototype.render = function (cell, data) {
var nodeElement = this.element.cloneNode();
nodeElement.appendChild(this.parent.createElement('div', {
className: 'e-icons e-rowcelldrag e-dtdiagonalright e-icon-rowdragicon',
attrs: { 'aria-hidden': 'true' }
}));
if (cell.isSelected) {
nodeElement.classList.add('e-selectionbackground');
nodeElement.classList.add('e-active');
}
if (this.parent.getVisibleFrozenRightCount() || this.parent.getVisibleFrozenLeftCount()) {
nodeElement.classList.add('e-leftfreeze');
var width = this.parent.getFrozenMode() === 'Right' ? 0 : this.parent.groupSettings.columns.length * 30;
applyStickyLeftRightPosition(nodeElement, width, this.parent.enableRtl, this.parent.getFrozenMode() === 'Right' ? 'Right' : 'Left');
}
return nodeElement;
};
return RowDragDropRenderer;
}(CellRenderer));
export { RowDragDropRenderer };