jsxgrid 2.2.0 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -0
- package/dist/fields/jsgrid.field.XDateTimeField.min.js +2 -2
- package/dist/fields/jsgrid.field.XRowSelectField.min.js +2 -2
- package/dist/fields/jsgrid.field.Xcheckbox.min.js +2 -2
- package/dist/fields/jsgrid.field.Xcontrol.min.js +2 -2
- package/dist/fields/jsgrid.field.XimgField.min.js +2 -2
- package/dist/fields/jsgrid.field.Xjsoneditor.min.js +2 -2
- package/dist/fields/jsgrid.field.Xnumber.min.js +2 -2
- package/dist/fields/jsgrid.field.Xselect.min.js +2 -2
- package/dist/fields/jsgrid.field.Xtext.min.js +2 -2
- package/dist/fields/jsgrid.field.Xtextarea.min.js +2 -2
- package/dist/fields/lib/jsGridSummaryPlugin.min.js +1 -1
- package/dist/fields/lib/jsgrid.popup.basic.min.js +1 -1
- package/dist/i18n/jsgrid-Ko.js +10 -2
- package/dist/i18n/jsgrid-cs.js +10 -2
- package/dist/i18n/jsgrid-de.js +10 -2
- package/dist/i18n/jsgrid-el.js +10 -2
- package/dist/i18n/jsgrid-es.js +10 -2
- package/dist/i18n/jsgrid-fa.js +10 -2
- package/dist/i18n/jsgrid-fr.js +10 -2
- package/dist/i18n/jsgrid-he.js +10 -2
- package/dist/i18n/jsgrid-it.js +10 -2
- package/dist/i18n/jsgrid-ja.js +10 -2
- package/dist/i18n/jsgrid-ka.js +10 -2
- package/dist/i18n/jsgrid-lt.js +10 -2
- package/dist/i18n/jsgrid-pl.js +10 -2
- package/dist/i18n/jsgrid-pt-br.js +10 -2
- package/dist/i18n/jsgrid-pt.js +10 -2
- package/dist/i18n/jsgrid-ru.js +10 -2
- package/dist/i18n/jsgrid-tr.js +10 -2
- package/dist/i18n/jsgrid-zh-cn.js +10 -2
- package/dist/i18n/jsgrid-zh-tw.js +10 -2
- package/dist/jsxgrid-fields.js +61 -13
- package/dist/jsxgrid-fields.min.js +2 -2
- package/dist/jsxgrid-theme.css +1 -1
- package/dist/jsxgrid-xfields.js +98 -18
- package/dist/jsxgrid-xfields.min.js +2 -2
- package/dist/jsxgrid.css +1 -1
- package/dist/jsxgrid.js +9 -2
- package/dist/jsxgrid.min.js +2 -2
- package/package.json +1 -1
- package/src/fields/jsgrid.field.XDateTimeField.js +10 -2
- package/src/fields/jsgrid.field.XRowSelectField.js +10 -2
- package/src/fields/jsgrid.field.Xcheckbox.js +10 -2
- package/src/fields/jsgrid.field.Xcontrol.js +9 -1
- package/src/fields/jsgrid.field.XimgField.js +10 -2
- package/src/fields/jsgrid.field.Xjsoneditor.js +10 -2
- package/src/fields/jsgrid.field.Xnumber.js +9 -1
- package/src/fields/jsgrid.field.Xselect.js +10 -2
- package/src/fields/jsgrid.field.Xtext.js +9 -1
- package/src/fields/jsgrid.field.Xtextarea.js +10 -2
- package/src/fields/jsgrid.field.checkbox.js +10 -2
- package/src/fields/jsgrid.field.control.js +10 -2
- package/src/fields/jsgrid.field.number.js +10 -2
- package/src/fields/jsgrid.field.select.js +10 -2
- package/src/fields/jsgrid.field.text.js +10 -2
- package/src/fields/jsgrid.field.textarea.js +10 -2
- package/src/i18n/Ko.js +10 -2
- package/src/i18n/cs.js +10 -2
- package/src/i18n/de.js +10 -2
- package/src/i18n/el.js +10 -2
- package/src/i18n/es.js +10 -2
- package/src/i18n/fa.js +10 -2
- package/src/i18n/fr.js +10 -2
- package/src/i18n/he.js +10 -2
- package/src/i18n/it.js +10 -2
- package/src/i18n/ja.js +10 -2
- package/src/i18n/ka.js +10 -2
- package/src/i18n/lt.js +10 -2
- package/src/i18n/pl.js +10 -2
- package/src/i18n/pt-br.js +10 -2
- package/src/i18n/pt.js +10 -2
- package/src/i18n/ru.js +10 -2
- package/src/i18n/tr.js +10 -2
- package/src/i18n/zh-cn.js +10 -2
- package/src/i18n/zh-tw.js +10 -2
- package/src/jsgrid.core.js +7 -0
package/dist/jsxgrid-fields.js
CHANGED
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* jsxgrid v2.
|
|
2
|
+
* jsxgrid v2.3.0 (https://github.com/rok9ru/jsxgrid#readme)
|
|
3
3
|
* (c) 2026 Mikhail Kremza
|
|
4
4
|
* Licensed under MIT
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
(function(jsGrid, $, undefined) {
|
|
7
|
+
(function(jsGrid, $, undefined) {
|
|
8
|
+
|
|
9
|
+
if (!jsGrid) {
|
|
10
|
+
if (window.console) {
|
|
11
|
+
console.error("[jsxgrid] jsgrid.field.text.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.");
|
|
12
|
+
}
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
|
|
8
16
|
|
|
9
17
|
var Field = jsGrid.Field;
|
|
10
18
|
|
|
@@ -72,9 +80,17 @@
|
|
|
72
80
|
|
|
73
81
|
jsGrid.fields.text = jsGrid.TextField = TextField;
|
|
74
82
|
|
|
75
|
-
}(jsGrid, jQuery));
|
|
83
|
+
}(window.jsGrid, window.jQuery));
|
|
84
|
+
|
|
85
|
+
(function(jsGrid, $, undefined) {
|
|
86
|
+
|
|
87
|
+
if (!jsGrid) {
|
|
88
|
+
if (window.console) {
|
|
89
|
+
console.error("[jsxgrid] jsgrid.field.number.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.");
|
|
90
|
+
}
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
76
93
|
|
|
77
|
-
(function(jsGrid, $, undefined) {
|
|
78
94
|
|
|
79
95
|
var TextField = jsGrid.TextField;
|
|
80
96
|
|
|
@@ -114,9 +130,17 @@
|
|
|
114
130
|
|
|
115
131
|
jsGrid.fields.number = jsGrid.NumberField = NumberField;
|
|
116
132
|
|
|
117
|
-
}(jsGrid, jQuery));
|
|
133
|
+
}(window.jsGrid, window.jQuery));
|
|
134
|
+
|
|
135
|
+
(function(jsGrid, $, undefined) {
|
|
136
|
+
|
|
137
|
+
if (!jsGrid) {
|
|
138
|
+
if (window.console) {
|
|
139
|
+
console.error("[jsxgrid] jsgrid.field.textarea.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.");
|
|
140
|
+
}
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
118
143
|
|
|
119
|
-
(function(jsGrid, $, undefined) {
|
|
120
144
|
|
|
121
145
|
var TextField = jsGrid.TextField;
|
|
122
146
|
|
|
@@ -149,9 +173,17 @@
|
|
|
149
173
|
|
|
150
174
|
jsGrid.fields.textarea = jsGrid.TextAreaField = TextAreaField;
|
|
151
175
|
|
|
152
|
-
}(jsGrid, jQuery));
|
|
176
|
+
}(window.jsGrid, window.jQuery));
|
|
177
|
+
|
|
178
|
+
(function(jsGrid, $, undefined) {
|
|
179
|
+
|
|
180
|
+
if (!jsGrid) {
|
|
181
|
+
if (window.console) {
|
|
182
|
+
console.error("[jsxgrid] jsgrid.field.select.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.");
|
|
183
|
+
}
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
153
186
|
|
|
154
|
-
(function(jsGrid, $, undefined) {
|
|
155
187
|
|
|
156
188
|
var NumberField = jsGrid.NumberField;
|
|
157
189
|
var numberValueType = "number";
|
|
@@ -280,9 +312,17 @@
|
|
|
280
312
|
|
|
281
313
|
jsGrid.fields.select = jsGrid.SelectField = SelectField;
|
|
282
314
|
|
|
283
|
-
}(jsGrid, jQuery));
|
|
315
|
+
}(window.jsGrid, window.jQuery));
|
|
316
|
+
|
|
317
|
+
(function(jsGrid, $, undefined) {
|
|
318
|
+
|
|
319
|
+
if (!jsGrid) {
|
|
320
|
+
if (window.console) {
|
|
321
|
+
console.error("[jsxgrid] jsgrid.field.checkbox.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.");
|
|
322
|
+
}
|
|
323
|
+
return;
|
|
324
|
+
}
|
|
284
325
|
|
|
285
|
-
(function(jsGrid, $, undefined) {
|
|
286
326
|
|
|
287
327
|
var Field = jsGrid.Field;
|
|
288
328
|
|
|
@@ -378,9 +418,17 @@
|
|
|
378
418
|
|
|
379
419
|
jsGrid.fields.checkbox = jsGrid.CheckboxField = CheckboxField;
|
|
380
420
|
|
|
381
|
-
}(jsGrid, jQuery));
|
|
421
|
+
}(window.jsGrid, window.jQuery));
|
|
422
|
+
|
|
423
|
+
(function(jsGrid, $, undefined) {
|
|
424
|
+
|
|
425
|
+
if (!jsGrid) {
|
|
426
|
+
if (window.console) {
|
|
427
|
+
console.error("[jsxgrid] jsgrid.field.control.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.");
|
|
428
|
+
}
|
|
429
|
+
return;
|
|
430
|
+
}
|
|
382
431
|
|
|
383
|
-
(function(jsGrid, $, undefined) {
|
|
384
432
|
|
|
385
433
|
var Field = jsGrid.Field;
|
|
386
434
|
|
|
@@ -603,4 +651,4 @@
|
|
|
603
651
|
|
|
604
652
|
jsGrid.fields.control = jsGrid.ControlField = ControlField;
|
|
605
653
|
|
|
606
|
-
}(jsGrid, jQuery));
|
|
654
|
+
}(window.jsGrid, window.jQuery));
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* jsxgrid v2.
|
|
2
|
+
* jsxgrid v2.3.0 (https://github.com/rok9ru/jsxgrid#readme)
|
|
3
3
|
* (c) 2026 Mikhail Kremza
|
|
4
4
|
* Licensed under MIT
|
|
5
5
|
*/
|
|
6
|
-
((t,e)=>{var i
|
|
6
|
+
((t,e)=>{var i;function n(t){i.call(this,t)}t?(i=t.Field,n.prototype=new i({autosearch:!0,readOnly:!1,filterTemplate:function(){var e,t;return this.filtering?(e=this._grid,t=this.filterControl=this._createTextBox(),this.autosearch&&t.on("keypress",function(t){13===t.which&&(e.search(),t.preventDefault())}),t):""},insertTemplate:function(){return this.inserting?this.insertControl=this._createTextBox():""},editTemplate:function(t){var e;return this.editing?((e=this.editControl=this._createTextBox()).val(t),e):this.itemTemplate.apply(this,arguments)},filterValue:function(){return this.filterControl.val()},insertValue:function(){return this.insertControl.val()},editValue:function(){return this.editControl.val()},_createTextBox:function(){return e("<input>").attr("type","text").prop("readonly",!!this.readOnly)}}),t.fields.text=t.TextField=n):window.console&&console.error("[jsxgrid] jsgrid.field.text.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.")})(window.jsGrid,window.jQuery),((t,e,i)=>{var n;function r(t){n.call(this,t)}t?(n=t.TextField,r.prototype=new n({sorter:"number",align:"right",readOnly:!1,filterValue:function(){return this.filterControl.val()?parseInt(this.filterControl.val()||0,10):i},insertValue:function(){return this.insertControl.val()?parseInt(this.insertControl.val()||0,10):i},editValue:function(){return this.editControl.val()?parseInt(this.editControl.val()||0,10):i},_createTextBox:function(){return e("<input>").attr("type","number").prop("readonly",!!this.readOnly)}}),t.fields.number=t.NumberField=r):window.console&&console.error("[jsxgrid] jsgrid.field.number.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.")})(window.jsGrid,window.jQuery),((t,e)=>{var i;function n(t){i.call(this,t)}t?(i=t.TextField,n.prototype=new i({insertTemplate:function(){return this.inserting?this.insertControl=this._createTextArea():""},editTemplate:function(t){var e;return this.editing?((e=this.editControl=this._createTextArea()).val(t),e):this.itemTemplate.apply(this,arguments)},_createTextArea:function(){return e("<textarea>").prop("readonly",!!this.readOnly)}}),t.fields.textarea=t.TextAreaField=n):window.console&&console.error("[jsxgrid] jsgrid.field.textarea.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.")})(window.jsGrid,window.jQuery),((t,o,r)=>{var i,n;function e(t){var e;this.items=[],this.selectedIndex=-1,this.valueField="",this.textField="",t.valueField&&t.items.length&&(e=t.items[0][t.valueField],this.valueType=typeof e==n?n:"string"),this.sorter=this.valueType,i.call(this,t)}t?(i=t.NumberField,e.prototype=new i({align:"center",valueType:n="number",itemTemplate:function(i){var t=this.items,n=this.valueField,e=this.textField,t=n?"object"==typeof i?i:o.grep(t,function(t,e){return t[n]===i})[0]||{}:t[i],e=e?t[e]:t;return e===r||null===e?"":e},filterTemplate:function(){var e,t;return this.filtering?(e=this._grid,t=this.filterControl=this._createSelect(),this.autosearch&&t.on("change",function(t){e.search()}),t):""},insertTemplate:function(){return this.inserting?this.insertControl=this._createSelect():""},editTemplate:function(t){var e,i;return this.editing?(e=this.editControl=this._createSelect(),(i="object"==typeof(i=t)?t[this.valueField]:t)!==r&&e.val(i),e):this.itemTemplate.apply(this,arguments)},filterValue:function(){var t=this.filterControl.val();return this.valueType===n?parseInt(t||0,10):t},insertValue:function(){var t=this.insertControl.val();return this.valueType===n?parseInt(t||0,10):t},editValue:function(){var t=this.editControl.val();return this.valueType===n?parseInt(t||0,10):t},_createSelect:function(){var i=o("<select>"),n=this.valueField,r=this.textField,t=this.selectedIndex;return o.each(this.items,function(t,e){t=n?e[n]:t,e=r?e[r]:e;o("<option>").attr("value",t).text(e).appendTo(i)}),i.prop("disabled",!!this.readOnly),i.prop("selectedIndex",t),i}}),t.fields.select=t.SelectField=e):window.console&&console.error("[jsxgrid] jsgrid.field.select.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.")})(window.jsGrid,window.jQuery),((t,i)=>{var e;function n(t){e.call(this,t)}t?(e=t.Field,n.prototype=new e({sorter:"number",align:"center",autosearch:!0,itemTemplate:function(t){return this._createCheckbox().prop({checked:t,disabled:!0})},filterTemplate:function(){var t,e;return this.filtering?(t=this._grid,(e=this.filterControl=this._createCheckbox()).prop({readOnly:!0,indeterminate:!0}),e.on("click",function(){var t=i(this);t.prop("readOnly")?t.prop({checked:!1,readOnly:!1}):t.prop("checked")||t.prop({readOnly:!0,indeterminate:!0})}),this.autosearch&&e.on("click",function(){t.search()}),e):""},insertTemplate:function(){return this.inserting?this.insertControl=this._createCheckbox():""},editTemplate:function(t){var e;return this.editing?((e=this.editControl=this._createCheckbox()).prop("checked",t),e):this.itemTemplate.apply(this,arguments)},filterValue:function(){return this.filterControl.get(0).indeterminate?void 0:this.filterControl.is(":checked")},insertValue:function(){return this.insertControl.is(":checked")},editValue:function(){return this.editControl.is(":checked")},_createCheckbox:function(){return i("<input>").attr("type","checkbox")}}),t.fields.checkbox=t.CheckboxField=n):window.console&&console.error("[jsxgrid] jsgrid.field.checkbox.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.")})(window.jsGrid,window.jQuery),((t,s)=>{var e;function i(t){e.call(this,t),this.includeInDataExport=!1,this._configInitialized=!1}t?(e=t.Field,i.prototype=new e({css:"jsgrid-control-field",align:"center",width:50,filtering:!1,inserting:!1,editing:!1,sorting:!1,buttonClass:"jsgrid-button",modeButtonClass:"jsgrid-mode-button",modeOnButtonClass:"jsgrid-mode-on-button",searchModeButtonClass:"jsgrid-search-mode-button",insertModeButtonClass:"jsgrid-insert-mode-button",editButtonClass:"jsgrid-edit-button",deleteButtonClass:"jsgrid-delete-button",searchButtonClass:"jsgrid-search-button",clearFilterButtonClass:"jsgrid-clear-filter-button",insertButtonClass:"jsgrid-insert-button",updateButtonClass:"jsgrid-update-button",cancelEditButtonClass:"jsgrid-cancel-edit-button",searchModeButtonTooltip:"Switch to searching",insertModeButtonTooltip:"Switch to inserting",editButtonTooltip:"Edit",deleteButtonTooltip:"Delete",searchButtonTooltip:"Search",clearFilterButtonTooltip:"Clear filter",insertButtonTooltip:"Insert",updateButtonTooltip:"Update",cancelEditButtonTooltip:"Cancel edit",editButton:!0,deleteButton:!0,clearFilterButton:!0,modeSwitchButton:!0,_initConfig:function(){this._hasFiltering=this._grid.filtering,this._hasInserting=this._grid.inserting,this._hasInserting&&this.modeSwitchButton&&(this._grid.inserting=!1),this._configInitialized=!0},headerTemplate:function(){this._configInitialized||this._initConfig();var t=this._hasFiltering,e=this._hasInserting;return this.modeSwitchButton&&(t||e)?t&&!e?this._createFilterSwitchButton():e&&!t?this._createInsertSwitchButton():this._createModeSwitchButton():""},itemTemplate:function(t,e){var i=s([]);return this.editButton&&(i=i.add(this._createEditButton(e))),i=this.deleteButton?i.add(this._createDeleteButton(e)):i},filterTemplate:function(){var t=this._createSearchButton();return this.clearFilterButton?t.add(this._createClearFilterButton()):t},insertTemplate:function(){return this._createInsertButton()},editTemplate:function(){return this._createUpdateButton().add(this._createCancelEditButton())},_createFilterSwitchButton:function(){return this._createOnOffSwitchButton("filtering",this.searchModeButtonClass,!0)},_createInsertSwitchButton:function(){return this._createOnOffSwitchButton("inserting",this.insertModeButtonClass,!1)},_createOnOffSwitchButton:function(e,t,i){var n=i,r=s.proxy(function(){o.toggleClass(this.modeOnButtonClass,n)},this),o=this._createGridButton(this.modeButtonClass+" "+t,"",function(t){n=!n,t.option(e,n),r()});return r(),o},_createModeSwitchButton:function(){var e=!1,i=s.proxy(function(){t.attr("title",e?this.searchModeButtonTooltip:this.insertModeButtonTooltip).toggleClass(this.insertModeButtonClass,!e).toggleClass(this.searchModeButtonClass,e)},this),t=this._createGridButton(this.modeButtonClass,"",function(t){e=!e,t.option("inserting",e),t.option("filtering",!e),i()});return i(),t},_createEditButton:function(i){return this._createGridButton(this.editButtonClass,this.editButtonTooltip,function(t,e){t.editItem(i),e.stopPropagation()})},_createDeleteButton:function(i){return this._createGridButton(this.deleteButtonClass,this.deleteButtonTooltip,function(t,e){t.deleteItem(i),e.stopPropagation()})},_createSearchButton:function(){return this._createGridButton(this.searchButtonClass,this.searchButtonTooltip,function(t){t.search()})},_createClearFilterButton:function(){return this._createGridButton(this.clearFilterButtonClass,this.clearFilterButtonTooltip,function(t){t.clearFilter()})},_createInsertButton:function(){return this._createGridButton(this.insertButtonClass,this.insertButtonTooltip,function(t){t.insertItem().done(function(){t.clearInsert()})})},_createUpdateButton:function(){return this._createGridButton(this.updateButtonClass,this.updateButtonTooltip,function(t,e){t.updateItem(),e.stopPropagation()})},_createCancelEditButton:function(){return this._createGridButton(this.cancelEditButtonClass,this.cancelEditButtonTooltip,function(t,e){t.cancelEdit(),e.stopPropagation()})},_createGridButton:function(t,e,i){var n=this._grid;return s("<input>").addClass(this.buttonClass).addClass(t).attr({type:"button",title:e}).on("click",function(t){i(n,t)})},editValue:function(){return""}}),t.fields.control=t.ControlField=i):window.console&&console.error("[jsxgrid] jsgrid.field.control.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.")})(window.jsGrid,window.jQuery);
|
package/dist/jsxgrid-theme.css
CHANGED
package/dist/jsxgrid-xfields.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* jsxgrid v2.
|
|
2
|
+
* jsxgrid v2.3.0 (https://github.com/rok9ru/jsxgrid#readme)
|
|
3
3
|
* (c) 2026 Mikhail Kremza
|
|
4
4
|
* Licensed under MIT
|
|
5
5
|
*/
|
|
@@ -150,6 +150,14 @@
|
|
|
150
150
|
}(jQuery));
|
|
151
151
|
(function(jsGrid, $, undefined) {
|
|
152
152
|
|
|
153
|
+
if (!jsGrid) {
|
|
154
|
+
if (window.console) {
|
|
155
|
+
console.error("[jsxgrid] jsgrid.field.Xtext.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.");
|
|
156
|
+
}
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
|
|
153
161
|
// Standalone: does not extend jsGrid.TextField, only jsGrid.Field.
|
|
154
162
|
|
|
155
163
|
var Field = jsGrid.Field;
|
|
@@ -223,10 +231,18 @@
|
|
|
223
231
|
|
|
224
232
|
jsGrid.fields.Xtext = Xtext;
|
|
225
233
|
|
|
226
|
-
}(jsGrid, jQuery));
|
|
234
|
+
}(window.jsGrid, window.jQuery));
|
|
227
235
|
|
|
228
236
|
(function(jsGrid, $, undefined) {
|
|
229
237
|
|
|
238
|
+
if (!jsGrid) {
|
|
239
|
+
if (window.console) {
|
|
240
|
+
console.error("[jsxgrid] jsgrid.field.Xnumber.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.");
|
|
241
|
+
}
|
|
242
|
+
return;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
|
|
230
246
|
// Standalone: does not extend jsGrid.NumberField or Xtext, only jsGrid.Field.
|
|
231
247
|
|
|
232
248
|
var Field = jsGrid.Field;
|
|
@@ -308,9 +324,17 @@
|
|
|
308
324
|
|
|
309
325
|
jsGrid.fields.Xnumber = Xnumber;
|
|
310
326
|
|
|
311
|
-
}(jsGrid, jQuery));
|
|
327
|
+
}(window.jsGrid, window.jQuery));
|
|
328
|
+
|
|
329
|
+
(function(jsGrid, $, undefined) {
|
|
330
|
+
|
|
331
|
+
if (!jsGrid) {
|
|
332
|
+
if (window.console) {
|
|
333
|
+
console.error("[jsxgrid] jsgrid.field.Xcheckbox.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.");
|
|
334
|
+
}
|
|
335
|
+
return;
|
|
336
|
+
}
|
|
312
337
|
|
|
313
|
-
(function(jsGrid, $, undefined) {
|
|
314
338
|
|
|
315
339
|
// Standalone: does not extend jsGrid.CheckboxField, only jsGrid.Field.
|
|
316
340
|
// Same tri-state (checked/unchecked/indeterminate) filter behavior as
|
|
@@ -417,8 +441,16 @@
|
|
|
417
441
|
|
|
418
442
|
jsGrid.fields.Xcheckbox = Xcheckbox;
|
|
419
443
|
|
|
420
|
-
}(jsGrid, jQuery));
|
|
421
|
-
(function(jsGrid, $, undefined) {
|
|
444
|
+
}(window.jsGrid, window.jQuery));
|
|
445
|
+
(function(jsGrid, $, undefined) {
|
|
446
|
+
|
|
447
|
+
if (!jsGrid) {
|
|
448
|
+
if (window.console) {
|
|
449
|
+
console.error("[jsxgrid] jsgrid.field.XimgField.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.");
|
|
450
|
+
}
|
|
451
|
+
return;
|
|
452
|
+
}
|
|
453
|
+
|
|
422
454
|
|
|
423
455
|
// Standalone: does not extend jsGrid.TextField, only jsGrid.Field.
|
|
424
456
|
|
|
@@ -516,8 +548,16 @@
|
|
|
516
548
|
|
|
517
549
|
jsGrid.fields.XimgField = XimgField;
|
|
518
550
|
|
|
519
|
-
}(jsGrid, jQuery));
|
|
520
|
-
(function(jsGrid, $, undefined) {
|
|
551
|
+
}(window.jsGrid, window.jQuery));
|
|
552
|
+
(function(jsGrid, $, undefined) {
|
|
553
|
+
|
|
554
|
+
if (!jsGrid) {
|
|
555
|
+
if (window.console) {
|
|
556
|
+
console.error("[jsxgrid] jsgrid.field.Xselect.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.");
|
|
557
|
+
}
|
|
558
|
+
return;
|
|
559
|
+
}
|
|
560
|
+
|
|
521
561
|
|
|
522
562
|
// Standalone: does not extend jsGrid.SelectField, only jsGrid.Field.
|
|
523
563
|
|
|
@@ -692,8 +732,16 @@
|
|
|
692
732
|
|
|
693
733
|
jsGrid.fields.Xselect = Xselect;
|
|
694
734
|
|
|
695
|
-
}(jsGrid, jQuery));
|
|
696
|
-
(function(jsGrid, $, undefined) {
|
|
735
|
+
}(window.jsGrid, window.jQuery));
|
|
736
|
+
(function(jsGrid, $, undefined) {
|
|
737
|
+
|
|
738
|
+
if (!jsGrid) {
|
|
739
|
+
if (window.console) {
|
|
740
|
+
console.error("[jsxgrid] jsgrid.field.Xtextarea.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.");
|
|
741
|
+
}
|
|
742
|
+
return;
|
|
743
|
+
}
|
|
744
|
+
|
|
697
745
|
|
|
698
746
|
// Standalone: does not extend jsGrid.TextAreaField, only jsGrid.Field.
|
|
699
747
|
|
|
@@ -789,8 +837,16 @@
|
|
|
789
837
|
|
|
790
838
|
jsGrid.fields.Xtextarea = Xtextarea;
|
|
791
839
|
|
|
792
|
-
}(jsGrid, jQuery));
|
|
793
|
-
(function(jsGrid, $, undefined) {
|
|
840
|
+
}(window.jsGrid, window.jQuery));
|
|
841
|
+
(function(jsGrid, $, undefined) {
|
|
842
|
+
|
|
843
|
+
if (!jsGrid) {
|
|
844
|
+
if (window.console) {
|
|
845
|
+
console.error("[jsxgrid] jsgrid.field.Xjsoneditor.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.");
|
|
846
|
+
}
|
|
847
|
+
return;
|
|
848
|
+
}
|
|
849
|
+
|
|
794
850
|
|
|
795
851
|
// Standalone: does not extend jsGrid.TextAreaField, only jsGrid.Field.
|
|
796
852
|
|
|
@@ -954,8 +1010,16 @@
|
|
|
954
1010
|
|
|
955
1011
|
jsGrid.fields.Xjsoneditor = Xjsoneditor;
|
|
956
1012
|
|
|
957
|
-
}(jsGrid, jQuery));
|
|
958
|
-
(function(jsGrid, $, undefined) {
|
|
1013
|
+
}(window.jsGrid, window.jQuery));
|
|
1014
|
+
(function(jsGrid, $, undefined) {
|
|
1015
|
+
|
|
1016
|
+
if (!jsGrid) {
|
|
1017
|
+
if (window.console) {
|
|
1018
|
+
console.error("[jsxgrid] jsgrid.field.XRowSelectField.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.");
|
|
1019
|
+
}
|
|
1020
|
+
return;
|
|
1021
|
+
}
|
|
1022
|
+
|
|
959
1023
|
|
|
960
1024
|
var XRowSelectField = function (config) {
|
|
961
1025
|
this.selectedItems = [];
|
|
@@ -1016,8 +1080,16 @@
|
|
|
1016
1080
|
|
|
1017
1081
|
jsGrid.fields.XRowSelectField = XRowSelectField;
|
|
1018
1082
|
|
|
1019
|
-
}(jsGrid, jQuery));
|
|
1020
|
-
(function(jsGrid, $, undefined) {
|
|
1083
|
+
}(window.jsGrid, window.jQuery));
|
|
1084
|
+
(function(jsGrid, $, undefined) {
|
|
1085
|
+
|
|
1086
|
+
if (!jsGrid) {
|
|
1087
|
+
if (window.console) {
|
|
1088
|
+
console.error("[jsxgrid] jsgrid.field.XDateTimeField.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.");
|
|
1089
|
+
}
|
|
1090
|
+
return;
|
|
1091
|
+
}
|
|
1092
|
+
|
|
1021
1093
|
var XDateTimeField = function (config) {
|
|
1022
1094
|
jsGrid.Field.call(this, config);
|
|
1023
1095
|
};
|
|
@@ -1138,9 +1210,17 @@
|
|
|
1138
1210
|
|
|
1139
1211
|
|
|
1140
1212
|
jsGrid.fields.XDateTimeField = XDateTimeField;
|
|
1141
|
-
}(jsGrid, jQuery));
|
|
1213
|
+
}(window.jsGrid, window.jQuery));
|
|
1142
1214
|
(function(jsGrid, $, undefined) {
|
|
1143
1215
|
|
|
1216
|
+
if (!jsGrid) {
|
|
1217
|
+
if (window.console) {
|
|
1218
|
+
console.error("[jsxgrid] jsgrid.field.Xcontrol.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.");
|
|
1219
|
+
}
|
|
1220
|
+
return;
|
|
1221
|
+
}
|
|
1222
|
+
|
|
1223
|
+
|
|
1144
1224
|
// Already standalone - the native control field extends jsGrid.Field
|
|
1145
1225
|
// directly, same as every X-field. X-branded purely for naming parity,
|
|
1146
1226
|
// so it can be used instead of "control" once the native fields bundle
|
|
@@ -1367,4 +1447,4 @@
|
|
|
1367
1447
|
|
|
1368
1448
|
jsGrid.fields.Xcontrol = Xcontrol;
|
|
1369
1449
|
|
|
1370
|
-
}(jsGrid, jQuery));
|
|
1450
|
+
}(window.jsGrid, window.jQuery));
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* jsxgrid v2.
|
|
2
|
+
* jsxgrid v2.3.0 (https://github.com/rok9ru/jsxgrid#readme)
|
|
3
3
|
* (c) 2026 Mikhail Kremza
|
|
4
4
|
* Licensed under MIT
|
|
5
5
|
*/
|
|
6
|
-
((t,s)=>{t?t.popup=t.popupBasic=function(t,e){this.idcounter=this.idcounter||0,this.idcounter++,(e=e||{}).closeText=e.closeText||"Close",e.heading=e.heading||"",e.styles=e.styles||".jsGridpopupBasicOverlay { position: fixed; top: 0; bottom: 0; left: 0; right: 0; background: rgba(0, 0, 0, 0.7); transition: opacity 500ms; opacity: 1;}.jsGridpopupBasicPopup { margin: 70px auto; padding: 20px; min-height: 60%; background: #fff; border-radius: 5px; width: 60%; position: relative; transition: all 300ms ease-in-out;}.jsGridpopupBasicPopup h2 { margin-top: 0; color: #333; font-family: Tahoma, Arial, sans-serif;}.jsGridpopupBasicPopup .close { position: absolute; top: 10px; right: 30px; transition: all 200ms; font-size: 30px; font-weight: bold; text-decoration: none; color: #333;}.jsGridpopupBasicPopup .close:hover { color: #06D85F;}.jsGridpopupBasicPopup .jsGridpopupBasicContent { max-height: 30%; overflow: auto;}@media screen and (max-width: 700px){ .jsGridpopupBasicPopup{ width: 70%; }}",s("#jsGridpopupBasicStyles").length||(r=(i=s("head")).find("link[rel='stylesheet']:last"),n="<style id='jsGridpopupBasicStyles'>"+e.styles+"</style>",r.length?r.after(n):i.append(n));var i,n,r="jsGridpopupBasic"+this.idcounter,o=s('<div id="'+r+'" class="jsGridpopupBasicOverlay"><div class="jsGridpopupBasicPopup"><h2></h2><a class="close" href="#">×</a><div class="jsGridpopupBasicContent"></div></div></div>');return o.find("h2").text(e.heading),o.find(".jsGridpopupBasicContent").append(t),o.find(".close").click(function(){e.onClose instanceof Function&&e.onClose(o),o.remove()}),s("body").append(o),{id:r,$popup:o,hide:function(){o.remove()}}}:console.log("jsGrid is not defined!")})(jsGrid,jQuery),(o=>{var e=o.fn.jsGrid;e&&(o.fn.jsGrid=function(t){var r;return"object"==typeof t&&(r=t.onRefreshed,t.onRefreshed=function(t){r&&r.apply(this,arguments);var t=t.grid,i=t.option("data")||[],e=t.option("fields")||[],t=t._container.find(".jsgrid-table").last(),t=(t.find(".jsgrid-summary-footer").remove(),o("<tfoot class='jsgrid-summary-footer'>").appendTo(t)),n=o("<tr>").addClass("jsgrid-row").css({background:"#e1e1e1","font-weight":"bold"}).appendTo(t);e.forEach(function(t){var e=o("<td>").addClass("jsgrid-cell").appendTo(n);"function"==typeof t.summary&&(t=t.summary.call(t,i),e.html(t))})}),e.apply(this,arguments)})})(jQuery),((t,e)=>{function i(t){n.call(this,t)}var n=t.Field;i.prototype=new n({autosearch:!0,readOnly:!1,defaultSelected:null,filterTemplate:function(){var e,t;return this.filtering?(e=this._grid,t=this.filterControl=this._createTextBox(),this.autosearch&&t.on("keypress",function(t){13===t.which&&(e.search(),t.preventDefault())}),null!==this.defaultSelected&&(t.val(this.defaultSelected),this.defaultSelected=null),t):""},insertTemplate:function(){return this.inserting?this.insertControl=this._createTextBox():""},editTemplate:function(t){var e;return this.editing?((e=this.editControl=this._createTextBox()).val(t),e):this.itemTemplate.apply(this,arguments)},filterValue:function(){return this.filterControl.val()},insertValue:function(){return this.insertControl.val()},editValue:function(){return this.editControl.val()},_createTextBox:function(){return e("<input>").attr("type","text").prop("readonly",!!this.readOnly)}}),t.fields.Xtext=i})(jsGrid,jQuery),((t,e,i)=>{function n(t){r.call(this,t)}var r=t.Field;n.prototype=new r({sorter:"number",align:"right",autosearch:!0,readOnly:!1,defaultSelected:null,filterTemplate:function(){var e,t;return this.filtering?(e=this._grid,t=this.filterControl=this._createTextBox(),this.autosearch&&t.on("keypress",function(t){13===t.which&&(e.search(),t.preventDefault())}),null!==this.defaultSelected&&(t.val(this.defaultSelected),this.defaultSelected=null),t):""},insertTemplate:function(){return this.inserting?this.insertControl=this._createTextBox():""},editTemplate:function(t){var e;return this.editing?((e=this.editControl=this._createTextBox()).val(t),e):this.itemTemplate.apply(this,arguments)},filterValue:function(){return this.filterControl.val()?parseInt(this.filterControl.val()||0,10):i},insertValue:function(){return this.insertControl.val()?parseInt(this.insertControl.val()||0,10):i},editValue:function(){return this.editControl.val()?parseInt(this.editControl.val()||0,10):i},_createTextBox:function(){return e("<input>").attr("type","number").prop("readonly",!!this.readOnly)}}),t.fields.Xnumber=n})(jsGrid,jQuery),((t,i)=>{function e(t){n.call(this,t)}var n=t.Field;e.prototype=new n({sorter:"number",align:"center",autosearch:!0,defaultSelected:null,filterTemplate:function(){var t,e;return this.filtering?(t=this._grid,(e=this.filterControl=this._createCheckbox()).prop({readOnly:!0,indeterminate:!0}),e.on("click",function(){var t=i(this);t.prop("readOnly")?t.prop({checked:!1,readOnly:!1}):t.prop("checked")||t.prop({readOnly:!0,indeterminate:!0})}),this.autosearch&&e.on("click",function(){t.search()}),null!==this.defaultSelected&&(e.prop({checked:!!this.defaultSelected,indeterminate:!1,readOnly:!1}),this.defaultSelected=null),e):""},filterValue:function(){return this.filterControl.get(0).indeterminate?void 0:this.filterControl.is(":checked")?1:0},insertTemplate:function(){return this.inserting?this.insertControl=this._createCheckbox():""},insertValue:function(){return+this.insertControl.is(":checked")},editValue:function(){return+this.editControl.is(":checked")},itemTemplate:function(t){return this._createCheckbox().prop({checked:+t,disabled:!0})},editTemplate:function(t){var e;return this.editing?((e=this.editControl=this._createCheckbox()).prop("checked",+t),e):this.itemTemplate.apply(this,arguments)},_createCheckbox:function(){return i("<input>").attr("type","checkbox")}}),t.fields.Xcheckbox=e})(jsGrid,jQuery),((t,n)=>{function e(t){i.call(this,t)}var i=t.Field;e.prototype=new i({autosearch:!0,readOnly:!1,fm_callback:null,editButtonText:"Open FM",defaultSelected:null,filterTemplate:function(){var e,t;return this.filtering?(e=this._grid,t=this.filterControl=this._createTextBox(),this.autosearch&&t.on("keypress",function(t){13===t.which&&(e.search(),t.preventDefault())}),null!==this.defaultSelected&&(t.val(this.defaultSelected),this.defaultSelected=null),t):""},filterValue:function(){return this.filterControl.val()},itemTemplate:function(t){var e=n('<img class="jsgrid-img" src="">');return e.attr("src",t||""),e.css("max-height","50px"),e.css("max-width","50px"),e},editTemplate:function(t){var e,i;return this.editing?(e=this.fm_callback,i=this.editControl=n('<input type="text">').val(t||""),e?n('<button class="jsgrid-imgField-button">'+this.editButtonText+"</button>").click(function(){e(i)}):i):this.itemTemplate.apply(this,arguments)},insertTemplate:function(){var t,e;return this.inserting?(t=this.fm_callback,e=this.insertControl=n('<input type="text">'),"function"==typeof t?n('<button class="jsgrid-imgField-button">'+this.editButtonText+"</button>").click(function(){t(e)}):e):""},insertValue:function(){return this.insertControl.val()},editValue:function(){return this.editControl.val()},_createTextBox:function(){return n("<input>").attr("type","text").prop("readonly",!!this.readOnly)}}),t.fields.XimgField=e})(jsGrid,jQuery),((t,l)=>{function e(t){var e;this.items=[],this.selectedIndex=-1,this.valueField="",this.textField="",t.valueField&&t.items&&t.items.length&&(e=t.items[0][t.valueField],this.valueType=typeof e==n?n:"string"),this.sorter=this.valueType,i.call(this,t)}var i=t.Field,n="number";e.prototype=new i({align:"center",autosearch:!0,valueType:n,pseudoElement:null,select2:null,defaultSelected:null,itemTemplate:function(e){var t=this.items,i=this.valueField,n=this.textField,t=i?"object"==typeof e?e:l.grep(t,function(t){return t[i]===e})[0]||{}:t[e],n=n?t[n]:t;return null==n?"":n},insertTemplate:function(){return this.inserting?this.insertControl=this._createSelect():""},editTemplate:function(t){var e,i;return this.editing?(e=this.editControl=this._createSelect(),void 0!==(i="object"==typeof(i=t)?t[this.valueField]:t)&&e.val(i),e):this.itemTemplate.apply(this,arguments)},insertValue:function(){var t=this.insertControl.val();return this.valueType===n?parseInt(t||0,10):t},editValue:function(){var t=this.editControl.val();return this.valueType===n?parseInt(t||0,10):t},filterTemplate:function(){var t,i,n,r,e,o;return this.filtering?(Array.isArray(this.items)?(t=this.items.slice(0),this.pseudoElement?t.unshift(this.pseudoElement):((o={})[this.textField]="",o[this.valueField]=null,t.unshift(o))):"object"==typeof this.items&&(t=Object.assign({},this.items),t="object"==typeof this.pseudoElement&&this.pseudoElement?Object.assign({},t,this.pseudoElement):Object.assign({},{"":null},t)),null!==this.defaultSelected&&(i=this.valueField,n=this.defaultSelected,r=-1,l.each(t,function(t,e){if((i?e[i]:t)==n)return r=t,!1}),-1!==r&&(this.selectedIndex=r),this.defaultSelected=null),e=this._grid,o=this.filterControl=this._createSelect(t),this.autosearch&&o.on("change",function(t){e.search()}),o):""},filterValue:function(){var t=this.filterControl.val();return this.valueType===n?parseInt(t||0,10):t},_createSelect:function(t){var e,n=l("<select>"),r=this.valueField,o=this.textField,s=this.selectedIndex;return l.each(t||this.items,function(t,e){var i=r?e[r]:t,e=o?e[o]:e;l("<option>").attr("value",i).text(e).appendTo(n).prop("selected",s===t)}),n.prop("disabled",!!this.readOnly),this.select2&&(e=Object.assign({},this.select2,{width:"100%"}),setTimeout(function(){n.select2(e)},0)),n}}),t.fields.Xselect=e})(jsGrid,jQuery),((t,r)=>{function e(t){i.call(this,t)}var i=t.Field;e.prototype=new i({autosearch:!0,readOnly:!1,maxShowSymbols:50,defaultSelected:null,filterTemplate:function(){var e,t;return this.filtering?(e=this._grid,t=this.filterControl=this._createTextBox(),this.autosearch&&t.on("keypress",function(t){13===t.which&&(e.search(),t.preventDefault())}),null!==this.defaultSelected&&(t.val(this.defaultSelected),this.defaultSelected=null),t):""},filterValue:function(){return this.filterControl.val()},insertTemplate:function(){return this.inserting?this.insertControl=this._createTextArea():""},editTemplate:function(t){var e;return this.editing?((e=this.editControl=this._createTextArea()).val(t),e):this.itemTemplate.apply(this,arguments)},insertValue:function(){return this.insertControl.val()},editValue:function(){return this.editControl.val()},_createTextBox:function(){return r("<input>").attr("type","text").prop("readonly",!!this.readOnly)},_createTextArea:function(){return r("<textarea>").prop("readonly",!!this.readOnly)},itemTemplate:function(t,e){var i,n;return(t=null==t?"":String(t)).length<=this.maxShowSymbols?r("<div>").text(t):(i=t.slice(0,this.maxShowSymbols),n=r("<div>").text(i+" ...").one("click",function(){return n.text(t),!1}))}}),t.fields.Xtextarea=e})(jsGrid,jQuery),((n,r)=>{function t(t){e.call(this,t)}var e=n.Field;t.prototype=new e({autosearch:!0,readOnly:!1,templates:[],closeText:"Save",editText:"Editor",defaultSelected:null,filterTemplate:function(){var e,t;return this.filtering?(e=this._grid,t=this.filterControl=this._createTextBox(),this.autosearch&&t.on("keypress",function(t){13===t.which&&(e.search(),t.preventDefault())}),null!==this.defaultSelected&&(t.val(this.defaultSelected),this.defaultSelected=null),t):""},filterValue:function(){return this.filterControl.val()},insertValue:function(){return this.insertControl.val()},editValue:function(){return this.editControl.val()},_createTextBox:function(){return r("<input>").attr("type","text").prop("readonly",!!this.readOnly)},_doModal:function(t,e,i){return n.popup(t,e)},_createJsonEditor:function(t,e){if("undefined"==typeof JSONEditor)throw new Error("Xjsoneditor requires the 'jsoneditor' package to be loaded on the page.");"object"!=typeof(t=t||{})&&(t=JSON.parse(t));var i=r('<div style="height: 500px;">'),e=(r("body").append(i),i=i[0],{templates:this.templates,modes:["code","text","tree"],onError:function(t){alert(t.toString())},mode:e||"view"});return new JSONEditor(i,e,t)},itemTemplate:function(e,t){var i=this;return r("<button>"+i.editText+"</button>").click(function(){var t=i._createJsonEditor(e);return i._doModal(t.container,{onClose:function(){r(t.container).remove(),t.destroy()}}),!1})},insertTemplate:function(){var t;return this.inserting?(t=this).insertControl=r("<textarea>").click(function(){var e=t._createJsonEditor({},"tree"),i=r(this);return t._doModal(e.container,{closeText:t.closeText,onClose:function(){var t=e.get();r.isEmptyObject(t)?i.val({}):i.val(JSON.stringify(t)),e.destroy()}}),!1}):""},editTemplate:function(t){var n;return this.editing?(n=this).editControl=r("<textarea>").val(t).click(function(){var e=r(this),i=n._createJsonEditor(e.val(),"tree");return n._doModal(i.container,{closeText:n.closeText,onClose:function(){var t=i.get();r.isEmptyObject(t)?e.val({}):e.val(JSON.stringify(t)),i.destroy()}}),!1}):this.itemTemplate.apply(this,arguments)}}),n.fields.Xjsoneditor=t})(jsGrid,jQuery),((e,n)=>{function t(t){this.selectedItems=[],this.uid=Date.now().toString(36)+Math.random().toString(36).substring(2),e.Field.call(this,t)}t.prototype=new e.Field({filtering:!1,deleteItemByItem:!1,buttonText:"",selectedItemsAction:function(t){},unselectAll:function(){this.selectedItems=[],this._grid._container.find("[data-uid='"+this.uid+"'] ").prop("checked",!1)},headerTemplate:function(){var e;return this.buttonText?(e=this,n("<button>").attr("type","button").text(e.buttonText).on("click",function(t){e.selectedItemsAction(e.selectedItems),t.stopPropagation()})):""},itemTemplate:function(t,e){var i=this;return n("<input data-uid='"+i.uid+"' type='checkbox'>").prop("checked",-1<n.inArray(e,i.selectedItems)).on("change",function(){n(this).is(":checked")?i.selectItem(e):i.unselectItem(e)}).click(function(t){t.stopPropagation()})},editTemplate:function(){return""},align:"center",selectItem:function(t){this.selectedItems.push(t)},unselectItem:function(e){this.selectedItems=n.grep(this.selectedItems,function(t){return t!==e})}}),e.fields.XRowSelectField=t})(jsGrid,jQuery),((e,o)=>{function t(t){e.Field.call(this,t)}t.prototype=new e.Field({css:"date-field",align:"center",datePickerType:"datetime-local",dateRange:!1,defaultSelected:null,sorter:function(t,e){return new Date(t)-new Date(e)},filterTemplate:function(){var e,t,i,n,r;return this.filtering?(e=this._grid,t=o(),this.dateRange?(r=o("<div class='jsgrid-date-range-wrapper'>"),i=o("<input>",{class:"jsgrid-date-picker jsgrid-date-start",type:this.datePickerType,title:"Period date start"}),n=o("<input>",{class:"jsgrid-date-picker jsgrid-date-end",type:this.datePickerType,title:"Period date end"}),r.val=function(){return{from:i.val(),to:n.val()}},t=this.filterControl=r.append(i).append(n),null!==this.defaultSelected&&(r=this.defaultSelected||{},i.val(r.from||""),n.val(r.to||""),this.defaultSelected=null),this.autosearch&&t.on("change",".jsgrid-date-picker",function(t){e.search()})):(t=this.filterControl=this._createPicker(),null!==this.defaultSelected&&(t.val(this.defaultSelected),this.defaultSelected=null),this.autosearch&&t.on("change",function(t){e.search()})),t):""},filterValue:function(){return this.filterControl.val()},itemTemplate:function(t){var e;return t?(e=this.options||{weekday:"short",year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"},new Date(t.replace(" ","T")).toLocaleDateString(void 0,e)):""},insertTemplate:function(){return this._insertPicker=this._createPicker()},editTemplate:function(t){return this._editPicker=this._createPicker().val(t)},insertValue:function(){return this._insertPicker.val()},editValue:function(){return this._editPicker.val()},_createPicker:function(){return o("<input class='date-picker'>").attr("type",this.datePickerType)}}),e.fields.XDateTimeField=t})(jsGrid,jQuery),((t,s)=>{var e=t.Field;function i(t){e.call(this,t),this.includeInDataExport=!1,this._configInitialized=!1}i.prototype=new e({css:"jsgrid-control-field",align:"center",width:50,filtering:!1,inserting:!1,editing:!1,sorting:!1,buttonClass:"jsgrid-button",modeButtonClass:"jsgrid-mode-button",modeOnButtonClass:"jsgrid-mode-on-button",searchModeButtonClass:"jsgrid-search-mode-button",insertModeButtonClass:"jsgrid-insert-mode-button",editButtonClass:"jsgrid-edit-button",deleteButtonClass:"jsgrid-delete-button",searchButtonClass:"jsgrid-search-button",clearFilterButtonClass:"jsgrid-clear-filter-button",insertButtonClass:"jsgrid-insert-button",updateButtonClass:"jsgrid-update-button",cancelEditButtonClass:"jsgrid-cancel-edit-button",searchModeButtonTooltip:"Switch to searching",insertModeButtonTooltip:"Switch to inserting",editButtonTooltip:"Edit",deleteButtonTooltip:"Delete",searchButtonTooltip:"Search",clearFilterButtonTooltip:"Clear filter",insertButtonTooltip:"Insert",updateButtonTooltip:"Update",cancelEditButtonTooltip:"Cancel edit",editButton:!0,deleteButton:!0,clearFilterButton:!0,modeSwitchButton:!0,_initConfig:function(){this._hasFiltering=this._grid.filtering,this._hasInserting=this._grid.inserting,this._hasInserting&&this.modeSwitchButton&&(this._grid.inserting=!1),this._configInitialized=!0},headerTemplate:function(){this._configInitialized||this._initConfig();var t=this._hasFiltering,e=this._hasInserting;return this.modeSwitchButton&&(t||e)?t&&!e?this._createFilterSwitchButton():e&&!t?this._createInsertSwitchButton():this._createModeSwitchButton():""},itemTemplate:function(t,e){var i=s([]);return this.editButton&&(i=i.add(this._createEditButton(e))),i=this.deleteButton?i.add(this._createDeleteButton(e)):i},filterTemplate:function(){var t=this._createSearchButton();return this.clearFilterButton?t.add(this._createClearFilterButton()):t},insertTemplate:function(){return this._createInsertButton()},editTemplate:function(){return this._createUpdateButton().add(this._createCancelEditButton())},_createFilterSwitchButton:function(){return this._createOnOffSwitchButton("filtering",this.searchModeButtonClass,!0)},_createInsertSwitchButton:function(){return this._createOnOffSwitchButton("inserting",this.insertModeButtonClass,!1)},_createOnOffSwitchButton:function(e,t,i){var n=i,r=s.proxy(function(){o.toggleClass(this.modeOnButtonClass,n)},this),o=this._createGridButton(this.modeButtonClass+" "+t,"",function(t){n=!n,t.option(e,n),r()});return r(),o},_createModeSwitchButton:function(){var e=!1,i=s.proxy(function(){t.attr("title",e?this.searchModeButtonTooltip:this.insertModeButtonTooltip).toggleClass(this.insertModeButtonClass,!e).toggleClass(this.searchModeButtonClass,e)},this),t=this._createGridButton(this.modeButtonClass,"",function(t){e=!e,t.option("inserting",e),t.option("filtering",!e),i()});return i(),t},_createEditButton:function(i){return this._createGridButton(this.editButtonClass,this.editButtonTooltip,function(t,e){t.editItem(i),e.stopPropagation()})},_createDeleteButton:function(i){return this._createGridButton(this.deleteButtonClass,this.deleteButtonTooltip,function(t,e){t.deleteItem(i),e.stopPropagation()})},_createSearchButton:function(){return this._createGridButton(this.searchButtonClass,this.searchButtonTooltip,function(t){t.search()})},_createClearFilterButton:function(){return this._createGridButton(this.clearFilterButtonClass,this.clearFilterButtonTooltip,function(t){t.clearFilter()})},_createInsertButton:function(){return this._createGridButton(this.insertButtonClass,this.insertButtonTooltip,function(t){t.insertItem().done(function(){t.clearInsert()})})},_createUpdateButton:function(){return this._createGridButton(this.updateButtonClass,this.updateButtonTooltip,function(t,e){t.updateItem(),e.stopPropagation()})},_createCancelEditButton:function(){return this._createGridButton(this.cancelEditButtonClass,this.cancelEditButtonTooltip,function(t,e){t.cancelEdit(),e.stopPropagation()})},_createGridButton:function(t,e,i){var n=this._grid;return s("<input>").addClass(this.buttonClass).addClass(t).attr({type:"button",title:e}).on("click",function(t){i(n,t)})},editValue:function(){return""}}),t.fields.Xcontrol=i})(jsGrid,jQuery);
|
|
6
|
+
((t,s)=>{t?t.popup=t.popupBasic=function(t,e){this.idcounter=this.idcounter||0,this.idcounter++,(e=e||{}).closeText=e.closeText||"Close",e.heading=e.heading||"",e.styles=e.styles||".jsGridpopupBasicOverlay { position: fixed; top: 0; bottom: 0; left: 0; right: 0; background: rgba(0, 0, 0, 0.7); transition: opacity 500ms; opacity: 1;}.jsGridpopupBasicPopup { margin: 70px auto; padding: 20px; min-height: 60%; background: #fff; border-radius: 5px; width: 60%; position: relative; transition: all 300ms ease-in-out;}.jsGridpopupBasicPopup h2 { margin-top: 0; color: #333; font-family: Tahoma, Arial, sans-serif;}.jsGridpopupBasicPopup .close { position: absolute; top: 10px; right: 30px; transition: all 200ms; font-size: 30px; font-weight: bold; text-decoration: none; color: #333;}.jsGridpopupBasicPopup .close:hover { color: #06D85F;}.jsGridpopupBasicPopup .jsGridpopupBasicContent { max-height: 30%; overflow: auto;}@media screen and (max-width: 700px){ .jsGridpopupBasicPopup{ width: 70%; }}",s("#jsGridpopupBasicStyles").length||(r=(i=s("head")).find("link[rel='stylesheet']:last"),n="<style id='jsGridpopupBasicStyles'>"+e.styles+"</style>",r.length?r.after(n):i.append(n));var i,n,r="jsGridpopupBasic"+this.idcounter,o=s('<div id="'+r+'" class="jsGridpopupBasicOverlay"><div class="jsGridpopupBasicPopup"><h2></h2><a class="close" href="#">×</a><div class="jsGridpopupBasicContent"></div></div></div>');return o.find("h2").text(e.heading),o.find(".jsGridpopupBasicContent").append(t),o.find(".close").click(function(){e.onClose instanceof Function&&e.onClose(o),o.remove()}),s("body").append(o),{id:r,$popup:o,hide:function(){o.remove()}}}:console.log("jsGrid is not defined!")})(jsGrid,jQuery),(o=>{var e=o.fn.jsGrid;e&&(o.fn.jsGrid=function(t){var r;return"object"==typeof t&&(r=t.onRefreshed,t.onRefreshed=function(t){r&&r.apply(this,arguments);var t=t.grid,i=t.option("data")||[],e=t.option("fields")||[],t=t._container.find(".jsgrid-table").last(),t=(t.find(".jsgrid-summary-footer").remove(),o("<tfoot class='jsgrid-summary-footer'>").appendTo(t)),n=o("<tr>").addClass("jsgrid-row").css({background:"#e1e1e1","font-weight":"bold"}).appendTo(t);e.forEach(function(t){var e=o("<td>").addClass("jsgrid-cell").appendTo(n);"function"==typeof t.summary&&(t=t.summary.call(t,i),e.html(t))})}),e.apply(this,arguments)})})(jQuery),((t,e)=>{var i,n;t?(i=t.Field,(n=function(t){i.call(this,t)}).prototype=new i({autosearch:!0,readOnly:!1,defaultSelected:null,filterTemplate:function(){var e,t;return this.filtering?(e=this._grid,t=this.filterControl=this._createTextBox(),this.autosearch&&t.on("keypress",function(t){13===t.which&&(e.search(),t.preventDefault())}),null!==this.defaultSelected&&(t.val(this.defaultSelected),this.defaultSelected=null),t):""},insertTemplate:function(){return this.inserting?this.insertControl=this._createTextBox():""},editTemplate:function(t){var e;return this.editing?((e=this.editControl=this._createTextBox()).val(t),e):this.itemTemplate.apply(this,arguments)},filterValue:function(){return this.filterControl.val()},insertValue:function(){return this.insertControl.val()},editValue:function(){return this.editControl.val()},_createTextBox:function(){return e("<input>").attr("type","text").prop("readonly",!!this.readOnly)}}),t.fields.Xtext=n):window.console&&console.error("[jsxgrid] jsgrid.field.Xtext.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.")})(window.jsGrid,window.jQuery),((t,e,i)=>{var n,r;t?(n=t.Field,(r=function(t){n.call(this,t)}).prototype=new n({sorter:"number",align:"right",autosearch:!0,readOnly:!1,defaultSelected:null,filterTemplate:function(){var e,t;return this.filtering?(e=this._grid,t=this.filterControl=this._createTextBox(),this.autosearch&&t.on("keypress",function(t){13===t.which&&(e.search(),t.preventDefault())}),null!==this.defaultSelected&&(t.val(this.defaultSelected),this.defaultSelected=null),t):""},insertTemplate:function(){return this.inserting?this.insertControl=this._createTextBox():""},editTemplate:function(t){var e;return this.editing?((e=this.editControl=this._createTextBox()).val(t),e):this.itemTemplate.apply(this,arguments)},filterValue:function(){return this.filterControl.val()?parseInt(this.filterControl.val()||0,10):i},insertValue:function(){return this.insertControl.val()?parseInt(this.insertControl.val()||0,10):i},editValue:function(){return this.editControl.val()?parseInt(this.editControl.val()||0,10):i},_createTextBox:function(){return e("<input>").attr("type","number").prop("readonly",!!this.readOnly)}}),t.fields.Xnumber=r):window.console&&console.error("[jsxgrid] jsgrid.field.Xnumber.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.")})(window.jsGrid,window.jQuery),((t,i)=>{var e,n;t?(e=t.Field,(n=function(t){e.call(this,t)}).prototype=new e({sorter:"number",align:"center",autosearch:!0,defaultSelected:null,filterTemplate:function(){var t,e;return this.filtering?(t=this._grid,(e=this.filterControl=this._createCheckbox()).prop({readOnly:!0,indeterminate:!0}),e.on("click",function(){var t=i(this);t.prop("readOnly")?t.prop({checked:!1,readOnly:!1}):t.prop("checked")||t.prop({readOnly:!0,indeterminate:!0})}),this.autosearch&&e.on("click",function(){t.search()}),null!==this.defaultSelected&&(e.prop({checked:!!this.defaultSelected,indeterminate:!1,readOnly:!1}),this.defaultSelected=null),e):""},filterValue:function(){return this.filterControl.get(0).indeterminate?void 0:this.filterControl.is(":checked")?1:0},insertTemplate:function(){return this.inserting?this.insertControl=this._createCheckbox():""},insertValue:function(){return+this.insertControl.is(":checked")},editValue:function(){return+this.editControl.is(":checked")},itemTemplate:function(t){return this._createCheckbox().prop({checked:+t,disabled:!0})},editTemplate:function(t){var e;return this.editing?((e=this.editControl=this._createCheckbox()).prop("checked",+t),e):this.itemTemplate.apply(this,arguments)},_createCheckbox:function(){return i("<input>").attr("type","checkbox")}}),t.fields.Xcheckbox=n):window.console&&console.error("[jsxgrid] jsgrid.field.Xcheckbox.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.")})(window.jsGrid,window.jQuery),((t,n)=>{var e,i;t?(e=t.Field,(i=function(t){e.call(this,t)}).prototype=new e({autosearch:!0,readOnly:!1,fm_callback:null,editButtonText:"Open FM",defaultSelected:null,filterTemplate:function(){var e,t;return this.filtering?(e=this._grid,t=this.filterControl=this._createTextBox(),this.autosearch&&t.on("keypress",function(t){13===t.which&&(e.search(),t.preventDefault())}),null!==this.defaultSelected&&(t.val(this.defaultSelected),this.defaultSelected=null),t):""},filterValue:function(){return this.filterControl.val()},itemTemplate:function(t){var e=n('<img class="jsgrid-img" src="">');return e.attr("src",t||""),e.css("max-height","50px"),e.css("max-width","50px"),e},editTemplate:function(t){var e,i;return this.editing?(e=this.fm_callback,i=this.editControl=n('<input type="text">').val(t||""),e?n('<button class="jsgrid-imgField-button">'+this.editButtonText+"</button>").click(function(){e(i)}):i):this.itemTemplate.apply(this,arguments)},insertTemplate:function(){var t,e;return this.inserting?(t=this.fm_callback,e=this.insertControl=n('<input type="text">'),"function"==typeof t?n('<button class="jsgrid-imgField-button">'+this.editButtonText+"</button>").click(function(){t(e)}):e):""},insertValue:function(){return this.insertControl.val()},editValue:function(){return this.editControl.val()},_createTextBox:function(){return n("<input>").attr("type","text").prop("readonly",!!this.readOnly)}}),t.fields.XimgField=i):window.console&&console.error("[jsxgrid] jsgrid.field.XimgField.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.")})(window.jsGrid,window.jQuery),((t,l)=>{var i,n,e;t?(i=t.Field,(e=function(t){var e;this.items=[],this.selectedIndex=-1,this.valueField="",this.textField="",t.valueField&&t.items&&t.items.length&&(e=t.items[0][t.valueField],this.valueType=typeof e==n?n:"string"),this.sorter=this.valueType,i.call(this,t)}).prototype=new i({align:"center",autosearch:!0,valueType:n="number",pseudoElement:null,select2:null,defaultSelected:null,itemTemplate:function(e){var t=this.items,i=this.valueField,n=this.textField,t=i?"object"==typeof e?e:l.grep(t,function(t){return t[i]===e})[0]||{}:t[e],n=n?t[n]:t;return null==n?"":n},insertTemplate:function(){return this.inserting?this.insertControl=this._createSelect():""},editTemplate:function(t){var e,i;return this.editing?(e=this.editControl=this._createSelect(),void 0!==(i="object"==typeof(i=t)?t[this.valueField]:t)&&e.val(i),e):this.itemTemplate.apply(this,arguments)},insertValue:function(){var t=this.insertControl.val();return this.valueType===n?parseInt(t||0,10):t},editValue:function(){var t=this.editControl.val();return this.valueType===n?parseInt(t||0,10):t},filterTemplate:function(){var t,i,n,r,e,o;return this.filtering?(Array.isArray(this.items)?(t=this.items.slice(0),this.pseudoElement?t.unshift(this.pseudoElement):((o={})[this.textField]="",o[this.valueField]=null,t.unshift(o))):"object"==typeof this.items&&(t=Object.assign({},this.items),t="object"==typeof this.pseudoElement&&this.pseudoElement?Object.assign({},t,this.pseudoElement):Object.assign({},{"":null},t)),null!==this.defaultSelected&&(i=this.valueField,n=this.defaultSelected,r=-1,l.each(t,function(t,e){if((i?e[i]:t)==n)return r=t,!1}),-1!==r&&(this.selectedIndex=r),this.defaultSelected=null),e=this._grid,o=this.filterControl=this._createSelect(t),this.autosearch&&o.on("change",function(t){e.search()}),o):""},filterValue:function(){var t=this.filterControl.val();return this.valueType===n?parseInt(t||0,10):t},_createSelect:function(t){var e,n=l("<select>"),r=this.valueField,o=this.textField,s=this.selectedIndex;return l.each(t||this.items,function(t,e){var i=r?e[r]:t,e=o?e[o]:e;l("<option>").attr("value",i).text(e).appendTo(n).prop("selected",s===t)}),n.prop("disabled",!!this.readOnly),this.select2&&(e=Object.assign({},this.select2,{width:"100%"}),setTimeout(function(){n.select2(e)},0)),n}}),t.fields.Xselect=e):window.console&&console.error("[jsxgrid] jsgrid.field.Xselect.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.")})(window.jsGrid,window.jQuery),((t,r)=>{var e,i;t?(e=t.Field,(i=function(t){e.call(this,t)}).prototype=new e({autosearch:!0,readOnly:!1,maxShowSymbols:50,defaultSelected:null,filterTemplate:function(){var e,t;return this.filtering?(e=this._grid,t=this.filterControl=this._createTextBox(),this.autosearch&&t.on("keypress",function(t){13===t.which&&(e.search(),t.preventDefault())}),null!==this.defaultSelected&&(t.val(this.defaultSelected),this.defaultSelected=null),t):""},filterValue:function(){return this.filterControl.val()},insertTemplate:function(){return this.inserting?this.insertControl=this._createTextArea():""},editTemplate:function(t){var e;return this.editing?((e=this.editControl=this._createTextArea()).val(t),e):this.itemTemplate.apply(this,arguments)},insertValue:function(){return this.insertControl.val()},editValue:function(){return this.editControl.val()},_createTextBox:function(){return r("<input>").attr("type","text").prop("readonly",!!this.readOnly)},_createTextArea:function(){return r("<textarea>").prop("readonly",!!this.readOnly)},itemTemplate:function(t,e){var i,n;return(t=null==t?"":String(t)).length<=this.maxShowSymbols?r("<div>").text(t):(i=t.slice(0,this.maxShowSymbols),n=r("<div>").text(i+" ...").one("click",function(){return n.text(t),!1}))}}),t.fields.Xtextarea=i):window.console&&console.error("[jsxgrid] jsgrid.field.Xtextarea.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.")})(window.jsGrid,window.jQuery),((n,r)=>{var e,t;n?(e=n.Field,(t=function(t){e.call(this,t)}).prototype=new e({autosearch:!0,readOnly:!1,templates:[],closeText:"Save",editText:"Editor",defaultSelected:null,filterTemplate:function(){var e,t;return this.filtering?(e=this._grid,t=this.filterControl=this._createTextBox(),this.autosearch&&t.on("keypress",function(t){13===t.which&&(e.search(),t.preventDefault())}),null!==this.defaultSelected&&(t.val(this.defaultSelected),this.defaultSelected=null),t):""},filterValue:function(){return this.filterControl.val()},insertValue:function(){return this.insertControl.val()},editValue:function(){return this.editControl.val()},_createTextBox:function(){return r("<input>").attr("type","text").prop("readonly",!!this.readOnly)},_doModal:function(t,e,i){return n.popup(t,e)},_createJsonEditor:function(t,e){if("undefined"==typeof JSONEditor)throw new Error("Xjsoneditor requires the 'jsoneditor' package to be loaded on the page.");"object"!=typeof(t=t||{})&&(t=JSON.parse(t));var i=r('<div style="height: 500px;">'),e=(r("body").append(i),i=i[0],{templates:this.templates,modes:["code","text","tree"],onError:function(t){alert(t.toString())},mode:e||"view"});return new JSONEditor(i,e,t)},itemTemplate:function(e,t){var i=this;return r("<button>"+i.editText+"</button>").click(function(){var t=i._createJsonEditor(e);return i._doModal(t.container,{onClose:function(){r(t.container).remove(),t.destroy()}}),!1})},insertTemplate:function(){var t;return this.inserting?(t=this).insertControl=r("<textarea>").click(function(){var e=t._createJsonEditor({},"tree"),i=r(this);return t._doModal(e.container,{closeText:t.closeText,onClose:function(){var t=e.get();r.isEmptyObject(t)?i.val({}):i.val(JSON.stringify(t)),e.destroy()}}),!1}):""},editTemplate:function(t){var n;return this.editing?(n=this).editControl=r("<textarea>").val(t).click(function(){var e=r(this),i=n._createJsonEditor(e.val(),"tree");return n._doModal(i.container,{closeText:n.closeText,onClose:function(){var t=i.get();r.isEmptyObject(t)?e.val({}):e.val(JSON.stringify(t)),i.destroy()}}),!1}):this.itemTemplate.apply(this,arguments)}}),n.fields.Xjsoneditor=t):window.console&&console.error("[jsxgrid] jsgrid.field.Xjsoneditor.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.")})(window.jsGrid,window.jQuery),((e,n)=>{var t;e?((t=function(t){this.selectedItems=[],this.uid=Date.now().toString(36)+Math.random().toString(36).substring(2),e.Field.call(this,t)}).prototype=new e.Field({filtering:!1,deleteItemByItem:!1,buttonText:"",selectedItemsAction:function(t){},unselectAll:function(){this.selectedItems=[],this._grid._container.find("[data-uid='"+this.uid+"'] ").prop("checked",!1)},headerTemplate:function(){var e;return this.buttonText?(e=this,n("<button>").attr("type","button").text(e.buttonText).on("click",function(t){e.selectedItemsAction(e.selectedItems),t.stopPropagation()})):""},itemTemplate:function(t,e){var i=this;return n("<input data-uid='"+i.uid+"' type='checkbox'>").prop("checked",-1<n.inArray(e,i.selectedItems)).on("change",function(){n(this).is(":checked")?i.selectItem(e):i.unselectItem(e)}).click(function(t){t.stopPropagation()})},editTemplate:function(){return""},align:"center",selectItem:function(t){this.selectedItems.push(t)},unselectItem:function(e){this.selectedItems=n.grep(this.selectedItems,function(t){return t!==e})}}),e.fields.XRowSelectField=t):window.console&&console.error("[jsxgrid] jsgrid.field.XRowSelectField.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.")})(window.jsGrid,window.jQuery),((e,o)=>{var t;e?((t=function(t){e.Field.call(this,t)}).prototype=new e.Field({css:"date-field",align:"center",datePickerType:"datetime-local",dateRange:!1,defaultSelected:null,sorter:function(t,e){return new Date(t)-new Date(e)},filterTemplate:function(){var e,t,i,n,r;return this.filtering?(e=this._grid,t=o(),this.dateRange?(r=o("<div class='jsgrid-date-range-wrapper'>"),i=o("<input>",{class:"jsgrid-date-picker jsgrid-date-start",type:this.datePickerType,title:"Period date start"}),n=o("<input>",{class:"jsgrid-date-picker jsgrid-date-end",type:this.datePickerType,title:"Period date end"}),r.val=function(){return{from:i.val(),to:n.val()}},t=this.filterControl=r.append(i).append(n),null!==this.defaultSelected&&(r=this.defaultSelected||{},i.val(r.from||""),n.val(r.to||""),this.defaultSelected=null),this.autosearch&&t.on("change",".jsgrid-date-picker",function(t){e.search()})):(t=this.filterControl=this._createPicker(),null!==this.defaultSelected&&(t.val(this.defaultSelected),this.defaultSelected=null),this.autosearch&&t.on("change",function(t){e.search()})),t):""},filterValue:function(){return this.filterControl.val()},itemTemplate:function(t){var e;return t?(e=this.options||{weekday:"short",year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"},new Date(t.replace(" ","T")).toLocaleDateString(void 0,e)):""},insertTemplate:function(){return this._insertPicker=this._createPicker()},editTemplate:function(t){return this._editPicker=this._createPicker().val(t)},insertValue:function(){return this._insertPicker.val()},editValue:function(){return this._editPicker.val()},_createPicker:function(){return o("<input class='date-picker'>").attr("type",this.datePickerType)}}),e.fields.XDateTimeField=t):window.console&&console.error("[jsxgrid] jsgrid.field.XDateTimeField.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.")})(window.jsGrid,window.jQuery),((t,s)=>{var e;function i(t){e.call(this,t),this.includeInDataExport=!1,this._configInitialized=!1}t?(e=t.Field,i.prototype=new e({css:"jsgrid-control-field",align:"center",width:50,filtering:!1,inserting:!1,editing:!1,sorting:!1,buttonClass:"jsgrid-button",modeButtonClass:"jsgrid-mode-button",modeOnButtonClass:"jsgrid-mode-on-button",searchModeButtonClass:"jsgrid-search-mode-button",insertModeButtonClass:"jsgrid-insert-mode-button",editButtonClass:"jsgrid-edit-button",deleteButtonClass:"jsgrid-delete-button",searchButtonClass:"jsgrid-search-button",clearFilterButtonClass:"jsgrid-clear-filter-button",insertButtonClass:"jsgrid-insert-button",updateButtonClass:"jsgrid-update-button",cancelEditButtonClass:"jsgrid-cancel-edit-button",searchModeButtonTooltip:"Switch to searching",insertModeButtonTooltip:"Switch to inserting",editButtonTooltip:"Edit",deleteButtonTooltip:"Delete",searchButtonTooltip:"Search",clearFilterButtonTooltip:"Clear filter",insertButtonTooltip:"Insert",updateButtonTooltip:"Update",cancelEditButtonTooltip:"Cancel edit",editButton:!0,deleteButton:!0,clearFilterButton:!0,modeSwitchButton:!0,_initConfig:function(){this._hasFiltering=this._grid.filtering,this._hasInserting=this._grid.inserting,this._hasInserting&&this.modeSwitchButton&&(this._grid.inserting=!1),this._configInitialized=!0},headerTemplate:function(){this._configInitialized||this._initConfig();var t=this._hasFiltering,e=this._hasInserting;return this.modeSwitchButton&&(t||e)?t&&!e?this._createFilterSwitchButton():e&&!t?this._createInsertSwitchButton():this._createModeSwitchButton():""},itemTemplate:function(t,e){var i=s([]);return this.editButton&&(i=i.add(this._createEditButton(e))),i=this.deleteButton?i.add(this._createDeleteButton(e)):i},filterTemplate:function(){var t=this._createSearchButton();return this.clearFilterButton?t.add(this._createClearFilterButton()):t},insertTemplate:function(){return this._createInsertButton()},editTemplate:function(){return this._createUpdateButton().add(this._createCancelEditButton())},_createFilterSwitchButton:function(){return this._createOnOffSwitchButton("filtering",this.searchModeButtonClass,!0)},_createInsertSwitchButton:function(){return this._createOnOffSwitchButton("inserting",this.insertModeButtonClass,!1)},_createOnOffSwitchButton:function(e,t,i){var n=i,r=s.proxy(function(){o.toggleClass(this.modeOnButtonClass,n)},this),o=this._createGridButton(this.modeButtonClass+" "+t,"",function(t){n=!n,t.option(e,n),r()});return r(),o},_createModeSwitchButton:function(){var e=!1,i=s.proxy(function(){t.attr("title",e?this.searchModeButtonTooltip:this.insertModeButtonTooltip).toggleClass(this.insertModeButtonClass,!e).toggleClass(this.searchModeButtonClass,e)},this),t=this._createGridButton(this.modeButtonClass,"",function(t){e=!e,t.option("inserting",e),t.option("filtering",!e),i()});return i(),t},_createEditButton:function(i){return this._createGridButton(this.editButtonClass,this.editButtonTooltip,function(t,e){t.editItem(i),e.stopPropagation()})},_createDeleteButton:function(i){return this._createGridButton(this.deleteButtonClass,this.deleteButtonTooltip,function(t,e){t.deleteItem(i),e.stopPropagation()})},_createSearchButton:function(){return this._createGridButton(this.searchButtonClass,this.searchButtonTooltip,function(t){t.search()})},_createClearFilterButton:function(){return this._createGridButton(this.clearFilterButtonClass,this.clearFilterButtonTooltip,function(t){t.clearFilter()})},_createInsertButton:function(){return this._createGridButton(this.insertButtonClass,this.insertButtonTooltip,function(t){t.insertItem().done(function(){t.clearInsert()})})},_createUpdateButton:function(){return this._createGridButton(this.updateButtonClass,this.updateButtonTooltip,function(t,e){t.updateItem(),e.stopPropagation()})},_createCancelEditButton:function(){return this._createGridButton(this.cancelEditButtonClass,this.cancelEditButtonTooltip,function(t,e){t.cancelEdit(),e.stopPropagation()})},_createGridButton:function(t,e,i){var n=this._grid;return s("<input>").addClass(this.buttonClass).addClass(t).attr({type:"button",title:e}).on("click",function(t){i(n,t)})},editValue:function(){return""}}),t.fields.Xcontrol=i):window.console&&console.error("[jsxgrid] jsgrid.field.Xcontrol.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.")})(window.jsGrid,window.jQuery);
|
package/dist/jsxgrid.css
CHANGED
package/dist/jsxgrid.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* jsxgrid v2.
|
|
2
|
+
* jsxgrid v2.3.0 (https://github.com/rok9ru/jsxgrid#readme)
|
|
3
3
|
* (c) 2026 Mikhail Kremza
|
|
4
4
|
* Licensed under MIT
|
|
5
5
|
*/
|
|
@@ -277,6 +277,13 @@
|
|
|
277
277
|
var fieldsLocale = self._fieldsLocaleConfig;
|
|
278
278
|
self.fields = $.map(self.fields, function(field) {
|
|
279
279
|
if($.isPlainObject(field)) {
|
|
280
|
+
if(field.type && !jsGrid.fields[field.type] && window.console) {
|
|
281
|
+
// falls back to the plain base Field below (no filter/insert/edit
|
|
282
|
+
// templates), which otherwise fails completely silently - most
|
|
283
|
+
// often caused by the field's script loading before the engine,
|
|
284
|
+
// or before the field type it's supposed to register
|
|
285
|
+
console.warn("[jsxgrid] unknown field type \"" + field.type + "\" - falling back to the base field (no filtering/inserting/editing UI). Check that its script is loaded, and after jsxgrid.js.");
|
|
286
|
+
}
|
|
280
287
|
var fieldConstructor = (field.type && jsGrid.fields[field.type]) || jsGrid.Field;
|
|
281
288
|
var fieldLocale = fieldsLocale && field.type && fieldsLocale[field.type];
|
|
282
289
|
if(fieldLocale) {
|
|
@@ -1697,7 +1704,7 @@
|
|
|
1697
1704
|
setDefaults: setDefaults,
|
|
1698
1705
|
locales: locales,
|
|
1699
1706
|
locale: locale,
|
|
1700
|
-
version: '2.
|
|
1707
|
+
version: '2.3.0'
|
|
1701
1708
|
};
|
|
1702
1709
|
|
|
1703
1710
|
}(window, jQuery));
|