jsxgrid 2.1.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.
Files changed (78) hide show
  1. package/README.md +43 -0
  2. package/dist/fields/jsgrid.field.XDateTimeField.min.js +2 -2
  3. package/dist/fields/jsgrid.field.XRowSelectField.min.js +2 -2
  4. package/dist/fields/jsgrid.field.Xcheckbox.min.js +2 -2
  5. package/dist/fields/jsgrid.field.Xcontrol.min.js +2 -2
  6. package/dist/fields/jsgrid.field.XimgField.min.js +2 -2
  7. package/dist/fields/jsgrid.field.Xjsoneditor.min.js +2 -2
  8. package/dist/fields/jsgrid.field.Xnumber.min.js +2 -2
  9. package/dist/fields/jsgrid.field.Xselect.min.js +2 -2
  10. package/dist/fields/jsgrid.field.Xtext.min.js +2 -2
  11. package/dist/fields/jsgrid.field.Xtextarea.min.js +2 -2
  12. package/dist/fields/lib/jsGridSummaryPlugin.min.js +1 -1
  13. package/dist/fields/lib/jsgrid.popup.basic.min.js +1 -1
  14. package/dist/i18n/jsgrid-Ko.js +28 -2
  15. package/dist/i18n/jsgrid-cs.js +28 -2
  16. package/dist/i18n/jsgrid-de.js +28 -2
  17. package/dist/i18n/jsgrid-el.js +28 -2
  18. package/dist/i18n/jsgrid-es.js +28 -2
  19. package/dist/i18n/jsgrid-fa.js +28 -2
  20. package/dist/i18n/jsgrid-fr.js +28 -2
  21. package/dist/i18n/jsgrid-he.js +28 -2
  22. package/dist/i18n/jsgrid-it.js +28 -2
  23. package/dist/i18n/jsgrid-ja.js +28 -2
  24. package/dist/i18n/jsgrid-ka.js +28 -2
  25. package/dist/i18n/jsgrid-lt.js +28 -2
  26. package/dist/i18n/jsgrid-pl.js +28 -2
  27. package/dist/i18n/jsgrid-pt-br.js +28 -2
  28. package/dist/i18n/jsgrid-pt.js +28 -2
  29. package/dist/i18n/jsgrid-ru.js +28 -2
  30. package/dist/i18n/jsgrid-tr.js +28 -2
  31. package/dist/i18n/jsgrid-zh-cn.js +28 -2
  32. package/dist/i18n/jsgrid-zh-tw.js +28 -2
  33. package/dist/jsxgrid-fields.js +61 -13
  34. package/dist/jsxgrid-fields.min.js +2 -2
  35. package/dist/jsxgrid-theme.css +1 -1
  36. package/dist/jsxgrid-xfields.js +98 -18
  37. package/dist/jsxgrid-xfields.min.js +2 -2
  38. package/dist/jsxgrid.css +1 -1
  39. package/dist/jsxgrid.js +59 -5
  40. package/dist/jsxgrid.min.js +2 -2
  41. package/package.json +1 -1
  42. package/src/fields/jsgrid.field.XDateTimeField.js +10 -2
  43. package/src/fields/jsgrid.field.XRowSelectField.js +10 -2
  44. package/src/fields/jsgrid.field.Xcheckbox.js +10 -2
  45. package/src/fields/jsgrid.field.Xcontrol.js +9 -1
  46. package/src/fields/jsgrid.field.XimgField.js +10 -2
  47. package/src/fields/jsgrid.field.Xjsoneditor.js +10 -2
  48. package/src/fields/jsgrid.field.Xnumber.js +9 -1
  49. package/src/fields/jsgrid.field.Xselect.js +10 -2
  50. package/src/fields/jsgrid.field.Xtext.js +9 -1
  51. package/src/fields/jsgrid.field.Xtextarea.js +10 -2
  52. package/src/fields/jsgrid.field.checkbox.js +10 -2
  53. package/src/fields/jsgrid.field.control.js +10 -2
  54. package/src/fields/jsgrid.field.number.js +10 -2
  55. package/src/fields/jsgrid.field.select.js +10 -2
  56. package/src/fields/jsgrid.field.text.js +10 -2
  57. package/src/fields/jsgrid.field.textarea.js +10 -2
  58. package/src/i18n/Ko.js +28 -2
  59. package/src/i18n/cs.js +28 -2
  60. package/src/i18n/de.js +28 -2
  61. package/src/i18n/el.js +28 -2
  62. package/src/i18n/es.js +28 -2
  63. package/src/i18n/fa.js +28 -2
  64. package/src/i18n/fr.js +28 -2
  65. package/src/i18n/he.js +28 -2
  66. package/src/i18n/it.js +28 -2
  67. package/src/i18n/ja.js +28 -2
  68. package/src/i18n/ka.js +28 -2
  69. package/src/i18n/lt.js +28 -2
  70. package/src/i18n/pl.js +28 -2
  71. package/src/i18n/pt-br.js +28 -2
  72. package/src/i18n/pt.js +28 -2
  73. package/src/i18n/ru.js +28 -2
  74. package/src/i18n/tr.js +28 -2
  75. package/src/i18n/zh-cn.js +28 -2
  76. package/src/i18n/zh-tw.js +28 -2
  77. package/src/jsgrid.core.js +51 -2
  78. package/src/jsgrid.validation.js +6 -1
@@ -1,4 +1,12 @@
1
- (function(jsGrid) {
1
+ (function(jsGrid) {
2
+
3
+ if (!jsGrid) {
4
+ if (window.console) {
5
+ console.error("[jsxgrid] it.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.");
6
+ }
7
+ return;
8
+ }
9
+
2
10
 
3
11
  jsGrid.locales.it = {
4
12
  grid: {
@@ -28,6 +36,24 @@
28
36
  insertButtonTooltip: "Inserisci",
29
37
  updateButtonTooltip: "Aggiorna",
30
38
  cancelEditButtonTooltip: "Annulla"
39
+ },
40
+ Xcontrol: {
41
+ searchModeButtonTooltip: "Modallità ricerca",
42
+ insertModeButtonTooltip: "Modalità inserimento",
43
+ editButtonTooltip: "Modifica",
44
+ deleteButtonTooltip: "Cancella",
45
+ searchButtonTooltip: "Cerca",
46
+ clearFilterButtonTooltip: "Cancella filtri",
47
+ insertButtonTooltip: "Inserisci",
48
+ updateButtonTooltip: "Aggiorna",
49
+ cancelEditButtonTooltip: "Annulla"
50
+ },
51
+ XimgField: {
52
+ editButtonText: "Apri gestore file"
53
+ },
54
+ Xjsoneditor: {
55
+ editText: "Editor",
56
+ closeText: "Salva"
31
57
  }
32
58
  },
33
59
 
@@ -43,5 +69,5 @@
43
69
  }
44
70
  };
45
71
 
46
- }(jsGrid, jQuery));
72
+ }(window.jsGrid, window.jQuery));
47
73
 
@@ -1,4 +1,12 @@
1
- (function(jsGrid) {
1
+ (function(jsGrid) {
2
+
3
+ if (!jsGrid) {
4
+ if (window.console) {
5
+ console.error("[jsxgrid] ja.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.");
6
+ }
7
+ return;
8
+ }
9
+
2
10
 
3
11
  jsGrid.locales.ja = {
4
12
  grid: {
@@ -28,6 +36,24 @@
28
36
  insertButtonTooltip: "登録",
29
37
  updateButtonTooltip: "更新",
30
38
  cancelEditButtonTooltip: "編集戻す"
39
+ },
40
+ Xcontrol: {
41
+ searchModeButtonTooltip: "検索モードへ",
42
+ insertModeButtonTooltip: "登録モードへ",
43
+ editButtonTooltip: "編集",
44
+ deleteButtonTooltip: "削除",
45
+ searchButtonTooltip: "フィルター",
46
+ clearFilterButtonTooltip: "クリア",
47
+ insertButtonTooltip: "登録",
48
+ updateButtonTooltip: "更新",
49
+ cancelEditButtonTooltip: "編集戻す"
50
+ },
51
+ XimgField: {
52
+ editButtonText: "ファイルマネージャーを開く"
53
+ },
54
+ Xjsoneditor: {
55
+ editText: "エディター",
56
+ closeText: "保存"
31
57
  }
32
58
  },
33
59
 
@@ -43,4 +69,4 @@
43
69
  }
44
70
  };
45
71
 
46
- }(jsGrid, jQuery));
72
+ }(window.jsGrid, window.jQuery));
@@ -1,4 +1,12 @@
1
- (function(jsGrid) {
1
+ (function(jsGrid) {
2
+
3
+ if (!jsGrid) {
4
+ if (window.console) {
5
+ console.error("[jsxgrid] ka.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.");
6
+ }
7
+ return;
8
+ }
9
+
2
10
 
3
11
  jsGrid.locales.ka = {
4
12
  grid: {
@@ -28,6 +36,24 @@
28
36
  insertButtonTooltip: "დამატება",
29
37
  updateButtonTooltip: "შენახვა",
30
38
  cancelEditButtonTooltip: "გაუქმება"
39
+ },
40
+ Xcontrol: {
41
+ searchModeButtonTooltip: "ძებნა",
42
+ insertModeButtonTooltip: "ჩანაწერის დამატება",
43
+ editButtonTooltip: "შესწორება",
44
+ deleteButtonTooltip: "წაშლა",
45
+ searchButtonTooltip: "ძებნა",
46
+ clearFilterButtonTooltip: "ფილტრის გასუფთავება",
47
+ insertButtonTooltip: "დამატება",
48
+ updateButtonTooltip: "შენახვა",
49
+ cancelEditButtonTooltip: "გაუქმება"
50
+ },
51
+ XimgField: {
52
+ editButtonText: "ფაილების მენეჯერის გახსნა"
53
+ },
54
+ Xjsoneditor: {
55
+ editText: "რედაქტორი",
56
+ closeText: "შენახვა"
31
57
  }
32
58
  },
33
59
 
@@ -43,4 +69,4 @@
43
69
  }
44
70
  };
45
71
 
46
- }(jsGrid, jQuery));
72
+ }(window.jsGrid, window.jQuery));
@@ -1,4 +1,12 @@
1
- (function(jsGrid) {
1
+ (function(jsGrid) {
2
+
3
+ if (!jsGrid) {
4
+ if (window.console) {
5
+ console.error("[jsxgrid] lt.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.");
6
+ }
7
+ return;
8
+ }
9
+
2
10
 
3
11
  jsGrid.locales.lt = {
4
12
  grid: {
@@ -28,6 +36,24 @@
28
36
  insertButtonTooltip: "Pridėti",
29
37
  updateButtonTooltip: "Išsaugoti",
30
38
  cancelEditButtonTooltip: "Atšaukti"
39
+ },
40
+ Xcontrol: {
41
+ searchModeButtonTooltip: "Paieška",
42
+ insertModeButtonTooltip: "Naujas įrašas",
43
+ editButtonTooltip: "Pakeisti",
44
+ deleteButtonTooltip: "Pašalinti",
45
+ searchButtonTooltip: "Surasti",
46
+ clearFilterButtonTooltip: "Išvalyti filtrą",
47
+ insertButtonTooltip: "Pridėti",
48
+ updateButtonTooltip: "Išsaugoti",
49
+ cancelEditButtonTooltip: "Atšaukti"
50
+ },
51
+ XimgField: {
52
+ editButtonText: "Atidaryti failų tvarkyklę"
53
+ },
54
+ Xjsoneditor: {
55
+ editText: "Redaktorius",
56
+ closeText: "Išsaugoti"
31
57
  }
32
58
  },
33
59
 
@@ -43,5 +69,5 @@
43
69
  }
44
70
  };
45
71
 
46
- }(jsGrid, jQuery));
72
+ }(window.jsGrid, window.jQuery));
47
73
 
@@ -1,4 +1,12 @@
1
- (function(jsGrid) {
1
+ (function(jsGrid) {
2
+
3
+ if (!jsGrid) {
4
+ if (window.console) {
5
+ console.error("[jsxgrid] pl.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.");
6
+ }
7
+ return;
8
+ }
9
+
2
10
 
3
11
  jsGrid.locales.pl = {
4
12
  grid: {
@@ -28,6 +36,24 @@
28
36
  insertButtonTooltip: "Dodaj",
29
37
  updateButtonTooltip: "Aktualizuj",
30
38
  cancelEditButtonTooltip: "Anuluj edytowanie"
39
+ },
40
+ Xcontrol: {
41
+ searchModeButtonTooltip: "Wyszukiwanie",
42
+ insertModeButtonTooltip: "Dodawanie",
43
+ editButtonTooltip: "Edytuj",
44
+ deleteButtonTooltip: "Usuń",
45
+ searchButtonTooltip: "Szukaj",
46
+ clearFilterButtonTooltip: "Wyczyść filtr",
47
+ insertButtonTooltip: "Dodaj",
48
+ updateButtonTooltip: "Aktualizuj",
49
+ cancelEditButtonTooltip: "Anuluj edytowanie"
50
+ },
51
+ XimgField: {
52
+ editButtonText: "Otwórz menedżera plików"
53
+ },
54
+ Xjsoneditor: {
55
+ editText: "Edytor",
56
+ closeText: "Zapisz"
31
57
  }
32
58
  },
33
59
 
@@ -59,4 +85,4 @@
59
85
  }
60
86
  };
61
87
 
62
- }(jsGrid, jQuery));
88
+ }(window.jsGrid, window.jQuery));
@@ -1,4 +1,12 @@
1
- (function(jsGrid) {
1
+ (function(jsGrid) {
2
+
3
+ if (!jsGrid) {
4
+ if (window.console) {
5
+ console.error("[jsxgrid] pt-br.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.");
6
+ }
7
+ return;
8
+ }
9
+
2
10
 
3
11
  jsGrid.locales["pt-br"] = {
4
12
  grid: {
@@ -28,6 +36,24 @@
28
36
  insertButtonTooltip: "Adicionar",
29
37
  updateButtonTooltip: "Atualizar",
30
38
  cancelEditButtonTooltip: "Cancelar Edição"
39
+ },
40
+ Xcontrol: {
41
+ searchModeButtonTooltip: "Mudar para busca",
42
+ insertModeButtonTooltip: "Mudar para inserção",
43
+ editButtonTooltip: "Editar",
44
+ deleteButtonTooltip: "Remover",
45
+ searchButtonTooltip: "Buscar",
46
+ clearFilterButtonTooltip: "Remover filtro",
47
+ insertButtonTooltip: "Adicionar",
48
+ updateButtonTooltip: "Atualizar",
49
+ cancelEditButtonTooltip: "Cancelar Edição"
50
+ },
51
+ XimgField: {
52
+ editButtonText: "Abrir gerenciador de arquivos"
53
+ },
54
+ Xjsoneditor: {
55
+ editText: "Editor",
56
+ closeText: "Salvar"
31
57
  }
32
58
  },
33
59
 
@@ -43,4 +69,4 @@
43
69
  }
44
70
  };
45
71
 
46
- }(jsGrid, jQuery));
72
+ }(window.jsGrid, window.jQuery));
@@ -1,4 +1,12 @@
1
- (function(jsGrid) {
1
+ (function(jsGrid) {
2
+
3
+ if (!jsGrid) {
4
+ if (window.console) {
5
+ console.error("[jsxgrid] pt.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.");
6
+ }
7
+ return;
8
+ }
9
+
2
10
 
3
11
  jsGrid.locales.pt = {
4
12
  grid: {
@@ -28,6 +36,24 @@
28
36
  insertButtonTooltip: "Adicionar",
29
37
  updateButtonTooltip: "Atualizar",
30
38
  cancelEditButtonTooltip: "Cancelar Edição"
39
+ },
40
+ Xcontrol: {
41
+ searchModeButtonTooltip: "Mudar para busca",
42
+ insertModeButtonTooltip: "Mudar para inserção",
43
+ editButtonTooltip: "Editar",
44
+ deleteButtonTooltip: "Remover",
45
+ searchButtonTooltip: "Buscar",
46
+ clearFilterButtonTooltip: "Remover filtro",
47
+ insertButtonTooltip: "Adicionar",
48
+ updateButtonTooltip: "Atualizar",
49
+ cancelEditButtonTooltip: "Cancelar Edição"
50
+ },
51
+ XimgField: {
52
+ editButtonText: "Abrir gestor de ficheiros"
53
+ },
54
+ Xjsoneditor: {
55
+ editText: "Editor",
56
+ closeText: "Guardar"
31
57
  }
32
58
  },
33
59
 
@@ -43,4 +69,4 @@
43
69
  }
44
70
  };
45
71
 
46
- }(jsGrid, jQuery));
72
+ }(window.jsGrid, window.jQuery));
@@ -1,4 +1,12 @@
1
- (function(jsGrid) {
1
+ (function(jsGrid) {
2
+
3
+ if (!jsGrid) {
4
+ if (window.console) {
5
+ console.error("[jsxgrid] ru.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.");
6
+ }
7
+ return;
8
+ }
9
+
2
10
 
3
11
  jsGrid.locales.ru = {
4
12
  grid: {
@@ -28,6 +36,24 @@
28
36
  insertButtonTooltip: "Добавить",
29
37
  updateButtonTooltip: "Сохранить",
30
38
  cancelEditButtonTooltip: "Отменить"
39
+ },
40
+ Xcontrol: {
41
+ searchModeButtonTooltip: "Поиск",
42
+ insertModeButtonTooltip: "Добавить запись",
43
+ editButtonTooltip: "Изменить",
44
+ deleteButtonTooltip: "Удалить",
45
+ searchButtonTooltip: "Найти",
46
+ clearFilterButtonTooltip: "Очистить фильтр",
47
+ insertButtonTooltip: "Добавить",
48
+ updateButtonTooltip: "Сохранить",
49
+ cancelEditButtonTooltip: "Отменить"
50
+ },
51
+ XimgField: {
52
+ editButtonText: "Открыть менеджер файлов"
53
+ },
54
+ Xjsoneditor: {
55
+ editText: "Редактор",
56
+ closeText: "Сохранить"
31
57
  }
32
58
  },
33
59
 
@@ -43,5 +69,5 @@
43
69
  }
44
70
  };
45
71
 
46
- }(jsGrid, jQuery));
72
+ }(window.jsGrid, window.jQuery));
47
73
 
@@ -1,4 +1,12 @@
1
- (function(jsGrid) {
1
+ (function(jsGrid) {
2
+
3
+ if (!jsGrid) {
4
+ if (window.console) {
5
+ console.error("[jsxgrid] tr.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.");
6
+ }
7
+ return;
8
+ }
9
+
2
10
 
3
11
  jsGrid.locales.tr = {
4
12
  grid: {
@@ -28,6 +36,24 @@
28
36
  insertButtonTooltip: "Ekle",
29
37
  updateButtonTooltip: "Güncelle",
30
38
  cancelEditButtonTooltip: "Güncelleme iptali"
39
+ },
40
+ Xcontrol: {
41
+ searchModeButtonTooltip: "Arama moduna geç",
42
+ insertModeButtonTooltip: "Yeni kayıt moduna geç",
43
+ editButtonTooltip: "Değiştir",
44
+ deleteButtonTooltip: "Sil",
45
+ searchButtonTooltip: "Bul",
46
+ clearFilterButtonTooltip: "Filtreyi temizle",
47
+ insertButtonTooltip: "Ekle",
48
+ updateButtonTooltip: "Güncelle",
49
+ cancelEditButtonTooltip: "Güncelleme iptali"
50
+ },
51
+ XimgField: {
52
+ editButtonText: "Dosya yöneticisini aç"
53
+ },
54
+ Xjsoneditor: {
55
+ editText: "Düzenleyici",
56
+ closeText: "Kaydet"
31
57
  }
32
58
  },
33
59
 
@@ -43,5 +69,5 @@
43
69
  }
44
70
  };
45
71
 
46
- }(jsGrid, jQuery));
72
+ }(window.jsGrid, window.jQuery));
47
73
 
@@ -1,4 +1,12 @@
1
- (function(jsGrid) {
1
+ (function(jsGrid) {
2
+
3
+ if (!jsGrid) {
4
+ if (window.console) {
5
+ console.error("[jsxgrid] zh-cn.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.");
6
+ }
7
+ return;
8
+ }
9
+
2
10
 
3
11
  jsGrid.locales["zh-cn"] = {
4
12
  grid: {
@@ -28,6 +36,24 @@
28
36
  insertButtonTooltip: "插入",
29
37
  updateButtonTooltip: "更新",
30
38
  cancelEditButtonTooltip: "取消编辑"
39
+ },
40
+ Xcontrol: {
41
+ searchModeButtonTooltip: "切换为搜索",
42
+ insertModeButtonTooltip: "切换为新增",
43
+ editButtonTooltip: "编辑",
44
+ deleteButtonTooltip: "删除",
45
+ searchButtonTooltip: "搜索",
46
+ clearFilterButtonTooltip: "清空过滤",
47
+ insertButtonTooltip: "插入",
48
+ updateButtonTooltip: "更新",
49
+ cancelEditButtonTooltip: "取消编辑"
50
+ },
51
+ XimgField: {
52
+ editButtonText: "打开文件管理器"
53
+ },
54
+ Xjsoneditor: {
55
+ editText: "编辑器",
56
+ closeText: "保存"
31
57
  }
32
58
  },
33
59
 
@@ -43,4 +69,4 @@
43
69
  }
44
70
  };
45
71
 
46
- }(jsGrid, jQuery));
72
+ }(window.jsGrid, window.jQuery));
@@ -1,4 +1,12 @@
1
- (function(jsGrid) {
1
+ (function(jsGrid) {
2
+
3
+ if (!jsGrid) {
4
+ if (window.console) {
5
+ console.error("[jsxgrid] zh-tw.js was loaded before the jsxgrid engine (jsxgrid.js) - include the engine first.");
6
+ }
7
+ return;
8
+ }
9
+
2
10
 
3
11
  jsGrid.locales["zh-tw"] = {
4
12
  grid: {
@@ -28,6 +36,24 @@
28
36
  insertButtonTooltip: "新增",
29
37
  updateButtonTooltip: "修改",
30
38
  cancelEditButtonTooltip: "取消編輯"
39
+ },
40
+ Xcontrol: {
41
+ searchModeButtonTooltip: "切換為搜尋",
42
+ insertModeButtonTooltip: "切換為新增",
43
+ editButtonTooltip: "編輯",
44
+ deleteButtonTooltip: "刪除",
45
+ searchButtonTooltip: "搜尋",
46
+ clearFilterButtonTooltip: "清除搜尋條件",
47
+ insertButtonTooltip: "新增",
48
+ updateButtonTooltip: "修改",
49
+ cancelEditButtonTooltip: "取消編輯"
50
+ },
51
+ XimgField: {
52
+ editButtonText: "開啟檔案總管"
53
+ },
54
+ Xjsoneditor: {
55
+ editText: "編輯器",
56
+ closeText: "儲存"
31
57
  }
32
58
  },
33
59
 
@@ -43,4 +69,4 @@
43
69
  }
44
70
  };
45
71
 
46
- }(jsGrid, jQuery));
72
+ }(window.jsGrid, window.jQuery));
@@ -1,10 +1,18 @@
1
1
  /*
2
- * jsxgrid v2.1.0 (https://github.com/rok9ru/jsxgrid#readme)
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.1.0 (https://github.com/rok9ru/jsxgrid#readme)
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=t.Field;function n(t){i.call(this,t)}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})(jsGrid,jQuery),((t,e,i)=>{var n=t.TextField;function r(t){n.call(this,t)}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})(jsGrid,jQuery),((t,e)=>{var i=t.TextField;function n(t){i.call(this,t)}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})(jsGrid,jQuery),((t,o,r)=>{var i=t.NumberField,n="number";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)}e.prototype=new i({align:"center",valueType:n,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})(jsGrid,jQuery),((t,i)=>{var e=t.Field;function n(t){e.call(this,t)}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})(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.control=t.ControlField=i})(jsGrid,jQuery);
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);
@@ -1,5 +1,5 @@
1
1
  /*
2
- * jsxgrid v2.1.0 (https://github.com/rok9ru/jsxgrid#readme)
2
+ * jsxgrid v2.3.0 (https://github.com/rok9ru/jsxgrid#readme)
3
3
  * (c) 2026 Mikhail Kremza
4
4
  * Licensed under MIT
5
5
  */