File: /home/studiomoguls/webapps/Studio-mogulsc-clone/wp-content/plugins/arprice/js/jsgrid.core.js
!function(t,e,i){function r(t,i){var r=e(t);r.data(a,this),this._container=r,this.data=[],this.fields=[],this._editingRow=null,this._sortField=null,this._sortOrder=h,this._firstDisplayingPage=1,this._init(i),this.render()}var s="JSGrid",a=s,n="JSGridItem",o="JSGridEditRow",h="asc",d="desc",l="{first}",c="{pages}",g="{prev}",u="{next}",p="{last}",_="{pageIndex}",f="{pageCount}",C="{itemCount}",w="javascript:void(0);",v=function(t,i){return e.isFunction(t)?t.apply(i,e.makeArray(arguments).slice(2)):t},m={loadData:e.noop,insertItem:e.noop,updateItem:e.noop,deleteItem:e.noop};r.prototype={width:"auto",height:"auto",updateOnResize:!0,rowClass:e.noop,rowRenderer:null,rowClick:function(t){this.editing&&this.editItem(e(t.event.target).closest("tr"))},rowDoubleClick:e.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:"Pages: {first} {prev} {pages} {next} {last} {pageIndex} of {pageCount}",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:m,loadIndication:!0,loadIndicationDelay:500,loadMessage:"Please, wait...",loadShading:!0,onRefreshing:e.noop,onRefreshed:e.noop,onItemDeleting:e.noop,onItemDeleted:e.noop,onItemInserting:e.noop,onItemInserted:e.noop,onItemUpdating:e.noop,onItemUpdated:e.noop,onDataLoading:e.noop,onDataLoaded:e.noop,onOptionChanging:e.noop,onOptionChanged:e.noop,onError:e.noop,containerClass:"jsgrid",tableClass:"jsgrid-table",gridHeaderClass:"jsgrid-grid-header",gridBodyClass:"jsgrid-grid-body",_init:function(t){e.extend(this,t),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=v(this.loadStrategy,this)},_initController:function(){this._controller=e.extend({},m,v(this.controller,this))},loadIndicator:function(t){return new jsGrid.LoadIndicator(t)},_initFields:function(){var t=this;t.fields=e.map(t.fields,function(i){if(e.isPlainObject(i)){var r=i.type&&jsGrid.fields[i.type]||jsGrid.Field;i=new r(i)}return i._grid=t,i})},_attachWindowLoadResize:function(){e(t).on("load",e.proxy(this._refreshSize,this))},_attachWindowResizeCallback:function(){this.updateOnResize&&e(t).on("resize",e.proxy(this._refreshSize,this))},_detachWindowResizeCallback:function(){e(t).off("resize",this._refreshSize)},option:function(t,e){var i,r;return 1===arguments.length?this[t]:(i={option:t,oldValue:this[t],newValue:e},this._callEventHandler(this.onOptionChanging,i),this._handleOptionChange(i.option,i.newValue),r={option:i.option,value:i.newValue},void this._callEventHandler(this.onOptionChanged,r))},_handleOptionChange:function(t,e){switch(this[t]=e,t){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(e);break;case"pageSize":this.refresh(),this.search();break;case"editRowRenderer":case"editRowClass":this.cancelEdit();break;default:this.render()}},destroy:function(){this._detachWindowResizeCallback(),this._clear(),this._container.removeData(a)},render:function(){return 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(),this.autoload?this.loadData():e.Deferred().resolve().promise()},_createLoadIndicator:function(){return v(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 t=this._headerRow=this._createHeaderRow(),i=this._filterRow=this._createFilterRow(),r=this._insertRow=this._createInsertRow(),s=this._headerGrid=e("<table>").addClass(this.tableClass).append(t).append(i).append(r),a=this._header=e("<div>").addClass(this.gridHeaderClass).addClass(this._scrollBarWidth()?"jsgrid-header-scrollbar":"").append(s);return a},_createBody:function(){var t=this._content=e("<tbody>"),i=this._bodyGrid=e("<table>").addClass(this.tableClass).append(t),r=this._body=e("<div>").addClass(this.gridBodyClass).append(i).on("scroll",e.proxy(function(t){this._header.scrollLeft(t.target.scrollLeft)},this));return r},_createPagerContainer:function(){var t=this.pagerContainer||e("<div>").appendTo(this._container);return e(t).addClass(this.pagerContainerClass)},_eachField:function(t){var i=this;e.each(this.fields,function(e,r){return t.call(i,r,e)})},_createHeaderRow:function(){if(e.isFunction(this.headerRowRenderer))return e(this.headerRowRenderer());var t=e("<tr>").addClass(this.headerRowClass);return this._eachField(function(i,r){var s=e("<th>").addClass(i.headercss||i.css).appendTo(t).append(i.headerTemplate?i.headerTemplate():"").css("width",i.width);this.sorting&&i.sorting&&s.addClass(this.sortableClass).on("click",e.proxy(function(){this.sort(r)},this))}),t},_createFilterRow:function(){if(e.isFunction(this.filterRowRenderer))return e(this.filterRowRenderer());var t=e("<tr>").addClass(this.filterRowClass);return this._eachField(function(i){e("<td>").addClass(i.filtercss||i.css).appendTo(t).append(i.filterTemplate?i.filterTemplate():"").width(i.width)}),t},_createInsertRow:function(){if(e.isFunction(this.insertRowRenderer))return e(this.insertRowRenderer());var t=e("<tr>").addClass(this.insertRowClass);return this._eachField(function(i){e("<td>").addClass(i.insertcss||i.css).appendTo(t).append(i.insertTemplate?i.insertTemplate():"").width(i.width)}),t},_callEventHandler:function(t,i){return t.call(this,e.extend(i,{grid:this})),i},reset:function(){this._resetSorting(),this._resetPager(),this.refresh()},_resetPager:function(){this._firstDisplayingPage=1,this._setPage(1)},_resetSorting:function(){this._sortField=null,this._sortOrder=h,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 t=this._content;if(t.empty(),!this.data.length)return t.append(this._createNoDataRow()),this;for(var e=this._loadStrategy.firstDisplayIndex(),i=this._loadStrategy.lastDisplayIndex(),r=e;i>r;r++){var s=this.data[r];t.append(this._createRow(s,r))}},_createNoDataRow:function(){var t=v(this.noDataContent,this);return e("<tr>").addClass(this.noDataRowClass).append(e("<td>").attr("colspan",this.fields.length).append(t))},_createNoDataContent:function(){return e.isFunction(this.noDataRenderer)?this.noDataRenderer():this.noDataText},_createRow:function(t,i){var r;return e.isFunction(this.rowRenderer)?r=e(this.rowRenderer(t,i)):(r=e("<tr>"),this._renderCells(r,t)),r.addClass(this._getRowClasses(t,i)).data(n,t).on("click",e.proxy(function(e){this.rowClick({item:t,itemIndex:i,event:e})},this)).on("dblclick",e.proxy(function(e){this.rowDoubleClick({item:t,itemIndex:i,event:e})},this)),this.selecting&&this._attachRowHover(r),r},_getRowClasses:function(t,e){var i=[];return i.push((e+1)%2?this.oddRowClass:this.evenRowClass),i.push(v(this.rowClass,this,t,e)),i.join(" ")},_attachRowHover:function(t){var i=this.selectedRowClass;t.hover(function(){e(this).addClass(i)},function(){e(this).removeClass(i)})},_renderCells:function(t,e){return this._eachField(function(i){t.append(this._createCell(e,i))}),this},_createCell:function(t,i){var r,s=t[i.name];return r=e.isFunction(i.cellRenderer)?e(i.cellRenderer(s,t)):e("<td>").append(i.itemTemplate?i.itemTemplate(s,t):s),r.addClass(i.css).width(i.width),i.align&&r.addClass("jsgrid-align-"+i.align),r},sort:function(t,i){return e.isPlainObject(t)&&(i=t.order,t=t.field),this._clearSortingCss(),this._setSortingParams(t,i),this._setSortingCss(),this._loadStrategy.sort()},_clearSortingCss:function(){this._headerRow.find("th").removeClass(this.sortAscClass).removeClass(this.sortDescClass)},_setSortingParams:function(t,e){t=this._normalizeSortingField(t),e=e||(this._sortField===t?this._reversedSortOrder(this._sortOrder):h),this._sortField=t,this._sortOrder=e},_normalizeSortingField:function(t){return e.isNumeric(t)?this.fields[t]:"string"==typeof t?e.grep(this.fields,function(e){return e.name===t})[0]:t},_reversedSortOrder:function(t){return t===h?d:h},_setSortingCss:function(){var t=e.inArray(this._sortField,this.fields);this._headerRow.find("th").eq(t).addClass(this._sortOrder===h?this.sortAscClass:this.sortDescClass)},_sortData:function(){var t=this._sortFactor(),e=this._sortField;e&&this.data.sort(function(i,r){return t*e.sortingFunc(i[e.name],r[e.name])})},_sortFactor:function(){return this._sortOrder===h?1:-1},_itemsCount:function(){return this._loadStrategy.itemsCount()},_pagesCount:function(){var t=this._itemsCount(),e=this.pageSize;return Math.floor(t/e)+(t%e?1:0)},_refreshPager:function(){var t=this._pagerContainer;t.empty(),this.paging&&t.append(this._createPager());var e=this.paging&&this._pagesCount()>1;t.toggle(e)},_createPager:function(){var t;return t=e.isFunction(this.pagerRenderer)?e(this.pagerRenderer({pageIndex:this.pageIndex,pageCount:this._pagesCount()})):e("<div>").append(this._createPagerByFormat()),t.addClass(this.pagerClass),t},_createPagerByFormat:function(){var t=this.pageIndex,i=this._pagesCount(),r=this._itemsCount(),s=this.pagerFormat.split(" ");return e.map(s,e.proxy(function(s){var a=s;return s===c?a=this._createPages():s===l?a=this._createPagerNavButton(this.pageFirstText,1,t>1):s===g?a=this._createPagerNavButton(this.pagePrevText,t-1,t>1):s===u?a=this._createPagerNavButton(this.pageNextText,t+1,i>t):s===p?a=this._createPagerNavButton(this.pageLastText,i,i>t):s===_?a=t:s===f?a=i:s===C&&(a=r),e.isArray(a)?a.concat([" "]):[a," "]},this))},_createPages:function(){var t,e=this._pagesCount(),i=this.pageButtonCount,r=this._firstDisplayingPage,s=[];r>1&&s.push(this._createPagerPageNavButton(this.pageNavigatorPrevText,this.showPrevPages));for(var a=0,t=r;i>a&&e>=t;a++,t++)s.push(t===this.pageIndex?this._createPagerCurrentPage():this._createPagerPage(t));return e>r+i-1&&s.push(this._createPagerPageNavButton(this.pageNavigatorNextText,this.showNextPages)),s},_createPagerNavButton:function(t,i,r){return this._createPagerButton(t,this.pagerNavButtonClass+(r?"":" "+this.pagerNavButtonInactiveClass),r?function(){this.openPage(i)}:e.noop)},_createPagerPageNavButton:function(t,e){return this._createPagerButton(t,this.pagerNavButtonClass,e)},_createPagerPage:function(t){return this._createPagerButton(t,this.pageClass,function(){this.openPage(t)})},_createPagerButton:function(t,i,r){var s=e("<a>").attr("href",w).html(t).on("click",e.proxy(r,this));return e("<span>").addClass(i).append(s)},_createPagerCurrentPage:function(){return e("<span>").addClass(this.pageClass).addClass(this.currentPageClass).text(this.pageIndex)},_refreshSize:function(){this._refreshHeight(),this._refreshWidth()},_refreshWidth:function(){var t=this._headerGrid,e=this._bodyGrid,i=this.width;"auto"===i&&(t.width("auto"),i=t.outerWidth()),t.width(""),e.width(""),this._container.width(i),i=t.outerWidth(),e.width(i)},_scrollBarWidth:function(){var t;return function(){if(t===i){var r=e("<div style='width:50px;height:50px;overflow:hidden;position:absolute;top:-10000px;left:-10000px;'></div>"),s=e("<div style='height:100px;'></div>");r.append(s).appendTo("body");var a=s.innerWidth();r.css("overflow-y","auto");var n=s.innerWidth();r.remove(),t=a-n}return t}}(),_refreshHeight:function(){var t,e=this._container,i=this._pagerContainer,r=this.height;e.height(r),"auto"!==r&&(r=e.height(),t=this._header.outerHeight(!0),i.parents(e).length&&(t+=i.outerHeight(!0)),this._body.outerHeight(r-t))},showPrevPages:function(){var t=this._firstDisplayingPage,e=this.pageButtonCount;this._firstDisplayingPage=t>e?t-e:1,this._refreshPager()},showNextPages:function(){var t=this._firstDisplayingPage,e=this.pageButtonCount,i=this._pagesCount();this._firstDisplayingPage=t+2*e>i?i-e+1:t+e,this._refreshPager()},openPage:function(t){1>t||t>this._pagesCount()||(this._setPage(t),this._loadStrategy.openPage(t))},_setPage:function(t){var e=this._firstDisplayingPage,i=this.pageButtonCount;this.pageIndex=t,e>t&&(this._firstDisplayingPage=t),t>e+i-1&&(this._firstDisplayingPage=t-i+1)},_controllerCall:function(t,i,r,s){if(r)return e.Deferred().reject().promise();this._showLoading();var a=this._controller;if(!a||!a[t])throw new Error("controller has no method '"+t+"'");return e.when(a[t](i)).done(e.proxy(s,this)).fail(e.proxy(this._errorHandler,this)).always(e.proxy(this._hideLoading,this))},_errorHandler:function(){this._callEventHandler(this.onError,{args:e.makeArray(arguments)})},_showLoading:function(){clearTimeout(this._loadingTimer),this._loadingTimer=setTimeout(e.proxy(function(){this._loadIndicator.show()},this),this.loadIndicationDelay)},_hideLoading:function(){clearTimeout(this._loadingTimer),this._loadIndicator.hide()},search:function(t){return this._resetSorting(),this._resetPager(),this.loadData(t)},loadData:function(t){t=t||(this.filtering?this.getFilter():{}),e.extend(t,this._loadStrategy.loadParams(),this._sortingParams());var i=this._callEventHandler(this.onDataLoading,{filter:t});return this._controllerCall("loadData",t,i.cancel,function(t){t&&(this._loadStrategy.finishLoad(t),this._callEventHandler(this.onDataLoaded,{data:t}))})},getFilter:function(){var t={};return this._eachField(function(e){e.filtering&&(t[e.name]=e.filterValue())}),t},_sortingParams:function(){return this.sorting&&this._sortField?{sortField:this._sortField.name,sortOrder:this._sortOrder}:{}},getSorting:function(){var t=this._sortingParams();return{field:t.sortField,order:t.sortOrder}},clearFilter:function(){var t=this._createFilterRow();return this._filterRow.replaceWith(t),this._filterRow=t,this.search()},insertItem:function(t){var e=t||this._getInsertItem(),i=this._callEventHandler(this.onItemInserting,{item:e});return this._controllerCall("insertItem",e,i.cancel,function(t){t=t||e,this._loadStrategy.finishInsert(t),this._callEventHandler(this.onItemInserted,{item:t})})},_getInsertItem:function(){var t={};return this._eachField(function(e){e.inserting&&(t[e.name]=e.insertValue())}),t},clearInsert:function(){var t=this._createInsertRow();this._insertRow.replaceWith(t),this._insertRow=t,this.refresh()},editItem:function(t){var e=this._rowByItem(t);e.length&&this._editRow(e)},_rowByItem:function(t){return t.jquery||t.nodeType?e(t):this._content.find("tr").filter(function(){return e.data(this,n)===t})},_editRow:function(t){if(this.editing){this._editingRow&&this.cancelEdit();var e=t.data(n),i=this._createEditRow(e);this._editingRow=t,t.hide(),i.insertAfter(t),t.data(o,i)}},_createEditRow:function(t){if(e.isFunction(this.editRowRenderer))return e(this.editRowRenderer(t,this._itemIndex(t)));var i=e("<tr>").addClass(this.editRowClass);return this._eachField(function(r){e("<td>").addClass(r.editcss||r.css).appendTo(i).append(r.editTemplate?r.editTemplate(t[r.name],t):"").width(r.width||"auto")}),i},updateItem:function(t,e){1===arguments.length&&(e=t);var i=t?this._rowByItem(t):this._editingRow;return e=e||this._getEditedItem(),this._updateRow(i,e)},_updateRow:function(t,i){var r=t.data(n),s=this._itemIndex(r),a=e.extend({},r);e.extend(r,i);var o=this._callEventHandler(this.onItemUpdating,{row:t,item:r,itemIndex:s,previousItem:a});return this._controllerCall("updateItem",r,o.cancel,function(e){e=e||r;var i=this._finishUpdate(t,e,s);this._callEventHandler(this.onItemUpdated,{row:i,item:e,itemIndex:s,previousItem:a})})},_itemIndex:function(t){return e.inArray(t,this.data)},_finishUpdate:function(t,e,i){this.cancelEdit(),this.data[i]=e;var r=this._createRow(e,i);return t.replaceWith(r),r},_getEditedItem:function(){var t={};return this._eachField(function(e){e.editing&&(t[e.name]=e.editValue())}),t},cancelEdit:function(){if(this._editingRow){var t=this._editingRow,e=t.data(o);e.remove(),t.show(),this._editingRow=null}},deleteItem:function(e){var i=this._rowByItem(e);if(i.length&&(!this.confirmDeleting||t.confirm(v(this.deleteConfirm,this,i.data(n)))))return this._deleteRow(i)},_deleteRow:function(t){var e=t.data(n),i=this._itemIndex(e),r=this._callEventHandler(this.onItemDeleting,{row:t,item:e,itemIndex:i});return this._controllerCall("deleteItem",e,r.cancel,function(){this._loadStrategy.finishDelete(e,i),this._callEventHandler(this.onItemDeleted,{row:t,item:e,itemIndex:i})})}},e.fn.jsGrid=function(t){var s=e.makeArray(arguments),n=s.slice(1),o=this;return this.each(function(){var s,h=e(this),d=h.data(a);if(d)if("string"==typeof t){if(s=d[t].apply(d,n),s!==i&&s!==d)return o=s,!1}else d._detachWindowResizeCallback(),d._init(t),d.render();else new r(h,t)}),o};var R={},y=function(t){var i;e.isPlainObject(t)?i=r.prototype:(i=R[t].prototype,t=arguments[1]||{}),e.extend(i,t)};t.jsGrid={Grid:r,fields:R,setDefaults:y}}(window,jQuery);