jsxgrid 2.0.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 (83) hide show
  1. package/LICENSE +23 -0
  2. package/README.md +2329 -0
  3. package/dist/fields/jsgrid.field.XDateTimeField.min.js +6 -0
  4. package/dist/fields/jsgrid.field.XRowSelectField.min.js +6 -0
  5. package/dist/fields/jsgrid.field.Xcheckbox.min.js +6 -0
  6. package/dist/fields/jsgrid.field.XimgField.min.js +6 -0
  7. package/dist/fields/jsgrid.field.Xjsoneditor.min.js +6 -0
  8. package/dist/fields/jsgrid.field.Xselect.min.js +6 -0
  9. package/dist/fields/jsgrid.field.Xtextarea.min.js +6 -0
  10. package/dist/fields/lib/jsGridSummaryPlugin.min.js +6 -0
  11. package/dist/fields/lib/jsgrid.popup.basic.min.js +6 -0
  12. package/dist/i18n/jsgrid-Ko.js +46 -0
  13. package/dist/i18n/jsgrid-cs.js +46 -0
  14. package/dist/i18n/jsgrid-de.js +46 -0
  15. package/dist/i18n/jsgrid-el.js +46 -0
  16. package/dist/i18n/jsgrid-es.js +46 -0
  17. package/dist/i18n/jsgrid-fa.js +46 -0
  18. package/dist/i18n/jsgrid-fr.js +47 -0
  19. package/dist/i18n/jsgrid-he.js +46 -0
  20. package/dist/i18n/jsgrid-it.js +47 -0
  21. package/dist/i18n/jsgrid-ja.js +46 -0
  22. package/dist/i18n/jsgrid-ka.js +46 -0
  23. package/dist/i18n/jsgrid-lt.js +47 -0
  24. package/dist/i18n/jsgrid-pl.js +62 -0
  25. package/dist/i18n/jsgrid-pt-br.js +46 -0
  26. package/dist/i18n/jsgrid-pt.js +46 -0
  27. package/dist/i18n/jsgrid-ru.js +47 -0
  28. package/dist/i18n/jsgrid-tr.js +47 -0
  29. package/dist/i18n/jsgrid-zh-cn.js +46 -0
  30. package/dist/i18n/jsgrid-zh-tw.js +46 -0
  31. package/dist/icons-2x.png +0 -0
  32. package/dist/icons.png +0 -0
  33. package/dist/jsxgrid-fields.js +606 -0
  34. package/dist/jsxgrid-fields.min.js +6 -0
  35. package/dist/jsxgrid-theme.css +258 -0
  36. package/dist/jsxgrid-theme.min.css +1 -0
  37. package/dist/jsxgrid-xfields.js +979 -0
  38. package/dist/jsxgrid-xfields.min.js +6 -0
  39. package/dist/jsxgrid.css +126 -0
  40. package/dist/jsxgrid.js +2137 -0
  41. package/dist/jsxgrid.min.css +1 -0
  42. package/dist/jsxgrid.min.js +6 -0
  43. package/package.json +57 -0
  44. package/src/fields/jsgrid.field.XDateTimeField.js +122 -0
  45. package/src/fields/jsgrid.field.XRowSelectField.js +62 -0
  46. package/src/fields/jsgrid.field.Xcheckbox.js +108 -0
  47. package/src/fields/jsgrid.field.XimgField.js +99 -0
  48. package/src/fields/jsgrid.field.Xjsoneditor.js +165 -0
  49. package/src/fields/jsgrid.field.Xselect.js +176 -0
  50. package/src/fields/jsgrid.field.Xtextarea.js +97 -0
  51. package/src/fields/jsgrid.field.checkbox.js +97 -0
  52. package/src/fields/jsgrid.field.control.js +224 -0
  53. package/src/fields/jsgrid.field.number.js +41 -0
  54. package/src/fields/jsgrid.field.select.js +130 -0
  55. package/src/fields/jsgrid.field.text.js +69 -0
  56. package/src/fields/jsgrid.field.textarea.js +34 -0
  57. package/src/i18n/Ko.js +46 -0
  58. package/src/i18n/cs.js +46 -0
  59. package/src/i18n/de.js +46 -0
  60. package/src/i18n/el.js +46 -0
  61. package/src/i18n/es.js +46 -0
  62. package/src/i18n/fa.js +46 -0
  63. package/src/i18n/fr.js +47 -0
  64. package/src/i18n/he.js +46 -0
  65. package/src/i18n/it.js +47 -0
  66. package/src/i18n/ja.js +46 -0
  67. package/src/i18n/ka.js +46 -0
  68. package/src/i18n/lt.js +47 -0
  69. package/src/i18n/pl.js +62 -0
  70. package/src/i18n/pt-br.js +46 -0
  71. package/src/i18n/pt.js +46 -0
  72. package/src/i18n/ru.js +47 -0
  73. package/src/i18n/tr.js +47 -0
  74. package/src/i18n/zh-cn.js +46 -0
  75. package/src/i18n/zh-tw.js +46 -0
  76. package/src/jsgrid.core.js +1655 -0
  77. package/src/jsgrid.field.js +74 -0
  78. package/src/jsgrid.load-indicator.js +82 -0
  79. package/src/jsgrid.load-strategies.js +131 -0
  80. package/src/jsgrid.sort-strategies.js +49 -0
  81. package/src/jsgrid.validation.js +135 -0
  82. package/src/lib/jsGridSummaryPlugin.js +37 -0
  83. package/src/lib/jsgrid.popup.basic.js +107 -0
@@ -0,0 +1,258 @@
1
+ /*
2
+ * jsxgrid v2.0.0 (https://github.com/rok9ru/jsxgrid#readme)
3
+ * (c) 2026 Mikhail Kremza
4
+ * Licensed under MIT
5
+ */
6
+
7
+ .jsgrid-grid-header,
8
+ .jsgrid-grid-body,
9
+ .jsgrid-header-row > .jsgrid-header-cell,
10
+ .jsgrid-filter-row > .jsgrid-cell,
11
+ .jsgrid-insert-row > .jsgrid-cell,
12
+ .jsgrid-edit-row > .jsgrid-cell {
13
+ border: 1px solid #e9e9e9;
14
+ }
15
+
16
+ .jsgrid-header-row > .jsgrid-header-cell {
17
+ border-top: 0;
18
+ }
19
+
20
+ .jsgrid-header-row > .jsgrid-header-cell,
21
+ .jsgrid-filter-row > .jsgrid-cell,
22
+ .jsgrid-insert-row > .jsgrid-cell {
23
+ border-bottom: 0;
24
+ }
25
+
26
+ .jsgrid-header-row > .jsgrid-header-cell:first-child,
27
+ .jsgrid-filter-row > .jsgrid-cell:first-child,
28
+ .jsgrid-insert-row > .jsgrid-cell:first-child {
29
+ border-left: none;
30
+ }
31
+
32
+ .jsgrid-header-row > .jsgrid-header-cell:last-child,
33
+ .jsgrid-filter-row > .jsgrid-cell:last-child,
34
+ .jsgrid-insert-row > .jsgrid-cell:last-child {
35
+ border-right: none;
36
+ }
37
+
38
+ .jsgrid-header-row .jsgrid-align-right,
39
+ .jsgrid-header-row .jsgrid-align-left {
40
+ text-align: center;
41
+ }
42
+
43
+ .jsgrid-grid-header {
44
+ background: #f9f9f9;
45
+ }
46
+
47
+ .jsgrid-header-scrollbar {
48
+ scrollbar-arrow-color: #f1f1f1;
49
+ scrollbar-base-color: #f1f1f1;
50
+ scrollbar-3dlight-color: #f1f1f1;
51
+ scrollbar-highlight-color: #f1f1f1;
52
+ scrollbar-track-color: #f1f1f1;
53
+ scrollbar-shadow-color: #f1f1f1;
54
+ scrollbar-dark-shadow-color: #f1f1f1;
55
+ }
56
+
57
+ .jsgrid-header-scrollbar::-webkit-scrollbar {
58
+ visibility: hidden;
59
+ }
60
+
61
+ .jsgrid-header-scrollbar::-webkit-scrollbar-track {
62
+ background: #f1f1f1;
63
+ }
64
+
65
+ .jsgrid-header-sortable:hover {
66
+ cursor: pointer;
67
+ background: #fcfcfc;
68
+ }
69
+
70
+ .jsgrid-header-row .jsgrid-header-sort {
71
+ background: #c4e2ff;
72
+ }
73
+
74
+ .jsgrid-header-sort:before {
75
+ content: " ";
76
+ display: block;
77
+ float: left;
78
+ width: 0;
79
+ height: 0;
80
+ border-style: solid;
81
+ }
82
+
83
+ .jsgrid-header-sort-asc:before {
84
+ border-width: 0 5px 5px 5px;
85
+ border-color: transparent transparent #009a67 transparent;
86
+ }
87
+
88
+ .jsgrid-header-sort-desc:before {
89
+ border-width: 5px 5px 0 5px;
90
+ border-color: #009a67 transparent transparent transparent;
91
+ }
92
+
93
+ .jsgrid-grid-body {
94
+ border-top: none;
95
+ }
96
+
97
+ .jsgrid-cell {
98
+ border: #f3f3f3 1px solid;
99
+ }
100
+
101
+ .jsgrid-grid-body .jsgrid-row:first-child .jsgrid-cell,
102
+ .jsgrid-grid-body .jsgrid-alt-row:first-child .jsgrid-cell {
103
+ border-top: none;
104
+ }
105
+
106
+ .jsgrid-grid-body .jsgrid-cell:first-child {
107
+ border-left: none;
108
+ }
109
+
110
+ .jsgrid-grid-body .jsgrid-cell:last-child {
111
+ border-right: none;
112
+ }
113
+
114
+ .jsgrid-row > .jsgrid-cell {
115
+ background: #fff;
116
+ }
117
+
118
+ .jsgrid-alt-row > .jsgrid-cell {
119
+ background: #fcfcfc;
120
+ }
121
+
122
+ .jsgrid-header-row > .jsgrid-header-cell {
123
+ background: #f9f9f9;
124
+ }
125
+
126
+ .jsgrid-filter-row > .jsgrid-cell {
127
+ background: #fcfcfc;
128
+ }
129
+
130
+ .jsgrid-insert-row > .jsgrid-cell {
131
+ background: #e3ffe5;
132
+ }
133
+
134
+ .jsgrid-edit-row > .jsgrid-cell {
135
+ background: #fdffe3;
136
+ }
137
+
138
+ .jsgrid-selected-row > .jsgrid-cell {
139
+ background: #c4e2ff;
140
+ border-color: #c4e2ff;
141
+ }
142
+
143
+ .jsgrid-nodata-row > .jsgrid-cell {
144
+ background: #fff;
145
+ }
146
+
147
+ .jsgrid-invalid input,
148
+ .jsgrid-invalid select,
149
+ .jsgrid-invalid textarea {
150
+ background: #ffe3e5;
151
+ border: 1px solid #ff808a;
152
+ }
153
+
154
+ .jsgrid-pager-current-page {
155
+ font-weight: bold;
156
+ }
157
+
158
+ .jsgrid-pager-nav-inactive-button a {
159
+ color: #d3d3d3;
160
+ }
161
+
162
+ .jsgrid-button + .jsgrid-button {
163
+ margin-left: 5px;
164
+ }
165
+
166
+ .jsgrid-button:hover {
167
+ opacity: .5;
168
+ transition: opacity 200ms linear;
169
+ }
170
+
171
+ .jsgrid .jsgrid-button {
172
+ width: 16px;
173
+ height: 16px;
174
+ border: none;
175
+ cursor: pointer;
176
+ background-image: url(icons.png);
177
+ background-repeat: no-repeat;
178
+ background-color: transparent;
179
+ }
180
+
181
+ @media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2) {
182
+ .jsgrid .jsgrid-button {
183
+ background-image: url(icons-2x.png);
184
+ background-size: 24px 352px;
185
+ }
186
+ }
187
+
188
+ .jsgrid .jsgrid-mode-button {
189
+ width: 24px;
190
+ height: 24px;
191
+ }
192
+
193
+ .jsgrid-mode-on-button {
194
+ opacity: .5;
195
+ }
196
+
197
+ .jsgrid-cancel-edit-button { background-position: 0 0; width: 16px; height: 16px; }
198
+ .jsgrid-clear-filter-button { background-position: 0 -40px; width: 16px; height: 16px; }
199
+ .jsgrid-delete-button { background-position: 0 -80px; width: 16px; height: 16px; }
200
+ .jsgrid-edit-button { background-position: 0 -120px; width: 16px; height: 16px; }
201
+ .jsgrid-insert-mode-button { background-position: 0 -160px; width: 24px; height: 24px; }
202
+ .jsgrid-insert-button { background-position: 0 -208px; width: 16px; height: 16px; }
203
+ .jsgrid-search-mode-button { background-position: 0 -248px; width: 24px; height: 24px; }
204
+ .jsgrid-search-button { background-position: 0 -296px; width: 16px; height: 16px; }
205
+ .jsgrid-update-button { background-position: 0 -336px; width: 16px; height: 16px; }
206
+
207
+
208
+ .jsgrid-load-shader {
209
+ background: #ddd;
210
+ opacity: .5;
211
+ filter: alpha(opacity=50);
212
+ }
213
+
214
+ .jsgrid-load-panel {
215
+ width: 15em;
216
+ height: 5em;
217
+ background: #fff;
218
+ border: 1px solid #e9e9e9;
219
+ padding-top: 3em;
220
+ text-align: center;
221
+ }
222
+
223
+ .jsgrid-load-panel:before {
224
+ content: ' ';
225
+ position: absolute;
226
+ top: .5em;
227
+ left: 50%;
228
+ margin-left: -1em;
229
+ width: 2em;
230
+ height: 2em;
231
+ border: 2px solid #009a67;
232
+ border-right-color: transparent;
233
+ border-radius: 50%;
234
+ -webkit-animation: indicator 1s linear infinite;
235
+ animation: indicator 1s linear infinite;
236
+ }
237
+
238
+ @-webkit-keyframes indicator
239
+ {
240
+ from { -webkit-transform: rotate(0deg); }
241
+ 50% { -webkit-transform: rotate(180deg); }
242
+ to { -webkit-transform: rotate(360deg); }
243
+ }
244
+
245
+ @keyframes indicator
246
+ {
247
+ from { transform: rotate(0deg); }
248
+ 50% { transform: rotate(180deg); }
249
+ to { transform: rotate(360deg); }
250
+ }
251
+
252
+ /* old IE */
253
+ .jsgrid-load-panel {
254
+ padding-top: 1.5em\9;
255
+ }
256
+ .jsgrid-load-panel:before {
257
+ display: none\9;
258
+ }
@@ -0,0 +1 @@
1
+ .jsgrid-edit-row>.jsgrid-cell,.jsgrid-filter-row>.jsgrid-cell,.jsgrid-grid-body,.jsgrid-grid-header,.jsgrid-header-row>.jsgrid-header-cell,.jsgrid-insert-row>.jsgrid-cell{border:1px solid #e9e9e9}.jsgrid-header-row>.jsgrid-header-cell{border-top:0}.jsgrid-filter-row>.jsgrid-cell,.jsgrid-header-row>.jsgrid-header-cell,.jsgrid-insert-row>.jsgrid-cell{border-bottom:0}.jsgrid-filter-row>.jsgrid-cell:first-child,.jsgrid-header-row>.jsgrid-header-cell:first-child,.jsgrid-insert-row>.jsgrid-cell:first-child{border-left:none}.jsgrid-filter-row>.jsgrid-cell:last-child,.jsgrid-header-row>.jsgrid-header-cell:last-child,.jsgrid-insert-row>.jsgrid-cell:last-child{border-right:none}.jsgrid-header-row .jsgrid-align-left,.jsgrid-header-row .jsgrid-align-right{text-align:center}.jsgrid-grid-header{background:#f9f9f9}.jsgrid-header-scrollbar{scrollbar-arrow-color:#f1f1f1;scrollbar-base-color:#f1f1f1;scrollbar-3dlight-color:#f1f1f1;scrollbar-highlight-color:#f1f1f1;scrollbar-track-color:#f1f1f1;scrollbar-shadow-color:#f1f1f1;scrollbar-dark-shadow-color:#f1f1f1}.jsgrid-header-scrollbar::-webkit-scrollbar{visibility:hidden}.jsgrid-header-scrollbar::-webkit-scrollbar-track{background:#f1f1f1}.jsgrid-header-sortable:hover{cursor:pointer;background:#fcfcfc}.jsgrid-header-row .jsgrid-header-sort{background:#c4e2ff}.jsgrid-header-sort:before{content:" ";display:block;float:left;width:0;height:0;border-style:solid}.jsgrid-header-sort-asc:before{border-width:0 5px 5px 5px;border-color:transparent transparent #009a67 transparent}.jsgrid-header-sort-desc:before{border-width:5px 5px 0 5px;border-color:#009a67 transparent transparent transparent}.jsgrid-grid-body{border-top:none}.jsgrid-cell{border:#f3f3f3 1px solid}.jsgrid-grid-body .jsgrid-alt-row:first-child .jsgrid-cell,.jsgrid-grid-body .jsgrid-row:first-child .jsgrid-cell{border-top:none}.jsgrid-grid-body .jsgrid-cell:first-child{border-left:none}.jsgrid-grid-body .jsgrid-cell:last-child{border-right:none}.jsgrid-row>.jsgrid-cell{background:#fff}.jsgrid-alt-row>.jsgrid-cell{background:#fcfcfc}.jsgrid-header-row>.jsgrid-header-cell{background:#f9f9f9}.jsgrid-filter-row>.jsgrid-cell{background:#fcfcfc}.jsgrid-insert-row>.jsgrid-cell{background:#e3ffe5}.jsgrid-edit-row>.jsgrid-cell{background:#fdffe3}.jsgrid-selected-row>.jsgrid-cell{background:#c4e2ff;border-color:#c4e2ff}.jsgrid-nodata-row>.jsgrid-cell{background:#fff}.jsgrid-invalid input,.jsgrid-invalid select,.jsgrid-invalid textarea{background:#ffe3e5;border:1px solid #ff808a}.jsgrid-pager-current-page{font-weight:700}.jsgrid-pager-nav-inactive-button a{color:#d3d3d3}.jsgrid-button+.jsgrid-button{margin-left:5px}.jsgrid-button:hover{opacity:.5;transition:opacity .2s linear}.jsgrid .jsgrid-button{width:16px;height:16px;border:none;cursor:pointer;background-image:url(icons.png);background-repeat:no-repeat;background-color:transparent}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-device-pixel-ratio:2){.jsgrid .jsgrid-button{background-image:url(icons-2x.png);background-size:24px 352px}}.jsgrid .jsgrid-mode-button{width:24px;height:24px}.jsgrid-mode-on-button{opacity:.5}.jsgrid-cancel-edit-button{background-position:0 0;width:16px;height:16px}.jsgrid-clear-filter-button{background-position:0 -40px;width:16px;height:16px}.jsgrid-delete-button{background-position:0 -80px;width:16px;height:16px}.jsgrid-edit-button{background-position:0 -120px;width:16px;height:16px}.jsgrid-insert-mode-button{background-position:0 -160px;width:24px;height:24px}.jsgrid-insert-button{background-position:0 -208px;width:16px;height:16px}.jsgrid-search-mode-button{background-position:0 -248px;width:24px;height:24px}.jsgrid-search-button{background-position:0 -296px;width:16px;height:16px}.jsgrid-update-button{background-position:0 -336px;width:16px;height:16px}.jsgrid-load-shader{background:#ddd;opacity:.5}.jsgrid-load-panel{width:15em;height:5em;background:#fff;border:1px solid #e9e9e9;padding-top:3em;text-align:center}.jsgrid-load-panel:before{content:' ';position:absolute;top:.5em;left:50%;margin-left:-1em;width:2em;height:2em;border:2px solid #009a67;border-right-color:transparent;border-radius:50%;-webkit-animation:indicator 1s linear infinite;animation:indicator 1s linear infinite}@-webkit-keyframes indicator{from{-webkit-transform:rotate(0)}50%{-webkit-transform:rotate(180deg)}to{-webkit-transform:rotate(360deg)}}@keyframes indicator{from{transform:rotate(0)}50%{transform:rotate(180deg)}to{transform:rotate(360deg)}}