HEX
Server: Apache
System: Linux vps.teamads.com 4.18.0-553.126.1.el8_10.x86_64 #1 SMP Thu May 28 06:44:09 EDT 2026 x86_64
User: teamadsc (1024)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: /home/teamadsc/public_html/wp-content/plugins/arprice/js/jsgrid.core.js
(function(window,$,undefined){var JSGRID="JSGrid",JSGRID_DATA_KEY=JSGRID,JSGRID_ROW_DATA_KEY="JSGridItem",JSGRID_EDIT_ROW_DATA_KEY="JSGridEditRow",SORT_ORDER_ASC="asc",SORT_ORDER_DESC="desc",FIRST_PAGE_PLACEHOLDER="{first}",PAGES_PLACEHOLDER="{pages}",PREV_PAGE_PLACEHOLDER="{prev}",NEXT_PAGE_PLACEHOLDER="{next}",LAST_PAGE_PLACEHOLDER="{last}",PAGE_INDEX_PLACEHOLDER="{pageIndex}",PAGE_COUNT_PLACEHOLDER="{pageCount}",ITEM_COUNT_PLACEHOLDER="{itemCount}",EMPTY_HREF="javascript:void(0);";var getOrApply=function(value,context){if($.isFunction(value)){return value.apply(context,$.makeArray(arguments).slice(2))}return value};var defaultController={loadData:$.noop,insertItem:$.noop,updateItem:$.noop,deleteItem:$.noop};function Grid(element,config){var $element=$(element);$element.data(JSGRID_DATA_KEY,this);this._container=$element;this.data=[];this.fields=[];this._editingRow=null;this._sortField=null;this._sortOrder=SORT_ORDER_ASC;this._firstDisplayingPage=1;this._init(config);this.render()}Grid.prototype={width:"auto",height:"auto",updateOnResize:!0,rowClass:$.noop,rowRenderer:null,rowClick:function(args){if(this.editing){this.editItem($(args.event.target).closest("tr"))}},rowDoubleClick:$.noop,noDataContent:"Not found",noDataRowClass:"jsgrid-nodata-row",heading:!0,headerRowRenderer:null,headerRowClass:"jsgrid-header-row",filtering:!1,filterRowRenderer:null,filterRowClass:"jsgrid-filter-row",inserting:!1,insertRowRenderer:null,insertRowClass:"jsgrid-insert-row",editing:!1,editRowRenderer:null,editRowClass:"jsgrid-edit-row",confirmDeleting:!0,deleteConfirm:"Are you sure?",selecting:!0,selectedRowClass:"jsgrid-selected-row",oddRowClass:"jsgrid-row",evenRowClass:"jsgrid-alt-row",sorting:!1,sortableClass:"jsgrid-header-sortable",sortAscClass:"jsgrid-header-sort jsgrid-header-sort-asc",sortDescClass:"jsgrid-header-sort jsgrid-header-sort-desc",paging:!1,pagerContainer:null,pageIndex:1,pageSize:20,pageButtonCount:15,pagerFormat:" {first} {prev} {pages} {next} {last} ",pagePrevText:"Prev",pageNextText:"Next",pageFirstText:"First",pageLastText:"Last",pageNavigatorNextText:"...",pageNavigatorPrevText:"...",pagerContainerClass:"jsgrid-pager-container",pagerClass:"jsgrid-pager",pagerNavButtonClass:"jsgrid-pager-nav-button",pagerNavButtonInactiveClass:"jsgrid-pager-nav-inactive-button",pageClass:"jsgrid-pager-page",currentPageClass:"jsgrid-pager-current-page",customLoading:!1,pageLoading:!1,autoload:!1,controller:defaultController,loadIndication:!0,loadIndicationDelay:500,loadMessage:"Please, wait...",loadShading:!0,onRefreshing:$.noop,onRefreshed:$.noop,onItemDeleting:$.noop,onItemDeleted:$.noop,onItemInserting:$.noop,onItemInserted:$.noop,onItemUpdating:$.noop,onItemUpdated:$.noop,onDataLoading:$.noop,onDataLoaded:$.noop,onOptionChanging:$.noop,onOptionChanged:$.noop,onError:$.noop,containerClass:"jsgrid",tableClass:"jsgrid-table",gridHeaderClass:"jsgrid-grid-header",gridBodyClass:"jsgrid-grid-body",_init:function(config){$.extend(this,config);this._initLoadStrategy();this._initController();this._initFields();this._attachWindowLoadResize();this._attachWindowResizeCallback()},loadStrategy:function(){return this.pageLoading?new jsGrid.loadStrategies.PageLoadingStrategy(this):new jsGrid.loadStrategies.DirectLoadingStrategy(this)},_initLoadStrategy:function(){this._loadStrategy=getOrApply(this.loadStrategy,this)},_initController:function(){this._controller=$.extend({},defaultController,getOrApply(this.controller,this))},loadIndicator:function(config){return new jsGrid.LoadIndicator(config)},_initFields:function(){var self=this;self.fields=$.map(self.fields,function(field){if($.isPlainObject(field)){var fieldConstructor=(field.type&&jsGrid.fields[field.type])||jsGrid.Field;field=new fieldConstructor(field)}field._grid=self;return field})},_attachWindowLoadResize:function(){$(window).on("load",$.proxy(this._refreshSize,this))},_attachWindowResizeCallback:function(){if(this.updateOnResize){$(window).on("resize",$.proxy(this._refreshSize,this))}},_detachWindowResizeCallback:function(){$(window).off("resize",this._refreshSize)},option:function(key,value){var optionChangingEventArgs,optionChangedEventArgs;if(arguments.length===1){return this[key]}optionChangingEventArgs={option:key,oldValue:this[key],newValue:value};this._callEventHandler(this.onOptionChanging,optionChangingEventArgs);this._handleOptionChange(optionChangingEventArgs.option,optionChangingEventArgs.newValue);optionChangedEventArgs={option:optionChangingEventArgs.option,value:optionChangingEventArgs.newValue};this._callEventHandler(this.onOptionChanged,optionChangedEventArgs)},_handleOptionChange:function(name,value){this[name]=value;switch(name){case "width":case "height":this._refreshSize();break;case "rowClass":case "rowRenderer":case "rowClick":case "rowDoubleClick":case "noDataText":case "noDataRowClass":case "noDataContent":case "selecting":case "selectedRowClass":case "oddRowClass":case "evenRowClass":this._refreshContent();break;case "pageButtonCount":case "pagerFormat":case "pagePrevText":case "pageNextText":case "pageFirstText":case "pageLastText":case "pageNavigatorNextText":case "pageNavigatorPrevText":case "pagerClass":case "pagerNavButtonClass":case "pageClass":case "currentPageClass":case "pagerRenderer":this._refreshPager();break;case "fields":this._initFields();this.render();break;case "data":case "editing":case "heading":case "filtering":case "inserting":case "paging":this.refresh();break;case "loadStrategy":case "pageLoading":this._initLoadStrategy();this.search();break;case "pageIndex":this.openPage(value);break;case "pageSize":this.refresh();this.search();break;case "editRowRenderer":case "editRowClass":this.cancelEdit();break;default:this.render();break}},destroy:function(){this._detachWindowResizeCallback();this._clear();this._container.removeData(JSGRID_DATA_KEY)},render:function(){this._clear();this._container.addClass(this.containerClass).css("position","relative").append(this._createHeader()).append(this._createBody());this._pagerContainer=this._createPagerContainer();this._loadIndicator=this._createLoadIndicator();this.refresh();return this.autoload?this.loadData():$.Deferred().resolve().promise()},_createLoadIndicator:function(){return getOrApply(this.loadIndicator,this,{message:this.loadMessage,shading:this.loadShading,container:this._container})},_clear:function(){this.cancelEdit();clearTimeout(this._loadingTimer);this._pagerContainer&&this._pagerContainer.empty();this._container.empty().css({position:"",width:"",height:""})},_createHeader:function(){var $headerRow=this._headerRow=this._createHeaderRow(),$filterRow=this._filterRow=this._createFilterRow(),$insertRow=this._insertRow=this._createInsertRow();var $headerGrid=this._headerGrid=$("<table>").addClass(this.tableClass).append($headerRow).append($filterRow).append($insertRow);var $header=this._header=$("<div>").addClass(this.gridHeaderClass).addClass(this._scrollBarWidth()?"jsgrid-header-scrollbar":"").append($headerGrid);return $header},_createBody:function(){var $content=this._content=$("<tbody>");var $bodyGrid=this._bodyGrid=$("<table>").addClass(this.tableClass).append($content);var $body=this._body=$("<div>").addClass(this.gridBodyClass).append($bodyGrid).on("scroll",$.proxy(function(e){this._header.scrollLeft(e.target.scrollLeft)},this));return $body},_createPagerContainer:function(){var pagerContainer=this.pagerContainer||$("<div>").appendTo(this._container);return $(pagerContainer).addClass(this.pagerContainerClass)},_eachField:function(callBack){var self=this;$.each(this.fields,function(index,field){return callBack.call(self,field,index)})},_createHeaderRow:function(){if($.isFunction(this.headerRowRenderer)){return $(this.headerRowRenderer())}var $result=$("<tr>").addClass(this.headerRowClass);this._eachField(function(field,index){var $th=$("<th>").addClass(field.headercss||field.css).appendTo($result).append(field.headerTemplate?field.headerTemplate():"").css("width",field.width);if(this.sorting&&field.sorting){$th.addClass(this.sortableClass).on("click",$.proxy(function(){this.sort(index)},this))}});return $result},_createFilterRow:function(){if($.isFunction(this.filterRowRenderer)){return $(this.filterRowRenderer())}var $result=$("<tr>").addClass(this.filterRowClass);this._eachField(function(field){$("<td>").addClass(field.filtercss||field.css).appendTo($result).append(field.filterTemplate?field.filterTemplate():"").width(field.width)});return $result},_createInsertRow:function(){if($.isFunction(this.insertRowRenderer)){return $(this.insertRowRenderer())}var $result=$("<tr>").addClass(this.insertRowClass);this._eachField(function(field){$("<td>").addClass(field.insertcss||field.css).appendTo($result).append(field.insertTemplate?field.insertTemplate():"").width(field.width)});return $result},_callEventHandler:function(handler,eventParams){handler.call(this,$.extend(eventParams,{grid:this}));return eventParams},reset:function(){this._resetSorting();this._resetPager();this.refresh()},_resetPager:function(){this._firstDisplayingPage=1;this._setPage(1)},_resetSorting:function(){this._sortField=null;this._sortOrder=SORT_ORDER_ASC;this._clearSortingCss()},refresh:function(){this._callEventHandler(this.onRefreshing);this.cancelEdit();this._refreshHeading();this._refreshFiltering();this._refreshInserting();this._refreshContent();this._refreshPager();this._refreshSize();this._callEventHandler(this.onRefreshed)},_refreshHeading:function(){this._headerRow.toggle(this.heading)},_refreshFiltering:function(){this._filterRow.toggle(this.filtering)},_refreshInserting:function(){this._insertRow.toggle(this.inserting)},_refreshContent:function(){var $content=this._content;$content.empty();if(!this.data.length){$content.append(this._createNoDataRow());return this}var indexFrom=this._loadStrategy.firstDisplayIndex();var indexTo=this._loadStrategy.lastDisplayIndex();for(var itemIndex=indexFrom;itemIndex<indexTo;itemIndex++){var item=this.data[itemIndex];$content.append(this._createRow(item,itemIndex))}},_createNoDataRow:function(){var noDataContent=getOrApply(this.noDataContent,this);return $("<tr>").addClass(this.noDataRowClass).append($("<td>").attr("colspan",this.fields.length).append(noDataContent))},_createNoDataContent:function(){return $.isFunction(this.noDataRenderer)?this.noDataRenderer():this.noDataText},_createRow:function(item,itemIndex){var $result;if($.isFunction(this.rowRenderer)){$result=$(this.rowRenderer(item,itemIndex))}else{$result=$("<tr>");this._renderCells($result,item)}$result.addClass(this._getRowClasses(item,itemIndex)).data(JSGRID_ROW_DATA_KEY,item).on("click",$.proxy(function(e){this.rowClick({item:item,itemIndex:itemIndex,event:e})},this)).on("dblclick",$.proxy(function(e){this.rowDoubleClick({item:item,itemIndex:itemIndex,event:e})},this));if(this.selecting){this._attachRowHover($result)}return $result},_getRowClasses:function(item,itemIndex){var classes=[];classes.push(((itemIndex+1)%2)?this.oddRowClass:this.evenRowClass);classes.push(getOrApply(this.rowClass,this,item,itemIndex));return classes.join(" ")},_attachRowHover:function($row){var selectedRowClass=this.selectedRowClass;$row.hover(function(){$(this).addClass(selectedRowClass)},function(){$(this).removeClass(selectedRowClass)})},_renderCells:function($row,item){this._eachField(function(field){$row.append(this._createCell(item,field))});return this},_createCell:function(item,field){var $result;var fieldValue=item[field.name];if($.isFunction(field.cellRenderer)){$result=$(field.cellRenderer(fieldValue,item))}else{$result=$("<td>").append(field.itemTemplate?field.itemTemplate(fieldValue,item):fieldValue)}$result.addClass(field.css).width(field.width);field.align&&$result.addClass("jsgrid-align-"+field.align);return $result},sort:function(field,order){if($.isPlainObject(field)){order=field.order;field=field.field}this._clearSortingCss();this._setSortingParams(field,order);this._setSortingCss();return this._loadStrategy.sort()},_clearSortingCss:function(){this._headerRow.find("th").removeClass(this.sortAscClass).removeClass(this.sortDescClass)},_setSortingParams:function(field,order){field=this._normalizeSortingField(field);order=order||((this._sortField===field)?this._reversedSortOrder(this._sortOrder):SORT_ORDER_ASC);this._sortField=field;this._sortOrder=order},_normalizeSortingField:function(field){if($.isNumeric(field)){return this.fields[field]}if(typeof field==="string"){return $.grep(this.fields,function(f){return f.name===field})[0]}return field},_reversedSortOrder:function(order){return(order===SORT_ORDER_ASC?SORT_ORDER_DESC:SORT_ORDER_ASC)},_setSortingCss:function(){var fieldIndex=$.inArray(this._sortField,this.fields);this._headerRow.find("th").eq(fieldIndex).addClass(this._sortOrder===SORT_ORDER_ASC?this.sortAscClass:this.sortDescClass)},_sortData:function(){var sortFactor=this._sortFactor(),sortField=this._sortField;if(sortField){this.data.sort(function(item1,item2){return sortFactor*sortField.sortingFunc(item1[sortField.name],item2[sortField.name])})}},_sortFactor:function(){return this._sortOrder===SORT_ORDER_ASC?1:-1},_itemsCount:function(){return this._loadStrategy.itemsCount()},_pagesCount:function(){var itemsCount=this._itemsCount(),pageSize=this.pageSize;return Math.floor(itemsCount/pageSize)+(itemsCount%pageSize?1:0)},_refreshPager:function(){var $pagerContainer=this._pagerContainer;$pagerContainer.empty();if(this.paging){$pagerContainer.append(this._createPager())}var showPager=this.paging&&this._pagesCount()>1;$pagerContainer.toggle(showPager)},_createPager:function(){var $result;if($.isFunction(this.pagerRenderer)){$result=$(this.pagerRenderer({pageIndex:this.pageIndex,pageCount:this._pagesCount()}))}else{$result=$("<div>").append(this._createPagerByFormat())}$result.addClass(this.pagerClass);return $result},_createPagerByFormat:function(){var pageIndex=this.pageIndex,pageCount=this._pagesCount(),itemCount=this._itemsCount(),pagerParts=this.pagerFormat.split(" ");return $.map(pagerParts,$.proxy(function(pagerPart){var result=pagerPart;if(pagerPart===PAGES_PLACEHOLDER){result=this._createPages()}else if(pagerPart===FIRST_PAGE_PLACEHOLDER){result=this._createPagerNavButton(this.pageFirstText,1,pageIndex>1)}else if(pagerPart===PREV_PAGE_PLACEHOLDER){result=this._createPagerNavButton(this.pagePrevText,pageIndex-1,pageIndex>1)}else if(pagerPart===NEXT_PAGE_PLACEHOLDER){result=this._createPagerNavButton(this.pageNextText,pageIndex+1,pageIndex<pageCount)}else if(pagerPart===LAST_PAGE_PLACEHOLDER){result=this._createPagerNavButton(this.pageLastText,pageCount,pageIndex<pageCount)}else if(pagerPart===PAGE_INDEX_PLACEHOLDER){result=pageIndex}else if(pagerPart===PAGE_COUNT_PLACEHOLDER){result=pageCount}else if(pagerPart===ITEM_COUNT_PLACEHOLDER){result=itemCount}return $.isArray(result)?result.concat([" "]):[result," "]},this))},_createPages:function(){var pageCount=this._pagesCount(),pageButtonCount=this.pageButtonCount,firstDisplayingPage=this._firstDisplayingPage,pages=[],pageNumber;if(firstDisplayingPage>1){pages.push(this._createPagerPageNavButton(this.pageNavigatorPrevText,this.showPrevPages))}for(var i=0,pageNumber=firstDisplayingPage;i<pageButtonCount&&pageNumber<=pageCount;i++,pageNumber++){pages.push(pageNumber===this.pageIndex?this._createPagerCurrentPage():this._createPagerPage(pageNumber))}if((firstDisplayingPage+pageButtonCount-1)<pageCount){pages.push(this._createPagerPageNavButton(this.pageNavigatorNextText,this.showNextPages))}return pages},_createPagerNavButton:function(text,pageIndex,isActive){return this._createPagerButton(text,this.pagerNavButtonClass+(isActive?"":" "+this.pagerNavButtonInactiveClass),isActive?function(){this.openPage(pageIndex)}:$.noop)},_createPagerPageNavButton:function(text,handler){return this._createPagerButton(text,this.pagerNavButtonClass,handler)},_createPagerPage:function(pageIndex){return this._createPagerButton(pageIndex,this.pageClass,function(){this.openPage(pageIndex)})},_createPagerButton:function(text,css,handler){var $link=$("<a>").attr("href",EMPTY_HREF).html(text).on("click",$.proxy(handler,this));return $("<span>").addClass(css).append($link)},_createPagerCurrentPage:function(){return $("<span>").addClass(this.pageClass).addClass(this.currentPageClass).text(this.pageIndex)},_refreshSize:function(){this._refreshHeight();this._refreshWidth()},_refreshWidth:function(){var $headerGrid=this._headerGrid,$bodyGrid=this._bodyGrid,width=this.width;if(width==="auto"){$headerGrid.width("auto");width=$headerGrid.outerWidth()}$headerGrid.width("");$bodyGrid.width("");this._container.width(width);width=$headerGrid.outerWidth();$bodyGrid.width(width)},_scrollBarWidth:(function(){var result;return function(){if(result===undefined){var $ghostContainer=$("<div style='width:50px;height:50px;overflow:hidden;position:absolute;top:-10000px;left:-10000px;'></div>");var $ghostContent=$("<div style='height:100px;'></div>");$ghostContainer.append($ghostContent).appendTo("body");var width=$ghostContent.innerWidth();$ghostContainer.css("overflow-y","auto");var widthExcludingScrollBar=$ghostContent.innerWidth();$ghostContainer.remove();result=width-widthExcludingScrollBar}return result}})(),_refreshHeight:function(){var container=this._container,pagerContainer=this._pagerContainer,height=this.height,nonBodyHeight;container.height(height);if(height!=="auto"){height=container.height();nonBodyHeight=this._header.outerHeight(!0);if(pagerContainer.parents(container).length){nonBodyHeight+=pagerContainer.outerHeight(!0)}this._body.outerHeight(height-nonBodyHeight)}},showPrevPages:function(){var firstDisplayingPage=this._firstDisplayingPage,pageButtonCount=this.pageButtonCount;this._firstDisplayingPage=(firstDisplayingPage>pageButtonCount)?firstDisplayingPage-pageButtonCount:1;this._refreshPager()},showNextPages:function(){var firstDisplayingPage=this._firstDisplayingPage,pageButtonCount=this.pageButtonCount,pageCount=this._pagesCount();this._firstDisplayingPage=(firstDisplayingPage+2*pageButtonCount>pageCount)?pageCount-pageButtonCount+1:firstDisplayingPage+pageButtonCount;this._refreshPager()},openPage:function(pageIndex){if(pageIndex<1||pageIndex>this._pagesCount())return;this._setPage(pageIndex);this._loadStrategy.openPage(pageIndex)},_setPage:function(pageIndex){var firstDisplayingPage=this._firstDisplayingPage,pageButtonCount=this.pageButtonCount;this.pageIndex=pageIndex;if(pageIndex<firstDisplayingPage){this._firstDisplayingPage=pageIndex}if(pageIndex>firstDisplayingPage+pageButtonCount-1){this._firstDisplayingPage=pageIndex-pageButtonCount+1}},_controllerCall:function(method,param,isCanceled,doneCallback){if(isCanceled)return $.Deferred().reject().promise();this._showLoading();var controller=this._controller;if(!controller||!controller[method]){throw new Error("controller has no method '"+method+"'")}return $.when(controller[method](param)).done($.proxy(doneCallback,this)).fail($.proxy(this._errorHandler,this)).always($.proxy(this._hideLoading,this))},_errorHandler:function(){this._callEventHandler(this.onError,{args:$.makeArray(arguments)})},_showLoading:function(){clearTimeout(this._loadingTimer);this._loadingTimer=setTimeout($.proxy(function(){this._loadIndicator.show()},this),this.loadIndicationDelay)},_hideLoading:function(){clearTimeout(this._loadingTimer);this._loadIndicator.hide()},search:function(filter){this._resetSorting();this._resetPager();return this.loadData(filter)},loadData:function(filter){filter=filter||(this.filtering?this.getFilter():{});$.extend(filter,this._loadStrategy.loadParams(),this._sortingParams());var args=this._callEventHandler(this.onDataLoading,{filter:filter});return this._controllerCall("loadData",filter,args.cancel,function(loadedData){if(!loadedData)return;this._loadStrategy.finishLoad(loadedData);this._callEventHandler(this.onDataLoaded,{data:loadedData})})},getFilter:function(){var result={};this._eachField(function(field){if(field.filtering){result[field.name]=field.filterValue()}});return result},_sortingParams:function(){if(this.sorting&&this._sortField){return{sortField:this._sortField.name,sortOrder:this._sortOrder}}return{}},getSorting:function(){var sortingParams=this._sortingParams();return{field:sortingParams.sortField,order:sortingParams.sortOrder}},clearFilter:function(){var $filterRow=this._createFilterRow();this._filterRow.replaceWith($filterRow);this._filterRow=$filterRow;return this.search()},insertItem:function(item){var insertingItem=item||this._getInsertItem();var args=this._callEventHandler(this.onItemInserting,{item:insertingItem});return this._controllerCall("insertItem",insertingItem,args.cancel,function(insertedItem){insertedItem=insertedItem||insertingItem;this._loadStrategy.finishInsert(insertedItem);this._callEventHandler(this.onItemInserted,{item:insertedItem})})},_getInsertItem:function(){var result={};this._eachField(function(field){if(field.inserting){result[field.name]=field.insertValue()}});return result},clearInsert:function(){var insertRow=this._createInsertRow();this._insertRow.replaceWith(insertRow);this._insertRow=insertRow;this.refresh()},editItem:function(item){var $row=this._rowByItem(item);if($row.length){this._editRow($row)}},_rowByItem:function(item){if(item.jquery||item.nodeType)return $(item);return this._content.find("tr").filter(function(){return $.data(this,JSGRID_ROW_DATA_KEY)===item})},_editRow:function($row){if(!this.editing)return;if(this._editingRow){this.cancelEdit()}var item=$row.data(JSGRID_ROW_DATA_KEY),$editRow=this._createEditRow(item);this._editingRow=$row;$row.hide();$editRow.insertAfter($row);$row.data(JSGRID_EDIT_ROW_DATA_KEY,$editRow)},_createEditRow:function(item){if($.isFunction(this.editRowRenderer)){return $(this.editRowRenderer(item,this._itemIndex(item)))}var $result=$("<tr>").addClass(this.editRowClass);this._eachField(function(field){$("<td>").addClass(field.editcss||field.css).appendTo($result).append(field.editTemplate?field.editTemplate(item[field.name],item):"").width(field.width||"auto")});return $result},updateItem:function(item,editedItem){if(arguments.length===1){editedItem=item}var $row=item?this._rowByItem(item):this._editingRow;editedItem=editedItem||this._getEditedItem();return this._updateRow($row,editedItem)},_updateRow:function($updatingRow,editedItem){var updatingItem=$updatingRow.data(JSGRID_ROW_DATA_KEY),updatingItemIndex=this._itemIndex(updatingItem),previousItem=$.extend({},updatingItem);$.extend(updatingItem,editedItem);var args=this._callEventHandler(this.onItemUpdating,{row:$updatingRow,item:updatingItem,itemIndex:updatingItemIndex,previousItem:previousItem});return this._controllerCall("updateItem",updatingItem,args.cancel,function(updatedItem){updatedItem=updatedItem||updatingItem;var $updatedRow=this._finishUpdate($updatingRow,updatedItem,updatingItemIndex);this._callEventHandler(this.onItemUpdated,{row:$updatedRow,item:updatedItem,itemIndex:updatingItemIndex,previousItem:previousItem})})},_itemIndex:function(item){return $.inArray(item,this.data)},_finishUpdate:function($updatingRow,updatedItem,updatedItemIndex){this.cancelEdit();this.data[updatedItemIndex]=updatedItem;var $updatedRow=this._createRow(updatedItem,updatedItemIndex);$updatingRow.replaceWith($updatedRow);return $updatedRow},_getEditedItem:function(){var result={};this._eachField(function(field){if(field.editing){result[field.name]=field.editValue()}});return result},cancelEdit:function(){if(!this._editingRow){return}var $row=this._editingRow,$editRow=$row.data(JSGRID_EDIT_ROW_DATA_KEY);$editRow.remove();$row.show();this._editingRow=null},deleteItem:function(item){var $row=this._rowByItem(item);if(!$row.length)return;if(this.confirmDeleting&&!window.confirm(getOrApply(this.deleteConfirm,this,$row.data(JSGRID_ROW_DATA_KEY))))return;return this._deleteRow($row)},_deleteRow:function($row){var deletingItem=$row.data(JSGRID_ROW_DATA_KEY),deletingItemIndex=this._itemIndex(deletingItem);var args=this._callEventHandler(this.onItemDeleting,{row:$row,item:deletingItem,itemIndex:deletingItemIndex});return this._controllerCall("deleteItem",deletingItem,args.cancel,function(){this._loadStrategy.finishDelete(deletingItem,deletingItemIndex);this._callEventHandler(this.onItemDeleted,{row:$row,item:deletingItem,itemIndex:deletingItemIndex})})}};$.fn.jsGrid=function(config){var args=$.makeArray(arguments),methodArgs=args.slice(1),result=this;this.each(function(){var $element=$(this),instance=$element.data(JSGRID_DATA_KEY),methodResult;if(instance){if(typeof config==="string"){methodResult=instance[config].apply(instance,methodArgs);if(methodResult!==undefined&&methodResult!==instance){result=methodResult;return!1}}else{instance._detachWindowResizeCallback();instance._init(config);instance.render()}}else{new Grid($element,config)}});return result};var fields={};var setDefaults=function(config){var componentPrototype;if($.isPlainObject(config)){componentPrototype=Grid.prototype}else{componentPrototype=fields[config].prototype;config=arguments[1]||{}}$.extend(componentPrototype,config)};window.jsGrid={Grid:Grid,fields:fields,setDefaults:setDefaults}}(window,jQuery))