From 5f4274afd28c815b892e0b3f8d87131d33bc2522 Mon Sep 17 00:00:00 2001 From: SantiagoSC Date: Wed, 30 Oct 2013 14:42:00 +0100 Subject: [PATCH 1/3] Compatible with Twitter Bootstrap 2.3.3 This version will show any dialog using bootstrap modal instead of jQuery UI Dialog if useBootstrap option is true. --- lib/jquery.jtable.js | 466 ++++++++++++++++++++++++++------------- lib/jquery.jtable.min.js | 128 +---------- 2 files changed, 319 insertions(+), 275 deletions(-) diff --git a/lib/jquery.jtable.js b/lib/jquery.jtable.js index 243b9b17..9e5f3ddc 100644 --- a/lib/jquery.jtable.js +++ b/lib/jquery.jtable.js @@ -25,7 +25,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -*/ +*/ /************************************************************************ * CORE jTable module * @@ -59,6 +59,7 @@ THE SOFTWARE. loadingAnimationDelay: 500, saveUserPreferences: true, jqueryuiTheme: false, + useBootstrap: true, ajaxSettings: { type: 'POST', @@ -362,20 +363,35 @@ THE SOFTWARE. _createErrorDialogDiv: function () { var self = this; - self._$errorDialogDiv = $('
').appendTo(self._$mainContainer); - self._$errorDialogDiv.dialog({ - autoOpen: false, - show: self.options.dialogShowEffect, - hide: self.options.dialogHideEffect, - modal: true, - title: self.options.messages.error, - buttons: [{ - text: self.options.messages.close, - click: function () { - self._$errorDialogDiv.dialog('close'); - } - }] - }); + if (self.options.useBootstrap) { + self._$errorDialogDiv = $('').appendTo(self._$mainContainer); + self._$errorDialogDiv.modal({ + show: false + }); + } else { + self._$errorDialogDiv = $('
').appendTo(self._$mainContainer); + self._$errorDialogDiv.dialog({ + autoOpen: false, + show: self.options.dialogShowEffect, + hide: self.options.dialogHideEffect, + modal: true, + title: self.options.messages.error, + buttons: [{ + text: self.options.messages.close, + click: function () { + self._$errorDialogDiv.dialog('close'); + } + }] + }); + } }, /************************************************************************ @@ -1039,7 +1055,11 @@ THE SOFTWARE. /* Shows error message dialog with given message. *************************************************************************/ _showError: function (message) { - this._$errorDialogDiv.html(message).dialog('open'); + if (this.options.useBootstrap) { + this._$errorDialogDiv.find(".modal-body").html(message); + this._$errorDialogDiv.modal("show"); + } else + this._$errorDialogDiv.html(message).dialog('open'); }, /* BUSY PANEL ***********************************************************/ @@ -1872,25 +1892,41 @@ THE SOFTWARE. /* Sets enabled/disabled state of a dialog button. *************************************************************************/ - _setEnabledOfDialogButton: function ($button, enabled, buttonText) { + _setEnabledOfDialogButton: function ($bootstrap, $button, enabled, buttonText) { if (!$button) { return; } - if (enabled != false) { - $button - .removeAttr('disabled') - .removeClass('ui-state-disabled'); + if ($bootstrap) { + if (enabled != false) { + $button + .removeAttr('disabled') + .removeClass('disabled'); + } else { + $button + .attr('disabled', 'disabled') + .addClass('disabled'); + } + + if (buttonText) { + $button.html(buttonText); + } } else { - $button - .attr('disabled', 'disabled') - .addClass('ui-state-disabled'); - } - - if (buttonText) { - $button - .find('span') - .text(buttonText); + if (enabled != false) { + $button + .removeAttr('disabled') + .removeClass('ui-state-disabled'); + } else { + $button + .attr('disabled', 'disabled') + .addClass('ui-state-disabled'); + } + + if (buttonText) { + $button + .find('span') + .text(buttonText); + } } } @@ -1956,37 +1992,68 @@ THE SOFTWARE. //Create a div for dialog and add to container element self._$addRecordDiv = $('
') .appendTo(self._$mainContainer); - - //Prepare dialog - self._$addRecordDiv.dialog({ - autoOpen: false, - show: self.options.dialogShowEffect, - hide: self.options.dialogHideEffect, - width: 'auto', - minWidth: '300', - modal: true, - title: self.options.messages.addNewRecord, - buttons: - [{ //Cancel button - text: self.options.messages.cancel, - click: function () { - self._$addRecordDiv.dialog('close'); - } - }, { //Save button - id: 'AddRecordDialogSaveButton', - text: self.options.messages.save, - click: function () { - self._onSaveClickedOnCreateForm(); - } - }], - close: function () { + + if (self.options.useBootstrap) { + self._$addRecordDiv.addClass("modal hide fade"); + self._$addRecordDiv.css({ + width: 'auto' + }); + self._$addRecordDiv.append('' + + '' + + ''); + self._$addRecordDiv.find(".save").click(function(event) { + self._onSaveClickedOnCreateForm(); + }); + + self._$addRecordDiv.modal({ + show: false + }); + + self._$addRecordDiv.on("hide", function(event) { var $addRecordForm = self._$addRecordDiv.find('form').first(); var $saveButton = $('#AddRecordDialogSaveButton'); self._trigger("formClosed", null, { form: $addRecordForm, formType: 'create' }); - self._setEnabledOfDialogButton($saveButton, true, self.options.messages.save); - $addRecordForm.remove(); - } - }); + self._setEnabledOfDialogButton(self.options.useBootstrap, $saveButton, true, self.options.messages.save); + $addRecordForm.remove(); + }); + + } else { + //Prepare dialog + self._$addRecordDiv.dialog({ + autoOpen: false, + show: self.options.dialogShowEffect, + hide: self.options.dialogHideEffect, + width: 'auto', + minWidth: '300', + modal: true, + title: self.options.messages.addNewRecord, + buttons: + [{ //Cancel button + text: self.options.messages.cancel, + click: function () { + self._$addRecordDiv.dialog('close'); + } + }, { //Save button + id: 'AddRecordDialogSaveButton', + text: self.options.messages.save, + click: function () { + self._onSaveClickedOnCreateForm(); + } + }], + close: function () { + var $addRecordForm = self._$addRecordDiv.find('form').first(); + var $saveButton = $('#AddRecordDialogSaveButton'); + self._trigger("formClosed", null, { form: $addRecordForm, formType: 'create' }); + self._setEnabledOfDialogButton(self.options.useBootstrap, $saveButton, true, self.options.messages.save); + $addRecordForm.remove(); + } + }); + } + if (self.options.addRecordButton) { //If user supplied a button, bind the click event to show dialog form @@ -2014,7 +2081,7 @@ THE SOFTWARE. var $addRecordForm = self._$addRecordDiv.find('form'); if (self._trigger("formSubmitting", null, { form: $addRecordForm, formType: 'create' }) != false) { - self._setEnabledOfDialogButton($saveButton, false, self.options.messages.saving); + self._setEnabledOfDialogButton(self.options.useBootstrap, $saveButton, false, self.options.messages.saving); self._saveAddRecordForm($addRecordForm, $saveButton); } }, @@ -2147,7 +2214,12 @@ THE SOFTWARE. }); //Open the form - self._$addRecordDiv.append($addRecordForm).dialog('open'); + if (self.options.useBootstrap) { + self._$addRecordDiv.find(".modal-body").append($addRecordForm); + self._$addRecordDiv.modal("show"); + } else + self._$addRecordDiv.append($addRecordForm).dialog('open'); + self._trigger("formCreated", null, { form: $addRecordForm, formType: 'create' }); }, @@ -2166,13 +2238,13 @@ THE SOFTWARE. if (data.Result != 'OK') { self._showError(data.Message); - self._setEnabledOfDialogButton($saveButton, true, self.options.messages.save); + self._setEnabledOfDialogButton(self.options.useBootstrap, $saveButton, true, self.options.messages.save); return; } if (!data.Record) { self._logError('Server must return the created Record object.'); - self._setEnabledOfDialogButton($saveButton, true, self.options.messages.save); + self._setEnabledOfDialogButton(self.options.useBootstrap, $saveButton, true, self.options.messages.save); return; } @@ -2181,11 +2253,14 @@ THE SOFTWARE. self._createRowFromRecord(data.Record), { isNewRow: true }); - self._$addRecordDiv.dialog("close"); + if (self.options.useBootstrap) + self._$addRecordDiv.modal("hide"); + else + self._$addRecordDiv.dialog("close"); }, function () { self._showError(self.options.messages.serverCommunicationError); - self._setEnabledOfDialogButton($saveButton, true, self.options.messages.save); + self._setEnabledOfDialogButton(self.options.useBootstrap, $saveButton, true, self.options.messages.save); }); }, @@ -2259,37 +2334,69 @@ THE SOFTWARE. //Create a div for dialog and add to container element self._$editDiv = $('
') .appendTo(self._$mainContainer); - - //Prepare dialog - self._$editDiv.dialog({ - autoOpen: false, - show: self.options.dialogShowEffect, - hide: self.options.dialogHideEffect, - width: 'auto', - minWidth: '300', - modal: true, - title: self.options.messages.editRecord, - buttons: - [{ //cancel button - text: self.options.messages.cancel, - click: function () { - self._$editDiv.dialog('close'); - } - }, { //save button - id: 'EditDialogSaveButton', - text: self.options.messages.save, - click: function () { - self._onSaveClickedOnEditForm(); - } - }], - close: function () { + + if (self.options.useBootstrap) { + + self._$editDiv.addClass("modal hide fade"); + self._$editDiv.css({ + width: 'auto' + }); + self._$editDiv.append('' + + '' + + ''); + self._$editDiv.find(".save").click(function(event) { + self._onSaveClickedOnEditForm(); + }); + + self._$editDiv.modal({ + show: false + }); + + self._$editDiv.on("hide", function(event) { var $editForm = self._$editDiv.find('form:first'); var $saveButton = $('#EditDialogSaveButton'); self._trigger("formClosed", null, { form: $editForm, formType: 'edit', row: self._$editingRow }); - self._setEnabledOfDialogButton($saveButton, true, self.options.messages.save); + self._setEnabledOfDialogButton(self.options.useBootstrap, $saveButton, true, self.options.messages.save); $editForm.remove(); - } - }); + }); + } else { + + //Prepare dialog + self._$editDiv.dialog({ + autoOpen: false, + show: self.options.dialogShowEffect, + hide: self.options.dialogHideEffect, + width: 'auto', + minWidth: '300', + modal: true, + title: self.options.messages.editRecord, + buttons: + [{ //cancel button + text: self.options.messages.cancel, + click: function () { + self._$editDiv.dialog('close'); + } + }, { //save button + id: 'EditDialogSaveButton', + text: self.options.messages.save, + click: function () { + self._onSaveClickedOnEditForm(); + } + }], + close: function () { + var $editForm = self._$editDiv.find('form:first'); + var $saveButton = $('#EditDialogSaveButton'); + self._trigger("formClosed", null, { form: $editForm, formType: 'edit', row: self._$editingRow }); + self._setEnabledOfDialogButton(self.options.useBootstrap, $saveButton, true, self.options.messages.save); + $editForm.remove(); + } + }); + + } }, /* Saves editing form to server. @@ -2299,14 +2406,18 @@ THE SOFTWARE. //row maybe removed by another source, if so, do nothing if (self._$editingRow.hasClass('jtable-row-removed')) { - self._$editDiv.dialog('close'); + if (self.options.useBootstrap) + self._$editDiv.modal("hide"); + else + self._$editDiv.dialog('close'); + return; } var $saveButton = $('#EditDialogSaveButton'); var $editForm = self._$editDiv.find('form'); if (self._trigger("formSubmitting", null, { form: $editForm, formType: 'edit', row: self._$editingRow }) != false) { - self._setEnabledOfDialogButton($saveButton, false, self.options.messages.saving); + self._setEnabledOfDialogButton(self.options.useBootstrap, $saveButton, false, self.options.messages.saving); self._saveEditForm($editForm, $saveButton); } }, @@ -2487,8 +2598,15 @@ THE SOFTWARE. }); //Open dialog - self._$editingRow = $tableRow; - self._$editDiv.append($editForm).dialog('open'); + self._$editingRow = $tableRow; + if (self.options.useBootstrap) { + self._$editDiv.find(".modal-body").html($editForm); + self._$editDiv.modal("show"); + } else { + self._$editDiv.append($editForm); + self._$ediDiv.dialog('open'); + } + self._trigger("formCreated", null, { form: $editForm, formType: 'edit', record: record, row: $tableRow }); }, @@ -2503,7 +2621,7 @@ THE SOFTWARE. //Check for errors if (data.Result != 'OK') { self._showError(data.Message); - self._setEnabledOfDialogButton($saveButton, true, self.options.messages.save); + self._setEnabledOfDialogButton(self.options.useBootstrap, $saveButton, true, self.options.messages.save); return; } @@ -2521,11 +2639,14 @@ THE SOFTWARE. self._showUpdateAnimationForRow(self._$editingRow); } - self._$editDiv.dialog("close"); + if (self.options.useBootstrap) + self._$editDiv.modal("hide"); + else + self._$editDiv.dialog("close"); }, function () { self._showError(self.options.messages.serverCommunicationError); - self._setEnabledOfDialogButton($saveButton, true, self.options.messages.save); + self._setEnabledOfDialogButton(self.options.useBootstrap, $saveButton, true, self.options.messages.save); }); }, @@ -2661,52 +2782,94 @@ THE SOFTWARE. } //Create div element for delete confirmation dialog - self._$deleteRecordDiv = $('

').appendTo(self._$mainContainer); - - //Prepare dialog - self._$deleteRecordDiv.dialog({ - autoOpen: false, - show: self.options.dialogShowEffect, - hide: self.options.dialogHideEffect, - modal: true, - title: self.options.messages.areYouSure, - buttons: - [{ //cancel button - text: self.options.messages.cancel, - click: function () { - self._$deleteRecordDiv.dialog("close"); - } - }, {//delete button - id: 'DeleteDialogButton', - text: self.options.messages.deleteText, - click: function () { - - //row maybe removed by another source, if so, do nothing - if (self._$deletingRow.hasClass('jtable-row-removed')) { - self._$deleteRecordDiv.dialog('close'); - return; - } - - var $deleteButton = $('#DeleteDialogButton'); - self._setEnabledOfDialogButton($deleteButton, false, self.options.messages.deleting); - self._deleteRecordFromServer( - self._$deletingRow, - function () { - self._removeRowsFromTableWithAnimation(self._$deletingRow); - self._$deleteRecordDiv.dialog('close'); - }, - function (message) { //error - self._showError(message); - self._setEnabledOfDialogButton($deleteButton, true, self.options.messages.deleteText); - } - ); - } - }], - close: function () { - var $deleteButton = $('#DeleteDialogButton'); - self._setEnabledOfDialogButton($deleteButton, true, self.options.messages.deleteText); - } - }); + self._$deleteRecordDiv = $('
').appendTo(self._$mainContainer); + + if (self.options.useBootstrap) { + self._$deleteRecordDiv.addClass("modal hide fade"); + self._$deleteRecordDiv.append('' + + '' + + ''); + + self._$deleteRecordDiv.modal({show: false}); + self._$deleteRecordDiv.find("#DeleteDialogButton").click(function(event) { + + //row maybe removed by another source, if so, do nothing + if (self._$deletingRow.hasClass('jtable-row-removed')) { + self._$deleteRecordDiv.dialog('close'); + return; + } + + var $deleteButton = $(this); + self._setEnabledOfDialogButton(self.options.useBootstrap, $deleteButton, false, self.options.messages.deleting); + self._deleteRecordFromServer( + self._$deletingRow, + function () { + self._removeRowsFromTableWithAnimation(self._$deletingRow); + self._$deleteRecordDiv.modal("hide"); + }, + function (message) { //error + self._showError(message); + self._setEnabledOfDialogButton(self.options.useBootstrap, $deleteButton, true, self.options.messages.deleteText); + } + ); + + }); + self._$deleteRecordDiv.on("hidden", function(event) { + var $deleteButton = $(this).find('#DeleteDialogButton'); + self._setEnabledOfDialogButton(self.options.useBootstrap, $deleteButton, true, self.options.messages.deleteText); + }); + } else { + self._$deleteRecordDiv.append('

'); + + //Prepare dialog + self._$deleteRecordDiv.dialog({ + autoOpen: false, + show: self.options.dialogShowEffect, + hide: self.options.dialogHideEffect, + modal: true, + title: self.options.messages.areYouSure, + buttons: + [{ //cancel button + text: self.options.messages.cancel, + click: function () { + self._$deleteRecordDiv.dialog("close"); + } + }, {//delete button + id: 'DeleteDialogButton', + text: self.options.messages.deleteText, + click: function () { + + //row maybe removed by another source, if so, do nothing + if (self._$deletingRow.hasClass('jtable-row-removed')) { + self._$deleteRecordDiv.dialog('close'); + return; + } + + var $deleteButton = $('#DeleteDialogButton'); + self._setEnabledOfDialogButton(self.options.useBootstrap, $deleteButton, false, self.options.messages.deleting); + self._deleteRecordFromServer( + self._$deletingRow, + function () { + self._removeRowsFromTableWithAnimation(self._$deletingRow); + self._$deleteRecordDiv.dialog('close'); + }, + function (message) { //error + self._showError(message); + self._setEnabledOfDialogButton(self.options.useBootstrap, $deleteButton, true, self.options.messages.deleteText); + } + ); + } + }], + close: function () { + var $deleteButton = $('#DeleteDialogButton'); + self._setEnabledOfDialogButton(self.options.useBootstrap, $deleteButton, true, self.options.messages.deleteText); + } + }); + } }, /************************************************************************ @@ -2905,8 +3068,12 @@ THE SOFTWARE. if (deleteConfirm != false) { //Confirmation - self._$deleteRecordDiv.find('.jtable-delete-confirm-message').html(deleteConfirmMessage); - self._showDeleteDialog($row); + if (self.options.useBootstrap) + self._$deleteRecordDiv.find(".modal-body").html(deleteConfirmMessage); + else + self._$deleteRecordDiv.find('.jtable-delete-confirm-message').html(deleteConfirmMessage); + + self._showDeleteDialog($row); } else { //No confirmation self._deleteRecordFromServer( @@ -2924,8 +3091,11 @@ THE SOFTWARE. /* Shows delete comfirmation dialog. *************************************************************************/ _showDeleteDialog: function ($row) { - this._$deletingRow = $row; - this._$deleteRecordDiv.dialog('open'); + this._$deletingRow = $row; + if (this.options.useBootstrap) + this._$deleteRecordDiv.modal("show"); + else + this._$deleteRecordDiv.dialog('open'); }, /* Performs an ajax call to server to delete record diff --git a/lib/jquery.jtable.min.js b/lib/jquery.jtable.min.js index c0ba5a8f..db3c6479 100644 --- a/lib/jquery.jtable.min.js +++ b/lib/jquery.jtable.min.js @@ -22,130 +22,4 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -(function(c){var g;c(window).on("beforeunload",function(){g=!0});c(window).on("unload",function(){g=!1});c.widget("hik.jtable",{options:{actions:{},fields:{},animationsEnabled:!0,defaultDateFormat:"yy-mm-dd",dialogShowEffect:"fade",dialogHideEffect:"fade",showCloseButton:!1,loadingAnimationDelay:500,saveUserPreferences:!0,jqueryuiTheme:!1,ajaxSettings:{type:"POST",dataType:"json"},toolbar:{hoverAnimation:!0,hoverAnimationDuration:60,hoverAnimationEasing:void 0,items:[]},closeRequested:function(a, -b){},formCreated:function(a,b){},formSubmitting:function(a,b){},formClosed:function(a,b){},loadingRecords:function(a,b){},recordsLoaded:function(a,b){},rowInserted:function(a,b){},rowsRemoved:function(a,b){},messages:{serverCommunicationError:"An error occured while communicating to the server.",loadingMessage:"Loading records...",noDataAvailable:"No data available!",areYouSure:"Are you sure?",save:"Save",saving:"Saving",cancel:"Cancel",error:"Error",close:"Close",cannotLoadOptionsFor:"Can not load options for field {0}"}}, -_$mainContainer:null,_$titleDiv:null,_$toolbarDiv:null,_$table:null,_$tableBody:null,_$tableRows:null,_$busyDiv:null,_$busyMessageDiv:null,_$errorDialogDiv:null,_columnList:null,_fieldList:null,_keyField:null,_firstDataColumnOffset:0,_lastPostData:null,_cache:null,_create:function(){this._normalizeFieldsOptions();this._initializeFields();this._createFieldAndColumnList();this._createMainContainer();this._createTableTitle();this._createToolBar();this._createTable();this._createBusyPanel();this._createErrorDialogDiv(); -this._addNoDataRow();this._cookieKeyPrefix=this._generateCookieKeyPrefix()},_normalizeFieldsOptions:function(){var a=this;c.each(a.options.fields,function(b,d){a._normalizeFieldOptions(b,d)})},_normalizeFieldOptions:function(a,b){void 0==b.listClass&&(b.listClass="");void 0==b.inputClass&&(b.inputClass="");if(b.dependsOn&&"string"===c.type(b.dependsOn)){var d=b.dependsOn.split(",");b.dependsOn=[];for(var f=0;f").addClass("jtable-main-container").appendTo(this.element);this._jqueryuiThemeAddClass(this._$mainContainer,"ui-widget")},_createTableTitle:function(){var a=this;if(a.options.title){var b= -c("
").addClass("jtable-title").appendTo(a._$mainContainer);a._jqueryuiThemeAddClass(b,"ui-widget-header");c("
").addClass("jtable-title-text").appendTo(b).append(a.options.title);if(a.options.showCloseButton){var d=c("").html(a.options.messages.close);c("").addClass("jtable-command-button jtable-close-button").attr("title",a.options.messages.close).append(d).appendTo(b).click(function(d){d.preventDefault();d.stopPropagation();a._onCloseRequested()})}a._$titleDiv= -b}},_createTable:function(){this._$table=c("
").addClass("jtable").appendTo(this._$mainContainer);this.options.tableId&&this._$table.attr("id",this.options.tableId);this._jqueryuiThemeAddClass(this._$table,"ui-widget-content");this._createTableHead();this._createTableBody()},_createTableHead:function(){var a=c("").appendTo(this._$table);this._addRowToTableHead(a)},_addRowToTableHead:function(a){a=c("").appendTo(a);this._addColumnsToHeaderRow(a)},_addColumnsToHeaderRow:function(a){for(var b= -0;b").addClass("jtable-column-header-text").html(b.title),d=c("
").addClass("jtable-column-header-container").append(d),d=c("").addClass("jtable-column-header").addClass(b.listClass).css("width",b.width).data("fieldName",a).append(d);this._jqueryuiThemeAddClass(d,"ui-state-default"); -return d},_createEmptyCommandHeader:function(){var a=c("").addClass("jtable-command-column-header").css("width","1%");this._jqueryuiThemeAddClass(a,"ui-state-default");return a},_createTableBody:function(){this._$tableBody=c("").appendTo(this._$table)},_createBusyPanel:function(){this._$busyMessageDiv=c("
").addClass("jtable-busy-message").prependTo(this._$mainContainer);this._$busyDiv=c("
").addClass("jtable-busy-panel-background").prependTo(this._$mainContainer); -this._jqueryuiThemeAddClass(this._$busyMessageDiv,"ui-widget-header");this._hideBusy()},_createErrorDialogDiv:function(){var a=this;a._$errorDialogDiv=c("
").appendTo(a._$mainContainer);a._$errorDialogDiv.dialog({autoOpen:!1,show:a.options.dialogShowEffect,hide:a.options.dialogHideEffect,modal:!0,title:a.options.messages.error,buttons:[{text:a.options.messages.close,click:function(){a._$errorDialogDiv.dialog("close")}}]})},load:function(a,b){this._lastPostData=a;this._reloadTable(b)},reload:function(a){this._reloadTable(a)}, -getRowByKey:function(a){for(var b=0;b").addClass("jtable-data-row").attr("data-record-key",this._getKeyValueOfRecord(a)).data("record",a);this._addCellsToRowUsingRecord(a);return a},_addCellsToRowUsingRecord:function(a){for(var b= -a.data("record"),d=0;d").addClass(this.options.fields[b].listClass).append(this._getDisplayTextForRecordField(a,b))},_addRecordsToTable:function(a){var b=this;c.each(a,function(a,f){b._addRow(b._createRowFromRecord(f))});b._refreshRowStyles()},_addRowToTable:function(a,b,d,f){b={index:this._normalizeNumber(b,0,this._$tableRows.length,this._$tableRows.length)}; -!0==d&&(b.isNewRow=!0);!1==f&&(b.animationsEnabled=!1);this._addRow(a,b)},_addRow:function(a,b){b=c.extend({index:this._$tableRows.length,isNewRow:!1,animationsEnabled:!0},b);0>=this._$tableRows.length&&this._removeNoDataRow();b.index=this._normalizeNumber(b.index,0,this._$tableRows.length,this._$tableRows.length);b.index==this._$tableRows.length?(this._$tableBody.append(a),this._$tableRows.push(a)):0==b.index?(this._$tableBody.prepend(a),this._$tableRows.unshift(a)):(this._$tableRows[b.index-1].after(a), -this._$tableRows.splice(b.index,0,a));this._onRowInserted(a,b.isNewRow);b.isNewRow&&(this._refreshRowStyles(),this.options.animationsEnabled&&b.animationsEnabled&&this._showNewRowAnimation(a))},_showNewRowAnimation:function(a){var b="jtable-row-created";this.options.jqueryuiTheme&&(b+=" ui-state-highlight");a.addClass(b,"slow","",function(){a.removeClass(b,5E3)})},_removeRowsFromTable:function(a,b){var d=this;0>=a.length||(a.addClass("jtable-row-removed").remove(),a.each(function(){var a=d._findRowIndex(c(this)); -0<=a&&d._$tableRows.splice(a,1)}),d._onRowsRemoved(a,b),0==d._$tableRows.length&&d._addNoDataRow(),d._refreshRowStyles())},_findRowIndex:function(a){return this._findIndexInArray(a,this._$tableRows,function(a,d){return a.data("record")==d.data("record")})},_removeAllRows:function(a){if(!(0>=this._$tableRows.length)){var b=this._$tableBody.find("tr.jtable-data-row");this._$tableBody.empty();this._$tableRows=[];this._onRowsRemoved(b,a);this._addNoDataRow()}},_addNoDataRow:function(){if(!(0tr.jtable-no-data-row").length)){var a= -c("").addClass("jtable-no-data-row").appendTo(this._$tableBody),b=this._$table.find("thead th").length;c("").attr("colspan",b).html(this.options.messages.noDataAvailable).appendTo(a)}},_removeNoDataRow:function(){this._$tableBody.find(".jtable-no-data-row").remove()},_refreshRowStyles:function(){for(var a=0;a").addClass("jtable-toolbar").appendTo(this._$titleDiv);for(var a=0;a").addClass("jtable-toolbar-item").appendTo(this._$toolbarDiv);this._jqueryuiThemeAddClass(b,"ui-widget ui-state-default ui-corner-all","ui-state-hover");a.cssClass&&b.addClass(a.cssClass);a.tooltip&&b.attr("title",a.tooltip);if(a.icon){var d=c('').appendTo(b);!0!== -a.icon&&c.type("string"===a.icon)&&d.css("background",'url("'+a.icon+'")')}a.text&&c('').html(a.text).addClass("jtable-toolbar-item-text").appendTo(b);a.click&&b.click(function(){a.click()});var f=void 0,e=void 0;this.options.toolbar.hoverAnimation&&(f=this.options.toolbar.hoverAnimationDuration,e=this.options.toolbar.hoverAnimationEasing);b.hover(function(){b.addClass("jtable-toolbar-item-hover",f,e)},function(){b.removeClass("jtable-toolbar-item-hover",f,e)});return b},_showError:function(a){this._$errorDialogDiv.html(a).dialog("open")}, -_setBusyTimer:null,_showBusy:function(a,b){var d=this;d._$busyDiv.width(d._$mainContainer.width()).height(d._$mainContainer.height()).addClass("jtable-busy-panel-background-invisible").show();var f=function(){d._$busyDiv.removeClass("jtable-busy-panel-background-invisible");d._$busyMessageDiv.html(a).show()};b?d._setBusyTimer||(d._setBusyTimer=setTimeout(f,b)):f()},_hideBusy:function(){clearTimeout(this._setBusyTimer);this._setBusyTimer=null;this._$busyDiv.hide();this._$busyMessageDiv.html("").hide()}, -_isBusy:function(){return this._$busyMessageDiv.is(":visible")},_jqueryuiThemeAddClass:function(a,b,d){this.options.jqueryuiTheme&&(a.addClass(b),d&&a.hover(function(){a.addClass(d)},function(){a.removeClass(d)}))},_performAjaxCall:function(a,b,d,f,e){this._ajax({url:a,data:b,async:d,success:f,error:e})},_ajax:function(a){var b=c.extend({},this.options.ajaxSettings,a);b.success=function(d){a.success&&a.success(d)};b.error=function(d,b,e){g?d.abort():a.error&&a.error(arguments)};b.complete=function(){a.complete&& -a.complete()};c.ajax(b)},_getKeyValueOfRecord:function(a){return a[this._keyField]},_setCookie:function(a,b){a=this._cookieKeyPrefix+a;var d=new Date;d.setDate(d.getDate()+30);document.cookie=encodeURIComponent(a)+"="+encodeURIComponent(b)+"; expires="+d.toUTCString()},_getCookie:function(a){a=this._cookieKeyPrefix+a;for(var b=document.cookie.split("; "),d=0;da.indexOf("."))return c[a];var b=a.substring(0,a.indexOf(".")),d=a.substring(a.indexOf(".")+1);return this._getPropertyOfObject(c[b],d)},_setPropertyOfObject:function(c,a,b){if(0>a.indexOf("."))c[a]=b;else{var d=a.substring(0,a.indexOf("."));a=a.substring(a.indexOf(".")+1);this._setPropertyOfObject(c[d],a,b)}},_insertToArrayIfDoesNotExists:function(g,a){0>c.inArray(a,g)&&g.push(a)},_findIndexInArray:function(c, -a,b){b||(b=function(a,d){return a==d});for(var d=0;db?b:c},_formatString:function(){if(0==arguments.length)return null;for(var c=arguments[0],a=1;ad?Math.ceil(d):Math.floor(d);for(0>d&&(d+=b);d").addClass("jtable-input-label").html(this.options.fields[g].inputTitle||this.options.fields[g].title)},_createInputForRecordField:function(g){var a=g.fieldName,b=g.value,d=g.record,f=g.formType;g=g.form;var e=this.options.fields[a];if(void 0==b||null==b)b=e.defaultValue;return e.input?(b=c(e.input({value:b, -record:d,formType:f,form:g})),b.attr("id")||b.attr("id","Edit-"+a),c("
").addClass("jtable-input jtable-custom-input").append(b)):"date"==e.type?this._createDateInputForField(e,a,b):"textarea"==e.type?this._createTextAreaForField(e,a,b):"password"==e.type?this._createPasswordInputForField(e,a,b):"checkbox"==e.type?this._createCheckboxForField(e,a,b):e.options?"radiobutton"==e.type?this._createRadioButtonListForField(e,a,b,d,f):this._createDropDownListForField(e,a,b,d,f,g):this._createTextInputForField(e, -a,b)},_createInputForHidden:function(g,a){void 0==a&&(a="");return c('').val(a)},_createDateInputForField:function(g,a,b){a=c('');void 0!=b&&a.val(b);a.datepicker({dateFormat:g.displayFormat||this.options.defaultDateFormat});return c("
").addClass("jtable-input jtable-date-input").append(a)},_createTextAreaForField:function(g,a,b){g=c('');void 0!=b&&g.val(b);return c("
").addClass("jtable-input jtable-textarea-input").append(g)},_createTextInputForField:function(g,a,b){g=c('');void 0!=b&&g.val(b);return c("
").addClass("jtable-input jtable-text-input").append(g)},_createPasswordInputForField:function(g,a,b){g=c('');void 0!=b&&g.val(b);return c("
").addClass("jtable-input jtable-password-input").append(g)},_createCheckboxForField:function(g,a,b){var d=this;void 0==b&&(b=d._getCheckBoxPropertiesForFieldByState(a,!1).Value);var f=c("
").addClass("jtable-input jtable-checkbox-input"),e=c('').appendTo(f);void 0!=b&&e.val(b);var h=c(""+(g.formText||d._getCheckBoxTextForFieldByValue(a,b))+"").appendTo(f); -d._getIsCheckBoxSelectedForFieldByValue(a,b)&&e.attr("checked","checked");var l=function(){var b=d._getCheckBoxPropertiesForFieldByState(a,e.is(":checked"));e.attr("value",b.Value);h.html(g.formText||b.DisplayText)};e.click(function(){l()});!1!=g.setOnTextClick&&h.addClass("jtable-option-text-clickable").click(function(){e.is(":checked")?e.attr("checked",!1):e.attr("checked",!0);l()});return f},_createDropDownListForField:function(g,a,b,d,f,e){var h=c("
").addClass("jtable-input jtable-dropdown-input"), -l=c('').appendTo(h);g=this._getOptionsForField(a,{record:d,source:f,form:e,dependedValues:this._createDependedValuesUsingForm(e,g.dependsOn)});this._fillDropDownListWithOptions(l,g,b);return h},_fillDropDownListWithOptions:function(g,a,b){g.empty();for(var d=0;d"+a[d].DisplayText+"").val(a[d].Value).appendTo(g)},_createDependedValuesUsingForm:function(c, -a){if(!a)return{};for(var b={},d=0;d=e.length||(b[f]=e.val())}return b},_createRadioButtonListForField:function(g,a,b,d,f){var e=c("
").addClass("jtable-input jtable-radiobuttonlist-input");d=this._getOptionsForField(a,{record:d,source:f});c.each(d,function(d,f){var k=c('
').addClass("jtable-radio-input").appendTo(e),m=c('").val(f.Value).appendTo(k),k=c("").html(f.DisplayText).appendTo(k);!1!=g.setOnTextClick&&k.addClass("jtable-option-text-clickable").click(function(){m.is(":checked")||m.attr("checked",!0)})});return e},_getCheckBoxTextForFieldByValue:function(c,a){return this.options.fields[c].values[a]},_getIsCheckBoxSelectedForFieldByValue:function(c,a){return this._createCheckBoxStateArrayForFieldWithCaching(c)[1].Value.toString()==a.toString()},_getCheckBoxPropertiesForFieldByState:function(c, -a){return this._createCheckBoxStateArrayForFieldWithCaching(c)[a?1:0]},_createCheckBoxStateArrayForFieldWithCaching:function(c){var a="checkbox_"+c;this._cache[a]||(this._cache[a]=this._createCheckBoxStateArrayForField(c));return this._cache[a]},_createCheckBoxStateArrayForField:function(g){var a=[],b=0;c.each(this.options.fields[g].values,function(d,f){2>b++&&a.push({Value:d,DisplayText:f})});return a},_makeCascadeDropDowns:function(g,a,b){var d=this;g.find("select").each(function(){var f=c(this), -e=f.attr("name");if(e){var h=d.options.fields[e];h.dependsOn&&c.each(h.dependsOn,function(c,k){g.find("select[name="+k+"]").change(function(){var c={record:a,source:b,form:g,dependedValues:{}};c.dependedValues=d._createDependedValuesUsingForm(g,h.dependsOn);c=d._getOptionsForField(e,c);d._fillDropDownListWithOptions(f,c,void 0);f.change()})})}})},_updateRecordValuesFromForm:function(g,a){for(var b=0;b=e.length))if("date"==f.type)if(e=e.val()){f=f.displayFormat||this.options.defaultDateFormat;try{var h=c.datepicker.parseDate(f,e);g[d]="/Date("+h.getTime()+")/"}catch(l){this._logWarn("Date format is incorrect for field "+d+": "+e),g[d]=void 0}}else this._logDebug("Date is empty for "+d),g[d]=void 0;else f.options&&"radiobutton"==f.type?(f=e.filter(":checked"),g[d]=f.length?f.val():void 0):g[d]=e.val()}}},_setEnabledOfDialogButton:function(c,a,b){c&&(!1!=a?c.removeAttr("disabled").removeClass("ui-state-disabled"): -c.attr("disabled","disabled").addClass("ui-state-disabled"),b&&c.find("span").text(b))}})})(jQuery); -(function(c){var g=c.hik.jtable.prototype._create;c.extend(!0,c.hik.jtable.prototype,{options:{recordAdded:function(a,b){},messages:{addNewRecord:"Add new record"}},_$addRecordDiv:null,_create:function(){g.apply(this,arguments);this.options.actions.createAction&&this._createAddRecordDialogDiv()},_createAddRecordDialogDiv:function(){var a=this;a._$addRecordDiv=c("
").appendTo(a._$mainContainer);a._$addRecordDiv.dialog({autoOpen:!1,show:a.options.dialogShowEffect,hide:a.options.dialogHideEffect, -width:"auto",minWidth:"300",modal:!0,title:a.options.messages.addNewRecord,buttons:[{text:a.options.messages.cancel,click:function(){a._$addRecordDiv.dialog("close")}},{id:"AddRecordDialogSaveButton",text:a.options.messages.save,click:function(){a._onSaveClickedOnCreateForm()}}],close:function(){var b=a._$addRecordDiv.find("form").first(),d=c("#AddRecordDialogSaveButton");a._trigger("formClosed",null,{form:b,formType:"create"});a._setEnabledOfDialogButton(d,!0,a.options.messages.save);b.remove()}}); -a.options.addRecordButton?a.options.addRecordButton.click(function(b){b.preventDefault();a._showAddRecordForm()}):a._addToolBarItem({icon:!0,cssClass:"jtable-toolbar-item-add-record",text:a.options.messages.addNewRecord,click:function(){a._showAddRecordForm()}})},_onSaveClickedOnCreateForm:function(){var a=c("#AddRecordDialogSaveButton"),b=this._$addRecordDiv.find("form");!1!=this._trigger("formSubmitting",null,{form:b,formType:"create"})&&(this._setEnabledOfDialogButton(a,!1,this.options.messages.saving), -this._saveAddRecordForm(b,a))},showCreateForm:function(){this._showAddRecordForm()},addRecord:function(a){var b=this;a=c.extend({clientOnly:!1,animationsEnabled:b.options.animationsEnabled,url:b.options.actions.createAction,success:function(){},error:function(){}},a);a.record?a.clientOnly?(b._addRow(b._createRowFromRecord(a.record),{isNewRow:!0,animationsEnabled:a.animationsEnabled}),a.success()):b._submitFormUsingAjax(a.url,c.param(a.record),function(d){"OK"!=d.Result?(b._showError(d.Message),a.error(d)): -d.Record?(b._onRecordAdded(d),b._addRow(b._createRowFromRecord(d.Record),{isNewRow:!0,animationsEnabled:a.animationsEnabled}),a.success(d)):(b._logError("Server must return the created Record object."),a.error(d))},function(){b._showError(b.options.messages.serverCommunicationError);a.error()}):b._logWarn("options parameter in addRecord method must contain a record property.")},_showAddRecordForm:function(){for(var a=this,b=c('
'), -d=0;d").addClass("jtable-input-field-container").appendTo(b),e.append(a._createInputLabelForRecordField(f)),e.append(a._createInputForRecordField({fieldName:f,formType:"create",form:b}))))}a._makeCascadeDropDowns(b,void 0,"create");b.submit(function(){a._onSaveClickedOnCreateForm();return!1});a._$addRecordDiv.append(b).dialog("open"); -a._trigger("formCreated",null,{form:b,formType:"create"})},_saveAddRecordForm:function(a,b){var d=this;a.data("submitting",!0);d._submitFormUsingAjax(d.options.actions.createAction,a.serialize(),function(a){"OK"!=a.Result?(d._showError(a.Message),d._setEnabledOfDialogButton(b,!0,d.options.messages.save)):a.Record?(d._onRecordAdded(a),d._addRow(d._createRowFromRecord(a.Record),{isNewRow:!0}),d._$addRecordDiv.dialog("close")):(d._logError("Server must return the created Record object."),d._setEnabledOfDialogButton(b, -!0,d.options.messages.save))},function(){d._showError(d.options.messages.serverCommunicationError);d._setEnabledOfDialogButton(b,!0,d.options.messages.save)})},_onRecordAdded:function(a){this._trigger("recordAdded",null,{record:a.Record,serverResponse:a})}})})(jQuery); -(function(c){var g=c.hik.jtable.prototype._create,a=c.hik.jtable.prototype._addColumnsToHeaderRow,b=c.hik.jtable.prototype._addCellsToRowUsingRecord;c.extend(!0,c.hik.jtable.prototype,{options:{recordUpdated:function(a,b){},rowUpdated:function(a,b){},messages:{editRecord:"Edit Record"}},_$editDiv:null,_$editingRow:null,_create:function(){g.apply(this,arguments);this.options.actions.updateAction&&this._createEditDialogDiv()},_createEditDialogDiv:function(){var a=this;a._$editDiv=c("
").appendTo(a._$mainContainer); -a._$editDiv.dialog({autoOpen:!1,show:a.options.dialogShowEffect,hide:a.options.dialogHideEffect,width:"auto",minWidth:"300",modal:!0,title:a.options.messages.editRecord,buttons:[{text:a.options.messages.cancel,click:function(){a._$editDiv.dialog("close")}},{id:"EditDialogSaveButton",text:a.options.messages.save,click:function(){a._onSaveClickedOnEditForm()}}],close:function(){var b=a._$editDiv.find("form:first"),e=c("#EditDialogSaveButton");a._trigger("formClosed",null,{form:b,formType:"edit",row:a._$editingRow}); -a._setEnabledOfDialogButton(e,!0,a.options.messages.save);b.remove()}})},_onSaveClickedOnEditForm:function(){if(this._$editingRow.hasClass("jtable-row-removed"))this._$editDiv.dialog("close");else{var a=c("#EditDialogSaveButton"),b=this._$editDiv.find("form");!1!=this._trigger("formSubmitting",null,{form:b,formType:"edit",row:this._$editingRow})&&(this._setEnabledOfDialogButton(a,!1,this.options.messages.saving),this._saveEditForm(b,a))}},updateRecord:function(a){var b=this;a=c.extend({clientOnly:!1, -animationsEnabled:b.options.animationsEnabled,url:b.options.actions.updateAction,success:function(){},error:function(){}},a);if(a.record){var e=b._getKeyValueOfRecord(a.record);if(void 0==e||null==e)b._logWarn("options parameter in updateRecord method must contain a record that contains the key field property.");else{var h=b.getRowByKey(e);null==h?b._logWarn("Can not found any row by key: "+e):a.clientOnly?(c.extend(h.data("record"),a.record),b._updateRowTexts(h),b._onRecordUpdated(h,null),a.animationsEnabled&& -b._showUpdateAnimationForRow(h),a.success()):b._submitFormUsingAjax(a.url,c.param(a.record),function(e){"OK"!=e.Result?(b._showError(e.Message),a.error(e)):(c.extend(h.data("record"),a.record),b._updateRecordValuesFromServerResponse(h.data("record"),e),b._updateRowTexts(h),b._onRecordUpdated(h,e),a.animationsEnabled&&b._showUpdateAnimationForRow(h),a.success(e))},function(){b._showError(b.options.messages.serverCommunicationError);a.error()})}}else b._logWarn("options parameter in updateRecord method must contain a record property.")}, -_addColumnsToHeaderRow:function(b){a.apply(this,arguments);void 0!=this.options.actions.updateAction&&b.append(this._createEmptyCommandHeader())},_addCellsToRowUsingRecord:function(a){var f=this;b.apply(this,arguments);if(void 0!=f.options.actions.updateAction){var e=c("").html(f.options.messages.editRecord),e=c('').addClass("jtable-command-button jtable-edit-command-button").append(e).click(function(b){b.preventDefault();b.stopPropagation(); -f._showEditForm(a)});c("").addClass("jtable-command-column").append(e).appendTo(a)}},_showEditForm:function(a){for(var b=this,e=a.data("record"),h=c('
'),l=0;l
').appendTo(h),m.append(b._createInputLabelForRecordField(k)),g=b._getValueForRecordField(e,k),m.append(b._createInputForRecordField({fieldName:k,value:g,record:e,formType:"edit",form:h}))))}b._makeCascadeDropDowns(h,e,"edit");h.submit(function(){b._onSaveClickedOnEditForm();return!1});b._$editingRow=a;b._$editDiv.append(h).dialog("open");b._trigger("formCreated",null,{form:h,formType:"edit",record:e,row:a})},_saveEditForm:function(a,b){var c= -this;c._submitFormUsingAjax(c.options.actions.updateAction,a.serialize(),function(h){if("OK"!=h.Result)c._showError(h.Message),c._setEnabledOfDialogButton(b,!0,c.options.messages.save);else{var l=c._$editingRow.data("record");c._updateRecordValuesFromForm(l,a);c._updateRecordValuesFromServerResponse(l,h);c._updateRowTexts(c._$editingRow);c._$editingRow.attr("data-record-key",c._getKeyValueOfRecord(l));c._onRecordUpdated(c._$editingRow,h);c.options.animationsEnabled&&c._showUpdateAnimationForRow(c._$editingRow); -c._$editDiv.dialog("close")}},function(){c._showError(c.options.messages.serverCommunicationError);c._setEnabledOfDialogButton(b,!0,c.options.messages.save)})},_updateRecordValuesFromServerResponse:function(a,b){b&&b.Record&&c.extend(!0,a,b.Record)},_getValueForRecordField:function(a,b){var c=this.options.fields[b],h=a[b];return"date"==c.type?this._getDisplayTextForDateRecordField(c,h):h},_updateRowTexts:function(a){for(var b=a.data("record"),c=a.find("td"),h=0;h

').appendTo(a._$mainContainer),a._$deleteRecordDiv.dialog({autoOpen:!1,show:a.options.dialogShowEffect,hide:a.options.dialogHideEffect,modal:!0,title:a.options.messages.areYouSure, -buttons:[{text:a.options.messages.cancel,click:function(){a._$deleteRecordDiv.dialog("close")}},{id:"DeleteDialogButton",text:a.options.messages.deleteText,click:function(){if(a._$deletingRow.hasClass("jtable-row-removed"))a._$deleteRecordDiv.dialog("close");else{var b=c("#DeleteDialogButton");a._setEnabledOfDialogButton(b,!1,a.options.messages.deleting);a._deleteRecordFromServer(a._$deletingRow,function(){a._removeRowsFromTableWithAnimation(a._$deletingRow);a._$deleteRecordDiv.dialog("close")},function(c){a._showError(c); -a._setEnabledOfDialogButton(b,!0,a.options.messages.deleteText)})}}}],close:function(){var b=c("#DeleteDialogButton");a._setEnabledOfDialogButton(b,!0,a.options.messages.deleteText)}}))},deleteRows:function(a){var b=this;if(0>=a.length)b._logWarn("No rows specified to jTable deleteRows method.");else if(b._isBusy())b._logWarn("Can not delete rows since jTable is busy!");else if(1==a.length)b._deleteRecordFromServer(a,function(){b._removeRowsFromTableWithAnimation(a)},function(a){b._showError(a)}); -else{b._showBusy(b._formatString(b.options.messages.deleteProggress,0,a.length));var e=0,h=function(){var c=a.filter(".jtable-row-ready-to-remove");c.length=a.length&&h()},function(){++e;e>=a.length&&h()})})}},deleteRecord:function(a){var b=this;a=c.extend({clientOnly:!1,animationsEnabled:b.options.animationsEnabled,url:b.options.actions.deleteAction,success:function(){},error:function(){}},a);if(void 0==a.key)b._logWarn("options parameter in deleteRecord method must contain a key property.");else{var e=b.getRowByKey(a.key);null==e?b._logWarn("Can not found any row by key: "+a.key):a.clientOnly?(b._removeRowsFromTableWithAnimation(e,a.animationsEnabled), -a.success()):b._deleteRecordFromServer(e,function(c){b._removeRowsFromTableWithAnimation(e,a.animationsEnabled);a.success(c)},function(c){b._showError(c);a.error(c)},a.url)}},_addColumnsToHeaderRow:function(b){a.apply(this,arguments);void 0!=this.options.actions.deleteAction&&b.append(this._createEmptyCommandHeader())},_addCellsToRowUsingRecord:function(a){b.apply(this,arguments);var f=this;if(void 0!=f.options.actions.deleteAction){var e=c("").html(f.options.messages.deleteText),e=c('').addClass("jtable-command-button jtable-delete-command-button").append(e).click(function(b){b.preventDefault();b.stopPropagation();f._deleteButtonClickedForRow(a)});c("").addClass("jtable-command-column").append(e).appendTo(a)}},_deleteButtonClickedForRow:function(a){var b=this,e,h=b.options.messages.deleteConfirmation;if(c.isFunction(b.options.deleteConfirmation)){e={row:a,record:a.data("record"),deleteConfirm:!0,deleteConfirmMessage:h,cancel:!1, -cancelMessage:null};b.options.deleteConfirmation(e);if(e.cancel){e.cancelMessage&&b._showError(e.cancelMessage);return}h=e.deleteConfirmMessage;e=e.deleteConfirm}else e=b.options.deleteConfirmation;!1!=e?(b._$deleteRecordDiv.find(".jtable-delete-confirm-message").html(h),b._showDeleteDialog(a)):b._deleteRecordFromServer(a,function(){b._removeRowsFromTableWithAnimation(a)},function(a){b._showError(a)})},_showDeleteDialog:function(a){this._$deletingRow=a;this._$deleteRecordDiv.dialog("open")},_deleteRecordFromServer:function(a, -b,c,h){var l=this;if(!0!=a.data("deleting")){a.data("deleting",!0);var k={};k[l._keyField]=l._getKeyValueOfRecord(a.data("record"));this._ajax({url:h||l.options.actions.deleteAction,data:k,success:function(h){"OK"!=h.Result?(a.data("deleting",!1),c&&c(h.Message)):(l._trigger("recordDeleted",null,{record:a.data("record"),row:a,serverResponse:h}),b&&b(h))},error:function(){a.data("deleting",!1);c&&c(l.options.messages.serverCommunicationError)}})}},_removeRowsFromTableWithAnimation:function(a,b){var c= -this;void 0==b&&(b=c.options.animationsEnabled);if(b){var h="jtable-row-deleting";this.options.jqueryuiTheme&&(h+=" ui-state-disabled");a.stop(!0,!0).addClass(h,"slow","").promise().done(function(){c._removeRowsFromTable(a,"deleted")})}else c._removeRowsFromTable(a,"deleted")}})})(jQuery); -(function(c){var g=c.hik.jtable.prototype._create,a=c.hik.jtable.prototype._addColumnsToHeaderRow,b=c.hik.jtable.prototype._addCellsToRowUsingRecord,d=c.hik.jtable.prototype._onLoadingRecords,f=c.hik.jtable.prototype._onRecordsLoaded,e=c.hik.jtable.prototype._onRowsRemoved;c.extend(!0,c.hik.jtable.prototype,{options:{selecting:!1,multiselect:!1,selectingCheckboxes:!1,selectOnRowClick:!0,selectionChanged:function(a,b){}},_selectedRecordIdsBeforeLoad:null,_$selectAllCheckbox:null,_shiftKeyDown:!1,_create:function(){this.options.selecting&& -this.options.selectingCheckboxes&&(++this._firstDataColumnOffset,this._bindKeyboardEvents());g.apply(this,arguments)},_bindKeyboardEvents:function(){var a=this;c(document).keydown(function(b){switch(b.which){case 16:a._shiftKeyDown=!0}}).keyup(function(b){switch(b.which){case 16:a._shiftKeyDown=!1}})},selectedRows:function(){return this._getSelectedRows()},selectRows:function(a){this._selectRows(a);this._onSelectionChanged()},_addColumnsToHeaderRow:function(b){this.options.selecting&&this.options.selectingCheckboxes&& -(this.options.multiselect?b.append(this._createSelectAllHeader()):b.append(this._createEmptyCommandHeader()));a.apply(this,arguments)},_addCellsToRowUsingRecord:function(a){this.options.selecting&&this._makeRowSelectable(a);b.apply(this,arguments)},_onLoadingRecords:function(){this.options.selecting&&this._storeSelectionList();d.apply(this,arguments)},_onRecordsLoaded:function(){this.options.selecting&&this._restoreSelectionList();f.apply(this,arguments)},_onRowsRemoved:function(a,b){this.options.selecting&& -"reloading"!=b&&0').addClass("jtable-command-column-header jtable-column-header-selecting");this._jqueryuiThemeAddClass(b,"ui-state-default");var d=c("
").addClass("jtable-column-header-container").appendTo(b);a._$selectAllCheckbox=c('').appendTo(d).click(function(){if(0>=a._$tableRows.length)a._$selectAllCheckbox.attr("checked", -!1);else{var b=a._$tableBody.find(">tr.jtable-data-row");a._$selectAllCheckbox.is(":checked")?a._selectRows(b):a._deselectRows(b);a._onSelectionChanged()}});return b},_storeSelectionList:function(){var a=this;a.options.selecting&&(a._selectedRecordIdsBeforeLoad=[],a._getSelectedRows().each(function(){a._selectedRecordIdsBeforeLoad.push(a._getKeyValueOfRecord(c(this).data("record")))}))},_restoreSelectionList:function(){if(this.options.selecting){for(var a=0,b=0;btr.jtable-row-selected")},_makeRowSelectable:function(a){var b=this;b.options.selectOnRowClick&& -a.click(function(){b._invertRowSelection(a)});if(b.options.selectingCheckboxes){var d=c("").addClass("jtable-selecting-column"),e=c('').appendTo(d);b.options.selectOnRowClick||e.click(function(){b._invertRowSelection(a)});a.append(d)}},_invertRowSelection:function(a){if(a.hasClass("jtable-row-selected"))this._deselectRows(a);else if(this._shiftKeyDown){var b=this._findRowIndex(a),c=this._findFirstSelectedRowIndexBeforeIndex(b)+1;0b?this._selectRows(this._$tableBody.find("tr").slice(b,c+1)):this._selectRows(a))}else this._selectRows(a);this._onSelectionChanged()},_findFirstSelectedRowIndexBeforeIndex:function(a){for(a-=1;0<=a;--a)if(this._$tableRows[a].hasClass("jtable-row-selected"))return a;return-1},_findFirstSelectedRowIndexAfterIndex:function(a){for(a+=1;atd.jtable-selecting-column >input").prop("checked",!0);this._refreshSelectAllCheckboxState()},_deselectRows:function(a){a.removeClass("jtable-row-selected ui-state-highlight");this.options.selectingCheckboxes&&a.find(">td.jtable-selecting-column >input").prop("checked",!1);this._refreshSelectAllCheckboxState()},_refreshSelectAllCheckboxState:function(){if(this.options.selectingCheckboxes&& -this.options.multiselect){var a=this._$tableRows.length,b=this._getSelectedRows().length;0==b?(this._$selectAllCheckbox.prop("indeterminate",!1),this._$selectAllCheckbox.attr("checked",!1)):b==a?(this._$selectAllCheckbox.prop("indeterminate",!1),this._$selectAllCheckbox.attr("checked",!0)):(this._$selectAllCheckbox.attr("checked",!1),this._$selectAllCheckbox.prop("indeterminate",!0))}},_onSelectionChanged:function(){this._trigger("selectionChanged",null,{})}})})(jQuery); -(function(c){var g=c.hik.jtable.prototype.load,a=c.hik.jtable.prototype._create,b=c.hik.jtable.prototype._setOption,d=c.hik.jtable.prototype._createRecordLoadUrl,f=c.hik.jtable.prototype._addRowToTable,e=c.hik.jtable.prototype._addRow,h=c.hik.jtable.prototype._removeRowsFromTable,l=c.hik.jtable.prototype._onRecordsLoaded;c.extend(!0,c.hik.jtable.prototype,{options:{paging:!1,pageList:"normal",pageSize:10,pageSizes:[10,25,50,100,250,500],pageSizeChangeArea:!0,gotoPageArea:"combobox",messages:{pagingInfo:"Showing {0}-{1} of {2}", -pageSizeChangeLabel:"Row count",gotoPageLabel:"Go to page"}},_$bottomPanel:null,_$pagingListArea:null,_$pageSizeChangeArea:null,_$pageInfoSpan:null,_$gotoPageArea:null,_$gotoPageInput:null,_totalRecordCount:0,_currentPageNo:1,_create:function(){a.apply(this,arguments);this.options.paging&&(this._loadPagingSettings(),this._createBottomPanel(),this._createPageListArea(),this._createGotoPageInput(),this._createPageSizeSelection())},_loadPagingSettings:function(){if(this.options.saveUserPreferences){var a= -this._getCookie("page-size");a&&(this.options.pageSize=this._normalizeNumber(a,1,1E6,this.options.pageSize))}},_createBottomPanel:function(){this._$bottomPanel=c("
").addClass("jtable-bottom-panel").insertAfter(this._$table);this._jqueryuiThemeAddClass(this._$bottomPanel,"ui-state-default");c("
").addClass("jtable-left-area").appendTo(this._$bottomPanel);c("
").addClass("jtable-right-area").appendTo(this._$bottomPanel)},_createPageListArea:function(){this._$pagingListArea=c("").addClass("jtable-page-list").appendTo(this._$bottomPanel.find(".jtable-left-area")); -this._$pageInfoSpan=c("").addClass("jtable-page-info").appendTo(this._$bottomPanel.find(".jtable-right-area"))},_createPageSizeSelection:function(){var a=this;if(a.options.pageSizeChangeArea){0>a._findIndexInArray(a.options.pageSize,a.options.pageSizes)&&(a.options.pageSizes.push(parseInt(a.options.pageSize)),a.options.pageSizes.sort(function(a,b){return a-b}));a._$pageSizeChangeArea=c("").addClass("jtable-page-size-change").appendTo(a._$bottomPanel.find(".jtable-left-area")); -a._$pageSizeChangeArea.append(""+a.options.messages.pageSizeChangeLabel+": ");for(var b=c("").appendTo(a._$pageSizeChangeArea),d=0;d'+a.options.pageSizes[d]+"");b.val(a.options.pageSize);b.change(function(){a._changePageSize(parseInt(c(this).val()))})}},_createGotoPageInput:function(){var a=this;a.options.gotoPageArea&&"none"!=a.options.gotoPageArea&&(this._$gotoPageArea=c("").addClass("jtable-goto-page").appendTo(a._$bottomPanel.find(".jtable-left-area")), -this._$gotoPageArea.append(""+a.options.messages.gotoPageLabel+": "),"combobox"==a.options.gotoPageArea?(a._$gotoPageInput=c("").appendTo(this._$gotoPageArea).data("pageCount",1).change(function(){a._changePage(parseInt(c(this).val()))}),a._$gotoPageInput.append('')):a._$gotoPageInput=c('').appendTo(this._$gotoPageArea).keypress(function(b){13==b.which?(b.preventDefault(),a._changePage(parseInt(a._$gotoPageInput.val()))): -43==b.which?(b.preventDefault(),a._changePage(parseInt(a._$gotoPageInput.val())+1)):45==b.which?(b.preventDefault(),a._changePage(parseInt(a._$gotoPageInput.val())-1)):47b.keyCode&&!1==b.shiftKey&&!1==b.altKey||8==b.keyCode||9==b.keyCode||b.preventDefault()}))},_refreshGotoPageInput:function(){if(this.options.gotoPageArea&&"none"!=this.options.gotoPageArea){0>=this._totalRecordCount?this._$gotoPageArea.hide():this._$gotoPageArea.show();if("combobox"==this.options.gotoPageArea){var a= -this._$gotoPageInput.data("pageCount"),b=this._calculatePageCount();if(a!=b){this._$gotoPageInput.empty();a=1;1E4'+c+"");this._$gotoPageInput.data("pageCount",b)}}this._$gotoPageInput.val(this._currentPageNo)}},load:function(){this._currentPageNo=1;g.apply(this,arguments)},_setOption:function(a,c){b.apply(this,arguments);"pageSize"==a&&this._changePageSize(parseInt(c))},_changePageSize:function(a){if(a!= -this.options.pageSize){this.options.pageSize=a;var b=this._calculatePageCount();this._currentPageNo>b&&(this._currentPageNo=b);0>=this._currentPageNo&&(this._currentPageNo=1);b=this._$bottomPanel.find(".jtable-page-size-change select");0=this._$tableRows.length&&1a.indexOf("?")?"?":"&")+"jtStartIndex="+c+"&jtPageSize="+d},_createPagingList:function(){if(!(0>=this.options.pageSize||(this._$pagingListArea.empty(),0>=this._totalRecordCount))){var a=this._calculatePageCount();this._createFirstAndPreviousPageButtons(); -"normal"==this.options.pageList&&this._createPageNumberButtons(this._calculatePageNumbers(a));this._createLastAndNextPageButtons(a);this._bindClickEventsToPageNumberButtons()}},_createFirstAndPreviousPageButtons:function(){var a=c("").addClass("jtable-page-number-first").html("<<").data("pageNumber",1).appendTo(this._$pagingListArea),b=c("").addClass("jtable-page-number-previous").html("<").data("pageNumber",this._currentPageNo-1).appendTo(this._$pagingListArea);this._jqueryuiThemeAddClass(a, -"ui-button ui-state-default","ui-state-hover");this._jqueryuiThemeAddClass(b,"ui-button ui-state-default","ui-state-hover");1>=this._currentPageNo&&(a.addClass("jtable-page-number-disabled"),b.addClass("jtable-page-number-disabled"),this._jqueryuiThemeAddClass(a,"ui-state-disabled"),this._jqueryuiThemeAddClass(b,"ui-state-disabled"))},_createLastAndNextPageButtons:function(a){var b=c("").addClass("jtable-page-number-next").html(">").data("pageNumber",this._currentPageNo+1).appendTo(this._$pagingListArea), -d=c("").addClass("jtable-page-number-last").html(">>").data("pageNumber",a).appendTo(this._$pagingListArea);this._jqueryuiThemeAddClass(b,"ui-button ui-state-default","ui-state-hover");this._jqueryuiThemeAddClass(d,"ui-button ui-state-default","ui-state-hover");this._currentPageNo>=a&&(b.addClass("jtable-page-number-disabled"),d.addClass("jtable-page-number-disabled"),this._jqueryuiThemeAddClass(b,"ui-state-disabled"),this._jqueryuiThemeAddClass(d,"ui-state-disabled"))},_createPageNumberButtons:function(a){for(var b= -0,d=0;d").addClass("jtable-page-number-space").html("...").appendTo(this._$pagingListArea),this._createPageNumberButton(a[d]),b=a[d]},_createPageNumberButton:function(a){var b=c("").addClass("jtable-page-number").html(a).data("pageNumber",a).appendTo(this._$pagingListArea);this._jqueryuiThemeAddClass(b,"ui-button ui-state-default","ui-state-hover");this._currentPageNo==a&&(b.addClass("jtable-page-number-active jtable-page-number-disabled"),this._jqueryuiThemeAddClass(b, -"ui-state-active"))},_calculatePageCount:function(){var a=Math.floor(this._totalRecordCount/this.options.pageSize);0!=this._totalRecordCount%this.options.pageSize&&++a;return a},_calculatePageNumbers:function(a){if(4>=a){for(var b=[],c=1;c<=a;++c)b.push(c);return b}b=[1,2,a-1,a];c=this._normalizeNumber(this._currentPageNo-1,1,a,1);a=this._normalizeNumber(this._currentPageNo+1,1,a,1);this._insertToArrayIfDoesNotExists(b,c);this._insertToArrayIfDoesNotExists(b,this._currentPageNo);this._insertToArrayIfDoesNotExists(b, -a);b.sort(function(a,b){return a-b});return b},_createPagingInfo:function(){if(0>=this._totalRecordCount)this._$pageInfoSpan.empty();else{var a=(this._currentPageNo-1)*this.options.pageSize+1,b=this._currentPageNo*this.options.pageSize,b=this._normalizeNumber(b,a,this._totalRecordCount,0);b>=a&&(a=this._formatString(this.options.messages.pagingInfo,a,b,this._totalRecordCount),this._$pageInfoSpan.html(a))}},_bindClickEventsToPageNumberButtons:function(){var a=this;a._$pagingListArea.find(".jtable-page-number,.jtable-page-number-previous,.jtable-page-number-next,.jtable-page-number-first,.jtable-page-number-last").not(".jtable-page-number-disabled").click(function(b){b.preventDefault(); -a._changePage(c(this).data("pageNumber"))})},_changePage:function(a){a=this._normalizeNumber(a,1,this._calculatePageCount(),1);a==this._currentPageNo?this._refreshGotoPageInput():(this._currentPageNo=a,this._reloadTable())}})})(jQuery); -(function(c){var g=c.hik.jtable.prototype._initializeFields,a=c.hik.jtable.prototype._normalizeFieldOptions,b=c.hik.jtable.prototype._createHeaderCellForField,d=c.hik.jtable.prototype._createRecordLoadUrl;c.extend(!0,c.hik.jtable.prototype,{options:{sorting:!1,multiSorting:!1,defaultSorting:""},_lastSorting:null,_initializeFields:function(){g.apply(this,arguments);this._lastSorting=[];this.options.sorting&&this._buildDefaultSortingArray()},_normalizeFieldOptions:function(b,c){a.apply(this,arguments); -c.sorting=!1!=c.sorting},_createHeaderCellForField:function(a,c){var d=b.apply(this,arguments);this.options.sorting&&c.sorting&&this._makeColumnSortable(d,a);return d},_createRecordLoadUrl:function(){var a=d.apply(this,arguments);return a=this._addSortingInfoToUrl(a)},_buildDefaultSortingArray:function(){var a=this;c.each(a.options.defaultSorting.split(","),function(b,d){c.each(a.options.fields,function(b,c){if(c.sorting){var e=d.indexOf(b);-1a.indexOf("?")?"?":"&")+"jtSorting="+b.join(",")}})})(jQuery); -(function(c){var g=c.hik.jtable.prototype._create,a=c.hik.jtable.prototype._normalizeFieldOptions,b=c.hik.jtable.prototype._createHeaderCellForField,d=c.hik.jtable.prototype._createCellForRecordField;c.extend(!0,c.hik.jtable.prototype,{options:{tableId:void 0,columnResizable:!0,columnSelectable:!0},_$columnSelectionDiv:null,_$columnResizeBar:null,_cookieKeyPrefix:null,_currentResizeArgs:null,_create:function(){g.apply(this,arguments);this._createColumnResizeBar();this._createColumnSelection();this.options.saveUserPreferences&& -this._loadColumnSettings();this._normalizeColumnWidths()},_normalizeFieldOptions:function(b,c){a.apply(this,arguments);this.options.columnResizable&&(c.columnResizable=!1!=c.columnResizable);c.visibility||(c.visibility="visible")},_createHeaderCellForField:function(a,c){var d=b.apply(this,arguments);this.options.columnResizable&&c.columnResizable&&a!=this._columnList[this._columnList.length-1]&&this._makeColumnResizable(d);"hidden"==c.visibility&&d.hide();return d},_createCellForRecordField:function(a, -b){var c=d.apply(this,arguments);"hidden"==this.options.fields[b].visibility&&c.hide();return c},changeColumnVisibility:function(a,b){this._changeColumnVisibilityInternal(a,b);this._normalizeColumnWidths();this.options.saveUserPreferences&&this._saveColumnSettings()},_changeColumnVisibilityInternal:function(a,b){var c=this._columnList.indexOf(a);if(0>c)this._logWarn('Column "'+a+'" does not exist in fields!');else if(0>["visible","hidden","fixed"].indexOf(b))this._logWarn('Visibility value is not valid: "'+ -b+'"! Options are: visible, hidden, fixed.');else{var d=this.options.fields[a];d.visibility!=b&&(c=this._firstDataColumnOffset+c+1,"hidden"!=d.visibility&&"hidden"==b?this._$table.find(">thead >tr >th:nth-child("+c+"),>tbody >tr >td:nth-child("+c+")").hide():"hidden"==d.visibility&&"hidden"!=b&&this._$table.find(">thead >tr >th:nth-child("+c+"),>tbody >tr >td:nth-child("+c+")").show().css("display","table-cell"),d.visibility=b)}},_createColumnSelection:function(){var a=this;this._$columnSelectionDiv= -c("
").addClass("jtable-column-selection-container").appendTo(a._$mainContainer);this._$table.children("thead").bind("contextmenu",function(b){if(a.options.columnSelectable){b.preventDefault();c("
").addClass("jtable-contextmenu-overlay").click(function(){c(this).remove();a._$columnSelectionDiv.hide()}).bind("contextmenu",function(){return!1}).appendTo(document.body);a._fillColumnSelection();var d=a._$mainContainer.offset(),g=b.pageY-d.top;b=b.pageX-d.left;d=a._$mainContainer.width(); -100d-100&&(b=d-100);a._$columnSelectionDiv.css({left:b,top:g,"min-width":"100px"}).show()}})},_fillColumnSelection:function(){for(var a=this,b=c("
    ").addClass("jtable-column-select-list"),d=0;d").appendTo(b),m=c('').append(c(""+(k.title||g)+"")).appendTo(m),g=c('').prependTo(m).click(function(){var b=c(this),d=b.attr("name"); -"fixed"!=a.options.fields[d].visibility&&a.changeColumnVisibility(d,b.is(":checked")?"visible":"hidden")});"hidden"!=k.visibility&&g.attr("checked","checked");"fixed"==k.visibility&&g.attr("disabled","disabled")}this._$columnSelectionDiv.html(b)},_createColumnResizeBar:function(){this._$columnResizeBar=c("
    ").addClass("jtable-column-resize-bar").appendTo(this._$mainContainer).hide()},_makeColumnResizable:function(a){var b=this;c("
    ").addClass("jtable-column-resize-handler").appendTo(a.find(".jtable-column-header-container")).mousedown(function(d){d.preventDefault(); -d.stopPropagation();var g=b._$mainContainer.offset(),k=a.nextAll("th.jtable-column-header:visible:first");if(k.length){b._currentResizeArgs={currentColumnStartWidth:a.outerWidth(),minWidth:10,maxWidth:a.outerWidth()+k.outerWidth()-10,mouseStartX:d.pageX,minResizeX:function(){return this.mouseStartX-(this.currentColumnStartWidth-this.minWidth)},maxResizeX:function(){return this.mouseStartX+(this.maxWidth-this.currentColumnStartWidth)}};var m=function(a){b._currentResizeArgs&&(a=b._normalizeNumber(a.pageX, -b._currentResizeArgs.minResizeX(),b._currentResizeArgs.maxResizeX()),b._$columnResizeBar.css("left",a-g.left+"px"))},n=function(d){if(b._currentResizeArgs){c(document).unbind("mousemove",m);c(document).unbind("mouseup",n);b._$columnResizeBar.hide();d=b._normalizeNumber(b._currentResizeArgs.currentColumnStartWidth+(d.pageX-b._currentResizeArgs.mouseStartX),b._currentResizeArgs.minWidth,b._currentResizeArgs.maxWidth);var g=k.outerWidth()+(b._currentResizeArgs.currentColumnStartWidth-d),h=a.data("width-in-percent")/ -b._currentResizeArgs.currentColumnStartWidth;a.data("width-in-percent",d*h);k.data("width-in-percent",g*h);a.css("width",a.data("width-in-percent")+"%");k.css("width",k.data("width-in-percent")+"%");b._normalizeColumnWidths();b._currentResizeArgs=null;b.options.saveUserPreferences&&b._saveColumnSettings()}};b._$columnResizeBar.show().css({top:a.offset().top-g.top+"px",left:d.pageX-g.left+"px",height:b._$table.outerHeight()+"px"});c(document).bind("mousemove",m);c(document).bind("mouseup",n)}})},_normalizeColumnWidths:function(){var a= -this._$table.find(">thead th.jtable-command-column-header").data("width-in-percent",1).css("width","1%"),b=this._$table.find(">thead th.jtable-column-header"),d=0;b.each(function(){var a=c(this);a.is(":visible")&&(d+=a.outerWidth())});var g={},k=100-a.length;b.each(function(){var a=c(this);if(a.is(":visible")){var b=a.data("fieldName"),a=a.outerWidth()*k/d;g[b]=a}});b.each(function(){var a=c(this);if(a.is(":visible")){var b=a.data("fieldName");a.data("width-in-percent",g[b]).css("width",g[b]+"%")}})}, -_saveColumnSettings:function(){var a=this,b="";this._$table.find(">thead >tr >th.jtable-column-header").each(function(){var d=c(this),g=d.data("fieldName"),d=d.data("width-in-percent");b=b+(g+"="+a.options.fields[g].visibility+";"+d)+"|"});this._setCookie("column-settings",b.substr(0,b.length-1))},_loadColumnSettings:function(){var a=this,b=this._getCookie("column-settings");if(b){var d={};c.each(b.split("|"),function(a,b){var c=b.split("="),e=c[0],c=c[1].split(";");d[e]={columnVisibility:c[0],columnWidth:c[1]}}); -this._$table.find(">thead >tr >th.jtable-column-header").each(function(){var b=c(this),e=b.data("fieldName"),g=a.options.fields[e];d[e]&&("fixed"!=g.visibility&&a._changeColumnVisibilityInternal(e,d[e].columnVisibility),b.data("width-in-percent",d[e].columnWidth).css("width",d[e].columnWidth+"%"))})}}})})(jQuery); -(function(c){var g=c.hik.jtable.prototype._removeRowsFromTable;c.extend(!0,c.hik.jtable.prototype,{options:{openChildAsAccordion:!1},openChildTable:function(a,b,d){var f=this;void 0==b.jqueryuiTheme&&(b.jqueryuiTheme=f.options.jqueryuiTheme);b.showCloseButton=!1!=b.showCloseButton;b.showCloseButton&&!b.closeRequested&&(b.closeRequested=function(){f.closeChildTable(a)});f.options.openChildAsAccordion&&a.siblings(".jtable-data-row").each(function(){f.closeChildTable(c(this))});f.closeChildTable(a,function(){var e= -f.getChildRow(a).children("td").empty(),g=c("
    ").addClass("jtable-child-table-container").appendTo(e);e.data("childTable",g);g.jtable(b);f.openChildRow(a);g.hide().slideDown("fast",function(){d&&d({childTable:g})})})},closeChildTable:function(a,b){var c=this,f=this.getChildRow(a).children("td"),e=f.data("childTable");e?(f.data("childTable",null),e.slideUp("fast",function(){e.jtable("destroy");e.remove();c.closeChildRow(a);b&&b()})):b&&b()},isChildRowOpen:function(a){return this.getChildRow(a).is(":visible")}, -getChildRow:function(a){return a.data("childRow")||this._createChildRow(a)},openChildRow:function(a){a=this.getChildRow(a);a.is(":visible")||a.show();return a},closeChildRow:function(a){a=this.getChildRow(a);a.is(":visible")&&a.hide()},_removeRowsFromTable:function(a,b){"deleted"==b&&a.each(function(){var a=c(this).data("childRow");a&&a.remove()});g.apply(this,arguments)},_createChildRow:function(a){var b=this._$table.find("thead th").length,b=c("").addClass("jtable-child-row").append('');a.after(b);a.data("childRow",b);b.hide();return b}})})(jQuery); \ No newline at end of file +(function($){var unloadingPage;$(window).on("beforeunload",function(){unloadingPage=true});$(window).on("unload",function(){unloadingPage=false});$.widget("hik.jtable",{options:{actions:{},fields:{},animationsEnabled:true,defaultDateFormat:"yy-mm-dd",dialogShowEffect:"fade",dialogHideEffect:"fade",showCloseButton:false,loadingAnimationDelay:500,saveUserPreferences:true,jqueryuiTheme:false,useBootstrap:true,ajaxSettings:{type:"POST",dataType:"json"},toolbar:{hoverAnimation:true,hoverAnimationDuration:60,hoverAnimationEasing:undefined,items:[]},closeRequested:function(event,data){},formCreated:function(event,data){},formSubmitting:function(event,data){},formClosed:function(event,data){},loadingRecords:function(event,data){},recordsLoaded:function(event,data){},rowInserted:function(event,data){},rowsRemoved:function(event,data){},messages:{serverCommunicationError:"An error occured while communicating to the server.",loadingMessage:"Loading records...",noDataAvailable:"No data available!",areYouSure:"Are you sure?",save:"Save",saving:"Saving",cancel:"Cancel",error:"Error",close:"Close",cannotLoadOptionsFor:"Can not load options for field {0}"}},_$mainContainer:null,_$titleDiv:null,_$toolbarDiv:null,_$table:null,_$tableBody:null,_$tableRows:null,_$busyDiv:null,_$busyMessageDiv:null,_$errorDialogDiv:null,_columnList:null,_fieldList:null,_keyField:null,_firstDataColumnOffset:0,_lastPostData:null,_cache:null,_create:function(){this._normalizeFieldsOptions();this._initializeFields();this._createFieldAndColumnList();this._createMainContainer();this._createTableTitle();this._createToolBar();this._createTable();this._createBusyPanel();this._createErrorDialogDiv();this._addNoDataRow();this._cookieKeyPrefix=this._generateCookieKeyPrefix()},_normalizeFieldsOptions:function(){var self=this;$.each(self.options.fields,function(fieldName,props){self._normalizeFieldOptions(fieldName,props)})},_normalizeFieldOptions:function(fieldName,props){if(props.listClass==undefined){props.listClass=""}if(props.inputClass==undefined){props.inputClass=""}if(props.dependsOn&&$.type(props.dependsOn)==="string"){var dependsOnArray=props.dependsOn.split(",");props.dependsOn=[];for(var i=0;i").addClass("jtable-main-container").appendTo(this.element);this._jqueryuiThemeAddClass(this._$mainContainer,"ui-widget")},_createTableTitle:function(){var self=this;if(!self.options.title){return}var $titleDiv=$("
    ").addClass("jtable-title").appendTo(self._$mainContainer);self._jqueryuiThemeAddClass($titleDiv,"ui-widget-header");$("
    ").addClass("jtable-title-text").appendTo($titleDiv).append(self.options.title);if(self.options.showCloseButton){var $textSpan=$("").html(self.options.messages.close);$("").addClass("jtable-command-button jtable-close-button").attr("title",self.options.messages.close).append($textSpan).appendTo($titleDiv).click(function(e){e.preventDefault();e.stopPropagation();self._onCloseRequested()})}self._$titleDiv=$titleDiv},_createTable:function(){this._$table=$("
    ").addClass("jtable").appendTo(this._$mainContainer);if(this.options.tableId){this._$table.attr("id",this.options.tableId)}this._jqueryuiThemeAddClass(this._$table,"ui-widget-content");this._createTableHead();this._createTableBody()},_createTableHead:function(){var $thead=$("").appendTo(this._$table);this._addRowToTableHead($thead)},_addRowToTableHead:function($thead){var $tr=$("").appendTo($thead);this._addColumnsToHeaderRow($tr)},_addColumnsToHeaderRow:function($tr){for(var i=0;i").addClass("jtable-column-header-text").html(field.title);var $headerContainerDiv=$("
    ").addClass("jtable-column-header-container").append($headerTextSpan);var $th=$("").addClass("jtable-column-header").addClass(field.listClass).css("width",field.width).data("fieldName",fieldName).append($headerContainerDiv);this._jqueryuiThemeAddClass($th,"ui-state-default");return $th},_createEmptyCommandHeader:function(){var $th=$("").addClass("jtable-command-column-header").css("width","1%");this._jqueryuiThemeAddClass($th,"ui-state-default");return $th},_createTableBody:function(){this._$tableBody=$("").appendTo(this._$table)},_createBusyPanel:function(){this._$busyMessageDiv=$("
    ").addClass("jtable-busy-message").prependTo(this._$mainContainer);this._$busyDiv=$("
    ").addClass("jtable-busy-panel-background").prependTo(this._$mainContainer);this._jqueryuiThemeAddClass(this._$busyMessageDiv,"ui-widget-header");this._hideBusy()},_createErrorDialogDiv:function(){var self=this;if(self.options.useBootstrap){self._$errorDialogDiv=$('").appendTo(self._$mainContainer);self._$errorDialogDiv.modal({show:false})}else{self._$errorDialogDiv=$("
    ").appendTo(self._$mainContainer);self._$errorDialogDiv.dialog({autoOpen:false,show:self.options.dialogShowEffect,hide:self.options.dialogHideEffect,modal:true,title:self.options.messages.error,buttons:[{text:self.options.messages.close,click:function(){self._$errorDialogDiv.dialog("close")}}]})}},load:function(postData,completeCallback){this._lastPostData=postData;this._reloadTable(completeCallback)},reload:function(completeCallback){this._reloadTable(completeCallback)},getRowByKey:function(key){for(var i=0;i").addClass("jtable-data-row").attr("data-record-key",this._getKeyValueOfRecord(record)).data("record",record);this._addCellsToRowUsingRecord($tr);return $tr},_addCellsToRowUsingRecord:function($row){var record=$row.data("record");for(var i=0;i").addClass(this.options.fields[fieldName].listClass).append((this._getDisplayTextForRecordField(record,fieldName)))},_addRecordsToTable:function(records){var self=this;$.each(records,function(index,record){self._addRow(self._createRowFromRecord(record))});self._refreshRowStyles()},_addRowToTable:function($tableRow,index,isNewRow,animationsEnabled){var options={index:this._normalizeNumber(index,0,this._$tableRows.length,this._$tableRows.length)};if(isNewRow==true){options.isNewRow=true}if(animationsEnabled==false){options.animationsEnabled=false}this._addRow($tableRow,options)},_addRow:function($row,options){options=$.extend({index:this._$tableRows.length,isNewRow:false,animationsEnabled:true},options);if(this._$tableRows.length<=0){this._removeNoDataRow()}options.index=this._normalizeNumber(options.index,0,this._$tableRows.length,this._$tableRows.length);if(options.index==this._$tableRows.length){this._$tableBody.append($row);this._$tableRows.push($row)}else{if(options.index==0){this._$tableBody.prepend($row);this._$tableRows.unshift($row)}else{this._$tableRows[options.index-1].after($row);this._$tableRows.splice(options.index,0,$row)}}this._onRowInserted($row,options.isNewRow);if(options.isNewRow){this._refreshRowStyles();if(this.options.animationsEnabled&&options.animationsEnabled){this._showNewRowAnimation($row)}}},_showNewRowAnimation:function($tableRow){var className="jtable-row-created";if(this.options.jqueryuiTheme){className=className+" ui-state-highlight"}$tableRow.addClass(className,"slow","",function(){$tableRow.removeClass(className,5000)})},_removeRowsFromTable:function($rows,reason){var self=this;if($rows.length<=0){return}$rows.addClass("jtable-row-removed").remove();$rows.each(function(){var index=self._findRowIndex($(this));if(index>=0){self._$tableRows.splice(index,1)}});self._onRowsRemoved($rows,reason);if(self._$tableRows.length==0){self._addNoDataRow()}self._refreshRowStyles()},_findRowIndex:function($row){return this._findIndexInArray($row,this._$tableRows,function($row1,$row2){return $row1.data("record")==$row2.data("record")})},_removeAllRows:function(reason){if(this._$tableRows.length<=0){return}var $rows=this._$tableBody.find("tr.jtable-data-row");this._$tableBody.empty();this._$tableRows=[];this._onRowsRemoved($rows,reason);this._addNoDataRow()},_addNoDataRow:function(){if(this._$tableBody.find(">tr.jtable-no-data-row").length>0){return}var $tr=$("").addClass("jtable-no-data-row").appendTo(this._$tableBody);var totalColumnCount=this._$table.find("thead th").length;$("").attr("colspan",totalColumnCount).html(this.options.messages.noDataAvailable).appendTo($tr)},_removeNoDataRow:function(){this._$tableBody.find(".jtable-no-data-row").remove()},_refreshRowStyles:function(){for(var i=0;i0){options.sort(function(a,b){return compareFunc(b,a)})}else{options.sort(function(a,b){return compareFunc(a,b)})}},_buildOptionsArrayFromObject:function(options){var list=[];$.each(options,function(propName,propValue){list.push({Value:propName,DisplayText:propValue})});return list},_buildOptionsFromArray:function(optionsArray){var list=[];for(var i=0;i=0){return new Date(parseInt(dateString.substr(6),10))}else{if(dateString.length==10){return new Date(parseInt(dateString.substr(0,4),10),parseInt(dateString.substr(5,2),10)-1,parseInt(dateString.substr(8,2),10))}else{if(dateString.length==19){return new Date(parseInt(dateString.substr(0,4),10),parseInt(dateString.substr(5,2),10)-1,parseInt(dateString.substr(8,2,10)),parseInt(dateString.substr(11,2),10),parseInt(dateString.substr(14,2),10),parseInt(dateString.substr(17,2),10))}else{this._logWarn("Given date is not properly formatted: "+dateString);return"format error!"}}}},_createToolBar:function(){this._$toolbarDiv=$("
    ").addClass("jtable-toolbar").appendTo(this._$titleDiv);for(var i=0;i").addClass("jtable-toolbar-item").appendTo(this._$toolbarDiv);this._jqueryuiThemeAddClass($toolBarItem,"ui-widget ui-state-default ui-corner-all","ui-state-hover");if(item.cssClass){$toolBarItem.addClass(item.cssClass)}if(item.tooltip){$toolBarItem.attr("title",item.tooltip)}if(item.icon){var $icon=$('').appendTo($toolBarItem);if(item.icon===true){}else{if($.type(item.icon==="string")){$icon.css("background",'url("'+item.icon+'")')}}}if(item.text){$('').html(item.text).addClass("jtable-toolbar-item-text").appendTo($toolBarItem)}if(item.click){$toolBarItem.click(function(){item.click()})}var hoverAnimationDuration=undefined;var hoverAnimationEasing=undefined;if(this.options.toolbar.hoverAnimation){hoverAnimationDuration=this.options.toolbar.hoverAnimationDuration;hoverAnimationEasing=this.options.toolbar.hoverAnimationEasing}$toolBarItem.hover(function(){$toolBarItem.addClass("jtable-toolbar-item-hover",hoverAnimationDuration,hoverAnimationEasing)},function(){$toolBarItem.removeClass("jtable-toolbar-item-hover",hoverAnimationDuration,hoverAnimationEasing)});return $toolBarItem},_showError:function(message){if(this.options.useBootstrap){this._$errorDialogDiv.find(".modal-body").html(message);this._$errorDialogDiv.modal("show")}else{this._$errorDialogDiv.html(message).dialog("open")}},_setBusyTimer:null,_showBusy:function(message,delay){var self=this;self._$busyDiv.width(self._$mainContainer.width()).height(self._$mainContainer.height()).addClass("jtable-busy-panel-background-invisible").show();var makeVisible=function(){self._$busyDiv.removeClass("jtable-busy-panel-background-invisible");self._$busyMessageDiv.html(message).show()};if(delay){if(self._setBusyTimer){return}self._setBusyTimer=setTimeout(makeVisible,delay)}else{makeVisible()}},_hideBusy:function(){clearTimeout(this._setBusyTimer);this._setBusyTimer=null;this._$busyDiv.hide();this._$busyMessageDiv.html("").hide()},_isBusy:function(){return this._$busyMessageDiv.is(":visible")},_jqueryuiThemeAddClass:function($elm,className,hoverClassName){if(!this.options.jqueryuiTheme){return}$elm.addClass(className);if(hoverClassName){$elm.hover(function(){$elm.addClass(hoverClassName)},function(){$elm.removeClass(hoverClassName)})}},_performAjaxCall:function(url,postData,async,success,error){this._ajax({url:url,data:postData,async:async,success:success,error:error})},_ajax:function(options){var opts=$.extend({},this.options.ajaxSettings,options);opts.success=function(data){if(options.success){options.success(data)}};opts.error=function(jqXHR,textStatus,errorThrown){if(unloadingPage){jqXHR.abort();return}if(options.error){options.error(arguments)}};opts.complete=function(){if(options.complete){options.complete()}};$.ajax(opts)},_getKeyValueOfRecord:function(record){return record[this._keyField]},_setCookie:function(key,value){key=this._cookieKeyPrefix+key;var expireDate=new Date();expireDate.setDate(expireDate.getDate()+30);document.cookie=encodeURIComponent(key)+"="+encodeURIComponent(value)+"; expires="+expireDate.toUTCString()},_getCookie:function(key){key=this._cookieKeyPrefix+key;var equalities=document.cookie.split("; ");for(var i=0;imax){return max}return number},_formatString:function(){if(arguments.length==0){return null}var str=arguments[0];for(var i=1;i").addClass("jtable-input-label").html(this.options.fields[fieldName].inputTitle||this.options.fields[fieldName].title)},_createInputForRecordField:function(funcParams){var fieldName=funcParams.fieldName,value=funcParams.value,record=funcParams.record,formType=funcParams.formType,form=funcParams.form;var field=this.options.fields[fieldName];if(value==undefined||value==null){value=field.defaultValue}if(field.input){var $input=$(field.input({value:value,record:record,formType:formType,form:form}));if(!$input.attr("id")){$input.attr("id","Edit-"+fieldName)}return $("
    ").addClass("jtable-input jtable-custom-input").append($input)}if(field.type=="date"){return this._createDateInputForField(field,fieldName,value)}else{if(field.type=="textarea"){return this._createTextAreaForField(field,fieldName,value)}else{if(field.type=="password"){return this._createPasswordInputForField(field,fieldName,value)}else{if(field.type=="checkbox"){return this._createCheckboxForField(field,fieldName,value)}else{if(field.options){if(field.type=="radiobutton"){return this._createRadioButtonListForField(field,fieldName,value,record,formType)}else{return this._createDropDownListForField(field,fieldName,value,record,formType,form)}}else{return this._createTextInputForField(field,fieldName,value)}}}}}},_createInputForHidden:function(fieldName,value){if(value==undefined){value=""}return $('').val(value)},_createDateInputForField:function(field,fieldName,value){var $input=$('');if(value!=undefined){$input.val(value)}var displayFormat=field.displayFormat||this.options.defaultDateFormat;$input.datepicker({dateFormat:displayFormat});return $("
    ").addClass("jtable-input jtable-date-input").append($input)},_createTextAreaForField:function(field,fieldName,value){var $textArea=$('');if(value!=undefined){$textArea.val(value)}return $("
    ").addClass("jtable-input jtable-textarea-input").append($textArea)},_createTextInputForField:function(field,fieldName,value){var $input=$('');if(value!=undefined){$input.val(value)}return $("
    ").addClass("jtable-input jtable-text-input").append($input)},_createPasswordInputForField:function(field,fieldName,value){var $input=$('');if(value!=undefined){$input.val(value)}return $("
    ").addClass("jtable-input jtable-password-input").append($input)},_createCheckboxForField:function(field,fieldName,value){var self=this;if(value==undefined){value=self._getCheckBoxPropertiesForFieldByState(fieldName,false).Value}var $containerDiv=$("
    ").addClass("jtable-input jtable-checkbox-input");var $checkBox=$('').appendTo($containerDiv);if(value!=undefined){$checkBox.val(value)}var $textSpan=$(""+(field.formText||self._getCheckBoxTextForFieldByValue(fieldName,value))+"").appendTo($containerDiv);if(self._getIsCheckBoxSelectedForFieldByValue(fieldName,value)){$checkBox.attr("checked","checked")}var refreshCheckBoxValueAndText=function(){var checkboxProps=self._getCheckBoxPropertiesForFieldByState(fieldName,$checkBox.is(":checked"));$checkBox.attr("value",checkboxProps.Value);$textSpan.html(field.formText||checkboxProps.DisplayText)};$checkBox.click(function(){refreshCheckBoxValueAndText()});if(field.setOnTextClick!=false){$textSpan.addClass("jtable-option-text-clickable").click(function(){if($checkBox.is(":checked")){$checkBox.attr("checked",false)}else{$checkBox.attr("checked",true)}refreshCheckBoxValueAndText()})}return $containerDiv},_createDropDownListForField:function(field,fieldName,value,record,source,form){var $containerDiv=$("
    ").addClass("jtable-input jtable-dropdown-input");var $select=$('').appendTo($containerDiv);var options=this._getOptionsForField(fieldName,{record:record,source:source,form:form,dependedValues:this._createDependedValuesUsingForm(form,field.dependsOn)});this._fillDropDownListWithOptions($select,options,value);return $containerDiv},_fillDropDownListWithOptions:function($select,options,value){$select.empty();for(var i=0;i"+options[i].DisplayText+"").val(options[i].Value).appendTo($select)}},_createDependedValuesUsingForm:function($form,dependsOn){if(!dependsOn){return{}}var dependedValues={};for(var i=0;i").addClass("jtable-input jtable-radiobuttonlist-input");var options=this._getOptionsForField(fieldName,{record:record,source:source});$.each(options,function(i,option){var $radioButtonDiv=$('
    ').addClass("jtable-radio-input").appendTo($containerDiv);var $radioButton=$('").val(option.Value).appendTo($radioButtonDiv);var $textSpan=$("").html(option.DisplayText).appendTo($radioButtonDiv);if(field.setOnTextClick!=false){$textSpan.addClass("jtable-option-text-clickable").click(function(){if(!$radioButton.is(":checked")){$radioButton.attr("checked",true)}})}});return $containerDiv},_getCheckBoxTextForFieldByValue:function(fieldName,value){return this.options.fields[fieldName].values[value]},_getIsCheckBoxSelectedForFieldByValue:function(fieldName,value){return(this._createCheckBoxStateArrayForFieldWithCaching(fieldName)[1].Value.toString()==value.toString())},_getCheckBoxPropertiesForFieldByState:function(fieldName,checked){return this._createCheckBoxStateArrayForFieldWithCaching(fieldName)[(checked?1:0)]},_createCheckBoxStateArrayForFieldWithCaching:function(fieldName){var cacheKey="checkbox_"+fieldName;if(!this._cache[cacheKey]){this._cache[cacheKey]=this._createCheckBoxStateArrayForField(fieldName)}return this._cache[cacheKey]},_createCheckBoxStateArrayForField:function(fieldName){var stateArray=[];var currentIndex=0;$.each(this.options.fields[fieldName].values,function(propName,propValue){if(currentIndex++<2){stateArray.push({Value:propName,DisplayText:propValue})}});return stateArray},_makeCascadeDropDowns:function($form,record,source){var self=this;$form.find("select").each(function(){var $thisDropdown=$(this);var fieldName=$thisDropdown.attr("name");if(!fieldName){return}var field=self.options.fields[fieldName];if(!field.dependsOn){return}$.each(field.dependsOn,function(index,dependsOnField){var $dependsOnDropdown=$form.find("select[name="+dependsOnField+"]");$dependsOnDropdown.change(function(){var funcParams={record:record,source:source,form:$form,dependedValues:{}};funcParams.dependedValues=self._createDependedValuesUsingForm($form,field.dependsOn);var options=self._getOptionsForField(fieldName,funcParams);self._fillDropDownListWithOptions($thisDropdown,options,undefined);$thisDropdown.change()})})})},_updateRecordValuesFromForm:function(record,$form){for(var i=0;i").appendTo(self._$mainContainer);if(self.options.useBootstrap){self._$addRecordDiv.addClass("modal hide fade");self._$addRecordDiv.css({width:"auto"});self._$addRecordDiv.append('");self._$addRecordDiv.find(".save").click(function(event){self._onSaveClickedOnCreateForm()});self._$addRecordDiv.modal({show:false});self._$addRecordDiv.on("hide",function(event){var $addRecordForm=self._$addRecordDiv.find("form").first();var $saveButton=$("#AddRecordDialogSaveButton");self._trigger("formClosed",null,{form:$addRecordForm,formType:"create"});self._setEnabledOfDialogButton(self.options.useBootstrap,$saveButton,true,self.options.messages.save);$addRecordForm.remove()})}else{self._$addRecordDiv.dialog({autoOpen:false,show:self.options.dialogShowEffect,hide:self.options.dialogHideEffect,width:"auto",minWidth:"300",modal:true,title:self.options.messages.addNewRecord,buttons:[{text:self.options.messages.cancel,click:function(){self._$addRecordDiv.dialog("close")}},{id:"AddRecordDialogSaveButton",text:self.options.messages.save,click:function(){self._onSaveClickedOnCreateForm()}}],close:function(){var $addRecordForm=self._$addRecordDiv.find("form").first();var $saveButton=$("#AddRecordDialogSaveButton");self._trigger("formClosed",null,{form:$addRecordForm,formType:"create"});self._setEnabledOfDialogButton(self.options.useBootstrap,$saveButton,true,self.options.messages.save);$addRecordForm.remove()}})}if(self.options.addRecordButton){self.options.addRecordButton.click(function(e){e.preventDefault();self._showAddRecordForm()})}else{self._addToolBarItem({icon:true,cssClass:"jtable-toolbar-item-add-record",text:self.options.messages.addNewRecord,click:function(){self._showAddRecordForm()}})}},_onSaveClickedOnCreateForm:function(){var self=this;var $saveButton=$("#AddRecordDialogSaveButton");var $addRecordForm=self._$addRecordDiv.find("form");if(self._trigger("formSubmitting",null,{form:$addRecordForm,formType:"create"})!=false){self._setEnabledOfDialogButton(self.options.useBootstrap,$saveButton,false,self.options.messages.saving);self._saveAddRecordForm($addRecordForm,$saveButton)}},showCreateForm:function(){this._showAddRecordForm()},addRecord:function(options){var self=this;options=$.extend({clientOnly:false,animationsEnabled:self.options.animationsEnabled,url:self.options.actions.createAction,success:function(){},error:function(){}},options);if(!options.record){self._logWarn("options parameter in addRecord method must contain a record property.");return}if(options.clientOnly){self._addRow(self._createRowFromRecord(options.record),{isNewRow:true,animationsEnabled:options.animationsEnabled});options.success();return}self._submitFormUsingAjax(options.url,$.param(options.record),function(data){if(data.Result!="OK"){self._showError(data.Message);options.error(data);return}if(!data.Record){self._logError("Server must return the created Record object.");options.error(data);return}self._onRecordAdded(data);self._addRow(self._createRowFromRecord(data.Record),{isNewRow:true,animationsEnabled:options.animationsEnabled});options.success(data)},function(){self._showError(self.options.messages.serverCommunicationError);options.error()})},_showAddRecordForm:function(){var self=this;var $addRecordForm=$('
    ');for(var i=0;i").addClass("jtable-input-field-container").appendTo($addRecordForm);$fieldContainer.append(self._createInputLabelForRecordField(fieldName));$fieldContainer.append(self._createInputForRecordField({fieldName:fieldName,formType:"create",form:$addRecordForm}))}self._makeCascadeDropDowns($addRecordForm,undefined,"create");$addRecordForm.submit(function(){self._onSaveClickedOnCreateForm();return false});if(self.options.useBootstrap){self._$addRecordDiv.find(".modal-body").append($addRecordForm);self._$addRecordDiv.modal("show")}else{self._$addRecordDiv.append($addRecordForm).dialog("open")}self._trigger("formCreated",null,{form:$addRecordForm,formType:"create"})},_saveAddRecordForm:function($addRecordForm,$saveButton){var self=this;$addRecordForm.data("submitting",true);self._submitFormUsingAjax(self.options.actions.createAction,$addRecordForm.serialize(),function(data){if(data.Result!="OK"){self._showError(data.Message);self._setEnabledOfDialogButton(self.options.useBootstrap,$saveButton,true,self.options.messages.save);return}if(!data.Record){self._logError("Server must return the created Record object.");self._setEnabledOfDialogButton(self.options.useBootstrap,$saveButton,true,self.options.messages.save);return}self._onRecordAdded(data);self._addRow(self._createRowFromRecord(data.Record),{isNewRow:true});if(self.options.useBootstrap){self._$addRecordDiv.modal("hide")}else{self._$addRecordDiv.dialog("close")}},function(){self._showError(self.options.messages.serverCommunicationError);self._setEnabledOfDialogButton(self.options.useBootstrap,$saveButton,true,self.options.messages.save)})},_onRecordAdded:function(data){this._trigger("recordAdded",null,{record:data.Record,serverResponse:data})}})})(jQuery);(function($){var base={_create:$.hik.jtable.prototype._create,_addColumnsToHeaderRow:$.hik.jtable.prototype._addColumnsToHeaderRow,_addCellsToRowUsingRecord:$.hik.jtable.prototype._addCellsToRowUsingRecord};$.extend(true,$.hik.jtable.prototype,{options:{recordUpdated:function(event,data){},rowUpdated:function(event,data){},messages:{editRecord:"Edit Record"}},_$editDiv:null,_$editingRow:null,_create:function(){base._create.apply(this,arguments);if(!this.options.actions.updateAction){return}this._createEditDialogDiv()},_createEditDialogDiv:function(){var self=this;self._$editDiv=$("
    ").appendTo(self._$mainContainer);if(self.options.useBootstrap){self._$editDiv.addClass("modal hide fade");self._$editDiv.css({width:"auto"});self._$editDiv.append('");self._$editDiv.find(".save").click(function(event){self._onSaveClickedOnEditForm()});self._$editDiv.modal({show:false});self._$editDiv.on("hide",function(event){var $editForm=self._$editDiv.find("form:first");var $saveButton=$("#EditDialogSaveButton");self._trigger("formClosed",null,{form:$editForm,formType:"edit",row:self._$editingRow});self._setEnabledOfDialogButton(self.options.useBootstrap,$saveButton,true,self.options.messages.save);$editForm.remove()})}else{self._$editDiv.dialog({autoOpen:false,show:self.options.dialogShowEffect,hide:self.options.dialogHideEffect,width:"auto",minWidth:"300",modal:true,title:self.options.messages.editRecord,buttons:[{text:self.options.messages.cancel,click:function(){self._$editDiv.dialog("close")}},{id:"EditDialogSaveButton",text:self.options.messages.save,click:function(){self._onSaveClickedOnEditForm()}}],close:function(){var $editForm=self._$editDiv.find("form:first");var $saveButton=$("#EditDialogSaveButton");self._trigger("formClosed",null,{form:$editForm,formType:"edit",row:self._$editingRow});self._setEnabledOfDialogButton(self.options.useBootstrap,$saveButton,true,self.options.messages.save);$editForm.remove()}})}},_onSaveClickedOnEditForm:function(){var self=this;if(self._$editingRow.hasClass("jtable-row-removed")){if(self.options.useBootstrap){self._$editDiv.modal("hide")}else{self._$editDiv.dialog("close")}return}var $saveButton=$("#EditDialogSaveButton");var $editForm=self._$editDiv.find("form");if(self._trigger("formSubmitting",null,{form:$editForm,formType:"edit",row:self._$editingRow})!=false){self._setEnabledOfDialogButton(self.options.useBootstrap,$saveButton,false,self.options.messages.saving);self._saveEditForm($editForm,$saveButton)}},updateRecord:function(options){var self=this;options=$.extend({clientOnly:false,animationsEnabled:self.options.animationsEnabled,url:self.options.actions.updateAction,success:function(){},error:function(){}},options);if(!options.record){self._logWarn("options parameter in updateRecord method must contain a record property.");return}var key=self._getKeyValueOfRecord(options.record);if(key==undefined||key==null){self._logWarn("options parameter in updateRecord method must contain a record that contains the key field property.");return}var $updatingRow=self.getRowByKey(key);if($updatingRow==null){self._logWarn("Can not found any row by key: "+key);return}if(options.clientOnly){$.extend($updatingRow.data("record"),options.record);self._updateRowTexts($updatingRow);self._onRecordUpdated($updatingRow,null);if(options.animationsEnabled){self._showUpdateAnimationForRow($updatingRow)}options.success();return}self._submitFormUsingAjax(options.url,$.param(options.record),function(data){if(data.Result!="OK"){self._showError(data.Message);options.error(data);return}$.extend($updatingRow.data("record"),options.record);self._updateRecordValuesFromServerResponse($updatingRow.data("record"),data);self._updateRowTexts($updatingRow);self._onRecordUpdated($updatingRow,data);if(options.animationsEnabled){self._showUpdateAnimationForRow($updatingRow)}options.success(data)},function(){self._showError(self.options.messages.serverCommunicationError);options.error()})},_addColumnsToHeaderRow:function($tr){base._addColumnsToHeaderRow.apply(this,arguments);if(this.options.actions.updateAction!=undefined){$tr.append(this._createEmptyCommandHeader())}},_addCellsToRowUsingRecord:function($row){var self=this;base._addCellsToRowUsingRecord.apply(this,arguments);if(self.options.actions.updateAction!=undefined){var $span=$("").html(self.options.messages.editRecord);var $button=$('').addClass("jtable-command-button jtable-edit-command-button").append($span).click(function(e){e.preventDefault();e.stopPropagation();self._showEditForm($row)});$("").addClass("jtable-command-column").append($button).appendTo($row)}},_showEditForm:function($tableRow){var self=this;var record=$tableRow.data("record");var $editForm=$('
    ');for(var i=0;i
    ').appendTo($editForm);$fieldContainer.append(self._createInputLabelForRecordField(fieldName));var currentValue=self._getValueForRecordField(record,fieldName);$fieldContainer.append(self._createInputForRecordField({fieldName:fieldName,value:currentValue,record:record,formType:"edit",form:$editForm}))}self._makeCascadeDropDowns($editForm,record,"edit");$editForm.submit(function(){self._onSaveClickedOnEditForm();return false});self._$editingRow=$tableRow;if(self.options.useBootstrap){self._$editDiv.find(".modal-body").html($editForm);self._$editDiv.modal("show")}else{self._$editDiv.append($editForm);self._$ediDiv.dialog("open")}self._trigger("formCreated",null,{form:$editForm,formType:"edit",record:record,row:$tableRow})},_saveEditForm:function($editForm,$saveButton){var self=this;self._submitFormUsingAjax(self.options.actions.updateAction,$editForm.serialize(),function(data){if(data.Result!="OK"){self._showError(data.Message);self._setEnabledOfDialogButton(self.options.useBootstrap,$saveButton,true,self.options.messages.save);return}var record=self._$editingRow.data("record");self._updateRecordValuesFromForm(record,$editForm);self._updateRecordValuesFromServerResponse(record,data);self._updateRowTexts(self._$editingRow);self._$editingRow.attr("data-record-key",self._getKeyValueOfRecord(record));self._onRecordUpdated(self._$editingRow,data);if(self.options.animationsEnabled){self._showUpdateAnimationForRow(self._$editingRow)}if(self.options.useBootstrap){self._$editDiv.modal("hide")}else{self._$editDiv.dialog("close")}},function(){self._showError(self.options.messages.serverCommunicationError);self._setEnabledOfDialogButton(self.options.useBootstrap,$saveButton,true,self.options.messages.save)})},_updateRecordValuesFromServerResponse:function(record,serverResponse){if(!serverResponse||!serverResponse.Record){return}$.extend(true,record,serverResponse.Record)},_getValueForRecordField:function(record,fieldName){var field=this.options.fields[fieldName];var fieldValue=record[fieldName];if(field.type=="date"){return this._getDisplayTextForDateRecordField(field,fieldValue)}else{return fieldValue}},_updateRowTexts:function($tableRow){var record=$tableRow.data("record");var $columns=$tableRow.find("td");for(var i=0;i").appendTo(self._$mainContainer);if(self.options.useBootstrap){self._$deleteRecordDiv.addClass("modal hide fade");self._$deleteRecordDiv.append('");self._$deleteRecordDiv.modal({show:false});self._$deleteRecordDiv.find("#DeleteDialogButton").click(function(event){if(self._$deletingRow.hasClass("jtable-row-removed")){self._$deleteRecordDiv.dialog("close");return}var $deleteButton=$(this);self._setEnabledOfDialogButton(self.options.useBootstrap,$deleteButton,false,self.options.messages.deleting);self._deleteRecordFromServer(self._$deletingRow,function(){self._removeRowsFromTableWithAnimation(self._$deletingRow);self._$deleteRecordDiv.modal("hide")},function(message){self._showError(message);self._setEnabledOfDialogButton(self.options.useBootstrap,$deleteButton,true,self.options.messages.deleteText)})});self._$deleteRecordDiv.on("hidden",function(event){var $deleteButton=$(this).find("#DeleteDialogButton");self._setEnabledOfDialogButton(self.options.useBootstrap,$deleteButton,true,self.options.messages.deleteText)})}else{self._$deleteRecordDiv.append('

    ');self._$deleteRecordDiv.dialog({autoOpen:false,show:self.options.dialogShowEffect,hide:self.options.dialogHideEffect,modal:true,title:self.options.messages.areYouSure,buttons:[{text:self.options.messages.cancel,click:function(){self._$deleteRecordDiv.dialog("close")}},{id:"DeleteDialogButton",text:self.options.messages.deleteText,click:function(){if(self._$deletingRow.hasClass("jtable-row-removed")){self._$deleteRecordDiv.dialog("close");return}var $deleteButton=$("#DeleteDialogButton");self._setEnabledOfDialogButton(self.options.useBootstrap,$deleteButton,false,self.options.messages.deleting);self._deleteRecordFromServer(self._$deletingRow,function(){self._removeRowsFromTableWithAnimation(self._$deletingRow);self._$deleteRecordDiv.dialog("close")},function(message){self._showError(message);self._setEnabledOfDialogButton(self.options.useBootstrap,$deleteButton,true,self.options.messages.deleteText)})}}],close:function(){var $deleteButton=$("#DeleteDialogButton");self._setEnabledOfDialogButton(self.options.useBootstrap,$deleteButton,true,self.options.messages.deleteText)}})}},deleteRows:function($rows){var self=this;if($rows.length<=0){self._logWarn("No rows specified to jTable deleteRows method.");return}if(self._isBusy()){self._logWarn("Can not delete rows since jTable is busy!");return}if($rows.length==1){self._deleteRecordFromServer($rows,function(){self._removeRowsFromTableWithAnimation($rows)},function(message){self._showError(message)});return}self._showBusy(self._formatString(self.options.messages.deleteProggress,0,$rows.length));var completedCount=0;var isCompleted=function(){return(completedCount>=$rows.length)};var completed=function(){var $deletedRows=$rows.filter(".jtable-row-ready-to-remove");if($deletedRows.length<$rows.length){self._showError(self._formatString(self.options.messages.canNotDeletedRecords,$rows.length-$deletedRows.length,$rows.length))}if($deletedRows.length>0){self._removeRowsFromTableWithAnimation($deletedRows)}self._hideBusy()};var deletedCount=0;$rows.each(function(){var $row=$(this);self._deleteRecordFromServer($row,function(){++deletedCount;++completedCount;$row.addClass("jtable-row-ready-to-remove");self._showBusy(self._formatString(self.options.messages.deleteProggress,deletedCount,$rows.length));if(isCompleted()){completed()}},function(){++completedCount;if(isCompleted()){completed()}})})},deleteRecord:function(options){var self=this;options=$.extend({clientOnly:false,animationsEnabled:self.options.animationsEnabled,url:self.options.actions.deleteAction,success:function(){},error:function(){}},options);if(options.key==undefined){self._logWarn("options parameter in deleteRecord method must contain a key property.");return}var $deletingRow=self.getRowByKey(options.key);if($deletingRow==null){self._logWarn("Can not found any row by key: "+options.key);return}if(options.clientOnly){self._removeRowsFromTableWithAnimation($deletingRow,options.animationsEnabled);options.success();return}self._deleteRecordFromServer($deletingRow,function(data){self._removeRowsFromTableWithAnimation($deletingRow,options.animationsEnabled);options.success(data)},function(message){self._showError(message);options.error(message)},options.url)},_addColumnsToHeaderRow:function($tr){base._addColumnsToHeaderRow.apply(this,arguments);if(this.options.actions.deleteAction!=undefined){$tr.append(this._createEmptyCommandHeader())}},_addCellsToRowUsingRecord:function($row){base._addCellsToRowUsingRecord.apply(this,arguments);var self=this;if(self.options.actions.deleteAction!=undefined){var $span=$("").html(self.options.messages.deleteText);var $button=$('').addClass("jtable-command-button jtable-delete-command-button").append($span).click(function(e){e.preventDefault();e.stopPropagation();self._deleteButtonClickedForRow($row)});$("").addClass("jtable-command-column").append($button).appendTo($row)}},_deleteButtonClickedForRow:function($row){var self=this;var deleteConfirm;var deleteConfirmMessage=self.options.messages.deleteConfirmation;if($.isFunction(self.options.deleteConfirmation)){var data={row:$row,record:$row.data("record"),deleteConfirm:true,deleteConfirmMessage:deleteConfirmMessage,cancel:false,cancelMessage:null};self.options.deleteConfirmation(data);if(data.cancel){if(data.cancelMessage){self._showError(data.cancelMessage)}return}deleteConfirmMessage=data.deleteConfirmMessage;deleteConfirm=data.deleteConfirm}else{deleteConfirm=self.options.deleteConfirmation}if(deleteConfirm!=false){if(self.options.useBootstrap){self._$deleteRecordDiv.find(".modal-body").html(deleteConfirmMessage)}else{self._$deleteRecordDiv.find(".jtable-delete-confirm-message").html(deleteConfirmMessage)}self._showDeleteDialog($row)}else{self._deleteRecordFromServer($row,function(){self._removeRowsFromTableWithAnimation($row)},function(message){self._showError(message)})}},_showDeleteDialog:function($row){this._$deletingRow=$row;if(this.options.useBootstrap){this._$deleteRecordDiv.modal("show")}else{this._$deleteRecordDiv.dialog("open")}},_deleteRecordFromServer:function($row,success,error,url){var self=this;if($row.data("deleting")==true){return}$row.data("deleting",true);var postData={};postData[self._keyField]=self._getKeyValueOfRecord($row.data("record"));this._ajax({url:(url||self.options.actions.deleteAction),data:postData,success:function(data){if(data.Result!="OK"){$row.data("deleting",false);if(error){error(data.Message)}return}self._trigger("recordDeleted",null,{record:$row.data("record"),row:$row,serverResponse:data});if(success){success(data)}},error:function(){$row.data("deleting",false);if(error){error(self.options.messages.serverCommunicationError)}}})},_removeRowsFromTableWithAnimation:function($rows,animationsEnabled){var self=this;if(animationsEnabled==undefined){animationsEnabled=self.options.animationsEnabled}if(animationsEnabled){var className="jtable-row-deleting";if(this.options.jqueryuiTheme){className=className+" ui-state-disabled"}$rows.stop(true,true).addClass(className,"slow","").promise().done(function(){self._removeRowsFromTable($rows,"deleted")})}else{self._removeRowsFromTable($rows,"deleted")}}})})(jQuery);(function($){var base={_create:$.hik.jtable.prototype._create,_addColumnsToHeaderRow:$.hik.jtable.prototype._addColumnsToHeaderRow,_addCellsToRowUsingRecord:$.hik.jtable.prototype._addCellsToRowUsingRecord,_onLoadingRecords:$.hik.jtable.prototype._onLoadingRecords,_onRecordsLoaded:$.hik.jtable.prototype._onRecordsLoaded,_onRowsRemoved:$.hik.jtable.prototype._onRowsRemoved};$.extend(true,$.hik.jtable.prototype,{options:{selecting:false,multiselect:false,selectingCheckboxes:false,selectOnRowClick:true,selectionChanged:function(event,data){}},_selectedRecordIdsBeforeLoad:null,_$selectAllCheckbox:null,_shiftKeyDown:false,_create:function(){if(this.options.selecting&&this.options.selectingCheckboxes){++this._firstDataColumnOffset;this._bindKeyboardEvents()}base._create.apply(this,arguments)},_bindKeyboardEvents:function(){var self=this;$(document).keydown(function(event){switch(event.which){case 16:self._shiftKeyDown=true;break}}).keyup(function(event){switch(event.which){case 16:self._shiftKeyDown=false;break}})},selectedRows:function(){return this._getSelectedRows()},selectRows:function($rows){this._selectRows($rows);this._onSelectionChanged()},_addColumnsToHeaderRow:function($tr){if(this.options.selecting&&this.options.selectingCheckboxes){if(this.options.multiselect){$tr.append(this._createSelectAllHeader())}else{$tr.append(this._createEmptyCommandHeader())}}base._addColumnsToHeaderRow.apply(this,arguments)},_addCellsToRowUsingRecord:function($row){if(this.options.selecting){this._makeRowSelectable($row)}base._addCellsToRowUsingRecord.apply(this,arguments)},_onLoadingRecords:function(){if(this.options.selecting){this._storeSelectionList()}base._onLoadingRecords.apply(this,arguments)},_onRecordsLoaded:function(){if(this.options.selecting){this._restoreSelectionList()}base._onRecordsLoaded.apply(this,arguments)},_onRowsRemoved:function($rows,reason){if(this.options.selecting&&(reason!="reloading")&&($rows.filter(".jtable-row-selected").length>0)){this._onSelectionChanged()}base._onRowsRemoved.apply(this,arguments)},_createSelectAllHeader:function(){var self=this;var $columnHeader=$('').addClass("jtable-command-column-header jtable-column-header-selecting");this._jqueryuiThemeAddClass($columnHeader,"ui-state-default");var $headerContainer=$("
    ").addClass("jtable-column-header-container").appendTo($columnHeader);self._$selectAllCheckbox=$('').appendTo($headerContainer).click(function(){if(self._$tableRows.length<=0){self._$selectAllCheckbox.attr("checked",false);return}var allRows=self._$tableBody.find(">tr.jtable-data-row");if(self._$selectAllCheckbox.is(":checked")){self._selectRows(allRows)}else{self._deselectRows(allRows)}self._onSelectionChanged()});return $columnHeader},_storeSelectionList:function(){var self=this;if(!self.options.selecting){return}self._selectedRecordIdsBeforeLoad=[];self._getSelectedRows().each(function(){self._selectedRecordIdsBeforeLoad.push(self._getKeyValueOfRecord($(this).data("record")))})},_restoreSelectionList:function(){var self=this;if(!self.options.selecting){return}var selectedRowCount=0;for(var i=0;i-1){self._selectRows(self._$tableRows[i]);++selectedRowCount}}if(self._selectedRecordIdsBeforeLoad.length>0&&self._selectedRecordIdsBeforeLoad.length!=selectedRowCount){self._onSelectionChanged()}self._selectedRecordIdsBeforeLoad=[];self._refreshSelectAllCheckboxState()},_getSelectedRows:function(){return this._$tableBody.find(">tr.jtable-row-selected")},_makeRowSelectable:function($row){var self=this;if(self.options.selectOnRowClick){$row.click(function(){self._invertRowSelection($row)})}if(self.options.selectingCheckboxes){var $cell=$("").addClass("jtable-selecting-column");var $selectCheckbox=$('').appendTo($cell);if(!self.options.selectOnRowClick){$selectCheckbox.click(function(){self._invertRowSelection($row)})}$row.append($cell)}},_invertRowSelection:function($row){if($row.hasClass("jtable-row-selected")){this._deselectRows($row)}else{if(this._shiftKeyDown){var rowIndex=this._findRowIndex($row);var beforeIndex=this._findFirstSelectedRowIndexBeforeIndex(rowIndex)+1;if(beforeIndex>0&&beforeIndexrowIndex){this._selectRows(this._$tableBody.find("tr").slice(rowIndex,afterIndex+1))}else{this._selectRows($row)}}}else{this._selectRows($row)}}this._onSelectionChanged()},_findFirstSelectedRowIndexBeforeIndex:function(rowIndex){for(var i=rowIndex-1;i>=0;--i){if(this._$tableRows[i].hasClass("jtable-row-selected")){return i}}return -1},_findFirstSelectedRowIndexAfterIndex:function(rowIndex){for(var i=rowIndex+1;itd.jtable-selecting-column >input").prop("checked",true)}this._refreshSelectAllCheckboxState()},_deselectRows:function($rows){$rows.removeClass("jtable-row-selected ui-state-highlight");if(this.options.selectingCheckboxes){$rows.find(">td.jtable-selecting-column >input").prop("checked",false)}this._refreshSelectAllCheckboxState()},_refreshSelectAllCheckboxState:function(){if(!this.options.selectingCheckboxes||!this.options.multiselect){return}var totalRowCount=this._$tableRows.length;var selectedRowCount=this._getSelectedRows().length;if(selectedRowCount==0){this._$selectAllCheckbox.prop("indeterminate",false);this._$selectAllCheckbox.attr("checked",false)}else{if(selectedRowCount==totalRowCount){this._$selectAllCheckbox.prop("indeterminate",false);this._$selectAllCheckbox.attr("checked",true)}else{this._$selectAllCheckbox.attr("checked",false);this._$selectAllCheckbox.prop("indeterminate",true)}}},_onSelectionChanged:function(){this._trigger("selectionChanged",null,{})}})})(jQuery);(function($){var base={load:$.hik.jtable.prototype.load,_create:$.hik.jtable.prototype._create,_setOption:$.hik.jtable.prototype._setOption,_createRecordLoadUrl:$.hik.jtable.prototype._createRecordLoadUrl,_addRowToTable:$.hik.jtable.prototype._addRowToTable,_addRow:$.hik.jtable.prototype._addRow,_removeRowsFromTable:$.hik.jtable.prototype._removeRowsFromTable,_onRecordsLoaded:$.hik.jtable.prototype._onRecordsLoaded};$.extend(true,$.hik.jtable.prototype,{options:{paging:false,pageList:"normal",pageSize:10,pageSizes:[10,25,50,100,250,500],pageSizeChangeArea:true,gotoPageArea:"combobox",messages:{pagingInfo:"Showing {0}-{1} of {2}",pageSizeChangeLabel:"Row count",gotoPageLabel:"Go to page"}},_$bottomPanel:null,_$pagingListArea:null,_$pageSizeChangeArea:null,_$pageInfoSpan:null,_$gotoPageArea:null,_$gotoPageInput:null,_totalRecordCount:0,_currentPageNo:1,_create:function(){base._create.apply(this,arguments);if(this.options.paging){this._loadPagingSettings();this._createBottomPanel();this._createPageListArea();this._createGotoPageInput();this._createPageSizeSelection()}},_loadPagingSettings:function(){if(!this.options.saveUserPreferences){return}var pageSize=this._getCookie("page-size");if(pageSize){this.options.pageSize=this._normalizeNumber(pageSize,1,1000000,this.options.pageSize)}},_createBottomPanel:function(){this._$bottomPanel=$("
    ").addClass("jtable-bottom-panel").insertAfter(this._$table);this._jqueryuiThemeAddClass(this._$bottomPanel,"ui-state-default");$("
    ").addClass("jtable-left-area").appendTo(this._$bottomPanel);$("
    ").addClass("jtable-right-area").appendTo(this._$bottomPanel)},_createPageListArea:function(){this._$pagingListArea=$("").addClass("jtable-page-list").appendTo(this._$bottomPanel.find(".jtable-left-area"));this._$pageInfoSpan=$("").addClass("jtable-page-info").appendTo(this._$bottomPanel.find(".jtable-right-area"))},_createPageSizeSelection:function(){var self=this;if(!self.options.pageSizeChangeArea){return}if(self._findIndexInArray(self.options.pageSize,self.options.pageSizes)<0){self.options.pageSizes.push(parseInt(self.options.pageSize));self.options.pageSizes.sort(function(a,b){return a-b})}self._$pageSizeChangeArea=$("").addClass("jtable-page-size-change").appendTo(self._$bottomPanel.find(".jtable-left-area"));self._$pageSizeChangeArea.append(""+self.options.messages.pageSizeChangeLabel+": ");var $pageSizeChangeCombobox=$("").appendTo(self._$pageSizeChangeArea);for(var i=0;i'+self.options.pageSizes[i]+"")}$pageSizeChangeCombobox.val(self.options.pageSize);$pageSizeChangeCombobox.change(function(){self._changePageSize(parseInt($(this).val()))})},_createGotoPageInput:function(){var self=this;if(!self.options.gotoPageArea||self.options.gotoPageArea=="none"){return}this._$gotoPageArea=$("").addClass("jtable-goto-page").appendTo(self._$bottomPanel.find(".jtable-left-area"));this._$gotoPageArea.append(""+self.options.messages.gotoPageLabel+": ");if(self.options.gotoPageArea=="combobox"){self._$gotoPageInput=$("").appendTo(this._$gotoPageArea).data("pageCount",1).change(function(){self._changePage(parseInt($(this).val()))});self._$gotoPageInput.append('')}else{self._$gotoPageInput=$('').appendTo(this._$gotoPageArea).keypress(function(event){if(event.which==13){event.preventDefault();self._changePage(parseInt(self._$gotoPageInput.val()))}else{if(event.which==43){event.preventDefault();self._changePage(parseInt(self._$gotoPageInput.val())+1)}else{if(event.which==45){event.preventDefault();self._changePage(parseInt(self._$gotoPageInput.val())-1)}else{var isValid=((4710000){pageStep=100}else{if(currentPageCount>5000){pageStep=10}else{if(currentPageCount>2000){pageStep=5}else{if(currentPageCount>1000){pageStep=2}}}}for(var i=pageStep;i<=currentPageCount;i+=pageStep){this._$gotoPageInput.append('")}this._$gotoPageInput.data("pageCount",currentPageCount)}}this._$gotoPageInput.val(this._currentPageNo)},load:function(){this._currentPageNo=1;base.load.apply(this,arguments)},_setOption:function(key,value){base._setOption.apply(this,arguments);if(key=="pageSize"){this._changePageSize(parseInt(value))}},_changePageSize:function(pageSize){if(pageSize==this.options.pageSize){return}this.options.pageSize=pageSize;var pageCount=this._calculatePageCount();if(this._currentPageNo>pageCount){this._currentPageNo=pageCount}if(this._currentPageNo<=0){this._currentPageNo=1}var $pageSizeChangeCombobox=this._$bottomPanel.find(".jtable-page-size-change select");if($pageSizeChangeCombobox.length>0){if(parseInt($pageSizeChangeCombobox.val())!=pageSize){var selectedOption=$pageSizeChangeCombobox.find("option[value="+pageSize+"]");if(selectedOption.length>0){$pageSizeChangeCombobox.val(pageSize)}}}this._savePagingSettings();this._reloadTable()},_savePagingSettings:function(){if(!this.options.saveUserPreferences){return}this._setCookie("page-size",this.options.pageSize)},_createRecordLoadUrl:function(){var loadUrl=base._createRecordLoadUrl.apply(this,arguments);loadUrl=this._addPagingInfoToUrl(loadUrl,this._currentPageNo);return loadUrl},_addRowToTable:function($tableRow,index,isNewRow){if(isNewRow&&this.options.paging){this._reloadTable();return}base._addRowToTable.apply(this,arguments)},_addRow:function($row,options){if(options&&options.isNewRow&&this.options.paging){this._reloadTable();return}base._addRow.apply(this,arguments)},_removeRowsFromTable:function($rows,reason){base._removeRowsFromTable.apply(this,arguments);if(this.options.paging){if(this._$tableRows.length<=0&&this._currentPageNo>1){--this._currentPageNo}this._reloadTable()}},_onRecordsLoaded:function(data){if(this.options.paging){this._totalRecordCount=data.TotalRecordCount;this._createPagingList();this._createPagingInfo();this._refreshGotoPageInput()}base._onRecordsLoaded.apply(this,arguments)},_addPagingInfoToUrl:function(url,pageNumber){if(!this.options.paging){return url}var jtStartIndex=(pageNumber-1)*this.options.pageSize;var jtPageSize=this.options.pageSize;return(url+(url.indexOf("?")<0?"?":"&")+"jtStartIndex="+jtStartIndex+"&jtPageSize="+jtPageSize)},_createPagingList:function(){if(this.options.pageSize<=0){return}this._$pagingListArea.empty();if(this._totalRecordCount<=0){return}var pageCount=this._calculatePageCount();this._createFirstAndPreviousPageButtons();if(this.options.pageList=="normal"){this._createPageNumberButtons(this._calculatePageNumbers(pageCount))}this._createLastAndNextPageButtons(pageCount);this._bindClickEventsToPageNumberButtons()},_createFirstAndPreviousPageButtons:function(){var $first=$("").addClass("jtable-page-number-first").html("<<").data("pageNumber",1).appendTo(this._$pagingListArea);var $previous=$("").addClass("jtable-page-number-previous").html("<").data("pageNumber",this._currentPageNo-1).appendTo(this._$pagingListArea);this._jqueryuiThemeAddClass($first,"ui-button ui-state-default","ui-state-hover");this._jqueryuiThemeAddClass($previous,"ui-button ui-state-default","ui-state-hover");if(this._currentPageNo<=1){$first.addClass("jtable-page-number-disabled");$previous.addClass("jtable-page-number-disabled");this._jqueryuiThemeAddClass($first,"ui-state-disabled");this._jqueryuiThemeAddClass($previous,"ui-state-disabled")}},_createLastAndNextPageButtons:function(pageCount){var $next=$("").addClass("jtable-page-number-next").html(">").data("pageNumber",this._currentPageNo+1).appendTo(this._$pagingListArea);var $last=$("").addClass("jtable-page-number-last").html(">>").data("pageNumber",pageCount).appendTo(this._$pagingListArea);this._jqueryuiThemeAddClass($next,"ui-button ui-state-default","ui-state-hover");this._jqueryuiThemeAddClass($last,"ui-button ui-state-default","ui-state-hover");if(this._currentPageNo>=pageCount){$next.addClass("jtable-page-number-disabled");$last.addClass("jtable-page-number-disabled");this._jqueryuiThemeAddClass($next,"ui-state-disabled");this._jqueryuiThemeAddClass($last,"ui-state-disabled")}},_createPageNumberButtons:function(pageNumbers){var previousNumber=0;for(var i=0;i1){$("").addClass("jtable-page-number-space").html("...").appendTo(this._$pagingListArea)}this._createPageNumberButton(pageNumbers[i]);previousNumber=pageNumbers[i]}},_createPageNumberButton:function(pageNumber){var $pageNumber=$("").addClass("jtable-page-number").html(pageNumber).data("pageNumber",pageNumber).appendTo(this._$pagingListArea);this._jqueryuiThemeAddClass($pageNumber,"ui-button ui-state-default","ui-state-hover");if(this._currentPageNo==pageNumber){$pageNumber.addClass("jtable-page-number-active jtable-page-number-disabled");this._jqueryuiThemeAddClass($pageNumber,"ui-state-active")}},_calculatePageCount:function(){var pageCount=Math.floor(this._totalRecordCount/this.options.pageSize);if(this._totalRecordCount%this.options.pageSize!=0){++pageCount}return pageCount},_calculatePageNumbers:function(pageCount){if(pageCount<=4){var pageNumbers=[];for(var i=1;i<=pageCount;++i){pageNumbers.push(i)}return pageNumbers}else{var shownPageNumbers=[1,2,pageCount-1,pageCount];var previousPageNo=this._normalizeNumber(this._currentPageNo-1,1,pageCount,1);var nextPageNo=this._normalizeNumber(this._currentPageNo+1,1,pageCount,1);this._insertToArrayIfDoesNotExists(shownPageNumbers,previousPageNo);this._insertToArrayIfDoesNotExists(shownPageNumbers,this._currentPageNo);this._insertToArrayIfDoesNotExists(shownPageNumbers,nextPageNo);shownPageNumbers.sort(function(a,b){return a-b});return shownPageNumbers}},_createPagingInfo:function(){if(this._totalRecordCount<=0){this._$pageInfoSpan.empty();return}var startNo=(this._currentPageNo-1)*this.options.pageSize+1;var endNo=this._currentPageNo*this.options.pageSize;endNo=this._normalizeNumber(endNo,startNo,this._totalRecordCount,0);if(endNo>=startNo){var pagingInfoMessage=this._formatString(this.options.messages.pagingInfo,startNo,endNo,this._totalRecordCount);this._$pageInfoSpan.html(pagingInfoMessage)}},_bindClickEventsToPageNumberButtons:function(){var self=this;self._$pagingListArea.find(".jtable-page-number,.jtable-page-number-previous,.jtable-page-number-next,.jtable-page-number-first,.jtable-page-number-last").not(".jtable-page-number-disabled").click(function(e){e.preventDefault();self._changePage($(this).data("pageNumber"))})},_changePage:function(pageNo){pageNo=this._normalizeNumber(pageNo,1,this._calculatePageCount(),1);if(pageNo==this._currentPageNo){this._refreshGotoPageInput();return}this._currentPageNo=pageNo;this._reloadTable()}})})(jQuery);(function($){var base={_initializeFields:$.hik.jtable.prototype._initializeFields,_normalizeFieldOptions:$.hik.jtable.prototype._normalizeFieldOptions,_createHeaderCellForField:$.hik.jtable.prototype._createHeaderCellForField,_createRecordLoadUrl:$.hik.jtable.prototype._createRecordLoadUrl};$.extend(true,$.hik.jtable.prototype,{options:{sorting:false,multiSorting:false,defaultSorting:""},_lastSorting:null,_initializeFields:function(){base._initializeFields.apply(this,arguments);this._lastSorting=[];if(this.options.sorting){this._buildDefaultSortingArray()}},_normalizeFieldOptions:function(fieldName,props){base._normalizeFieldOptions.apply(this,arguments);props.sorting=(props.sorting!=false)},_createHeaderCellForField:function(fieldName,field){var $headerCell=base._createHeaderCellForField.apply(this,arguments);if(this.options.sorting&&field.sorting){this._makeColumnSortable($headerCell,fieldName)}return $headerCell},_createRecordLoadUrl:function(){var loadUrl=base._createRecordLoadUrl.apply(this,arguments);loadUrl=this._addSortingInfoToUrl(loadUrl);return loadUrl},_buildDefaultSortingArray:function(){var self=this;$.each(self.options.defaultSorting.split(","),function(orderIndex,orderValue){$.each(self.options.fields,function(fieldName,fieldProps){if(fieldProps.sorting){var colOffset=orderValue.indexOf(fieldName);if(colOffset>-1){if(orderValue.toUpperCase().indexOf(" DESC",colOffset)>-1){self._lastSorting.push({fieldName:fieldName,sortOrder:"DESC"})}else{self._lastSorting.push({fieldName:fieldName,sortOrder:"ASC"})}}}})})},_makeColumnSortable:function($columnHeader,fieldName){var self=this;$columnHeader.addClass("jtable-column-header-sortable").click(function(e){e.preventDefault();if(!self.options.multiSorting||!e.ctrlKey){self._lastSorting=[]}self._sortTableByColumn($columnHeader)});$.each(this._lastSorting,function(sortIndex,sortField){if(sortField.fieldName==fieldName){if(sortField.sortOrder=="DESC"){$columnHeader.addClass("jtable-column-header-sorted-desc")}else{$columnHeader.addClass("jtable-column-header-sorted-asc")}}})},_sortTableByColumn:function($columnHeader){if(this._lastSorting.length==0){$columnHeader.siblings().removeClass("jtable-column-header-sorted-asc jtable-column-header-sorted-desc")}for(var i=0;ithead >tr >th:nth-child("+columnIndexInTable+"),>tbody >tr >td:nth-child("+columnIndexInTable+")").hide()}else{if(field.visibility=="hidden"&&visibility!="hidden"){this._$table.find(">thead >tr >th:nth-child("+columnIndexInTable+"),>tbody >tr >td:nth-child("+columnIndexInTable+")").show().css("display","table-cell")}}field.visibility=visibility},_createColumnSelection:function(){var self=this;this._$columnSelectionDiv=$("
    ").addClass("jtable-column-selection-container").appendTo(self._$mainContainer);this._$table.children("thead").bind("contextmenu",function(e){if(!self.options.columnSelectable){return}e.preventDefault();$("
    ").addClass("jtable-contextmenu-overlay").click(function(){$(this).remove();self._$columnSelectionDiv.hide()}).bind("contextmenu",function(){return false}).appendTo(document.body);self._fillColumnSelection();var containerOffset=self._$mainContainer.offset();var selectionDivTop=e.pageY-containerOffset.top;var selectionDivLeft=e.pageX-containerOffset.left;var selectionDivMinWidth=100;var containerWidth=self._$mainContainer.width();if((containerWidth>selectionDivMinWidth)&&(selectionDivLeft>(containerWidth-selectionDivMinWidth))){selectionDivLeft=containerWidth-selectionDivMinWidth}self._$columnSelectionDiv.css({left:selectionDivLeft,top:selectionDivTop,"min-width":selectionDivMinWidth+"px"}).show()})},_fillColumnSelection:function(){var self=this;var $columnsUl=$("
      ").addClass("jtable-column-select-list");for(var i=0;i").appendTo($columnsUl);var $label=$('').append($(""+(field.title||columnName)+"")).appendTo($columnLi);var $checkbox=$('').prependTo($label).click(function(){var $clickedCheckbox=$(this);var clickedColumnName=$clickedCheckbox.attr("name");var clickedField=self.options.fields[clickedColumnName];if(clickedField.visibility=="fixed"){return}self.changeColumnVisibility(clickedColumnName,$clickedCheckbox.is(":checked")?"visible":"hidden")});if(field.visibility!="hidden"){$checkbox.attr("checked","checked")}if(field.visibility=="fixed"){$checkbox.attr("disabled","disabled")}}this._$columnSelectionDiv.html($columnsUl)},_createColumnResizeBar:function(){this._$columnResizeBar=$("
      ").addClass("jtable-column-resize-bar").appendTo(this._$mainContainer).hide()},_makeColumnResizable:function($columnHeader){var self=this;$("
      ").addClass("jtable-column-resize-handler").appendTo($columnHeader.find(".jtable-column-header-container")).mousedown(function(downevent){downevent.preventDefault();downevent.stopPropagation();var mainContainerOffset=self._$mainContainer.offset();var $nextColumnHeader=$columnHeader.nextAll("th.jtable-column-header:visible:first");if(!$nextColumnHeader.length){return}var minimumColumnWidth=10;self._currentResizeArgs={currentColumnStartWidth:$columnHeader.outerWidth(),minWidth:minimumColumnWidth,maxWidth:$columnHeader.outerWidth()+$nextColumnHeader.outerWidth()-minimumColumnWidth,mouseStartX:downevent.pageX,minResizeX:function(){return this.mouseStartX-(this.currentColumnStartWidth-this.minWidth)},maxResizeX:function(){return this.mouseStartX+(this.maxWidth-this.currentColumnStartWidth)}};var resizeonmousemove=function(moveevent){if(!self._currentResizeArgs){return}var resizeBarX=self._normalizeNumber(moveevent.pageX,self._currentResizeArgs.minResizeX(),self._currentResizeArgs.maxResizeX());self._$columnResizeBar.css("left",(resizeBarX-mainContainerOffset.left)+"px")};var resizeonmouseup=function(upevent){if(!self._currentResizeArgs){return}$(document).unbind("mousemove",resizeonmousemove);$(document).unbind("mouseup",resizeonmouseup);self._$columnResizeBar.hide();var mouseChangeX=upevent.pageX-self._currentResizeArgs.mouseStartX;var currentColumnFinalWidth=self._normalizeNumber(self._currentResizeArgs.currentColumnStartWidth+mouseChangeX,self._currentResizeArgs.minWidth,self._currentResizeArgs.maxWidth);var nextColumnFinalWidth=$nextColumnHeader.outerWidth()+(self._currentResizeArgs.currentColumnStartWidth-currentColumnFinalWidth);var pixelToPercentRatio=$columnHeader.data("width-in-percent")/self._currentResizeArgs.currentColumnStartWidth;$columnHeader.data("width-in-percent",currentColumnFinalWidth*pixelToPercentRatio);$nextColumnHeader.data("width-in-percent",nextColumnFinalWidth*pixelToPercentRatio);$columnHeader.css("width",$columnHeader.data("width-in-percent")+"%");$nextColumnHeader.css("width",$nextColumnHeader.data("width-in-percent")+"%");self._normalizeColumnWidths();self._currentResizeArgs=null;if(self.options.saveUserPreferences){self._saveColumnSettings()}};self._$columnResizeBar.show().css({top:($columnHeader.offset().top-mainContainerOffset.top)+"px",left:(downevent.pageX-mainContainerOffset.left)+"px",height:(self._$table.outerHeight())+"px"});$(document).bind("mousemove",resizeonmousemove);$(document).bind("mouseup",resizeonmouseup)})},_normalizeColumnWidths:function(){var commandColumnHeaders=this._$table.find(">thead th.jtable-command-column-header").data("width-in-percent",1).css("width","1%");var headerCells=this._$table.find(">thead th.jtable-column-header");var totalWidthInPixel=0;headerCells.each(function(){var $cell=$(this);if($cell.is(":visible")){totalWidthInPixel+=$cell.outerWidth()}});var columnWidhts={};var availableWidthInPercent=100-commandColumnHeaders.length;headerCells.each(function(){var $cell=$(this);if($cell.is(":visible")){var fieldName=$cell.data("fieldName");var widthInPercent=$cell.outerWidth()*availableWidthInPercent/totalWidthInPixel;columnWidhts[fieldName]=widthInPercent}});headerCells.each(function(){var $cell=$(this);if($cell.is(":visible")){var fieldName=$cell.data("fieldName");$cell.data("width-in-percent",columnWidhts[fieldName]).css("width",columnWidhts[fieldName]+"%")}})},_saveColumnSettings:function(){var self=this;var fieldSettings="";this._$table.find(">thead >tr >th.jtable-column-header").each(function(){var $cell=$(this);var fieldName=$cell.data("fieldName");var columnWidth=$cell.data("width-in-percent");var fieldVisibility=self.options.fields[fieldName].visibility;var fieldSetting=fieldName+"="+fieldVisibility+";"+columnWidth;fieldSettings=fieldSettings+fieldSetting+"|"});this._setCookie("column-settings",fieldSettings.substr(0,fieldSettings.length-1))},_loadColumnSettings:function(){var self=this;var columnSettingsCookie=this._getCookie("column-settings");if(!columnSettingsCookie){return}var columnSettings={};$.each(columnSettingsCookie.split("|"),function(inx,fieldSetting){var splitted=fieldSetting.split("=");var fieldName=splitted[0];var settings=splitted[1].split(";");columnSettings[fieldName]={columnVisibility:settings[0],columnWidth:settings[1]}});var headerCells=this._$table.find(">thead >tr >th.jtable-column-header");headerCells.each(function(){var $cell=$(this);var fieldName=$cell.data("fieldName");var field=self.options.fields[fieldName];if(columnSettings[fieldName]){if(field.visibility!="fixed"){self._changeColumnVisibilityInternal(fieldName,columnSettings[fieldName].columnVisibility)}$cell.data("width-in-percent",columnSettings[fieldName].columnWidth).css("width",columnSettings[fieldName].columnWidth+"%")}})}})})(jQuery);(function($){var base={_removeRowsFromTable:$.hik.jtable.prototype._removeRowsFromTable};$.extend(true,$.hik.jtable.prototype,{options:{openChildAsAccordion:false},openChildTable:function($row,tableOptions,opened){var self=this;if(tableOptions.jqueryuiTheme==undefined){tableOptions.jqueryuiTheme=self.options.jqueryuiTheme}tableOptions.showCloseButton=(tableOptions.showCloseButton!=false);if(tableOptions.showCloseButton&&!tableOptions.closeRequested){tableOptions.closeRequested=function(){self.closeChildTable($row)}}if(self.options.openChildAsAccordion){$row.siblings(".jtable-data-row").each(function(){self.closeChildTable($(this))})}self.closeChildTable($row,function(){var $childRowColumn=self.getChildRow($row).children("td").empty();var $childTableContainer=$("
      ").addClass("jtable-child-table-container").appendTo($childRowColumn);$childRowColumn.data("childTable",$childTableContainer);$childTableContainer.jtable(tableOptions);self.openChildRow($row);$childTableContainer.hide().slideDown("fast",function(){if(opened){opened({childTable:$childTableContainer})}})})},closeChildTable:function($row,closed){var self=this;var $childRowColumn=this.getChildRow($row).children("td");var $childTable=$childRowColumn.data("childTable");if(!$childTable){if(closed){closed()}return}$childRowColumn.data("childTable",null);$childTable.slideUp("fast",function(){$childTable.jtable("destroy");$childTable.remove();self.closeChildRow($row);if(closed){closed()}})},isChildRowOpen:function($row){return(this.getChildRow($row).is(":visible"))},getChildRow:function($row){return $row.data("childRow")||this._createChildRow($row)},openChildRow:function($row){var $childRow=this.getChildRow($row);if(!$childRow.is(":visible")){$childRow.show()}return $childRow},closeChildRow:function($row){var $childRow=this.getChildRow($row);if($childRow.is(":visible")){$childRow.hide()}},_removeRowsFromTable:function($rows,reason){if(reason=="deleted"){$rows.each(function(){var $row=$(this);var $childRow=$row.data("childRow");if($childRow){$childRow.remove()}})}base._removeRowsFromTable.apply(this,arguments)},_createChildRow:function($row){var totalColumnCount=this._$table.find("thead th").length;var $childRow=$("").addClass("jtable-child-row").append('');$row.after($childRow);$row.data("childRow",$childRow);$childRow.hide();return $childRow}})})(jQuery); \ No newline at end of file From b73255acc112d0ce4d3e48e37f0834de3afefe10 Mon Sep 17 00:00:00 2001 From: SantiagoSC Date: Fri, 28 Aug 2015 10:48:17 +0200 Subject: [PATCH 2/3] Bootstrap 3 support Compatible with jQuery UI, Bootstrap 2 and Bootstrap 3 --- lib/jquery.jtable.js | 49 ++++++++++++++++++++++++++++------------ lib/jquery.jtable.min.js | 4 +++- 2 files changed, 37 insertions(+), 16 deletions(-) diff --git a/lib/jquery.jtable.js b/lib/jquery.jtable.js index 9e5f3ddc..4b9d376b 100644 --- a/lib/jquery.jtable.js +++ b/lib/jquery.jtable.js @@ -362,17 +362,18 @@ THE SOFTWARE. *************************************************************************/ _createErrorDialogDiv: function () { var self = this; - + if (self.options.useBootstrap) { self._$errorDialogDiv = $('').appendTo(self._$mainContainer); self._$errorDialogDiv.modal({ show: false }); @@ -1998,13 +1999,14 @@ THE SOFTWARE. self._$addRecordDiv.css({ width: 'auto' }); - self._$addRecordDiv.append(''); self._$addRecordDiv.find(".save").click(function(event) { self._onSaveClickedOnCreateForm(); }); @@ -2012,13 +2014,14 @@ THE SOFTWARE. self._$addRecordDiv.modal({ show: false }); - - self._$addRecordDiv.on("hide", function(event) { + + var event = self._getHiddenEvent(); + self._$addRecordDiv.on(event, function(event) { var $addRecordForm = self._$addRecordDiv.find('form').first(); var $saveButton = $('#AddRecordDialogSaveButton'); self._trigger("formClosed", null, { form: $addRecordForm, formType: 'create' }); self._setEnabledOfDialogButton(self.options.useBootstrap, $saveButton, true, self.options.messages.save); - $addRecordForm.remove(); + $addRecordForm.remove(); }); } else { @@ -2085,6 +2088,20 @@ THE SOFTWARE. self._saveAddRecordForm($addRecordForm, $saveButton); } }, + + /* Gets hidden event signature according bootstrap version + ***********************************************************/ + _getHiddenEvent: function() { + // Detects if Bootstrap 2 or 3 is used because hidden event is different in each version. + var pluginFn = $.fn["modal"]; + var event = "hidden"; + if (pluginFn && pluginFn.toString().indexOf('bs.modal') > -1) { + // Bootstrap 2 doesn't use namespace on modal data (at least for now...) + event += ".bs.modal"; + } + + return event; + }, /************************************************************************ * PUBLIC METHODS * @@ -2341,13 +2358,14 @@ THE SOFTWARE. self._$editDiv.css({ width: 'auto' }); - self._$editDiv.append(''); self._$editDiv.find(".save").click(function(event) { self._onSaveClickedOnEditForm(); }); @@ -2786,13 +2804,14 @@ THE SOFTWARE. if (self.options.useBootstrap) { self._$deleteRecordDiv.addClass("modal hide fade"); - self._$deleteRecordDiv.append(''); self._$deleteRecordDiv.modal({show: false}); self._$deleteRecordDiv.find("#DeleteDialogButton").click(function(event) { @@ -2818,7 +2837,8 @@ THE SOFTWARE. ); }); - self._$deleteRecordDiv.on("hidden", function(event) { + var event = self._getHiddenEvent(); + self._$deleteRecordDiv.on(event, function(event) { var $deleteButton = $(this).find('#DeleteDialogButton'); self._setEnabledOfDialogButton(self.options.useBootstrap, $deleteButton, true, self.options.messages.deleteText); }); @@ -4957,5 +4977,4 @@ THE SOFTWARE. }); -})(jQuery); - +})(jQuery); \ No newline at end of file diff --git a/lib/jquery.jtable.min.js b/lib/jquery.jtable.min.js index db3c6479..7e9bd3f2 100644 --- a/lib/jquery.jtable.min.js +++ b/lib/jquery.jtable.min.js @@ -22,4 +22,6 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -(function($){var unloadingPage;$(window).on("beforeunload",function(){unloadingPage=true});$(window).on("unload",function(){unloadingPage=false});$.widget("hik.jtable",{options:{actions:{},fields:{},animationsEnabled:true,defaultDateFormat:"yy-mm-dd",dialogShowEffect:"fade",dialogHideEffect:"fade",showCloseButton:false,loadingAnimationDelay:500,saveUserPreferences:true,jqueryuiTheme:false,useBootstrap:true,ajaxSettings:{type:"POST",dataType:"json"},toolbar:{hoverAnimation:true,hoverAnimationDuration:60,hoverAnimationEasing:undefined,items:[]},closeRequested:function(event,data){},formCreated:function(event,data){},formSubmitting:function(event,data){},formClosed:function(event,data){},loadingRecords:function(event,data){},recordsLoaded:function(event,data){},rowInserted:function(event,data){},rowsRemoved:function(event,data){},messages:{serverCommunicationError:"An error occured while communicating to the server.",loadingMessage:"Loading records...",noDataAvailable:"No data available!",areYouSure:"Are you sure?",save:"Save",saving:"Saving",cancel:"Cancel",error:"Error",close:"Close",cannotLoadOptionsFor:"Can not load options for field {0}"}},_$mainContainer:null,_$titleDiv:null,_$toolbarDiv:null,_$table:null,_$tableBody:null,_$tableRows:null,_$busyDiv:null,_$busyMessageDiv:null,_$errorDialogDiv:null,_columnList:null,_fieldList:null,_keyField:null,_firstDataColumnOffset:0,_lastPostData:null,_cache:null,_create:function(){this._normalizeFieldsOptions();this._initializeFields();this._createFieldAndColumnList();this._createMainContainer();this._createTableTitle();this._createToolBar();this._createTable();this._createBusyPanel();this._createErrorDialogDiv();this._addNoDataRow();this._cookieKeyPrefix=this._generateCookieKeyPrefix()},_normalizeFieldsOptions:function(){var self=this;$.each(self.options.fields,function(fieldName,props){self._normalizeFieldOptions(fieldName,props)})},_normalizeFieldOptions:function(fieldName,props){if(props.listClass==undefined){props.listClass=""}if(props.inputClass==undefined){props.inputClass=""}if(props.dependsOn&&$.type(props.dependsOn)==="string"){var dependsOnArray=props.dependsOn.split(",");props.dependsOn=[];for(var i=0;i").addClass("jtable-main-container").appendTo(this.element);this._jqueryuiThemeAddClass(this._$mainContainer,"ui-widget")},_createTableTitle:function(){var self=this;if(!self.options.title){return}var $titleDiv=$("
      ").addClass("jtable-title").appendTo(self._$mainContainer);self._jqueryuiThemeAddClass($titleDiv,"ui-widget-header");$("
      ").addClass("jtable-title-text").appendTo($titleDiv).append(self.options.title);if(self.options.showCloseButton){var $textSpan=$("").html(self.options.messages.close);$("").addClass("jtable-command-button jtable-close-button").attr("title",self.options.messages.close).append($textSpan).appendTo($titleDiv).click(function(e){e.preventDefault();e.stopPropagation();self._onCloseRequested()})}self._$titleDiv=$titleDiv},_createTable:function(){this._$table=$("
      ").addClass("jtable").appendTo(this._$mainContainer);if(this.options.tableId){this._$table.attr("id",this.options.tableId)}this._jqueryuiThemeAddClass(this._$table,"ui-widget-content");this._createTableHead();this._createTableBody()},_createTableHead:function(){var $thead=$("").appendTo(this._$table);this._addRowToTableHead($thead)},_addRowToTableHead:function($thead){var $tr=$("").appendTo($thead);this._addColumnsToHeaderRow($tr)},_addColumnsToHeaderRow:function($tr){for(var i=0;i").addClass("jtable-column-header-text").html(field.title);var $headerContainerDiv=$("
      ").addClass("jtable-column-header-container").append($headerTextSpan);var $th=$("").addClass("jtable-column-header").addClass(field.listClass).css("width",field.width).data("fieldName",fieldName).append($headerContainerDiv);this._jqueryuiThemeAddClass($th,"ui-state-default");return $th},_createEmptyCommandHeader:function(){var $th=$("").addClass("jtable-command-column-header").css("width","1%");this._jqueryuiThemeAddClass($th,"ui-state-default");return $th},_createTableBody:function(){this._$tableBody=$("").appendTo(this._$table)},_createBusyPanel:function(){this._$busyMessageDiv=$("
      ").addClass("jtable-busy-message").prependTo(this._$mainContainer);this._$busyDiv=$("
      ").addClass("jtable-busy-panel-background").prependTo(this._$mainContainer);this._jqueryuiThemeAddClass(this._$busyMessageDiv,"ui-widget-header");this._hideBusy()},_createErrorDialogDiv:function(){var self=this;if(self.options.useBootstrap){self._$errorDialogDiv=$('").appendTo(self._$mainContainer);self._$errorDialogDiv.modal({show:false})}else{self._$errorDialogDiv=$("
      ").appendTo(self._$mainContainer);self._$errorDialogDiv.dialog({autoOpen:false,show:self.options.dialogShowEffect,hide:self.options.dialogHideEffect,modal:true,title:self.options.messages.error,buttons:[{text:self.options.messages.close,click:function(){self._$errorDialogDiv.dialog("close")}}]})}},load:function(postData,completeCallback){this._lastPostData=postData;this._reloadTable(completeCallback)},reload:function(completeCallback){this._reloadTable(completeCallback)},getRowByKey:function(key){for(var i=0;i").addClass("jtable-data-row").attr("data-record-key",this._getKeyValueOfRecord(record)).data("record",record);this._addCellsToRowUsingRecord($tr);return $tr},_addCellsToRowUsingRecord:function($row){var record=$row.data("record");for(var i=0;i").addClass(this.options.fields[fieldName].listClass).append((this._getDisplayTextForRecordField(record,fieldName)))},_addRecordsToTable:function(records){var self=this;$.each(records,function(index,record){self._addRow(self._createRowFromRecord(record))});self._refreshRowStyles()},_addRowToTable:function($tableRow,index,isNewRow,animationsEnabled){var options={index:this._normalizeNumber(index,0,this._$tableRows.length,this._$tableRows.length)};if(isNewRow==true){options.isNewRow=true}if(animationsEnabled==false){options.animationsEnabled=false}this._addRow($tableRow,options)},_addRow:function($row,options){options=$.extend({index:this._$tableRows.length,isNewRow:false,animationsEnabled:true},options);if(this._$tableRows.length<=0){this._removeNoDataRow()}options.index=this._normalizeNumber(options.index,0,this._$tableRows.length,this._$tableRows.length);if(options.index==this._$tableRows.length){this._$tableBody.append($row);this._$tableRows.push($row)}else{if(options.index==0){this._$tableBody.prepend($row);this._$tableRows.unshift($row)}else{this._$tableRows[options.index-1].after($row);this._$tableRows.splice(options.index,0,$row)}}this._onRowInserted($row,options.isNewRow);if(options.isNewRow){this._refreshRowStyles();if(this.options.animationsEnabled&&options.animationsEnabled){this._showNewRowAnimation($row)}}},_showNewRowAnimation:function($tableRow){var className="jtable-row-created";if(this.options.jqueryuiTheme){className=className+" ui-state-highlight"}$tableRow.addClass(className,"slow","",function(){$tableRow.removeClass(className,5000)})},_removeRowsFromTable:function($rows,reason){var self=this;if($rows.length<=0){return}$rows.addClass("jtable-row-removed").remove();$rows.each(function(){var index=self._findRowIndex($(this));if(index>=0){self._$tableRows.splice(index,1)}});self._onRowsRemoved($rows,reason);if(self._$tableRows.length==0){self._addNoDataRow()}self._refreshRowStyles()},_findRowIndex:function($row){return this._findIndexInArray($row,this._$tableRows,function($row1,$row2){return $row1.data("record")==$row2.data("record")})},_removeAllRows:function(reason){if(this._$tableRows.length<=0){return}var $rows=this._$tableBody.find("tr.jtable-data-row");this._$tableBody.empty();this._$tableRows=[];this._onRowsRemoved($rows,reason);this._addNoDataRow()},_addNoDataRow:function(){if(this._$tableBody.find(">tr.jtable-no-data-row").length>0){return}var $tr=$("").addClass("jtable-no-data-row").appendTo(this._$tableBody);var totalColumnCount=this._$table.find("thead th").length;$("").attr("colspan",totalColumnCount).html(this.options.messages.noDataAvailable).appendTo($tr)},_removeNoDataRow:function(){this._$tableBody.find(".jtable-no-data-row").remove()},_refreshRowStyles:function(){for(var i=0;i0){options.sort(function(a,b){return compareFunc(b,a)})}else{options.sort(function(a,b){return compareFunc(a,b)})}},_buildOptionsArrayFromObject:function(options){var list=[];$.each(options,function(propName,propValue){list.push({Value:propName,DisplayText:propValue})});return list},_buildOptionsFromArray:function(optionsArray){var list=[];for(var i=0;i=0){return new Date(parseInt(dateString.substr(6),10))}else{if(dateString.length==10){return new Date(parseInt(dateString.substr(0,4),10),parseInt(dateString.substr(5,2),10)-1,parseInt(dateString.substr(8,2),10))}else{if(dateString.length==19){return new Date(parseInt(dateString.substr(0,4),10),parseInt(dateString.substr(5,2),10)-1,parseInt(dateString.substr(8,2,10)),parseInt(dateString.substr(11,2),10),parseInt(dateString.substr(14,2),10),parseInt(dateString.substr(17,2),10))}else{this._logWarn("Given date is not properly formatted: "+dateString);return"format error!"}}}},_createToolBar:function(){this._$toolbarDiv=$("
      ").addClass("jtable-toolbar").appendTo(this._$titleDiv);for(var i=0;i").addClass("jtable-toolbar-item").appendTo(this._$toolbarDiv);this._jqueryuiThemeAddClass($toolBarItem,"ui-widget ui-state-default ui-corner-all","ui-state-hover");if(item.cssClass){$toolBarItem.addClass(item.cssClass)}if(item.tooltip){$toolBarItem.attr("title",item.tooltip)}if(item.icon){var $icon=$('').appendTo($toolBarItem);if(item.icon===true){}else{if($.type(item.icon==="string")){$icon.css("background",'url("'+item.icon+'")')}}}if(item.text){$('').html(item.text).addClass("jtable-toolbar-item-text").appendTo($toolBarItem)}if(item.click){$toolBarItem.click(function(){item.click()})}var hoverAnimationDuration=undefined;var hoverAnimationEasing=undefined;if(this.options.toolbar.hoverAnimation){hoverAnimationDuration=this.options.toolbar.hoverAnimationDuration;hoverAnimationEasing=this.options.toolbar.hoverAnimationEasing}$toolBarItem.hover(function(){$toolBarItem.addClass("jtable-toolbar-item-hover",hoverAnimationDuration,hoverAnimationEasing)},function(){$toolBarItem.removeClass("jtable-toolbar-item-hover",hoverAnimationDuration,hoverAnimationEasing)});return $toolBarItem},_showError:function(message){if(this.options.useBootstrap){this._$errorDialogDiv.find(".modal-body").html(message);this._$errorDialogDiv.modal("show")}else{this._$errorDialogDiv.html(message).dialog("open")}},_setBusyTimer:null,_showBusy:function(message,delay){var self=this;self._$busyDiv.width(self._$mainContainer.width()).height(self._$mainContainer.height()).addClass("jtable-busy-panel-background-invisible").show();var makeVisible=function(){self._$busyDiv.removeClass("jtable-busy-panel-background-invisible");self._$busyMessageDiv.html(message).show()};if(delay){if(self._setBusyTimer){return}self._setBusyTimer=setTimeout(makeVisible,delay)}else{makeVisible()}},_hideBusy:function(){clearTimeout(this._setBusyTimer);this._setBusyTimer=null;this._$busyDiv.hide();this._$busyMessageDiv.html("").hide()},_isBusy:function(){return this._$busyMessageDiv.is(":visible")},_jqueryuiThemeAddClass:function($elm,className,hoverClassName){if(!this.options.jqueryuiTheme){return}$elm.addClass(className);if(hoverClassName){$elm.hover(function(){$elm.addClass(hoverClassName)},function(){$elm.removeClass(hoverClassName)})}},_performAjaxCall:function(url,postData,async,success,error){this._ajax({url:url,data:postData,async:async,success:success,error:error})},_ajax:function(options){var opts=$.extend({},this.options.ajaxSettings,options);opts.success=function(data){if(options.success){options.success(data)}};opts.error=function(jqXHR,textStatus,errorThrown){if(unloadingPage){jqXHR.abort();return}if(options.error){options.error(arguments)}};opts.complete=function(){if(options.complete){options.complete()}};$.ajax(opts)},_getKeyValueOfRecord:function(record){return record[this._keyField]},_setCookie:function(key,value){key=this._cookieKeyPrefix+key;var expireDate=new Date();expireDate.setDate(expireDate.getDate()+30);document.cookie=encodeURIComponent(key)+"="+encodeURIComponent(value)+"; expires="+expireDate.toUTCString()},_getCookie:function(key){key=this._cookieKeyPrefix+key;var equalities=document.cookie.split("; ");for(var i=0;imax){return max}return number},_formatString:function(){if(arguments.length==0){return null}var str=arguments[0];for(var i=1;i").addClass("jtable-input-label").html(this.options.fields[fieldName].inputTitle||this.options.fields[fieldName].title)},_createInputForRecordField:function(funcParams){var fieldName=funcParams.fieldName,value=funcParams.value,record=funcParams.record,formType=funcParams.formType,form=funcParams.form;var field=this.options.fields[fieldName];if(value==undefined||value==null){value=field.defaultValue}if(field.input){var $input=$(field.input({value:value,record:record,formType:formType,form:form}));if(!$input.attr("id")){$input.attr("id","Edit-"+fieldName)}return $("
      ").addClass("jtable-input jtable-custom-input").append($input)}if(field.type=="date"){return this._createDateInputForField(field,fieldName,value)}else{if(field.type=="textarea"){return this._createTextAreaForField(field,fieldName,value)}else{if(field.type=="password"){return this._createPasswordInputForField(field,fieldName,value)}else{if(field.type=="checkbox"){return this._createCheckboxForField(field,fieldName,value)}else{if(field.options){if(field.type=="radiobutton"){return this._createRadioButtonListForField(field,fieldName,value,record,formType)}else{return this._createDropDownListForField(field,fieldName,value,record,formType,form)}}else{return this._createTextInputForField(field,fieldName,value)}}}}}},_createInputForHidden:function(fieldName,value){if(value==undefined){value=""}return $('').val(value)},_createDateInputForField:function(field,fieldName,value){var $input=$('');if(value!=undefined){$input.val(value)}var displayFormat=field.displayFormat||this.options.defaultDateFormat;$input.datepicker({dateFormat:displayFormat});return $("
      ").addClass("jtable-input jtable-date-input").append($input)},_createTextAreaForField:function(field,fieldName,value){var $textArea=$('');if(value!=undefined){$textArea.val(value)}return $("
      ").addClass("jtable-input jtable-textarea-input").append($textArea)},_createTextInputForField:function(field,fieldName,value){var $input=$('');if(value!=undefined){$input.val(value)}return $("
      ").addClass("jtable-input jtable-text-input").append($input)},_createPasswordInputForField:function(field,fieldName,value){var $input=$('');if(value!=undefined){$input.val(value)}return $("
      ").addClass("jtable-input jtable-password-input").append($input)},_createCheckboxForField:function(field,fieldName,value){var self=this;if(value==undefined){value=self._getCheckBoxPropertiesForFieldByState(fieldName,false).Value}var $containerDiv=$("
      ").addClass("jtable-input jtable-checkbox-input");var $checkBox=$('').appendTo($containerDiv);if(value!=undefined){$checkBox.val(value)}var $textSpan=$(""+(field.formText||self._getCheckBoxTextForFieldByValue(fieldName,value))+"").appendTo($containerDiv);if(self._getIsCheckBoxSelectedForFieldByValue(fieldName,value)){$checkBox.attr("checked","checked")}var refreshCheckBoxValueAndText=function(){var checkboxProps=self._getCheckBoxPropertiesForFieldByState(fieldName,$checkBox.is(":checked"));$checkBox.attr("value",checkboxProps.Value);$textSpan.html(field.formText||checkboxProps.DisplayText)};$checkBox.click(function(){refreshCheckBoxValueAndText()});if(field.setOnTextClick!=false){$textSpan.addClass("jtable-option-text-clickable").click(function(){if($checkBox.is(":checked")){$checkBox.attr("checked",false)}else{$checkBox.attr("checked",true)}refreshCheckBoxValueAndText()})}return $containerDiv},_createDropDownListForField:function(field,fieldName,value,record,source,form){var $containerDiv=$("
      ").addClass("jtable-input jtable-dropdown-input");var $select=$('').appendTo($containerDiv);var options=this._getOptionsForField(fieldName,{record:record,source:source,form:form,dependedValues:this._createDependedValuesUsingForm(form,field.dependsOn)});this._fillDropDownListWithOptions($select,options,value);return $containerDiv},_fillDropDownListWithOptions:function($select,options,value){$select.empty();for(var i=0;i"+options[i].DisplayText+"").val(options[i].Value).appendTo($select)}},_createDependedValuesUsingForm:function($form,dependsOn){if(!dependsOn){return{}}var dependedValues={};for(var i=0;i").addClass("jtable-input jtable-radiobuttonlist-input");var options=this._getOptionsForField(fieldName,{record:record,source:source});$.each(options,function(i,option){var $radioButtonDiv=$('
      ').addClass("jtable-radio-input").appendTo($containerDiv);var $radioButton=$('").val(option.Value).appendTo($radioButtonDiv);var $textSpan=$("").html(option.DisplayText).appendTo($radioButtonDiv);if(field.setOnTextClick!=false){$textSpan.addClass("jtable-option-text-clickable").click(function(){if(!$radioButton.is(":checked")){$radioButton.attr("checked",true)}})}});return $containerDiv},_getCheckBoxTextForFieldByValue:function(fieldName,value){return this.options.fields[fieldName].values[value]},_getIsCheckBoxSelectedForFieldByValue:function(fieldName,value){return(this._createCheckBoxStateArrayForFieldWithCaching(fieldName)[1].Value.toString()==value.toString())},_getCheckBoxPropertiesForFieldByState:function(fieldName,checked){return this._createCheckBoxStateArrayForFieldWithCaching(fieldName)[(checked?1:0)]},_createCheckBoxStateArrayForFieldWithCaching:function(fieldName){var cacheKey="checkbox_"+fieldName;if(!this._cache[cacheKey]){this._cache[cacheKey]=this._createCheckBoxStateArrayForField(fieldName)}return this._cache[cacheKey]},_createCheckBoxStateArrayForField:function(fieldName){var stateArray=[];var currentIndex=0;$.each(this.options.fields[fieldName].values,function(propName,propValue){if(currentIndex++<2){stateArray.push({Value:propName,DisplayText:propValue})}});return stateArray},_makeCascadeDropDowns:function($form,record,source){var self=this;$form.find("select").each(function(){var $thisDropdown=$(this);var fieldName=$thisDropdown.attr("name");if(!fieldName){return}var field=self.options.fields[fieldName];if(!field.dependsOn){return}$.each(field.dependsOn,function(index,dependsOnField){var $dependsOnDropdown=$form.find("select[name="+dependsOnField+"]");$dependsOnDropdown.change(function(){var funcParams={record:record,source:source,form:$form,dependedValues:{}};funcParams.dependedValues=self._createDependedValuesUsingForm($form,field.dependsOn);var options=self._getOptionsForField(fieldName,funcParams);self._fillDropDownListWithOptions($thisDropdown,options,undefined);$thisDropdown.change()})})})},_updateRecordValuesFromForm:function(record,$form){for(var i=0;i").appendTo(self._$mainContainer);if(self.options.useBootstrap){self._$addRecordDiv.addClass("modal hide fade");self._$addRecordDiv.css({width:"auto"});self._$addRecordDiv.append('");self._$addRecordDiv.find(".save").click(function(event){self._onSaveClickedOnCreateForm()});self._$addRecordDiv.modal({show:false});self._$addRecordDiv.on("hide",function(event){var $addRecordForm=self._$addRecordDiv.find("form").first();var $saveButton=$("#AddRecordDialogSaveButton");self._trigger("formClosed",null,{form:$addRecordForm,formType:"create"});self._setEnabledOfDialogButton(self.options.useBootstrap,$saveButton,true,self.options.messages.save);$addRecordForm.remove()})}else{self._$addRecordDiv.dialog({autoOpen:false,show:self.options.dialogShowEffect,hide:self.options.dialogHideEffect,width:"auto",minWidth:"300",modal:true,title:self.options.messages.addNewRecord,buttons:[{text:self.options.messages.cancel,click:function(){self._$addRecordDiv.dialog("close")}},{id:"AddRecordDialogSaveButton",text:self.options.messages.save,click:function(){self._onSaveClickedOnCreateForm()}}],close:function(){var $addRecordForm=self._$addRecordDiv.find("form").first();var $saveButton=$("#AddRecordDialogSaveButton");self._trigger("formClosed",null,{form:$addRecordForm,formType:"create"});self._setEnabledOfDialogButton(self.options.useBootstrap,$saveButton,true,self.options.messages.save);$addRecordForm.remove()}})}if(self.options.addRecordButton){self.options.addRecordButton.click(function(e){e.preventDefault();self._showAddRecordForm()})}else{self._addToolBarItem({icon:true,cssClass:"jtable-toolbar-item-add-record",text:self.options.messages.addNewRecord,click:function(){self._showAddRecordForm()}})}},_onSaveClickedOnCreateForm:function(){var self=this;var $saveButton=$("#AddRecordDialogSaveButton");var $addRecordForm=self._$addRecordDiv.find("form");if(self._trigger("formSubmitting",null,{form:$addRecordForm,formType:"create"})!=false){self._setEnabledOfDialogButton(self.options.useBootstrap,$saveButton,false,self.options.messages.saving);self._saveAddRecordForm($addRecordForm,$saveButton)}},showCreateForm:function(){this._showAddRecordForm()},addRecord:function(options){var self=this;options=$.extend({clientOnly:false,animationsEnabled:self.options.animationsEnabled,url:self.options.actions.createAction,success:function(){},error:function(){}},options);if(!options.record){self._logWarn("options parameter in addRecord method must contain a record property.");return}if(options.clientOnly){self._addRow(self._createRowFromRecord(options.record),{isNewRow:true,animationsEnabled:options.animationsEnabled});options.success();return}self._submitFormUsingAjax(options.url,$.param(options.record),function(data){if(data.Result!="OK"){self._showError(data.Message);options.error(data);return}if(!data.Record){self._logError("Server must return the created Record object.");options.error(data);return}self._onRecordAdded(data);self._addRow(self._createRowFromRecord(data.Record),{isNewRow:true,animationsEnabled:options.animationsEnabled});options.success(data)},function(){self._showError(self.options.messages.serverCommunicationError);options.error()})},_showAddRecordForm:function(){var self=this;var $addRecordForm=$('
      ');for(var i=0;i").addClass("jtable-input-field-container").appendTo($addRecordForm);$fieldContainer.append(self._createInputLabelForRecordField(fieldName));$fieldContainer.append(self._createInputForRecordField({fieldName:fieldName,formType:"create",form:$addRecordForm}))}self._makeCascadeDropDowns($addRecordForm,undefined,"create");$addRecordForm.submit(function(){self._onSaveClickedOnCreateForm();return false});if(self.options.useBootstrap){self._$addRecordDiv.find(".modal-body").append($addRecordForm);self._$addRecordDiv.modal("show")}else{self._$addRecordDiv.append($addRecordForm).dialog("open")}self._trigger("formCreated",null,{form:$addRecordForm,formType:"create"})},_saveAddRecordForm:function($addRecordForm,$saveButton){var self=this;$addRecordForm.data("submitting",true);self._submitFormUsingAjax(self.options.actions.createAction,$addRecordForm.serialize(),function(data){if(data.Result!="OK"){self._showError(data.Message);self._setEnabledOfDialogButton(self.options.useBootstrap,$saveButton,true,self.options.messages.save);return}if(!data.Record){self._logError("Server must return the created Record object.");self._setEnabledOfDialogButton(self.options.useBootstrap,$saveButton,true,self.options.messages.save);return}self._onRecordAdded(data);self._addRow(self._createRowFromRecord(data.Record),{isNewRow:true});if(self.options.useBootstrap){self._$addRecordDiv.modal("hide")}else{self._$addRecordDiv.dialog("close")}},function(){self._showError(self.options.messages.serverCommunicationError);self._setEnabledOfDialogButton(self.options.useBootstrap,$saveButton,true,self.options.messages.save)})},_onRecordAdded:function(data){this._trigger("recordAdded",null,{record:data.Record,serverResponse:data})}})})(jQuery);(function($){var base={_create:$.hik.jtable.prototype._create,_addColumnsToHeaderRow:$.hik.jtable.prototype._addColumnsToHeaderRow,_addCellsToRowUsingRecord:$.hik.jtable.prototype._addCellsToRowUsingRecord};$.extend(true,$.hik.jtable.prototype,{options:{recordUpdated:function(event,data){},rowUpdated:function(event,data){},messages:{editRecord:"Edit Record"}},_$editDiv:null,_$editingRow:null,_create:function(){base._create.apply(this,arguments);if(!this.options.actions.updateAction){return}this._createEditDialogDiv()},_createEditDialogDiv:function(){var self=this;self._$editDiv=$("
      ").appendTo(self._$mainContainer);if(self.options.useBootstrap){self._$editDiv.addClass("modal hide fade");self._$editDiv.css({width:"auto"});self._$editDiv.append('");self._$editDiv.find(".save").click(function(event){self._onSaveClickedOnEditForm()});self._$editDiv.modal({show:false});self._$editDiv.on("hide",function(event){var $editForm=self._$editDiv.find("form:first");var $saveButton=$("#EditDialogSaveButton");self._trigger("formClosed",null,{form:$editForm,formType:"edit",row:self._$editingRow});self._setEnabledOfDialogButton(self.options.useBootstrap,$saveButton,true,self.options.messages.save);$editForm.remove()})}else{self._$editDiv.dialog({autoOpen:false,show:self.options.dialogShowEffect,hide:self.options.dialogHideEffect,width:"auto",minWidth:"300",modal:true,title:self.options.messages.editRecord,buttons:[{text:self.options.messages.cancel,click:function(){self._$editDiv.dialog("close")}},{id:"EditDialogSaveButton",text:self.options.messages.save,click:function(){self._onSaveClickedOnEditForm()}}],close:function(){var $editForm=self._$editDiv.find("form:first");var $saveButton=$("#EditDialogSaveButton");self._trigger("formClosed",null,{form:$editForm,formType:"edit",row:self._$editingRow});self._setEnabledOfDialogButton(self.options.useBootstrap,$saveButton,true,self.options.messages.save);$editForm.remove()}})}},_onSaveClickedOnEditForm:function(){var self=this;if(self._$editingRow.hasClass("jtable-row-removed")){if(self.options.useBootstrap){self._$editDiv.modal("hide")}else{self._$editDiv.dialog("close")}return}var $saveButton=$("#EditDialogSaveButton");var $editForm=self._$editDiv.find("form");if(self._trigger("formSubmitting",null,{form:$editForm,formType:"edit",row:self._$editingRow})!=false){self._setEnabledOfDialogButton(self.options.useBootstrap,$saveButton,false,self.options.messages.saving);self._saveEditForm($editForm,$saveButton)}},updateRecord:function(options){var self=this;options=$.extend({clientOnly:false,animationsEnabled:self.options.animationsEnabled,url:self.options.actions.updateAction,success:function(){},error:function(){}},options);if(!options.record){self._logWarn("options parameter in updateRecord method must contain a record property.");return}var key=self._getKeyValueOfRecord(options.record);if(key==undefined||key==null){self._logWarn("options parameter in updateRecord method must contain a record that contains the key field property.");return}var $updatingRow=self.getRowByKey(key);if($updatingRow==null){self._logWarn("Can not found any row by key: "+key);return}if(options.clientOnly){$.extend($updatingRow.data("record"),options.record);self._updateRowTexts($updatingRow);self._onRecordUpdated($updatingRow,null);if(options.animationsEnabled){self._showUpdateAnimationForRow($updatingRow)}options.success();return}self._submitFormUsingAjax(options.url,$.param(options.record),function(data){if(data.Result!="OK"){self._showError(data.Message);options.error(data);return}$.extend($updatingRow.data("record"),options.record);self._updateRecordValuesFromServerResponse($updatingRow.data("record"),data);self._updateRowTexts($updatingRow);self._onRecordUpdated($updatingRow,data);if(options.animationsEnabled){self._showUpdateAnimationForRow($updatingRow)}options.success(data)},function(){self._showError(self.options.messages.serverCommunicationError);options.error()})},_addColumnsToHeaderRow:function($tr){base._addColumnsToHeaderRow.apply(this,arguments);if(this.options.actions.updateAction!=undefined){$tr.append(this._createEmptyCommandHeader())}},_addCellsToRowUsingRecord:function($row){var self=this;base._addCellsToRowUsingRecord.apply(this,arguments);if(self.options.actions.updateAction!=undefined){var $span=$("").html(self.options.messages.editRecord);var $button=$('').addClass("jtable-command-button jtable-edit-command-button").append($span).click(function(e){e.preventDefault();e.stopPropagation();self._showEditForm($row)});$("").addClass("jtable-command-column").append($button).appendTo($row)}},_showEditForm:function($tableRow){var self=this;var record=$tableRow.data("record");var $editForm=$('
      ');for(var i=0;i
      ').appendTo($editForm);$fieldContainer.append(self._createInputLabelForRecordField(fieldName));var currentValue=self._getValueForRecordField(record,fieldName);$fieldContainer.append(self._createInputForRecordField({fieldName:fieldName,value:currentValue,record:record,formType:"edit",form:$editForm}))}self._makeCascadeDropDowns($editForm,record,"edit");$editForm.submit(function(){self._onSaveClickedOnEditForm();return false});self._$editingRow=$tableRow;if(self.options.useBootstrap){self._$editDiv.find(".modal-body").html($editForm);self._$editDiv.modal("show")}else{self._$editDiv.append($editForm);self._$ediDiv.dialog("open")}self._trigger("formCreated",null,{form:$editForm,formType:"edit",record:record,row:$tableRow})},_saveEditForm:function($editForm,$saveButton){var self=this;self._submitFormUsingAjax(self.options.actions.updateAction,$editForm.serialize(),function(data){if(data.Result!="OK"){self._showError(data.Message);self._setEnabledOfDialogButton(self.options.useBootstrap,$saveButton,true,self.options.messages.save);return}var record=self._$editingRow.data("record");self._updateRecordValuesFromForm(record,$editForm);self._updateRecordValuesFromServerResponse(record,data);self._updateRowTexts(self._$editingRow);self._$editingRow.attr("data-record-key",self._getKeyValueOfRecord(record));self._onRecordUpdated(self._$editingRow,data);if(self.options.animationsEnabled){self._showUpdateAnimationForRow(self._$editingRow)}if(self.options.useBootstrap){self._$editDiv.modal("hide")}else{self._$editDiv.dialog("close")}},function(){self._showError(self.options.messages.serverCommunicationError);self._setEnabledOfDialogButton(self.options.useBootstrap,$saveButton,true,self.options.messages.save)})},_updateRecordValuesFromServerResponse:function(record,serverResponse){if(!serverResponse||!serverResponse.Record){return}$.extend(true,record,serverResponse.Record)},_getValueForRecordField:function(record,fieldName){var field=this.options.fields[fieldName];var fieldValue=record[fieldName];if(field.type=="date"){return this._getDisplayTextForDateRecordField(field,fieldValue)}else{return fieldValue}},_updateRowTexts:function($tableRow){var record=$tableRow.data("record");var $columns=$tableRow.find("td");for(var i=0;i").appendTo(self._$mainContainer);if(self.options.useBootstrap){self._$deleteRecordDiv.addClass("modal hide fade");self._$deleteRecordDiv.append('");self._$deleteRecordDiv.modal({show:false});self._$deleteRecordDiv.find("#DeleteDialogButton").click(function(event){if(self._$deletingRow.hasClass("jtable-row-removed")){self._$deleteRecordDiv.dialog("close");return}var $deleteButton=$(this);self._setEnabledOfDialogButton(self.options.useBootstrap,$deleteButton,false,self.options.messages.deleting);self._deleteRecordFromServer(self._$deletingRow,function(){self._removeRowsFromTableWithAnimation(self._$deletingRow);self._$deleteRecordDiv.modal("hide")},function(message){self._showError(message);self._setEnabledOfDialogButton(self.options.useBootstrap,$deleteButton,true,self.options.messages.deleteText)})});self._$deleteRecordDiv.on("hidden",function(event){var $deleteButton=$(this).find("#DeleteDialogButton");self._setEnabledOfDialogButton(self.options.useBootstrap,$deleteButton,true,self.options.messages.deleteText)})}else{self._$deleteRecordDiv.append('

      ');self._$deleteRecordDiv.dialog({autoOpen:false,show:self.options.dialogShowEffect,hide:self.options.dialogHideEffect,modal:true,title:self.options.messages.areYouSure,buttons:[{text:self.options.messages.cancel,click:function(){self._$deleteRecordDiv.dialog("close")}},{id:"DeleteDialogButton",text:self.options.messages.deleteText,click:function(){if(self._$deletingRow.hasClass("jtable-row-removed")){self._$deleteRecordDiv.dialog("close");return}var $deleteButton=$("#DeleteDialogButton");self._setEnabledOfDialogButton(self.options.useBootstrap,$deleteButton,false,self.options.messages.deleting);self._deleteRecordFromServer(self._$deletingRow,function(){self._removeRowsFromTableWithAnimation(self._$deletingRow);self._$deleteRecordDiv.dialog("close")},function(message){self._showError(message);self._setEnabledOfDialogButton(self.options.useBootstrap,$deleteButton,true,self.options.messages.deleteText)})}}],close:function(){var $deleteButton=$("#DeleteDialogButton");self._setEnabledOfDialogButton(self.options.useBootstrap,$deleteButton,true,self.options.messages.deleteText)}})}},deleteRows:function($rows){var self=this;if($rows.length<=0){self._logWarn("No rows specified to jTable deleteRows method.");return}if(self._isBusy()){self._logWarn("Can not delete rows since jTable is busy!");return}if($rows.length==1){self._deleteRecordFromServer($rows,function(){self._removeRowsFromTableWithAnimation($rows)},function(message){self._showError(message)});return}self._showBusy(self._formatString(self.options.messages.deleteProggress,0,$rows.length));var completedCount=0;var isCompleted=function(){return(completedCount>=$rows.length)};var completed=function(){var $deletedRows=$rows.filter(".jtable-row-ready-to-remove");if($deletedRows.length<$rows.length){self._showError(self._formatString(self.options.messages.canNotDeletedRecords,$rows.length-$deletedRows.length,$rows.length))}if($deletedRows.length>0){self._removeRowsFromTableWithAnimation($deletedRows)}self._hideBusy()};var deletedCount=0;$rows.each(function(){var $row=$(this);self._deleteRecordFromServer($row,function(){++deletedCount;++completedCount;$row.addClass("jtable-row-ready-to-remove");self._showBusy(self._formatString(self.options.messages.deleteProggress,deletedCount,$rows.length));if(isCompleted()){completed()}},function(){++completedCount;if(isCompleted()){completed()}})})},deleteRecord:function(options){var self=this;options=$.extend({clientOnly:false,animationsEnabled:self.options.animationsEnabled,url:self.options.actions.deleteAction,success:function(){},error:function(){}},options);if(options.key==undefined){self._logWarn("options parameter in deleteRecord method must contain a key property.");return}var $deletingRow=self.getRowByKey(options.key);if($deletingRow==null){self._logWarn("Can not found any row by key: "+options.key);return}if(options.clientOnly){self._removeRowsFromTableWithAnimation($deletingRow,options.animationsEnabled);options.success();return}self._deleteRecordFromServer($deletingRow,function(data){self._removeRowsFromTableWithAnimation($deletingRow,options.animationsEnabled);options.success(data)},function(message){self._showError(message);options.error(message)},options.url)},_addColumnsToHeaderRow:function($tr){base._addColumnsToHeaderRow.apply(this,arguments);if(this.options.actions.deleteAction!=undefined){$tr.append(this._createEmptyCommandHeader())}},_addCellsToRowUsingRecord:function($row){base._addCellsToRowUsingRecord.apply(this,arguments);var self=this;if(self.options.actions.deleteAction!=undefined){var $span=$("").html(self.options.messages.deleteText);var $button=$('').addClass("jtable-command-button jtable-delete-command-button").append($span).click(function(e){e.preventDefault();e.stopPropagation();self._deleteButtonClickedForRow($row)});$("").addClass("jtable-command-column").append($button).appendTo($row)}},_deleteButtonClickedForRow:function($row){var self=this;var deleteConfirm;var deleteConfirmMessage=self.options.messages.deleteConfirmation;if($.isFunction(self.options.deleteConfirmation)){var data={row:$row,record:$row.data("record"),deleteConfirm:true,deleteConfirmMessage:deleteConfirmMessage,cancel:false,cancelMessage:null};self.options.deleteConfirmation(data);if(data.cancel){if(data.cancelMessage){self._showError(data.cancelMessage)}return}deleteConfirmMessage=data.deleteConfirmMessage;deleteConfirm=data.deleteConfirm}else{deleteConfirm=self.options.deleteConfirmation}if(deleteConfirm!=false){if(self.options.useBootstrap){self._$deleteRecordDiv.find(".modal-body").html(deleteConfirmMessage)}else{self._$deleteRecordDiv.find(".jtable-delete-confirm-message").html(deleteConfirmMessage)}self._showDeleteDialog($row)}else{self._deleteRecordFromServer($row,function(){self._removeRowsFromTableWithAnimation($row)},function(message){self._showError(message)})}},_showDeleteDialog:function($row){this._$deletingRow=$row;if(this.options.useBootstrap){this._$deleteRecordDiv.modal("show")}else{this._$deleteRecordDiv.dialog("open")}},_deleteRecordFromServer:function($row,success,error,url){var self=this;if($row.data("deleting")==true){return}$row.data("deleting",true);var postData={};postData[self._keyField]=self._getKeyValueOfRecord($row.data("record"));this._ajax({url:(url||self.options.actions.deleteAction),data:postData,success:function(data){if(data.Result!="OK"){$row.data("deleting",false);if(error){error(data.Message)}return}self._trigger("recordDeleted",null,{record:$row.data("record"),row:$row,serverResponse:data});if(success){success(data)}},error:function(){$row.data("deleting",false);if(error){error(self.options.messages.serverCommunicationError)}}})},_removeRowsFromTableWithAnimation:function($rows,animationsEnabled){var self=this;if(animationsEnabled==undefined){animationsEnabled=self.options.animationsEnabled}if(animationsEnabled){var className="jtable-row-deleting";if(this.options.jqueryuiTheme){className=className+" ui-state-disabled"}$rows.stop(true,true).addClass(className,"slow","").promise().done(function(){self._removeRowsFromTable($rows,"deleted")})}else{self._removeRowsFromTable($rows,"deleted")}}})})(jQuery);(function($){var base={_create:$.hik.jtable.prototype._create,_addColumnsToHeaderRow:$.hik.jtable.prototype._addColumnsToHeaderRow,_addCellsToRowUsingRecord:$.hik.jtable.prototype._addCellsToRowUsingRecord,_onLoadingRecords:$.hik.jtable.prototype._onLoadingRecords,_onRecordsLoaded:$.hik.jtable.prototype._onRecordsLoaded,_onRowsRemoved:$.hik.jtable.prototype._onRowsRemoved};$.extend(true,$.hik.jtable.prototype,{options:{selecting:false,multiselect:false,selectingCheckboxes:false,selectOnRowClick:true,selectionChanged:function(event,data){}},_selectedRecordIdsBeforeLoad:null,_$selectAllCheckbox:null,_shiftKeyDown:false,_create:function(){if(this.options.selecting&&this.options.selectingCheckboxes){++this._firstDataColumnOffset;this._bindKeyboardEvents()}base._create.apply(this,arguments)},_bindKeyboardEvents:function(){var self=this;$(document).keydown(function(event){switch(event.which){case 16:self._shiftKeyDown=true;break}}).keyup(function(event){switch(event.which){case 16:self._shiftKeyDown=false;break}})},selectedRows:function(){return this._getSelectedRows()},selectRows:function($rows){this._selectRows($rows);this._onSelectionChanged()},_addColumnsToHeaderRow:function($tr){if(this.options.selecting&&this.options.selectingCheckboxes){if(this.options.multiselect){$tr.append(this._createSelectAllHeader())}else{$tr.append(this._createEmptyCommandHeader())}}base._addColumnsToHeaderRow.apply(this,arguments)},_addCellsToRowUsingRecord:function($row){if(this.options.selecting){this._makeRowSelectable($row)}base._addCellsToRowUsingRecord.apply(this,arguments)},_onLoadingRecords:function(){if(this.options.selecting){this._storeSelectionList()}base._onLoadingRecords.apply(this,arguments)},_onRecordsLoaded:function(){if(this.options.selecting){this._restoreSelectionList()}base._onRecordsLoaded.apply(this,arguments)},_onRowsRemoved:function($rows,reason){if(this.options.selecting&&(reason!="reloading")&&($rows.filter(".jtable-row-selected").length>0)){this._onSelectionChanged()}base._onRowsRemoved.apply(this,arguments)},_createSelectAllHeader:function(){var self=this;var $columnHeader=$('').addClass("jtable-command-column-header jtable-column-header-selecting");this._jqueryuiThemeAddClass($columnHeader,"ui-state-default");var $headerContainer=$("
      ").addClass("jtable-column-header-container").appendTo($columnHeader);self._$selectAllCheckbox=$('').appendTo($headerContainer).click(function(){if(self._$tableRows.length<=0){self._$selectAllCheckbox.attr("checked",false);return}var allRows=self._$tableBody.find(">tr.jtable-data-row");if(self._$selectAllCheckbox.is(":checked")){self._selectRows(allRows)}else{self._deselectRows(allRows)}self._onSelectionChanged()});return $columnHeader},_storeSelectionList:function(){var self=this;if(!self.options.selecting){return}self._selectedRecordIdsBeforeLoad=[];self._getSelectedRows().each(function(){self._selectedRecordIdsBeforeLoad.push(self._getKeyValueOfRecord($(this).data("record")))})},_restoreSelectionList:function(){var self=this;if(!self.options.selecting){return}var selectedRowCount=0;for(var i=0;i-1){self._selectRows(self._$tableRows[i]);++selectedRowCount}}if(self._selectedRecordIdsBeforeLoad.length>0&&self._selectedRecordIdsBeforeLoad.length!=selectedRowCount){self._onSelectionChanged()}self._selectedRecordIdsBeforeLoad=[];self._refreshSelectAllCheckboxState()},_getSelectedRows:function(){return this._$tableBody.find(">tr.jtable-row-selected")},_makeRowSelectable:function($row){var self=this;if(self.options.selectOnRowClick){$row.click(function(){self._invertRowSelection($row)})}if(self.options.selectingCheckboxes){var $cell=$("").addClass("jtable-selecting-column");var $selectCheckbox=$('').appendTo($cell);if(!self.options.selectOnRowClick){$selectCheckbox.click(function(){self._invertRowSelection($row)})}$row.append($cell)}},_invertRowSelection:function($row){if($row.hasClass("jtable-row-selected")){this._deselectRows($row)}else{if(this._shiftKeyDown){var rowIndex=this._findRowIndex($row);var beforeIndex=this._findFirstSelectedRowIndexBeforeIndex(rowIndex)+1;if(beforeIndex>0&&beforeIndexrowIndex){this._selectRows(this._$tableBody.find("tr").slice(rowIndex,afterIndex+1))}else{this._selectRows($row)}}}else{this._selectRows($row)}}this._onSelectionChanged()},_findFirstSelectedRowIndexBeforeIndex:function(rowIndex){for(var i=rowIndex-1;i>=0;--i){if(this._$tableRows[i].hasClass("jtable-row-selected")){return i}}return -1},_findFirstSelectedRowIndexAfterIndex:function(rowIndex){for(var i=rowIndex+1;itd.jtable-selecting-column >input").prop("checked",true)}this._refreshSelectAllCheckboxState()},_deselectRows:function($rows){$rows.removeClass("jtable-row-selected ui-state-highlight");if(this.options.selectingCheckboxes){$rows.find(">td.jtable-selecting-column >input").prop("checked",false)}this._refreshSelectAllCheckboxState()},_refreshSelectAllCheckboxState:function(){if(!this.options.selectingCheckboxes||!this.options.multiselect){return}var totalRowCount=this._$tableRows.length;var selectedRowCount=this._getSelectedRows().length;if(selectedRowCount==0){this._$selectAllCheckbox.prop("indeterminate",false);this._$selectAllCheckbox.attr("checked",false)}else{if(selectedRowCount==totalRowCount){this._$selectAllCheckbox.prop("indeterminate",false);this._$selectAllCheckbox.attr("checked",true)}else{this._$selectAllCheckbox.attr("checked",false);this._$selectAllCheckbox.prop("indeterminate",true)}}},_onSelectionChanged:function(){this._trigger("selectionChanged",null,{})}})})(jQuery);(function($){var base={load:$.hik.jtable.prototype.load,_create:$.hik.jtable.prototype._create,_setOption:$.hik.jtable.prototype._setOption,_createRecordLoadUrl:$.hik.jtable.prototype._createRecordLoadUrl,_addRowToTable:$.hik.jtable.prototype._addRowToTable,_addRow:$.hik.jtable.prototype._addRow,_removeRowsFromTable:$.hik.jtable.prototype._removeRowsFromTable,_onRecordsLoaded:$.hik.jtable.prototype._onRecordsLoaded};$.extend(true,$.hik.jtable.prototype,{options:{paging:false,pageList:"normal",pageSize:10,pageSizes:[10,25,50,100,250,500],pageSizeChangeArea:true,gotoPageArea:"combobox",messages:{pagingInfo:"Showing {0}-{1} of {2}",pageSizeChangeLabel:"Row count",gotoPageLabel:"Go to page"}},_$bottomPanel:null,_$pagingListArea:null,_$pageSizeChangeArea:null,_$pageInfoSpan:null,_$gotoPageArea:null,_$gotoPageInput:null,_totalRecordCount:0,_currentPageNo:1,_create:function(){base._create.apply(this,arguments);if(this.options.paging){this._loadPagingSettings();this._createBottomPanel();this._createPageListArea();this._createGotoPageInput();this._createPageSizeSelection()}},_loadPagingSettings:function(){if(!this.options.saveUserPreferences){return}var pageSize=this._getCookie("page-size");if(pageSize){this.options.pageSize=this._normalizeNumber(pageSize,1,1000000,this.options.pageSize)}},_createBottomPanel:function(){this._$bottomPanel=$("
      ").addClass("jtable-bottom-panel").insertAfter(this._$table);this._jqueryuiThemeAddClass(this._$bottomPanel,"ui-state-default");$("
      ").addClass("jtable-left-area").appendTo(this._$bottomPanel);$("
      ").addClass("jtable-right-area").appendTo(this._$bottomPanel)},_createPageListArea:function(){this._$pagingListArea=$("").addClass("jtable-page-list").appendTo(this._$bottomPanel.find(".jtable-left-area"));this._$pageInfoSpan=$("").addClass("jtable-page-info").appendTo(this._$bottomPanel.find(".jtable-right-area"))},_createPageSizeSelection:function(){var self=this;if(!self.options.pageSizeChangeArea){return}if(self._findIndexInArray(self.options.pageSize,self.options.pageSizes)<0){self.options.pageSizes.push(parseInt(self.options.pageSize));self.options.pageSizes.sort(function(a,b){return a-b})}self._$pageSizeChangeArea=$("").addClass("jtable-page-size-change").appendTo(self._$bottomPanel.find(".jtable-left-area"));self._$pageSizeChangeArea.append(""+self.options.messages.pageSizeChangeLabel+": ");var $pageSizeChangeCombobox=$("").appendTo(self._$pageSizeChangeArea);for(var i=0;i'+self.options.pageSizes[i]+"")}$pageSizeChangeCombobox.val(self.options.pageSize);$pageSizeChangeCombobox.change(function(){self._changePageSize(parseInt($(this).val()))})},_createGotoPageInput:function(){var self=this;if(!self.options.gotoPageArea||self.options.gotoPageArea=="none"){return}this._$gotoPageArea=$("").addClass("jtable-goto-page").appendTo(self._$bottomPanel.find(".jtable-left-area"));this._$gotoPageArea.append(""+self.options.messages.gotoPageLabel+": ");if(self.options.gotoPageArea=="combobox"){self._$gotoPageInput=$("").appendTo(this._$gotoPageArea).data("pageCount",1).change(function(){self._changePage(parseInt($(this).val()))});self._$gotoPageInput.append('')}else{self._$gotoPageInput=$('').appendTo(this._$gotoPageArea).keypress(function(event){if(event.which==13){event.preventDefault();self._changePage(parseInt(self._$gotoPageInput.val()))}else{if(event.which==43){event.preventDefault();self._changePage(parseInt(self._$gotoPageInput.val())+1)}else{if(event.which==45){event.preventDefault();self._changePage(parseInt(self._$gotoPageInput.val())-1)}else{var isValid=((4710000){pageStep=100}else{if(currentPageCount>5000){pageStep=10}else{if(currentPageCount>2000){pageStep=5}else{if(currentPageCount>1000){pageStep=2}}}}for(var i=pageStep;i<=currentPageCount;i+=pageStep){this._$gotoPageInput.append('")}this._$gotoPageInput.data("pageCount",currentPageCount)}}this._$gotoPageInput.val(this._currentPageNo)},load:function(){this._currentPageNo=1;base.load.apply(this,arguments)},_setOption:function(key,value){base._setOption.apply(this,arguments);if(key=="pageSize"){this._changePageSize(parseInt(value))}},_changePageSize:function(pageSize){if(pageSize==this.options.pageSize){return}this.options.pageSize=pageSize;var pageCount=this._calculatePageCount();if(this._currentPageNo>pageCount){this._currentPageNo=pageCount}if(this._currentPageNo<=0){this._currentPageNo=1}var $pageSizeChangeCombobox=this._$bottomPanel.find(".jtable-page-size-change select");if($pageSizeChangeCombobox.length>0){if(parseInt($pageSizeChangeCombobox.val())!=pageSize){var selectedOption=$pageSizeChangeCombobox.find("option[value="+pageSize+"]");if(selectedOption.length>0){$pageSizeChangeCombobox.val(pageSize)}}}this._savePagingSettings();this._reloadTable()},_savePagingSettings:function(){if(!this.options.saveUserPreferences){return}this._setCookie("page-size",this.options.pageSize)},_createRecordLoadUrl:function(){var loadUrl=base._createRecordLoadUrl.apply(this,arguments);loadUrl=this._addPagingInfoToUrl(loadUrl,this._currentPageNo);return loadUrl},_addRowToTable:function($tableRow,index,isNewRow){if(isNewRow&&this.options.paging){this._reloadTable();return}base._addRowToTable.apply(this,arguments)},_addRow:function($row,options){if(options&&options.isNewRow&&this.options.paging){this._reloadTable();return}base._addRow.apply(this,arguments)},_removeRowsFromTable:function($rows,reason){base._removeRowsFromTable.apply(this,arguments);if(this.options.paging){if(this._$tableRows.length<=0&&this._currentPageNo>1){--this._currentPageNo}this._reloadTable()}},_onRecordsLoaded:function(data){if(this.options.paging){this._totalRecordCount=data.TotalRecordCount;this._createPagingList();this._createPagingInfo();this._refreshGotoPageInput()}base._onRecordsLoaded.apply(this,arguments)},_addPagingInfoToUrl:function(url,pageNumber){if(!this.options.paging){return url}var jtStartIndex=(pageNumber-1)*this.options.pageSize;var jtPageSize=this.options.pageSize;return(url+(url.indexOf("?")<0?"?":"&")+"jtStartIndex="+jtStartIndex+"&jtPageSize="+jtPageSize)},_createPagingList:function(){if(this.options.pageSize<=0){return}this._$pagingListArea.empty();if(this._totalRecordCount<=0){return}var pageCount=this._calculatePageCount();this._createFirstAndPreviousPageButtons();if(this.options.pageList=="normal"){this._createPageNumberButtons(this._calculatePageNumbers(pageCount))}this._createLastAndNextPageButtons(pageCount);this._bindClickEventsToPageNumberButtons()},_createFirstAndPreviousPageButtons:function(){var $first=$("").addClass("jtable-page-number-first").html("<<").data("pageNumber",1).appendTo(this._$pagingListArea);var $previous=$("").addClass("jtable-page-number-previous").html("<").data("pageNumber",this._currentPageNo-1).appendTo(this._$pagingListArea);this._jqueryuiThemeAddClass($first,"ui-button ui-state-default","ui-state-hover");this._jqueryuiThemeAddClass($previous,"ui-button ui-state-default","ui-state-hover");if(this._currentPageNo<=1){$first.addClass("jtable-page-number-disabled");$previous.addClass("jtable-page-number-disabled");this._jqueryuiThemeAddClass($first,"ui-state-disabled");this._jqueryuiThemeAddClass($previous,"ui-state-disabled")}},_createLastAndNextPageButtons:function(pageCount){var $next=$("").addClass("jtable-page-number-next").html(">").data("pageNumber",this._currentPageNo+1).appendTo(this._$pagingListArea);var $last=$("").addClass("jtable-page-number-last").html(">>").data("pageNumber",pageCount).appendTo(this._$pagingListArea);this._jqueryuiThemeAddClass($next,"ui-button ui-state-default","ui-state-hover");this._jqueryuiThemeAddClass($last,"ui-button ui-state-default","ui-state-hover");if(this._currentPageNo>=pageCount){$next.addClass("jtable-page-number-disabled");$last.addClass("jtable-page-number-disabled");this._jqueryuiThemeAddClass($next,"ui-state-disabled");this._jqueryuiThemeAddClass($last,"ui-state-disabled")}},_createPageNumberButtons:function(pageNumbers){var previousNumber=0;for(var i=0;i1){$("").addClass("jtable-page-number-space").html("...").appendTo(this._$pagingListArea)}this._createPageNumberButton(pageNumbers[i]);previousNumber=pageNumbers[i]}},_createPageNumberButton:function(pageNumber){var $pageNumber=$("").addClass("jtable-page-number").html(pageNumber).data("pageNumber",pageNumber).appendTo(this._$pagingListArea);this._jqueryuiThemeAddClass($pageNumber,"ui-button ui-state-default","ui-state-hover");if(this._currentPageNo==pageNumber){$pageNumber.addClass("jtable-page-number-active jtable-page-number-disabled");this._jqueryuiThemeAddClass($pageNumber,"ui-state-active")}},_calculatePageCount:function(){var pageCount=Math.floor(this._totalRecordCount/this.options.pageSize);if(this._totalRecordCount%this.options.pageSize!=0){++pageCount}return pageCount},_calculatePageNumbers:function(pageCount){if(pageCount<=4){var pageNumbers=[];for(var i=1;i<=pageCount;++i){pageNumbers.push(i)}return pageNumbers}else{var shownPageNumbers=[1,2,pageCount-1,pageCount];var previousPageNo=this._normalizeNumber(this._currentPageNo-1,1,pageCount,1);var nextPageNo=this._normalizeNumber(this._currentPageNo+1,1,pageCount,1);this._insertToArrayIfDoesNotExists(shownPageNumbers,previousPageNo);this._insertToArrayIfDoesNotExists(shownPageNumbers,this._currentPageNo);this._insertToArrayIfDoesNotExists(shownPageNumbers,nextPageNo);shownPageNumbers.sort(function(a,b){return a-b});return shownPageNumbers}},_createPagingInfo:function(){if(this._totalRecordCount<=0){this._$pageInfoSpan.empty();return}var startNo=(this._currentPageNo-1)*this.options.pageSize+1;var endNo=this._currentPageNo*this.options.pageSize;endNo=this._normalizeNumber(endNo,startNo,this._totalRecordCount,0);if(endNo>=startNo){var pagingInfoMessage=this._formatString(this.options.messages.pagingInfo,startNo,endNo,this._totalRecordCount);this._$pageInfoSpan.html(pagingInfoMessage)}},_bindClickEventsToPageNumberButtons:function(){var self=this;self._$pagingListArea.find(".jtable-page-number,.jtable-page-number-previous,.jtable-page-number-next,.jtable-page-number-first,.jtable-page-number-last").not(".jtable-page-number-disabled").click(function(e){e.preventDefault();self._changePage($(this).data("pageNumber"))})},_changePage:function(pageNo){pageNo=this._normalizeNumber(pageNo,1,this._calculatePageCount(),1);if(pageNo==this._currentPageNo){this._refreshGotoPageInput();return}this._currentPageNo=pageNo;this._reloadTable()}})})(jQuery);(function($){var base={_initializeFields:$.hik.jtable.prototype._initializeFields,_normalizeFieldOptions:$.hik.jtable.prototype._normalizeFieldOptions,_createHeaderCellForField:$.hik.jtable.prototype._createHeaderCellForField,_createRecordLoadUrl:$.hik.jtable.prototype._createRecordLoadUrl};$.extend(true,$.hik.jtable.prototype,{options:{sorting:false,multiSorting:false,defaultSorting:""},_lastSorting:null,_initializeFields:function(){base._initializeFields.apply(this,arguments);this._lastSorting=[];if(this.options.sorting){this._buildDefaultSortingArray()}},_normalizeFieldOptions:function(fieldName,props){base._normalizeFieldOptions.apply(this,arguments);props.sorting=(props.sorting!=false)},_createHeaderCellForField:function(fieldName,field){var $headerCell=base._createHeaderCellForField.apply(this,arguments);if(this.options.sorting&&field.sorting){this._makeColumnSortable($headerCell,fieldName)}return $headerCell},_createRecordLoadUrl:function(){var loadUrl=base._createRecordLoadUrl.apply(this,arguments);loadUrl=this._addSortingInfoToUrl(loadUrl);return loadUrl},_buildDefaultSortingArray:function(){var self=this;$.each(self.options.defaultSorting.split(","),function(orderIndex,orderValue){$.each(self.options.fields,function(fieldName,fieldProps){if(fieldProps.sorting){var colOffset=orderValue.indexOf(fieldName);if(colOffset>-1){if(orderValue.toUpperCase().indexOf(" DESC",colOffset)>-1){self._lastSorting.push({fieldName:fieldName,sortOrder:"DESC"})}else{self._lastSorting.push({fieldName:fieldName,sortOrder:"ASC"})}}}})})},_makeColumnSortable:function($columnHeader,fieldName){var self=this;$columnHeader.addClass("jtable-column-header-sortable").click(function(e){e.preventDefault();if(!self.options.multiSorting||!e.ctrlKey){self._lastSorting=[]}self._sortTableByColumn($columnHeader)});$.each(this._lastSorting,function(sortIndex,sortField){if(sortField.fieldName==fieldName){if(sortField.sortOrder=="DESC"){$columnHeader.addClass("jtable-column-header-sorted-desc")}else{$columnHeader.addClass("jtable-column-header-sorted-asc")}}})},_sortTableByColumn:function($columnHeader){if(this._lastSorting.length==0){$columnHeader.siblings().removeClass("jtable-column-header-sorted-asc jtable-column-header-sorted-desc")}for(var i=0;ithead >tr >th:nth-child("+columnIndexInTable+"),>tbody >tr >td:nth-child("+columnIndexInTable+")").hide()}else{if(field.visibility=="hidden"&&visibility!="hidden"){this._$table.find(">thead >tr >th:nth-child("+columnIndexInTable+"),>tbody >tr >td:nth-child("+columnIndexInTable+")").show().css("display","table-cell")}}field.visibility=visibility},_createColumnSelection:function(){var self=this;this._$columnSelectionDiv=$("
      ").addClass("jtable-column-selection-container").appendTo(self._$mainContainer);this._$table.children("thead").bind("contextmenu",function(e){if(!self.options.columnSelectable){return}e.preventDefault();$("
      ").addClass("jtable-contextmenu-overlay").click(function(){$(this).remove();self._$columnSelectionDiv.hide()}).bind("contextmenu",function(){return false}).appendTo(document.body);self._fillColumnSelection();var containerOffset=self._$mainContainer.offset();var selectionDivTop=e.pageY-containerOffset.top;var selectionDivLeft=e.pageX-containerOffset.left;var selectionDivMinWidth=100;var containerWidth=self._$mainContainer.width();if((containerWidth>selectionDivMinWidth)&&(selectionDivLeft>(containerWidth-selectionDivMinWidth))){selectionDivLeft=containerWidth-selectionDivMinWidth}self._$columnSelectionDiv.css({left:selectionDivLeft,top:selectionDivTop,"min-width":selectionDivMinWidth+"px"}).show()})},_fillColumnSelection:function(){var self=this;var $columnsUl=$("
        ").addClass("jtable-column-select-list");for(var i=0;i").appendTo($columnsUl);var $label=$('').append($(""+(field.title||columnName)+"")).appendTo($columnLi);var $checkbox=$('').prependTo($label).click(function(){var $clickedCheckbox=$(this);var clickedColumnName=$clickedCheckbox.attr("name");var clickedField=self.options.fields[clickedColumnName];if(clickedField.visibility=="fixed"){return}self.changeColumnVisibility(clickedColumnName,$clickedCheckbox.is(":checked")?"visible":"hidden")});if(field.visibility!="hidden"){$checkbox.attr("checked","checked")}if(field.visibility=="fixed"){$checkbox.attr("disabled","disabled")}}this._$columnSelectionDiv.html($columnsUl)},_createColumnResizeBar:function(){this._$columnResizeBar=$("
        ").addClass("jtable-column-resize-bar").appendTo(this._$mainContainer).hide()},_makeColumnResizable:function($columnHeader){var self=this;$("
        ").addClass("jtable-column-resize-handler").appendTo($columnHeader.find(".jtable-column-header-container")).mousedown(function(downevent){downevent.preventDefault();downevent.stopPropagation();var mainContainerOffset=self._$mainContainer.offset();var $nextColumnHeader=$columnHeader.nextAll("th.jtable-column-header:visible:first");if(!$nextColumnHeader.length){return}var minimumColumnWidth=10;self._currentResizeArgs={currentColumnStartWidth:$columnHeader.outerWidth(),minWidth:minimumColumnWidth,maxWidth:$columnHeader.outerWidth()+$nextColumnHeader.outerWidth()-minimumColumnWidth,mouseStartX:downevent.pageX,minResizeX:function(){return this.mouseStartX-(this.currentColumnStartWidth-this.minWidth)},maxResizeX:function(){return this.mouseStartX+(this.maxWidth-this.currentColumnStartWidth)}};var resizeonmousemove=function(moveevent){if(!self._currentResizeArgs){return}var resizeBarX=self._normalizeNumber(moveevent.pageX,self._currentResizeArgs.minResizeX(),self._currentResizeArgs.maxResizeX());self._$columnResizeBar.css("left",(resizeBarX-mainContainerOffset.left)+"px")};var resizeonmouseup=function(upevent){if(!self._currentResizeArgs){return}$(document).unbind("mousemove",resizeonmousemove);$(document).unbind("mouseup",resizeonmouseup);self._$columnResizeBar.hide();var mouseChangeX=upevent.pageX-self._currentResizeArgs.mouseStartX;var currentColumnFinalWidth=self._normalizeNumber(self._currentResizeArgs.currentColumnStartWidth+mouseChangeX,self._currentResizeArgs.minWidth,self._currentResizeArgs.maxWidth);var nextColumnFinalWidth=$nextColumnHeader.outerWidth()+(self._currentResizeArgs.currentColumnStartWidth-currentColumnFinalWidth);var pixelToPercentRatio=$columnHeader.data("width-in-percent")/self._currentResizeArgs.currentColumnStartWidth;$columnHeader.data("width-in-percent",currentColumnFinalWidth*pixelToPercentRatio);$nextColumnHeader.data("width-in-percent",nextColumnFinalWidth*pixelToPercentRatio);$columnHeader.css("width",$columnHeader.data("width-in-percent")+"%");$nextColumnHeader.css("width",$nextColumnHeader.data("width-in-percent")+"%");self._normalizeColumnWidths();self._currentResizeArgs=null;if(self.options.saveUserPreferences){self._saveColumnSettings()}};self._$columnResizeBar.show().css({top:($columnHeader.offset().top-mainContainerOffset.top)+"px",left:(downevent.pageX-mainContainerOffset.left)+"px",height:(self._$table.outerHeight())+"px"});$(document).bind("mousemove",resizeonmousemove);$(document).bind("mouseup",resizeonmouseup)})},_normalizeColumnWidths:function(){var commandColumnHeaders=this._$table.find(">thead th.jtable-command-column-header").data("width-in-percent",1).css("width","1%");var headerCells=this._$table.find(">thead th.jtable-column-header");var totalWidthInPixel=0;headerCells.each(function(){var $cell=$(this);if($cell.is(":visible")){totalWidthInPixel+=$cell.outerWidth()}});var columnWidhts={};var availableWidthInPercent=100-commandColumnHeaders.length;headerCells.each(function(){var $cell=$(this);if($cell.is(":visible")){var fieldName=$cell.data("fieldName");var widthInPercent=$cell.outerWidth()*availableWidthInPercent/totalWidthInPixel;columnWidhts[fieldName]=widthInPercent}});headerCells.each(function(){var $cell=$(this);if($cell.is(":visible")){var fieldName=$cell.data("fieldName");$cell.data("width-in-percent",columnWidhts[fieldName]).css("width",columnWidhts[fieldName]+"%")}})},_saveColumnSettings:function(){var self=this;var fieldSettings="";this._$table.find(">thead >tr >th.jtable-column-header").each(function(){var $cell=$(this);var fieldName=$cell.data("fieldName");var columnWidth=$cell.data("width-in-percent");var fieldVisibility=self.options.fields[fieldName].visibility;var fieldSetting=fieldName+"="+fieldVisibility+";"+columnWidth;fieldSettings=fieldSettings+fieldSetting+"|"});this._setCookie("column-settings",fieldSettings.substr(0,fieldSettings.length-1))},_loadColumnSettings:function(){var self=this;var columnSettingsCookie=this._getCookie("column-settings");if(!columnSettingsCookie){return}var columnSettings={};$.each(columnSettingsCookie.split("|"),function(inx,fieldSetting){var splitted=fieldSetting.split("=");var fieldName=splitted[0];var settings=splitted[1].split(";");columnSettings[fieldName]={columnVisibility:settings[0],columnWidth:settings[1]}});var headerCells=this._$table.find(">thead >tr >th.jtable-column-header");headerCells.each(function(){var $cell=$(this);var fieldName=$cell.data("fieldName");var field=self.options.fields[fieldName];if(columnSettings[fieldName]){if(field.visibility!="fixed"){self._changeColumnVisibilityInternal(fieldName,columnSettings[fieldName].columnVisibility)}$cell.data("width-in-percent",columnSettings[fieldName].columnWidth).css("width",columnSettings[fieldName].columnWidth+"%")}})}})})(jQuery);(function($){var base={_removeRowsFromTable:$.hik.jtable.prototype._removeRowsFromTable};$.extend(true,$.hik.jtable.prototype,{options:{openChildAsAccordion:false},openChildTable:function($row,tableOptions,opened){var self=this;if(tableOptions.jqueryuiTheme==undefined){tableOptions.jqueryuiTheme=self.options.jqueryuiTheme}tableOptions.showCloseButton=(tableOptions.showCloseButton!=false);if(tableOptions.showCloseButton&&!tableOptions.closeRequested){tableOptions.closeRequested=function(){self.closeChildTable($row)}}if(self.options.openChildAsAccordion){$row.siblings(".jtable-data-row").each(function(){self.closeChildTable($(this))})}self.closeChildTable($row,function(){var $childRowColumn=self.getChildRow($row).children("td").empty();var $childTableContainer=$("
        ").addClass("jtable-child-table-container").appendTo($childRowColumn);$childRowColumn.data("childTable",$childTableContainer);$childTableContainer.jtable(tableOptions);self.openChildRow($row);$childTableContainer.hide().slideDown("fast",function(){if(opened){opened({childTable:$childTableContainer})}})})},closeChildTable:function($row,closed){var self=this;var $childRowColumn=this.getChildRow($row).children("td");var $childTable=$childRowColumn.data("childTable");if(!$childTable){if(closed){closed()}return}$childRowColumn.data("childTable",null);$childTable.slideUp("fast",function(){$childTable.jtable("destroy");$childTable.remove();self.closeChildRow($row);if(closed){closed()}})},isChildRowOpen:function($row){return(this.getChildRow($row).is(":visible"))},getChildRow:function($row){return $row.data("childRow")||this._createChildRow($row)},openChildRow:function($row){var $childRow=this.getChildRow($row);if(!$childRow.is(":visible")){$childRow.show()}return $childRow},closeChildRow:function($row){var $childRow=this.getChildRow($row);if($childRow.is(":visible")){$childRow.hide()}},_removeRowsFromTable:function($rows,reason){if(reason=="deleted"){$rows.each(function(){var $row=$(this);var $childRow=$row.data("childRow");if($childRow){$childRow.remove()}})}base._removeRowsFromTable.apply(this,arguments)},_createChildRow:function($row){var totalColumnCount=this._$table.find("thead th").length;var $childRow=$("").addClass("jtable-child-row").append('');$row.after($childRow);$row.data("childRow",$childRow);$childRow.hide();return $childRow}})})(jQuery); \ No newline at end of file +!function(e){var t;e(window).on("beforeunload",function(){t=!0}),e(window).on("unload",function(){t=!1}),e.widget("hik.jtable",{options:{actions:{},fields:{},animationsEnabled:!0,defaultDateFormat:"yy-mm-dd",dialogShowEffect:"fade",dialogHideEffect:"fade",showCloseButton:!1,loadingAnimationDelay:500,saveUserPreferences:!0,jqueryuiTheme:!1,useBootstrap:!0,ajaxSettings:{type:"POST",dataType:"json"},toolbar:{hoverAnimation:!0,hoverAnimationDuration:60,hoverAnimationEasing:void 0,items:[]},closeRequested:function(){},formCreated:function(){},formSubmitting:function(){},formClosed:function(){},loadingRecords:function(){},recordsLoaded:function(){},rowInserted:function(){},rowsRemoved:function(){},messages:{serverCommunicationError:"An error occured while communicating to the server.",loadingMessage:"Loading records...",noDataAvailable:"No data available!",areYouSure:"Are you sure?",save:"Save",saving:"Saving",cancel:"Cancel",error:"Error",close:"Close",cannotLoadOptionsFor:"Can not load options for field {0}"}},_$mainContainer:null,_$titleDiv:null,_$toolbarDiv:null,_$table:null,_$tableBody:null,_$tableRows:null,_$busyDiv:null,_$busyMessageDiv:null,_$errorDialogDiv:null,_columnList:null,_fieldList:null,_keyField:null,_firstDataColumnOffset:0,_lastPostData:null,_cache:null,_create:function(){this._normalizeFieldsOptions(),this._initializeFields(),this._createFieldAndColumnList(),this._createMainContainer(),this._createTableTitle(),this._createToolBar(),this._createTable(),this._createBusyPanel(),this._createErrorDialogDiv(),this._addNoDataRow(),this._cookieKeyPrefix=this._generateCookieKeyPrefix()},_normalizeFieldsOptions:function(){var t=this;e.each(t.options.fields,function(e,o){t._normalizeFieldOptions(e,o)})},_normalizeFieldOptions:function(t,o){if(void 0==o.listClass&&(o.listClass=""),void 0==o.inputClass&&(o.inputClass=""),o.dependsOn&&"string"===e.type(o.dependsOn)){var i=o.dependsOn.split(",");o.dependsOn=[];for(var a=0;a").addClass("jtable-main-container").appendTo(this.element),this._jqueryuiThemeAddClass(this._$mainContainer,"ui-widget")},_createTableTitle:function(){var t=this;if(t.options.title){var o=e("
        ").addClass("jtable-title").appendTo(t._$mainContainer);if(t._jqueryuiThemeAddClass(o,"ui-widget-header"),e("
        ").addClass("jtable-title-text").appendTo(o).append(t.options.title),t.options.showCloseButton){var i=e("").html(t.options.messages.close);e("").addClass("jtable-command-button jtable-close-button").attr("title",t.options.messages.close).append(i).appendTo(o).click(function(e){e.preventDefault(),e.stopPropagation(),t._onCloseRequested()})}t._$titleDiv=o}},_createTable:function(){this._$table=e("
        ").addClass("jtable").appendTo(this._$mainContainer),this.options.tableId&&this._$table.attr("id",this.options.tableId),this._jqueryuiThemeAddClass(this._$table,"ui-widget-content"),this._createTableHead(),this._createTableBody()},_createTableHead:function(){var t=e("").appendTo(this._$table);this._addRowToTableHead(t)},_addRowToTableHead:function(t){var o=e("").appendTo(t);this._addColumnsToHeaderRow(o)},_addColumnsToHeaderRow:function(e){for(var t=0;t").addClass("jtable-column-header-text").html(o.title),a=e("
        ").addClass("jtable-column-header-container").append(i),n=e("").addClass("jtable-column-header").addClass(o.listClass).css("width",o.width).data("fieldName",t).append(a);return this._jqueryuiThemeAddClass(n,"ui-state-default"),n},_createEmptyCommandHeader:function(){var t=e("").addClass("jtable-command-column-header").css("width","1%");return this._jqueryuiThemeAddClass(t,"ui-state-default"),t},_createTableBody:function(){this._$tableBody=e("").appendTo(this._$table)},_createBusyPanel:function(){this._$busyMessageDiv=e("
        ").addClass("jtable-busy-message").prependTo(this._$mainContainer),this._$busyDiv=e("
        ").addClass("jtable-busy-panel-background").prependTo(this._$mainContainer),this._jqueryuiThemeAddClass(this._$busyMessageDiv,"ui-widget-header"),this._hideBusy()},_createErrorDialogDiv:function(){var t=this;t.options.useBootstrap?(t._$errorDialogDiv=e('").appendTo(t._$mainContainer),t._$errorDialogDiv.modal({show:!1})):(t._$errorDialogDiv=e("
        ").appendTo(t._$mainContainer),t._$errorDialogDiv.dialog({autoOpen:!1,show:t.options.dialogShowEffect,hide:t.options.dialogHideEffect,modal:!0,title:t.options.messages.error,buttons:[{text:t.options.messages.close,click:function(){t._$errorDialogDiv.dialog("close")}}]}))},load:function(e,t){this._lastPostData=e,this._reloadTable(t)},reload:function(e){this._reloadTable(e)},getRowByKey:function(e){for(var t=0;t").addClass("jtable-data-row").attr("data-record-key",this._getKeyValueOfRecord(t)).data("record",t);return this._addCellsToRowUsingRecord(o),o},_addCellsToRowUsingRecord:function(e){for(var t=e.data("record"),o=0;o").addClass(this.options.fields[o].listClass).append(this._getDisplayTextForRecordField(t,o))},_addRecordsToTable:function(t){var o=this;e.each(t,function(e,t){o._addRow(o._createRowFromRecord(t))}),o._refreshRowStyles()},_addRowToTable:function(e,t,o,i){var a={index:this._normalizeNumber(t,0,this._$tableRows.length,this._$tableRows.length)};1==o&&(a.isNewRow=!0),0==i&&(a.animationsEnabled=!1),this._addRow(e,a)},_addRow:function(t,o){o=e.extend({index:this._$tableRows.length,isNewRow:!1,animationsEnabled:!0},o),this._$tableRows.length<=0&&this._removeNoDataRow(),o.index=this._normalizeNumber(o.index,0,this._$tableRows.length,this._$tableRows.length),o.index==this._$tableRows.length?(this._$tableBody.append(t),this._$tableRows.push(t)):0==o.index?(this._$tableBody.prepend(t),this._$tableRows.unshift(t)):(this._$tableRows[o.index-1].after(t),this._$tableRows.splice(o.index,0,t)),this._onRowInserted(t,o.isNewRow),o.isNewRow&&(this._refreshRowStyles(),this.options.animationsEnabled&&o.animationsEnabled&&this._showNewRowAnimation(t))},_showNewRowAnimation:function(e){var t="jtable-row-created";this.options.jqueryuiTheme&&(t+=" ui-state-highlight"),e.addClass(t,"slow","",function(){e.removeClass(t,5e3)})},_removeRowsFromTable:function(t,o){var i=this;t.length<=0||(t.addClass("jtable-row-removed").remove(),t.each(function(){var t=i._findRowIndex(e(this));t>=0&&i._$tableRows.splice(t,1)}),i._onRowsRemoved(t,o),0==i._$tableRows.length&&i._addNoDataRow(),i._refreshRowStyles())},_findRowIndex:function(e){return this._findIndexInArray(e,this._$tableRows,function(e,t){return e.data("record")==t.data("record")})},_removeAllRows:function(e){if(!(this._$tableRows.length<=0)){var t=this._$tableBody.find("tr.jtable-data-row");this._$tableBody.empty(),this._$tableRows=[],this._onRowsRemoved(t,e),this._addNoDataRow()}},_addNoDataRow:function(){if(!(this._$tableBody.find(">tr.jtable-no-data-row").length>0)){var t=e("").addClass("jtable-no-data-row").appendTo(this._$tableBody),o=this._$table.find("thead th").length;e("").attr("colspan",o).html(this.options.messages.noDataAvailable).appendTo(t)}},_removeNoDataRow:function(){this._$tableBody.find(".jtable-no-data-row").remove()},_refreshRowStyles:function(){for(var e=0;e0?function(e,t){return a(t,e)}:function(e,t){return a(e,t)})}},_buildOptionsArrayFromObject:function(t){var o=[];return e.each(t,function(e,t){o.push({Value:e,DisplayText:t})}),o},_buildOptionsFromArray:function(t){for(var o=[],i=0;i=0?new Date(parseInt(e.substr(6),10)):10==e.length?new Date(parseInt(e.substr(0,4),10),parseInt(e.substr(5,2),10)-1,parseInt(e.substr(8,2),10)):19==e.length?new Date(parseInt(e.substr(0,4),10),parseInt(e.substr(5,2),10)-1,parseInt(e.substr(8,2,10)),parseInt(e.substr(11,2),10),parseInt(e.substr(14,2),10),parseInt(e.substr(17,2),10)):(this._logWarn("Given date is not properly formatted: "+e),"format error!")},_createToolBar:function(){this._$toolbarDiv=e("
        ").addClass("jtable-toolbar").appendTo(this._$titleDiv);for(var t=0;t").addClass("jtable-toolbar-item").appendTo(this._$toolbarDiv);if(this._jqueryuiThemeAddClass(o,"ui-widget ui-state-default ui-corner-all","ui-state-hover"),t.cssClass&&o.addClass(t.cssClass),t.tooltip&&o.attr("title",t.tooltip),t.icon){var i=e('').appendTo(o);t.icon===!0||e.type("string"===t.icon)&&i.css("background",'url("'+t.icon+'")')}t.text&&e('').html(t.text).addClass("jtable-toolbar-item-text").appendTo(o),t.click&&o.click(function(){t.click()});var a=void 0,n=void 0;return this.options.toolbar.hoverAnimation&&(a=this.options.toolbar.hoverAnimationDuration,n=this.options.toolbar.hoverAnimationEasing),o.hover(function(){o.addClass("jtable-toolbar-item-hover",a,n)},function(){o.removeClass("jtable-toolbar-item-hover",a,n)}),o},_showError:function(e){this.options.useBootstrap?(this._$errorDialogDiv.find(".modal-body").html(e),this._$errorDialogDiv.modal("show")):this._$errorDialogDiv.html(e).dialog("open")},_setBusyTimer:null,_showBusy:function(e,t){var o=this;o._$busyDiv.width(o._$mainContainer.width()).height(o._$mainContainer.height()).addClass("jtable-busy-panel-background-invisible").show();var i=function(){o._$busyDiv.removeClass("jtable-busy-panel-background-invisible"),o._$busyMessageDiv.html(e).show()};if(t){if(o._setBusyTimer)return;o._setBusyTimer=setTimeout(i,t)}else i()},_hideBusy:function(){clearTimeout(this._setBusyTimer),this._setBusyTimer=null,this._$busyDiv.hide(),this._$busyMessageDiv.html("").hide()},_isBusy:function(){return this._$busyMessageDiv.is(":visible")},_jqueryuiThemeAddClass:function(e,t,o){this.options.jqueryuiTheme&&(e.addClass(t),o&&e.hover(function(){e.addClass(o)},function(){e.removeClass(o)}))},_performAjaxCall:function(e,t,o,i,a){this._ajax({url:e,data:t,async:o,success:i,error:a})},_ajax:function(o){var i=e.extend({},this.options.ajaxSettings,o);i.success=function(e){o.success&&o.success(e)},i.error=function(e){return t?void e.abort():void(o.error&&o.error(arguments))},i.complete=function(){o.complete&&o.complete()},e.ajax(i)},_getKeyValueOfRecord:function(e){return e[this._keyField]},_setCookie:function(e,t){e=this._cookieKeyPrefix+e;var o=new Date;o.setDate(o.getDate()+30),document.cookie=encodeURIComponent(e)+"="+encodeURIComponent(t)+"; expires="+o.toUTCString()},_getCookie:function(e){e=this._cookieKeyPrefix+e;for(var t=document.cookie.split("; "),o=0;oe?t:e>o?o:e},_formatString:function(){if(0==arguments.length)return null;for(var e=arguments[0],t=1;to?Math.ceil(o):Math.floor(o),0>o&&(o+=t);t>o;o++)if(o in this&&this[o]===e)return o;return-1})}(jQuery),function(e){e.extend(!0,e.hik.jtable.prototype,{_submitFormUsingAjax:function(e,t,o,i){this._ajax({url:e,data:t,success:o,error:i})},_createInputLabelForRecordField:function(t){return e("
        ").addClass("jtable-input-label").html(this.options.fields[t].inputTitle||this.options.fields[t].title)},_createInputForRecordField:function(t){var o=t.fieldName,i=t.value,a=t.record,n=t.formType,s=t.form,r=this.options.fields[o];if((void 0==i||null==i)&&(i=r.defaultValue),r.input){var d=e(r.input({value:i,record:a,formType:n,form:s}));return d.attr("id")||d.attr("id","Edit-"+o),e("
        ").addClass("jtable-input jtable-custom-input").append(d)}return"date"==r.type?this._createDateInputForField(r,o,i):"textarea"==r.type?this._createTextAreaForField(r,o,i):"password"==r.type?this._createPasswordInputForField(r,o,i):"checkbox"==r.type?this._createCheckboxForField(r,o,i):r.options?"radiobutton"==r.type?this._createRadioButtonListForField(r,o,i,a,n):this._createDropDownListForField(r,o,i,a,n,s):this._createTextInputForField(r,o,i)},_createInputForHidden:function(t,o){return void 0==o&&(o=""),e('').val(o)},_createDateInputForField:function(t,o,i){var a=e('');void 0!=i&&a.val(i);var n=t.displayFormat||this.options.defaultDateFormat;return a.datepicker({dateFormat:n}),e("
        ").addClass("jtable-input jtable-date-input").append(a)},_createTextAreaForField:function(t,o,i){var a=e('');return void 0!=i&&a.val(i),e("
        ").addClass("jtable-input jtable-textarea-input").append(a)},_createTextInputForField:function(t,o,i){var a=e('');return void 0!=i&&a.val(i),e("
        ").addClass("jtable-input jtable-text-input").append(a)},_createPasswordInputForField:function(t,o,i){var a=e('');return void 0!=i&&a.val(i),e("
        ").addClass("jtable-input jtable-password-input").append(a)},_createCheckboxForField:function(t,o,i){var a=this;void 0==i&&(i=a._getCheckBoxPropertiesForFieldByState(o,!1).Value);var n=e("
        ").addClass("jtable-input jtable-checkbox-input"),s=e('').appendTo(n);void 0!=i&&s.val(i);var r=e(""+(t.formText||a._getCheckBoxTextForFieldByValue(o,i))+"").appendTo(n);a._getIsCheckBoxSelectedForFieldByValue(o,i)&&s.attr("checked","checked");var d=function(){var e=a._getCheckBoxPropertiesForFieldByState(o,s.is(":checked"));s.attr("value",e.Value),r.html(t.formText||e.DisplayText)};return s.click(function(){d()}),0!=t.setOnTextClick&&r.addClass("jtable-option-text-clickable").click(function(){s.is(":checked")?s.attr("checked",!1):s.attr("checked",!0),d()}),n},_createDropDownListForField:function(t,o,i,a,n,s){var r=e("
        ").addClass("jtable-input jtable-dropdown-input"),d=e('').appendTo(r),l=this._getOptionsForField(o,{record:a,source:n,form:s,dependedValues:this._createDependedValuesUsingForm(s,t.dependsOn)});return this._fillDropDownListWithOptions(d,l,i),r},_fillDropDownListWithOptions:function(t,o,i){t.empty();for(var a=0;a"+o[a].DisplayText+"").val(o[a].Value).appendTo(t)},_createDependedValuesUsingForm:function(e,t){if(!t)return{};for(var o={},i=0;i").addClass("jtable-input jtable-radiobuttonlist-input"),r=this._getOptionsForField(o,{record:a,source:n});return e.each(r,function(a,n){var r=e('
        ').addClass("jtable-radio-input").appendTo(s),d=e('").val(n.Value).appendTo(r),l=e("").html(n.DisplayText).appendTo(r);0!=t.setOnTextClick&&l.addClass("jtable-option-text-clickable").click(function(){d.is(":checked")||d.attr("checked",!0)})}),s},_getCheckBoxTextForFieldByValue:function(e,t){return this.options.fields[e].values[t]},_getIsCheckBoxSelectedForFieldByValue:function(e,t){return this._createCheckBoxStateArrayForFieldWithCaching(e)[1].Value.toString()==t.toString()},_getCheckBoxPropertiesForFieldByState:function(e,t){return this._createCheckBoxStateArrayForFieldWithCaching(e)[t?1:0]},_createCheckBoxStateArrayForFieldWithCaching:function(e){var t="checkbox_"+e;return this._cache[t]||(this._cache[t]=this._createCheckBoxStateArrayForField(e)),this._cache[t]},_createCheckBoxStateArrayForField:function(t){var o=[],i=0;return e.each(this.options.fields[t].values,function(e,t){i++<2&&o.push({Value:e,DisplayText:t})}),o},_makeCascadeDropDowns:function(t,o,i){var a=this;t.find("select").each(function(){var n=e(this),s=n.attr("name");if(s){var r=a.options.fields[s];r.dependsOn&&e.each(r.dependsOn,function(e,d){var l=t.find("select[name="+d+"]");l.change(function(){var e={record:o,source:i,form:t,dependedValues:{}};e.dependedValues=a._createDependedValuesUsingForm(t,r.dependsOn);var d=a._getOptionsForField(s,e);a._fillDropDownListWithOptions(n,d,void 0),n.change()})})}})},_updateRecordValuesFromForm:function(t,o){for(var i=0;i").appendTo(t._$mainContainer),t.options.useBootstrap){t._$addRecordDiv.addClass("modal hide fade"),t._$addRecordDiv.css({width:"auto"}),t._$addRecordDiv.append('"),t._$addRecordDiv.find(".save").click(function(){t._onSaveClickedOnCreateForm()}),t._$addRecordDiv.modal({show:!1});var o=t._getHiddenEvent();t._$addRecordDiv.on(o,function(){var o=t._$addRecordDiv.find("form").first(),i=e("#AddRecordDialogSaveButton");t._trigger("formClosed",null,{form:o,formType:"create"}),t._setEnabledOfDialogButton(t.options.useBootstrap,i,!0,t.options.messages.save),o.remove()})}else t._$addRecordDiv.dialog({autoOpen:!1,show:t.options.dialogShowEffect,hide:t.options.dialogHideEffect,width:"auto",minWidth:"300",modal:!0,title:t.options.messages.addNewRecord,buttons:[{text:t.options.messages.cancel,click:function(){t._$addRecordDiv.dialog("close")}},{id:"AddRecordDialogSaveButton",text:t.options.messages.save,click:function(){t._onSaveClickedOnCreateForm()}}],close:function(){var o=t._$addRecordDiv.find("form").first(),i=e("#AddRecordDialogSaveButton");t._trigger("formClosed",null,{form:o,formType:"create"}),t._setEnabledOfDialogButton(t.options.useBootstrap,i,!0,t.options.messages.save),o.remove()}});t.options.addRecordButton?t.options.addRecordButton.click(function(e){e.preventDefault(),t._showAddRecordForm()}):t._addToolBarItem({icon:!0,cssClass:"jtable-toolbar-item-add-record",text:t.options.messages.addNewRecord,click:function(){t._showAddRecordForm()}})},_onSaveClickedOnCreateForm:function(){var t=this,o=e("#AddRecordDialogSaveButton"),i=t._$addRecordDiv.find("form");0!=t._trigger("formSubmitting",null,{form:i,formType:"create"})&&(t._setEnabledOfDialogButton(t.options.useBootstrap,o,!1,t.options.messages.saving),t._saveAddRecordForm(i,o))},_getHiddenEvent:function(){var t=e.fn.modal,o="hidden";return t&&t.toString().indexOf("bs.modal")>-1&&(o+=".bs.modal"),o},showCreateForm:function(){this._showAddRecordForm()},addRecord:function(t){var o=this;return t=e.extend({clientOnly:!1,animationsEnabled:o.options.animationsEnabled,url:o.options.actions.createAction,success:function(){},error:function(){}},t),t.record?t.clientOnly?(o._addRow(o._createRowFromRecord(t.record),{isNewRow:!0,animationsEnabled:t.animationsEnabled}),void t.success()):void o._submitFormUsingAjax(t.url,e.param(t.record),function(e){return"OK"!=e.Result?(o._showError(e.Message),void t.error(e)):e.Record?(o._onRecordAdded(e),o._addRow(o._createRowFromRecord(e.Record),{isNewRow:!0,animationsEnabled:t.animationsEnabled}),void t.success(e)):(o._logError("Server must return the created Record object."),void t.error(e))},function(){o._showError(o.options.messages.serverCommunicationError),t.error()}):void o._logWarn("options parameter in addRecord method must contain a record property.")},_showAddRecordForm:function(){for(var t=this,o=e('
        '),i=0;i").addClass("jtable-input-field-container").appendTo(o);s.append(t._createInputLabelForRecordField(a)),s.append(t._createInputForRecordField({fieldName:a,formType:"create",form:o}))}else o.append(t._createInputForHidden(a,n.defaultValue))}t._makeCascadeDropDowns(o,void 0,"create"),o.submit(function(){return t._onSaveClickedOnCreateForm(),!1}),t.options.useBootstrap?(t._$addRecordDiv.find(".modal-body").append(o),t._$addRecordDiv.modal("show")):t._$addRecordDiv.append(o).dialog("open"),t._trigger("formCreated",null,{form:o,formType:"create"})},_saveAddRecordForm:function(e,t){var o=this;e.data("submitting",!0),o._submitFormUsingAjax(o.options.actions.createAction,e.serialize(),function(e){return"OK"!=e.Result?(o._showError(e.Message),void o._setEnabledOfDialogButton(o.options.useBootstrap,t,!0,o.options.messages.save)):e.Record?(o._onRecordAdded(e),o._addRow(o._createRowFromRecord(e.Record),{isNewRow:!0}),void(o.options.useBootstrap?o._$addRecordDiv.modal("hide"):o._$addRecordDiv.dialog("close"))):(o._logError("Server must return the created Record object."),void o._setEnabledOfDialogButton(o.options.useBootstrap,t,!0,o.options.messages.save))},function(){o._showError(o.options.messages.serverCommunicationError),o._setEnabledOfDialogButton(o.options.useBootstrap,t,!0,o.options.messages.save)})},_onRecordAdded:function(e){this._trigger("recordAdded",null,{record:e.Record,serverResponse:e})}})}(jQuery),function(e){var t={_create:e.hik.jtable.prototype._create,_addColumnsToHeaderRow:e.hik.jtable.prototype._addColumnsToHeaderRow,_addCellsToRowUsingRecord:e.hik.jtable.prototype._addCellsToRowUsingRecord};e.extend(!0,e.hik.jtable.prototype,{options:{recordUpdated:function(){},rowUpdated:function(){},messages:{editRecord:"Edit Record"}},_$editDiv:null,_$editingRow:null,_create:function(){t._create.apply(this,arguments),this.options.actions.updateAction&&this._createEditDialogDiv()},_createEditDialogDiv:function(){var t=this;t._$editDiv=e("
        ").appendTo(t._$mainContainer),t.options.useBootstrap?(t._$editDiv.addClass("modal hide fade"),t._$editDiv.css({width:"auto"}),t._$editDiv.append('"),t._$editDiv.find(".save").click(function(){t._onSaveClickedOnEditForm()}),t._$editDiv.modal({show:!1}),t._$editDiv.on("hide",function(){var o=t._$editDiv.find("form:first"),i=e("#EditDialogSaveButton");t._trigger("formClosed",null,{form:o,formType:"edit",row:t._$editingRow}),t._setEnabledOfDialogButton(t.options.useBootstrap,i,!0,t.options.messages.save),o.remove()})):t._$editDiv.dialog({autoOpen:!1,show:t.options.dialogShowEffect,hide:t.options.dialogHideEffect,width:"auto",minWidth:"300",modal:!0,title:t.options.messages.editRecord,buttons:[{text:t.options.messages.cancel,click:function(){t._$editDiv.dialog("close")}},{id:"EditDialogSaveButton",text:t.options.messages.save,click:function(){t._onSaveClickedOnEditForm()}}],close:function(){var o=t._$editDiv.find("form:first"),i=e("#EditDialogSaveButton");t._trigger("formClosed",null,{form:o,formType:"edit",row:t._$editingRow}),t._setEnabledOfDialogButton(t.options.useBootstrap,i,!0,t.options.messages.save),o.remove()}})},_onSaveClickedOnEditForm:function(){var t=this;if(t._$editingRow.hasClass("jtable-row-removed"))return void(t.options.useBootstrap?t._$editDiv.modal("hide"):t._$editDiv.dialog("close"));var o=e("#EditDialogSaveButton"),i=t._$editDiv.find("form");0!=t._trigger("formSubmitting",null,{form:i,formType:"edit",row:t._$editingRow})&&(t._setEnabledOfDialogButton(t.options.useBootstrap,o,!1,t.options.messages.saving),t._saveEditForm(i,o)) +},updateRecord:function(t){var o=this;if(t=e.extend({clientOnly:!1,animationsEnabled:o.options.animationsEnabled,url:o.options.actions.updateAction,success:function(){},error:function(){}},t),!t.record)return void o._logWarn("options parameter in updateRecord method must contain a record property.");var i=o._getKeyValueOfRecord(t.record);if(void 0==i||null==i)return void o._logWarn("options parameter in updateRecord method must contain a record that contains the key field property.");var a=o.getRowByKey(i);return null==a?void o._logWarn("Can not found any row by key: "+i):t.clientOnly?(e.extend(a.data("record"),t.record),o._updateRowTexts(a),o._onRecordUpdated(a,null),t.animationsEnabled&&o._showUpdateAnimationForRow(a),void t.success()):void o._submitFormUsingAjax(t.url,e.param(t.record),function(i){return"OK"!=i.Result?(o._showError(i.Message),void t.error(i)):(e.extend(a.data("record"),t.record),o._updateRecordValuesFromServerResponse(a.data("record"),i),o._updateRowTexts(a),o._onRecordUpdated(a,i),t.animationsEnabled&&o._showUpdateAnimationForRow(a),void t.success(i))},function(){o._showError(o.options.messages.serverCommunicationError),t.error()})},_addColumnsToHeaderRow:function(e){t._addColumnsToHeaderRow.apply(this,arguments),void 0!=this.options.actions.updateAction&&e.append(this._createEmptyCommandHeader())},_addCellsToRowUsingRecord:function(o){var i=this;if(t._addCellsToRowUsingRecord.apply(this,arguments),void 0!=i.options.actions.updateAction){var a=e("").html(i.options.messages.editRecord),n=e('').addClass("jtable-command-button jtable-edit-command-button").append(a).click(function(e){e.preventDefault(),e.stopPropagation(),i._showEditForm(o)});e("").addClass("jtable-command-column").append(n).appendTo(o)}},_showEditForm:function(t){for(var o=this,i=t.data("record"),a=e('
        '),n=0;n
        ').appendTo(a);l.append(o._createInputLabelForRecordField(s));var c=o._getValueForRecordField(i,s);l.append(o._createInputForRecordField({fieldName:s,value:c,record:i,formType:"edit",form:a}))}else a.append(o._createInputForHidden(s,d))}o._makeCascadeDropDowns(a,i,"edit"),a.submit(function(){return o._onSaveClickedOnEditForm(),!1}),o._$editingRow=t,o.options.useBootstrap?(o._$editDiv.find(".modal-body").html(a),o._$editDiv.modal("show")):(o._$editDiv.append(a),o._$ediDiv.dialog("open")),o._trigger("formCreated",null,{form:a,formType:"edit",record:i,row:t})},_saveEditForm:function(e,t){var o=this;o._submitFormUsingAjax(o.options.actions.updateAction,e.serialize(),function(i){if("OK"!=i.Result)return o._showError(i.Message),void o._setEnabledOfDialogButton(o.options.useBootstrap,t,!0,o.options.messages.save);var a=o._$editingRow.data("record");o._updateRecordValuesFromForm(a,e),o._updateRecordValuesFromServerResponse(a,i),o._updateRowTexts(o._$editingRow),o._$editingRow.attr("data-record-key",o._getKeyValueOfRecord(a)),o._onRecordUpdated(o._$editingRow,i),o.options.animationsEnabled&&o._showUpdateAnimationForRow(o._$editingRow),o.options.useBootstrap?o._$editDiv.modal("hide"):o._$editDiv.dialog("close")},function(){o._showError(o.options.messages.serverCommunicationError),o._setEnabledOfDialogButton(o.options.useBootstrap,t,!0,o.options.messages.save)})},_updateRecordValuesFromServerResponse:function(t,o){o&&o.Record&&e.extend(!0,t,o.Record)},_getValueForRecordField:function(e,t){var o=this.options.fields[t],i=e[t];return"date"==o.type?this._getDisplayTextForDateRecordField(o,i):i},_updateRowTexts:function(e){for(var t=e.data("record"),o=e.find("td"),i=0;i").appendTo(t._$mainContainer),t.options.useBootstrap){t._$deleteRecordDiv.addClass("modal hide fade"),t._$deleteRecordDiv.append('"),t._$deleteRecordDiv.modal({show:!1}),t._$deleteRecordDiv.find("#DeleteDialogButton").click(function(){if(t._$deletingRow.hasClass("jtable-row-removed"))return void t._$deleteRecordDiv.dialog("close");var o=e(this);t._setEnabledOfDialogButton(t.options.useBootstrap,o,!1,t.options.messages.deleting),t._deleteRecordFromServer(t._$deletingRow,function(){t._removeRowsFromTableWithAnimation(t._$deletingRow),t._$deleteRecordDiv.modal("hide")},function(e){t._showError(e),t._setEnabledOfDialogButton(t.options.useBootstrap,o,!0,t.options.messages.deleteText)})});var o=t._getHiddenEvent();t._$deleteRecordDiv.on(o,function(){var o=e(this).find("#DeleteDialogButton");t._setEnabledOfDialogButton(t.options.useBootstrap,o,!0,t.options.messages.deleteText)})}else t._$deleteRecordDiv.append('

        '),t._$deleteRecordDiv.dialog({autoOpen:!1,show:t.options.dialogShowEffect,hide:t.options.dialogHideEffect,modal:!0,title:t.options.messages.areYouSure,buttons:[{text:t.options.messages.cancel,click:function(){t._$deleteRecordDiv.dialog("close")}},{id:"DeleteDialogButton",text:t.options.messages.deleteText,click:function(){if(t._$deletingRow.hasClass("jtable-row-removed"))return void t._$deleteRecordDiv.dialog("close");var o=e("#DeleteDialogButton");t._setEnabledOfDialogButton(t.options.useBootstrap,o,!1,t.options.messages.deleting),t._deleteRecordFromServer(t._$deletingRow,function(){t._removeRowsFromTableWithAnimation(t._$deletingRow),t._$deleteRecordDiv.dialog("close")},function(e){t._showError(e),t._setEnabledOfDialogButton(t.options.useBootstrap,o,!0,t.options.messages.deleteText)})}}],close:function(){var o=e("#DeleteDialogButton");t._setEnabledOfDialogButton(t.options.useBootstrap,o,!0,t.options.messages.deleteText)}})},deleteRows:function(t){var o=this;if(t.length<=0)return void o._logWarn("No rows specified to jTable deleteRows method.");if(o._isBusy())return void o._logWarn("Can not delete rows since jTable is busy!");if(1==t.length)return void o._deleteRecordFromServer(t,function(){o._removeRowsFromTableWithAnimation(t)},function(e){o._showError(e)});o._showBusy(o._formatString(o.options.messages.deleteProggress,0,t.length));var i=0,a=function(){return i>=t.length},n=function(){var e=t.filter(".jtable-row-ready-to-remove");e.length0&&o._removeRowsFromTableWithAnimation(e),o._hideBusy()},s=0;t.each(function(){var r=e(this);o._deleteRecordFromServer(r,function(){++s,++i,r.addClass("jtable-row-ready-to-remove"),o._showBusy(o._formatString(o.options.messages.deleteProggress,s,t.length)),a()&&n()},function(){++i,a()&&n()})})},deleteRecord:function(t){var o=this;if(t=e.extend({clientOnly:!1,animationsEnabled:o.options.animationsEnabled,url:o.options.actions.deleteAction,success:function(){},error:function(){}},t),void 0==t.key)return void o._logWarn("options parameter in deleteRecord method must contain a key property.");var i=o.getRowByKey(t.key);return null==i?void o._logWarn("Can not found any row by key: "+t.key):t.clientOnly?(o._removeRowsFromTableWithAnimation(i,t.animationsEnabled),void t.success()):void o._deleteRecordFromServer(i,function(e){o._removeRowsFromTableWithAnimation(i,t.animationsEnabled),t.success(e)},function(e){o._showError(e),t.error(e)},t.url)},_addColumnsToHeaderRow:function(e){t._addColumnsToHeaderRow.apply(this,arguments),void 0!=this.options.actions.deleteAction&&e.append(this._createEmptyCommandHeader())},_addCellsToRowUsingRecord:function(o){t._addCellsToRowUsingRecord.apply(this,arguments);var i=this;if(void 0!=i.options.actions.deleteAction){var a=e("").html(i.options.messages.deleteText),n=e('').addClass("jtable-command-button jtable-delete-command-button").append(a).click(function(e){e.preventDefault(),e.stopPropagation(),i._deleteButtonClickedForRow(o)});e("").addClass("jtable-command-column").append(n).appendTo(o)}},_deleteButtonClickedForRow:function(t){var o,i=this,a=i.options.messages.deleteConfirmation;if(e.isFunction(i.options.deleteConfirmation)){var n={row:t,record:t.data("record"),deleteConfirm:!0,deleteConfirmMessage:a,cancel:!1,cancelMessage:null};if(i.options.deleteConfirmation(n),n.cancel)return void(n.cancelMessage&&i._showError(n.cancelMessage));a=n.deleteConfirmMessage,o=n.deleteConfirm}else o=i.options.deleteConfirmation;0!=o?(i.options.useBootstrap?i._$deleteRecordDiv.find(".modal-body").html(a):i._$deleteRecordDiv.find(".jtable-delete-confirm-message").html(a),i._showDeleteDialog(t)):i._deleteRecordFromServer(t,function(){i._removeRowsFromTableWithAnimation(t)},function(e){i._showError(e)})},_showDeleteDialog:function(e){this._$deletingRow=e,this.options.useBootstrap?this._$deleteRecordDiv.modal("show"):this._$deleteRecordDiv.dialog("open")},_deleteRecordFromServer:function(e,t,o,i){var a=this;if(1!=e.data("deleting")){e.data("deleting",!0);var n={};n[a._keyField]=a._getKeyValueOfRecord(e.data("record")),this._ajax({url:i||a.options.actions.deleteAction,data:n,success:function(i){return"OK"!=i.Result?(e.data("deleting",!1),void(o&&o(i.Message))):(a._trigger("recordDeleted",null,{record:e.data("record"),row:e,serverResponse:i}),void(t&&t(i)))},error:function(){e.data("deleting",!1),o&&o(a.options.messages.serverCommunicationError)}})}},_removeRowsFromTableWithAnimation:function(e,t){var o=this;if(void 0==t&&(t=o.options.animationsEnabled),t){var i="jtable-row-deleting";this.options.jqueryuiTheme&&(i+=" ui-state-disabled"),e.stop(!0,!0).addClass(i,"slow","").promise().done(function(){o._removeRowsFromTable(e,"deleted")})}else o._removeRowsFromTable(e,"deleted")}})}(jQuery),function(e){var t={_create:e.hik.jtable.prototype._create,_addColumnsToHeaderRow:e.hik.jtable.prototype._addColumnsToHeaderRow,_addCellsToRowUsingRecord:e.hik.jtable.prototype._addCellsToRowUsingRecord,_onLoadingRecords:e.hik.jtable.prototype._onLoadingRecords,_onRecordsLoaded:e.hik.jtable.prototype._onRecordsLoaded,_onRowsRemoved:e.hik.jtable.prototype._onRowsRemoved};e.extend(!0,e.hik.jtable.prototype,{options:{selecting:!1,multiselect:!1,selectingCheckboxes:!1,selectOnRowClick:!0,selectionChanged:function(){}},_selectedRecordIdsBeforeLoad:null,_$selectAllCheckbox:null,_shiftKeyDown:!1,_create:function(){this.options.selecting&&this.options.selectingCheckboxes&&(++this._firstDataColumnOffset,this._bindKeyboardEvents()),t._create.apply(this,arguments)},_bindKeyboardEvents:function(){var t=this;e(document).keydown(function(e){switch(e.which){case 16:t._shiftKeyDown=!0}}).keyup(function(e){switch(e.which){case 16:t._shiftKeyDown=!1}})},selectedRows:function(){return this._getSelectedRows()},selectRows:function(e){this._selectRows(e),this._onSelectionChanged()},_addColumnsToHeaderRow:function(e){this.options.selecting&&this.options.selectingCheckboxes&&e.append(this.options.multiselect?this._createSelectAllHeader():this._createEmptyCommandHeader()),t._addColumnsToHeaderRow.apply(this,arguments)},_addCellsToRowUsingRecord:function(e){this.options.selecting&&this._makeRowSelectable(e),t._addCellsToRowUsingRecord.apply(this,arguments)},_onLoadingRecords:function(){this.options.selecting&&this._storeSelectionList(),t._onLoadingRecords.apply(this,arguments)},_onRecordsLoaded:function(){this.options.selecting&&this._restoreSelectionList(),t._onRecordsLoaded.apply(this,arguments)},_onRowsRemoved:function(e,o){this.options.selecting&&"reloading"!=o&&e.filter(".jtable-row-selected").length>0&&this._onSelectionChanged(),t._onRowsRemoved.apply(this,arguments)},_createSelectAllHeader:function(){var t=this,o=e('').addClass("jtable-command-column-header jtable-column-header-selecting");this._jqueryuiThemeAddClass(o,"ui-state-default");var i=e("
        ").addClass("jtable-column-header-container").appendTo(o);return t._$selectAllCheckbox=e('').appendTo(i).click(function(){if(t._$tableRows.length<=0)return void t._$selectAllCheckbox.attr("checked",!1);var e=t._$tableBody.find(">tr.jtable-data-row");t._$selectAllCheckbox.is(":checked")?t._selectRows(e):t._deselectRows(e),t._onSelectionChanged()}),o},_storeSelectionList:function(){var t=this;t.options.selecting&&(t._selectedRecordIdsBeforeLoad=[],t._getSelectedRows().each(function(){t._selectedRecordIdsBeforeLoad.push(t._getKeyValueOfRecord(e(this).data("record")))}))},_restoreSelectionList:function(){var t=this;if(t.options.selecting){for(var o=0,i=0;i-1&&(t._selectRows(t._$tableRows[i]),++o)}t._selectedRecordIdsBeforeLoad.length>0&&t._selectedRecordIdsBeforeLoad.length!=o&&t._onSelectionChanged(),t._selectedRecordIdsBeforeLoad=[],t._refreshSelectAllCheckboxState()}},_getSelectedRows:function(){return this._$tableBody.find(">tr.jtable-row-selected")},_makeRowSelectable:function(t){var o=this;if(o.options.selectOnRowClick&&t.click(function(){o._invertRowSelection(t)}),o.options.selectingCheckboxes){var i=e("").addClass("jtable-selecting-column"),a=e('').appendTo(i);o.options.selectOnRowClick||a.click(function(){o._invertRowSelection(t)}),t.append(i)}},_invertRowSelection:function(e){if(e.hasClass("jtable-row-selected"))this._deselectRows(e);else if(this._shiftKeyDown){var t=this._findRowIndex(e),o=this._findFirstSelectedRowIndexBeforeIndex(t)+1;if(o>0&&t>o)this._selectRows(this._$tableBody.find("tr").slice(o,t+1));else{var i=this._findFirstSelectedRowIndexAfterIndex(t)-1;this._selectRows(i>t?this._$tableBody.find("tr").slice(t,i+1):e)}}else this._selectRows(e);this._onSelectionChanged()},_findFirstSelectedRowIndexBeforeIndex:function(e){for(var t=e-1;t>=0;--t)if(this._$tableRows[t].hasClass("jtable-row-selected"))return t;return-1},_findFirstSelectedRowIndexAfterIndex:function(e){for(var t=e+1;ttd.jtable-selecting-column >input").prop("checked",!0),this._refreshSelectAllCheckboxState()},_deselectRows:function(e){e.removeClass("jtable-row-selected ui-state-highlight"),this.options.selectingCheckboxes&&e.find(">td.jtable-selecting-column >input").prop("checked",!1),this._refreshSelectAllCheckboxState()},_refreshSelectAllCheckboxState:function(){if(this.options.selectingCheckboxes&&this.options.multiselect){var e=this._$tableRows.length,t=this._getSelectedRows().length;0==t?(this._$selectAllCheckbox.prop("indeterminate",!1),this._$selectAllCheckbox.attr("checked",!1)):t==e?(this._$selectAllCheckbox.prop("indeterminate",!1),this._$selectAllCheckbox.attr("checked",!0)):(this._$selectAllCheckbox.attr("checked",!1),this._$selectAllCheckbox.prop("indeterminate",!0))}},_onSelectionChanged:function(){this._trigger("selectionChanged",null,{})}})}(jQuery),function(e){var t={load:e.hik.jtable.prototype.load,_create:e.hik.jtable.prototype._create,_setOption:e.hik.jtable.prototype._setOption,_createRecordLoadUrl:e.hik.jtable.prototype._createRecordLoadUrl,_addRowToTable:e.hik.jtable.prototype._addRowToTable,_addRow:e.hik.jtable.prototype._addRow,_removeRowsFromTable:e.hik.jtable.prototype._removeRowsFromTable,_onRecordsLoaded:e.hik.jtable.prototype._onRecordsLoaded};e.extend(!0,e.hik.jtable.prototype,{options:{paging:!1,pageList:"normal",pageSize:10,pageSizes:[10,25,50,100,250,500],pageSizeChangeArea:!0,gotoPageArea:"combobox",messages:{pagingInfo:"Showing {0}-{1} of {2}",pageSizeChangeLabel:"Row count",gotoPageLabel:"Go to page"}},_$bottomPanel:null,_$pagingListArea:null,_$pageSizeChangeArea:null,_$pageInfoSpan:null,_$gotoPageArea:null,_$gotoPageInput:null,_totalRecordCount:0,_currentPageNo:1,_create:function(){t._create.apply(this,arguments),this.options.paging&&(this._loadPagingSettings(),this._createBottomPanel(),this._createPageListArea(),this._createGotoPageInput(),this._createPageSizeSelection())},_loadPagingSettings:function(){if(this.options.saveUserPreferences){var e=this._getCookie("page-size");e&&(this.options.pageSize=this._normalizeNumber(e,1,1e6,this.options.pageSize))}},_createBottomPanel:function(){this._$bottomPanel=e("
        ").addClass("jtable-bottom-panel").insertAfter(this._$table),this._jqueryuiThemeAddClass(this._$bottomPanel,"ui-state-default"),e("
        ").addClass("jtable-left-area").appendTo(this._$bottomPanel),e("
        ").addClass("jtable-right-area").appendTo(this._$bottomPanel)},_createPageListArea:function(){this._$pagingListArea=e("").addClass("jtable-page-list").appendTo(this._$bottomPanel.find(".jtable-left-area")),this._$pageInfoSpan=e("").addClass("jtable-page-info").appendTo(this._$bottomPanel.find(".jtable-right-area"))},_createPageSizeSelection:function(){var t=this;if(t.options.pageSizeChangeArea){t._findIndexInArray(t.options.pageSize,t.options.pageSizes)<0&&(t.options.pageSizes.push(parseInt(t.options.pageSize)),t.options.pageSizes.sort(function(e,t){return e-t})),t._$pageSizeChangeArea=e("").addClass("jtable-page-size-change").appendTo(t._$bottomPanel.find(".jtable-left-area")),t._$pageSizeChangeArea.append(""+t.options.messages.pageSizeChangeLabel+": ");for(var o=e("").appendTo(t._$pageSizeChangeArea),i=0;i'+t.options.pageSizes[i]+"");o.val(t.options.pageSize),o.change(function(){t._changePageSize(parseInt(e(this).val()))})}},_createGotoPageInput:function(){var t=this;t.options.gotoPageArea&&"none"!=t.options.gotoPageArea&&(this._$gotoPageArea=e("").addClass("jtable-goto-page").appendTo(t._$bottomPanel.find(".jtable-left-area")),this._$gotoPageArea.append(""+t.options.messages.gotoPageLabel+": "),"combobox"==t.options.gotoPageArea?(t._$gotoPageInput=e("").appendTo(this._$gotoPageArea).data("pageCount",1).change(function(){t._changePage(parseInt(e(this).val()))}),t._$gotoPageInput.append('')):t._$gotoPageInput=e('').appendTo(this._$gotoPageArea).keypress(function(e){if(13==e.which)e.preventDefault(),t._changePage(parseInt(t._$gotoPageInput.val()));else if(43==e.which)e.preventDefault(),t._changePage(parseInt(t._$gotoPageInput.val())+1);else if(45==e.which)e.preventDefault(),t._changePage(parseInt(t._$gotoPageInput.val())-1);else{var o=471e4?o=100:t>5e3?o=10:t>2e3?o=5:t>1e3&&(o=2);for(var i=o;t>=i;i+=o)this._$gotoPageInput.append('");this._$gotoPageInput.data("pageCount",t)}}this._$gotoPageInput.val(this._currentPageNo)}},load:function(){this._currentPageNo=1,t.load.apply(this,arguments)},_setOption:function(e,o){t._setOption.apply(this,arguments),"pageSize"==e&&this._changePageSize(parseInt(o))},_changePageSize:function(e){if(e!=this.options.pageSize){this.options.pageSize=e;var t=this._calculatePageCount();this._currentPageNo>t&&(this._currentPageNo=t),this._currentPageNo<=0&&(this._currentPageNo=1);var o=this._$bottomPanel.find(".jtable-page-size-change select");if(o.length>0&&parseInt(o.val())!=e){var i=o.find("option[value="+e+"]");i.length>0&&o.val(e)}this._savePagingSettings(),this._reloadTable()}},_savePagingSettings:function(){this.options.saveUserPreferences&&this._setCookie("page-size",this.options.pageSize)},_createRecordLoadUrl:function(){var e=t._createRecordLoadUrl.apply(this,arguments);return e=this._addPagingInfoToUrl(e,this._currentPageNo)},_addRowToTable:function(e,o,i){return i&&this.options.paging?void this._reloadTable():void t._addRowToTable.apply(this,arguments)},_addRow:function(e,o){return o&&o.isNewRow&&this.options.paging?void this._reloadTable():void t._addRow.apply(this,arguments)},_removeRowsFromTable:function(){t._removeRowsFromTable.apply(this,arguments),this.options.paging&&(this._$tableRows.length<=0&&this._currentPageNo>1&&--this._currentPageNo,this._reloadTable())},_onRecordsLoaded:function(e){this.options.paging&&(this._totalRecordCount=e.TotalRecordCount,this._createPagingList(),this._createPagingInfo(),this._refreshGotoPageInput()),t._onRecordsLoaded.apply(this,arguments)},_addPagingInfoToUrl:function(e,t){if(!this.options.paging)return e;var o=(t-1)*this.options.pageSize,i=this.options.pageSize;return e+(e.indexOf("?")<0?"?":"&")+"jtStartIndex="+o+"&jtPageSize="+i},_createPagingList:function(){if(!(this.options.pageSize<=0||(this._$pagingListArea.empty(),this._totalRecordCount<=0))){var e=this._calculatePageCount();this._createFirstAndPreviousPageButtons(),"normal"==this.options.pageList&&this._createPageNumberButtons(this._calculatePageNumbers(e)),this._createLastAndNextPageButtons(e),this._bindClickEventsToPageNumberButtons()}},_createFirstAndPreviousPageButtons:function(){var t=e("").addClass("jtable-page-number-first").html("<<").data("pageNumber",1).appendTo(this._$pagingListArea),o=e("").addClass("jtable-page-number-previous").html("<").data("pageNumber",this._currentPageNo-1).appendTo(this._$pagingListArea);this._jqueryuiThemeAddClass(t,"ui-button ui-state-default","ui-state-hover"),this._jqueryuiThemeAddClass(o,"ui-button ui-state-default","ui-state-hover"),this._currentPageNo<=1&&(t.addClass("jtable-page-number-disabled"),o.addClass("jtable-page-number-disabled"),this._jqueryuiThemeAddClass(t,"ui-state-disabled"),this._jqueryuiThemeAddClass(o,"ui-state-disabled"))},_createLastAndNextPageButtons:function(t){var o=e("").addClass("jtable-page-number-next").html(">").data("pageNumber",this._currentPageNo+1).appendTo(this._$pagingListArea),i=e("").addClass("jtable-page-number-last").html(">>").data("pageNumber",t).appendTo(this._$pagingListArea);this._jqueryuiThemeAddClass(o,"ui-button ui-state-default","ui-state-hover"),this._jqueryuiThemeAddClass(i,"ui-button ui-state-default","ui-state-hover"),this._currentPageNo>=t&&(o.addClass("jtable-page-number-disabled"),i.addClass("jtable-page-number-disabled"),this._jqueryuiThemeAddClass(o,"ui-state-disabled"),this._jqueryuiThemeAddClass(i,"ui-state-disabled"))},_createPageNumberButtons:function(t){for(var o=0,i=0;i1&&e("").addClass("jtable-page-number-space").html("...").appendTo(this._$pagingListArea),this._createPageNumberButton(t[i]),o=t[i]},_createPageNumberButton:function(t){var o=e("").addClass("jtable-page-number").html(t).data("pageNumber",t).appendTo(this._$pagingListArea);this._jqueryuiThemeAddClass(o,"ui-button ui-state-default","ui-state-hover"),this._currentPageNo==t&&(o.addClass("jtable-page-number-active jtable-page-number-disabled"),this._jqueryuiThemeAddClass(o,"ui-state-active"))},_calculatePageCount:function(){var e=Math.floor(this._totalRecordCount/this.options.pageSize);return this._totalRecordCount%this.options.pageSize!=0&&++e,e},_calculatePageNumbers:function(e){if(4>=e){for(var t=[],o=1;e>=o;++o)t.push(o);return t}var i=[1,2,e-1,e],a=this._normalizeNumber(this._currentPageNo-1,1,e,1),n=this._normalizeNumber(this._currentPageNo+1,1,e,1);return this._insertToArrayIfDoesNotExists(i,a),this._insertToArrayIfDoesNotExists(i,this._currentPageNo),this._insertToArrayIfDoesNotExists(i,n),i.sort(function(e,t){return e-t}),i},_createPagingInfo:function(){if(this._totalRecordCount<=0)return void this._$pageInfoSpan.empty();var e=(this._currentPageNo-1)*this.options.pageSize+1,t=this._currentPageNo*this.options.pageSize;if(t=this._normalizeNumber(t,e,this._totalRecordCount,0),t>=e){var o=this._formatString(this.options.messages.pagingInfo,e,t,this._totalRecordCount);this._$pageInfoSpan.html(o)}},_bindClickEventsToPageNumberButtons:function(){var t=this;t._$pagingListArea.find(".jtable-page-number,.jtable-page-number-previous,.jtable-page-number-next,.jtable-page-number-first,.jtable-page-number-last").not(".jtable-page-number-disabled").click(function(o){o.preventDefault(),t._changePage(e(this).data("pageNumber"))})},_changePage:function(e){return e=this._normalizeNumber(e,1,this._calculatePageCount(),1),e==this._currentPageNo?void this._refreshGotoPageInput():(this._currentPageNo=e,void this._reloadTable())}})}(jQuery),function(e){var t={_initializeFields:e.hik.jtable.prototype._initializeFields,_normalizeFieldOptions:e.hik.jtable.prototype._normalizeFieldOptions,_createHeaderCellForField:e.hik.jtable.prototype._createHeaderCellForField,_createRecordLoadUrl:e.hik.jtable.prototype._createRecordLoadUrl};e.extend(!0,e.hik.jtable.prototype,{options:{sorting:!1,multiSorting:!1,defaultSorting:""},_lastSorting:null,_initializeFields:function(){t._initializeFields.apply(this,arguments),this._lastSorting=[],this.options.sorting&&this._buildDefaultSortingArray()},_normalizeFieldOptions:function(e,o){t._normalizeFieldOptions.apply(this,arguments),o.sorting=0!=o.sorting},_createHeaderCellForField:function(e,o){var i=t._createHeaderCellForField.apply(this,arguments);return this.options.sorting&&o.sorting&&this._makeColumnSortable(i,e),i},_createRecordLoadUrl:function(){var e=t._createRecordLoadUrl.apply(this,arguments);return e=this._addSortingInfoToUrl(e)},_buildDefaultSortingArray:function(){var t=this;e.each(t.options.defaultSorting.split(","),function(o,i){e.each(t.options.fields,function(e,o){if(o.sorting){var a=i.indexOf(e);a>-1&&t._lastSorting.push(i.toUpperCase().indexOf(" DESC",a)>-1?{fieldName:e,sortOrder:"DESC"}:{fieldName:e,sortOrder:"ASC"})}})})},_makeColumnSortable:function(t,o){var i=this;t.addClass("jtable-column-header-sortable").click(function(e){e.preventDefault(),i.options.multiSorting&&e.ctrlKey||(i._lastSorting=[]),i._sortTableByColumn(t)}),e.each(this._lastSorting,function(e,i){i.fieldName==o&&t.addClass("DESC"==i.sortOrder?"jtable-column-header-sorted-desc":"jtable-column-header-sorted-asc")})},_sortTableByColumn:function(e){0==this._lastSorting.length&&e.siblings().removeClass("jtable-column-header-sorted-asc jtable-column-header-sorted-desc");for(var t=0;to)return void this._logWarn('Column "'+e+'" does not exist in fields!');if(["visible","hidden","fixed"].indexOf(t)<0)return void this._logWarn('Visibility value is not valid: "'+t+'"! Options are: visible, hidden, fixed.');var i=this.options.fields[e];if(i.visibility!=t){var a=this._firstDataColumnOffset+o+1;"hidden"!=i.visibility&&"hidden"==t?this._$table.find(">thead >tr >th:nth-child("+a+"),>tbody >tr >td:nth-child("+a+")").hide():"hidden"==i.visibility&&"hidden"!=t&&this._$table.find(">thead >tr >th:nth-child("+a+"),>tbody >tr >td:nth-child("+a+")").show().css("display","table-cell"),i.visibility=t}},_createColumnSelection:function(){var t=this;this._$columnSelectionDiv=e("
        ").addClass("jtable-column-selection-container").appendTo(t._$mainContainer),this._$table.children("thead").bind("contextmenu",function(o){if(t.options.columnSelectable){o.preventDefault(),e("
        ").addClass("jtable-contextmenu-overlay").click(function(){e(this).remove(),t._$columnSelectionDiv.hide() +}).bind("contextmenu",function(){return!1}).appendTo(document.body),t._fillColumnSelection();var i=t._$mainContainer.offset(),a=o.pageY-i.top,n=o.pageX-i.left,s=100,r=t._$mainContainer.width();r>s&&n>r-s&&(n=r-s),t._$columnSelectionDiv.css({left:n,top:a,"min-width":s+"px"}).show()}})},_fillColumnSelection:function(){for(var t=this,o=e("
          ").addClass("jtable-column-select-list"),i=0;i").appendTo(o),r=e('').append(e(""+(n.title||a)+"")).appendTo(s),d=e('').prependTo(r).click(function(){var o=e(this),i=o.attr("name"),a=t.options.fields[i];"fixed"!=a.visibility&&t.changeColumnVisibility(i,o.is(":checked")?"visible":"hidden")});"hidden"!=n.visibility&&d.attr("checked","checked"),"fixed"==n.visibility&&d.attr("disabled","disabled")}this._$columnSelectionDiv.html(o)},_createColumnResizeBar:function(){this._$columnResizeBar=e("
          ").addClass("jtable-column-resize-bar").appendTo(this._$mainContainer).hide()},_makeColumnResizable:function(t){var o=this;e("
          ").addClass("jtable-column-resize-handler").appendTo(t.find(".jtable-column-header-container")).mousedown(function(i){i.preventDefault(),i.stopPropagation();var a=o._$mainContainer.offset(),n=t.nextAll("th.jtable-column-header:visible:first");if(n.length){var s=10;o._currentResizeArgs={currentColumnStartWidth:t.outerWidth(),minWidth:s,maxWidth:t.outerWidth()+n.outerWidth()-s,mouseStartX:i.pageX,minResizeX:function(){return this.mouseStartX-(this.currentColumnStartWidth-this.minWidth)},maxResizeX:function(){return this.mouseStartX+(this.maxWidth-this.currentColumnStartWidth)}};var r=function(e){if(o._currentResizeArgs){var t=o._normalizeNumber(e.pageX,o._currentResizeArgs.minResizeX(),o._currentResizeArgs.maxResizeX());o._$columnResizeBar.css("left",t-a.left+"px")}},d=function(i){if(o._currentResizeArgs){e(document).unbind("mousemove",r),e(document).unbind("mouseup",d),o._$columnResizeBar.hide();var a=i.pageX-o._currentResizeArgs.mouseStartX,s=o._normalizeNumber(o._currentResizeArgs.currentColumnStartWidth+a,o._currentResizeArgs.minWidth,o._currentResizeArgs.maxWidth),l=n.outerWidth()+(o._currentResizeArgs.currentColumnStartWidth-s),c=t.data("width-in-percent")/o._currentResizeArgs.currentColumnStartWidth;t.data("width-in-percent",s*c),n.data("width-in-percent",l*c),t.css("width",t.data("width-in-percent")+"%"),n.css("width",n.data("width-in-percent")+"%"),o._normalizeColumnWidths(),o._currentResizeArgs=null,o.options.saveUserPreferences&&o._saveColumnSettings()}};o._$columnResizeBar.show().css({top:t.offset().top-a.top+"px",left:i.pageX-a.left+"px",height:o._$table.outerHeight()+"px"}),e(document).bind("mousemove",r),e(document).bind("mouseup",d)}})},_normalizeColumnWidths:function(){var t=this._$table.find(">thead th.jtable-command-column-header").data("width-in-percent",1).css("width","1%"),o=this._$table.find(">thead th.jtable-column-header"),i=0;o.each(function(){var t=e(this);t.is(":visible")&&(i+=t.outerWidth())});var a={},n=100-t.length;o.each(function(){var t=e(this);if(t.is(":visible")){var o=t.data("fieldName"),s=t.outerWidth()*n/i;a[o]=s}}),o.each(function(){var t=e(this);if(t.is(":visible")){var o=t.data("fieldName");t.data("width-in-percent",a[o]).css("width",a[o]+"%")}})},_saveColumnSettings:function(){var t=this,o="";this._$table.find(">thead >tr >th.jtable-column-header").each(function(){var i=e(this),a=i.data("fieldName"),n=i.data("width-in-percent"),s=t.options.fields[a].visibility,r=a+"="+s+";"+n;o=o+r+"|"}),this._setCookie("column-settings",o.substr(0,o.length-1))},_loadColumnSettings:function(){var t=this,o=this._getCookie("column-settings");if(o){var i={};e.each(o.split("|"),function(e,t){var o=t.split("="),a=o[0],n=o[1].split(";");i[a]={columnVisibility:n[0],columnWidth:n[1]}});var a=this._$table.find(">thead >tr >th.jtable-column-header");a.each(function(){var o=e(this),a=o.data("fieldName"),n=t.options.fields[a];i[a]&&("fixed"!=n.visibility&&t._changeColumnVisibilityInternal(a,i[a].columnVisibility),o.data("width-in-percent",i[a].columnWidth).css("width",i[a].columnWidth+"%"))})}}})}(jQuery),function(e){var t={_removeRowsFromTable:e.hik.jtable.prototype._removeRowsFromTable};e.extend(!0,e.hik.jtable.prototype,{options:{openChildAsAccordion:!1},openChildTable:function(t,o,i){var a=this;void 0==o.jqueryuiTheme&&(o.jqueryuiTheme=a.options.jqueryuiTheme),o.showCloseButton=0!=o.showCloseButton,o.showCloseButton&&!o.closeRequested&&(o.closeRequested=function(){a.closeChildTable(t)}),a.options.openChildAsAccordion&&t.siblings(".jtable-data-row").each(function(){a.closeChildTable(e(this))}),a.closeChildTable(t,function(){var n=a.getChildRow(t).children("td").empty(),s=e("
          ").addClass("jtable-child-table-container").appendTo(n);n.data("childTable",s),s.jtable(o),a.openChildRow(t),s.hide().slideDown("fast",function(){i&&i({childTable:s})})})},closeChildTable:function(e,t){var o=this,i=this.getChildRow(e).children("td"),a=i.data("childTable");return a?(i.data("childTable",null),void a.slideUp("fast",function(){a.jtable("destroy"),a.remove(),o.closeChildRow(e),t&&t()})):void(t&&t())},isChildRowOpen:function(e){return this.getChildRow(e).is(":visible")},getChildRow:function(e){return e.data("childRow")||this._createChildRow(e)},openChildRow:function(e){var t=this.getChildRow(e);return t.is(":visible")||t.show(),t},closeChildRow:function(e){var t=this.getChildRow(e);t.is(":visible")&&t.hide()},_removeRowsFromTable:function(o,i){"deleted"==i&&o.each(function(){var t=e(this),o=t.data("childRow");o&&o.remove()}),t._removeRowsFromTable.apply(this,arguments)},_createChildRow:function(t){var o=this._$table.find("thead th").length,i=e("").addClass("jtable-child-row").append('');return t.after(i),t.data("childRow",i),i.hide(),i}})}(jQuery); \ No newline at end of file From 23cb6fd9b47482847c6d0631f53ee8f54eb1449b Mon Sep 17 00:00:00 2001 From: SantiagoSC Date: Mon, 7 Sep 2015 10:21:53 +0200 Subject: [PATCH 3/3] Save button bug fixed When editing a record, after click on save button, it remains as saving and disabled. --- lib/jquery.jtable.js | 7 +++++-- lib/jquery.jtable.min.js | 26 +------------------------- 2 files changed, 6 insertions(+), 27 deletions(-) diff --git a/lib/jquery.jtable.js b/lib/jquery.jtable.js index 4b9d376b..98236704 100644 --- a/lib/jquery.jtable.js +++ b/lib/jquery.jtable.js @@ -1,4 +1,4 @@ -/* +/* jTable 2.3.1 http://www.jtable.org @@ -2661,6 +2661,8 @@ THE SOFTWARE. self._$editDiv.modal("hide"); else self._$editDiv.dialog("close"); + + self._setEnabledOfDialogButton(self.options.useBootstrap, $saveButton, true, self.options.messages.save); }, function () { self._showError(self.options.messages.serverCommunicationError); @@ -4977,4 +4979,5 @@ THE SOFTWARE. }); -})(jQuery); \ No newline at end of file +})(jQuery); + diff --git a/lib/jquery.jtable.min.js b/lib/jquery.jtable.min.js index 7e9bd3f2..bf4a83ac 100644 --- a/lib/jquery.jtable.min.js +++ b/lib/jquery.jtable.min.js @@ -1,27 +1,3 @@ -/* -jTable 2.3.1 -http://www.jtable.org ---------------------------------------------------------------------------- -Copyright (C) 2011-2013 by Halil İbrahim Kalkan (http://www.halilibrahimkalkan.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*/ !function(e){var t;e(window).on("beforeunload",function(){t=!0}),e(window).on("unload",function(){t=!1}),e.widget("hik.jtable",{options:{actions:{},fields:{},animationsEnabled:!0,defaultDateFormat:"yy-mm-dd",dialogShowEffect:"fade",dialogHideEffect:"fade",showCloseButton:!1,loadingAnimationDelay:500,saveUserPreferences:!0,jqueryuiTheme:!1,useBootstrap:!0,ajaxSettings:{type:"POST",dataType:"json"},toolbar:{hoverAnimation:!0,hoverAnimationDuration:60,hoverAnimationEasing:void 0,items:[]},closeRequested:function(){},formCreated:function(){},formSubmitting:function(){},formClosed:function(){},loadingRecords:function(){},recordsLoaded:function(){},rowInserted:function(){},rowsRemoved:function(){},messages:{serverCommunicationError:"An error occured while communicating to the server.",loadingMessage:"Loading records...",noDataAvailable:"No data available!",areYouSure:"Are you sure?",save:"Save",saving:"Saving",cancel:"Cancel",error:"Error",close:"Close",cannotLoadOptionsFor:"Can not load options for field {0}"}},_$mainContainer:null,_$titleDiv:null,_$toolbarDiv:null,_$table:null,_$tableBody:null,_$tableRows:null,_$busyDiv:null,_$busyMessageDiv:null,_$errorDialogDiv:null,_columnList:null,_fieldList:null,_keyField:null,_firstDataColumnOffset:0,_lastPostData:null,_cache:null,_create:function(){this._normalizeFieldsOptions(),this._initializeFields(),this._createFieldAndColumnList(),this._createMainContainer(),this._createTableTitle(),this._createToolBar(),this._createTable(),this._createBusyPanel(),this._createErrorDialogDiv(),this._addNoDataRow(),this._cookieKeyPrefix=this._generateCookieKeyPrefix()},_normalizeFieldsOptions:function(){var t=this;e.each(t.options.fields,function(e,o){t._normalizeFieldOptions(e,o)})},_normalizeFieldOptions:function(t,o){if(void 0==o.listClass&&(o.listClass=""),void 0==o.inputClass&&(o.inputClass=""),o.dependsOn&&"string"===e.type(o.dependsOn)){var i=o.dependsOn.split(",");o.dependsOn=[];for(var a=0;a").addClass("jtable-main-container").appendTo(this.element),this._jqueryuiThemeAddClass(this._$mainContainer,"ui-widget")},_createTableTitle:function(){var t=this;if(t.options.title){var o=e("
          ").addClass("jtable-title").appendTo(t._$mainContainer);if(t._jqueryuiThemeAddClass(o,"ui-widget-header"),e("
          ").addClass("jtable-title-text").appendTo(o).append(t.options.title),t.options.showCloseButton){var i=e("").html(t.options.messages.close);e("").addClass("jtable-command-button jtable-close-button").attr("title",t.options.messages.close).append(i).appendTo(o).click(function(e){e.preventDefault(),e.stopPropagation(),t._onCloseRequested()})}t._$titleDiv=o}},_createTable:function(){this._$table=e("
          ").addClass("jtable").appendTo(this._$mainContainer),this.options.tableId&&this._$table.attr("id",this.options.tableId),this._jqueryuiThemeAddClass(this._$table,"ui-widget-content"),this._createTableHead(),this._createTableBody()},_createTableHead:function(){var t=e("").appendTo(this._$table);this._addRowToTableHead(t)},_addRowToTableHead:function(t){var o=e("").appendTo(t);this._addColumnsToHeaderRow(o)},_addColumnsToHeaderRow:function(e){for(var t=0;t").addClass("jtable-column-header-text").html(o.title),a=e("
          ").addClass("jtable-column-header-container").append(i),n=e("").addClass("jtable-column-header").addClass(o.listClass).css("width",o.width).data("fieldName",t).append(a);return this._jqueryuiThemeAddClass(n,"ui-state-default"),n},_createEmptyCommandHeader:function(){var t=e("").addClass("jtable-command-column-header").css("width","1%");return this._jqueryuiThemeAddClass(t,"ui-state-default"),t},_createTableBody:function(){this._$tableBody=e("").appendTo(this._$table)},_createBusyPanel:function(){this._$busyMessageDiv=e("
          ").addClass("jtable-busy-message").prependTo(this._$mainContainer),this._$busyDiv=e("
          ").addClass("jtable-busy-panel-background").prependTo(this._$mainContainer),this._jqueryuiThemeAddClass(this._$busyMessageDiv,"ui-widget-header"),this._hideBusy()},_createErrorDialogDiv:function(){var t=this;t.options.useBootstrap?(t._$errorDialogDiv=e('").appendTo(t._$mainContainer),t._$errorDialogDiv.modal({show:!1})):(t._$errorDialogDiv=e("
          ").appendTo(t._$mainContainer),t._$errorDialogDiv.dialog({autoOpen:!1,show:t.options.dialogShowEffect,hide:t.options.dialogHideEffect,modal:!0,title:t.options.messages.error,buttons:[{text:t.options.messages.close,click:function(){t._$errorDialogDiv.dialog("close")}}]}))},load:function(e,t){this._lastPostData=e,this._reloadTable(t)},reload:function(e){this._reloadTable(e)},getRowByKey:function(e){for(var t=0;t").addClass("jtable-data-row").attr("data-record-key",this._getKeyValueOfRecord(t)).data("record",t);return this._addCellsToRowUsingRecord(o),o},_addCellsToRowUsingRecord:function(e){for(var t=e.data("record"),o=0;o").addClass(this.options.fields[o].listClass).append(this._getDisplayTextForRecordField(t,o))},_addRecordsToTable:function(t){var o=this;e.each(t,function(e,t){o._addRow(o._createRowFromRecord(t))}),o._refreshRowStyles()},_addRowToTable:function(e,t,o,i){var a={index:this._normalizeNumber(t,0,this._$tableRows.length,this._$tableRows.length)};1==o&&(a.isNewRow=!0),0==i&&(a.animationsEnabled=!1),this._addRow(e,a)},_addRow:function(t,o){o=e.extend({index:this._$tableRows.length,isNewRow:!1,animationsEnabled:!0},o),this._$tableRows.length<=0&&this._removeNoDataRow(),o.index=this._normalizeNumber(o.index,0,this._$tableRows.length,this._$tableRows.length),o.index==this._$tableRows.length?(this._$tableBody.append(t),this._$tableRows.push(t)):0==o.index?(this._$tableBody.prepend(t),this._$tableRows.unshift(t)):(this._$tableRows[o.index-1].after(t),this._$tableRows.splice(o.index,0,t)),this._onRowInserted(t,o.isNewRow),o.isNewRow&&(this._refreshRowStyles(),this.options.animationsEnabled&&o.animationsEnabled&&this._showNewRowAnimation(t))},_showNewRowAnimation:function(e){var t="jtable-row-created";this.options.jqueryuiTheme&&(t+=" ui-state-highlight"),e.addClass(t,"slow","",function(){e.removeClass(t,5e3)})},_removeRowsFromTable:function(t,o){var i=this;t.length<=0||(t.addClass("jtable-row-removed").remove(),t.each(function(){var t=i._findRowIndex(e(this));t>=0&&i._$tableRows.splice(t,1)}),i._onRowsRemoved(t,o),0==i._$tableRows.length&&i._addNoDataRow(),i._refreshRowStyles())},_findRowIndex:function(e){return this._findIndexInArray(e,this._$tableRows,function(e,t){return e.data("record")==t.data("record")})},_removeAllRows:function(e){if(!(this._$tableRows.length<=0)){var t=this._$tableBody.find("tr.jtable-data-row");this._$tableBody.empty(),this._$tableRows=[],this._onRowsRemoved(t,e),this._addNoDataRow()}},_addNoDataRow:function(){if(!(this._$tableBody.find(">tr.jtable-no-data-row").length>0)){var t=e("").addClass("jtable-no-data-row").appendTo(this._$tableBody),o=this._$table.find("thead th").length;e("").attr("colspan",o).html(this.options.messages.noDataAvailable).appendTo(t)}},_removeNoDataRow:function(){this._$tableBody.find(".jtable-no-data-row").remove()},_refreshRowStyles:function(){for(var e=0;e0?function(e,t){return a(t,e)}:function(e,t){return a(e,t)})}},_buildOptionsArrayFromObject:function(t){var o=[];return e.each(t,function(e,t){o.push({Value:e,DisplayText:t})}),o},_buildOptionsFromArray:function(t){for(var o=[],i=0;i=0?new Date(parseInt(e.substr(6),10)):10==e.length?new Date(parseInt(e.substr(0,4),10),parseInt(e.substr(5,2),10)-1,parseInt(e.substr(8,2),10)):19==e.length?new Date(parseInt(e.substr(0,4),10),parseInt(e.substr(5,2),10)-1,parseInt(e.substr(8,2,10)),parseInt(e.substr(11,2),10),parseInt(e.substr(14,2),10),parseInt(e.substr(17,2),10)):(this._logWarn("Given date is not properly formatted: "+e),"format error!")},_createToolBar:function(){this._$toolbarDiv=e("
          ").addClass("jtable-toolbar").appendTo(this._$titleDiv);for(var t=0;t").addClass("jtable-toolbar-item").appendTo(this._$toolbarDiv);if(this._jqueryuiThemeAddClass(o,"ui-widget ui-state-default ui-corner-all","ui-state-hover"),t.cssClass&&o.addClass(t.cssClass),t.tooltip&&o.attr("title",t.tooltip),t.icon){var i=e('').appendTo(o);t.icon===!0||e.type("string"===t.icon)&&i.css("background",'url("'+t.icon+'")')}t.text&&e('').html(t.text).addClass("jtable-toolbar-item-text").appendTo(o),t.click&&o.click(function(){t.click()});var a=void 0,n=void 0;return this.options.toolbar.hoverAnimation&&(a=this.options.toolbar.hoverAnimationDuration,n=this.options.toolbar.hoverAnimationEasing),o.hover(function(){o.addClass("jtable-toolbar-item-hover",a,n)},function(){o.removeClass("jtable-toolbar-item-hover",a,n)}),o},_showError:function(e){this.options.useBootstrap?(this._$errorDialogDiv.find(".modal-body").html(e),this._$errorDialogDiv.modal("show")):this._$errorDialogDiv.html(e).dialog("open")},_setBusyTimer:null,_showBusy:function(e,t){var o=this;o._$busyDiv.width(o._$mainContainer.width()).height(o._$mainContainer.height()).addClass("jtable-busy-panel-background-invisible").show();var i=function(){o._$busyDiv.removeClass("jtable-busy-panel-background-invisible"),o._$busyMessageDiv.html(e).show()};if(t){if(o._setBusyTimer)return;o._setBusyTimer=setTimeout(i,t)}else i()},_hideBusy:function(){clearTimeout(this._setBusyTimer),this._setBusyTimer=null,this._$busyDiv.hide(),this._$busyMessageDiv.html("").hide()},_isBusy:function(){return this._$busyMessageDiv.is(":visible")},_jqueryuiThemeAddClass:function(e,t,o){this.options.jqueryuiTheme&&(e.addClass(t),o&&e.hover(function(){e.addClass(o)},function(){e.removeClass(o)}))},_performAjaxCall:function(e,t,o,i,a){this._ajax({url:e,data:t,async:o,success:i,error:a})},_ajax:function(o){var i=e.extend({},this.options.ajaxSettings,o);i.success=function(e){o.success&&o.success(e)},i.error=function(e){return t?void e.abort():void(o.error&&o.error(arguments))},i.complete=function(){o.complete&&o.complete()},e.ajax(i)},_getKeyValueOfRecord:function(e){return e[this._keyField]},_setCookie:function(e,t){e=this._cookieKeyPrefix+e;var o=new Date;o.setDate(o.getDate()+30),document.cookie=encodeURIComponent(e)+"="+encodeURIComponent(t)+"; expires="+o.toUTCString()},_getCookie:function(e){e=this._cookieKeyPrefix+e;for(var t=document.cookie.split("; "),o=0;oe?t:e>o?o:e},_formatString:function(){if(0==arguments.length)return null;for(var e=arguments[0],t=1;to?Math.ceil(o):Math.floor(o),0>o&&(o+=t);t>o;o++)if(o in this&&this[o]===e)return o;return-1})}(jQuery),function(e){e.extend(!0,e.hik.jtable.prototype,{_submitFormUsingAjax:function(e,t,o,i){this._ajax({url:e,data:t,success:o,error:i})},_createInputLabelForRecordField:function(t){return e("
          ").addClass("jtable-input-label").html(this.options.fields[t].inputTitle||this.options.fields[t].title)},_createInputForRecordField:function(t){var o=t.fieldName,i=t.value,a=t.record,n=t.formType,s=t.form,r=this.options.fields[o];if((void 0==i||null==i)&&(i=r.defaultValue),r.input){var d=e(r.input({value:i,record:a,formType:n,form:s}));return d.attr("id")||d.attr("id","Edit-"+o),e("
          ").addClass("jtable-input jtable-custom-input").append(d)}return"date"==r.type?this._createDateInputForField(r,o,i):"textarea"==r.type?this._createTextAreaForField(r,o,i):"password"==r.type?this._createPasswordInputForField(r,o,i):"checkbox"==r.type?this._createCheckboxForField(r,o,i):r.options?"radiobutton"==r.type?this._createRadioButtonListForField(r,o,i,a,n):this._createDropDownListForField(r,o,i,a,n,s):this._createTextInputForField(r,o,i)},_createInputForHidden:function(t,o){return void 0==o&&(o=""),e('').val(o)},_createDateInputForField:function(t,o,i){var a=e('');void 0!=i&&a.val(i);var n=t.displayFormat||this.options.defaultDateFormat;return a.datepicker({dateFormat:n}),e("
          ").addClass("jtable-input jtable-date-input").append(a)},_createTextAreaForField:function(t,o,i){var a=e('');return void 0!=i&&a.val(i),e("
          ").addClass("jtable-input jtable-textarea-input").append(a)},_createTextInputForField:function(t,o,i){var a=e('');return void 0!=i&&a.val(i),e("
          ").addClass("jtable-input jtable-text-input").append(a)},_createPasswordInputForField:function(t,o,i){var a=e('');return void 0!=i&&a.val(i),e("
          ").addClass("jtable-input jtable-password-input").append(a)},_createCheckboxForField:function(t,o,i){var a=this;void 0==i&&(i=a._getCheckBoxPropertiesForFieldByState(o,!1).Value);var n=e("
          ").addClass("jtable-input jtable-checkbox-input"),s=e('').appendTo(n);void 0!=i&&s.val(i);var r=e(""+(t.formText||a._getCheckBoxTextForFieldByValue(o,i))+"").appendTo(n);a._getIsCheckBoxSelectedForFieldByValue(o,i)&&s.attr("checked","checked");var d=function(){var e=a._getCheckBoxPropertiesForFieldByState(o,s.is(":checked"));s.attr("value",e.Value),r.html(t.formText||e.DisplayText)};return s.click(function(){d()}),0!=t.setOnTextClick&&r.addClass("jtable-option-text-clickable").click(function(){s.is(":checked")?s.attr("checked",!1):s.attr("checked",!0),d()}),n},_createDropDownListForField:function(t,o,i,a,n,s){var r=e("
          ").addClass("jtable-input jtable-dropdown-input"),d=e('').appendTo(r),l=this._getOptionsForField(o,{record:a,source:n,form:s,dependedValues:this._createDependedValuesUsingForm(s,t.dependsOn)});return this._fillDropDownListWithOptions(d,l,i),r},_fillDropDownListWithOptions:function(t,o,i){t.empty();for(var a=0;a"+o[a].DisplayText+"").val(o[a].Value).appendTo(t)},_createDependedValuesUsingForm:function(e,t){if(!t)return{};for(var o={},i=0;i").addClass("jtable-input jtable-radiobuttonlist-input"),r=this._getOptionsForField(o,{record:a,source:n});return e.each(r,function(a,n){var r=e('
          ').addClass("jtable-radio-input").appendTo(s),d=e('").val(n.Value).appendTo(r),l=e("").html(n.DisplayText).appendTo(r);0!=t.setOnTextClick&&l.addClass("jtable-option-text-clickable").click(function(){d.is(":checked")||d.attr("checked",!0)})}),s},_getCheckBoxTextForFieldByValue:function(e,t){return this.options.fields[e].values[t]},_getIsCheckBoxSelectedForFieldByValue:function(e,t){return this._createCheckBoxStateArrayForFieldWithCaching(e)[1].Value.toString()==t.toString()},_getCheckBoxPropertiesForFieldByState:function(e,t){return this._createCheckBoxStateArrayForFieldWithCaching(e)[t?1:0]},_createCheckBoxStateArrayForFieldWithCaching:function(e){var t="checkbox_"+e;return this._cache[t]||(this._cache[t]=this._createCheckBoxStateArrayForField(e)),this._cache[t]},_createCheckBoxStateArrayForField:function(t){var o=[],i=0;return e.each(this.options.fields[t].values,function(e,t){i++<2&&o.push({Value:e,DisplayText:t})}),o},_makeCascadeDropDowns:function(t,o,i){var a=this;t.find("select").each(function(){var n=e(this),s=n.attr("name");if(s){var r=a.options.fields[s];r.dependsOn&&e.each(r.dependsOn,function(e,d){var l=t.find("select[name="+d+"]");l.change(function(){var e={record:o,source:i,form:t,dependedValues:{}};e.dependedValues=a._createDependedValuesUsingForm(t,r.dependsOn);var d=a._getOptionsForField(s,e);a._fillDropDownListWithOptions(n,d,void 0),n.change()})})}})},_updateRecordValuesFromForm:function(t,o){for(var i=0;i").appendTo(t._$mainContainer),t.options.useBootstrap){t._$addRecordDiv.addClass("modal hide fade"),t._$addRecordDiv.css({width:"auto"}),t._$addRecordDiv.append('"),t._$addRecordDiv.find(".save").click(function(){t._onSaveClickedOnCreateForm()}),t._$addRecordDiv.modal({show:!1});var o=t._getHiddenEvent();t._$addRecordDiv.on(o,function(){var o=t._$addRecordDiv.find("form").first(),i=e("#AddRecordDialogSaveButton");t._trigger("formClosed",null,{form:o,formType:"create"}),t._setEnabledOfDialogButton(t.options.useBootstrap,i,!0,t.options.messages.save),o.remove()})}else t._$addRecordDiv.dialog({autoOpen:!1,show:t.options.dialogShowEffect,hide:t.options.dialogHideEffect,width:"auto",minWidth:"300",modal:!0,title:t.options.messages.addNewRecord,buttons:[{text:t.options.messages.cancel,click:function(){t._$addRecordDiv.dialog("close")}},{id:"AddRecordDialogSaveButton",text:t.options.messages.save,click:function(){t._onSaveClickedOnCreateForm()}}],close:function(){var o=t._$addRecordDiv.find("form").first(),i=e("#AddRecordDialogSaveButton");t._trigger("formClosed",null,{form:o,formType:"create"}),t._setEnabledOfDialogButton(t.options.useBootstrap,i,!0,t.options.messages.save),o.remove()}});t.options.addRecordButton?t.options.addRecordButton.click(function(e){e.preventDefault(),t._showAddRecordForm()}):t._addToolBarItem({icon:!0,cssClass:"jtable-toolbar-item-add-record",text:t.options.messages.addNewRecord,click:function(){t._showAddRecordForm()}})},_onSaveClickedOnCreateForm:function(){var t=this,o=e("#AddRecordDialogSaveButton"),i=t._$addRecordDiv.find("form");0!=t._trigger("formSubmitting",null,{form:i,formType:"create"})&&(t._setEnabledOfDialogButton(t.options.useBootstrap,o,!1,t.options.messages.saving),t._saveAddRecordForm(i,o))},_getHiddenEvent:function(){var t=e.fn.modal,o="hidden";return t&&t.toString().indexOf("bs.modal")>-1&&(o+=".bs.modal"),o},showCreateForm:function(){this._showAddRecordForm()},addRecord:function(t){var o=this;return t=e.extend({clientOnly:!1,animationsEnabled:o.options.animationsEnabled,url:o.options.actions.createAction,success:function(){},error:function(){}},t),t.record?t.clientOnly?(o._addRow(o._createRowFromRecord(t.record),{isNewRow:!0,animationsEnabled:t.animationsEnabled}),void t.success()):void o._submitFormUsingAjax(t.url,e.param(t.record),function(e){return"OK"!=e.Result?(o._showError(e.Message),void t.error(e)):e.Record?(o._onRecordAdded(e),o._addRow(o._createRowFromRecord(e.Record),{isNewRow:!0,animationsEnabled:t.animationsEnabled}),void t.success(e)):(o._logError("Server must return the created Record object."),void t.error(e))},function(){o._showError(o.options.messages.serverCommunicationError),t.error()}):void o._logWarn("options parameter in addRecord method must contain a record property.")},_showAddRecordForm:function(){for(var t=this,o=e('
          '),i=0;i").addClass("jtable-input-field-container").appendTo(o);s.append(t._createInputLabelForRecordField(a)),s.append(t._createInputForRecordField({fieldName:a,formType:"create",form:o}))}else o.append(t._createInputForHidden(a,n.defaultValue))}t._makeCascadeDropDowns(o,void 0,"create"),o.submit(function(){return t._onSaveClickedOnCreateForm(),!1}),t.options.useBootstrap?(t._$addRecordDiv.find(".modal-body").append(o),t._$addRecordDiv.modal("show")):t._$addRecordDiv.append(o).dialog("open"),t._trigger("formCreated",null,{form:o,formType:"create"})},_saveAddRecordForm:function(e,t){var o=this;e.data("submitting",!0),o._submitFormUsingAjax(o.options.actions.createAction,e.serialize(),function(e){return"OK"!=e.Result?(o._showError(e.Message),void o._setEnabledOfDialogButton(o.options.useBootstrap,t,!0,o.options.messages.save)):e.Record?(o._onRecordAdded(e),o._addRow(o._createRowFromRecord(e.Record),{isNewRow:!0}),void(o.options.useBootstrap?o._$addRecordDiv.modal("hide"):o._$addRecordDiv.dialog("close"))):(o._logError("Server must return the created Record object."),void o._setEnabledOfDialogButton(o.options.useBootstrap,t,!0,o.options.messages.save))},function(){o._showError(o.options.messages.serverCommunicationError),o._setEnabledOfDialogButton(o.options.useBootstrap,t,!0,o.options.messages.save)})},_onRecordAdded:function(e){this._trigger("recordAdded",null,{record:e.Record,serverResponse:e})}})}(jQuery),function(e){var t={_create:e.hik.jtable.prototype._create,_addColumnsToHeaderRow:e.hik.jtable.prototype._addColumnsToHeaderRow,_addCellsToRowUsingRecord:e.hik.jtable.prototype._addCellsToRowUsingRecord};e.extend(!0,e.hik.jtable.prototype,{options:{recordUpdated:function(){},rowUpdated:function(){},messages:{editRecord:"Edit Record"}},_$editDiv:null,_$editingRow:null,_create:function(){t._create.apply(this,arguments),this.options.actions.updateAction&&this._createEditDialogDiv()},_createEditDialogDiv:function(){var t=this;t._$editDiv=e("
          ").appendTo(t._$mainContainer),t.options.useBootstrap?(t._$editDiv.addClass("modal hide fade"),t._$editDiv.css({width:"auto"}),t._$editDiv.append('"),t._$editDiv.find(".save").click(function(){t._onSaveClickedOnEditForm()}),t._$editDiv.modal({show:!1}),t._$editDiv.on("hide",function(){var o=t._$editDiv.find("form:first"),i=e("#EditDialogSaveButton");t._trigger("formClosed",null,{form:o,formType:"edit",row:t._$editingRow}),t._setEnabledOfDialogButton(t.options.useBootstrap,i,!0,t.options.messages.save),o.remove()})):t._$editDiv.dialog({autoOpen:!1,show:t.options.dialogShowEffect,hide:t.options.dialogHideEffect,width:"auto",minWidth:"300",modal:!0,title:t.options.messages.editRecord,buttons:[{text:t.options.messages.cancel,click:function(){t._$editDiv.dialog("close")}},{id:"EditDialogSaveButton",text:t.options.messages.save,click:function(){t._onSaveClickedOnEditForm()}}],close:function(){var o=t._$editDiv.find("form:first"),i=e("#EditDialogSaveButton");t._trigger("formClosed",null,{form:o,formType:"edit",row:t._$editingRow}),t._setEnabledOfDialogButton(t.options.useBootstrap,i,!0,t.options.messages.save),o.remove()}})},_onSaveClickedOnEditForm:function(){var t=this;if(t._$editingRow.hasClass("jtable-row-removed"))return void(t.options.useBootstrap?t._$editDiv.modal("hide"):t._$editDiv.dialog("close"));var o=e("#EditDialogSaveButton"),i=t._$editDiv.find("form");0!=t._trigger("formSubmitting",null,{form:i,formType:"edit",row:t._$editingRow})&&(t._setEnabledOfDialogButton(t.options.useBootstrap,o,!1,t.options.messages.saving),t._saveEditForm(i,o)) -},updateRecord:function(t){var o=this;if(t=e.extend({clientOnly:!1,animationsEnabled:o.options.animationsEnabled,url:o.options.actions.updateAction,success:function(){},error:function(){}},t),!t.record)return void o._logWarn("options parameter in updateRecord method must contain a record property.");var i=o._getKeyValueOfRecord(t.record);if(void 0==i||null==i)return void o._logWarn("options parameter in updateRecord method must contain a record that contains the key field property.");var a=o.getRowByKey(i);return null==a?void o._logWarn("Can not found any row by key: "+i):t.clientOnly?(e.extend(a.data("record"),t.record),o._updateRowTexts(a),o._onRecordUpdated(a,null),t.animationsEnabled&&o._showUpdateAnimationForRow(a),void t.success()):void o._submitFormUsingAjax(t.url,e.param(t.record),function(i){return"OK"!=i.Result?(o._showError(i.Message),void t.error(i)):(e.extend(a.data("record"),t.record),o._updateRecordValuesFromServerResponse(a.data("record"),i),o._updateRowTexts(a),o._onRecordUpdated(a,i),t.animationsEnabled&&o._showUpdateAnimationForRow(a),void t.success(i))},function(){o._showError(o.options.messages.serverCommunicationError),t.error()})},_addColumnsToHeaderRow:function(e){t._addColumnsToHeaderRow.apply(this,arguments),void 0!=this.options.actions.updateAction&&e.append(this._createEmptyCommandHeader())},_addCellsToRowUsingRecord:function(o){var i=this;if(t._addCellsToRowUsingRecord.apply(this,arguments),void 0!=i.options.actions.updateAction){var a=e("").html(i.options.messages.editRecord),n=e('').addClass("jtable-command-button jtable-edit-command-button").append(a).click(function(e){e.preventDefault(),e.stopPropagation(),i._showEditForm(o)});e("").addClass("jtable-command-column").append(n).appendTo(o)}},_showEditForm:function(t){for(var o=this,i=t.data("record"),a=e('
          '),n=0;n
          ').appendTo(a);l.append(o._createInputLabelForRecordField(s));var c=o._getValueForRecordField(i,s);l.append(o._createInputForRecordField({fieldName:s,value:c,record:i,formType:"edit",form:a}))}else a.append(o._createInputForHidden(s,d))}o._makeCascadeDropDowns(a,i,"edit"),a.submit(function(){return o._onSaveClickedOnEditForm(),!1}),o._$editingRow=t,o.options.useBootstrap?(o._$editDiv.find(".modal-body").html(a),o._$editDiv.modal("show")):(o._$editDiv.append(a),o._$ediDiv.dialog("open")),o._trigger("formCreated",null,{form:a,formType:"edit",record:i,row:t})},_saveEditForm:function(e,t){var o=this;o._submitFormUsingAjax(o.options.actions.updateAction,e.serialize(),function(i){if("OK"!=i.Result)return o._showError(i.Message),void o._setEnabledOfDialogButton(o.options.useBootstrap,t,!0,o.options.messages.save);var a=o._$editingRow.data("record");o._updateRecordValuesFromForm(a,e),o._updateRecordValuesFromServerResponse(a,i),o._updateRowTexts(o._$editingRow),o._$editingRow.attr("data-record-key",o._getKeyValueOfRecord(a)),o._onRecordUpdated(o._$editingRow,i),o.options.animationsEnabled&&o._showUpdateAnimationForRow(o._$editingRow),o.options.useBootstrap?o._$editDiv.modal("hide"):o._$editDiv.dialog("close")},function(){o._showError(o.options.messages.serverCommunicationError),o._setEnabledOfDialogButton(o.options.useBootstrap,t,!0,o.options.messages.save)})},_updateRecordValuesFromServerResponse:function(t,o){o&&o.Record&&e.extend(!0,t,o.Record)},_getValueForRecordField:function(e,t){var o=this.options.fields[t],i=e[t];return"date"==o.type?this._getDisplayTextForDateRecordField(o,i):i},_updateRowTexts:function(e){for(var t=e.data("record"),o=e.find("td"),i=0;i").appendTo(t._$mainContainer),t.options.useBootstrap){t._$deleteRecordDiv.addClass("modal hide fade"),t._$deleteRecordDiv.append('"),t._$deleteRecordDiv.modal({show:!1}),t._$deleteRecordDiv.find("#DeleteDialogButton").click(function(){if(t._$deletingRow.hasClass("jtable-row-removed"))return void t._$deleteRecordDiv.dialog("close");var o=e(this);t._setEnabledOfDialogButton(t.options.useBootstrap,o,!1,t.options.messages.deleting),t._deleteRecordFromServer(t._$deletingRow,function(){t._removeRowsFromTableWithAnimation(t._$deletingRow),t._$deleteRecordDiv.modal("hide")},function(e){t._showError(e),t._setEnabledOfDialogButton(t.options.useBootstrap,o,!0,t.options.messages.deleteText)})});var o=t._getHiddenEvent();t._$deleteRecordDiv.on(o,function(){var o=e(this).find("#DeleteDialogButton");t._setEnabledOfDialogButton(t.options.useBootstrap,o,!0,t.options.messages.deleteText)})}else t._$deleteRecordDiv.append('

          '),t._$deleteRecordDiv.dialog({autoOpen:!1,show:t.options.dialogShowEffect,hide:t.options.dialogHideEffect,modal:!0,title:t.options.messages.areYouSure,buttons:[{text:t.options.messages.cancel,click:function(){t._$deleteRecordDiv.dialog("close")}},{id:"DeleteDialogButton",text:t.options.messages.deleteText,click:function(){if(t._$deletingRow.hasClass("jtable-row-removed"))return void t._$deleteRecordDiv.dialog("close");var o=e("#DeleteDialogButton");t._setEnabledOfDialogButton(t.options.useBootstrap,o,!1,t.options.messages.deleting),t._deleteRecordFromServer(t._$deletingRow,function(){t._removeRowsFromTableWithAnimation(t._$deletingRow),t._$deleteRecordDiv.dialog("close")},function(e){t._showError(e),t._setEnabledOfDialogButton(t.options.useBootstrap,o,!0,t.options.messages.deleteText)})}}],close:function(){var o=e("#DeleteDialogButton");t._setEnabledOfDialogButton(t.options.useBootstrap,o,!0,t.options.messages.deleteText)}})},deleteRows:function(t){var o=this;if(t.length<=0)return void o._logWarn("No rows specified to jTable deleteRows method.");if(o._isBusy())return void o._logWarn("Can not delete rows since jTable is busy!");if(1==t.length)return void o._deleteRecordFromServer(t,function(){o._removeRowsFromTableWithAnimation(t)},function(e){o._showError(e)});o._showBusy(o._formatString(o.options.messages.deleteProggress,0,t.length));var i=0,a=function(){return i>=t.length},n=function(){var e=t.filter(".jtable-row-ready-to-remove");e.length0&&o._removeRowsFromTableWithAnimation(e),o._hideBusy()},s=0;t.each(function(){var r=e(this);o._deleteRecordFromServer(r,function(){++s,++i,r.addClass("jtable-row-ready-to-remove"),o._showBusy(o._formatString(o.options.messages.deleteProggress,s,t.length)),a()&&n()},function(){++i,a()&&n()})})},deleteRecord:function(t){var o=this;if(t=e.extend({clientOnly:!1,animationsEnabled:o.options.animationsEnabled,url:o.options.actions.deleteAction,success:function(){},error:function(){}},t),void 0==t.key)return void o._logWarn("options parameter in deleteRecord method must contain a key property.");var i=o.getRowByKey(t.key);return null==i?void o._logWarn("Can not found any row by key: "+t.key):t.clientOnly?(o._removeRowsFromTableWithAnimation(i,t.animationsEnabled),void t.success()):void o._deleteRecordFromServer(i,function(e){o._removeRowsFromTableWithAnimation(i,t.animationsEnabled),t.success(e)},function(e){o._showError(e),t.error(e)},t.url)},_addColumnsToHeaderRow:function(e){t._addColumnsToHeaderRow.apply(this,arguments),void 0!=this.options.actions.deleteAction&&e.append(this._createEmptyCommandHeader())},_addCellsToRowUsingRecord:function(o){t._addCellsToRowUsingRecord.apply(this,arguments);var i=this;if(void 0!=i.options.actions.deleteAction){var a=e("").html(i.options.messages.deleteText),n=e('').addClass("jtable-command-button jtable-delete-command-button").append(a).click(function(e){e.preventDefault(),e.stopPropagation(),i._deleteButtonClickedForRow(o)});e("").addClass("jtable-command-column").append(n).appendTo(o)}},_deleteButtonClickedForRow:function(t){var o,i=this,a=i.options.messages.deleteConfirmation;if(e.isFunction(i.options.deleteConfirmation)){var n={row:t,record:t.data("record"),deleteConfirm:!0,deleteConfirmMessage:a,cancel:!1,cancelMessage:null};if(i.options.deleteConfirmation(n),n.cancel)return void(n.cancelMessage&&i._showError(n.cancelMessage));a=n.deleteConfirmMessage,o=n.deleteConfirm}else o=i.options.deleteConfirmation;0!=o?(i.options.useBootstrap?i._$deleteRecordDiv.find(".modal-body").html(a):i._$deleteRecordDiv.find(".jtable-delete-confirm-message").html(a),i._showDeleteDialog(t)):i._deleteRecordFromServer(t,function(){i._removeRowsFromTableWithAnimation(t)},function(e){i._showError(e)})},_showDeleteDialog:function(e){this._$deletingRow=e,this.options.useBootstrap?this._$deleteRecordDiv.modal("show"):this._$deleteRecordDiv.dialog("open")},_deleteRecordFromServer:function(e,t,o,i){var a=this;if(1!=e.data("deleting")){e.data("deleting",!0);var n={};n[a._keyField]=a._getKeyValueOfRecord(e.data("record")),this._ajax({url:i||a.options.actions.deleteAction,data:n,success:function(i){return"OK"!=i.Result?(e.data("deleting",!1),void(o&&o(i.Message))):(a._trigger("recordDeleted",null,{record:e.data("record"),row:e,serverResponse:i}),void(t&&t(i)))},error:function(){e.data("deleting",!1),o&&o(a.options.messages.serverCommunicationError)}})}},_removeRowsFromTableWithAnimation:function(e,t){var o=this;if(void 0==t&&(t=o.options.animationsEnabled),t){var i="jtable-row-deleting";this.options.jqueryuiTheme&&(i+=" ui-state-disabled"),e.stop(!0,!0).addClass(i,"slow","").promise().done(function(){o._removeRowsFromTable(e,"deleted")})}else o._removeRowsFromTable(e,"deleted")}})}(jQuery),function(e){var t={_create:e.hik.jtable.prototype._create,_addColumnsToHeaderRow:e.hik.jtable.prototype._addColumnsToHeaderRow,_addCellsToRowUsingRecord:e.hik.jtable.prototype._addCellsToRowUsingRecord,_onLoadingRecords:e.hik.jtable.prototype._onLoadingRecords,_onRecordsLoaded:e.hik.jtable.prototype._onRecordsLoaded,_onRowsRemoved:e.hik.jtable.prototype._onRowsRemoved};e.extend(!0,e.hik.jtable.prototype,{options:{selecting:!1,multiselect:!1,selectingCheckboxes:!1,selectOnRowClick:!0,selectionChanged:function(){}},_selectedRecordIdsBeforeLoad:null,_$selectAllCheckbox:null,_shiftKeyDown:!1,_create:function(){this.options.selecting&&this.options.selectingCheckboxes&&(++this._firstDataColumnOffset,this._bindKeyboardEvents()),t._create.apply(this,arguments)},_bindKeyboardEvents:function(){var t=this;e(document).keydown(function(e){switch(e.which){case 16:t._shiftKeyDown=!0}}).keyup(function(e){switch(e.which){case 16:t._shiftKeyDown=!1}})},selectedRows:function(){return this._getSelectedRows()},selectRows:function(e){this._selectRows(e),this._onSelectionChanged()},_addColumnsToHeaderRow:function(e){this.options.selecting&&this.options.selectingCheckboxes&&e.append(this.options.multiselect?this._createSelectAllHeader():this._createEmptyCommandHeader()),t._addColumnsToHeaderRow.apply(this,arguments)},_addCellsToRowUsingRecord:function(e){this.options.selecting&&this._makeRowSelectable(e),t._addCellsToRowUsingRecord.apply(this,arguments)},_onLoadingRecords:function(){this.options.selecting&&this._storeSelectionList(),t._onLoadingRecords.apply(this,arguments)},_onRecordsLoaded:function(){this.options.selecting&&this._restoreSelectionList(),t._onRecordsLoaded.apply(this,arguments)},_onRowsRemoved:function(e,o){this.options.selecting&&"reloading"!=o&&e.filter(".jtable-row-selected").length>0&&this._onSelectionChanged(),t._onRowsRemoved.apply(this,arguments)},_createSelectAllHeader:function(){var t=this,o=e('').addClass("jtable-command-column-header jtable-column-header-selecting");this._jqueryuiThemeAddClass(o,"ui-state-default");var i=e("
          ").addClass("jtable-column-header-container").appendTo(o);return t._$selectAllCheckbox=e('').appendTo(i).click(function(){if(t._$tableRows.length<=0)return void t._$selectAllCheckbox.attr("checked",!1);var e=t._$tableBody.find(">tr.jtable-data-row");t._$selectAllCheckbox.is(":checked")?t._selectRows(e):t._deselectRows(e),t._onSelectionChanged()}),o},_storeSelectionList:function(){var t=this;t.options.selecting&&(t._selectedRecordIdsBeforeLoad=[],t._getSelectedRows().each(function(){t._selectedRecordIdsBeforeLoad.push(t._getKeyValueOfRecord(e(this).data("record")))}))},_restoreSelectionList:function(){var t=this;if(t.options.selecting){for(var o=0,i=0;i-1&&(t._selectRows(t._$tableRows[i]),++o)}t._selectedRecordIdsBeforeLoad.length>0&&t._selectedRecordIdsBeforeLoad.length!=o&&t._onSelectionChanged(),t._selectedRecordIdsBeforeLoad=[],t._refreshSelectAllCheckboxState()}},_getSelectedRows:function(){return this._$tableBody.find(">tr.jtable-row-selected")},_makeRowSelectable:function(t){var o=this;if(o.options.selectOnRowClick&&t.click(function(){o._invertRowSelection(t)}),o.options.selectingCheckboxes){var i=e("").addClass("jtable-selecting-column"),a=e('').appendTo(i);o.options.selectOnRowClick||a.click(function(){o._invertRowSelection(t)}),t.append(i)}},_invertRowSelection:function(e){if(e.hasClass("jtable-row-selected"))this._deselectRows(e);else if(this._shiftKeyDown){var t=this._findRowIndex(e),o=this._findFirstSelectedRowIndexBeforeIndex(t)+1;if(o>0&&t>o)this._selectRows(this._$tableBody.find("tr").slice(o,t+1));else{var i=this._findFirstSelectedRowIndexAfterIndex(t)-1;this._selectRows(i>t?this._$tableBody.find("tr").slice(t,i+1):e)}}else this._selectRows(e);this._onSelectionChanged()},_findFirstSelectedRowIndexBeforeIndex:function(e){for(var t=e-1;t>=0;--t)if(this._$tableRows[t].hasClass("jtable-row-selected"))return t;return-1},_findFirstSelectedRowIndexAfterIndex:function(e){for(var t=e+1;ttd.jtable-selecting-column >input").prop("checked",!0),this._refreshSelectAllCheckboxState()},_deselectRows:function(e){e.removeClass("jtable-row-selected ui-state-highlight"),this.options.selectingCheckboxes&&e.find(">td.jtable-selecting-column >input").prop("checked",!1),this._refreshSelectAllCheckboxState()},_refreshSelectAllCheckboxState:function(){if(this.options.selectingCheckboxes&&this.options.multiselect){var e=this._$tableRows.length,t=this._getSelectedRows().length;0==t?(this._$selectAllCheckbox.prop("indeterminate",!1),this._$selectAllCheckbox.attr("checked",!1)):t==e?(this._$selectAllCheckbox.prop("indeterminate",!1),this._$selectAllCheckbox.attr("checked",!0)):(this._$selectAllCheckbox.attr("checked",!1),this._$selectAllCheckbox.prop("indeterminate",!0))}},_onSelectionChanged:function(){this._trigger("selectionChanged",null,{})}})}(jQuery),function(e){var t={load:e.hik.jtable.prototype.load,_create:e.hik.jtable.prototype._create,_setOption:e.hik.jtable.prototype._setOption,_createRecordLoadUrl:e.hik.jtable.prototype._createRecordLoadUrl,_addRowToTable:e.hik.jtable.prototype._addRowToTable,_addRow:e.hik.jtable.prototype._addRow,_removeRowsFromTable:e.hik.jtable.prototype._removeRowsFromTable,_onRecordsLoaded:e.hik.jtable.prototype._onRecordsLoaded};e.extend(!0,e.hik.jtable.prototype,{options:{paging:!1,pageList:"normal",pageSize:10,pageSizes:[10,25,50,100,250,500],pageSizeChangeArea:!0,gotoPageArea:"combobox",messages:{pagingInfo:"Showing {0}-{1} of {2}",pageSizeChangeLabel:"Row count",gotoPageLabel:"Go to page"}},_$bottomPanel:null,_$pagingListArea:null,_$pageSizeChangeArea:null,_$pageInfoSpan:null,_$gotoPageArea:null,_$gotoPageInput:null,_totalRecordCount:0,_currentPageNo:1,_create:function(){t._create.apply(this,arguments),this.options.paging&&(this._loadPagingSettings(),this._createBottomPanel(),this._createPageListArea(),this._createGotoPageInput(),this._createPageSizeSelection())},_loadPagingSettings:function(){if(this.options.saveUserPreferences){var e=this._getCookie("page-size");e&&(this.options.pageSize=this._normalizeNumber(e,1,1e6,this.options.pageSize))}},_createBottomPanel:function(){this._$bottomPanel=e("
          ").addClass("jtable-bottom-panel").insertAfter(this._$table),this._jqueryuiThemeAddClass(this._$bottomPanel,"ui-state-default"),e("
          ").addClass("jtable-left-area").appendTo(this._$bottomPanel),e("
          ").addClass("jtable-right-area").appendTo(this._$bottomPanel)},_createPageListArea:function(){this._$pagingListArea=e("").addClass("jtable-page-list").appendTo(this._$bottomPanel.find(".jtable-left-area")),this._$pageInfoSpan=e("").addClass("jtable-page-info").appendTo(this._$bottomPanel.find(".jtable-right-area"))},_createPageSizeSelection:function(){var t=this;if(t.options.pageSizeChangeArea){t._findIndexInArray(t.options.pageSize,t.options.pageSizes)<0&&(t.options.pageSizes.push(parseInt(t.options.pageSize)),t.options.pageSizes.sort(function(e,t){return e-t})),t._$pageSizeChangeArea=e("").addClass("jtable-page-size-change").appendTo(t._$bottomPanel.find(".jtable-left-area")),t._$pageSizeChangeArea.append(""+t.options.messages.pageSizeChangeLabel+": ");for(var o=e("").appendTo(t._$pageSizeChangeArea),i=0;i'+t.options.pageSizes[i]+"");o.val(t.options.pageSize),o.change(function(){t._changePageSize(parseInt(e(this).val()))})}},_createGotoPageInput:function(){var t=this;t.options.gotoPageArea&&"none"!=t.options.gotoPageArea&&(this._$gotoPageArea=e("").addClass("jtable-goto-page").appendTo(t._$bottomPanel.find(".jtable-left-area")),this._$gotoPageArea.append(""+t.options.messages.gotoPageLabel+": "),"combobox"==t.options.gotoPageArea?(t._$gotoPageInput=e("").appendTo(this._$gotoPageArea).data("pageCount",1).change(function(){t._changePage(parseInt(e(this).val()))}),t._$gotoPageInput.append('')):t._$gotoPageInput=e('').appendTo(this._$gotoPageArea).keypress(function(e){if(13==e.which)e.preventDefault(),t._changePage(parseInt(t._$gotoPageInput.val()));else if(43==e.which)e.preventDefault(),t._changePage(parseInt(t._$gotoPageInput.val())+1);else if(45==e.which)e.preventDefault(),t._changePage(parseInt(t._$gotoPageInput.val())-1);else{var o=471e4?o=100:t>5e3?o=10:t>2e3?o=5:t>1e3&&(o=2);for(var i=o;t>=i;i+=o)this._$gotoPageInput.append('");this._$gotoPageInput.data("pageCount",t)}}this._$gotoPageInput.val(this._currentPageNo)}},load:function(){this._currentPageNo=1,t.load.apply(this,arguments)},_setOption:function(e,o){t._setOption.apply(this,arguments),"pageSize"==e&&this._changePageSize(parseInt(o))},_changePageSize:function(e){if(e!=this.options.pageSize){this.options.pageSize=e;var t=this._calculatePageCount();this._currentPageNo>t&&(this._currentPageNo=t),this._currentPageNo<=0&&(this._currentPageNo=1);var o=this._$bottomPanel.find(".jtable-page-size-change select");if(o.length>0&&parseInt(o.val())!=e){var i=o.find("option[value="+e+"]");i.length>0&&o.val(e)}this._savePagingSettings(),this._reloadTable()}},_savePagingSettings:function(){this.options.saveUserPreferences&&this._setCookie("page-size",this.options.pageSize)},_createRecordLoadUrl:function(){var e=t._createRecordLoadUrl.apply(this,arguments);return e=this._addPagingInfoToUrl(e,this._currentPageNo)},_addRowToTable:function(e,o,i){return i&&this.options.paging?void this._reloadTable():void t._addRowToTable.apply(this,arguments)},_addRow:function(e,o){return o&&o.isNewRow&&this.options.paging?void this._reloadTable():void t._addRow.apply(this,arguments)},_removeRowsFromTable:function(){t._removeRowsFromTable.apply(this,arguments),this.options.paging&&(this._$tableRows.length<=0&&this._currentPageNo>1&&--this._currentPageNo,this._reloadTable())},_onRecordsLoaded:function(e){this.options.paging&&(this._totalRecordCount=e.TotalRecordCount,this._createPagingList(),this._createPagingInfo(),this._refreshGotoPageInput()),t._onRecordsLoaded.apply(this,arguments)},_addPagingInfoToUrl:function(e,t){if(!this.options.paging)return e;var o=(t-1)*this.options.pageSize,i=this.options.pageSize;return e+(e.indexOf("?")<0?"?":"&")+"jtStartIndex="+o+"&jtPageSize="+i},_createPagingList:function(){if(!(this.options.pageSize<=0||(this._$pagingListArea.empty(),this._totalRecordCount<=0))){var e=this._calculatePageCount();this._createFirstAndPreviousPageButtons(),"normal"==this.options.pageList&&this._createPageNumberButtons(this._calculatePageNumbers(e)),this._createLastAndNextPageButtons(e),this._bindClickEventsToPageNumberButtons()}},_createFirstAndPreviousPageButtons:function(){var t=e("").addClass("jtable-page-number-first").html("<<").data("pageNumber",1).appendTo(this._$pagingListArea),o=e("").addClass("jtable-page-number-previous").html("<").data("pageNumber",this._currentPageNo-1).appendTo(this._$pagingListArea);this._jqueryuiThemeAddClass(t,"ui-button ui-state-default","ui-state-hover"),this._jqueryuiThemeAddClass(o,"ui-button ui-state-default","ui-state-hover"),this._currentPageNo<=1&&(t.addClass("jtable-page-number-disabled"),o.addClass("jtable-page-number-disabled"),this._jqueryuiThemeAddClass(t,"ui-state-disabled"),this._jqueryuiThemeAddClass(o,"ui-state-disabled"))},_createLastAndNextPageButtons:function(t){var o=e("").addClass("jtable-page-number-next").html(">").data("pageNumber",this._currentPageNo+1).appendTo(this._$pagingListArea),i=e("").addClass("jtable-page-number-last").html(">>").data("pageNumber",t).appendTo(this._$pagingListArea);this._jqueryuiThemeAddClass(o,"ui-button ui-state-default","ui-state-hover"),this._jqueryuiThemeAddClass(i,"ui-button ui-state-default","ui-state-hover"),this._currentPageNo>=t&&(o.addClass("jtable-page-number-disabled"),i.addClass("jtable-page-number-disabled"),this._jqueryuiThemeAddClass(o,"ui-state-disabled"),this._jqueryuiThemeAddClass(i,"ui-state-disabled"))},_createPageNumberButtons:function(t){for(var o=0,i=0;i1&&e("").addClass("jtable-page-number-space").html("...").appendTo(this._$pagingListArea),this._createPageNumberButton(t[i]),o=t[i]},_createPageNumberButton:function(t){var o=e("").addClass("jtable-page-number").html(t).data("pageNumber",t).appendTo(this._$pagingListArea);this._jqueryuiThemeAddClass(o,"ui-button ui-state-default","ui-state-hover"),this._currentPageNo==t&&(o.addClass("jtable-page-number-active jtable-page-number-disabled"),this._jqueryuiThemeAddClass(o,"ui-state-active"))},_calculatePageCount:function(){var e=Math.floor(this._totalRecordCount/this.options.pageSize);return this._totalRecordCount%this.options.pageSize!=0&&++e,e},_calculatePageNumbers:function(e){if(4>=e){for(var t=[],o=1;e>=o;++o)t.push(o);return t}var i=[1,2,e-1,e],a=this._normalizeNumber(this._currentPageNo-1,1,e,1),n=this._normalizeNumber(this._currentPageNo+1,1,e,1);return this._insertToArrayIfDoesNotExists(i,a),this._insertToArrayIfDoesNotExists(i,this._currentPageNo),this._insertToArrayIfDoesNotExists(i,n),i.sort(function(e,t){return e-t}),i},_createPagingInfo:function(){if(this._totalRecordCount<=0)return void this._$pageInfoSpan.empty();var e=(this._currentPageNo-1)*this.options.pageSize+1,t=this._currentPageNo*this.options.pageSize;if(t=this._normalizeNumber(t,e,this._totalRecordCount,0),t>=e){var o=this._formatString(this.options.messages.pagingInfo,e,t,this._totalRecordCount);this._$pageInfoSpan.html(o)}},_bindClickEventsToPageNumberButtons:function(){var t=this;t._$pagingListArea.find(".jtable-page-number,.jtable-page-number-previous,.jtable-page-number-next,.jtable-page-number-first,.jtable-page-number-last").not(".jtable-page-number-disabled").click(function(o){o.preventDefault(),t._changePage(e(this).data("pageNumber"))})},_changePage:function(e){return e=this._normalizeNumber(e,1,this._calculatePageCount(),1),e==this._currentPageNo?void this._refreshGotoPageInput():(this._currentPageNo=e,void this._reloadTable())}})}(jQuery),function(e){var t={_initializeFields:e.hik.jtable.prototype._initializeFields,_normalizeFieldOptions:e.hik.jtable.prototype._normalizeFieldOptions,_createHeaderCellForField:e.hik.jtable.prototype._createHeaderCellForField,_createRecordLoadUrl:e.hik.jtable.prototype._createRecordLoadUrl};e.extend(!0,e.hik.jtable.prototype,{options:{sorting:!1,multiSorting:!1,defaultSorting:""},_lastSorting:null,_initializeFields:function(){t._initializeFields.apply(this,arguments),this._lastSorting=[],this.options.sorting&&this._buildDefaultSortingArray()},_normalizeFieldOptions:function(e,o){t._normalizeFieldOptions.apply(this,arguments),o.sorting=0!=o.sorting},_createHeaderCellForField:function(e,o){var i=t._createHeaderCellForField.apply(this,arguments);return this.options.sorting&&o.sorting&&this._makeColumnSortable(i,e),i},_createRecordLoadUrl:function(){var e=t._createRecordLoadUrl.apply(this,arguments);return e=this._addSortingInfoToUrl(e)},_buildDefaultSortingArray:function(){var t=this;e.each(t.options.defaultSorting.split(","),function(o,i){e.each(t.options.fields,function(e,o){if(o.sorting){var a=i.indexOf(e);a>-1&&t._lastSorting.push(i.toUpperCase().indexOf(" DESC",a)>-1?{fieldName:e,sortOrder:"DESC"}:{fieldName:e,sortOrder:"ASC"})}})})},_makeColumnSortable:function(t,o){var i=this;t.addClass("jtable-column-header-sortable").click(function(e){e.preventDefault(),i.options.multiSorting&&e.ctrlKey||(i._lastSorting=[]),i._sortTableByColumn(t)}),e.each(this._lastSorting,function(e,i){i.fieldName==o&&t.addClass("DESC"==i.sortOrder?"jtable-column-header-sorted-desc":"jtable-column-header-sorted-asc")})},_sortTableByColumn:function(e){0==this._lastSorting.length&&e.siblings().removeClass("jtable-column-header-sorted-asc jtable-column-header-sorted-desc");for(var t=0;to)return void this._logWarn('Column "'+e+'" does not exist in fields!');if(["visible","hidden","fixed"].indexOf(t)<0)return void this._logWarn('Visibility value is not valid: "'+t+'"! Options are: visible, hidden, fixed.');var i=this.options.fields[e];if(i.visibility!=t){var a=this._firstDataColumnOffset+o+1;"hidden"!=i.visibility&&"hidden"==t?this._$table.find(">thead >tr >th:nth-child("+a+"),>tbody >tr >td:nth-child("+a+")").hide():"hidden"==i.visibility&&"hidden"!=t&&this._$table.find(">thead >tr >th:nth-child("+a+"),>tbody >tr >td:nth-child("+a+")").show().css("display","table-cell"),i.visibility=t}},_createColumnSelection:function(){var t=this;this._$columnSelectionDiv=e("
          ").addClass("jtable-column-selection-container").appendTo(t._$mainContainer),this._$table.children("thead").bind("contextmenu",function(o){if(t.options.columnSelectable){o.preventDefault(),e("
          ").addClass("jtable-contextmenu-overlay").click(function(){e(this).remove(),t._$columnSelectionDiv.hide() +},updateRecord:function(t){var o=this;if(t=e.extend({clientOnly:!1,animationsEnabled:o.options.animationsEnabled,url:o.options.actions.updateAction,success:function(){},error:function(){}},t),!t.record)return void o._logWarn("options parameter in updateRecord method must contain a record property.");var i=o._getKeyValueOfRecord(t.record);if(void 0==i||null==i)return void o._logWarn("options parameter in updateRecord method must contain a record that contains the key field property.");var a=o.getRowByKey(i);return null==a?void o._logWarn("Can not found any row by key: "+i):t.clientOnly?(e.extend(a.data("record"),t.record),o._updateRowTexts(a),o._onRecordUpdated(a,null),t.animationsEnabled&&o._showUpdateAnimationForRow(a),void t.success()):void o._submitFormUsingAjax(t.url,e.param(t.record),function(i){return"OK"!=i.Result?(o._showError(i.Message),void t.error(i)):(e.extend(a.data("record"),t.record),o._updateRecordValuesFromServerResponse(a.data("record"),i),o._updateRowTexts(a),o._onRecordUpdated(a,i),t.animationsEnabled&&o._showUpdateAnimationForRow(a),void t.success(i))},function(){o._showError(o.options.messages.serverCommunicationError),t.error()})},_addColumnsToHeaderRow:function(e){t._addColumnsToHeaderRow.apply(this,arguments),void 0!=this.options.actions.updateAction&&e.append(this._createEmptyCommandHeader())},_addCellsToRowUsingRecord:function(o){var i=this;if(t._addCellsToRowUsingRecord.apply(this,arguments),void 0!=i.options.actions.updateAction){var a=e("").html(i.options.messages.editRecord),n=e('').addClass("jtable-command-button jtable-edit-command-button").append(a).click(function(e){e.preventDefault(),e.stopPropagation(),i._showEditForm(o)});e("").addClass("jtable-command-column").append(n).appendTo(o)}},_showEditForm:function(t){for(var o=this,i=t.data("record"),a=e('
          '),n=0;n
          ').appendTo(a);l.append(o._createInputLabelForRecordField(s));var c=o._getValueForRecordField(i,s);l.append(o._createInputForRecordField({fieldName:s,value:c,record:i,formType:"edit",form:a}))}else a.append(o._createInputForHidden(s,d))}o._makeCascadeDropDowns(a,i,"edit"),a.submit(function(){return o._onSaveClickedOnEditForm(),!1}),o._$editingRow=t,o.options.useBootstrap?(o._$editDiv.find(".modal-body").html(a),o._$editDiv.modal("show")):(o._$editDiv.append(a),o._$ediDiv.dialog("open")),o._trigger("formCreated",null,{form:a,formType:"edit",record:i,row:t})},_saveEditForm:function(e,t){var o=this;o._submitFormUsingAjax(o.options.actions.updateAction,e.serialize(),function(i){if("OK"!=i.Result)return o._showError(i.Message),void o._setEnabledOfDialogButton(o.options.useBootstrap,t,!0,o.options.messages.save);var a=o._$editingRow.data("record");o._updateRecordValuesFromForm(a,e),o._updateRecordValuesFromServerResponse(a,i),o._updateRowTexts(o._$editingRow),o._$editingRow.attr("data-record-key",o._getKeyValueOfRecord(a)),o._onRecordUpdated(o._$editingRow,i),o.options.animationsEnabled&&o._showUpdateAnimationForRow(o._$editingRow),o.options.useBootstrap?o._$editDiv.modal("hide"):o._$editDiv.dialog("close"),o._setEnabledOfDialogButton(o.options.useBootstrap,t,!0,o.options.messages.save)},function(){o._showError(o.options.messages.serverCommunicationError),o._setEnabledOfDialogButton(o.options.useBootstrap,t,!0,o.options.messages.save)})},_updateRecordValuesFromServerResponse:function(t,o){o&&o.Record&&e.extend(!0,t,o.Record)},_getValueForRecordField:function(e,t){var o=this.options.fields[t],i=e[t];return"date"==o.type?this._getDisplayTextForDateRecordField(o,i):i},_updateRowTexts:function(e){for(var t=e.data("record"),o=e.find("td"),i=0;i").appendTo(t._$mainContainer),t.options.useBootstrap){t._$deleteRecordDiv.addClass("modal hide fade"),t._$deleteRecordDiv.append('"),t._$deleteRecordDiv.modal({show:!1}),t._$deleteRecordDiv.find("#DeleteDialogButton").click(function(){if(t._$deletingRow.hasClass("jtable-row-removed"))return void t._$deleteRecordDiv.dialog("close");var o=e(this);t._setEnabledOfDialogButton(t.options.useBootstrap,o,!1,t.options.messages.deleting),t._deleteRecordFromServer(t._$deletingRow,function(){t._removeRowsFromTableWithAnimation(t._$deletingRow),t._$deleteRecordDiv.modal("hide")},function(e){t._showError(e),t._setEnabledOfDialogButton(t.options.useBootstrap,o,!0,t.options.messages.deleteText)})});var o=t._getHiddenEvent();t._$deleteRecordDiv.on(o,function(){var o=e(this).find("#DeleteDialogButton");t._setEnabledOfDialogButton(t.options.useBootstrap,o,!0,t.options.messages.deleteText)})}else t._$deleteRecordDiv.append('

          '),t._$deleteRecordDiv.dialog({autoOpen:!1,show:t.options.dialogShowEffect,hide:t.options.dialogHideEffect,modal:!0,title:t.options.messages.areYouSure,buttons:[{text:t.options.messages.cancel,click:function(){t._$deleteRecordDiv.dialog("close")}},{id:"DeleteDialogButton",text:t.options.messages.deleteText,click:function(){if(t._$deletingRow.hasClass("jtable-row-removed"))return void t._$deleteRecordDiv.dialog("close");var o=e("#DeleteDialogButton");t._setEnabledOfDialogButton(t.options.useBootstrap,o,!1,t.options.messages.deleting),t._deleteRecordFromServer(t._$deletingRow,function(){t._removeRowsFromTableWithAnimation(t._$deletingRow),t._$deleteRecordDiv.dialog("close")},function(e){t._showError(e),t._setEnabledOfDialogButton(t.options.useBootstrap,o,!0,t.options.messages.deleteText)})}}],close:function(){var o=e("#DeleteDialogButton");t._setEnabledOfDialogButton(t.options.useBootstrap,o,!0,t.options.messages.deleteText)}})},deleteRows:function(t){var o=this;if(t.length<=0)return void o._logWarn("No rows specified to jTable deleteRows method.");if(o._isBusy())return void o._logWarn("Can not delete rows since jTable is busy!");if(1==t.length)return void o._deleteRecordFromServer(t,function(){o._removeRowsFromTableWithAnimation(t)},function(e){o._showError(e)});o._showBusy(o._formatString(o.options.messages.deleteProggress,0,t.length));var i=0,a=function(){return i>=t.length},n=function(){var e=t.filter(".jtable-row-ready-to-remove");e.length0&&o._removeRowsFromTableWithAnimation(e),o._hideBusy()},s=0;t.each(function(){var r=e(this);o._deleteRecordFromServer(r,function(){++s,++i,r.addClass("jtable-row-ready-to-remove"),o._showBusy(o._formatString(o.options.messages.deleteProggress,s,t.length)),a()&&n()},function(){++i,a()&&n()})})},deleteRecord:function(t){var o=this;if(t=e.extend({clientOnly:!1,animationsEnabled:o.options.animationsEnabled,url:o.options.actions.deleteAction,success:function(){},error:function(){}},t),void 0==t.key)return void o._logWarn("options parameter in deleteRecord method must contain a key property.");var i=o.getRowByKey(t.key);return null==i?void o._logWarn("Can not found any row by key: "+t.key):t.clientOnly?(o._removeRowsFromTableWithAnimation(i,t.animationsEnabled),void t.success()):void o._deleteRecordFromServer(i,function(e){o._removeRowsFromTableWithAnimation(i,t.animationsEnabled),t.success(e)},function(e){o._showError(e),t.error(e)},t.url)},_addColumnsToHeaderRow:function(e){t._addColumnsToHeaderRow.apply(this,arguments),void 0!=this.options.actions.deleteAction&&e.append(this._createEmptyCommandHeader())},_addCellsToRowUsingRecord:function(o){t._addCellsToRowUsingRecord.apply(this,arguments);var i=this;if(void 0!=i.options.actions.deleteAction){var a=e("").html(i.options.messages.deleteText),n=e('').addClass("jtable-command-button jtable-delete-command-button").append(a).click(function(e){e.preventDefault(),e.stopPropagation(),i._deleteButtonClickedForRow(o)});e("").addClass("jtable-command-column").append(n).appendTo(o)}},_deleteButtonClickedForRow:function(t){var o,i=this,a=i.options.messages.deleteConfirmation;if(e.isFunction(i.options.deleteConfirmation)){var n={row:t,record:t.data("record"),deleteConfirm:!0,deleteConfirmMessage:a,cancel:!1,cancelMessage:null};if(i.options.deleteConfirmation(n),n.cancel)return void(n.cancelMessage&&i._showError(n.cancelMessage));a=n.deleteConfirmMessage,o=n.deleteConfirm}else o=i.options.deleteConfirmation;0!=o?(i.options.useBootstrap?i._$deleteRecordDiv.find(".modal-body").html(a):i._$deleteRecordDiv.find(".jtable-delete-confirm-message").html(a),i._showDeleteDialog(t)):i._deleteRecordFromServer(t,function(){i._removeRowsFromTableWithAnimation(t)},function(e){i._showError(e)})},_showDeleteDialog:function(e){this._$deletingRow=e,this.options.useBootstrap?this._$deleteRecordDiv.modal("show"):this._$deleteRecordDiv.dialog("open")},_deleteRecordFromServer:function(e,t,o,i){var a=this;if(1!=e.data("deleting")){e.data("deleting",!0);var n={};n[a._keyField]=a._getKeyValueOfRecord(e.data("record")),this._ajax({url:i||a.options.actions.deleteAction,data:n,success:function(i){return"OK"!=i.Result?(e.data("deleting",!1),void(o&&o(i.Message))):(a._trigger("recordDeleted",null,{record:e.data("record"),row:e,serverResponse:i}),void(t&&t(i)))},error:function(){e.data("deleting",!1),o&&o(a.options.messages.serverCommunicationError)}})}},_removeRowsFromTableWithAnimation:function(e,t){var o=this;if(void 0==t&&(t=o.options.animationsEnabled),t){var i="jtable-row-deleting";this.options.jqueryuiTheme&&(i+=" ui-state-disabled"),e.stop(!0,!0).addClass(i,"slow","").promise().done(function(){o._removeRowsFromTable(e,"deleted")})}else o._removeRowsFromTable(e,"deleted")}})}(jQuery),function(e){var t={_create:e.hik.jtable.prototype._create,_addColumnsToHeaderRow:e.hik.jtable.prototype._addColumnsToHeaderRow,_addCellsToRowUsingRecord:e.hik.jtable.prototype._addCellsToRowUsingRecord,_onLoadingRecords:e.hik.jtable.prototype._onLoadingRecords,_onRecordsLoaded:e.hik.jtable.prototype._onRecordsLoaded,_onRowsRemoved:e.hik.jtable.prototype._onRowsRemoved};e.extend(!0,e.hik.jtable.prototype,{options:{selecting:!1,multiselect:!1,selectingCheckboxes:!1,selectOnRowClick:!0,selectionChanged:function(){}},_selectedRecordIdsBeforeLoad:null,_$selectAllCheckbox:null,_shiftKeyDown:!1,_create:function(){this.options.selecting&&this.options.selectingCheckboxes&&(++this._firstDataColumnOffset,this._bindKeyboardEvents()),t._create.apply(this,arguments)},_bindKeyboardEvents:function(){var t=this;e(document).keydown(function(e){switch(e.which){case 16:t._shiftKeyDown=!0}}).keyup(function(e){switch(e.which){case 16:t._shiftKeyDown=!1}})},selectedRows:function(){return this._getSelectedRows()},selectRows:function(e){this._selectRows(e),this._onSelectionChanged()},_addColumnsToHeaderRow:function(e){this.options.selecting&&this.options.selectingCheckboxes&&e.append(this.options.multiselect?this._createSelectAllHeader():this._createEmptyCommandHeader()),t._addColumnsToHeaderRow.apply(this,arguments)},_addCellsToRowUsingRecord:function(e){this.options.selecting&&this._makeRowSelectable(e),t._addCellsToRowUsingRecord.apply(this,arguments)},_onLoadingRecords:function(){this.options.selecting&&this._storeSelectionList(),t._onLoadingRecords.apply(this,arguments)},_onRecordsLoaded:function(){this.options.selecting&&this._restoreSelectionList(),t._onRecordsLoaded.apply(this,arguments)},_onRowsRemoved:function(e,o){this.options.selecting&&"reloading"!=o&&e.filter(".jtable-row-selected").length>0&&this._onSelectionChanged(),t._onRowsRemoved.apply(this,arguments)},_createSelectAllHeader:function(){var t=this,o=e('').addClass("jtable-command-column-header jtable-column-header-selecting");this._jqueryuiThemeAddClass(o,"ui-state-default");var i=e("
          ").addClass("jtable-column-header-container").appendTo(o);return t._$selectAllCheckbox=e('').appendTo(i).click(function(){if(t._$tableRows.length<=0)return void t._$selectAllCheckbox.attr("checked",!1);var e=t._$tableBody.find(">tr.jtable-data-row");t._$selectAllCheckbox.is(":checked")?t._selectRows(e):t._deselectRows(e),t._onSelectionChanged()}),o},_storeSelectionList:function(){var t=this;t.options.selecting&&(t._selectedRecordIdsBeforeLoad=[],t._getSelectedRows().each(function(){t._selectedRecordIdsBeforeLoad.push(t._getKeyValueOfRecord(e(this).data("record")))}))},_restoreSelectionList:function(){var t=this;if(t.options.selecting){for(var o=0,i=0;i-1&&(t._selectRows(t._$tableRows[i]),++o)}t._selectedRecordIdsBeforeLoad.length>0&&t._selectedRecordIdsBeforeLoad.length!=o&&t._onSelectionChanged(),t._selectedRecordIdsBeforeLoad=[],t._refreshSelectAllCheckboxState()}},_getSelectedRows:function(){return this._$tableBody.find(">tr.jtable-row-selected")},_makeRowSelectable:function(t){var o=this;if(o.options.selectOnRowClick&&t.click(function(){o._invertRowSelection(t)}),o.options.selectingCheckboxes){var i=e("").addClass("jtable-selecting-column"),a=e('').appendTo(i);o.options.selectOnRowClick||a.click(function(){o._invertRowSelection(t)}),t.append(i)}},_invertRowSelection:function(e){if(e.hasClass("jtable-row-selected"))this._deselectRows(e);else if(this._shiftKeyDown){var t=this._findRowIndex(e),o=this._findFirstSelectedRowIndexBeforeIndex(t)+1;if(o>0&&t>o)this._selectRows(this._$tableBody.find("tr").slice(o,t+1));else{var i=this._findFirstSelectedRowIndexAfterIndex(t)-1;this._selectRows(i>t?this._$tableBody.find("tr").slice(t,i+1):e)}}else this._selectRows(e);this._onSelectionChanged()},_findFirstSelectedRowIndexBeforeIndex:function(e){for(var t=e-1;t>=0;--t)if(this._$tableRows[t].hasClass("jtable-row-selected"))return t;return-1},_findFirstSelectedRowIndexAfterIndex:function(e){for(var t=e+1;ttd.jtable-selecting-column >input").prop("checked",!0),this._refreshSelectAllCheckboxState()},_deselectRows:function(e){e.removeClass("jtable-row-selected ui-state-highlight"),this.options.selectingCheckboxes&&e.find(">td.jtable-selecting-column >input").prop("checked",!1),this._refreshSelectAllCheckboxState()},_refreshSelectAllCheckboxState:function(){if(this.options.selectingCheckboxes&&this.options.multiselect){var e=this._$tableRows.length,t=this._getSelectedRows().length;0==t?(this._$selectAllCheckbox.prop("indeterminate",!1),this._$selectAllCheckbox.attr("checked",!1)):t==e?(this._$selectAllCheckbox.prop("indeterminate",!1),this._$selectAllCheckbox.attr("checked",!0)):(this._$selectAllCheckbox.attr("checked",!1),this._$selectAllCheckbox.prop("indeterminate",!0))}},_onSelectionChanged:function(){this._trigger("selectionChanged",null,{})}})}(jQuery),function(e){var t={load:e.hik.jtable.prototype.load,_create:e.hik.jtable.prototype._create,_setOption:e.hik.jtable.prototype._setOption,_createRecordLoadUrl:e.hik.jtable.prototype._createRecordLoadUrl,_addRowToTable:e.hik.jtable.prototype._addRowToTable,_addRow:e.hik.jtable.prototype._addRow,_removeRowsFromTable:e.hik.jtable.prototype._removeRowsFromTable,_onRecordsLoaded:e.hik.jtable.prototype._onRecordsLoaded};e.extend(!0,e.hik.jtable.prototype,{options:{paging:!1,pageList:"normal",pageSize:10,pageSizes:[10,25,50,100,250,500],pageSizeChangeArea:!0,gotoPageArea:"combobox",messages:{pagingInfo:"Showing {0}-{1} of {2}",pageSizeChangeLabel:"Row count",gotoPageLabel:"Go to page"}},_$bottomPanel:null,_$pagingListArea:null,_$pageSizeChangeArea:null,_$pageInfoSpan:null,_$gotoPageArea:null,_$gotoPageInput:null,_totalRecordCount:0,_currentPageNo:1,_create:function(){t._create.apply(this,arguments),this.options.paging&&(this._loadPagingSettings(),this._createBottomPanel(),this._createPageListArea(),this._createGotoPageInput(),this._createPageSizeSelection())},_loadPagingSettings:function(){if(this.options.saveUserPreferences){var e=this._getCookie("page-size");e&&(this.options.pageSize=this._normalizeNumber(e,1,1e6,this.options.pageSize))}},_createBottomPanel:function(){this._$bottomPanel=e("
          ").addClass("jtable-bottom-panel").insertAfter(this._$table),this._jqueryuiThemeAddClass(this._$bottomPanel,"ui-state-default"),e("
          ").addClass("jtable-left-area").appendTo(this._$bottomPanel),e("
          ").addClass("jtable-right-area").appendTo(this._$bottomPanel)},_createPageListArea:function(){this._$pagingListArea=e("").addClass("jtable-page-list").appendTo(this._$bottomPanel.find(".jtable-left-area")),this._$pageInfoSpan=e("").addClass("jtable-page-info").appendTo(this._$bottomPanel.find(".jtable-right-area"))},_createPageSizeSelection:function(){var t=this;if(t.options.pageSizeChangeArea){t._findIndexInArray(t.options.pageSize,t.options.pageSizes)<0&&(t.options.pageSizes.push(parseInt(t.options.pageSize)),t.options.pageSizes.sort(function(e,t){return e-t})),t._$pageSizeChangeArea=e("").addClass("jtable-page-size-change").appendTo(t._$bottomPanel.find(".jtable-left-area")),t._$pageSizeChangeArea.append(""+t.options.messages.pageSizeChangeLabel+": ");for(var o=e("").appendTo(t._$pageSizeChangeArea),i=0;i'+t.options.pageSizes[i]+"");o.val(t.options.pageSize),o.change(function(){t._changePageSize(parseInt(e(this).val()))})}},_createGotoPageInput:function(){var t=this;t.options.gotoPageArea&&"none"!=t.options.gotoPageArea&&(this._$gotoPageArea=e("").addClass("jtable-goto-page").appendTo(t._$bottomPanel.find(".jtable-left-area")),this._$gotoPageArea.append(""+t.options.messages.gotoPageLabel+": "),"combobox"==t.options.gotoPageArea?(t._$gotoPageInput=e("").appendTo(this._$gotoPageArea).data("pageCount",1).change(function(){t._changePage(parseInt(e(this).val()))}),t._$gotoPageInput.append('')):t._$gotoPageInput=e('').appendTo(this._$gotoPageArea).keypress(function(e){if(13==e.which)e.preventDefault(),t._changePage(parseInt(t._$gotoPageInput.val()));else if(43==e.which)e.preventDefault(),t._changePage(parseInt(t._$gotoPageInput.val())+1);else if(45==e.which)e.preventDefault(),t._changePage(parseInt(t._$gotoPageInput.val())-1);else{var o=471e4?o=100:t>5e3?o=10:t>2e3?o=5:t>1e3&&(o=2);for(var i=o;t>=i;i+=o)this._$gotoPageInput.append('");this._$gotoPageInput.data("pageCount",t)}}this._$gotoPageInput.val(this._currentPageNo)}},load:function(){this._currentPageNo=1,t.load.apply(this,arguments)},_setOption:function(e,o){t._setOption.apply(this,arguments),"pageSize"==e&&this._changePageSize(parseInt(o))},_changePageSize:function(e){if(e!=this.options.pageSize){this.options.pageSize=e;var t=this._calculatePageCount();this._currentPageNo>t&&(this._currentPageNo=t),this._currentPageNo<=0&&(this._currentPageNo=1);var o=this._$bottomPanel.find(".jtable-page-size-change select");if(o.length>0&&parseInt(o.val())!=e){var i=o.find("option[value="+e+"]");i.length>0&&o.val(e)}this._savePagingSettings(),this._reloadTable()}},_savePagingSettings:function(){this.options.saveUserPreferences&&this._setCookie("page-size",this.options.pageSize)},_createRecordLoadUrl:function(){var e=t._createRecordLoadUrl.apply(this,arguments);return e=this._addPagingInfoToUrl(e,this._currentPageNo)},_addRowToTable:function(e,o,i){return i&&this.options.paging?void this._reloadTable():void t._addRowToTable.apply(this,arguments)},_addRow:function(e,o){return o&&o.isNewRow&&this.options.paging?void this._reloadTable():void t._addRow.apply(this,arguments)},_removeRowsFromTable:function(){t._removeRowsFromTable.apply(this,arguments),this.options.paging&&(this._$tableRows.length<=0&&this._currentPageNo>1&&--this._currentPageNo,this._reloadTable())},_onRecordsLoaded:function(e){this.options.paging&&(this._totalRecordCount=e.TotalRecordCount,this._createPagingList(),this._createPagingInfo(),this._refreshGotoPageInput()),t._onRecordsLoaded.apply(this,arguments)},_addPagingInfoToUrl:function(e,t){if(!this.options.paging)return e;var o=(t-1)*this.options.pageSize,i=this.options.pageSize;return e+(e.indexOf("?")<0?"?":"&")+"jtStartIndex="+o+"&jtPageSize="+i},_createPagingList:function(){if(!(this.options.pageSize<=0||(this._$pagingListArea.empty(),this._totalRecordCount<=0))){var e=this._calculatePageCount();this._createFirstAndPreviousPageButtons(),"normal"==this.options.pageList&&this._createPageNumberButtons(this._calculatePageNumbers(e)),this._createLastAndNextPageButtons(e),this._bindClickEventsToPageNumberButtons()}},_createFirstAndPreviousPageButtons:function(){var t=e("").addClass("jtable-page-number-first").html("<<").data("pageNumber",1).appendTo(this._$pagingListArea),o=e("").addClass("jtable-page-number-previous").html("<").data("pageNumber",this._currentPageNo-1).appendTo(this._$pagingListArea);this._jqueryuiThemeAddClass(t,"ui-button ui-state-default","ui-state-hover"),this._jqueryuiThemeAddClass(o,"ui-button ui-state-default","ui-state-hover"),this._currentPageNo<=1&&(t.addClass("jtable-page-number-disabled"),o.addClass("jtable-page-number-disabled"),this._jqueryuiThemeAddClass(t,"ui-state-disabled"),this._jqueryuiThemeAddClass(o,"ui-state-disabled"))},_createLastAndNextPageButtons:function(t){var o=e("").addClass("jtable-page-number-next").html(">").data("pageNumber",this._currentPageNo+1).appendTo(this._$pagingListArea),i=e("").addClass("jtable-page-number-last").html(">>").data("pageNumber",t).appendTo(this._$pagingListArea);this._jqueryuiThemeAddClass(o,"ui-button ui-state-default","ui-state-hover"),this._jqueryuiThemeAddClass(i,"ui-button ui-state-default","ui-state-hover"),this._currentPageNo>=t&&(o.addClass("jtable-page-number-disabled"),i.addClass("jtable-page-number-disabled"),this._jqueryuiThemeAddClass(o,"ui-state-disabled"),this._jqueryuiThemeAddClass(i,"ui-state-disabled"))},_createPageNumberButtons:function(t){for(var o=0,i=0;i1&&e("").addClass("jtable-page-number-space").html("...").appendTo(this._$pagingListArea),this._createPageNumberButton(t[i]),o=t[i]},_createPageNumberButton:function(t){var o=e("").addClass("jtable-page-number").html(t).data("pageNumber",t).appendTo(this._$pagingListArea);this._jqueryuiThemeAddClass(o,"ui-button ui-state-default","ui-state-hover"),this._currentPageNo==t&&(o.addClass("jtable-page-number-active jtable-page-number-disabled"),this._jqueryuiThemeAddClass(o,"ui-state-active"))},_calculatePageCount:function(){var e=Math.floor(this._totalRecordCount/this.options.pageSize);return this._totalRecordCount%this.options.pageSize!=0&&++e,e},_calculatePageNumbers:function(e){if(4>=e){for(var t=[],o=1;e>=o;++o)t.push(o);return t}var i=[1,2,e-1,e],a=this._normalizeNumber(this._currentPageNo-1,1,e,1),n=this._normalizeNumber(this._currentPageNo+1,1,e,1);return this._insertToArrayIfDoesNotExists(i,a),this._insertToArrayIfDoesNotExists(i,this._currentPageNo),this._insertToArrayIfDoesNotExists(i,n),i.sort(function(e,t){return e-t}),i},_createPagingInfo:function(){if(this._totalRecordCount<=0)return void this._$pageInfoSpan.empty();var e=(this._currentPageNo-1)*this.options.pageSize+1,t=this._currentPageNo*this.options.pageSize;if(t=this._normalizeNumber(t,e,this._totalRecordCount,0),t>=e){var o=this._formatString(this.options.messages.pagingInfo,e,t,this._totalRecordCount);this._$pageInfoSpan.html(o)}},_bindClickEventsToPageNumberButtons:function(){var t=this;t._$pagingListArea.find(".jtable-page-number,.jtable-page-number-previous,.jtable-page-number-next,.jtable-page-number-first,.jtable-page-number-last").not(".jtable-page-number-disabled").click(function(o){o.preventDefault(),t._changePage(e(this).data("pageNumber"))})},_changePage:function(e){return e=this._normalizeNumber(e,1,this._calculatePageCount(),1),e==this._currentPageNo?void this._refreshGotoPageInput():(this._currentPageNo=e,void this._reloadTable())}})}(jQuery),function(e){var t={_initializeFields:e.hik.jtable.prototype._initializeFields,_normalizeFieldOptions:e.hik.jtable.prototype._normalizeFieldOptions,_createHeaderCellForField:e.hik.jtable.prototype._createHeaderCellForField,_createRecordLoadUrl:e.hik.jtable.prototype._createRecordLoadUrl};e.extend(!0,e.hik.jtable.prototype,{options:{sorting:!1,multiSorting:!1,defaultSorting:""},_lastSorting:null,_initializeFields:function(){t._initializeFields.apply(this,arguments),this._lastSorting=[],this.options.sorting&&this._buildDefaultSortingArray()},_normalizeFieldOptions:function(e,o){t._normalizeFieldOptions.apply(this,arguments),o.sorting=0!=o.sorting},_createHeaderCellForField:function(e,o){var i=t._createHeaderCellForField.apply(this,arguments);return this.options.sorting&&o.sorting&&this._makeColumnSortable(i,e),i},_createRecordLoadUrl:function(){var e=t._createRecordLoadUrl.apply(this,arguments);return e=this._addSortingInfoToUrl(e)},_buildDefaultSortingArray:function(){var t=this;e.each(t.options.defaultSorting.split(","),function(o,i){e.each(t.options.fields,function(e,o){if(o.sorting){var a=i.indexOf(e);a>-1&&t._lastSorting.push(i.toUpperCase().indexOf(" DESC",a)>-1?{fieldName:e,sortOrder:"DESC"}:{fieldName:e,sortOrder:"ASC"})}})})},_makeColumnSortable:function(t,o){var i=this;t.addClass("jtable-column-header-sortable").click(function(e){e.preventDefault(),i.options.multiSorting&&e.ctrlKey||(i._lastSorting=[]),i._sortTableByColumn(t)}),e.each(this._lastSorting,function(e,i){i.fieldName==o&&t.addClass("DESC"==i.sortOrder?"jtable-column-header-sorted-desc":"jtable-column-header-sorted-asc")})},_sortTableByColumn:function(e){0==this._lastSorting.length&&e.siblings().removeClass("jtable-column-header-sorted-asc jtable-column-header-sorted-desc");for(var t=0;to)return void this._logWarn('Column "'+e+'" does not exist in fields!');if(["visible","hidden","fixed"].indexOf(t)<0)return void this._logWarn('Visibility value is not valid: "'+t+'"! Options are: visible, hidden, fixed.');var i=this.options.fields[e];if(i.visibility!=t){var a=this._firstDataColumnOffset+o+1;"hidden"!=i.visibility&&"hidden"==t?this._$table.find(">thead >tr >th:nth-child("+a+"),>tbody >tr >td:nth-child("+a+")").hide():"hidden"==i.visibility&&"hidden"!=t&&this._$table.find(">thead >tr >th:nth-child("+a+"),>tbody >tr >td:nth-child("+a+")").show().css("display","table-cell"),i.visibility=t}},_createColumnSelection:function(){var t=this;this._$columnSelectionDiv=e("
          ").addClass("jtable-column-selection-container").appendTo(t._$mainContainer),this._$table.children("thead").bind("contextmenu",function(o){if(t.options.columnSelectable){o.preventDefault(),e("
          ").addClass("jtable-contextmenu-overlay").click(function(){e(this).remove(),t._$columnSelectionDiv.hide() }).bind("contextmenu",function(){return!1}).appendTo(document.body),t._fillColumnSelection();var i=t._$mainContainer.offset(),a=o.pageY-i.top,n=o.pageX-i.left,s=100,r=t._$mainContainer.width();r>s&&n>r-s&&(n=r-s),t._$columnSelectionDiv.css({left:n,top:a,"min-width":s+"px"}).show()}})},_fillColumnSelection:function(){for(var t=this,o=e("
            ").addClass("jtable-column-select-list"),i=0;i").appendTo(o),r=e('').append(e(""+(n.title||a)+"")).appendTo(s),d=e('').prependTo(r).click(function(){var o=e(this),i=o.attr("name"),a=t.options.fields[i];"fixed"!=a.visibility&&t.changeColumnVisibility(i,o.is(":checked")?"visible":"hidden")});"hidden"!=n.visibility&&d.attr("checked","checked"),"fixed"==n.visibility&&d.attr("disabled","disabled")}this._$columnSelectionDiv.html(o)},_createColumnResizeBar:function(){this._$columnResizeBar=e("
            ").addClass("jtable-column-resize-bar").appendTo(this._$mainContainer).hide()},_makeColumnResizable:function(t){var o=this;e("
            ").addClass("jtable-column-resize-handler").appendTo(t.find(".jtable-column-header-container")).mousedown(function(i){i.preventDefault(),i.stopPropagation();var a=o._$mainContainer.offset(),n=t.nextAll("th.jtable-column-header:visible:first");if(n.length){var s=10;o._currentResizeArgs={currentColumnStartWidth:t.outerWidth(),minWidth:s,maxWidth:t.outerWidth()+n.outerWidth()-s,mouseStartX:i.pageX,minResizeX:function(){return this.mouseStartX-(this.currentColumnStartWidth-this.minWidth)},maxResizeX:function(){return this.mouseStartX+(this.maxWidth-this.currentColumnStartWidth)}};var r=function(e){if(o._currentResizeArgs){var t=o._normalizeNumber(e.pageX,o._currentResizeArgs.minResizeX(),o._currentResizeArgs.maxResizeX());o._$columnResizeBar.css("left",t-a.left+"px")}},d=function(i){if(o._currentResizeArgs){e(document).unbind("mousemove",r),e(document).unbind("mouseup",d),o._$columnResizeBar.hide();var a=i.pageX-o._currentResizeArgs.mouseStartX,s=o._normalizeNumber(o._currentResizeArgs.currentColumnStartWidth+a,o._currentResizeArgs.minWidth,o._currentResizeArgs.maxWidth),l=n.outerWidth()+(o._currentResizeArgs.currentColumnStartWidth-s),c=t.data("width-in-percent")/o._currentResizeArgs.currentColumnStartWidth;t.data("width-in-percent",s*c),n.data("width-in-percent",l*c),t.css("width",t.data("width-in-percent")+"%"),n.css("width",n.data("width-in-percent")+"%"),o._normalizeColumnWidths(),o._currentResizeArgs=null,o.options.saveUserPreferences&&o._saveColumnSettings()}};o._$columnResizeBar.show().css({top:t.offset().top-a.top+"px",left:i.pageX-a.left+"px",height:o._$table.outerHeight()+"px"}),e(document).bind("mousemove",r),e(document).bind("mouseup",d)}})},_normalizeColumnWidths:function(){var t=this._$table.find(">thead th.jtable-command-column-header").data("width-in-percent",1).css("width","1%"),o=this._$table.find(">thead th.jtable-column-header"),i=0;o.each(function(){var t=e(this);t.is(":visible")&&(i+=t.outerWidth())});var a={},n=100-t.length;o.each(function(){var t=e(this);if(t.is(":visible")){var o=t.data("fieldName"),s=t.outerWidth()*n/i;a[o]=s}}),o.each(function(){var t=e(this);if(t.is(":visible")){var o=t.data("fieldName");t.data("width-in-percent",a[o]).css("width",a[o]+"%")}})},_saveColumnSettings:function(){var t=this,o="";this._$table.find(">thead >tr >th.jtable-column-header").each(function(){var i=e(this),a=i.data("fieldName"),n=i.data("width-in-percent"),s=t.options.fields[a].visibility,r=a+"="+s+";"+n;o=o+r+"|"}),this._setCookie("column-settings",o.substr(0,o.length-1))},_loadColumnSettings:function(){var t=this,o=this._getCookie("column-settings");if(o){var i={};e.each(o.split("|"),function(e,t){var o=t.split("="),a=o[0],n=o[1].split(";");i[a]={columnVisibility:n[0],columnWidth:n[1]}});var a=this._$table.find(">thead >tr >th.jtable-column-header");a.each(function(){var o=e(this),a=o.data("fieldName"),n=t.options.fields[a];i[a]&&("fixed"!=n.visibility&&t._changeColumnVisibilityInternal(a,i[a].columnVisibility),o.data("width-in-percent",i[a].columnWidth).css("width",i[a].columnWidth+"%"))})}}})}(jQuery),function(e){var t={_removeRowsFromTable:e.hik.jtable.prototype._removeRowsFromTable};e.extend(!0,e.hik.jtable.prototype,{options:{openChildAsAccordion:!1},openChildTable:function(t,o,i){var a=this;void 0==o.jqueryuiTheme&&(o.jqueryuiTheme=a.options.jqueryuiTheme),o.showCloseButton=0!=o.showCloseButton,o.showCloseButton&&!o.closeRequested&&(o.closeRequested=function(){a.closeChildTable(t)}),a.options.openChildAsAccordion&&t.siblings(".jtable-data-row").each(function(){a.closeChildTable(e(this))}),a.closeChildTable(t,function(){var n=a.getChildRow(t).children("td").empty(),s=e("
            ").addClass("jtable-child-table-container").appendTo(n);n.data("childTable",s),s.jtable(o),a.openChildRow(t),s.hide().slideDown("fast",function(){i&&i({childTable:s})})})},closeChildTable:function(e,t){var o=this,i=this.getChildRow(e).children("td"),a=i.data("childTable");return a?(i.data("childTable",null),void a.slideUp("fast",function(){a.jtable("destroy"),a.remove(),o.closeChildRow(e),t&&t()})):void(t&&t())},isChildRowOpen:function(e){return this.getChildRow(e).is(":visible")},getChildRow:function(e){return e.data("childRow")||this._createChildRow(e)},openChildRow:function(e){var t=this.getChildRow(e);return t.is(":visible")||t.show(),t},closeChildRow:function(e){var t=this.getChildRow(e);t.is(":visible")&&t.hide()},_removeRowsFromTable:function(o,i){"deleted"==i&&o.each(function(){var t=e(this),o=t.data("childRow");o&&o.remove()}),t._removeRowsFromTable.apply(this,arguments)},_createChildRow:function(t){var o=this._$table.find("thead th").length,i=e("").addClass("jtable-child-row").append('');return t.after(i),t.data("childRow",i),i.hide(),i}})}(jQuery); \ No newline at end of file