UNPKG

igniteui-react-grids

Version:

Ignite UI React grid components.

4,221 lines 164 kB
import { __assign, __extends, __values } from "tslib";
import * as React from 'react';
import { delegateCombine, delegateRemove } from "igniteui-react-core";
import { IgrRowIslandCollection } from "./igr-row-island-collection";
import { IgrActionStripCollection } from "./igr-action-strip-collection";
import { IgrColumnCollection } from "./igr-column-collection";
import { IgrGridToolbarCollection } from "./igr-grid-toolbar-collection";
import { IgrPaginatorCollection } from "./igr-paginator-collection";
import { FilteringLogic_$type } from "./FilteringLogic";
import { IgrFilteringExpressionsTree } from "./igr-filtering-expressions-tree";
import { GridPagingMode_$type } from "./GridPagingMode";
import { GridValidationTrigger_$type } from "./GridValidationTrigger";
import { FilterMode_$type } from "./FilterMode";
import { GridSummaryPosition_$type } from "./GridSummaryPosition";
import { GridSummaryCalculationMode_$type } from "./GridSummaryCalculationMode";
import { GridSelectionMode_$type } from "./GridSelectionMode";
import { IgrGridCreatedEventArgs } from "./igr-grid-created-event-args";
import { IgrForOfStateEventArgs } from "./igr-for-of-state-event-args";
import { IgrFilteringExpressionsTreeEventArgs } from "./igr-filtering-expressions-tree-event-args";
import { IgrGridScrollEventArgs } from "./igr-grid-scroll-event-args";
import { IgrGridCellEventArgs } from "./igr-grid-cell-event-args";
import { IgrGridRowEventArgs } from "./igr-grid-row-event-args";
import { IgrGridFormGroupCreatedEventArgs } from "./igr-grid-form-group-created-event-args";
import { IgrGridValidationStatusEventArgs } from "./igr-grid-validation-status-event-args";
import { IgrRowSelectionEventArgs } from "./igr-row-selection-event-args";
import { IgrColumnSelectionEventArgs } from "./igr-column-selection-event-args";
import { IgrPinColumnCancellableEventArgs } from "./igr-pin-column-cancellable-event-args";
import { IgrPinColumnEventArgs } from "./igr-pin-column-event-args";
import { IgrGridEditEventArgs } from "./igr-grid-edit-event-args";
import { IgrGridEditDoneEventArgs } from "./igr-grid-edit-done-event-args";
import { IgrColumnComponentEventArgs } from "./igr-column-component-event-args";
import { IgrColumnsAutoGeneratedEventArgs } from "./igr-columns-auto-generated-event-args";
import { IgrSortingEventArgs } from "./igr-sorting-event-args";
import { IgrSortingExpressionEventArgs } from "./igr-sorting-expression-event-args";
import { IgrFilteringEventArgs } from "./igr-filtering-event-args";
import { IgrRowDataEventArgs } from "./igr-row-data-event-args";
import { IgrRowDataCancelableEventArgs } from "./igr-row-data-cancelable-event-args";
import { IgrColumnResizeEventArgs } from "./igr-column-resize-event-args";
import { IgrGridContextMenuEventArgs } from "./igr-grid-context-menu-event-args";
import { IgrColumnVisibilityChangingEventArgs } from "./igr-column-visibility-changing-event-args";
import { IgrColumnVisibilityChangedEventArgs } from "./igr-column-visibility-changed-event-args";
import { IgrColumnMovingStartEventArgs } from "./igr-column-moving-start-event-args";
import { IgrColumnMovingEventArgs } from "./igr-column-moving-event-args";
import { IgrColumnMovingEndEventArgs } from "./igr-column-moving-end-event-args";
import { IgrGridKeydownEventArgs } from "./igr-grid-keydown-event-args";
import { IgrRowDragStartEventArgs } from "./igr-row-drag-start-event-args";
import { IgrRowDragEndEventArgs } from "./igr-row-drag-end-event-args";
import { IgrGridClipboardEventEventArgs } from "./igr-grid-clipboard-event-event-args";
import { IgrComponentArrayDataValueChangedEventArgs } from "./igr-component-array-data-value-changed-event-args";
import { IgrRowToggleEventArgs } from "./igr-row-toggle-event-args";
import { IgrPinRowEventArgs } from "./igr-pin-row-event-args";
import { IgrActiveNodeChangeEventArgs } from "./igr-active-node-change-event-args";
import { IgrGridToolbarExportEventArgs } from "./igr-grid-toolbar-export-event-args";
import { IgrGridSelectionRangeEventArgs } from "./igr-grid-selection-range-event-args";
import { IgrVoidEventArgs } from "igniteui-react";
import { IgrForOfDataChangingEventArgs } from "./igr-for-of-data-changing-event-args";
import { IgrColumn } from "./igr-column";
import { RowIsland } from "./RowIsland";
import { TypeRegistrar } from "igniteui-react-core";
import { ReactRenderer, PortalManager } from "igniteui-react-core";
import { ContentChildrenManager } from "igniteui-react-core";
import { CollectionAdapter, NamePatcher, getModifiedProps, isValidProp, ensureBool, interfaceToInternal, ensureEnum, toSpinal, initializePropertiesFromCss } from "igniteui-react-core";
import { NotifyCollectionChangedAction } from "igniteui-react-core";
import { ActionStrip } from "./ActionStrip";
import { ReactTemplateAdapter } from "igniteui-react-core";
import { html } from "lit-html";
import { DataCloneStrategy } from "./DataCloneStrategy";
import { ClipboardOptions } from "./ClipboardOptions";
import { Column } from "./Column";
import { IgrGridRowDragGhostContext } from "./igr-grid-row-drag-ghost-context";
import { IgrGridRowEditTextTemplateContext } from "./igr-grid-row-edit-text-template-context";
import { IgrGridEmptyTemplateContext } from "./igr-grid-empty-template-context";
import { IgrGridRowEditActionsTemplateContext } from "./igr-grid-row-edit-actions-template-context";
import { IgrGridRowTemplateContext } from "./igr-grid-row-template-context";
import { IgrGridTemplateContext } from "./igr-grid-template-context";
import { IgrGridHeaderTemplateContext } from "./igr-grid-header-template-context";
import { GridToolbar } from "./GridToolbar";
import { Paginator } from "./Paginator";
import { GridResourceStrings } from "./GridResourceStrings";
import { PinningConfig } from "./PinningConfig";
import { FilteringStrategy } from "./FilteringStrategy";
import { GridSortingStrategy } from "./GridSortingStrategy";
import { SortingOptions } from "./SortingOptions";
import { IgrHeadSelectorTemplateContext } from "./igr-head-selector-template-context";
import { IgrRowSelectorTemplateContext } from "./igr-row-selector-template-context";
import { SortingExpression } from "./SortingExpression";
import { GridSelectionRange } from "./GridSelectionRange";
import { OverlaySettings } from "./OverlaySettings";
/**
 * Row island
 * @igxModule IgxHierarchicalGridModule
 * @igxParent IgxHierarchicalGridComponent, IgxRowIslandComponent
*/
var IgrRowIsland = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(IgrRowIsland, _super);
    function IgrRowIsland(props) {
        var _this = _super.call(this, props) || this;
        _this.mounted = false;
        _this._childLayoutList = null;
        _this._actionStripComponents = null;
        _this._columnList = null;
        _this._toolbar = null;
        _this._paginationComponents = null;
        _this.__p = null;
        _this._hasUserValues = new Set();
        _this._stylingContainer = null;
        _this._stylingParent = null;
        _this._inStyling = false;
        _this._gridCreated = null;
        _this._gridCreated_wrapped = null;
        _this._gridInitialized = null;
        _this._gridInitialized_wrapped = null;
        _this._dataPreLoad = null;
        _this._dataPreLoad_wrapped = null;
        _this._filteringExpressionsTreeChange = null;
        _this._filteringExpressionsTreeChange_wrapped = null;
        _this._advancedFilteringExpressionsTreeChange = null;
        _this._advancedFilteringExpressionsTreeChange_wrapped = null;
        _this._gridScroll = null;
        _this._gridScroll_wrapped = null;
        _this._cellClick = null;
        _this._cellClick_wrapped = null;
        _this._rowClick = null;
        _this._rowClick_wrapped = null;
        _this._formGroupCreated = null;
        _this._formGroupCreated_wrapped = null;
        _this._validationStatusChange = null;
        _this._validationStatusChange_wrapped = null;
        _this._selected = null;
        _this._selected_wrapped = null;
        _this._rowSelectionChanging = null;
        _this._rowSelectionChanging_wrapped = null;
        _this._columnSelectionChanging = null;
        _this._columnSelectionChanging_wrapped = null;
        _this._columnPin = null;
        _this._columnPin_wrapped = null;
        _this._columnPinned = null;
        _this._columnPinned_wrapped = null;
        _this._cellEditEnter = null;
        _this._cellEditEnter_wrapped = null;
        _this._cellEditExit = null;
        _this._cellEditExit_wrapped = null;
        _this._cellEdit = null;
        _this._cellEdit_wrapped = null;
        _this._cellEditDone = null;
        _this._cellEditDone_wrapped = null;
        _this._rowEditEnter = null;
        _this._rowEditEnter_wrapped = null;
        _this._rowEdit = null;
        _this._rowEdit_wrapped = null;
        _this._rowEditDone = null;
        _this._rowEditDone_wrapped = null;
        _this._rowEditExit = null;
        _this._rowEditExit_wrapped = null;
        _this._columnInit = null;
        _this._columnInit_wrapped = null;
        _this._columnsAutogenerated = null;
        _this._columnsAutogenerated_wrapped = null;
        _this._sorting = null;
        _this._sorting_wrapped = null;
        _this._sortingDone = null;
        _this._sortingDone_wrapped = null;
        _this._filtering = null;
        _this._filtering_wrapped = null;
        _this._filteringDone = null;
        _this._filteringDone_wrapped = null;
        _this._rowAdded = null;
        _this._rowAdded_wrapped = null;
        _this._rowDeleted = null;
        _this._rowDeleted_wrapped = null;
        _this._rowDelete = null;
        _this._rowDelete_wrapped = null;
        _this._rowAdd = null;
        _this._rowAdd_wrapped = null;
        _this._columnResized = null;
        _this._columnResized_wrapped = null;
        _this._contextMenu = null;
        _this._contextMenu_wrapped = null;
        _this._doubleClick = null;
        _this._doubleClick_wrapped = null;
        _this._columnVisibilityChanging = null;
        _this._columnVisibilityChanging_wrapped = null;
        _this._columnVisibilityChanged = null;
        _this._columnVisibilityChanged_wrapped = null;
        _this._columnMovingStart = null;
        _this._columnMovingStart_wrapped = null;
        _this._columnMoving = null;
        _this._columnMoving_wrapped = null;
        _this._columnMovingEnd = null;
        _this._columnMovingEnd_wrapped = null;
        _this._gridKeydown = null;
        _this._gridKeydown_wrapped = null;
        _this._rowDragStart = null;
        _this._rowDragStart_wrapped = null;
        _this._rowDragEnd = null;
        _this._rowDragEnd_wrapped = null;
        _this._gridCopy = null;
        _this._gridCopy_wrapped = null;
        _this._selectedRowsChange = null;
        _this._selectedRowsChange_wrapped = null;
        _this._rowToggle = null;
        _this._rowToggle_wrapped = null;
        _this._rowPinning = null;
        _this._rowPinning_wrapped = null;
        _this._rowPinned = null;
        _this._rowPinned_wrapped = null;
        _this._activeNodeChange = null;
        _this._activeNodeChange_wrapped = null;
        _this._sortingExpressionsChange = null;
        _this._sortingExpressionsChange_wrapped = null;
        _this._toolbarExporting = null;
        _this._toolbarExporting_wrapped = null;
        _this._rangeSelected = null;
        _this._rangeSelected_wrapped = null;
        _this._rendered = null;
        _this._rendered_wrapped = null;
        _this._dataChanging = null;
        _this._dataChanging_wrapped = null;
        _this._dataChanged = null;
        _this._dataChanged_wrapped = null;
        if (_this._styling) {
            NamePatcher.ensureStylablePatched(Object.getPrototypeOf(_this));
        }
        _this._getMainRef = _this._getMainRef.bind(_this);
        _this._implementation = _this.createImplementation();
        _this._portalManager = new PortalManager("templates", function () {
            if (_this.mounted) {
                _this.setState({});
            }
        });
        if (typeof window !== 'undefined' && typeof document !== 'undefined') {
            _this._renderer = new ReactRenderer(_this._implementation.nativeElement, document, false, null, _this._portalManager);
        }
        _this._implementation.externalObject = _this;
        _this.onImplementationCreated();
        if (_this._initializeAdapters) {
            _this._initializeAdapters();
        }
        return _this;
    }
    IgrRowIsland.prototype.createImplementation = function () {
        var _a, _b;
        var impl = new RowIsland();
        var nat;
        if (typeof document !== 'undefined') {
            nat = document.createElement("igc-row-island");
        }
        else {
            nat = {
                style: {}
            };
        }
        if ((_a = this.props) === null || _a === void 0 ? void 0 : _a.className) {
            nat.className = this.props.className;
        }
        if ((_b = this.props) === null || _b === void 0 ? void 0 : _b.id) {
            nat.id = this.props.id;
        }
        impl.setNativeElement(nat);
        return impl;
    };
    Object.defineProperty(IgrRowIsland.prototype, "nativeElement", {
        get: function () {
            return this._implementation.nativeElement;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "i", {
        /**
         * @hidden
         */
        get: function () {
            return this._implementation;
        } /**
                                     * @hidden
                                     */,
        enumerable: false,
        configurable: true
    });
    IgrRowIsland._createFromInternal = function (internal) {
        if (!internal) {
            return null;
        }
        if (!internal.$type) {
            return null;
        }
        var name = internal.$type.name;
        var externalName = "Igr" + name;
        if (!TypeRegistrar.isRegistered(externalName)) {
            return null;
        }
        return TypeRegistrar.create(externalName);
    };
    IgrRowIsland.prototype.onImplementationCreated = function () {
    };
    IgrRowIsland.prototype._initializeAdapters = function () {
        var _this = this;
        if (!this._contentChildrenManager) {
            var resolveNested_1 = (function (props, propName, nestedPropName) {
                var _a;
                var prop = props[propName];
                if (Array.isArray(prop)) {
                    return prop.map(function (x) {
                        var _a;
                        return (_a = x[nestedPropName]) !== null && _a !== void 0 ? _a : resolveNested_1(x.props, propName, nestedPropName);
                    }).join("_");
                }
                else if (prop) {
                    return (_a = prop.props[nestedPropName]) !== null && _a !== void 0 ? _a : resolveNested_1(prop.props, propName, nestedPropName);
                }
                else {
                    return props[nestedPropName];
                }
            });
            this._contentChildrenManager = new ContentChildrenManager(function (ch) {
                var key = ch.key || ch.props.name;
                if (!key) {
                    var type = (ch.type);
                    var instance = new type;
                    var name_1 = instance.i.$type.name;
                    switch (name_1) {
                        case "RowIsland": return ch.props.childDataKey;
                        case "ActionStrip": return "IgrActionStrip";
                        case "Column": return ch.props.field;
                        case "ColumnGroup": return resolveNested_1(ch.props, "children", "field");
                        case "ColumnLayout": return resolveNested_1(ch.props, "children", "field");
                        case "GridToolbar": return "IgrGridToolbar";
                        case "Paginator": return "IgrPaginator";
                        default: return undefined;
                    }
                }
                return key;
            }, function (ch) {
                var key = ch.key || ch.props.name;
                if (!key) {
                    var type = (ch.type);
                    var instance = new type;
                    var name_2 = instance.i.$type.name;
                    switch (name_2) {
                        case "RowIsland": return ch.props.childDataKey;
                        case "ActionStrip": return "IgrActionStrip";
                        case "Column": return ch.props.field;
                        case "ColumnGroup": return resolveNested_1(ch.props, "children", "field");
                        case "ColumnLayout": return resolveNested_1(ch.props, "children", "field");
                        case "GridToolbar": return "IgrGridToolbar";
                        case "Paginator": return "IgrPaginator";
                        default: return undefined;
                    }
                }
                return key;
            }, function () {
                if (_this._updateContentChildren) {
                    _this._updateContentChildren();
                }
                else if (_this._updateAdapters) {
                    _this._updateAdapters();
                }
            });
        }
        this._childLayoutListAdapter = new CollectionAdapter(this.contentChildLayoutList, this.i.bs, this.actualChildLayoutList, function (c) { return c.i; }, function (i) {
            if (_this._initializeElement) {
                _this._initializeElement(i);
            }
        }, function (i) {
            if (_this._destroyElement) {
                _this._destroyElement(i);
            }
        });
        this._actionStripComponentsAdapter = new CollectionAdapter(this.contentActionStripComponents, this.i.g, this.actualActionStripComponents, function (c) { return c.i; }, function (i) {
            if (_this._initializeElement) {
                _this._initializeElement(i);
            }
        }, function (i) {
            if (_this._destroyElement) {
                _this._destroyElement(i);
            }
        });
        this._columnListAdapter = new CollectionAdapter(this.contentColumnList, this.i.n, this.actualColumnList, function (c) { return c.i; }, function (i) {
            if (_this._initializeElement) {
                _this._initializeElement(i);
            }
        }, function (i) {
            if (_this._destroyElement) {
                _this._destroyElement(i);
            }
        });
        this._toolbarAdapter = new CollectionAdapter(this.contentToolbar, this.i.bc, this.actualToolbar, function (c) { return c.i; }, function (i) {
            if (_this._initializeElement) {
                _this._initializeElement(i);
            }
        }, function (i) {
            if (_this._destroyElement) {
                _this._destroyElement(i);
            }
        });
        this._paginationComponentsAdapter = new CollectionAdapter(this.contentPaginationComponents, this.i.bg, this.actualPaginationComponents, function (c) { return c.i; }, function (i) {
            if (_this._initializeElement) {
                _this._initializeElement(i);
            }
        }, function (i) {
            if (_this._destroyElement) {
                _this._destroyElement(i);
            }
        });
        if (_super.prototype["_initializeAdapters"]) {
            _super.prototype["_initializeAdapters"].call(this);
        }
    };
    IgrRowIsland.prototype._updateAdapters = function () {
        if (_super.prototype["_updateAdapters"]) {
            _super.prototype["_updateAdapters"].call(this);
        }
        var contentChildrenActual = this._contentChildrenManager.contentChildrenActual;
        this.contentChildLayoutList.length = 0;
        for (var i = 0; i < contentChildrenActual.length; i++) {
            if ((RowIsland.$type).isAssignableFrom(contentChildrenActual[i].i.$type)) {
                this.contentChildLayoutList.push(contentChildrenActual[i]);
            }
        }
        if (this._childLayoutListAdapter != null) {
            this._childLayoutListAdapter.notifyContentChanged();
        }
        this.contentActionStripComponents.length = 0;
        for (var i = 0; i < contentChildrenActual.length; i++) {
            if ((ActionStrip.$type).isAssignableFrom(contentChildrenActual[i].i.$type)) {
                this.contentActionStripComponents.push(contentChildrenActual[i]);
            }
        }
        if (this._actionStripComponentsAdapter != null) {
            this._actionStripComponentsAdapter.notifyContentChanged();
        }
        this.contentColumnList.length = 0;
        for (var i = 0; i < contentChildrenActual.length; i++) {
            if ((Column.$type).isAssignableFrom(contentChildrenActual[i].i.$type)) {
                this.contentColumnList.push(contentChildrenActual[i]);
            }
        }
        if (this._columnListAdapter != null) {
            this._columnListAdapter.notifyContentChanged();
        }
        this.contentToolbar.length = 0;
        for (var i = 0; i < contentChildrenActual.length; i++) {
            if ((GridToolbar.$type).isAssignableFrom(contentChildrenActual[i].i.$type)) {
                this.contentToolbar.push(contentChildrenActual[i]);
            }
        }
        if (this._toolbarAdapter != null) {
            this._toolbarAdapter.notifyContentChanged();
        }
        this.contentPaginationComponents.length = 0;
        for (var i = 0; i < contentChildrenActual.length; i++) {
            if ((Paginator.$type).isAssignableFrom(contentChildrenActual[i].i.$type)) {
                this.contentPaginationComponents.push(contentChildrenActual[i]);
            }
        }
        if (this._paginationComponentsAdapter != null) {
            this._paginationComponentsAdapter.notifyContentChanged();
        }
    };
    IgrRowIsland.prototype.componentDidMount = function () {
        var e_1, _a;
        this.mounted = true;
        try {
            for (var _b = __values(Object.keys(this.props)), _c = _b.next(); !_c.done; _c = _b.next()) {
                var p = _c.value;
                if (isValidProp(this, p)) {
                    this[p] = this.props[p];
                }
            }
        }
        catch (e_1_1) {
            e_1 = { error: e_1_1 };
        }
        finally {
            try {
                if (_c && !_c.done && (_a = _b.return))
                    _a.call(_b);
            }
            finally {
                if (e_1)
                    throw e_1.error;
            }
        }
    };
    IgrRowIsland.prototype.shouldComponentUpdate = function (nextProps, nextState) {
        var e_2, _a;
        var mod = getModifiedProps(this.props, nextProps);
        try {
            for (var _b = __values(Object.keys(mod)), _c = _b.next(); !_c.done; _c = _b.next()) {
                var p = _c.value;
                if (isValidProp(this, p)) {
                    this[p] = mod[p];
                }
            }
        }
        catch (e_2_1) {
            e_2 = { error: e_2_1 };
        }
        finally {
            try {
                if (_c && !_c.done && (_a = _b.return))
                    _a.call(_b);
            }
            finally {
                if (e_2)
                    throw e_2.error;
            }
        }
        return true;
    };
    IgrRowIsland.prototype.render = function () {
        var _this = this;
        var nativePropsName = Object.keys(this.props).filter(function (prop) { return !isValidProp(_this, prop) && prop !== "originalRef" && prop !== "className"; });
        var nativeProps = {};
        nativePropsName.forEach(function (propName) {
            nativeProps[propName] = _this.props[propName];
        });
        var visibleChildren = [];
        React.Children.forEach(this.props.children, function (ch) {
            if (ch) {
                visibleChildren.push(ch);
            }
        });
        var children = this._contentChildrenManager.getChildren(visibleChildren);
        this._portalManager.onRender(children);
        var style = {};
        style.display = 'contents';
        if (this.props.style) {
            style = this.props.style;
        }
        var div = React.createElement("div", __assign(__assign({}, nativeProps), { ref: this._getMainRef, className: this.props.className, style: style, children: children }));
        return div;
    };
    IgrRowIsland.prototype._getMainRef = function (ref) {
        this._elRef = ref;
    };
    Object.defineProperty(IgrRowIsland.prototype, "childDataKey", {
        /**
         * Sets the key of the row island by which child data would be taken from the row data if such is provided.
        */
        get: function () {
            return this.i.d0;
        },
        set: function (v) {
            this.i.d0 = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "actualChildLayoutList", {
        get: function () {
            if (!this._actualChildLayoutList) {
                this._actualChildLayoutList = [];
            }
            return this._actualChildLayoutList;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "contentChildLayoutList", {
        get: function () {
            if (!this._contentChildLayoutList) {
                this._contentChildLayoutList = [];
            }
            return this._contentChildLayoutList;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "childLayoutList", {
        /**
         * @hidden @internal
        */
        get: function () {
            var _this = this;
            if (this._childLayoutList === null) {
                var coll = new IgrRowIslandCollection();
                var inner = coll._innerColl;
                this._childLayoutList = coll;
                inner.addListener(function (sender, e) {
                    switch (e.action) {
                        case NotifyCollectionChangedAction.Add:
                            _this._childLayoutListAdapter.insertManualItem(e.newStartingIndex, e.newItems.item(0));
                            break;
                        case NotifyCollectionChangedAction.Remove:
                            _this._childLayoutListAdapter.removeManualItemAt(e.oldStartingIndex);
                            break;
                        case NotifyCollectionChangedAction.Replace:
                            _this._childLayoutListAdapter.removeManualItemAt(e.oldStartingIndex);
                            _this._childLayoutListAdapter.insertManualItem(e.newStartingIndex, e.newItems.item(0));
                            break;
                        case NotifyCollectionChangedAction.Reset:
                            _this._childLayoutListAdapter.clearManualItems();
                            break;
                    }
                });
                ;
            }
            return this._childLayoutList;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "actualActionStripComponents", {
        get: function () {
            if (!this._actualActionStripComponents) {
                this._actualActionStripComponents = [];
            }
            return this._actualActionStripComponents;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "contentActionStripComponents", {
        get: function () {
            if (!this._contentActionStripComponents) {
                this._contentActionStripComponents = [];
            }
            return this._contentActionStripComponents;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "actionStripComponents", {
        /**
         * @hidden @internal
        */
        get: function () {
            var _this = this;
            if (this._actionStripComponents === null) {
                var coll = new IgrActionStripCollection();
                var inner = coll._innerColl;
                this._actionStripComponents = coll;
                inner.addListener(function (sender, e) {
                    switch (e.action) {
                        case NotifyCollectionChangedAction.Add:
                            _this._actionStripComponentsAdapter.insertManualItem(e.newStartingIndex, e.newItems.item(0));
                            break;
                        case NotifyCollectionChangedAction.Remove:
                            _this._actionStripComponentsAdapter.removeManualItemAt(e.oldStartingIndex);
                            break;
                        case NotifyCollectionChangedAction.Replace:
                            _this._actionStripComponentsAdapter.removeManualItemAt(e.oldStartingIndex);
                            _this._actionStripComponentsAdapter.insertManualItem(e.newStartingIndex, e.newItems.item(0));
                            break;
                        case NotifyCollectionChangedAction.Reset:
                            _this._actionStripComponentsAdapter.clearManualItems();
                            break;
                    }
                });
                ;
            }
            return this._actionStripComponents;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "expandChildren", {
        get: function () {
            return this.i.b8;
        },
        set: function (v) {
            this.i.b8 = ensureBool(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "hasChildrenKey", {
        get: function () {
            return this.i.d5;
        },
        set: function (v) {
            this.i.d5 = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "showExpandAll", {
        get: function () {
            return this.i.ch;
        },
        set: function (v) {
            this.i.ch = ensureBool(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "batchEditing", {
        get: function () {
            return this.i.b6;
        },
        set: function (v) {
            this.i.b6 = ensureBool(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "snackbarDisplayTime", {
        /**
         * Gets/Sets the display time for the row adding snackbar notification.
         * @remarks
         * By default it is 6000ms.
        */
        get: function () {
            return this.i.cq;
        },
        set: function (v) {
            this.i.cq = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "autoGenerate", {
        get: function () {
            return this.i.b5;
        },
        set: function (v) {
            this.i.b5 = ensureBool(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "autoGenerateExclude", {
        get: function () {
            return this.i.a;
        },
        set: function (v) {
            if (v && !Array.isArray(v) && typeof (v) == "string") {
                var re = /\s*(?:,|\s|$)\s*/gm;
                v = v.split(re);
            }
            this.i.a = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "moving", {
        /**
         * Controls whether columns moving is enabled in the grid.
        */
        get: function () {
            return this.i.cb;
        },
        set: function (v) {
            this.i.cb = ensureBool(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "emptyGridTemplate", {
        get: function () {
            return this._emptyGridTemplate;
        },
        set: function (v) {
            this._emptyGridTemplate = v;
            if (!this._emptyGridTemplateAdapter) {
                this._emptyGridTemplateAdapter = new ReactTemplateAdapter(this._renderer, this._portalManager, "dk", { html: html });
            }
            this._emptyGridTemplateAdapter.setValue(this.i, this._emptyGridTemplate);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "addRowEmptyTemplate", {
        get: function () {
            return this._addRowEmptyTemplate;
        },
        set: function (v) {
            this._addRowEmptyTemplate = v;
            if (!this._addRowEmptyTemplateAdapter) {
                this._addRowEmptyTemplateAdapter = new ReactTemplateAdapter(this._renderer, this._portalManager, "dh", { html: html });
            }
            this._addRowEmptyTemplateAdapter.setValue(this.i, this._addRowEmptyTemplate);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "loadingGridTemplate", {
        get: function () {
            return this._loadingGridTemplate;
        },
        set: function (v) {
            this._loadingGridTemplate = v;
            if (!this._loadingGridTemplateAdapter) {
                this._loadingGridTemplateAdapter = new ReactTemplateAdapter(this._renderer, this._portalManager, "dq", { html: html });
            }
            this._loadingGridTemplateAdapter.setValue(this.i, this._loadingGridTemplate);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "summaryRowHeight", {
        /**
         * Get/Set IgxSummaryRow height
        */
        get: function () {
            return this.i.cr;
        },
        set: function (v) {
            this.i.cr = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "dataCloneStrategy", {
        get: function () {
            return this.i.y.nativeElement;
        },
        set: function (v) {
            this.i.y = interfaceToInternal(v, function () { return new DataCloneStrategy(); });
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "clipboardOptions", {
        /**
         * Controls the copy behavior of the grid.
        */
        get: function () {
            return this.i.k.nativeElement;
        },
        set: function (v) {
            this.i.k = interfaceToInternal(v, function () { return new ClipboardOptions(); });
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "rowClasses", {
        get: function () {
            return this.i.cx;
        },
        set: function (v) {
            this.i.cx = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "rowStyles", {
        get: function () {
            return this.i.cy;
        },
        set: function (v) {
            this.i.cy = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "primaryKey", {
        get: function () {
            return this.i.d9;
        },
        set: function (v) {
            this.i.d9 = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "actualColumnList", {
        get: function () {
            if (!this._actualColumnList) {
                this._actualColumnList = [];
            }
            return this._actualColumnList;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "contentColumnList", {
        get: function () {
            if (!this._contentColumnList) {
                this._contentColumnList = [];
            }
            return this._contentColumnList;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "columnList", {
        /**
         * @hidden @internal
        */
        get: function () {
            var _this = this;
            if (this._columnList === null) {
                var coll = new IgrColumnCollection();
                var inner = coll._innerColl;
                this._columnList = coll;
                inner.addListener(function (sender, e) {
                    switch (e.action) {
                        case NotifyCollectionChangedAction.Add:
                            _this._columnListAdapter.insertManualItem(e.newStartingIndex, e.newItems.item(0));
                            break;
                        case NotifyCollectionChangedAction.Remove:
                            _this._columnListAdapter.removeManualItemAt(e.oldStartingIndex);
                            break;
                        case NotifyCollectionChangedAction.Replace:
                            _this._columnListAdapter.removeManualItemAt(e.oldStartingIndex);
                            _this._columnListAdapter.insertManualItem(e.newStartingIndex, e.newItems.item(0));
                            break;
                        case NotifyCollectionChangedAction.Reset:
                            _this._columnListAdapter.clearManualItems();
                            break;
                    }
                });
                ;
            }
            return this._columnList;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "dragGhostCustomTemplate", {
        /**
         * Gets the custom template, if any, used for row drag ghost.
        */
        get: function () {
            return this._dragGhostCustomTemplate;
        },
        set: function (v) {
            this._dragGhostCustomTemplate = v;
            if (!this._dragGhostCustomTemplateAdapter) {
                this._dragGhostCustomTemplateAdapter = new ReactTemplateAdapter(this._renderer, this._portalManager, "di", { html: html }, function () { return new IgrGridRowDragGhostContext(); });
            }
            this._dragGhostCustomTemplateAdapter.setValue(this.i, this._dragGhostCustomTemplate);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "rowEditTextTemplate", {
        /**
         * Gets the row edit text template.
        */
        get: function () {
            return this._rowEditTextTemplate;
        },
        set: function (v) {
            this._rowEditTextTemplate = v;
            if (!this._rowEditTextTemplateAdapter) {
                this._rowEditTextTemplateAdapter = new ReactTemplateAdapter(this._renderer, this._portalManager, "du", { html: html }, function () { return new IgrGridRowEditTextTemplateContext(); });
            }
            this._rowEditTextTemplateAdapter.setValue(this.i, this._rowEditTextTemplate);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "rowAddTextTemplate", {
        /**
         * Gets the row add text template.
        */
        get: function () {
            return this._rowAddTextTemplate;
        },
        set: function (v) {
            this._rowAddTextTemplate = v;
            if (!this._rowAddTextTemplateAdapter) {
                this._rowAddTextTemplateAdapter = new ReactTemplateAdapter(this._renderer, this._portalManager, "dr", { html: html }, function () { return new IgrGridEmptyTemplateContext(); });
            }
            this._rowAddTextTemplateAdapter.setValue(this.i, this._rowAddTextTemplate);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "rowEditActionsTemplate", {
        /**
         * Gets the row edit actions template.
        */
        get: function () {
            return this._rowEditActionsTemplate;
        },
        set: function (v) {
            this._rowEditActionsTemplate = v;
            if (!this._rowEditActionsTemplateAdapter) {
                this._rowEditActionsTemplateAdapter = new ReactTemplateAdapter(this._renderer, this._portalManager, "dt", { html: html }, function () { return new IgrGridRowEditActionsTemplateContext(); });
            }
            this._rowEditActionsTemplateAdapter.setValue(this.i, this._rowEditActionsTemplate);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "rowExpandedIndicatorTemplate", {
        /**
         * Gets the row expand indicator template.
        */
        get: function () {
            return this._rowExpandedIndicatorTemplate;
        },
        set: function (v) {
            this._rowExpandedIndicatorTemplate = v;
            if (!this._rowExpandedIndicatorTemplateAdapter) {
                this._rowExpandedIndicatorTemplateAdapter = new ReactTemplateAdapter(this._renderer, this._portalManager, "dv", { html: html }, function () { return new IgrGridRowTemplateContext(); });
            }
            this._rowExpandedIndicatorTemplateAdapter.setValue(this.i, this._rowExpandedIndicatorTemplate);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "rowCollapsedIndicatorTemplate", {
        /**
         * Gets the row collapse indicator template.
        */
        get: function () {
            return this._rowCollapsedIndicatorTemplate;
        },
        set: function (v) {
            this._rowCollapsedIndicatorTemplate = v;
            if (!this._rowCollapsedIndicatorTemplateAdapter) {
                this._rowCollapsedIndicatorTemplateAdapter = new ReactTemplateAdapter(this._renderer, this._portalManager, "ds", { html: html }, function () { return new IgrGridRowTemplateContext(); });
            }
            this._rowCollapsedIndicatorTemplateAdapter.setValue(this.i, this._rowCollapsedIndicatorTemplate);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "headerExpandedIndicatorTemplate", {
        /**
         * Gets the header expand indicator template.
        */
        get: function () {
            return this._headerExpandedIndicatorTemplate;
        },
        set: function (v) {
            this._headerExpandedIndicatorTemplate = v;
            if (!this._headerExpandedIndicatorTemplateAdapter) {
                this._headerExpandedIndicatorTemplateAdapter = new ReactTemplateAdapter(this._renderer, this._portalManager, "dn", { html: html }, function () { return new IgrGridTemplateContext(); });
            }
            this._headerExpandedIndicatorTemplateAdapter.setValue(this.i, this._headerExpandedIndicatorTemplate);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "headerCollapsedIndicatorTemplate", {
        /**
         * Gets the row collapse indicator template.
        */
        get: function () {
            return this._headerCollapsedIndicatorTemplate;
        },
        set: function (v) {
            this._headerCollapsedIndicatorTemplate = v;
            if (!this._headerCollapsedIndicatorTemplateAdapter) {
                this._headerCollapsedIndicatorTemplateAdapter = new ReactTemplateAdapter(this._renderer, this._portalManager, "dm", { html: html }, function () { return new IgrGridTemplateContext(); });
            }
            this._headerCollapsedIndicatorTemplateAdapter.setValue(this.i, this._headerCollapsedIndicatorTemplate);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "excelStyleHeaderIconTemplate", {
        /**
         * Gets the excel style header icon.
        */
        get: function () {
            return this._excelStyleHeaderIconTemplate;
        },
        set: function (v) {
            this._excelStyleHeaderIconTemplate = v;
            if (!this._excelStyleHeaderIconTemplateAdapter) {
                this._excelStyleHeaderIconTemplateAdapter = new ReactTemplateAdapter(this._renderer, this._portalManager, "dl", { html: html }, function () { return new IgrGridHeaderTemplateContext(); });
            }
            this._excelStyleHeaderIconTemplateAdapter.setValue(this.i, this._excelStyleHeaderIconTemplate);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "sortAscendingHeaderIconTemplate", {
        /**
         * The custom template, if any, that should be used when rendering a header sorting indicator when columns are sorted in asc order.
        */
        get: function () {
            return this._sortAscendingHeaderIconTemplate;
        },
        set: function (v) {
            this._sortAscendingHeaderIconTemplate = v;
            if (!this._sortAscendingHeaderIconTemplateAdapter) {
                this._sortAscendingHeaderIconTemplateAdapter = new ReactTemplateAdapter(this._renderer, this._portalManager, "dx", { html: html }, function () { return new IgrGridHeaderTemplateContext(); });
            }
            this._sortAscendingHeaderIconTemplateAdapter.setValue(this.i, this._sortAscendingHeaderIconTemplate);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "sortDescendingHeaderIconTemplate", {
        /**
         * The custom template, if any, that should be used when rendering a header sorting indicator when columns are sorted in desc order.
        */
        get: function () {
            return this._sortDescendingHeaderIconTemplate;
        },
        set: function (v) {
            this._sortDescendingHeaderIconTemplate = v;
            if (!this._sortDescendingHeaderIconTemplateAdapter) {
                this._sortDescendingHeaderIconTemplateAdapter = new ReactTemplateAdapter(this._renderer, this._portalManager, "dy", { html: html }, function () { return new IgrGridHeaderTemplateContext(); });
            }
            this._sortDescendingHeaderIconTemplateAdapter.setValue(this.i, this._sortDescendingHeaderIconTemplate);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "sortHeaderIconTemplate", {
        /**
         * Gets custom template, if any, that should be used when rendering a header sorting indicator when columns are not sorted.
        */
        get: function () {
            return this._sortHeaderIconTemplate;
        },
        set: function (v) {
            this._sortHeaderIconTemplate = v;
            if (!this._sortHeaderIconTemplateAdapter) {
                this._sortHeaderIconTemplateAdapter = new ReactTemplateAdapter(this._renderer, this._portalManager, "dz", { html: html }, function () { return new IgrGridHeaderTemplateContext(); });
            }
            this._sortHeaderIconTemplateAdapter.setValue(this.i, this._sortHeaderIconTemplate);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "actualToolbar", {
        get: function () {
            if (!this._actualToolbar) {
                this._actualToolbar = [];
            }
            return this._actualToolbar;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "contentToolbar", {
        get: function () {
            if (!this._contentToolbar) {
                this._contentToolbar = [];
            }
            return this._contentToolbar;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "toolbar", {
        /**
         * @hidden @internal
        */
        get: function () {
            var _this = this;
            if (this._toolbar === null) {
                var coll = new IgrGridToolbarCollection();
                var inner = coll._innerColl;
                this._toolbar = coll;
                inner.addListener(function (sender, e) {
                    switch (e.action) {
                        case NotifyCollectionChangedAction.Add:
                            _this._toolbarAdapter.insertManualItem(e.newStartingIndex, e.newItems.item(0));
                            break;
                        case NotifyCollectionChangedAction.Remove:
                            _this._toolbarAdapter.removeManualItemAt(e.oldStartingIndex);
                            break;
                        case NotifyCollectionChangedAction.Replace:
                            _this._toolbarAdapter.removeManualItemAt(e.oldStartingIndex);
                            _this._toolbarAdapter.insertManualItem(e.newStartingIndex, e.newItems.item(0));
                            break;
                        case NotifyCollectionChangedAction.Reset:
                            _this._toolbarAdapter.clearManualItems();
                            break;
                    }
                });
                ;
            }
            return this._toolbar;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "actualPaginationComponents", {
        get: function () {
            if (!this._actualPaginationComponents) {
                this._actualPaginationComponents = [];
            }
            return this._actualPaginationComponents;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "contentPaginationComponents", {
        get: function () {
            if (!this._contentPaginationComponents) {
                this._contentPaginationComponents = [];
            }
            return this._contentPaginationComponents;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "paginationComponents", {
        /**
         * @hidden @internal
        */
        get: function () {
            var _this = this;
            if (this._paginationComponents === null) {
                var coll = new IgrPaginatorCollection();
                var inner = coll._innerColl;
                this._paginationComponents = coll;
                inner.addListener(function (sender, e) {
                    switch (e.action) {
                        case NotifyCollectionChangedAction.Add:
                            _this._paginationComponentsAdapter.insertManualItem(e.newStartingIndex, e.newItems.item(0));
                            break;
                        case NotifyCollectionChangedAction.Remove:
                            _this._paginationComponentsAdapter.removeManualItemAt(e.oldStartingIndex);
                            break;
                        case NotifyCollectionChangedAction.Replace:
                            _this._paginationComponentsAdapter.removeManualItemAt(e.oldStartingIndex);
                            _this._paginationComponentsAdapter.insertManualItem(e.newStartingIndex, e.newItems.item(0));
                            break;
                        case NotifyCollectionChangedAction.Reset:
                            _this._paginationComponentsAdapter.clearManualItems();
                            break;
                    }
                });
                ;
            }
            return this._paginationComponents;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "resourceStrings", {
        /**
         * Gets/Sets the resource strings.
         * @remarks
         * By default it uses EN resources.
        */
        get: function () {
            return this.i.a2.nativeElement;
        },
        set: function (v) {
            this.i.a2 = interfaceToInternal(v, function () { return new GridResourceStrings(); });
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "filteringLogic", {
        get: function () {
            return this.i.af;
        },
        set: function (v) {
            this.i.af = ensureEnum(FilteringLogic_$type, v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "filteringExpressionsTree", {
        get: function () {
            var r = this.i.ab;
            if (r == null) {
                return null;
            }
            if (!r.externalObject) {
                var e = new IgrFilteringExpressionsTree();
                if (r.$type) {
                    e._implementation = r;
                }
                else {
                    if (e.i.setNativeElement) {
                        e.i.setNativeElement(r);
                    }
                }
                r.externalObject = e;
            }
            return r.externalObject;
        },
        set: function (v) {
            v == null ? this.i.ab = null : this.i.ab = v.i;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "advancedFilteringExpressionsTree", {
        /**
         * Gets/Sets the advanced filtering state.
         * @example
         * ```typescript
         * let advancedFilteringExpressionsTree = this.grid.advancedFilteringExpressionsTree;
         * this.grid.advancedFilteringExpressionsTree = logic;
         * ```
        */
        get: function () {
            var r = this.i.aa;
            if (r == null) {
                return null;
            }
            if (!r.externalObject) {
                var e = new IgrFilteringExpressionsTree();
                if (r.$type) {
                    e._implementation = r;
                }
                else {
                    if (e.i.setNativeElement) {
                        e.i.setNativeElement(r);
                    }
                }
                r.externalObject = e;
            }
            return r.externalObject;
        },
        set: function (v) {
            v == null ? this.i.aa = null : this.i.aa = v.i;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "locale", {
        /**
         * Gets/Sets the locale.
         * @remarks
         * If not set, returns browser's language.
        */
        get: function () {
            return this.i.d7;
        },
        set: function (v) {
            this.i.d7 = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "pagingMode", {
        get: function () {
            return this.i.a1;
        },
        set: function (v) {
            this.i.a1 = ensureEnum(GridPagingMode_$type, v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "hideRowSelectors", {
        /**
         * Gets/Sets if the row selectors are hidden.
         * @remarks
         * By default row selectors are shown
        */
        get: function () {
            return this.i.b9;
        },
        set: function (v) {
            this.i.b9 = ensureBool(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "rowDraggable", {
        get: function () {
            return this.i.cd;
        },
        set: function (v) {
            this.i.cd = ensureBool(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "validationTrigger", {
        get: function () {
            return this.i.bf;
        },
        set: function (v) {
            this.i.bf = ensureEnum(GridValidationTrigger_$type, v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "rowEditable", {
        get: function () {
            return this.i.ce;
        },
        set: function (v) {
            this.i.ce = ensureBool(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "height", {
        get: function () {
            return this.i.d6;
        },
        set: function (v) {
            this.i.d6 = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "width", {
        /**
         * Gets/Sets the width of the grid.
         * @example
         * ```typescript
         * let gridWidth = this.grid.width;
         * ```
        */
        get: function () {
            return this.i.ea;
        },
        set: function (v) {
            this.i.ea = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "rowHeight", {
        get: function () {
            return this.i.cp;
        },
        set: function (v) {
            this.i.cp = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "columnWidth", {
        get: function () {
            return this.i.d1;
        },
        set: function (v) {
            this.i.d1 = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "emptyGridMessage", {
        get: function () {
            return this.i.d3;
        },
        set: function (v) {
            this.i.d3 = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "isLoading", {
        get: function () {
            return this.i.ca;
        },
        set: function (v) {
            this.i.ca = ensureBool(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "shouldGenerate", {
        /**
         * Gets/Sets whether the columns should be auto-generated once again after the initialization of the grid
         * @deprecated Column re-creation now relies on `autoGenerate` instead.
        */
        get: function () {
            return this.i.cg;
        },
        set: function (v) {
            this.i.cg = ensureBool(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "emptyFilteredGridMessage", {
        get: function () {
            return this.i.d2;
        },
        set: function (v) {
            this.i.d2 = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "pinning", {
        get: function () {
            return this.i.bj.nativeElement;
        },
        set: function (v) {
            this.i.bj = interfaceToInternal(v, function () { return new PinningConfig(); });
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "allowFiltering", {
        get: function () {
            return this.i.b4;
        },
        set: function (v) {
            this.i.b4 = ensureBool(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "allowAdvancedFiltering", {
        get: function () {
            return this.i.b3;
        },
        set: function (v) {
            this.i.b3 = ensureBool(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "filterMode", {
        get: function () {
            return this.i.ah;
        },
        set: function (v) {
            this.i.ah = ensureEnum(FilterMode_$type, v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "summaryPosition", {
        get: function () {
            return this.i.bb;
        },
        set: function (v) {
            this.i.bb = ensureEnum(GridSummaryPosition_$type, v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "summaryCalculationMode", {
        get: function () {
            return this.i.ba;
        },
        set: function (v) {
            this.i.ba = ensureEnum(GridSummaryCalculationMode_$type, v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "showSummaryOnCollapse", {
        get: function () {
            return this.i.ci;
        },
        set: function (v) {
            this.i.ci = ensureBool(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "filterStrategy", {
        get: function () {
            return this.i.ag.nativeElement;
        },
        set: function (v) {
            this.i.ag = interfaceToInternal(v, function () { return new FilteringStrategy(); });
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "sortStrategy", {
        get: function () {
            return this.i.a9.nativeElement;
        },
        set: function (v) {
            this.i.a9 = interfaceToInternal(v, function () { return new GridSortingStrategy(); });
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "sortingOptions", {
        get: function () {
            return this.i.by.nativeElement;
        },
        set: function (v) {
            this.i.by = interfaceToInternal(v, function () { return new SortingOptions(); });
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "selectedRows", {
        get: function () {
            return this.i.e;
        },
        set: function (v) {
            if (v && !Array.isArray(v) && typeof (v) == "string") {
                var re = /\s*(?:,|\s|$)\s*/gm;
                v = v.split(re);
            }
            this.i.e = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "headSelectorTemplate", {
        /**
         * Gets the header row selector template.
        */
        get: function () {
            return this._headSelectorTemplate;
        },
        set: function (v) {
            this._headSelectorTemplate = v;
            if (!this._headSelectorTemplateAdapter) {
                this._headSelectorTemplateAdapter = new ReactTemplateAdapter(this._renderer, this._portalManager, "dp", { html: html }, function () { return new IgrHeadSelectorTemplateContext(); });
            }
            this._headSelectorTemplateAdapter.setValue(this.i, this._headSelectorTemplate);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "rowSelectorTemplate", {
        /**
         * Gets the row selector template.
        */
        get: function () {
            return this._rowSelectorTemplate;
        },
        set: function (v) {
            this._rowSelectorTemplate = v;
            if (!this._rowSelectorTemplateAdapter) {
                this._rowSelectorTemplateAdapter = new ReactTemplateAdapter(this._renderer, this._portalManager, "dw", { html: html }, function () { return new IgrRowSelectorTemplateContext(); });
            }
            this._rowSelectorTemplateAdapter.setValue(this.i, this._rowSelectorTemplate);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "dragIndicatorIconTemplate", {
        /**
         * The custom template, if any, that should be used when rendering the row drag indicator icon
        */
        get: function () {
            return this._dragIndicatorIconTemplate;
        },
        set: function (v) {
            this._dragIndicatorIconTemplate = v;
            if (!this._dragIndicatorIconTemplateAdapter) {
                this._dragIndicatorIconTemplateAdapter = new ReactTemplateAdapter(this._renderer, this._portalManager, "dj", { html: html }, function () { return new IgrGridEmptyTemplateContext(); });
            }
            this._dragIndicatorIconTemplateAdapter.setValue(this.i, this._dragIndicatorIconTemplate);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "sortingExpressions", {
        get: function () {
            if (!this.i.f) {
                return undefined;
            }
            var ret = [];
            for (var i = 0; i < this.i.f.length; i++) {
                var impl = this.i.f[i];
                ret.push(impl.nativeElement);
            }
            return ret;
        },
        set: function (v) {
            var arr = [];
            for (var i = 0; i < v.length; i++) {
                arr.push(v[i]);
            }
            this.i.f = arr;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "cellSelection", {
        /**
         * Gets/Sets cell selection mode.
         * @remarks
         * By default the cell selection mode is multiple
         * selectionMode: GridSelectionMode
        */
        get: function () {
            return this.i.a5;
        },
        set: function (v) {
            this.i.a5 = ensureEnum(GridSelectionMode_$type, v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "rowSelection", {
        /**
         * Gets/Sets row selection mode
         * @remarks
         * By default the row selection mode is 'none'
         * Note that in IgxGrid and IgxHierarchicalGrid 'multipleCascade' behaves like 'multiple'
        */
        get: function () {
            return this.i.a7;
        },
        set: function (v) {
            this.i.a7 = ensureEnum(GridSelectionMode_$type, v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "columnSelection", {
        /**
         * Gets/Sets column selection mode
         * @remarks
         * By default the row selection mode is none
         * selectionMode: GridSelectionMode
        */
        get: function () {
            return this.i.a6;
        },
        set: function (v) {
            this.i.a6 = ensureEnum(GridSelectionMode_$type, v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "defaultRowHeight", {
        /**
         * Gets the default row height.
         * @example
         * ```typescript
         * const rowHeigh = this.grid.defaultRowHeight;
         * ```
        */
        get: function () {
            return this.i.cl;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "defaultHeaderGroupMinWidth", {
        /**
         * Returns the `IgxGridHeaderGroupComponent`'s minimum allowed width.
         * @remarks
         * Used internally for restricting header group component width.
         * The values below depend on the header cell default right/left padding values.
        */
        get: function () {
            return this.i.ck;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "columns", {
        /**
         * Gets an array of `IgxColumnComponent`s.
         * @example
         * ```typescript
         * const colums = this.grid.columns.
         * ```
        */
        get: function () {
            if (!this.i.b) {
                return undefined;
            }
            var ret = [];
            for (var i = 0; i < this.i.b.length; i++) {
                var impl = this.i.b[i];
                if (!impl.externalObject) {
                    if (impl instanceof IgrColumn) {
                        ret.push(impl);
                        continue;
                    }
                    var e = IgrColumn._createFromInternal(impl);
                    e._implementation = impl;
                    impl.externalObject = e;
                }
                ret.push(impl.externalObject);
            }
            return ret;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "totalRecords", {
        /**
         * Returns the total number of records.
         * @remarks
         * Only functions when paging is enabled.
         * @example
         * ```typescript
         * const totalRecords = this.grid.totalRecords;
         * ```
        */
        get: function () {
            return this.i.cs;
        },
        set: function (v) {
            this.i.cs = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "selectRowOnClick", {
        /**
         * Gets/Sets whether clicking over a row should select/deselect it
         * @remarks
         * By default it is set to true
         * enabled: boolean
        */
        get: function () {
            return this.i.cf;
        },
        set: function (v) {
            this.i.cf = ensureBool(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "name", {
        get: function () {
            return this.i.d8;
        },
        set: function (v) {
            this.i.d8 = v;
        },
        enumerable: false,
        configurable: true
    });
    IgrRowIsland.prototype.findByName = function (name) {
        if (this.findEphemera) {
            if (name && name.indexOf("@@e:") == 0) {
                return this.findEphemera(name);
            }
        }
        if (this.childLayoutList != null && this.childLayoutList.findByName && this.childLayoutList.findByName(name)) {
            return this.childLayoutList.findByName(name);
        }
        if (this.actionStripComponents != null && this.actionStripComponents.findByName && this.actionStripComponents.findByName(name)) {
            return this.actionStripComponents.findByName(name);
        }
        if (this.dataCloneStrategy && this.dataCloneStrategy.name && this.dataCloneStrategy.name == name) {
            return this.dataCloneStrategy;
        }
        if (this.clipboardOptions && this.clipboardOptions.name && this.clipboardOptions.name == name) {
            return this.clipboardOptions;
        }
        if (this.columnList != null && this.columnList.findByName && this.columnList.findByName(name)) {
            return this.columnList.findByName(name);
        }
        if (this.toolbar != null && this.toolbar.findByName && this.toolbar.findByName(name)) {
            return this.toolbar.findByName(name);
        }
        if (this.paginationComponents != null && this.paginationComponents.findByName && this.paginationComponents.findByName(name)) {
            return this.paginationComponents.findByName(name);
        }
        if (this.resourceStrings && this.resourceStrings.name && this.resourceStrings.name == name) {
            return this.resourceStrings;
        }
        if (this.filteringExpressionsTree && this.filteringExpressionsTree.name && this.filteringExpressionsTree.name == name) {
            return this.filteringExpressionsTree;
        }
        if (this.advancedFilteringExpressionsTree && this.advancedFilteringExpressionsTree.name && this.advancedFilteringExpressionsTree.name == name) {
            return this.advancedFilteringExpressionsTree;
        }
        if (this.pinning && this.pinning.name && this.pinning.name == name) {
            return this.pinning;
        }
        if (this.filterStrategy && this.filterStrategy.name && this.filterStrategy.name == name) {
            return this.filterStrategy;
        }
        if (this.sortStrategy && this.sortStrategy.name && this.sortStrategy.name == name) {
            return this.sortStrategy;
        }
        if (this.sortingOptions && this.sortingOptions.name && this.sortingOptions.name == name) {
            return this.sortingOptions;
        }
        return null;
    };
    Object.defineProperty(IgrRowIsland.prototype, "hasUserValues", {
        get: function () {
            return this._hasUserValues;
        },
        enumerable: false,
        configurable: true
    });
    IgrRowIsland.prototype.__m = function (propertyName) {
        if (!this._inStyling) {
            this._hasUserValues.add(propertyName);
        }
    };
    IgrRowIsland.prototype._styling = function (container, component, parent) {
        if (this._inStyling) {
            return;
        }
        this._inStyling = true;
        this._stylingContainer = container;
        this._stylingParent = component;
        var genericPrefix = "";
        var typeName = this.i.$type.name;
        if (typeName.indexOf("Xam") === 0) {
            typeName = typeName.substring(3);
        }
        genericPrefix = toSpinal("RowIsland");
        var additionalPrefixes = [];
        var prefix = toSpinal(typeName);
        additionalPrefixes.push(prefix + "-");
        var b = this.i.$type.baseType;
        while (b && b.name != "Object" &&
            b.name != "Base" &&
            b.name != "Control" &&
            b.Name != "DependencyObject" &&
            b.Name != "FrameworkElement") {
            typeName = b.name;
            if (typeName.indexOf("Xam") === 0) {
                typeName = typeName.substring(3);
            }
            var basePrefix = toSpinal(typeName);
            additionalPrefixes.push(basePrefix + "-");
            b = b.baseType;
        }
        if (parent) {
            var parentTypeName = parent.i.$type.name;
            if (parentTypeName.indexOf("Xam") === 0) {
                parentTypeName = parentTypeName.substring(3);
            }
            var parentPrefix = toSpinal(parentTypeName);
            additionalPrefixes.push(parentPrefix + "-" + genericPrefix + "-");
            additionalPrefixes.push(parentPrefix + "-" + prefix + "-");
        }
        initializePropertiesFromCss(container, this, genericPrefix + "-", this.hasUserValues, false, additionalPrefixes);
        if (this._otherStyling) {
            this._otherStyling(container, component, parent);
        }
        this._inStyling = false;
    };
    IgrRowIsland.prototype.setNativeElement = function (element) {
        this.i.setNativeElement(element);
    };
    /**
     * Returns whether the record is pinned or not.
     * rowIndex Index of the record in the `filteredSortedData` collection.
    
    * @param rowIndex  * Index of the record in the `filteredSortedData` collection.
    */
    IgrRowIsland.prototype.isRecordPinnedByIndex = function (rowIndex) {
        this.i.fs(rowIndex);
    };
    /**
     * Toggles the specified column's visibility.
     * @example
     * ```typescript
     * this.grid1.toggleColumnVisibility({
     * column: this.grid1.columns[0],
     * newValue: true
     * });
     * ```
    
    */
    IgrRowIsland.prototype.toggleColumnVisibility = function (args) {
        this.i.gr((args == null ? null : args.i));
    };
    /**
     * Expands all rows.
     * @example
     * ```typescript
     * this.grid.expandAll();
     * ```
    
    */
    IgrRowIsland.prototype.expandAll = function () {
        this.i.fc();
    };
    /**
     * Collapses all rows.
     * @example
     * ```typescript
     * this.grid.collapseAll();
     * ```
    
    */
    IgrRowIsland.prototype.collapseAll = function () {
        this.i.eo();
    };
    /**
     * Expands the row by its id.
     * @remarks
     * ID is either the primaryKey value or the data record instance.
     * @example
     * ```typescript
     * this.grid.expandRow(rowID);
     * ```
     * rowID The row id - primaryKey value or the data record instance.
    
    * @param rowID  * The row id - primaryKey value or the data record instance.
    */
    IgrRowIsland.prototype.expandRow = function (rowID) {
        this.i.fd(rowID);
    };
    /**
     * Collapses the row by its id.
     * @remarks
     * ID is either the primaryKey value or the data record instance.
     * @example
     * ```typescript
     * this.grid.collapseRow(rowID);
     * ```
     * rowID The row id - primaryKey value or the data record instance.
    
    * @param rowID  * The row id - primaryKey value or the data record instance.
    */
    IgrRowIsland.prototype.collapseRow = function (rowID) {
        this.i.ep(rowID);
    };
    /**
     * Toggles the row by its id.
     * @remarks
     * ID is either the primaryKey value or the data record instance.
     * @example
     * ```typescript
     * this.grid.toggleRow(rowID);
     * ```
     * rowID The row id - primaryKey value or the data record instance.
    
    * @param rowID  * The row id - primaryKey value or the data record instance.
    */
    IgrRowIsland.prototype.toggleRow = function (rowID) {
        this.i.gs(rowID);
    };
    /**
     * Gets the `width` to be set on `IgxGridHeaderGroupComponent`.
    
    */
    IgrRowIsland.prototype.getHeaderGroupWidth = function (column) {
        var iv = this.i.d4((column == null ? null : column.i));
        return (iv);
    };
    /**
     * Returns the `IgxColumnComponent` by field name.
     * @example
     * ```typescript
     * const myCol = this.grid1.getColumnByName("ID");
     * ```
     * name
    
    * @param   * name
    */
    IgrRowIsland.prototype.getColumnByName = function (name) {
        var iv = this.i.l(name);
        var ret = null;
        if (iv && iv.externalObject) {
            ret = iv.externalObject;
        }
        else {
            if (iv) {
                var e = IgrColumn._createFromInternal(iv);
                e._implementation = iv;
                iv.externalObject = e;
                ret = e;
            }
        }
        return ret;
    };
    IgrRowIsland.prototype.getColumnByVisibleIndex = function (index) {
        var iv = this.i.m(index);
        var ret = null;
        if (iv && iv.externalObject) {
            ret = iv.externalObject;
        }
        else {
            if (iv) {
                var e = IgrColumn._createFromInternal(iv);
                e._implementation = iv;
                iv.externalObject = e;
                ret = e;
            }
        }
        return ret;
    };
    /**
     * Recalculates all widths of columns that have size set to `auto`.
     * @example
     * ```typescript
     * this.grid1.recalculateAutoSizes();
     * ```
    
    */
    IgrRowIsland.prototype.recalculateAutoSizes = function () {
        this.i.fy();
    };
    IgrRowIsland.prototype.moveColumn = function (column, target, pos) {
        this.i.fu((column == null ? null : column.i), (target == null ? null : target.i), (pos == null ? null : pos));
    };
    /**
     * Triggers change detection for the `IgxGridComponent`.
     * Calling markForCheck also triggers the grid pipes explicitly, resulting in all updates being processed.
     * May degrade performance if used when not needed, or if misused:
     * ```typescript
     * // DON'Ts:
     * // don't call markForCheck from inside a loop
     * // don't call markForCheck when a primitive has changed
     * grid.data.forEach(rec => {
     * rec = newValue;
     * grid.markForCheck();
     * });
     * // DOs
     * // call markForCheck after updating a nested property
     * grid.data.forEach(rec => {
     * rec.nestedProp1.nestedProp2 = newValue;
     * });
     * grid.markForCheck();
     * ```
     * @example
     * ```typescript
     * grid.markForCheck();
     * ```
    
    */
    IgrRowIsland.prototype.markForCheck = function () {
        this.i.ft();
    };
    /**
     * Removes the `IgxGridRowComponent` and the corresponding data record by primary key.
     * @remarks
     * Requires that the `primaryKey` property is set.
     * The method accept rowSelector as a parameter, which is the rowID.
     * @example
     * ```typescript
     * this.grid1.deleteRow(0);
     * ```
     * rowSelector
    
    * @param   * rowSelector
    */
    IgrRowIsland.prototype.deleteRow = function (rowSelector) {
        var iv = this.i.cu(rowSelector);
        return (iv);
    };
    IgrRowIsland.prototype.updateCell = function (value, rowSelector, column) {
        this.i.gu(value, rowSelector, column);
    };
    IgrRowIsland.prototype.updateRow = function (value, rowSelector) {
        this.i.gv(value, rowSelector);
    };
    /**
     * Returns the data that is contained in the row component.
     * @remarks
     * If the primary key is not specified the row selector match the row data.
     * @example
     * ```typescript
     * const data = grid.getRowData(94741);
     * ```
     * rowSelector correspond to rowID
    
    * @param rowSelector  * correspond to rowID
    */
    IgrRowIsland.prototype.getRowData = function (rowSelector) {
        var iv = this.i.cv(rowSelector);
        return (iv);
    };
    IgrRowIsland.prototype.sort = function (expression) {
        var arr_expression = [];
        for (var i = 0; i < expression.length; i++) {
            arr_expression.push(interfaceToInternal(expression[i], function () { return new SortingExpression(); }));
        }
        this.i.gn(arr_expression);
    };
    IgrRowIsland.prototype.filter = function (name, value, conditionOrExpressionTree, ignoreCase) {
        this.i.fe(name, value, (conditionOrExpressionTree == null ? null : conditionOrExpressionTree.i), ignoreCase);
    };
    IgrRowIsland.prototype.filterGlobal = function (value, condition, ignoreCase) {
        this.i.ff(value, condition, ignoreCase);
    };
    IgrRowIsland.prototype.enableSummaries = function (rest) {
        this.i.fb(rest);
    };
    IgrRowIsland.prototype.disableSummaries = function (rest) {
        this.i.e9(rest);
    };
    /**
     * If name is provided, clears the filtering state of the corresponding `IgxColumnComponent`.
     * @remarks
     * Otherwise clears the filtering state of all `IgxColumnComponent`s.
     * @example
     * ```typescript
     * this.grid.clearFilter();
     * ```
     * name
    
    * @param   * name
    */
    IgrRowIsland.prototype.clearFilter = function (name) {
        this.i.ek(name);
    };
    /**
     * If name is provided, clears the sorting state of the corresponding `IgxColumnComponent`.
     * @remarks
     * otherwise clears the sorting state of all `IgxColumnComponent`.
     * @example
     * ```typescript
     * this.grid.clearSort();
     * ```
     * name
    
    * @param   * name
    */
    IgrRowIsland.prototype.clearSort = function (name) {
        this.i.em(name);
    };
    IgrRowIsland.prototype.pinColumn = function (columnName, index) {
        var iv = this.i.cc(columnName, index);
        return (iv);
    };
    IgrRowIsland.prototype.unpinColumn = function (columnName, index) {
        var iv = this.i.cj(columnName, index);
        return (iv);
    };
    IgrRowIsland.prototype.findNext = function (text, caseSensitive, exactMatch) {
        var iv = this.i.cm(text, caseSensitive, exactMatch);
        return (iv);
    };
    IgrRowIsland.prototype.findPrev = function (text, caseSensitive, exactMatch) {
        var iv = this.i.cn(text, caseSensitive, exactMatch);
        return (iv);
    };
    IgrRowIsland.prototype.refreshSearch = function (updateActiveInfo, endEdit) {
        var iv = this.i.co(updateActiveInfo, endEdit);
        return (iv);
    };
    /**
     * Removes all the highlights in the cell.
     * @example
     * ```typescript
     * this.grid.clearSearch();
     * ```
    
    */
    IgrRowIsland.prototype.clearSearch = function () {
        this.i.el();
    };
    /**
     * Gets calculated width of the pinned area.
     * @example
     * ```typescript
     * const pinnedWidth = this.grid.getPinnedWidth();
     * ```
     * takeHidden If we should take into account the hidden columns in the pinned area.
    
    * @param takeHidden  * If we should take into account the hidden columns in the pinned area.
    */
    IgrRowIsland.prototype.getPinnedWidth = function (takeHidden) {
        this.i.fk(takeHidden);
    };
    IgrRowIsland.prototype.selectRows = function (rowIDs, clearCurrentSelection) {
        this.i.gl(rowIDs, clearCurrentSelection);
    };
    IgrRowIsland.prototype.deselectRows = function (rowIDs) {
        this.i.e8(rowIDs);
    };
    /**
     * Selects all rows
     * @remarks
     * By default if filtering is in place, selectAllRows() and deselectAllRows() select/deselect all filtered rows.
     * If you set the parameter onlyFilterData to false that will select all rows in the grid exept deleted rows.
     * @example
     * ```typescript
     * this.grid.selectAllRows();
     * this.grid.selectAllRows(false);
     * ```
     * onlyFilterData
    
    * @param   * onlyFilterData
    */
    IgrRowIsland.prototype.selectAllRows = function (onlyFilterData) {
        this.i.gg(onlyFilterData);
    };
    /**
     * Deselects all rows
     * @remarks
     * By default if filtering is in place, selectAllRows() and deselectAllRows() select/deselect all filtered rows.
     * If you set the parameter onlyFilterData to false that will deselect all rows in the grid exept deleted rows.
     * @example
     * ```typescript
     * this.grid.deselectAllRows();
     * ```
     * onlyFilterData
    
    * @param   * onlyFilterData
    */
    IgrRowIsland.prototype.deselectAllRows = function (onlyFilterData) {
        this.i.e6(onlyFilterData);
    };
    /**
     * Deselect selected cells.
     * @example
     * ```typescript
     * this.grid.clearCellSelection();
     * ```
    
    */
    IgrRowIsland.prototype.clearCellSelection = function () {
        this.i.ej();
    };
    IgrRowIsland.prototype.selectRange = function (arg) {
        var arr_arg = [];
        for (var i = 0; i < arg.length; i++) {
            arr_arg.push(interfaceToInternal(arg[i], function () { return new GridSelectionRange(); }));
        }
        this.i.gk(arr_arg);
    };
    /**
     * Get the currently selected ranges in the grid.
    
    */
    IgrRowIsland.prototype.getSelectedRanges = function () {
        var iv = this.i.c();
        var ret = [];
        for (var i = 0; i < iv.length; i++) {
            var impl = iv[i];
            if (!impl.externalObject) {
                var e = impl.nativeElement;
                impl.externalObject = e;
            }
            ret.push(impl.externalObject);
        }
        return ret;
    };
    IgrRowIsland.prototype.getSelectedData = function (formatters, headers) {
        this.i.fm(formatters, headers);
    };
    /**
     * Get current selected columns.
     * @example
     * Returns an array with selected columns
     * ```typescript
     * const selectedColumns = this.grid.selectedColumns();
     * ```
    
    */
    IgrRowIsland.prototype.selectedColumns = function () {
        var iv = this.i.d();
        var ret = [];
        for (var i = 0; i < iv.length; i++) {
            var impl = iv[i];
            if (!impl.externalObject) {
                var e = new IgrColumn({});
                e._implementation = impl;
                impl.externalObject = e;
            }
            ret.push(impl.externalObject);
        }
        return ret;
    };
    IgrRowIsland.prototype.selectColumns = function (columns, clearCurrentSelection) {
        this.i.gh(columns, clearCurrentSelection);
    };
    IgrRowIsland.prototype.deselectColumns = function (columns) {
        this.i.e7(columns);
    };
    /**
     * Deselects all columns
     * @example
     * ```typescript
     * this.grid.deselectAllColumns();
     * ```
    
    */
    IgrRowIsland.prototype.deselectAllColumns = function () {
        this.i.e5();
    };
    /**
     * Selects all columns
     * @example
     * ```typescript
     * this.grid.deselectAllColumns();
     * ```
    
    */
    IgrRowIsland.prototype.selectAllColumns = function () {
        this.i.gf();
    };
    IgrRowIsland.prototype.getSelectedColumnsData = function (formatters, headers) {
        this.i.fl(formatters, headers);
    };
    IgrRowIsland.prototype.navigateTo = function (rowIndex, visibleColIndex, cb) {
        this.i.fv(rowIndex, visibleColIndex, cb);
    };
    IgrRowIsland.prototype.getNextCell = function (currRowIndex, curVisibleColIndex, callback) {
        var iv = this.i.i(currRowIndex, curVisibleColIndex, callback);
        var ret = null;
        if (iv && iv.externalObject) {
            ret = iv.externalObject;
        }
        else {
            if (iv) {
                ret = iv.nativeElement;
                delete ret.externalObject;
            }
        }
        return ret;
    };
    IgrRowIsland.prototype.getPreviousCell = function (currRowIndex, curVisibleColIndex, callback) {
        var iv = this.i.j(currRowIndex, curVisibleColIndex, callback);
        var ret = null;
        if (iv && iv.externalObject) {
            ret = iv.externalObject;
        }
        else {
            if (iv) {
                ret = iv.nativeElement;
                delete ret.externalObject;
            }
        }
        return ret;
    };
    /**
     * Opens the advanced filtering dialog.
    
    */
    IgrRowIsland.prototype.openAdvancedFilteringDialog = function (overlaySettings) {
        this.i.fw((overlaySettings == null ? null : interfaceToInternal(overlaySettings, function () { return new OverlaySettings(); })));
    };
    /**
     * Closes the advanced filtering dialog.
     * applyChanges indicates whether the changes should be applied
    
    * @param applyChanges  * indicates whether the changes should be applied
    */
    IgrRowIsland.prototype.closeAdvancedFilteringDialog = function (applyChanges) {
        this.i.en(applyChanges);
    };
    IgrRowIsland.prototype.endEdit = function (commit, evt) {
        var iv = this.i.b7(commit, evt);
        return (iv);
    };
    IgrRowIsland.prototype.beginAddRowById = function (rowID, asChild) {
        this.i.ed(rowID, asChild);
    };
    Object.defineProperty(IgrRowIsland.prototype, "gridCreated", {
        get: function () {
            return this._gridCreated;
        },
        set: function (ev) {
            var _this = this;
            if (this._gridCreated_wrapped !== null) {
                this.i.gridCreated = delegateRemove(this.i.gridCreated, this._gridCreated_wrapped);
                this._gridCreated_wrapped = null;
                this._gridCreated = null;
            }
            this._gridCreated = ev;
            this._gridCreated_wrapped = function (o, e) {
                var outerArgs = new IgrGridCreatedEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeGridCreated) {
                    _this.beforeGridCreated(_this, outerArgs);
                }
                if (_this._gridCreated) {
                    _this._gridCreated(_this, outerArgs);
                }
            };
            this.i.gridCreated = delegateCombine(this.i.gridCreated, this._gridCreated_wrapped);
            if (this.i.gridCreatedChanged) {
                this.i.gridCreatedChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "gridInitialized", {
        get: function () {
            return this._gridInitialized;
        },
        set: function (ev) {
            var _this = this;
            if (this._gridInitialized_wrapped !== null) {
                this.i.gridInitialized = delegateRemove(this.i.gridInitialized, this._gridInitialized_wrapped);
                this._gridInitialized_wrapped = null;
                this._gridInitialized = null;
            }
            this._gridInitialized = ev;
            this._gridInitialized_wrapped = function (o, e) {
                var outerArgs = new IgrGridCreatedEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeGridInitialized) {
                    _this.beforeGridInitialized(_this, outerArgs);
                }
                if (_this._gridInitialized) {
                    _this._gridInitialized(_this, outerArgs);
                }
            };
            this.i.gridInitialized = delegateCombine(this.i.gridInitialized, this._gridInitialized_wrapped);
            if (this.i.gridInitializedChanged) {
                this.i.gridInitializedChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "dataPreLoad", {
        get: function () {
            return this._dataPreLoad;
        },
        set: function (ev) {
            var _this = this;
            if (this._dataPreLoad_wrapped !== null) {
                this.i.dataPreLoad = delegateRemove(this.i.dataPreLoad, this._dataPreLoad_wrapped);
                this._dataPreLoad_wrapped = null;
                this._dataPreLoad = null;
            }
            this._dataPreLoad = ev;
            this._dataPreLoad_wrapped = function (o, e) {
                var outerArgs = new IgrForOfStateEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeDataPreLoad) {
                    _this.beforeDataPreLoad(_this, outerArgs);
                }
                if (_this._dataPreLoad) {
                    _this._dataPreLoad(_this, outerArgs);
                }
            };
            this.i.dataPreLoad = delegateCombine(this.i.dataPreLoad, this._dataPreLoad_wrapped);
            if (this.i.dataPreLoadChanged) {
                this.i.dataPreLoadChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "filteringExpressionsTreeChange", {
        get: function () {
            return this._filteringExpressionsTreeChange;
        },
        set: function (ev) {
            var _this = this;
            if (this._filteringExpressionsTreeChange_wrapped !== null) {
                this.i.filteringExpressionsTreeChange = delegateRemove(this.i.filteringExpressionsTreeChange, this._filteringExpressionsTreeChange_wrapped);
                this._filteringExpressionsTreeChange_wrapped = null;
                this._filteringExpressionsTreeChange = null;
            }
            this._filteringExpressionsTreeChange = ev;
            this._filteringExpressionsTreeChange_wrapped = function (o, e) {
                var outerArgs = new IgrFilteringExpressionsTreeEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeFilteringExpressionsTreeChange) {
                    _this.beforeFilteringExpressionsTreeChange(_this, outerArgs);
                }
                if (_this._filteringExpressionsTreeChange) {
                    _this._filteringExpressionsTreeChange(_this, outerArgs);
                }
            };
            this.i.filteringExpressionsTreeChange = delegateCombine(this.i.filteringExpressionsTreeChange, this._filteringExpressionsTreeChange_wrapped);
            if (this.i.filteringExpressionsTreeChangeChanged) {
                this.i.filteringExpressionsTreeChangeChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "advancedFilteringExpressionsTreeChange", {
        get: function () {
            return this._advancedFilteringExpressionsTreeChange;
        },
        set: function (ev) {
            var _this = this;
            if (this._advancedFilteringExpressionsTreeChange_wrapped !== null) {
                this.i.advancedFilteringExpressionsTreeChange = delegateRemove(this.i.advancedFilteringExpressionsTreeChange, this._advancedFilteringExpressionsTreeChange_wrapped);
                this._advancedFilteringExpressionsTreeChange_wrapped = null;
                this._advancedFilteringExpressionsTreeChange = null;
            }
            this._advancedFilteringExpressionsTreeChange = ev;
            this._advancedFilteringExpressionsTreeChange_wrapped = function (o, e) {
                var outerArgs = new IgrFilteringExpressionsTreeEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeAdvancedFilteringExpressionsTreeChange) {
                    _this.beforeAdvancedFilteringExpressionsTreeChange(_this, outerArgs);
                }
                if (_this._advancedFilteringExpressionsTreeChange) {
                    _this._advancedFilteringExpressionsTreeChange(_this, outerArgs);
                }
            };
            this.i.advancedFilteringExpressionsTreeChange = delegateCombine(this.i.advancedFilteringExpressionsTreeChange, this._advancedFilteringExpressionsTreeChange_wrapped);
            if (this.i.advancedFilteringExpressionsTreeChangeChanged) {
                this.i.advancedFilteringExpressionsTreeChangeChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "gridScroll", {
        get: function () {
            return this._gridScroll;
        },
        set: function (ev) {
            var _this = this;
            if (this._gridScroll_wrapped !== null) {
                this.i.gridScroll = delegateRemove(this.i.gridScroll, this._gridScroll_wrapped);
                this._gridScroll_wrapped = null;
                this._gridScroll = null;
            }
            this._gridScroll = ev;
            this._gridScroll_wrapped = function (o, e) {
                var outerArgs = new IgrGridScrollEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeGridScroll) {
                    _this.beforeGridScroll(_this, outerArgs);
                }
                if (_this._gridScroll) {
                    _this._gridScroll(_this, outerArgs);
                }
            };
            this.i.gridScroll = delegateCombine(this.i.gridScroll, this._gridScroll_wrapped);
            if (this.i.gridScrollChanged) {
                this.i.gridScrollChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "cellClick", {
        get: function () {
            return this._cellClick;
        },
        set: function (ev) {
            var _this = this;
            if (this._cellClick_wrapped !== null) {
                this.i.cellClick = delegateRemove(this.i.cellClick, this._cellClick_wrapped);
                this._cellClick_wrapped = null;
                this._cellClick = null;
            }
            this._cellClick = ev;
            this._cellClick_wrapped = function (o, e) {
                var outerArgs = new IgrGridCellEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeCellClick) {
                    _this.beforeCellClick(_this, outerArgs);
                }
                if (_this._cellClick) {
                    _this._cellClick(_this, outerArgs);
                }
            };
            this.i.cellClick = delegateCombine(this.i.cellClick, this._cellClick_wrapped);
            if (this.i.cellClickChanged) {
                this.i.cellClickChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "rowClick", {
        get: function () {
            return this._rowClick;
        },
        set: function (ev) {
            var _this = this;
            if (this._rowClick_wrapped !== null) {
                this.i.rowClick = delegateRemove(this.i.rowClick, this._rowClick_wrapped);
                this._rowClick_wrapped = null;
                this._rowClick = null;
            }
            this._rowClick = ev;
            this._rowClick_wrapped = function (o, e) {
                var outerArgs = new IgrGridRowEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeRowClick) {
                    _this.beforeRowClick(_this, outerArgs);
                }
                if (_this._rowClick) {
                    _this._rowClick(_this, outerArgs);
                }
            };
            this.i.rowClick = delegateCombine(this.i.rowClick, this._rowClick_wrapped);
            if (this.i.rowClickChanged) {
                this.i.rowClickChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "formGroupCreated", {
        get: function () {
            return this._formGroupCreated;
        },
        set: function (ev) {
            var _this = this;
            if (this._formGroupCreated_wrapped !== null) {
                this.i.formGroupCreated = delegateRemove(this.i.formGroupCreated, this._formGroupCreated_wrapped);
                this._formGroupCreated_wrapped = null;
                this._formGroupCreated = null;
            }
            this._formGroupCreated = ev;
            this._formGroupCreated_wrapped = function (o, e) {
                var outerArgs = new IgrGridFormGroupCreatedEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeFormGroupCreated) {
                    _this.beforeFormGroupCreated(_this, outerArgs);
                }
                if (_this._formGroupCreated) {
                    _this._formGroupCreated(_this, outerArgs);
                }
            };
            this.i.formGroupCreated = delegateCombine(this.i.formGroupCreated, this._formGroupCreated_wrapped);
            if (this.i.formGroupCreatedChanged) {
                this.i.formGroupCreatedChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "validationStatusChange", {
        get: function () {
            return this._validationStatusChange;
        },
        set: function (ev) {
            var _this = this;
            if (this._validationStatusChange_wrapped !== null) {
                this.i.validationStatusChange = delegateRemove(this.i.validationStatusChange, this._validationStatusChange_wrapped);
                this._validationStatusChange_wrapped = null;
                this._validationStatusChange = null;
            }
            this._validationStatusChange = ev;
            this._validationStatusChange_wrapped = function (o, e) {
                var outerArgs = new IgrGridValidationStatusEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeValidationStatusChange) {
                    _this.beforeValidationStatusChange(_this, outerArgs);
                }
                if (_this._validationStatusChange) {
                    _this._validationStatusChange(_this, outerArgs);
                }
            };
            this.i.validationStatusChange = delegateCombine(this.i.validationStatusChange, this._validationStatusChange_wrapped);
            if (this.i.validationStatusChangeChanged) {
                this.i.validationStatusChangeChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "selected", {
        get: function () {
            return this._selected;
        },
        set: function (ev) {
            var _this = this;
            if (this._selected_wrapped !== null) {
                this.i.selected = delegateRemove(this.i.selected, this._selected_wrapped);
                this._selected_wrapped = null;
                this._selected = null;
            }
            this._selected = ev;
            this._selected_wrapped = function (o, e) {
                var outerArgs = new IgrGridCellEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeSelected) {
                    _this.beforeSelected(_this, outerArgs);
                }
                if (_this._selected) {
                    _this._selected(_this, outerArgs);
                }
            };
            this.i.selected = delegateCombine(this.i.selected, this._selected_wrapped);
            if (this.i.selectedChanged) {
                this.i.selectedChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "rowSelectionChanging", {
        get: function () {
            return this._rowSelectionChanging;
        },
        set: function (ev) {
            var _this = this;
            if (this._rowSelectionChanging_wrapped !== null) {
                this.i.rowSelectionChanging = delegateRemove(this.i.rowSelectionChanging, this._rowSelectionChanging_wrapped);
                this._rowSelectionChanging_wrapped = null;
                this._rowSelectionChanging = null;
            }
            this._rowSelectionChanging = ev;
            this._rowSelectionChanging_wrapped = function (o, e) {
                var outerArgs = new IgrRowSelectionEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeRowSelectionChanging) {
                    _this.beforeRowSelectionChanging(_this, outerArgs);
                }
                if (_this._rowSelectionChanging) {
                    _this._rowSelectionChanging(_this, outerArgs);
                }
            };
            this.i.rowSelectionChanging = delegateCombine(this.i.rowSelectionChanging, this._rowSelectionChanging_wrapped);
            if (this.i.rowSelectionChangingChanged) {
                this.i.rowSelectionChangingChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "columnSelectionChanging", {
        get: function () {
            return this._columnSelectionChanging;
        },
        set: function (ev) {
            var _this = this;
            if (this._columnSelectionChanging_wrapped !== null) {
                this.i.columnSelectionChanging = delegateRemove(this.i.columnSelectionChanging, this._columnSelectionChanging_wrapped);
                this._columnSelectionChanging_wrapped = null;
                this._columnSelectionChanging = null;
            }
            this._columnSelectionChanging = ev;
            this._columnSelectionChanging_wrapped = function (o, e) {
                var outerArgs = new IgrColumnSelectionEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeColumnSelectionChanging) {
                    _this.beforeColumnSelectionChanging(_this, outerArgs);
                }
                if (_this._columnSelectionChanging) {
                    _this._columnSelectionChanging(_this, outerArgs);
                }
            };
            this.i.columnSelectionChanging = delegateCombine(this.i.columnSelectionChanging, this._columnSelectionChanging_wrapped);
            if (this.i.columnSelectionChangingChanged) {
                this.i.columnSelectionChangingChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "columnPin", {
        /**
         * Emitted before `IgxColumnComponent` is pinned.
         * @remarks
         * The index at which to insert the column may be changed through the `insertAtIndex` property.
         * @example
         * ```typescript
         * public columnPinning(event) {
         * if (event.column.field === "Name") {
         * event.insertAtIndex = 0;
         * }
         * }
         * ```
        */
        get: function () {
            return this._columnPin;
        },
        set: function (ev) {
            var _this = this;
            if (this._columnPin_wrapped !== null) {
                this.i.columnPin = delegateRemove(this.i.columnPin, this._columnPin_wrapped);
                this._columnPin_wrapped = null;
                this._columnPin = null;
            }
            this._columnPin = ev;
            this._columnPin_wrapped = function (o, e) {
                var outerArgs = new IgrPinColumnCancellableEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeColumnPin) {
                    _this.beforeColumnPin(_this, outerArgs);
                }
                if (_this._columnPin) {
                    _this._columnPin(_this, outerArgs);
                }
            };
            this.i.columnPin = delegateCombine(this.i.columnPin, this._columnPin_wrapped);
            if (this.i.columnPinChanged) {
                this.i.columnPinChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "columnPinned", {
        /**
         * Emitted after `IgxColumnComponent` is pinned.
         * @remarks
         * The index that the column is inserted at may be changed through the `insertAtIndex` property.
         * @example
         * ```typescript
         * public columnPinning(event) {
         * if (event.column.field === "Name") {
         * event.insertAtIndex = 0;
         * }
         * }
         * ```
        */
        get: function () {
            return this._columnPinned;
        },
        set: function (ev) {
            var _this = this;
            if (this._columnPinned_wrapped !== null) {
                this.i.columnPinned = delegateRemove(this.i.columnPinned, this._columnPinned_wrapped);
                this._columnPinned_wrapped = null;
                this._columnPinned = null;
            }
            this._columnPinned = ev;
            this._columnPinned_wrapped = function (o, e) {
                var outerArgs = new IgrPinColumnEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeColumnPinned) {
                    _this.beforeColumnPinned(_this, outerArgs);
                }
                if (_this._columnPinned) {
                    _this._columnPinned(_this, outerArgs);
                }
            };
            this.i.columnPinned = delegateCombine(this.i.columnPinned, this._columnPinned_wrapped);
            if (this.i.columnPinnedChanged) {
                this.i.columnPinnedChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "cellEditEnter", {
        get: function () {
            return this._cellEditEnter;
        },
        set: function (ev) {
            var _this = this;
            if (this._cellEditEnter_wrapped !== null) {
                this.i.cellEditEnter = delegateRemove(this.i.cellEditEnter, this._cellEditEnter_wrapped);
                this._cellEditEnter_wrapped = null;
                this._cellEditEnter = null;
            }
            this._cellEditEnter = ev;
            this._cellEditEnter_wrapped = function (o, e) {
                var outerArgs = new IgrGridEditEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeCellEditEnter) {
                    _this.beforeCellEditEnter(_this, outerArgs);
                }
                if (_this._cellEditEnter) {
                    _this._cellEditEnter(_this, outerArgs);
                }
            };
            this.i.cellEditEnter = delegateCombine(this.i.cellEditEnter, this._cellEditEnter_wrapped);
            if (this.i.cellEditEnterChanged) {
                this.i.cellEditEnterChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "cellEditExit", {
        get: function () {
            return this._cellEditExit;
        },
        set: function (ev) {
            var _this = this;
            if (this._cellEditExit_wrapped !== null) {
                this.i.cellEditExit = delegateRemove(this.i.cellEditExit, this._cellEditExit_wrapped);
                this._cellEditExit_wrapped = null;
                this._cellEditExit = null;
            }
            this._cellEditExit = ev;
            this._cellEditExit_wrapped = function (o, e) {
                var outerArgs = new IgrGridEditDoneEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeCellEditExit) {
                    _this.beforeCellEditExit(_this, outerArgs);
                }
                if (_this._cellEditExit) {
                    _this._cellEditExit(_this, outerArgs);
                }
            };
            this.i.cellEditExit = delegateCombine(this.i.cellEditExit, this._cellEditExit_wrapped);
            if (this.i.cellEditExitChanged) {
                this.i.cellEditExitChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "cellEdit", {
        get: function () {
            return this._cellEdit;
        },
        set: function (ev) {
            var _this = this;
            if (this._cellEdit_wrapped !== null) {
                this.i.cellEdit = delegateRemove(this.i.cellEdit, this._cellEdit_wrapped);
                this._cellEdit_wrapped = null;
                this._cellEdit = null;
            }
            this._cellEdit = ev;
            this._cellEdit_wrapped = function (o, e) {
                var outerArgs = new IgrGridEditEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeCellEdit) {
                    _this.beforeCellEdit(_this, outerArgs);
                }
                if (_this._cellEdit) {
                    _this._cellEdit(_this, outerArgs);
                }
            };
            this.i.cellEdit = delegateCombine(this.i.cellEdit, this._cellEdit_wrapped);
            if (this.i.cellEditChanged) {
                this.i.cellEditChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "cellEditDone", {
        get: function () {
            return this._cellEditDone;
        },
        set: function (ev) {
            var _this = this;
            if (this._cellEditDone_wrapped !== null) {
                this.i.cellEditDone = delegateRemove(this.i.cellEditDone, this._cellEditDone_wrapped);
                this._cellEditDone_wrapped = null;
                this._cellEditDone = null;
            }
            this._cellEditDone = ev;
            this._cellEditDone_wrapped = function (o, e) {
                var outerArgs = new IgrGridEditDoneEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeCellEditDone) {
                    _this.beforeCellEditDone(_this, outerArgs);
                }
                if (_this._cellEditDone) {
                    _this._cellEditDone(_this, outerArgs);
                }
            };
            this.i.cellEditDone = delegateCombine(this.i.cellEditDone, this._cellEditDone_wrapped);
            if (this.i.cellEditDoneChanged) {
                this.i.cellEditDoneChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "rowEditEnter", {
        get: function () {
            return this._rowEditEnter;
        },
        set: function (ev) {
            var _this = this;
            if (this._rowEditEnter_wrapped !== null) {
                this.i.rowEditEnter = delegateRemove(this.i.rowEditEnter, this._rowEditEnter_wrapped);
                this._rowEditEnter_wrapped = null;
                this._rowEditEnter = null;
            }
            this._rowEditEnter = ev;
            this._rowEditEnter_wrapped = function (o, e) {
                var outerArgs = new IgrGridEditEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeRowEditEnter) {
                    _this.beforeRowEditEnter(_this, outerArgs);
                }
                if (_this._rowEditEnter) {
                    _this._rowEditEnter(_this, outerArgs);
                }
            };
            this.i.rowEditEnter = delegateCombine(this.i.rowEditEnter, this._rowEditEnter_wrapped);
            if (this.i.rowEditEnterChanged) {
                this.i.rowEditEnterChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "rowEdit", {
        get: function () {
            return this._rowEdit;
        },
        set: function (ev) {
            var _this = this;
            if (this._rowEdit_wrapped !== null) {
                this.i.rowEdit = delegateRemove(this.i.rowEdit, this._rowEdit_wrapped);
                this._rowEdit_wrapped = null;
                this._rowEdit = null;
            }
            this._rowEdit = ev;
            this._rowEdit_wrapped = function (o, e) {
                var outerArgs = new IgrGridEditEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeRowEdit) {
                    _this.beforeRowEdit(_this, outerArgs);
                }
                if (_this._rowEdit) {
                    _this._rowEdit(_this, outerArgs);
                }
            };
            this.i.rowEdit = delegateCombine(this.i.rowEdit, this._rowEdit_wrapped);
            if (this.i.rowEditChanged) {
                this.i.rowEditChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "rowEditDone", {
        get: function () {
            return this._rowEditDone;
        },
        set: function (ev) {
            var _this = this;
            if (this._rowEditDone_wrapped !== null) {
                this.i.rowEditDone = delegateRemove(this.i.rowEditDone, this._rowEditDone_wrapped);
                this._rowEditDone_wrapped = null;
                this._rowEditDone = null;
            }
            this._rowEditDone = ev;
            this._rowEditDone_wrapped = function (o, e) {
                var outerArgs = new IgrGridEditDoneEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeRowEditDone) {
                    _this.beforeRowEditDone(_this, outerArgs);
                }
                if (_this._rowEditDone) {
                    _this._rowEditDone(_this, outerArgs);
                }
            };
            this.i.rowEditDone = delegateCombine(this.i.rowEditDone, this._rowEditDone_wrapped);
            if (this.i.rowEditDoneChanged) {
                this.i.rowEditDoneChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "rowEditExit", {
        get: function () {
            return this._rowEditExit;
        },
        set: function (ev) {
            var _this = this;
            if (this._rowEditExit_wrapped !== null) {
                this.i.rowEditExit = delegateRemove(this.i.rowEditExit, this._rowEditExit_wrapped);
                this._rowEditExit_wrapped = null;
                this._rowEditExit = null;
            }
            this._rowEditExit = ev;
            this._rowEditExit_wrapped = function (o, e) {
                var outerArgs = new IgrGridEditDoneEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeRowEditExit) {
                    _this.beforeRowEditExit(_this, outerArgs);
                }
                if (_this._rowEditExit) {
                    _this._rowEditExit(_this, outerArgs);
                }
            };
            this.i.rowEditExit = delegateCombine(this.i.rowEditExit, this._rowEditExit_wrapped);
            if (this.i.rowEditExitChanged) {
                this.i.rowEditExitChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "columnInit", {
        get: function () {
            return this._columnInit;
        },
        set: function (ev) {
            var _this = this;
            if (this._columnInit_wrapped !== null) {
                this.i.columnInit = delegateRemove(this.i.columnInit, this._columnInit_wrapped);
                this._columnInit_wrapped = null;
                this._columnInit = null;
            }
            this._columnInit = ev;
            this._columnInit_wrapped = function (o, e) {
                var outerArgs = new IgrColumnComponentEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeColumnInit) {
                    _this.beforeColumnInit(_this, outerArgs);
                }
                if (_this._columnInit) {
                    _this._columnInit(_this, outerArgs);
                }
            };
            this.i.columnInit = delegateCombine(this.i.columnInit, this._columnInit_wrapped);
            if (this.i.columnInitChanged) {
                this.i.columnInitChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "columnsAutogenerated", {
        /**
         * @hidden @internal
        */
        get: function () {
            return this._columnsAutogenerated;
        },
        set: function (ev) {
            var _this = this;
            if (this._columnsAutogenerated_wrapped !== null) {
                this.i.columnsAutogenerated = delegateRemove(this.i.columnsAutogenerated, this._columnsAutogenerated_wrapped);
                this._columnsAutogenerated_wrapped = null;
                this._columnsAutogenerated = null;
            }
            this._columnsAutogenerated = ev;
            this._columnsAutogenerated_wrapped = function (o, e) {
                var outerArgs = new IgrColumnsAutoGeneratedEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeColumnsAutogenerated) {
                    _this.beforeColumnsAutogenerated(_this, outerArgs);
                }
                if (_this._columnsAutogenerated) {
                    _this._columnsAutogenerated(_this, outerArgs);
                }
            };
            this.i.columnsAutogenerated = delegateCombine(this.i.columnsAutogenerated, this._columnsAutogenerated_wrapped);
            if (this.i.columnsAutogeneratedChanged) {
                this.i.columnsAutogeneratedChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "sorting", {
        get: function () {
            return this._sorting;
        },
        set: function (ev) {
            var _this = this;
            if (this._sorting_wrapped !== null) {
                this.i.sorting = delegateRemove(this.i.sorting, this._sorting_wrapped);
                this._sorting_wrapped = null;
                this._sorting = null;
            }
            this._sorting = ev;
            this._sorting_wrapped = function (o, e) {
                var outerArgs = new IgrSortingEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeSorting) {
                    _this.beforeSorting(_this, outerArgs);
                }
                if (_this._sorting) {
                    _this._sorting(_this, outerArgs);
                }
            };
            this.i.sorting = delegateCombine(this.i.sorting, this._sorting_wrapped);
            if (this.i.sortingChanged) {
                this.i.sortingChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "sortingDone", {
        get: function () {
            return this._sortingDone;
        },
        set: function (ev) {
            var _this = this;
            if (this._sortingDone_wrapped !== null) {
                this.i.sortingDone = delegateRemove(this.i.sortingDone, this._sortingDone_wrapped);
                this._sortingDone_wrapped = null;
                this._sortingDone = null;
            }
            this._sortingDone = ev;
            this._sortingDone_wrapped = function (o, e) {
                var outerArgs = new IgrSortingExpressionEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeSortingDone) {
                    _this.beforeSortingDone(_this, outerArgs);
                }
                if (_this._sortingDone) {
                    _this._sortingDone(_this, outerArgs);
                }
            };
            this.i.sortingDone = delegateCombine(this.i.sortingDone, this._sortingDone_wrapped);
            if (this.i.sortingDoneChanged) {
                this.i.sortingDoneChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "filtering", {
        get: function () {
            return this._filtering;
        },
        set: function (ev) {
            var _this = this;
            if (this._filtering_wrapped !== null) {
                this.i.filtering = delegateRemove(this.i.filtering, this._filtering_wrapped);
                this._filtering_wrapped = null;
                this._filtering = null;
            }
            this._filtering = ev;
            this._filtering_wrapped = function (o, e) {
                var outerArgs = new IgrFilteringEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeFiltering) {
                    _this.beforeFiltering(_this, outerArgs);
                }
                if (_this._filtering) {
                    _this._filtering(_this, outerArgs);
                }
            };
            this.i.filtering = delegateCombine(this.i.filtering, this._filtering_wrapped);
            if (this.i.filteringChanged) {
                this.i.filteringChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "filteringDone", {
        get: function () {
            return this._filteringDone;
        },
        set: function (ev) {
            var _this = this;
            if (this._filteringDone_wrapped !== null) {
                this.i.filteringDone = delegateRemove(this.i.filteringDone, this._filteringDone_wrapped);
                this._filteringDone_wrapped = null;
                this._filteringDone = null;
            }
            this._filteringDone = ev;
            this._filteringDone_wrapped = function (o, e) {
                var outerArgs = new IgrFilteringExpressionsTreeEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeFilteringDone) {
                    _this.beforeFilteringDone(_this, outerArgs);
                }
                if (_this._filteringDone) {
                    _this._filteringDone(_this, outerArgs);
                }
            };
            this.i.filteringDone = delegateCombine(this.i.filteringDone, this._filteringDone_wrapped);
            if (this.i.filteringDoneChanged) {
                this.i.filteringDoneChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "rowAdded", {
        get: function () {
            return this._rowAdded;
        },
        set: function (ev) {
            var _this = this;
            if (this._rowAdded_wrapped !== null) {
                this.i.rowAdded = delegateRemove(this.i.rowAdded, this._rowAdded_wrapped);
                this._rowAdded_wrapped = null;
                this._rowAdded = null;
            }
            this._rowAdded = ev;
            this._rowAdded_wrapped = function (o, e) {
                var outerArgs = new IgrRowDataEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeRowAdded) {
                    _this.beforeRowAdded(_this, outerArgs);
                }
                if (_this._rowAdded) {
                    _this._rowAdded(_this, outerArgs);
                }
            };
            this.i.rowAdded = delegateCombine(this.i.rowAdded, this._rowAdded_wrapped);
            if (this.i.rowAddedChanged) {
                this.i.rowAddedChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "rowDeleted", {
        get: function () {
            return this._rowDeleted;
        },
        set: function (ev) {
            var _this = this;
            if (this._rowDeleted_wrapped !== null) {
                this.i.rowDeleted = delegateRemove(this.i.rowDeleted, this._rowDeleted_wrapped);
                this._rowDeleted_wrapped = null;
                this._rowDeleted = null;
            }
            this._rowDeleted = ev;
            this._rowDeleted_wrapped = function (o, e) {
                var outerArgs = new IgrRowDataEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeRowDeleted) {
                    _this.beforeRowDeleted(_this, outerArgs);
                }
                if (_this._rowDeleted) {
                    _this._rowDeleted(_this, outerArgs);
                }
            };
            this.i.rowDeleted = delegateCombine(this.i.rowDeleted, this._rowDeleted_wrapped);
            if (this.i.rowDeletedChanged) {
                this.i.rowDeletedChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "rowDelete", {
        get: function () {
            return this._rowDelete;
        },
        set: function (ev) {
            var _this = this;
            if (this._rowDelete_wrapped !== null) {
                this.i.rowDelete = delegateRemove(this.i.rowDelete, this._rowDelete_wrapped);
                this._rowDelete_wrapped = null;
                this._rowDelete = null;
            }
            this._rowDelete = ev;
            this._rowDelete_wrapped = function (o, e) {
                var outerArgs = new IgrRowDataCancelableEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeRowDelete) {
                    _this.beforeRowDelete(_this, outerArgs);
                }
                if (_this._rowDelete) {
                    _this._rowDelete(_this, outerArgs);
                }
            };
            this.i.rowDelete = delegateCombine(this.i.rowDelete, this._rowDelete_wrapped);
            if (this.i.rowDeleteChanged) {
                this.i.rowDeleteChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "rowAdd", {
        get: function () {
            return this._rowAdd;
        },
        set: function (ev) {
            var _this = this;
            if (this._rowAdd_wrapped !== null) {
                this.i.rowAdd = delegateRemove(this.i.rowAdd, this._rowAdd_wrapped);
                this._rowAdd_wrapped = null;
                this._rowAdd = null;
            }
            this._rowAdd = ev;
            this._rowAdd_wrapped = function (o, e) {
                var outerArgs = new IgrRowDataCancelableEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeRowAdd) {
                    _this.beforeRowAdd(_this, outerArgs);
                }
                if (_this._rowAdd) {
                    _this._rowAdd(_this, outerArgs);
                }
            };
            this.i.rowAdd = delegateCombine(this.i.rowAdd, this._rowAdd_wrapped);
            if (this.i.rowAddChanged) {
                this.i.rowAddChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "columnResized", {
        get: function () {
            return this._columnResized;
        },
        set: function (ev) {
            var _this = this;
            if (this._columnResized_wrapped !== null) {
                this.i.columnResized = delegateRemove(this.i.columnResized, this._columnResized_wrapped);
                this._columnResized_wrapped = null;
                this._columnResized = null;
            }
            this._columnResized = ev;
            this._columnResized_wrapped = function (o, e) {
                var outerArgs = new IgrColumnResizeEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeColumnResized) {
                    _this.beforeColumnResized(_this, outerArgs);
                }
                if (_this._columnResized) {
                    _this._columnResized(_this, outerArgs);
                }
            };
            this.i.columnResized = delegateCombine(this.i.columnResized, this._columnResized_wrapped);
            if (this.i.columnResizedChanged) {
                this.i.columnResizedChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "contextMenu", {
        get: function () {
            return this._contextMenu;
        },
        set: function (ev) {
            var _this = this;
            if (this._contextMenu_wrapped !== null) {
                this.i.contextMenu = delegateRemove(this.i.contextMenu, this._contextMenu_wrapped);
                this._contextMenu_wrapped = null;
                this._contextMenu = null;
            }
            this._contextMenu = ev;
            this._contextMenu_wrapped = function (o, e) {
                var outerArgs = new IgrGridContextMenuEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeContextMenu) {
                    _this.beforeContextMenu(_this, outerArgs);
                }
                if (_this._contextMenu) {
                    _this._contextMenu(_this, outerArgs);
                }
            };
            this.i.contextMenu = delegateCombine(this.i.contextMenu, this._contextMenu_wrapped);
            if (this.i.contextMenuChanged) {
                this.i.contextMenuChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "doubleClick", {
        get: function () {
            return this._doubleClick;
        },
        set: function (ev) {
            var _this = this;
            if (this._doubleClick_wrapped !== null) {
                this.i.doubleClick = delegateRemove(this.i.doubleClick, this._doubleClick_wrapped);
                this._doubleClick_wrapped = null;
                this._doubleClick = null;
            }
            this._doubleClick = ev;
            this._doubleClick_wrapped = function (o, e) {
                var outerArgs = new IgrGridCellEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeDoubleClick) {
                    _this.beforeDoubleClick(_this, outerArgs);
                }
                if (_this._doubleClick) {
                    _this._doubleClick(_this, outerArgs);
                }
            };
            this.i.doubleClick = delegateCombine(this.i.doubleClick, this._doubleClick_wrapped);
            if (this.i.doubleClickChanged) {
                this.i.doubleClickChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "columnVisibilityChanging", {
        get: function () {
            return this._columnVisibilityChanging;
        },
        set: function (ev) {
            var _this = this;
            if (this._columnVisibilityChanging_wrapped !== null) {
                this.i.columnVisibilityChanging = delegateRemove(this.i.columnVisibilityChanging, this._columnVisibilityChanging_wrapped);
                this._columnVisibilityChanging_wrapped = null;
                this._columnVisibilityChanging = null;
            }
            this._columnVisibilityChanging = ev;
            this._columnVisibilityChanging_wrapped = function (o, e) {
                var outerArgs = new IgrColumnVisibilityChangingEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeColumnVisibilityChanging) {
                    _this.beforeColumnVisibilityChanging(_this, outerArgs);
                }
                if (_this._columnVisibilityChanging) {
                    _this._columnVisibilityChanging(_this, outerArgs);
                }
            };
            this.i.columnVisibilityChanging = delegateCombine(this.i.columnVisibilityChanging, this._columnVisibilityChanging_wrapped);
            if (this.i.columnVisibilityChangingChanged) {
                this.i.columnVisibilityChangingChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "columnVisibilityChanged", {
        get: function () {
            return this._columnVisibilityChanged;
        },
        set: function (ev) {
            var _this = this;
            if (this._columnVisibilityChanged_wrapped !== null) {
                this.i.columnVisibilityChanged = delegateRemove(this.i.columnVisibilityChanged, this._columnVisibilityChanged_wrapped);
                this._columnVisibilityChanged_wrapped = null;
                this._columnVisibilityChanged = null;
            }
            this._columnVisibilityChanged = ev;
            this._columnVisibilityChanged_wrapped = function (o, e) {
                var outerArgs = new IgrColumnVisibilityChangedEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeColumnVisibilityChanged) {
                    _this.beforeColumnVisibilityChanged(_this, outerArgs);
                }
                if (_this._columnVisibilityChanged) {
                    _this._columnVisibilityChanged(_this, outerArgs);
                }
            };
            this.i.columnVisibilityChanged = delegateCombine(this.i.columnVisibilityChanged, this._columnVisibilityChanged_wrapped);
            if (this.i.columnVisibilityChangedChanged) {
                this.i.columnVisibilityChangedChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "columnMovingStart", {
        get: function () {
            return this._columnMovingStart;
        },
        set: function (ev) {
            var _this = this;
            if (this._columnMovingStart_wrapped !== null) {
                this.i.columnMovingStart = delegateRemove(this.i.columnMovingStart, this._columnMovingStart_wrapped);
                this._columnMovingStart_wrapped = null;
                this._columnMovingStart = null;
            }
            this._columnMovingStart = ev;
            this._columnMovingStart_wrapped = function (o, e) {
                var outerArgs = new IgrColumnMovingStartEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeColumnMovingStart) {
                    _this.beforeColumnMovingStart(_this, outerArgs);
                }
                if (_this._columnMovingStart) {
                    _this._columnMovingStart(_this, outerArgs);
                }
            };
            this.i.columnMovingStart = delegateCombine(this.i.columnMovingStart, this._columnMovingStart_wrapped);
            if (this.i.columnMovingStartChanged) {
                this.i.columnMovingStartChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "columnMoving", {
        get: function () {
            return this._columnMoving;
        },
        set: function (ev) {
            var _this = this;
            if (this._columnMoving_wrapped !== null) {
                this.i.columnMoving = delegateRemove(this.i.columnMoving, this._columnMoving_wrapped);
                this._columnMoving_wrapped = null;
                this._columnMoving = null;
            }
            this._columnMoving = ev;
            this._columnMoving_wrapped = function (o, e) {
                var outerArgs = new IgrColumnMovingEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeColumnMoving) {
                    _this.beforeColumnMoving(_this, outerArgs);
                }
                if (_this._columnMoving) {
                    _this._columnMoving(_this, outerArgs);
                }
            };
            this.i.columnMoving = delegateCombine(this.i.columnMoving, this._columnMoving_wrapped);
            if (this.i.columnMovingChanged) {
                this.i.columnMovingChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "columnMovingEnd", {
        get: function () {
            return this._columnMovingEnd;
        },
        set: function (ev) {
            var _this = this;
            if (this._columnMovingEnd_wrapped !== null) {
                this.i.columnMovingEnd = delegateRemove(this.i.columnMovingEnd, this._columnMovingEnd_wrapped);
                this._columnMovingEnd_wrapped = null;
                this._columnMovingEnd = null;
            }
            this._columnMovingEnd = ev;
            this._columnMovingEnd_wrapped = function (o, e) {
                var outerArgs = new IgrColumnMovingEndEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeColumnMovingEnd) {
                    _this.beforeColumnMovingEnd(_this, outerArgs);
                }
                if (_this._columnMovingEnd) {
                    _this._columnMovingEnd(_this, outerArgs);
                }
            };
            this.i.columnMovingEnd = delegateCombine(this.i.columnMovingEnd, this._columnMovingEnd_wrapped);
            if (this.i.columnMovingEndChanged) {
                this.i.columnMovingEndChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "gridKeydown", {
        get: function () {
            return this._gridKeydown;
        },
        set: function (ev) {
            var _this = this;
            if (this._gridKeydown_wrapped !== null) {
                this.i.gridKeydown = delegateRemove(this.i.gridKeydown, this._gridKeydown_wrapped);
                this._gridKeydown_wrapped = null;
                this._gridKeydown = null;
            }
            this._gridKeydown = ev;
            this._gridKeydown_wrapped = function (o, e) {
                var outerArgs = new IgrGridKeydownEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeGridKeydown) {
                    _this.beforeGridKeydown(_this, outerArgs);
                }
                if (_this._gridKeydown) {
                    _this._gridKeydown(_this, outerArgs);
                }
            };
            this.i.gridKeydown = delegateCombine(this.i.gridKeydown, this._gridKeydown_wrapped);
            if (this.i.gridKeydownChanged) {
                this.i.gridKeydownChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "rowDragStart", {
        /**
         * Emitted when start dragging a row.
         * @remarks
         * Return the dragged row.
        */
        get: function () {
            return this._rowDragStart;
        },
        set: function (ev) {
            var _this = this;
            if (this._rowDragStart_wrapped !== null) {
                this.i.rowDragStart = delegateRemove(this.i.rowDragStart, this._rowDragStart_wrapped);
                this._rowDragStart_wrapped = null;
                this._rowDragStart = null;
            }
            this._rowDragStart = ev;
            this._rowDragStart_wrapped = function (o, e) {
                var outerArgs = new IgrRowDragStartEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeRowDragStart) {
                    _this.beforeRowDragStart(_this, outerArgs);
                }
                if (_this._rowDragStart) {
                    _this._rowDragStart(_this, outerArgs);
                }
            };
            this.i.rowDragStart = delegateCombine(this.i.rowDragStart, this._rowDragStart_wrapped);
            if (this.i.rowDragStartChanged) {
                this.i.rowDragStartChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "rowDragEnd", {
        /**
         * Emitted when dropping a row.
         * @remarks
         * Return the dropped row.
        */
        get: function () {
            return this._rowDragEnd;
        },
        set: function (ev) {
            var _this = this;
            if (this._rowDragEnd_wrapped !== null) {
                this.i.rowDragEnd = delegateRemove(this.i.rowDragEnd, this._rowDragEnd_wrapped);
                this._rowDragEnd_wrapped = null;
                this._rowDragEnd = null;
            }
            this._rowDragEnd = ev;
            this._rowDragEnd_wrapped = function (o, e) {
                var outerArgs = new IgrRowDragEndEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeRowDragEnd) {
                    _this.beforeRowDragEnd(_this, outerArgs);
                }
                if (_this._rowDragEnd) {
                    _this._rowDragEnd(_this, outerArgs);
                }
            };
            this.i.rowDragEnd = delegateCombine(this.i.rowDragEnd, this._rowDragEnd_wrapped);
            if (this.i.rowDragEndChanged) {
                this.i.rowDragEndChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "gridCopy", {
        /**
         * Emitted when a copy operation is executed.
         * @remarks
         * Fired only if copy behavior is enabled through the [`clipboardOptions`]{@link IgxGridBaseDirective#clipboardOptions}.
        */
        get: function () {
            return this._gridCopy;
        },
        set: function (ev) {
            var _this = this;
            if (this._gridCopy_wrapped !== null) {
                this.i.gridCopy = delegateRemove(this.i.gridCopy, this._gridCopy_wrapped);
                this._gridCopy_wrapped = null;
                this._gridCopy = null;
            }
            this._gridCopy = ev;
            this._gridCopy_wrapped = function (o, e) {
                var outerArgs = new IgrGridClipboardEventEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeGridCopy) {
                    _this.beforeGridCopy(_this, outerArgs);
                }
                if (_this._gridCopy) {
                    _this._gridCopy(_this, outerArgs);
                }
            };
            this.i.gridCopy = delegateCombine(this.i.gridCopy, this._gridCopy_wrapped);
            if (this.i.gridCopyChanged) {
                this.i.gridCopyChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "selectedRowsChange", {
        /**
         * @hidden @internal
        */
        get: function () {
            return this._selectedRowsChange;
        },
        set: function (ev) {
            var _this = this;
            if (this._selectedRowsChange_wrapped !== null) {
                this.i.selectedRowsChange = delegateRemove(this.i.selectedRowsChange, this._selectedRowsChange_wrapped);
                this._selectedRowsChange_wrapped = null;
                this._selectedRowsChange = null;
            }
            this._selectedRowsChange = ev;
            this._selectedRowsChange_wrapped = function (o, e) {
                var outerArgs = new IgrComponentArrayDataValueChangedEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeSelectedRowsChange) {
                    _this.beforeSelectedRowsChange(_this, outerArgs);
                }
                if (_this._selectedRowsChange) {
                    _this._selectedRowsChange(_this, outerArgs);
                }
            };
            this.i.selectedRowsChange = delegateCombine(this.i.selectedRowsChange, this._selectedRowsChange_wrapped);
            if (this.i.selectedRowsChangeChanged) {
                this.i.selectedRowsChangeChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "rowToggle", {
        get: function () {
            return this._rowToggle;
        },
        set: function (ev) {
            var _this = this;
            if (this._rowToggle_wrapped !== null) {
                this.i.rowToggle = delegateRemove(this.i.rowToggle, this._rowToggle_wrapped);
                this._rowToggle_wrapped = null;
                this._rowToggle = null;
            }
            this._rowToggle = ev;
            this._rowToggle_wrapped = function (o, e) {
                var outerArgs = new IgrRowToggleEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeRowToggle) {
                    _this.beforeRowToggle(_this, outerArgs);
                }
                if (_this._rowToggle) {
                    _this._rowToggle(_this, outerArgs);
                }
            };
            this.i.rowToggle = delegateCombine(this.i.rowToggle, this._rowToggle_wrapped);
            if (this.i.rowToggleChanged) {
                this.i.rowToggleChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "rowPinning", {
        get: function () {
            return this._rowPinning;
        },
        set: function (ev) {
            var _this = this;
            if (this._rowPinning_wrapped !== null) {
                this.i.rowPinning = delegateRemove(this.i.rowPinning, this._rowPinning_wrapped);
                this._rowPinning_wrapped = null;
                this._rowPinning = null;
            }
            this._rowPinning = ev;
            this._rowPinning_wrapped = function (o, e) {
                var outerArgs = new IgrPinRowEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeRowPinning) {
                    _this.beforeRowPinning(_this, outerArgs);
                }
                if (_this._rowPinning) {
                    _this._rowPinning(_this, outerArgs);
                }
            };
            this.i.rowPinning = delegateCombine(this.i.rowPinning, this._rowPinning_wrapped);
            if (this.i.rowPinningChanged) {
                this.i.rowPinningChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "rowPinned", {
        get: function () {
            return this._rowPinned;
        },
        set: function (ev) {
            var _this = this;
            if (this._rowPinned_wrapped !== null) {
                this.i.rowPinned = delegateRemove(this.i.rowPinned, this._rowPinned_wrapped);
                this._rowPinned_wrapped = null;
                this._rowPinned = null;
            }
            this._rowPinned = ev;
            this._rowPinned_wrapped = function (o, e) {
                var outerArgs = new IgrPinRowEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeRowPinned) {
                    _this.beforeRowPinned(_this, outerArgs);
                }
                if (_this._rowPinned) {
                    _this._rowPinned(_this, outerArgs);
                }
            };
            this.i.rowPinned = delegateCombine(this.i.rowPinned, this._rowPinned_wrapped);
            if (this.i.rowPinnedChanged) {
                this.i.rowPinnedChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "activeNodeChange", {
        get: function () {
            return this._activeNodeChange;
        },
        set: function (ev) {
            var _this = this;
            if (this._activeNodeChange_wrapped !== null) {
                this.i.activeNodeChange = delegateRemove(this.i.activeNodeChange, this._activeNodeChange_wrapped);
                this._activeNodeChange_wrapped = null;
                this._activeNodeChange = null;
            }
            this._activeNodeChange = ev;
            this._activeNodeChange_wrapped = function (o, e) {
                var outerArgs = new IgrActiveNodeChangeEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeActiveNodeChange) {
                    _this.beforeActiveNodeChange(_this, outerArgs);
                }
                if (_this._activeNodeChange) {
                    _this._activeNodeChange(_this, outerArgs);
                }
            };
            this.i.activeNodeChange = delegateCombine(this.i.activeNodeChange, this._activeNodeChange_wrapped);
            if (this.i.activeNodeChangeChanged) {
                this.i.activeNodeChangeChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "sortingExpressionsChange", {
        get: function () {
            return this._sortingExpressionsChange;
        },
        set: function (ev) {
            var _this = this;
            if (this._sortingExpressionsChange_wrapped !== null) {
                this.i.sortingExpressionsChange = delegateRemove(this.i.sortingExpressionsChange, this._sortingExpressionsChange_wrapped);
                this._sortingExpressionsChange_wrapped = null;
                this._sortingExpressionsChange = null;
            }
            this._sortingExpressionsChange = ev;
            this._sortingExpressionsChange_wrapped = function (o, e) {
                var outerArgs = new IgrSortingExpressionEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeSortingExpressionsChange) {
                    _this.beforeSortingExpressionsChange(_this, outerArgs);
                }
                if (_this._sortingExpressionsChange) {
                    _this._sortingExpressionsChange(_this, outerArgs);
                }
            };
            this.i.sortingExpressionsChange = delegateCombine(this.i.sortingExpressionsChange, this._sortingExpressionsChange_wrapped);
            if (this.i.sortingExpressionsChangeChanged) {
                this.i.sortingExpressionsChangeChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "toolbarExporting", {
        /**
         * Emitted when an export process is initiated by the user.
         * @example
         * ```typescript
         * toolbarExporting(event: IGridToolbarExportEventArgs){
         * const toolbarExporting = event;
         * }
         * ```
        */
        get: function () {
            return this._toolbarExporting;
        },
        set: function (ev) {
            var _this = this;
            if (this._toolbarExporting_wrapped !== null) {
                this.i.toolbarExporting = delegateRemove(this.i.toolbarExporting, this._toolbarExporting_wrapped);
                this._toolbarExporting_wrapped = null;
                this._toolbarExporting = null;
            }
            this._toolbarExporting = ev;
            this._toolbarExporting_wrapped = function (o, e) {
                var outerArgs = new IgrGridToolbarExportEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeToolbarExporting) {
                    _this.beforeToolbarExporting(_this, outerArgs);
                }
                if (_this._toolbarExporting) {
                    _this._toolbarExporting(_this, outerArgs);
                }
            };
            this.i.toolbarExporting = delegateCombine(this.i.toolbarExporting, this._toolbarExporting_wrapped);
            if (this.i.toolbarExportingChanged) {
                this.i.toolbarExportingChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "rangeSelected", {
        /**
         * Emitted when making a range selection.
         * @remarks
         * Range selection can be made either through drag selection or through keyboard selection.
        */
        get: function () {
            return this._rangeSelected;
        },
        set: function (ev) {
            var _this = this;
            if (this._rangeSelected_wrapped !== null) {
                this.i.rangeSelected = delegateRemove(this.i.rangeSelected, this._rangeSelected_wrapped);
                this._rangeSelected_wrapped = null;
                this._rangeSelected = null;
            }
            this._rangeSelected = ev;
            this._rangeSelected_wrapped = function (o, e) {
                var outerArgs = new IgrGridSelectionRangeEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeRangeSelected) {
                    _this.beforeRangeSelected(_this, outerArgs);
                }
                if (_this._rangeSelected) {
                    _this._rangeSelected(_this, outerArgs);
                }
            };
            this.i.rangeSelected = delegateCombine(this.i.rangeSelected, this._rangeSelected_wrapped);
            if (this.i.rangeSelectedChanged) {
                this.i.rangeSelectedChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "rendered", {
        /**
         * Emitted after the ngAfterViewInit hook. At this point the grid exists in the DOM
        */
        get: function () {
            return this._rendered;
        },
        set: function (ev) {
            var _this = this;
            if (this._rendered_wrapped !== null) {
                this.i.rendered = delegateRemove(this.i.rendered, this._rendered_wrapped);
                this._rendered_wrapped = null;
                this._rendered = null;
            }
            this._rendered = ev;
            this._rendered_wrapped = function (o, e) {
                var outerArgs = new IgrVoidEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeRendered) {
                    _this.beforeRendered(_this, outerArgs);
                }
                if (_this._rendered) {
                    _this._rendered(_this, outerArgs);
                }
            };
            this.i.rendered = delegateCombine(this.i.rendered, this._rendered_wrapped);
            if (this.i.renderedChanged) {
                this.i.renderedChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "dataChanging", {
        get: function () {
            return this._dataChanging;
        },
        set: function (ev) {
            var _this = this;
            if (this._dataChanging_wrapped !== null) {
                this.i.dataChanging = delegateRemove(this.i.dataChanging, this._dataChanging_wrapped);
                this._dataChanging_wrapped = null;
                this._dataChanging = null;
            }
            this._dataChanging = ev;
            this._dataChanging_wrapped = function (o, e) {
                var outerArgs = new IgrForOfDataChangingEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeDataChanging) {
                    _this.beforeDataChanging(_this, outerArgs);
                }
                if (_this._dataChanging) {
                    _this._dataChanging(_this, outerArgs);
                }
            };
            this.i.dataChanging = delegateCombine(this.i.dataChanging, this._dataChanging_wrapped);
            if (this.i.dataChangingChanged) {
                this.i.dataChangingChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrRowIsland.prototype, "dataChanged", {
        get: function () {
            return this._dataChanged;
        },
        set: function (ev) {
            var _this = this;
            if (this._dataChanged_wrapped !== null) {
                this.i.dataChanged = delegateRemove(this.i.dataChanged, this._dataChanged_wrapped);
                this._dataChanged_wrapped = null;
                this._dataChanged = null;
            }
            this._dataChanged = ev;
            this._dataChanged_wrapped = function (o, e) {
                var outerArgs = new IgrVoidEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeDataChanged) {
                    _this.beforeDataChanged(_this, outerArgs);
                }
                if (_this._dataChanged) {
                    _this._dataChanged(_this, outerArgs);
                }
            };
            this.i.dataChanged = delegateCombine(this.i.dataChanged, this._dataChanged_wrapped);
            if (this.i.dataChangedChanged) {
                this.i.dataChangedChanged();
            }
            ;
        },
        enumerable: false,
        configurable: true
    });
    return IgrRowIsland;
}(React.Component));
export { IgrRowIsland };