Socket
Socket
Sign inDemoInstall

@syncfusion/ej2-grids

Package Overview
Dependencies
13
Maintainers
2
Versions
357
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 15.4.20 to 15.4.21

4

dist/es6/grid/actions/batch-edit.js

@@ -161,3 +161,5 @@ import { extend, addClass, removeClass } from '@syncfusion/ej2-base';

this.saveCell();
this.bulkDelete(fieldname, data);
if (!this.validateFormObj()) {
this.bulkDelete(fieldname, data);
}
};

@@ -164,0 +166,0 @@ BatchEdit.prototype.addRecord = function (data) {

@@ -42,2 +42,3 @@ /* tslint:disable-next-line:max-line-length */

this.serviceLocator = serviceLocator;
this.filterSettings = filterSettings;
this.valueFormatter = new ValueFormatter(this.parent.locale);

@@ -222,2 +223,5 @@ this.initLocale(this.defaultConstants);

};
CheckBoxFilter.prototype.clearFilter = function () {
this.options.handler({ action: 'clear-filter', field: this.options.field });
};
CheckBoxFilter.prototype.btnClick = function (e) {

@@ -229,3 +233,3 @@ var text = e.target.innerText.toLowerCase();

else if (this.getLocalizedLabel('Clear').toLowerCase() === text) {
this.options.handler({ action: 'clear-filter', field: this.options.field });
this.clearFilter();
}

@@ -532,7 +536,9 @@ this.closeDialog();

var cols = CheckBoxFilter.getDistinct(columns, 'field').records;
var collection;
var collection = [];
var pred = {};
for (var i = 0; i < cols.length; i++) {
collection = new DataManager(columns).executeLocal(new Query().where('field', 'equal', cols[i].field));
pred[cols[i].field] = CheckBoxFilter.generatePredicate(collection);
if (collection.length !== 0) {
pred[cols[i].field] = CheckBoxFilter.generatePredicate(collection);
}
}

@@ -577,3 +583,8 @@ return pred;

CheckBoxFilter.getDatePredicate = function (predicate) {
return new Predicate(predicate.field, predicate.operator, predicate.value, predicate.ignoreCase || !predicate.matchcase);
if (['equal', 'notequal'].indexOf(predicate.operator) === -1) {
if (predicate.value instanceof Date) {
predicate.ignoreCase = false;
}
}
return new Predicate(predicate.field, predicate.operator, predicate.value, predicate.ignoreCase);
};

@@ -580,0 +591,0 @@ CheckBoxFilter.updateDateFilter = function (filter) {

@@ -7,2 +7,3 @@ import { closest, isNullOrUndefined } from '@syncfusion/ej2-base';

import { Page } from '../actions/page';
import { parentsUntil } from '../base/util';
import { Group } from '../actions/group';

@@ -138,3 +139,2 @@ import { Sort } from '../actions/sort';

this.parent.editModule.endEdit();
this.selectRow(this.eventArgs);
this.parent.editModule.startEdit();

@@ -144,3 +144,2 @@ break;

this.parent.editModule.endEdit();
this.selectRow(this.eventArgs);
this.parent.editModule.deleteRow(this.parent.getRowByIndex(this.parent.selectedRowIndex));

@@ -206,39 +205,55 @@ break;

ContextMenu.prototype.contextMenuBeforeOpen = function (args) {
this.targetColumn = this.getColumn(args.event);
if (args.event && (closest(args.event.target, '.' + menuClass.groupHeader)
var closestGrid = closest(args.event.target, '.e-grid');
if (args.event && closestGrid && closestGrid !== this.parent.element) {
args.cancel = true;
}
else if (args.event && (closest(args.event.target, '.' + menuClass.groupHeader)
|| closest(args.event.target, '.' + menuClass.touchPop))) {
args.cancel = true;
return;
}
for (var _i = 0, _a = args.items; _i < _a.length; _i++) {
var item = _a[_i];
var key = this.getKeyFromId(item.id);
var dItem = this.defaultItems[key];
if (this.getDefaultItems().indexOf(key) !== -1) {
if (this.ensureDisabledStatus(key)) {
this.disableItems.push(item.text);
}
if (args.event && closest(args.event.target, menuClass.edit)) {
if (key !== 'save' && key !== 'cancel') {
else {
this.targetColumn = this.getColumn(args.event);
this.selectRow(args.event);
for (var _i = 0, _a = args.items; _i < _a.length; _i++) {
var item = _a[_i];
var key = this.getKeyFromId(item.id);
var dItem = this.defaultItems[key];
if (this.getDefaultItems().indexOf(key) !== -1) {
if (this.ensureDisabledStatus(key)) {
this.disableItems.push(item.text);
}
if (args.event && this.ensureTarget(args.event.target, menuClass.edit)) {
if (key !== 'save' && key !== 'cancel') {
this.hiddenItems.push(item.text);
}
}
else if (isNullOrUndefined(args.parentItem) && args.event
&& !this.ensureTarget(args.event.target, dItem.target)) {
this.hiddenItems.push(item.text);
}
}
else if (isNullOrUndefined(args.parentItem) && args.event
&& !closest(args.event.target, dItem.target)) {
else if (item.target && args.event &&
!this.ensureTarget(args.event.target, item.target)) {
this.hiddenItems.push(item.text);
}
}
else if (item.target && args.event &&
!closest(args.event.target, item.target)) {
this.hiddenItems.push(item.text);
this.contextMenu.enableItems(this.disableItems, false);
this.contextMenu.hideItems(this.hiddenItems);
this.eventArgs = args.event;
this.parent.trigger(events.contextMenuOpen, args);
if (this.hiddenItems.length === args.items.length) {
this.updateItemStatus();
args.cancel = true;
}
}
this.contextMenu.enableItems(this.disableItems, false);
this.contextMenu.hideItems(this.hiddenItems);
this.eventArgs = args.event;
this.parent.trigger(events.contextMenuOpen, args);
if (this.hiddenItems.length === args.items.length) {
this.updateItemStatus();
args.cancel = true;
};
ContextMenu.prototype.ensureTarget = function (targetElement, selector) {
var target = targetElement;
if (selector === menuClass.header || selector === menuClass.content) {
target = parentsUntil(closest(targetElement, '.e-table'), selector.substr(1, selector.length));
}
else {
target = closest(targetElement, selector);
}
return target && parentsUntil(target, 'e-grid') === this.parent.element ? true : false;
};

@@ -280,3 +295,3 @@ ContextMenu.prototype.ensureDisabledStatus = function (item) {

case 'export':
if ((!this.parent.allowExcelExport && !this.parent.excelExport) ||
if ((!this.parent.allowExcelExport || !this.parent.excelExport) ||
!this.parent.ensureModuleInjected(PdfExport) && !this.parent.ensureModuleInjected(ExcelExport)) {

@@ -283,0 +298,0 @@ status = true;

@@ -51,8 +51,8 @@ import { isNullOrUndefined, extend } from '@syncfusion/ej2-base';

var predicate = void 0;
if (gObj.filterSettings.type === 'checkbox') {
var predicates = CheckBoxFilter.getPredicate(gObj.filterSettings.columns);
for (var _i = 0, _a = Object.keys(predicates); _i < _a.length; _i++) {
if (gObj.filterSettings.type === 'checkbox' || gObj.filterSettings.type === 'excel') {
var excelPredicate = CheckBoxFilter.getPredicate(gObj.filterSettings.columns);
for (var _i = 0, _a = Object.keys(excelPredicate); _i < _a.length; _i++) {
var prop = _a[_i];
var and = 'and';
var obj = predicates[prop];
var obj = excelPredicate[prop];
predicate = !isNullOrUndefined(predicate) ?

@@ -62,3 +62,5 @@ predicate[and](obj) :

}
query.where(predicate);
if (predicate !== undefined) {
query.where(predicate);
}
}

@@ -105,2 +107,9 @@ else {

if ((gObj.allowPaging || gObj.enableVirtualization) && skipPage !== true) {
gObj.pageSettings.currentPage = Math.max(1, gObj.pageSettings.currentPage);
if (gObj.pageSettings.pageCount <= 0) {
gObj.pageSettings.pageCount = 8;
}
if (gObj.pageSettings.pageSize <= 0) {
gObj.pageSettings.pageSize = 12;
}
query.page(gObj.pageSettings.currentPage, gObj.pageSettings.pageSize);

@@ -107,0 +116,0 @@ }

@@ -423,17 +423,10 @@ import * as events from '../base/constant';

eCell.index = index + indent;
var templateFn = {};
if (cell.column.footerTemplate !== undefined) {
templateFn[getEnumValue(CellType, CellType.Summary)] = compile(cell.column.footerTemplate);
var txt = (templateFn[getEnumValue(CellType, cell.cellType)](row.data[cell.column.field]));
eCell.value = txt[0].wholeText;
eCell.value = this.getAggreateValue(CellType.Summary, cell.column.footerTemplate, cell, row);
}
else if (cell.column.groupFooterTemplate !== undefined) {
templateFn[getEnumValue(CellType, CellType.GroupSummary)] = compile(cell.column.groupFooterTemplate);
var txt = (templateFn[getEnumValue(CellType, cell.cellType)](row.data[cell.column.field]));
eCell.value = txt[0].wholeText;
eCell.value = this.getAggreateValue(CellType.GroupSummary, cell.column.groupFooterTemplate, cell, row);
}
else if (cell.column.groupCaptionTemplate !== undefined) {
templateFn[getEnumValue(CellType, CellType.CaptionSummary)] = compile(cell.column.groupCaptionTemplate);
var txt = (templateFn[getEnumValue(CellType, cell.cellType)](row.data[cell.column.field]));
eCell.value = txt[0].wholeText;
eCell.value = this.getAggreateValue(CellType.CaptionSummary, cell.column.groupCaptionTemplate, cell, row);
}

@@ -492,2 +485,10 @@ else {

/* tslint:disable-next-line:no-any */
ExcelExport.prototype.getAggreateValue = function (cellType, template, cell, row) {
var templateFn = {};
templateFn[getEnumValue(CellType, cell.cellType)] = compile(template);
/* tslint:disable-next-line:max-line-length */
var txt = (templateFn[getEnumValue(CellType, cell.cellType)](row.data[cell.column.field ? cell.column.field : cell.column.columnName]));
return txt[0].wholeText;
};
/* tslint:disable-next-line:no-any */
ExcelExport.prototype.mergeOptions = function (JSON1, JSON2) {

@@ -494,0 +495,0 @@ /* tslint:disable-next-line:no-any */

@@ -11,6 +11,15 @@ var __extends = (this && this.__extends) || (function () {

})();
import { extend, createElement, EventHandler, remove } from '@syncfusion/ej2-base';
import { extend, createElement, EventHandler, remove, Browser } from '@syncfusion/ej2-base';
import { parentsUntil } from '../base/util';
import { ContextMenu } from '@syncfusion/ej2-navigations';
import { CheckBoxFilter } from '../actions/checkbox-filter';
import { isNullOrUndefined, } from '@syncfusion/ej2-base';
import { Internationalization } from '@syncfusion/ej2-base';
import { Query, DataManager, Predicate } from '@syncfusion/ej2-data';
import { Dialog } from '@syncfusion/ej2-popups';
import { DropDownList, AutoComplete } from '@syncfusion/ej2-dropdowns';
import { NumericTextBox } from '@syncfusion/ej2-inputs';
import { RadioButton, CheckBox } from '@syncfusion/ej2-buttons';
import { distinctStringValues } from '../base/util';
import { DatePicker } from '@syncfusion/ej2-calendars';
/**

@@ -26,3 +35,3 @@ * @hidden

*/
function ExcelFilter(parent, filterSettings, serviceLocator) {
function ExcelFilter(parent, filterSettings, serviceLocator, customFltrOperators) {
var _this = _super.call(this, parent, filterSettings, serviceLocator) || this;

@@ -47,4 +56,10 @@ _this.localeConstants = {

OK: 'OK',
Cancel: 'Cancel'
Cancel: 'Cancel',
CustomFilterPlaceHolder: 'Enter the value',
CustomFilterDatePlaceHolder: 'Choose a date',
AND: 'AND',
OR: 'OR',
ShowRowsWhere: 'Show rows where:'
};
_this.customFilterOperators = customFltrOperators;
extend(_this.defaultConstants, _this.localeConstants);

@@ -90,7 +105,9 @@ _this.isExcel = true;

ExcelFilter.prototype.destroy = function () {
// this.removeEventListener();
_super.prototype.destroy.call(this);
if (this.dlg) {
_super.prototype.destroy.call(this);
this.unwireExEvents();
}
remove(this.cmenu);
};
ExcelFilter.prototype.createMenu = function (type, isFiltered) {
ExcelFilter.prototype.createMenu = function (type, isFiltered, isCheckIcon) {
var options = { string: 'TextFilter', date: 'DateFilter', datetime: 'DateFilter', number: 'NumberFilter' };

@@ -102,3 +119,3 @@ this.menu = createElement('div', { className: 'e-contextmenu-wrapper' });

if (type !== 'boolean') {
ul.appendChild(this.createMenuElem(this.getLocalizedLabel(options[type]), 'e-submenu', isFiltered ? 'e-icon-check' : icon + ' e-emptyicon', true));
ul.appendChild(this.createMenuElem(this.getLocalizedLabel(options[type]), 'e-submenu', isCheckIcon ? 'e-icon-check' : icon + ' e-emptyicon', true));
}

@@ -120,3 +137,3 @@ this.menu.appendChild(ul);

};
ExcelFilter.prototype.unwireEvents = function () {
ExcelFilter.prototype.unwireExEvents = function () {
EventHandler.remove(this.dlg, 'mouseover', this.hoverHandler);

@@ -128,3 +145,4 @@ EventHandler.remove(this.dlg, 'click', this.clickExHandler);

if (menuItem && this.getLocalizedLabel('ClearFilter') === menuItem.innerText) {
//for clear filter
this.clearFilter();
this.closeDialog();
}

@@ -158,2 +176,18 @@ };

}
var selectedMenu;
var predicates = this.getExistingPredicate(this.options.field);
if (predicates.length === 2) {
if (predicates[0].operator === 'greaterThanOrEqual' && predicates[1].operator === 'lessThanOrEqual') {
selectedMenu = 'Between';
}
else {
selectedMenu = 'CustomFilter';
}
}
else {
if (predicates.length === 1) {
this.optrData = this.customFilterOperators[this.options.type + 'Operator'];
selectedMenu = this.getSelectedText(predicates[0].operator);
}
}
if (!this.isCMenuOpen && isSubMenu) {

@@ -163,5 +197,5 @@ li.classList.add('e-selected');

var menuOptions = {
items: this.getCMenuDS(this.options.type),
items: this.getCMenuDS(this.options.type, selectedMenu ? selectedMenu.replace(/\s/g, '') : undefined),
select: this.selectHandler.bind(this),
onClose: this.destroyCMenu.bind(this),
onClose: this.destroyCMenu.bind(this)
};

@@ -171,5 +205,27 @@ this.parent.element.appendChild(this.cmenu);

var client = this.menu.querySelector('.e-submenu').getBoundingClientRect();
this.menuObj.open(client.top, this.dlg.getBoundingClientRect().right + 1);
var pos = { top: 0, left: 0 };
if (Browser.isDevice) {
var contextRect = this.getContextBounds(this.menuObj);
pos.top = (window.innerHeight - contextRect.height) / 2;
pos.left = (window.innerWidth - contextRect.width) / 2;
this.closeDialog();
}
else {
pos.top = client.top;
pos.left = this.getCMenuYPosition(this.dlg, this.menuObj);
}
this.menuObj.open(pos.top, pos.left);
}
};
ExcelFilter.prototype.getContextBounds = function (context) {
var elementVisible = this.menuObj.element.style.display;
this.menuObj.element.style.display = 'block';
return this.menuObj.element.getBoundingClientRect();
};
ExcelFilter.prototype.getCMenuYPosition = function (target, context) {
var contextWidth = this.getContextBounds(context).width;
var targetPosition = target.getBoundingClientRect();
var leftPos = targetPosition.right + contextWidth - this.parent.element.clientWidth;
return (leftPos < 1) ? (targetPosition.right + 1) : (targetPosition.left - contextWidth - 1);
};
ExcelFilter.prototype.openDialog = function (options) {

@@ -179,7 +235,8 @@ this.updateModel(options);

this.showDialog(options);
this.dialogObj.height = '345px';
this.dialogObj.dataBind();
this.createMenu(options.type, false); //isfilted to update icon for clear filter and enable/disable
var filterLength = this.getExistingPredicate(options.field).length;
this.createMenu(options.type, filterLength > 0, (filterLength === 1 || filterLength === 2));
this.dlg.insertBefore(this.menu, this.dlg.firstChild);
this.dlg.classList.add('e-excelfilter');
this.dlg.classList.remove('e-checkboxfilter');
this.cmenu = createElement('ul', { className: 'e-excel-menu' });

@@ -190,8 +247,349 @@ this.wireExEvents();

_super.prototype.closeDialog.call(this);
this.unwireEvents();
};
ExcelFilter.prototype.selectHandler = function (e) {
//context menu click
if (e.item) {
this.menuItem = e.item;
this.renderDialogue(e);
}
};
ExcelFilter.prototype.renderDialogue = function (e) {
var target = e.element;
var column = this.options.field;
var mainDiv = createElement('div', { className: 'e-xlfl-maindiv', id: column + '-xlflmenu' });
this.dlgDiv = createElement('div', { className: 'e-xlflmenu', id: column + '-xlfldlg' });
this.parent.element.appendChild(this.dlgDiv);
this.dlgObj = new Dialog({
header: 'Custom Filter',
isModal: true,
overlayClick: this.removeDialog.bind(this),
showCloseIcon: true,
closeOnEscape: false,
target: document.body,
// target: this.parent.element,
visible: false,
enableRtl: this.parent.enableRtl,
close: this.removeDialog.bind(this),
created: this.createdDialog.bind(this, target, column),
buttons: [{
click: this.filterBtnClick.bind(this, column),
buttonModel: {
content: this.getLocalizedLabel('OK'), isPrimary: true, cssClass: 'e-xlfl-okbtn'
}
},
{
click: this.removeDialog.bind(this),
buttonModel: { content: this.getLocalizedLabel('Cancel'), cssClass: 'e-xlfl-cancelbtn' }
}],
content: mainDiv,
width: 370,
animationSettings: { effect: 'None' },
});
this.dlgObj.appendTo(this.dlgDiv);
};
ExcelFilter.prototype.removeDialog = function () {
this.removeObjects([this.dropOptr, this.datePicker, this.actObj, this.numericTxtObj, this.dlgObj]);
remove(this.dlgDiv);
};
ExcelFilter.prototype.clearBtnClick = function (field) {
this.clearFilter();
this.removeDialog();
};
ExcelFilter.prototype.createdDialog = function (target, column) {
this.renderCustomFilter(target, column);
this.dlgObj.element.style.left = '0px';
this.dlgObj.element.style.top = '0px';
this.dlgObj.show();
};
ExcelFilter.prototype.renderCustomFilter = function (target, column) {
var dlgConetntEle = this.dlgObj.element.querySelector('.e-xlfl-maindiv');
/* tslint:disable-next-line:max-line-length */
var dlgFields = createElement('div', { innerHTML: this.getLocalizedLabel('ShowRowsWhere'), className: 'e-xlfl-dlgfields' });
dlgConetntEle.appendChild(dlgFields);
//column name
var fieldSet = createElement('div', { innerHTML: column, className: 'e-xlfl-fieldset' });
dlgConetntEle.appendChild(fieldSet);
this.renderFilterUI(column, dlgConetntEle);
};
ExcelFilter.prototype.filterBtnClick = function (col) {
var fValue = this.dlgDiv.querySelector('#' + col + '-xlfl-frstvalue').ej2_instances[0];
var fOperator = this.dlgDiv.querySelector('#' + col + '-xlfl-frstoptr').ej2_instances[0];
var sValue = this.dlgDiv.querySelector('#' + col + '-xlfl-secndvalue').ej2_instances[0];
var sOperator = this.dlgDiv.querySelector('#' + col + '-xlfl-secndoptr').ej2_instances[0];
var checkBoxValue;
if (this.options.type === 'string') {
var checkBox = this.dlgDiv.querySelector('#' + col + '-xlflmtcase').ej2_instances[0];
checkBoxValue = checkBox.checked;
}
var andRadio = this.dlgDiv.querySelector('#' + col + 'e-xlfl-frstpredicate').ej2_instances[0];
var orRadio = this.dlgDiv.querySelector('#' + col + 'e-xlfl-secndpredicate').ej2_instances[0];
var predicate = (andRadio.checked ? 'and' : 'or');
if (sValue.value === null) {
predicate = 'or';
}
this.filterByColumn(this.options.field, fOperator.value, fValue.value ? fValue.value : fValue.getText(), predicate, checkBoxValue, sOperator.value, sValue.value);
this.removeDialog();
};
/**
* Filters grid row by column name with given options.
* @param {string} fieldName - Defines the field name of the filter column.
* @param {string} firstOperator - Defines the first operator by how to filter records.
* @param {string | number | Date | boolean} firstValue - Defines the first value which is used to filter records.
* @param {string} predicate - Defines the relationship between one filter query with another by using AND or OR predicate.
* @param {boolean} ignoreCase - If ignore case set to true, then filter records with exact match or else
* filter records with case insensitive(uppercase and lowercase letters treated as same).
* @param {string} secondOperator - Defines the second operator by how to filter records.
* @param {string | number | Date | boolean} secondValue - Defines the first value which is used to filter records.
*/
ExcelFilter.prototype.filterByColumn = function (fieldName, firstOperator, firstValue, predicate, ignoreCase, secondOperator, secondValue) {
var fColl = [];
var mPredicate;
if (firstValue) {
fColl.push({
field: this.options.field,
predicate: 'or',
matchcase: ignoreCase,
operator: firstOperator,
value: firstValue,
type: this.options.type
});
mPredicate = new Predicate(this.options.field, firstOperator.toLowerCase(), firstValue, ignoreCase);
}
if (secondValue) {
fColl.push({
field: this.options.field,
predicate: predicate,
matchcase: ignoreCase,
operator: secondOperator,
value: secondValue,
type: this.options.type
});
/* tslint:disable-next-line:max-line-length */
mPredicate = mPredicate[predicate](this.options.field, secondOperator.toLowerCase(), secondValue, ignoreCase);
}
var args = {
action: 'filtering', filterCollection: fColl, field: this.options.field,
ejpredicate: mPredicate
};
this.options.handler(args);
};
/* tslint:disable-next-line:max-line-length */
ExcelFilter.prototype.renderOperatorUI = function (column, table, elementID, predicates, isFirst) {
var fieldElement = createElement('tr', { className: 'e-xlfl-fields' });
table.appendChild(fieldElement);
var xlfloptr = createElement('td', { className: 'e-xlfl-optr' });
fieldElement.appendChild(xlfloptr);
var optrDiv = createElement('div', { className: 'e-xlfl-optrdiv' });
var optrInput = createElement('input', { id: column + elementID });
optrDiv.appendChild(optrInput);
xlfloptr.appendChild(optrDiv);
var optr = this.options.type + 'Operator';
var dropDatasource = this.customFilterOperators[optr];
this.optrData = dropDatasource;
var selectedValue = this.dropSelectedVal(column, predicates, isFirst);
//Trailing three dots are sliced.
var menuText = '';
if (this.menuItem) {
menuText = this.menuItem.text.slice(0, -3);
if (menuText !== this.getLocalizedLabel('CustomFilter')) {
selectedValue = isFirst ? menuText : undefined;
}
if (menuText === this.getLocalizedLabel('Between')) {
selectedValue = this.getLocalizedLabel(isFirst ? 'GreaterThanOrEqual' : 'LessThanOrEqual');
}
}
this.dropOptr = new DropDownList({
dataSource: dropDatasource,
fields: { text: 'text', value: 'value' },
text: selectedValue,
enableRtl: this.parent.enableRtl
});
this.dropOptr.appendTo(optrInput);
var operator = this.getSelectedValue(selectedValue);
return { fieldElement: fieldElement, operator: operator };
};
ExcelFilter.prototype.getSelectedValue = function (text) {
var selectedField = new DataManager(this.optrData).executeLocal(new Query().where('text', 'equal', text));
return !isNullOrUndefined(selectedField[0]) ? selectedField[0].value : '';
};
ExcelFilter.prototype.dropSelectedVal = function (col, predicates, isFirst) {
var operator;
if (predicates.length > 0) {
operator = predicates.length === 2 ?
(isFirst ? predicates[0].operator : predicates[1].operator) :
(isFirst ? predicates[0].operator : undefined);
}
else {
operator = isFirst ? 'equal' : undefined;
}
return this.getSelectedText(operator);
};
ExcelFilter.prototype.getSelectedText = function (operator) {
var selectedField = new DataManager(this.optrData).executeLocal(new Query().where('value', 'equal', operator));
return !isNullOrUndefined(selectedField[0]) ? selectedField[0].text : '';
};
ExcelFilter.prototype.getExistingPredicate = function (column) {
var cols = CheckBoxFilter.getDistinct(this.options.filteredColumns, 'field').records;
var collection;
return new DataManager(this.options.filteredColumns).executeLocal(new Query().where('field', 'equal', column));
};
ExcelFilter.prototype.renderFilterUI = function (column, dlgConetntEle) {
var predicates = this.getExistingPredicate(column);
var table = createElement('table', { className: 'e-xlfl-tabel' });
dlgConetntEle.appendChild(table);
//Renders first dropdown
/* tslint:disable-next-line:max-line-length */
var optr = this.renderOperatorUI(column, table, '-xlfl-frstoptr', predicates, true);
//Renders first value
this.renderFlValueUI(column, optr, '-xlfl-frstvalue', predicates, true);
var predicate = createElement('tr', { className: 'e-xlfl-predicate' });
table.appendChild(predicate);
//Renders first radion button
this.renderRadioButton(column, predicate, predicates);
if (this.options.type === 'string') {
this.renderMatchCase(column, predicate, '-xlflmtcase', predicates);
}
//Renders second dropdown
optr = this.renderOperatorUI(column, table, '-xlfl-secndoptr', predicates, false);
//Renders second text box
this.renderFlValueUI(column, optr, '-xlfl-secndvalue', predicates, false);
};
ExcelFilter.prototype.renderRadioButton = function (column, tr, predicates) {
var td = createElement('td', { className: 'e-xlfl-radio' });
tr.appendChild(td);
var radioDiv = createElement('div', { className: 'e-xlfl-radiodiv' });
/* tslint:disable-next-line:max-line-length */
var frstpredicate = createElement('input', { id: column + 'e-xlfl-frstpredicate', attrs: { 'type': 'radio' } });
/* tslint:disable-next-line:max-line-length */
var secndpredicate = createElement('input', { id: column + 'e-xlfl-secndpredicate', attrs: { 'type': 'radio' } });
//appends into div
radioDiv.appendChild(frstpredicate);
radioDiv.appendChild(secndpredicate);
td.appendChild(radioDiv);
// Initialize AND RadioButton component.
/* tslint:disable-next-line:max-line-length */
var andRadio = new RadioButton({ label: this.getLocalizedLabel('AND'), name: 'default', cssClass: 'e-xlfl-radio-and', checked: true, enableRtl: this.parent.enableRtl });
// Initialize OR RadioButton component.
/* tslint:disable-next-line:max-line-length */
var orRadio = new RadioButton({ label: this.getLocalizedLabel('OR'), name: 'default', cssClass: 'e-xlfl-radio-or', enableRtl: this.parent.enableRtl });
var flValue = predicates.length === 2 ? predicates[1].predicate : 'and';
if (flValue === 'and') {
andRadio.checked = true;
orRadio.checked = false;
}
else {
orRadio.checked = true;
andRadio.checked = false;
}
// Render initialized RadioButton.
andRadio.appendTo(frstpredicate);
orRadio.appendTo(secndpredicate);
};
/* tslint:disable-next-line:no-any */
ExcelFilter.prototype.removeObjects = function (elements) {
for (var _i = 0, elements_1 = elements; _i < elements_1.length; _i++) {
var obj = elements_1[_i];
if (obj && !obj.isDestroyed) {
obj.destroy();
}
}
};
/* tslint:disable-next-line:max-line-length */
ExcelFilter.prototype.renderFlValueUI = function (column, optr, elementId, predicates, isFirst) {
var value = createElement('td', { className: 'e-xlfl-value' });
optr.fieldElement.appendChild(value);
var valueDiv = createElement('div', { className: 'e-xlfl-valuediv' });
var valueInput = createElement('input', { id: column + elementId });
valueDiv.appendChild(valueInput);
value.appendChild(valueDiv);
var flValue;
var predicate;
if (predicates.length > 0) {
predicate = predicates.length === 2 ?
(isFirst ? predicates[0] : predicates[1]) :
(isFirst ? predicates[0] : undefined);
flValue = (predicate && predicate.operator === optr.operator) ? predicate.value : undefined;
}
var types = {
'string': this.renderAutoComplete.bind(this),
'number': this.renderNumericTextBox.bind(this),
'date': this.renderDate.bind(this),
'datetime': this.renderDate.bind(this)
};
types[this.options.type](this.options, column, valueInput, flValue, this.parent.enableRtl);
};
ExcelFilter.prototype.renderMatchCase = function (column, tr, elementId, predicates) {
var matchCase = createElement('td', { className: 'e-xlfl-mtcase' });
tr.appendChild(matchCase);
var matchCaseDiv = createElement('div', { className: 'e-xlfl-matchcasediv' });
var matchCaseInput = createElement('input', { id: column + elementId, attrs: { 'type': 'checkbox' } });
matchCaseDiv.appendChild(matchCaseInput);
matchCase.appendChild(matchCaseDiv);
var flValue = predicates.length > 0 ?
(predicates.length === 2 ? predicates[1].matchcase : predicates[0].matchcase) :
false;
// Initialize Match Case check box.
var checkbox = new CheckBox({ label: 'Match Case', enableRtl: this.parent.enableRtl, checked: flValue });
// Render initialized CheckBox.
checkbox.appendTo(matchCaseInput);
};
/* tslint:disable-next-line:max-line-length */
ExcelFilter.prototype.renderDate = function (options, column, inputValue, fValue, isRtl) {
var intl = new Internationalization();
var format = intl.getDatePattern({ type: 'date', skeleton: options.format }, false);
this.datePicker = new DatePicker({
format: format,
cssClass: 'e-popup-flmenu',
placeholder: this.getLocalizedLabel('CustomFilterDatePlaceHolder'),
width: '100%',
enableRtl: isRtl,
value: new Date(fValue),
});
this.datePicker.appendTo(inputValue);
};
ExcelFilter.prototype.completeAction = function (e) {
e.result = distinctStringValues(e.result);
};
/* tslint:disable-next-line:max-line-length */
ExcelFilter.prototype.renderNumericTextBox = function (options, column, inputValue, fValue, isRtl) {
this.numericTxtObj = new NumericTextBox({
format: options.format,
placeholder: this.getLocalizedLabel('CustomFilterPlaceHolder'),
enableRtl: isRtl,
value: fValue
});
this.numericTxtObj.appendTo(inputValue);
};
/* tslint:disable-next-line:max-line-length */
ExcelFilter.prototype.renderAutoComplete = function (options, column, inputValue, fValue, isRtl) {
var _this = this;
var actObj = new AutoComplete({
dataSource: options.dataSource instanceof DataManager ?
options.dataSource : new DataManager(options.dataSource),
fields: { value: column },
sortOrder: 'Ascending',
autofill: true,
focus: function () {
actObj.filterType = _this.dlgDiv.querySelector('#' + column +
(inputValue.id === (column + '-xlfl-frstvalue') ?
'-xlfl-frstoptr' :
'-xlfl-secndoptr')).ej2_instances[0].value;
actObj.ignoreCase = options.type === 'string' ?
!_this.dlgDiv.querySelector('#' + column + '-xlflmtcase').ej2_instances[0].checked :
true;
},
placeholder: this.getLocalizedLabel('CustomFilterPlaceHolder'),
enableRtl: isRtl,
actionComplete: function (e) {
e.result = e.result.filter(function (obj, index, arr) {
return arr.map(function (mapObject) {
return mapObject[actObj.fields.value];
}).indexOf(obj[_this.actObj.fields.value]) === index;
});
},
value: fValue
});
actObj.appendTo(inputValue);
this.actObj = actObj;
};
/**
* For internal use only - Get the module name.

@@ -198,0 +596,0 @@ * @private

@@ -42,3 +42,3 @@ import { Row } from './../models/row';

var cell = row.cells[i];
if (cell.visible === undefined && cell.cellType !== 9) {
if (cell.visible === undefined && cell.cellType !== CellType.StackedHeader) {
row.cells = this.removeCellFromRow(row.cells, i);

@@ -45,0 +45,0 @@ i = i - 1;

@@ -1,2 +0,2 @@

import { EventHandler, isNullOrUndefined, extend, closest } from '@syncfusion/ej2-base';
import { EventHandler, isNullOrUndefined, extend, closest, getValue } from '@syncfusion/ej2-base';
import { getActualPropFromColl, isActionPrevent } from '../base/util';

@@ -63,4 +63,4 @@ import { remove, createElement, matches } from '@syncfusion/ej2-base';

row.data = this.values;
this.element = rowRenderer.render(row, gObj.getColumns());
this.parent.getHeaderContent().querySelector('thead').appendChild(this.element);
this.parent.getHeaderContent().querySelector('thead').appendChild(rowRenderer.element);
this.element = rowRenderer.render(row, gObj.getColumns(), null, null, rowRenderer.element);
var detail = this.element.querySelector('.e-detailheadercell');

@@ -533,2 +533,9 @@ if (detail) {

this.stopTimer();
if (!isNullOrUndefined(this.column.filterBarTemplate)) {
var templateRead = this.column.filterBarTemplate.read;
if (typeof templateRead === 'string') {
templateRead = getValue(templateRead, window);
}
this.value = templateRead.call(this, filterElement);
}
if (this.value === '') {

@@ -535,0 +542,0 @@ this.removeFilteredColsByField(this.column.field);

@@ -107,2 +107,3 @@ import { extend } from '@syncfusion/ej2-base';

gObj.showSpinner();
this.destroyElements();
gObj.notify(events.updateData, args);

@@ -117,6 +118,4 @@ }

}
this.destroyElements();
}
gObj.editModule.destroyWidgets();
gObj.editModule.destroyForm();
gObj.notify(events.dialogDestroy, {});
this.stopEditStatus();

@@ -127,2 +126,8 @@ if (gObj.editSettings.mode === 'dialog' && args.action !== 'add') {

};
NormalEdit.prototype.destroyElements = function () {
var gObj = this.parent;
gObj.editModule.destroyWidgets();
gObj.editModule.destroyForm();
gObj.notify(events.dialogDestroy, {});
};
NormalEdit.prototype.editHandler = function (args) {

@@ -129,0 +134,0 @@ var _this = this;

@@ -614,3 +614,4 @@ import * as events from '../base/constant';

leastCaptionSummaryIndex = result.leastCaptionSummaryIndex;
var txt = (templateFn[getEnumValue(CellType, cell.cellType)](row.data[cell.column.field]));
/* tslint:disable-next-line:max-line-length */
var txt = (templateFn[getEnumValue(CellType, cell.cellType)](row.data[cell.column.field ? cell.column.field : cell.column.columnName]));
value.push(txt[0].wholeText);

@@ -617,0 +618,0 @@ isEmpty = false;

@@ -11,4 +11,3 @@ import { EventHandler, createElement, detach, formatUnit, Browser, closest } from '@syncfusion/ej2-base';

header: 'th.e-headercell',
cursor: 'e-rcursor',
lines: 'e-rlines'
cursor: 'e-rcursor'
};

@@ -182,6 +181,2 @@ /**

this.wireEvents();
if (this.parent.allowResizing &&
!(this.parent.gridLines === 'vertical' || this.parent.gridLines === 'both')) {
this.parent.element.classList.add(resizeClassList.lines);
}
this.setHandlerHeight();

@@ -228,2 +223,3 @@ };

this.element = e.target;
this.parentElementWidth = this.parent.element.getBoundingClientRect().width;
this.appendHelper();

@@ -415,3 +411,10 @@ this.column = this.getTargetColumn(e);

var rect = closest(this.element, resizeClassList.header);
this.helper.style.left = Math.floor(this.calcPos(rect).left + (this.parent.enableRtl ? 0 - 1 : rect.offsetWidth - 2)) + 'px';
var left = Math.floor(this.calcPos(rect).left + (this.parent.enableRtl ? 0 - 1 : rect.offsetWidth - 2));
var borderWidth = 2; // to maintain the helper inside of grid element.
if (left > this.parentElementWidth) {
this.helper.style.left = this.parentElementWidth - borderWidth + 'px';
}
else {
this.helper.style.left = left + 'px';
}
};

@@ -418,0 +421,0 @@ Resize.prototype.calcPos = function (elem) {

@@ -89,3 +89,5 @@ import { Browser, EventHandler } from '@syncfusion/ej2-base';

Selection.prototype.isEditing = function () {
return this.parent.editSettings.mode !== 'batch' && this.parent.isEdit && !this.persistSelection;
return (this.parent.editSettings.mode === 'inline' || (this.parent.editSettings.mode === 'batch' &&
this.parent.editModule.formObj && !this.parent.editModule.formObj.validate())) &&
this.parent.isEdit && !this.persistSelection;
};

@@ -92,0 +94,0 @@ /**

@@ -62,7 +62,5 @@ import { Browser } from '@syncfusion/ej2-base';

if (index > -1) {
this.sortSettings.columns[index] = sortedColumn;
this.sortSettings.columns.splice(index, 1);
}
else {
this.sortSettings.columns.push(sortedColumn);
}
this.sortSettings.columns.push(sortedColumn);
this.sortSettings.columns = this.sortSettings.columns;

@@ -69,0 +67,0 @@ }

@@ -119,3 +119,2 @@ import { Droppable, Browser } from '@syncfusion/ej2-base';

var tr;
var tbody;
var hdrTbody;

@@ -135,6 +134,6 @@ var row = new RowRenderer(this.serviceLocator, null, this.parent);

if (this.parent.frozenColumns && idx >= this.parent.frozenColumns) {
tbody = mCont.querySelector('tbody');
this.tbody = mCont.querySelector('tbody');
}
else {
tbody = this.getTable().querySelector('tbody');
this.tbody = this.getTable().querySelector('tbody');
}

@@ -185,16 +184,16 @@ for (var i = 0, len = modelData.length; i < len; i++) {

getUpdateUsingRaf(function () {
remove(tbody);
tbody = createElement('tbody');
remove(_this.tbody);
_this.tbody = createElement('tbody');
if (gObj.frozenColumns) {
tbody.appendChild(frag);
_this.tbody.appendChild(frag);
if (idx === 0) {
_this.isLoaded = false;
fCont.querySelector('table').appendChild(tbody);
fCont.querySelector('table').appendChild(_this.tbody);
}
else {
if (tbody.childElementCount < 1) {
tbody.appendChild(createElement('tr').appendChild(createElement('td')));
if (_this.tbody.childElementCount < 1) {
_this.tbody.appendChild(createElement('tr').appendChild(createElement('td')));
}
_this.isLoaded = true;
mCont.querySelector('table').appendChild(tbody);
mCont.querySelector('table').appendChild(_this.tbody);
fCont.style.height = ((mCont.offsetHeight) - getScrollBarWidth()) + 'px';

@@ -205,3 +204,3 @@ mCont.style.overflow = 'scroll';

else {
_this.appendContent(tbody, frag, args);
_this.appendContent(_this.tbody, frag, args);
}

@@ -208,0 +207,0 @@ if (gObj.frozenColumns && idx === 0) {

@@ -38,2 +38,3 @@ var __extends = (this && this.__extends) || (function () {

FilterCellRenderer.prototype.render = function (cell, data) {
var tr = this.parent.element.querySelector('.e-filterbar');
var node = this.element.cloneNode();

@@ -44,2 +45,3 @@ var innerDIV = this.getGui();

if (column.type !== 'checkbox') {
tr.appendChild(node);
if ((isNullOrUndefined(column.allowFiltering) || column.allowFiltering) && !isNullOrUndefined(column.filterBarTemplate)) {

@@ -58,3 +60,3 @@ node.classList.add('e-fltrtemp');

else {
var args = { column: column };
var args = { column: column, node: Element };
var temp = column.filterBarTemplate.create;

@@ -104,8 +106,4 @@ if (typeof temp === 'string') {

if ((isNullOrUndefined(column.allowFiltering) || column.allowFiltering) && !isNullOrUndefined(column.filterBarTemplate)) {
var templateRead = column.filterBarTemplate.read;
var templateWrite = column.filterBarTemplate.write;
var args = { element: input, column: column };
if (typeof templateRead === 'string') {
templateRead = args.column = getValue(templateRead, window);
}
if (typeof templateWrite === 'string') {

@@ -112,0 +110,0 @@ templateWrite = getValue(templateWrite, window);

@@ -139,2 +139,5 @@ var __extends = (this && this.__extends) || (function () {

}
else if (alignment === 'center') {
node.classList.add('e-centeralign');
}
}

@@ -141,0 +144,0 @@ if (column.clipMode === 'clip') {

@@ -25,4 +25,4 @@ import { isNullOrUndefined, extend } from '@syncfusion/ej2-base';

*/
RowRenderer.prototype.render = function (row, columns, attributes, rowTemplate) {
return this.refreshRow(row, columns, attributes, rowTemplate);
RowRenderer.prototype.render = function (row, columns, attributes, rowTemplate, cloneNode) {
return this.refreshRow(row, columns, attributes, rowTemplate, cloneNode);
};

@@ -50,4 +50,4 @@ /**

};
RowRenderer.prototype.refreshRow = function (row, columns, attributes, rowTemplate) {
var tr = this.element.cloneNode();
RowRenderer.prototype.refreshRow = function (row, columns, attributes, rowTemplate, cloneNode) {
var tr = !isNullOrUndefined(cloneNode) ? cloneNode : this.element.cloneNode();
var rowArgs = { data: row.data };

@@ -68,12 +68,14 @@ var cellArgs = { data: row.data };

var td = cellRenderer.render(row.cells[i], row.data, { 'index': !isNullOrUndefined(row.index) ? row.index.toString() : '' });
if (row.cells[i].cellType === CellType.Data) {
this.parent.trigger(queryCellInfo, extend(cellArgs, { cell: td, column: cell.column, colSpan: 1 }));
if (cellArgs.colSpan > 1 || row.cells[i].cellSpan > 1) {
var cellMerge = new CellMergeRender(this.serviceLocator, this.parent);
td = cellMerge.render(cellArgs, row, i, td);
if (row.cells[i].cellType !== CellType.Filter) {
if (row.cells[i].cellType === CellType.Data) {
this.parent.trigger(queryCellInfo, extend(cellArgs, { cell: td, column: cell.column, colSpan: 1 }));
if (cellArgs.colSpan > 1 || row.cells[i].cellSpan > 1) {
var cellMerge = new CellMergeRender(this.serviceLocator, this.parent);
td = cellMerge.render(cellArgs, row, i, td);
}
}
if (!row.cells[i].isSpanned) {
tr.appendChild(td);
}
}
if (!row.cells[i].isSpanned) {
tr.appendChild(td);
}
}

@@ -80,0 +82,0 @@ if (row.isDataRow) {

@@ -44,3 +44,3 @@ var __extends = (this && this.__extends) || (function () {

}
if (isNullOrUndefined(cell.column.textAlign)) {
if (!isNullOrUndefined(cell.column.textAlign)) {
div.style.textAlign = cell.column.textAlign;

@@ -47,0 +47,0 @@ }

{
"name": "@syncfusion/ej2-grids",
"version": "15.4.20",
"version": "15.4.21",
"description": "Essential JS 2 Grid Component",

@@ -9,13 +9,13 @@ "author": "Syncfusion Inc.",

"dependencies": {
"@syncfusion/ej2-base": "^15.4.20",
"@syncfusion/ej2-base": "^15.4.21",
"@syncfusion/ej2-data": "^15.4.20",
"@syncfusion/ej2-navigations": "^15.4.20",
"@syncfusion/ej2-inputs": "^15.4.20",
"@syncfusion/ej2-calendars": "^15.4.20",
"@syncfusion/ej2-dropdowns": "^15.4.20",
"@syncfusion/ej2-popups": "^15.4.20",
"@syncfusion/ej2-buttons": "^15.4.20",
"@syncfusion/ej2-navigations": "^15.4.21",
"@syncfusion/ej2-inputs": "^15.4.21",
"@syncfusion/ej2-calendars": "^15.4.21",
"@syncfusion/ej2-dropdowns": "^15.4.21",
"@syncfusion/ej2-popups": "^15.4.21",
"@syncfusion/ej2-buttons": "^15.4.21",
"@syncfusion/ej2-lists": "^15.4.20",
"@syncfusion/ej2-excel-export": "^15.4.20",
"@syncfusion/ej2-pdf-export": "^15.4.20",
"@syncfusion/ej2-pdf-export": "^15.4.21",
"@syncfusion/ej2-file-utils": "^15.4.20",

@@ -22,0 +22,0 @@ "@syncfusion/ej2-compression": "^15.4.20"

@@ -141,3 +141,5 @@ define(["require", "exports", "@syncfusion/ej2-base", "@syncfusion/ej2-base", "@syncfusion/ej2-base", "../base/enum", "../base/util", "../base/constant", "../renderer/row-renderer", "../renderer/cell-renderer", "../models/cell", "../services/row-model-generator"], function (require, exports, ej2_base_1, ej2_base_2, ej2_base_3, enum_1, util_1, events, row_renderer_1, cell_renderer_1, cell_1, row_model_generator_1) {

this.saveCell();
this.bulkDelete(fieldname, data);
if (!this.validateFormObj()) {
this.bulkDelete(fieldname, data);
}
};

@@ -144,0 +146,0 @@ BatchEdit.prototype.addRecord = function (data) {

@@ -29,2 +29,3 @@ import { L10n } from '@syncfusion/ej2-base';

protected options: IFilterArgs;
protected filterSettings: FilterSettings;
protected defaultConstants: Object;

@@ -70,2 +71,3 @@ protected values: Object;

closeDialog(): void;
protected clearFilter(): void;
private btnClick(e);

@@ -72,0 +74,0 @@ private fltrBtnHandler();

@@ -24,2 +24,3 @@ define(["require", "exports", "@syncfusion/ej2-base", "../base/util", "@syncfusion/ej2-base", "@syncfusion/ej2-data", "@syncfusion/ej2-buttons", "../base/constant", "../services/value-formatter", "../base/util", "@syncfusion/ej2-popups", "@syncfusion/ej2-inputs", "@syncfusion/ej2-popups", "../base/util"], function (require, exports, ej2_base_1, util_1, ej2_base_2, ej2_data_1, ej2_buttons_1, events, value_formatter_1, util_2, ej2_popups_1, ej2_inputs_1, ej2_popups_2, util_3) {

this.serviceLocator = serviceLocator;
this.filterSettings = filterSettings;
this.valueFormatter = new value_formatter_1.ValueFormatter(this.parent.locale);

@@ -194,2 +195,5 @@ this.initLocale(this.defaultConstants);

};
CheckBoxFilter.prototype.clearFilter = function () {
this.options.handler({ action: 'clear-filter', field: this.options.field });
};
CheckBoxFilter.prototype.btnClick = function (e) {

@@ -201,3 +205,3 @@ var text = e.target.innerText.toLowerCase();

else if (this.getLocalizedLabel('Clear').toLowerCase() === text) {
this.options.handler({ action: 'clear-filter', field: this.options.field });
this.clearFilter();
}

@@ -503,7 +507,9 @@ this.closeDialog();

var cols = CheckBoxFilter.getDistinct(columns, 'field').records;
var collection;
var collection = [];
var pred = {};
for (var i = 0; i < cols.length; i++) {
collection = new ej2_data_1.DataManager(columns).executeLocal(new ej2_data_1.Query().where('field', 'equal', cols[i].field));
pred[cols[i].field] = CheckBoxFilter.generatePredicate(collection);
if (collection.length !== 0) {
pred[cols[i].field] = CheckBoxFilter.generatePredicate(collection);
}
}

@@ -548,3 +554,8 @@ return pred;

CheckBoxFilter.getDatePredicate = function (predicate) {
return new ej2_data_1.Predicate(predicate.field, predicate.operator, predicate.value, predicate.ignoreCase || !predicate.matchcase);
if (['equal', 'notequal'].indexOf(predicate.operator) === -1) {
if (predicate.value instanceof Date) {
predicate.ignoreCase = false;
}
}
return new ej2_data_1.Predicate(predicate.field, predicate.operator, predicate.value, predicate.ignoreCase);
};

@@ -551,0 +562,0 @@ CheckBoxFilter.updateDateFilter = function (filter) {

@@ -64,2 +64,3 @@ import { ContextMenu as Menu } from '@syncfusion/ej2-navigations';

private contextMenuBeforeOpen(args);
private ensureTarget(targetElement, selector);
private ensureDisabledStatus(item);

@@ -66,0 +67,0 @@ /**

@@ -1,2 +0,2 @@

define(["require", "exports", "@syncfusion/ej2-base", "@syncfusion/ej2-base", "@syncfusion/ej2-navigations", "../base/constant", "../actions/resize", "../actions/page", "../actions/group", "../actions/sort", "../actions/pdf-export", "../actions/excel-export"], function (require, exports, ej2_base_1, ej2_base_2, ej2_navigations_1, events, resize_1, page_1, group_1, sort_1, pdf_export_1, excel_export_1) {
define(["require", "exports", "@syncfusion/ej2-base", "@syncfusion/ej2-base", "@syncfusion/ej2-navigations", "../base/constant", "../actions/resize", "../actions/page", "../base/util", "../actions/group", "../actions/sort", "../actions/pdf-export", "../actions/excel-export"], function (require, exports, ej2_base_1, ej2_base_2, ej2_navigations_1, events, resize_1, page_1, util_1, group_1, sort_1, pdf_export_1, excel_export_1) {
"use strict";

@@ -121,3 +121,2 @@ Object.defineProperty(exports, "__esModule", { value: true });

this.parent.editModule.endEdit();
this.selectRow(this.eventArgs);
this.parent.editModule.startEdit();

@@ -127,3 +126,2 @@ break;

this.parent.editModule.endEdit();
this.selectRow(this.eventArgs);
this.parent.editModule.deleteRow(this.parent.getRowByIndex(this.parent.selectedRowIndex));

@@ -189,39 +187,55 @@ break;

ContextMenu.prototype.contextMenuBeforeOpen = function (args) {
this.targetColumn = this.getColumn(args.event);
if (args.event && (ej2_base_1.closest(args.event.target, '.' + exports.menuClass.groupHeader)
var closestGrid = ej2_base_1.closest(args.event.target, '.e-grid');
if (args.event && closestGrid && closestGrid !== this.parent.element) {
args.cancel = true;
}
else if (args.event && (ej2_base_1.closest(args.event.target, '.' + exports.menuClass.groupHeader)
|| ej2_base_1.closest(args.event.target, '.' + exports.menuClass.touchPop))) {
args.cancel = true;
return;
}
for (var _i = 0, _a = args.items; _i < _a.length; _i++) {
var item = _a[_i];
var key = this.getKeyFromId(item.id);
var dItem = this.defaultItems[key];
if (this.getDefaultItems().indexOf(key) !== -1) {
if (this.ensureDisabledStatus(key)) {
this.disableItems.push(item.text);
}
if (args.event && ej2_base_1.closest(args.event.target, exports.menuClass.edit)) {
if (key !== 'save' && key !== 'cancel') {
else {
this.targetColumn = this.getColumn(args.event);
this.selectRow(args.event);
for (var _i = 0, _a = args.items; _i < _a.length; _i++) {
var item = _a[_i];
var key = this.getKeyFromId(item.id);
var dItem = this.defaultItems[key];
if (this.getDefaultItems().indexOf(key) !== -1) {
if (this.ensureDisabledStatus(key)) {
this.disableItems.push(item.text);
}
if (args.event && this.ensureTarget(args.event.target, exports.menuClass.edit)) {
if (key !== 'save' && key !== 'cancel') {
this.hiddenItems.push(item.text);
}
}
else if (ej2_base_1.isNullOrUndefined(args.parentItem) && args.event
&& !this.ensureTarget(args.event.target, dItem.target)) {
this.hiddenItems.push(item.text);
}
}
else if (ej2_base_1.isNullOrUndefined(args.parentItem) && args.event
&& !ej2_base_1.closest(args.event.target, dItem.target)) {
else if (item.target && args.event &&
!this.ensureTarget(args.event.target, item.target)) {
this.hiddenItems.push(item.text);
}
}
else if (item.target && args.event &&
!ej2_base_1.closest(args.event.target, item.target)) {
this.hiddenItems.push(item.text);
this.contextMenu.enableItems(this.disableItems, false);
this.contextMenu.hideItems(this.hiddenItems);
this.eventArgs = args.event;
this.parent.trigger(events.contextMenuOpen, args);
if (this.hiddenItems.length === args.items.length) {
this.updateItemStatus();
args.cancel = true;
}
}
this.contextMenu.enableItems(this.disableItems, false);
this.contextMenu.hideItems(this.hiddenItems);
this.eventArgs = args.event;
this.parent.trigger(events.contextMenuOpen, args);
if (this.hiddenItems.length === args.items.length) {
this.updateItemStatus();
args.cancel = true;
};
ContextMenu.prototype.ensureTarget = function (targetElement, selector) {
var target = targetElement;
if (selector === exports.menuClass.header || selector === exports.menuClass.content) {
target = util_1.parentsUntil(ej2_base_1.closest(targetElement, '.e-table'), selector.substr(1, selector.length));
}
else {
target = ej2_base_1.closest(targetElement, selector);
}
return target && util_1.parentsUntil(target, 'e-grid') === this.parent.element ? true : false;
};

@@ -263,3 +277,3 @@ ContextMenu.prototype.ensureDisabledStatus = function (item) {

case 'export':
if ((!this.parent.allowExcelExport && !this.parent.excelExport) ||
if ((!this.parent.allowExcelExport || !this.parent.excelExport) ||
!this.parent.ensureModuleInjected(pdf_export_1.PdfExport) && !this.parent.ensureModuleInjected(excel_export_1.ExcelExport)) {

@@ -266,0 +280,0 @@ status = true;

@@ -31,8 +31,8 @@ define(["require", "exports", "@syncfusion/ej2-base", "@syncfusion/ej2-data", "../base/util", "../base/constant", "../services/value-formatter", "../actions/checkbox-filter"], function (require, exports, ej2_base_1, ej2_data_1, util_1, events, value_formatter_1, checkbox_filter_1) {

var predicate = void 0;
if (gObj.filterSettings.type === 'checkbox') {
var predicates = checkbox_filter_1.CheckBoxFilter.getPredicate(gObj.filterSettings.columns);
for (var _i = 0, _a = Object.keys(predicates); _i < _a.length; _i++) {
if (gObj.filterSettings.type === 'checkbox' || gObj.filterSettings.type === 'excel') {
var excelPredicate = checkbox_filter_1.CheckBoxFilter.getPredicate(gObj.filterSettings.columns);
for (var _i = 0, _a = Object.keys(excelPredicate); _i < _a.length; _i++) {
var prop = _a[_i];
var and = 'and';
var obj = predicates[prop];
var obj = excelPredicate[prop];
predicate = !ej2_base_1.isNullOrUndefined(predicate) ?

@@ -42,3 +42,5 @@ predicate[and](obj) :

}
query.where(predicate);
if (predicate !== undefined) {
query.where(predicate);
}
}

@@ -85,2 +87,9 @@ else {

if ((gObj.allowPaging || gObj.enableVirtualization) && skipPage !== true) {
gObj.pageSettings.currentPage = Math.max(1, gObj.pageSettings.currentPage);
if (gObj.pageSettings.pageCount <= 0) {
gObj.pageSettings.pageCount = 8;
}
if (gObj.pageSettings.pageSize <= 0) {
gObj.pageSettings.pageSize = 12;
}
query.page(gObj.pageSettings.currentPage, gObj.pageSettings.pageSize);

@@ -87,0 +96,0 @@ }

@@ -50,2 +50,3 @@ import { IGrid } from '../base/interface';

private fillAggregates(gObj, cells, indent, customIndex?);
private getAggreateValue(cellType, template, cell, row);
private mergeOptions(JSON1, JSON2);

@@ -52,0 +53,0 @@ private getColumnStyle(gObj, columnIndex);

@@ -351,17 +351,10 @@ define(["require", "exports", "../base/constant", "@syncfusion/ej2-excel-export", "@syncfusion/ej2-base", "../actions/data", "./export-helper", "../services/summary-model-generator", "../base/enum", "@syncfusion/ej2-data"], function (require, exports, events, ej2_excel_export_1, ej2_base_1, data_1, export_helper_1, summary_model_generator_1, enum_1, ej2_data_1) {

eCell.index = index + indent;
var templateFn = {};
if (cell.column.footerTemplate !== undefined) {
templateFn[ej2_base_1.getEnumValue(enum_1.CellType, enum_1.CellType.Summary)] = ej2_base_1.compile(cell.column.footerTemplate);
var txt = (templateFn[ej2_base_1.getEnumValue(enum_1.CellType, cell.cellType)](row.data[cell.column.field]));
eCell.value = txt[0].wholeText;
eCell.value = this.getAggreateValue(enum_1.CellType.Summary, cell.column.footerTemplate, cell, row);
}
else if (cell.column.groupFooterTemplate !== undefined) {
templateFn[ej2_base_1.getEnumValue(enum_1.CellType, enum_1.CellType.GroupSummary)] = ej2_base_1.compile(cell.column.groupFooterTemplate);
var txt = (templateFn[ej2_base_1.getEnumValue(enum_1.CellType, cell.cellType)](row.data[cell.column.field]));
eCell.value = txt[0].wholeText;
eCell.value = this.getAggreateValue(enum_1.CellType.GroupSummary, cell.column.groupFooterTemplate, cell, row);
}
else if (cell.column.groupCaptionTemplate !== undefined) {
templateFn[ej2_base_1.getEnumValue(enum_1.CellType, enum_1.CellType.CaptionSummary)] = ej2_base_1.compile(cell.column.groupCaptionTemplate);
var txt = (templateFn[ej2_base_1.getEnumValue(enum_1.CellType, cell.cellType)](row.data[cell.column.field]));
eCell.value = txt[0].wholeText;
eCell.value = this.getAggreateValue(enum_1.CellType.CaptionSummary, cell.column.groupCaptionTemplate, cell, row);
}

@@ -419,2 +412,8 @@ else {

};
ExcelExport.prototype.getAggreateValue = function (cellType, template, cell, row) {
var templateFn = {};
templateFn[ej2_base_1.getEnumValue(enum_1.CellType, cell.cellType)] = ej2_base_1.compile(template);
var txt = (templateFn[ej2_base_1.getEnumValue(enum_1.CellType, cell.cellType)](row.data[cell.column.field ? cell.column.field : cell.column.columnName]));
return txt[0].wholeText;
};
ExcelExport.prototype.mergeOptions = function (JSON1, JSON2) {

@@ -421,0 +420,0 @@ var result = {};

@@ -11,2 +11,13 @@ import { FilterSettings } from '../base/grid';

export declare class ExcelFilter extends CheckBoxFilter {
private datePicker;
private actObj;
private numericTxtObj;
private dlgDiv;
private l10n;
private dlgObj;
private menuEle;
private customFilterOperators;
private dropOptr;
private optrData;
private menuItem;
private menu;

@@ -21,3 +32,3 @@ private cmenu;

*/
constructor(parent?: IGrid, filterSettings?: FilterSettings, serviceLocator?: ServiceLocator);
constructor(parent?: IGrid, filterSettings?: FilterSettings, serviceLocator?: ServiceLocator, customFltrOperators?: Object);
private getCMenuDS(type, operator?);

@@ -30,13 +41,47 @@ /**

destroy(): void;
private createMenu(type, isFiltered);
private createMenu(type, isFiltered, isCheckIcon);
private createMenuElem(val, className?, iconName?, isSubMenu?);
private wireExEvents();
private unwireEvents();
private unwireExEvents();
private clickExHandler(e);
private destroyCMenu();
private hoverHandler(e);
private getContextBounds(context);
private getCMenuYPosition(target, context);
openDialog(options: IFilterArgs): void;
closeDialog(): void;
private selectHandler(e);
private renderDialogue(e);
private removeDialog();
private clearBtnClick(field);
private createdDialog(target, column);
private renderCustomFilter(target, column);
private filterBtnClick(col);
/**
* Filters grid row by column name with given options.
* @param {string} fieldName - Defines the field name of the filter column.
* @param {string} firstOperator - Defines the first operator by how to filter records.
* @param {string | number | Date | boolean} firstValue - Defines the first value which is used to filter records.
* @param {string} predicate - Defines the relationship between one filter query with another by using AND or OR predicate.
* @param {boolean} ignoreCase - If ignore case set to true, then filter records with exact match or else
* filter records with case insensitive(uppercase and lowercase letters treated as same).
* @param {string} secondOperator - Defines the second operator by how to filter records.
* @param {string | number | Date | boolean} secondValue - Defines the first value which is used to filter records.
*/
private filterByColumn(fieldName, firstOperator, firstValue, predicate?, ignoreCase?, secondOperator?, secondValue?);
private renderOperatorUI(column, table, elementID, predicates, isFirst?);
private getSelectedValue(text);
private dropSelectedVal(col, predicates, isFirst?);
private getSelectedText(operator);
private getExistingPredicate(column);
private renderFilterUI(column, dlgConetntEle);
private renderRadioButton(column, tr, predicates);
private removeObjects(elements);
private renderFlValueUI(column, optr, elementId, predicates, isFirst?);
private renderMatchCase(column, tr, elementId, predicates);
private renderDate(options, column, inputValue, fValue, isRtl);
private completeAction(e);
private renderNumericTextBox(options, column, inputValue, fValue, isRtl);
private renderAutoComplete(options, column, inputValue, fValue, isRtl);
/**
* For internal use only - Get the module name.

@@ -43,0 +88,0 @@ * @private

@@ -11,3 +11,3 @@ var __extends = (this && this.__extends) || (function () {

})();
define(["require", "exports", "@syncfusion/ej2-base", "../base/util", "@syncfusion/ej2-navigations", "../actions/checkbox-filter"], function (require, exports, ej2_base_1, util_1, ej2_navigations_1, checkbox_filter_1) {
define(["require", "exports", "@syncfusion/ej2-base", "../base/util", "@syncfusion/ej2-navigations", "../actions/checkbox-filter", "@syncfusion/ej2-base", "@syncfusion/ej2-base", "@syncfusion/ej2-data", "@syncfusion/ej2-popups", "@syncfusion/ej2-dropdowns", "@syncfusion/ej2-inputs", "@syncfusion/ej2-buttons", "../base/util", "@syncfusion/ej2-calendars"], function (require, exports, ej2_base_1, util_1, ej2_navigations_1, checkbox_filter_1, ej2_base_2, ej2_base_3, ej2_data_1, ej2_popups_1, ej2_dropdowns_1, ej2_inputs_1, ej2_buttons_1, util_2, ej2_calendars_1) {
"use strict";

@@ -17,3 +17,3 @@ Object.defineProperty(exports, "__esModule", { value: true });

__extends(ExcelFilter, _super);
function ExcelFilter(parent, filterSettings, serviceLocator) {
function ExcelFilter(parent, filterSettings, serviceLocator, customFltrOperators) {
var _this = _super.call(this, parent, filterSettings, serviceLocator) || this;

@@ -38,4 +38,10 @@ _this.localeConstants = {

OK: 'OK',
Cancel: 'Cancel'
Cancel: 'Cancel',
CustomFilterPlaceHolder: 'Enter the value',
CustomFilterDatePlaceHolder: 'Choose a date',
AND: 'AND',
OR: 'OR',
ShowRowsWhere: 'Show rows where:'
};
_this.customFilterOperators = customFltrOperators;
ej2_base_1.extend(_this.defaultConstants, _this.localeConstants);

@@ -76,6 +82,9 @@ _this.isExcel = true;

ExcelFilter.prototype.destroy = function () {
_super.prototype.destroy.call(this);
if (this.dlg) {
_super.prototype.destroy.call(this);
this.unwireExEvents();
}
ej2_base_1.remove(this.cmenu);
};
ExcelFilter.prototype.createMenu = function (type, isFiltered) {
ExcelFilter.prototype.createMenu = function (type, isFiltered, isCheckIcon) {
var options = { string: 'TextFilter', date: 'DateFilter', datetime: 'DateFilter', number: 'NumberFilter' };

@@ -87,3 +96,3 @@ this.menu = ej2_base_1.createElement('div', { className: 'e-contextmenu-wrapper' });

if (type !== 'boolean') {
ul.appendChild(this.createMenuElem(this.getLocalizedLabel(options[type]), 'e-submenu', isFiltered ? 'e-icon-check' : icon + ' e-emptyicon', true));
ul.appendChild(this.createMenuElem(this.getLocalizedLabel(options[type]), 'e-submenu', isCheckIcon ? 'e-icon-check' : icon + ' e-emptyicon', true));
}

@@ -105,3 +114,3 @@ this.menu.appendChild(ul);

};
ExcelFilter.prototype.unwireEvents = function () {
ExcelFilter.prototype.unwireExEvents = function () {
ej2_base_1.EventHandler.remove(this.dlg, 'mouseover', this.hoverHandler);

@@ -113,2 +122,4 @@ ej2_base_1.EventHandler.remove(this.dlg, 'click', this.clickExHandler);

if (menuItem && this.getLocalizedLabel('ClearFilter') === menuItem.innerText) {
this.clearFilter();
this.closeDialog();
}

@@ -142,2 +153,18 @@ };

}
var selectedMenu;
var predicates = this.getExistingPredicate(this.options.field);
if (predicates.length === 2) {
if (predicates[0].operator === 'greaterThanOrEqual' && predicates[1].operator === 'lessThanOrEqual') {
selectedMenu = 'Between';
}
else {
selectedMenu = 'CustomFilter';
}
}
else {
if (predicates.length === 1) {
this.optrData = this.customFilterOperators[this.options.type + 'Operator'];
selectedMenu = this.getSelectedText(predicates[0].operator);
}
}
if (!this.isCMenuOpen && isSubMenu) {

@@ -147,5 +174,5 @@ li.classList.add('e-selected');

var menuOptions = {
items: this.getCMenuDS(this.options.type),
items: this.getCMenuDS(this.options.type, selectedMenu ? selectedMenu.replace(/\s/g, '') : undefined),
select: this.selectHandler.bind(this),
onClose: this.destroyCMenu.bind(this),
onClose: this.destroyCMenu.bind(this)
};

@@ -155,5 +182,27 @@ this.parent.element.appendChild(this.cmenu);

var client = this.menu.querySelector('.e-submenu').getBoundingClientRect();
this.menuObj.open(client.top, this.dlg.getBoundingClientRect().right + 1);
var pos = { top: 0, left: 0 };
if (ej2_base_1.Browser.isDevice) {
var contextRect = this.getContextBounds(this.menuObj);
pos.top = (window.innerHeight - contextRect.height) / 2;
pos.left = (window.innerWidth - contextRect.width) / 2;
this.closeDialog();
}
else {
pos.top = client.top;
pos.left = this.getCMenuYPosition(this.dlg, this.menuObj);
}
this.menuObj.open(pos.top, pos.left);
}
};
ExcelFilter.prototype.getContextBounds = function (context) {
var elementVisible = this.menuObj.element.style.display;
this.menuObj.element.style.display = 'block';
return this.menuObj.element.getBoundingClientRect();
};
ExcelFilter.prototype.getCMenuYPosition = function (target, context) {
var contextWidth = this.getContextBounds(context).width;
var targetPosition = target.getBoundingClientRect();
var leftPos = targetPosition.right + contextWidth - this.parent.element.clientWidth;
return (leftPos < 1) ? (targetPosition.right + 1) : (targetPosition.left - contextWidth - 1);
};
ExcelFilter.prototype.openDialog = function (options) {

@@ -163,7 +212,8 @@ this.updateModel(options);

this.showDialog(options);
this.dialogObj.height = '345px';
this.dialogObj.dataBind();
this.createMenu(options.type, false);
var filterLength = this.getExistingPredicate(options.field).length;
this.createMenu(options.type, filterLength > 0, (filterLength === 1 || filterLength === 2));
this.dlg.insertBefore(this.menu, this.dlg.firstChild);
this.dlg.classList.add('e-excelfilter');
this.dlg.classList.remove('e-checkboxfilter');
this.cmenu = ej2_base_1.createElement('ul', { className: 'e-excel-menu' });

@@ -174,6 +224,310 @@ this.wireExEvents();

_super.prototype.closeDialog.call(this);
this.unwireEvents();
};
ExcelFilter.prototype.selectHandler = function (e) {
if (e.item) {
this.menuItem = e.item;
this.renderDialogue(e);
}
};
ExcelFilter.prototype.renderDialogue = function (e) {
var target = e.element;
var column = this.options.field;
var mainDiv = ej2_base_1.createElement('div', { className: 'e-xlfl-maindiv', id: column + '-xlflmenu' });
this.dlgDiv = ej2_base_1.createElement('div', { className: 'e-xlflmenu', id: column + '-xlfldlg' });
this.parent.element.appendChild(this.dlgDiv);
this.dlgObj = new ej2_popups_1.Dialog({
header: 'Custom Filter',
isModal: true,
overlayClick: this.removeDialog.bind(this),
showCloseIcon: true,
closeOnEscape: false,
target: document.body,
visible: false,
enableRtl: this.parent.enableRtl,
close: this.removeDialog.bind(this),
created: this.createdDialog.bind(this, target, column),
buttons: [{
click: this.filterBtnClick.bind(this, column),
buttonModel: {
content: this.getLocalizedLabel('OK'), isPrimary: true, cssClass: 'e-xlfl-okbtn'
}
},
{
click: this.removeDialog.bind(this),
buttonModel: { content: this.getLocalizedLabel('Cancel'), cssClass: 'e-xlfl-cancelbtn' }
}],
content: mainDiv,
width: 370,
animationSettings: { effect: 'None' },
});
this.dlgObj.appendTo(this.dlgDiv);
};
ExcelFilter.prototype.removeDialog = function () {
this.removeObjects([this.dropOptr, this.datePicker, this.actObj, this.numericTxtObj, this.dlgObj]);
ej2_base_1.remove(this.dlgDiv);
};
ExcelFilter.prototype.clearBtnClick = function (field) {
this.clearFilter();
this.removeDialog();
};
ExcelFilter.prototype.createdDialog = function (target, column) {
this.renderCustomFilter(target, column);
this.dlgObj.element.style.left = '0px';
this.dlgObj.element.style.top = '0px';
this.dlgObj.show();
};
ExcelFilter.prototype.renderCustomFilter = function (target, column) {
var dlgConetntEle = this.dlgObj.element.querySelector('.e-xlfl-maindiv');
var dlgFields = ej2_base_1.createElement('div', { innerHTML: this.getLocalizedLabel('ShowRowsWhere'), className: 'e-xlfl-dlgfields' });
dlgConetntEle.appendChild(dlgFields);
var fieldSet = ej2_base_1.createElement('div', { innerHTML: column, className: 'e-xlfl-fieldset' });
dlgConetntEle.appendChild(fieldSet);
this.renderFilterUI(column, dlgConetntEle);
};
ExcelFilter.prototype.filterBtnClick = function (col) {
var fValue = this.dlgDiv.querySelector('#' + col + '-xlfl-frstvalue').ej2_instances[0];
var fOperator = this.dlgDiv.querySelector('#' + col + '-xlfl-frstoptr').ej2_instances[0];
var sValue = this.dlgDiv.querySelector('#' + col + '-xlfl-secndvalue').ej2_instances[0];
var sOperator = this.dlgDiv.querySelector('#' + col + '-xlfl-secndoptr').ej2_instances[0];
var checkBoxValue;
if (this.options.type === 'string') {
var checkBox = this.dlgDiv.querySelector('#' + col + '-xlflmtcase').ej2_instances[0];
checkBoxValue = checkBox.checked;
}
var andRadio = this.dlgDiv.querySelector('#' + col + 'e-xlfl-frstpredicate').ej2_instances[0];
var orRadio = this.dlgDiv.querySelector('#' + col + 'e-xlfl-secndpredicate').ej2_instances[0];
var predicate = (andRadio.checked ? 'and' : 'or');
if (sValue.value === null) {
predicate = 'or';
}
this.filterByColumn(this.options.field, fOperator.value, fValue.value ? fValue.value : fValue.getText(), predicate, checkBoxValue, sOperator.value, sValue.value);
this.removeDialog();
};
ExcelFilter.prototype.filterByColumn = function (fieldName, firstOperator, firstValue, predicate, ignoreCase, secondOperator, secondValue) {
var fColl = [];
var mPredicate;
if (firstValue) {
fColl.push({
field: this.options.field,
predicate: 'or',
matchcase: ignoreCase,
operator: firstOperator,
value: firstValue,
type: this.options.type
});
mPredicate = new ej2_data_1.Predicate(this.options.field, firstOperator.toLowerCase(), firstValue, ignoreCase);
}
if (secondValue) {
fColl.push({
field: this.options.field,
predicate: predicate,
matchcase: ignoreCase,
operator: secondOperator,
value: secondValue,
type: this.options.type
});
mPredicate = mPredicate[predicate](this.options.field, secondOperator.toLowerCase(), secondValue, ignoreCase);
}
var args = {
action: 'filtering', filterCollection: fColl, field: this.options.field,
ejpredicate: mPredicate
};
this.options.handler(args);
};
ExcelFilter.prototype.renderOperatorUI = function (column, table, elementID, predicates, isFirst) {
var fieldElement = ej2_base_1.createElement('tr', { className: 'e-xlfl-fields' });
table.appendChild(fieldElement);
var xlfloptr = ej2_base_1.createElement('td', { className: 'e-xlfl-optr' });
fieldElement.appendChild(xlfloptr);
var optrDiv = ej2_base_1.createElement('div', { className: 'e-xlfl-optrdiv' });
var optrInput = ej2_base_1.createElement('input', { id: column + elementID });
optrDiv.appendChild(optrInput);
xlfloptr.appendChild(optrDiv);
var optr = this.options.type + 'Operator';
var dropDatasource = this.customFilterOperators[optr];
this.optrData = dropDatasource;
var selectedValue = this.dropSelectedVal(column, predicates, isFirst);
var menuText = '';
if (this.menuItem) {
menuText = this.menuItem.text.slice(0, -3);
if (menuText !== this.getLocalizedLabel('CustomFilter')) {
selectedValue = isFirst ? menuText : undefined;
}
if (menuText === this.getLocalizedLabel('Between')) {
selectedValue = this.getLocalizedLabel(isFirst ? 'GreaterThanOrEqual' : 'LessThanOrEqual');
}
}
this.dropOptr = new ej2_dropdowns_1.DropDownList({
dataSource: dropDatasource,
fields: { text: 'text', value: 'value' },
text: selectedValue,
enableRtl: this.parent.enableRtl
});
this.dropOptr.appendTo(optrInput);
var operator = this.getSelectedValue(selectedValue);
return { fieldElement: fieldElement, operator: operator };
};
ExcelFilter.prototype.getSelectedValue = function (text) {
var selectedField = new ej2_data_1.DataManager(this.optrData).executeLocal(new ej2_data_1.Query().where('text', 'equal', text));
return !ej2_base_2.isNullOrUndefined(selectedField[0]) ? selectedField[0].value : '';
};
ExcelFilter.prototype.dropSelectedVal = function (col, predicates, isFirst) {
var operator;
if (predicates.length > 0) {
operator = predicates.length === 2 ?
(isFirst ? predicates[0].operator : predicates[1].operator) :
(isFirst ? predicates[0].operator : undefined);
}
else {
operator = isFirst ? 'equal' : undefined;
}
return this.getSelectedText(operator);
};
ExcelFilter.prototype.getSelectedText = function (operator) {
var selectedField = new ej2_data_1.DataManager(this.optrData).executeLocal(new ej2_data_1.Query().where('value', 'equal', operator));
return !ej2_base_2.isNullOrUndefined(selectedField[0]) ? selectedField[0].text : '';
};
ExcelFilter.prototype.getExistingPredicate = function (column) {
var cols = checkbox_filter_1.CheckBoxFilter.getDistinct(this.options.filteredColumns, 'field').records;
var collection;
return new ej2_data_1.DataManager(this.options.filteredColumns).executeLocal(new ej2_data_1.Query().where('field', 'equal', column));
};
ExcelFilter.prototype.renderFilterUI = function (column, dlgConetntEle) {
var predicates = this.getExistingPredicate(column);
var table = ej2_base_1.createElement('table', { className: 'e-xlfl-tabel' });
dlgConetntEle.appendChild(table);
var optr = this.renderOperatorUI(column, table, '-xlfl-frstoptr', predicates, true);
this.renderFlValueUI(column, optr, '-xlfl-frstvalue', predicates, true);
var predicate = ej2_base_1.createElement('tr', { className: 'e-xlfl-predicate' });
table.appendChild(predicate);
this.renderRadioButton(column, predicate, predicates);
if (this.options.type === 'string') {
this.renderMatchCase(column, predicate, '-xlflmtcase', predicates);
}
optr = this.renderOperatorUI(column, table, '-xlfl-secndoptr', predicates, false);
this.renderFlValueUI(column, optr, '-xlfl-secndvalue', predicates, false);
};
ExcelFilter.prototype.renderRadioButton = function (column, tr, predicates) {
var td = ej2_base_1.createElement('td', { className: 'e-xlfl-radio' });
tr.appendChild(td);
var radioDiv = ej2_base_1.createElement('div', { className: 'e-xlfl-radiodiv' });
var frstpredicate = ej2_base_1.createElement('input', { id: column + 'e-xlfl-frstpredicate', attrs: { 'type': 'radio' } });
var secndpredicate = ej2_base_1.createElement('input', { id: column + 'e-xlfl-secndpredicate', attrs: { 'type': 'radio' } });
radioDiv.appendChild(frstpredicate);
radioDiv.appendChild(secndpredicate);
td.appendChild(radioDiv);
var andRadio = new ej2_buttons_1.RadioButton({ label: this.getLocalizedLabel('AND'), name: 'default', cssClass: 'e-xlfl-radio-and', checked: true, enableRtl: this.parent.enableRtl });
var orRadio = new ej2_buttons_1.RadioButton({ label: this.getLocalizedLabel('OR'), name: 'default', cssClass: 'e-xlfl-radio-or', enableRtl: this.parent.enableRtl });
var flValue = predicates.length === 2 ? predicates[1].predicate : 'and';
if (flValue === 'and') {
andRadio.checked = true;
orRadio.checked = false;
}
else {
orRadio.checked = true;
andRadio.checked = false;
}
andRadio.appendTo(frstpredicate);
orRadio.appendTo(secndpredicate);
};
ExcelFilter.prototype.removeObjects = function (elements) {
for (var _i = 0, elements_1 = elements; _i < elements_1.length; _i++) {
var obj = elements_1[_i];
if (obj && !obj.isDestroyed) {
obj.destroy();
}
}
};
ExcelFilter.prototype.renderFlValueUI = function (column, optr, elementId, predicates, isFirst) {
var value = ej2_base_1.createElement('td', { className: 'e-xlfl-value' });
optr.fieldElement.appendChild(value);
var valueDiv = ej2_base_1.createElement('div', { className: 'e-xlfl-valuediv' });
var valueInput = ej2_base_1.createElement('input', { id: column + elementId });
valueDiv.appendChild(valueInput);
value.appendChild(valueDiv);
var flValue;
var predicate;
if (predicates.length > 0) {
predicate = predicates.length === 2 ?
(isFirst ? predicates[0] : predicates[1]) :
(isFirst ? predicates[0] : undefined);
flValue = (predicate && predicate.operator === optr.operator) ? predicate.value : undefined;
}
var types = {
'string': this.renderAutoComplete.bind(this),
'number': this.renderNumericTextBox.bind(this),
'date': this.renderDate.bind(this),
'datetime': this.renderDate.bind(this)
};
types[this.options.type](this.options, column, valueInput, flValue, this.parent.enableRtl);
};
ExcelFilter.prototype.renderMatchCase = function (column, tr, elementId, predicates) {
var matchCase = ej2_base_1.createElement('td', { className: 'e-xlfl-mtcase' });
tr.appendChild(matchCase);
var matchCaseDiv = ej2_base_1.createElement('div', { className: 'e-xlfl-matchcasediv' });
var matchCaseInput = ej2_base_1.createElement('input', { id: column + elementId, attrs: { 'type': 'checkbox' } });
matchCaseDiv.appendChild(matchCaseInput);
matchCase.appendChild(matchCaseDiv);
var flValue = predicates.length > 0 ?
(predicates.length === 2 ? predicates[1].matchcase : predicates[0].matchcase) :
false;
var checkbox = new ej2_buttons_1.CheckBox({ label: 'Match Case', enableRtl: this.parent.enableRtl, checked: flValue });
checkbox.appendTo(matchCaseInput);
};
ExcelFilter.prototype.renderDate = function (options, column, inputValue, fValue, isRtl) {
var intl = new ej2_base_3.Internationalization();
var format = intl.getDatePattern({ type: 'date', skeleton: options.format }, false);
this.datePicker = new ej2_calendars_1.DatePicker({
format: format,
cssClass: 'e-popup-flmenu',
placeholder: this.getLocalizedLabel('CustomFilterDatePlaceHolder'),
width: '100%',
enableRtl: isRtl,
value: new Date(fValue),
});
this.datePicker.appendTo(inputValue);
};
ExcelFilter.prototype.completeAction = function (e) {
e.result = util_2.distinctStringValues(e.result);
};
ExcelFilter.prototype.renderNumericTextBox = function (options, column, inputValue, fValue, isRtl) {
this.numericTxtObj = new ej2_inputs_1.NumericTextBox({
format: options.format,
placeholder: this.getLocalizedLabel('CustomFilterPlaceHolder'),
enableRtl: isRtl,
value: fValue
});
this.numericTxtObj.appendTo(inputValue);
};
ExcelFilter.prototype.renderAutoComplete = function (options, column, inputValue, fValue, isRtl) {
var _this = this;
var actObj = new ej2_dropdowns_1.AutoComplete({
dataSource: options.dataSource instanceof ej2_data_1.DataManager ?
options.dataSource : new ej2_data_1.DataManager(options.dataSource),
fields: { value: column },
sortOrder: 'Ascending',
autofill: true,
focus: function () {
actObj.filterType = _this.dlgDiv.querySelector('#' + column +
(inputValue.id === (column + '-xlfl-frstvalue') ?
'-xlfl-frstoptr' :
'-xlfl-secndoptr')).ej2_instances[0].value;
actObj.ignoreCase = options.type === 'string' ?
!_this.dlgDiv.querySelector('#' + column + '-xlflmtcase').ej2_instances[0].checked :
true;
},
placeholder: this.getLocalizedLabel('CustomFilterPlaceHolder'),
enableRtl: isRtl,
actionComplete: function (e) {
e.result = e.result.filter(function (obj, index, arr) {
return arr.map(function (mapObject) {
return mapObject[actObj.fields.value];
}).indexOf(obj[_this.actObj.fields.value]) === index;
});
},
value: fValue
});
actObj.appendTo(inputValue);
this.actObj = actObj;
};
ExcelFilter.prototype.getModuleName = function () {

@@ -180,0 +534,0 @@ return 'excelFilter';

@@ -35,3 +35,3 @@ define(["require", "exports", "./../models/row", "../base/enum", "@syncfusion/ej2-base", "../models/cell", "./../services/value-formatter"], function (require, exports, row_1, enum_1, ej2_base_1, cell_1, value_formatter_1) {

var cell = row.cells[i];
if (cell.visible === undefined && cell.cellType !== 9) {
if (cell.visible === undefined && cell.cellType !== enum_1.CellType.StackedHeader) {
row.cells = this.removeCellFromRow(row.cells, i);

@@ -38,0 +38,0 @@ i = i - 1;

@@ -39,4 +39,4 @@ define(["require", "exports", "@syncfusion/ej2-base", "../base/util", "@syncfusion/ej2-base", "@syncfusion/ej2-data", "../base/constant", "../base/enum", "../renderer/row-renderer", "../models/cell", "../models/row", "../renderer/filter-cell-renderer", "../base/util", "../renderer/filter-menu-renderer", "../actions/checkbox-filter", "../actions/excel-filter"], function (require, exports, ej2_base_1, util_1, ej2_base_2, ej2_data_1, events, enum_1, row_renderer_1, cell_1, row_1, filter_cell_renderer_1, util_2, filter_menu_renderer_1, checkbox_filter_1, excel_filter_1) {

row.data = this.values;
this.element = rowRenderer.render(row, gObj.getColumns());
this.parent.getHeaderContent().querySelector('thead').appendChild(this.element);
this.parent.getHeaderContent().querySelector('thead').appendChild(rowRenderer.element);
this.element = rowRenderer.render(row, gObj.getColumns(), null, null, rowRenderer.element);
var detail = this.element.querySelector('.e-detailheadercell');

@@ -459,2 +459,9 @@ if (detail) {

this.stopTimer();
if (!ej2_base_1.isNullOrUndefined(this.column.filterBarTemplate)) {
var templateRead = this.column.filterBarTemplate.read;
if (typeof templateRead === 'string') {
templateRead = ej2_base_1.getValue(templateRead, window);
}
this.value = templateRead.call(this, filterElement);
}
if (this.value === '') {

@@ -461,0 +468,0 @@ this.removeFilteredColsByField(this.column.field);

@@ -30,2 +30,3 @@ import { IGrid, NotifyArgs } from '../base/interface';

protected endEdit(): void;
private destroyElements();
private editHandler(args);

@@ -32,0 +33,0 @@ private edSucc(e, args);

@@ -96,2 +96,3 @@ define(["require", "exports", "@syncfusion/ej2-base", "@syncfusion/ej2-base", "../base/util", "../base/constant", "../renderer/row-renderer"], function (require, exports, ej2_base_1, ej2_base_2, util_1, events, row_renderer_1) {

gObj.showSpinner();
this.destroyElements();
gObj.notify(events.updateData, args);

@@ -106,6 +107,4 @@ }

}
this.destroyElements();
}
gObj.editModule.destroyWidgets();
gObj.editModule.destroyForm();
gObj.notify(events.dialogDestroy, {});
this.stopEditStatus();

@@ -116,2 +115,8 @@ if (gObj.editSettings.mode === 'dialog' && args.action !== 'add') {

};
NormalEdit.prototype.destroyElements = function () {
var gObj = this.parent;
gObj.editModule.destroyWidgets();
gObj.editModule.destroyForm();
gObj.notify(events.dialogDestroy, {});
};
NormalEdit.prototype.editHandler = function (args) {

@@ -118,0 +123,0 @@ var _this = this;

@@ -536,3 +536,3 @@ define(["require", "exports", "../base/constant", "@syncfusion/ej2-pdf-export", "@syncfusion/ej2-pdf-export", "@syncfusion/ej2-pdf-export", "@syncfusion/ej2-pdf-export", "@syncfusion/ej2-pdf-export", "@syncfusion/ej2-pdf-export", "./export-helper", "../actions/data", "../services/summary-model-generator", "@syncfusion/ej2-base", "../base/enum", "@syncfusion/ej2-data"], function (require, exports, events, ej2_pdf_export_1, ej2_pdf_export_2, ej2_pdf_export_3, ej2_pdf_export_4, ej2_pdf_export_5, ej2_pdf_export_6, export_helper_1, data_1, summary_model_generator_1, ej2_base_1, enum_1, ej2_data_1) {

leastCaptionSummaryIndex = result.leastCaptionSummaryIndex;
var txt = (templateFn[ej2_base_1.getEnumValue(enum_1.CellType, cell.cellType)](row.data[cell.column.field]));
var txt = (templateFn[ej2_base_1.getEnumValue(enum_1.CellType, cell.cellType)](row.data[cell.column.field ? cell.column.field : cell.column.columnName]));
value.push(txt[0].wholeText);

@@ -539,0 +539,0 @@ isEmpty = false;

@@ -10,3 +10,2 @@ import { IGrid, IAction } from '../base/interface';

cursor: string;
lines: string;
}

@@ -28,2 +27,3 @@ /**

private minMove;
private parentElementWidth;
private parent;

@@ -30,0 +30,0 @@ private widthService;

@@ -10,4 +10,3 @@ define(["require", "exports", "@syncfusion/ej2-base", "../services/width-controller", "../base/constant", "../base/util"], function (require, exports, ej2_base_1, width_controller_1, events, util_1) {

header: 'th.e-headercell',
cursor: 'e-rcursor',
lines: 'e-rlines'
cursor: 'e-rcursor'
};

@@ -145,6 +144,2 @@ var Resize = (function () {

this.wireEvents();
if (this.parent.allowResizing &&
!(this.parent.gridLines === 'vertical' || this.parent.gridLines === 'both')) {
this.parent.element.classList.add(exports.resizeClassList.lines);
}
this.setHandlerHeight();

@@ -191,2 +186,3 @@ };

this.element = e.target;
this.parentElementWidth = this.parent.element.getBoundingClientRect().width;
this.appendHelper();

@@ -378,3 +374,10 @@ this.column = this.getTargetColumn(e);

var rect = ej2_base_1.closest(this.element, exports.resizeClassList.header);
this.helper.style.left = Math.floor(this.calcPos(rect).left + (this.parent.enableRtl ? 0 - 1 : rect.offsetWidth - 2)) + 'px';
var left = Math.floor(this.calcPos(rect).left + (this.parent.enableRtl ? 0 - 1 : rect.offsetWidth - 2));
var borderWidth = 2;
if (left > this.parentElementWidth) {
this.helper.style.left = this.parentElementWidth - borderWidth + 'px';
}
else {
this.helper.style.left = left + 'px';
}
};

@@ -381,0 +384,0 @@ Resize.prototype.calcPos = function (elem) {

@@ -49,3 +49,5 @@ define(["require", "exports", "@syncfusion/ej2-base", "@syncfusion/ej2-base", "@syncfusion/ej2-base", "@syncfusion/ej2-data", "../base/util", "../base/constant", "../base/enum"], function (require, exports, ej2_base_1, ej2_base_2, ej2_base_3, ej2_data_1, util_1, events, enum_1) {

Selection.prototype.isEditing = function () {
return this.parent.editSettings.mode !== 'batch' && this.parent.isEdit && !this.persistSelection;
return (this.parent.editSettings.mode === 'inline' || (this.parent.editSettings.mode === 'batch' &&
this.parent.editModule.formObj && !this.parent.editModule.formObj.validate())) &&
this.parent.isEdit && !this.persistSelection;
};

@@ -52,0 +54,0 @@ Selection.prototype.selectRow = function (index, isToggle) {

@@ -46,7 +46,5 @@ define(["require", "exports", "@syncfusion/ej2-base", "@syncfusion/ej2-base", "@syncfusion/ej2-base", "../base/util", "../base/constant", "../services/aria-service"], function (require, exports, ej2_base_1, ej2_base_2, ej2_base_3, util_1, events, aria_service_1) {

if (index > -1) {
this.sortSettings.columns[index] = sortedColumn;
this.sortSettings.columns.splice(index, 1);
}
else {
this.sortSettings.columns.push(sortedColumn);
}
this.sortSettings.columns.push(sortedColumn);
this.sortSettings.columns = this.sortSettings.columns;

@@ -53,0 +51,0 @@ }

@@ -1722,2 +1722,3 @@ import { Component, ModuleDeclaration, ChildProperty } from '@syncfusion/ej2-base';

private updateGridLines();
private updateResizeLines();
/**

@@ -1724,0 +1725,0 @@ * The function is used to apply text wrap

@@ -16,2 +16,3 @@ import { IRenderer, IGrid, NotifyArgs, IModelGenerator } from '../base/interface';

private isLoaded;
private tbody;
private drop;

@@ -18,0 +19,0 @@ private args;

@@ -90,3 +90,2 @@ define(["require", "exports", "@syncfusion/ej2-base", "@syncfusion/ej2-base", "@syncfusion/ej2-base", "../base/util", "../base/constant", "./row-renderer", "./cell-merge-renderer", "../services/row-model-generator", "../services/group-model-generator", "../base/util"], function (require, exports, ej2_base_1, ej2_base_2, ej2_base_3, util_1, events, row_renderer_1, cell_merge_renderer_1, row_model_generator_1, group_model_generator_1, util_2) {

var tr;
var tbody;
var hdrTbody;

@@ -106,6 +105,6 @@ var row = new row_renderer_1.RowRenderer(this.serviceLocator, null, this.parent);

if (this.parent.frozenColumns && idx >= this.parent.frozenColumns) {
tbody = mCont.querySelector('tbody');
this.tbody = mCont.querySelector('tbody');
}
else {
tbody = this.getTable().querySelector('tbody');
this.tbody = this.getTable().querySelector('tbody');
}

@@ -155,16 +154,16 @@ for (var i = 0, len = modelData.length; i < len; i++) {

util_1.getUpdateUsingRaf(function () {
ej2_base_3.remove(tbody);
tbody = ej2_base_3.createElement('tbody');
ej2_base_3.remove(_this.tbody);
_this.tbody = ej2_base_3.createElement('tbody');
if (gObj.frozenColumns) {
tbody.appendChild(frag);
_this.tbody.appendChild(frag);
if (idx === 0) {
_this.isLoaded = false;
fCont.querySelector('table').appendChild(tbody);
fCont.querySelector('table').appendChild(_this.tbody);
}
else {
if (tbody.childElementCount < 1) {
tbody.appendChild(ej2_base_3.createElement('tr').appendChild(ej2_base_3.createElement('td')));
if (_this.tbody.childElementCount < 1) {
_this.tbody.appendChild(ej2_base_3.createElement('tr').appendChild(ej2_base_3.createElement('td')));
}
_this.isLoaded = true;
mCont.querySelector('table').appendChild(tbody);
mCont.querySelector('table').appendChild(_this.tbody);
fCont.style.height = ((mCont.offsetHeight) - util_2.getScrollBarWidth()) + 'px';

@@ -175,3 +174,3 @@ mCont.style.overflow = 'scroll';

else {
_this.appendContent(tbody, frag, args);
_this.appendContent(_this.tbody, frag, args);
}

@@ -178,0 +177,0 @@ if (gObj.frozenColumns && idx === 0) {

@@ -25,2 +25,3 @@ var __extends = (this && this.__extends) || (function () {

FilterCellRenderer.prototype.render = function (cell, data) {
var tr = this.parent.element.querySelector('.e-filterbar');
var node = this.element.cloneNode();

@@ -31,2 +32,3 @@ var innerDIV = this.getGui();

if (column.type !== 'checkbox') {
tr.appendChild(node);
if ((ej2_base_1.isNullOrUndefined(column.allowFiltering) || column.allowFiltering) && !ej2_base_1.isNullOrUndefined(column.filterBarTemplate)) {

@@ -45,3 +47,3 @@ node.classList.add('e-fltrtemp');

else {
var args = { column: column };
var args = { column: column, node: Element };
var temp = column.filterBarTemplate.create;

@@ -90,8 +92,4 @@ if (typeof temp === 'string') {

if ((ej2_base_1.isNullOrUndefined(column.allowFiltering) || column.allowFiltering) && !ej2_base_1.isNullOrUndefined(column.filterBarTemplate)) {
var templateRead = column.filterBarTemplate.read;
var templateWrite = column.filterBarTemplate.write;
var args = { element: input, column: column };
if (typeof templateRead === 'string') {
templateRead = args.column = ej2_base_1.getValue(templateRead, window);
}
if (typeof templateWrite === 'string') {

@@ -98,0 +96,0 @@ templateWrite = ej2_base_1.getValue(templateWrite, window);

@@ -115,2 +115,5 @@ var __extends = (this && this.__extends) || (function () {

}
else if (alignment === 'center') {
node.classList.add('e-centeralign');
}
}

@@ -117,0 +120,0 @@ if (column.clipMode === 'clip') {

@@ -26,3 +26,3 @@ import { Column } from '../models/column';

[x: string]: Object;
}, rowTemplate?: string): Element;
}, rowTemplate?: string, cloneNode?: Element): Element;
/**

@@ -38,3 +38,3 @@ * Function to refresh the row content based on Column[] and data.

}, rowTemplate?: string): void;
private refreshRow(row, columns, attributes?, rowTemplate?);
private refreshRow(row, columns, attributes?, rowTemplate?, cloneNode?);
private refreshMergeCells(row);

@@ -41,0 +41,0 @@ /**

@@ -11,4 +11,4 @@ define(["require", "exports", "@syncfusion/ej2-base", "@syncfusion/ej2-base", "../base/constant", "../base/util", "../base/enum", "./cell-merge-renderer"], function (require, exports, ej2_base_1, ej2_base_2, constant_1, util_1, enum_1, cell_merge_renderer_1) {

}
RowRenderer.prototype.render = function (row, columns, attributes, rowTemplate) {
return this.refreshRow(row, columns, attributes, rowTemplate);
RowRenderer.prototype.render = function (row, columns, attributes, rowTemplate, cloneNode) {
return this.refreshRow(row, columns, attributes, rowTemplate, cloneNode);
};

@@ -29,4 +29,4 @@ RowRenderer.prototype.refresh = function (row, columns, isChanged, attributes, rowTemplate) {

};
RowRenderer.prototype.refreshRow = function (row, columns, attributes, rowTemplate) {
var tr = this.element.cloneNode();
RowRenderer.prototype.refreshRow = function (row, columns, attributes, rowTemplate, cloneNode) {
var tr = !ej2_base_1.isNullOrUndefined(cloneNode) ? cloneNode : this.element.cloneNode();
var rowArgs = { data: row.data };

@@ -47,12 +47,14 @@ var cellArgs = { data: row.data };

var td = cellRenderer.render(row.cells[i], row.data, { 'index': !ej2_base_1.isNullOrUndefined(row.index) ? row.index.toString() : '' });
if (row.cells[i].cellType === enum_1.CellType.Data) {
this.parent.trigger(constant_1.queryCellInfo, ej2_base_1.extend(cellArgs, { cell: td, column: cell.column, colSpan: 1 }));
if (cellArgs.colSpan > 1 || row.cells[i].cellSpan > 1) {
var cellMerge = new cell_merge_renderer_1.CellMergeRender(this.serviceLocator, this.parent);
td = cellMerge.render(cellArgs, row, i, td);
if (row.cells[i].cellType !== enum_1.CellType.Filter) {
if (row.cells[i].cellType === enum_1.CellType.Data) {
this.parent.trigger(constant_1.queryCellInfo, ej2_base_1.extend(cellArgs, { cell: td, column: cell.column, colSpan: 1 }));
if (cellArgs.colSpan > 1 || row.cells[i].cellSpan > 1) {
var cellMerge = new cell_merge_renderer_1.CellMergeRender(this.serviceLocator, this.parent);
td = cellMerge.render(cellArgs, row, i, td);
}
}
if (!row.cells[i].isSpanned) {
tr.appendChild(td);
}
}
if (!row.cells[i].isSpanned) {
tr.appendChild(td);
}
}

@@ -59,0 +61,0 @@ if (row.isDataRow) {

@@ -34,3 +34,3 @@ var __extends = (this && this.__extends) || (function () {

}
if (ej2_base_2.isNullOrUndefined(cell.column.textAlign)) {
if (!ej2_base_2.isNullOrUndefined(cell.column.textAlign)) {
div.style.textAlign = cell.column.textAlign;

@@ -37,0 +37,0 @@ }

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc