vgapp 1.4.7 → 1.4.9

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 (85) hide show
  1. package/README.md +24 -2
  2. package/app/modules/base-module.js +14 -2
  3. package/app/modules/module-fn.js +5 -4
  4. package/app/modules/vgalert/js/vgalert.js +21 -1
  5. package/app/modules/vgalert/scss/vgalert.scss +48 -0
  6. package/app/modules/vgdropdown/js/vgdropdown.js +58 -27
  7. package/app/modules/vgfilepreview/js/renderers/video-modal.js +5 -1
  8. package/app/modules/vgfilepreview/js/renderers/video.js +6 -1
  9. package/app/modules/vgfilepreview/js/vgfilepreview.js +5 -1
  10. package/app/modules/vgfiles/js/base.js +14 -5
  11. package/app/modules/vgfiles/js/droppable.js +37 -31
  12. package/app/modules/vgfiles/js/vgfiles.js +5 -2
  13. package/app/modules/vgfiles/scss/_variables.scss +3 -1
  14. package/app/modules/vgfiles/scss/vgfiles.scss +55 -10
  15. package/app/modules/vgformsender/js/vgformsender.js +5 -2
  16. package/app/modules/vgloadmore/js/vgloadmore.js +35 -7
  17. package/app/modules/vgnestable/js/vgnestable.js +140 -0
  18. package/app/modules/vgnestable/scss/_variables.scss +16 -9
  19. package/app/modules/vgnestable/scss/vgnestable.scss +35 -2
  20. package/app/modules/vgtable/index.js +3 -0
  21. package/app/modules/vgtable/js/_columns.js +567 -0
  22. package/app/modules/vgtable/js/_expandable.js +242 -0
  23. package/app/modules/vgtable/js/_filters.js +264 -0
  24. package/app/modules/vgtable/js/_fixed-columns.js +249 -0
  25. package/app/modules/vgtable/js/_i18n.js +75 -0
  26. package/app/modules/vgtable/js/_options.js +428 -0
  27. package/app/modules/vgtable/js/_pagination.js +491 -0
  28. package/app/modules/vgtable/js/_panning.js +124 -0
  29. package/app/modules/vgtable/js/_params-groups.js +21 -0
  30. package/app/modules/vgtable/js/_remote.js +395 -0
  31. package/app/modules/vgtable/js/_row-reorder.js +268 -0
  32. package/app/modules/vgtable/js/_search.js +134 -0
  33. package/app/modules/vgtable/js/_selection.js +113 -0
  34. package/app/modules/vgtable/js/_skeleton.js +123 -0
  35. package/app/modules/vgtable/js/_sorting.js +340 -0
  36. package/app/modules/vgtable/js/_states.js +143 -0
  37. package/app/modules/vgtable/js/_sticky-header.js +193 -0
  38. package/app/modules/vgtable/js/_url-state.js +178 -0
  39. package/app/modules/vgtable/js/vgtable.js +1444 -0
  40. package/app/modules/vgtable/readme.md +922 -0
  41. package/app/modules/vgtable/scss/_columns.scss +52 -0
  42. package/app/modules/vgtable/scss/_expandable.scss +54 -0
  43. package/app/modules/vgtable/scss/_fixed-columns.scss +117 -0
  44. package/app/modules/vgtable/scss/_pagination.scss +191 -0
  45. package/app/modules/vgtable/scss/_row-reorder.scss +45 -0
  46. package/app/modules/vgtable/scss/_skeleton.scss +65 -0
  47. package/app/modules/vgtable/scss/_sorting.scss +89 -0
  48. package/app/modules/vgtable/scss/_states.scss +70 -0
  49. package/app/modules/vgtable/scss/_sticky-header.scss +121 -0
  50. package/app/modules/vgtable/scss/_variables.scss +296 -0
  51. package/app/modules/vgtable/scss/vgtable.scss +206 -0
  52. package/app/utils/js/components/placement.js +64 -10
  53. package/app/vgapp.js +3 -3
  54. package/build/vgapp.css +1 -1
  55. package/build/vgapp.css.map +1 -1
  56. package/build/vgapp.js +1 -1
  57. package/build/vgapp.js.map +1 -1
  58. package/index.js +1 -1
  59. package/index.scss +3 -3
  60. package/package.json +5 -5
  61. package/app/modules/vgdynamictable/index.js +0 -4
  62. package/app/modules/vgdynamictable/js/editable.js +0 -438
  63. package/app/modules/vgdynamictable/js/expandable.js +0 -248
  64. package/app/modules/vgdynamictable/js/filters.js +0 -450
  65. package/app/modules/vgdynamictable/js/fixed.js +0 -566
  66. package/app/modules/vgdynamictable/js/options.js +0 -650
  67. package/app/modules/vgdynamictable/js/pagination.js +0 -623
  68. package/app/modules/vgdynamictable/js/search.js +0 -82
  69. package/app/modules/vgdynamictable/js/skeleton.js +0 -144
  70. package/app/modules/vgdynamictable/js/sortable.js +0 -442
  71. package/app/modules/vgdynamictable/js/summary-footer.js +0 -284
  72. package/app/modules/vgdynamictable/js/table-remote.js +0 -821
  73. package/app/modules/vgdynamictable/js/table-state.js +0 -243
  74. package/app/modules/vgdynamictable/js/table-url-state.js +0 -444
  75. package/app/modules/vgdynamictable/js/utils/common.js +0 -48
  76. package/app/modules/vgdynamictable/js/vgdynamictable.js +0 -3870
  77. package/app/modules/vgdynamictable/js/viewport.js +0 -322
  78. package/app/modules/vgdynamictable/readme.md +0 -251
  79. package/app/modules/vgdynamictable/scss/_actions.scss +0 -196
  80. package/app/modules/vgdynamictable/scss/_pagination.scss +0 -186
  81. package/app/modules/vgdynamictable/scss/_skeleton.scss +0 -63
  82. package/app/modules/vgdynamictable/scss/_sortable.scss +0 -66
  83. package/app/modules/vgdynamictable/scss/_table.scss +0 -137
  84. package/app/modules/vgdynamictable/scss/_variables.scss +0 -138
  85. package/app/modules/vgdynamictable/scss/vgdynamictable.scss +0 -264
@@ -1,138 +0,0 @@
1
- @use "sass:map";
2
- @use "../../../utils/scss" as vg;
3
-
4
- $spacer: 1rem !default;
5
- $spacers: (
6
- 0: 0,
7
- 1: $spacer * .25,
8
- 2: $spacer * .5,
9
- 3: $spacer,
10
- 4: $spacer * 1.5,
11
- 5: $spacer * 3,
12
- ) !default;
13
-
14
- $sizes-0: map.get($spacers, 0);
15
- $sizes-1: map.get($spacers, 1);
16
- $sizes-2: map.get($spacers, 2);
17
- $sizes-3: map.get($spacers, 3);
18
- $sizes-4: map.get($spacers, 4);
19
- $sizes-5: map.get($spacers, 5);
20
-
21
- $dynamic-table-map: (
22
- wrap: (
23
- border-radius: 14px,
24
- box-shadow: none,
25
- border-width: 1px,
26
- background: transparent,
27
- border-color: transparent,
28
- ),
29
- cell: (
30
- padding: $sizes-3 $sizes-4,
31
- font-size: $sizes-3,
32
- row-content-height: 20px,
33
- border-color: transparent,
34
- text-color: var(--vg-text-color, #1f1f1f),
35
- ),
36
- header: (
37
- font-weight: 600,
38
- background: var(--vg-surface-muted-bg, #f7f4ef),
39
- text-color: var(--vg-text-color, #1f1f1f),
40
- ),
41
- bordered: (
42
- border-width: 1px,
43
- border-color: var(--vg-border-disabled-color, rgba(0, 0, 0, .1)),
44
- ),
45
- striped: (
46
- background: var(--vg-surface-subtle-bg, rgba(0, 0, 0, .03)),
47
- ),
48
- hover: (
49
- background: var(--vg-surface-subtle-hover-bg, rgba(0, 0, 0, .05)),
50
- ),
51
- table: (
52
- min-width: 640px,
53
- ),
54
- table-sm: (
55
- padding: $sizes-1 $sizes-2,
56
- ),
57
- table-md: (
58
- padding: $sizes-2 $sizes-3,
59
- ),
60
- table-lg: (
61
- padding: $sizes-3 $sizes-4,
62
- ),
63
- table-xl: (
64
- padding: $sizes-4 $sizes-5,
65
- ),
66
- pagination: (
67
- padding-y: 12px,
68
- padding-x: 14px,
69
- gap: 12px,
70
- toolbar-radius: 12px,
71
- toolbar-padding-y: 8px,
72
- toolbar-padding-x: 10px,
73
- label-size: 13px,
74
- per-page-gap: 8px,
75
- pages-gap: 6px,
76
- button-size: 36px,
77
- button-radius: 10px,
78
- button-padding: 0 10px,
79
- button-font-size: 13px,
80
- button-line-height: 2,
81
- button-disabled-opacity: 0.45,
82
- per-page-radius: 10px,
83
- per-page-height: 36px,
84
- per-page-padding-x: 10px,
85
- jump-width: 64px,
86
- jump-gap: 6px,
87
- jump-button-min-width: 54px,
88
- border-color: var(--vg-border-disabled-color, rgba(0, 0, 0, .08)),
89
- toolbar-bg: var(--vg-surface-muted-bg, #faf8f4),
90
- label-color: var(--vg-text-muted-color, #5f5a52),
91
- button-border: vg.$border-width vg.$border-style var(--vg-border-disabled-color, rgba(0, 0, 0, .12)),
92
- button-border-color: var(--vg-border-disabled-color, rgba(0, 0, 0, .12)),
93
- button-bg: var(--vg-control-bg, #ffffff),
94
- button-text: var(--vg-text-color, #2e2a24),
95
- button-hover-bg: var(--vg-surface-hover-bg, #f1ece4),
96
- button-hover-border: var(--vg-border-color, rgba(0, 0, 0, .2)),
97
- button-active-bg: var(--vg-primary-color, #24201b),
98
- button-active-text: var(--vg-primary-contrast-color, #ffffff),
99
- button-active-border: var(--vg-primary-color, #24201b),
100
- per-page-bg: var(--vg-control-bg, #ffffff),
101
- per-page-border-color: var(--vg-border-disabled-color, rgba(0, 0, 0, .12)),
102
- per-page-text: var(--vg-text-color, #2e2a24),
103
- ),
104
- sortable: (
105
- header-padding-right: 1.8rem,
106
- controls-right: 0.6rem,
107
- controls-gap: 0,
108
- arrow-width: 14px,
109
- arrow-height: 10px,
110
- arrow-line-height: 0.7rem,
111
- arrow-font-size: 0.55rem,
112
- arrow-opacity: 0.35,
113
- arrow-active-opacity: 1,
114
- arrow-color: currentColor,
115
- column-highlight-background: var(--vg-primary-subtle-bg, rgba(191, 153, 92, .14)),
116
- ),
117
- fixed: (
118
- shadow-width: 14px,
119
- shadow-color: var(--vg-shadow-soft-color, rgba(0, 0, 0, .16)),
120
- cell-background: var(--vg-surface-bg, rgba(247, 244, 239, .92)),
121
- ),
122
- skeleton: (
123
- padding: 12px 14px,
124
- line-height: 10px,
125
- radius: 999px,
126
- duration: 1.2s,
127
- row-bg: rgb(var(--vg-surface-bg-rgb, 255 255 255) / .5),
128
- border-color: var(--vg-border-disabled-color, rgba(0, 0, 0, .04)),
129
- glow: rgb(var(--vg-surface-bg-rgb, 255 255 255) / .55),
130
- gradient-1: var(--vg-control-border-color, #ebe6df),
131
- gradient-2: var(--vg-surface-muted-bg, #f5f1ea),
132
- ),
133
- actions: (
134
- drag-indicator: var(--vg-primary-color, #3f8cff),
135
- danger-color: var(--vg-danger-color, #a22929),
136
- danger-contrast: var(--vg-danger-contrast-color, #ffffff),
137
- ),
138
- ) !default;
@@ -1,264 +0,0 @@
1
- /**
2
- *--------------------------------------------------------------------------
3
- * Модуль: VGDynamicTable
4
- * Автор: Vegas DEV
5
- * Лицензия: смотри LICENSE
6
- *--------------------------------------------------------------------------
7
- **/
8
-
9
- @forward "variables";
10
- @use "../../../utils/scss" as vg;
11
- @use "actions";
12
- @use "pagination";
13
- @use "skeleton";
14
- @use "sortable";
15
- @use "table" as table-styles;
16
- @use "variables" as vars;
17
-
18
- .vg-dynamic-table {
19
- @include vg.mix-vars('dynamic-table', vars.$dynamic-table-map);
20
- background: var(--vg-dynamic-table-wrap-background);
21
- border-radius: var(--vg-dynamic-table-wrap-border-radius);
22
- box-shadow: var(--vg-dynamic-table-wrap-box-shadow);
23
- overflow: visible;
24
- border: var(--vg-dynamic-table-wrap-border-width) solid var(--vg-dynamic-table-wrap-border-color);
25
-
26
- .vgdt-table-viewport {
27
- overflow-x: auto;
28
- overflow-y: visible;
29
- border-radius: var(--vg-dynamic-table-wrap-border-radius);
30
- scrollbar-width: thin;
31
- scrollbar-color: var(--vg-dynamic-table-cell-border-color) transparent;
32
-
33
- &::-webkit-scrollbar {
34
- height: 10px;
35
- }
36
-
37
- &::-webkit-scrollbar-track {
38
- background: transparent;
39
- }
40
-
41
- &::-webkit-scrollbar-thumb {
42
- background: var(--vg-dynamic-table-cell-border-color);
43
- border-radius: 999px;
44
- border: 2px solid transparent;
45
- background-clip: padding-box;
46
- }
47
-
48
- &::-webkit-scrollbar-thumb:hover {
49
- background: var(--vg-dynamic-table-header-text-color);
50
- background-clip: padding-box;
51
- }
52
-
53
- &.vgdt-pan-enabled {
54
- touch-action: pan-x pan-y;
55
- }
56
-
57
- &.is-panning {
58
- cursor: grabbing;
59
- user-select: none;
60
- }
61
- }
62
-
63
- @include pagination.pagination();
64
- @include sortable.sortable();
65
- @include table-styles.table();
66
- @include skeleton.skeleton();
67
- @include actions.actions();
68
-
69
- &.table-striped {
70
- tbody {
71
- tr:nth-of-type(odd) {
72
- background-color: var(--vg-dynamic-table-striped-background);
73
- }
74
-
75
- tr[data-virtual-spacer="1"] {
76
- background-color: transparent;
77
- }
78
- }
79
-
80
- tbody tr:nth-of-type(odd) td[data-fixed-side][data-fixed-overlap="1"] {
81
- background: var(--vg-dynamic-table-striped-background);
82
- }
83
- }
84
-
85
- tbody tr[data-virtual-spacer="1"] > td {
86
- padding: 0;
87
- border: 0;
88
- height: 0;
89
- background: transparent;
90
- line-height: 0;
91
- pointer-events: none;
92
- }
93
-
94
- &.table-bordered {
95
- border: var(--vg-dynamic-table-bordered-border-width) solid var(--vg-dynamic-table-bordered-border-color);
96
- border-collapse: separate;
97
- border-spacing: 0;
98
-
99
- th,
100
- td {
101
- border-top: var(--vg-dynamic-table-bordered-border-width) solid var(--vg-dynamic-table-bordered-border-color);
102
- border-left: var(--vg-dynamic-table-bordered-border-width) solid var(--vg-dynamic-table-bordered-border-color);
103
- }
104
-
105
- tr:first-child {
106
- th {
107
- border-top: 0;
108
- }
109
- }
110
-
111
- tr {
112
- th:first-child,
113
- td:first-child {
114
- border-left: 0;
115
- }
116
- }
117
- }
118
-
119
- &.table-hover {
120
- tbody {
121
- tr:hover {
122
- background-color: var(--vg-dynamic-table-hover-background);
123
- }
124
-
125
- tr:hover td[data-fixed-side] {
126
- background: var(--vg-dynamic-table-hover-background);
127
- }
128
- }
129
- }
130
-
131
- &.table-sm {
132
- th,
133
- td {
134
- padding: var(--vg-dynamic-table-table-sm-padding);
135
- }
136
- }
137
-
138
- &.table-md {
139
- th,
140
- td {
141
- padding: var(--vg-dynamic-table-table-md-padding);
142
- }
143
- }
144
-
145
- &.table-lg {
146
- th,
147
- td {
148
- padding: var(--vg-dynamic-table-table-lg-padding);
149
- }
150
- }
151
-
152
- &.table-xl {
153
- th,
154
- td {
155
- padding: var(--vg-dynamic-table-table-xl-padding);
156
- }
157
- }
158
-
159
- &.table-sticky-head {
160
- overflow: visible;
161
-
162
- .vgdt-table-viewport > table {
163
- overflow: visible;
164
-
165
- thead th {
166
- position: sticky;
167
- top: var(--vgdt-sticky-top, 0px);
168
- z-index: 3;
169
- background: var(--vg-dynamic-table-header-background);
170
- box-shadow: 0 1px 0 var(--vg-dynamic-table-cell-border-color);
171
- }
172
-
173
- thead th[data-fixed-side] {
174
- z-index: 6;
175
- }
176
-
177
- thead th[data-sorted-column="1"] {
178
- background: var(--vg-dynamic-table-sortable-column-highlight-background);
179
- }
180
-
181
- }
182
-
183
- .vgdt-table-viewport.table-sticky-scroll {
184
- max-height: var(--vgdt-sticky-max-height, 0px);
185
- overflow: auto;
186
- }
187
- }
188
-
189
- &.table-sticky-clone {
190
- overflow: visible;
191
-
192
- .vgdt-sticky-clone {
193
- position: sticky;
194
- top: var(--vgdt-sticky-top, 0px);
195
- z-index: 4;
196
- overflow: hidden;
197
- margin-bottom: 0;
198
- background: var(--vg-dynamic-table-header-background);
199
- box-shadow: 0 1px 0 var(--vg-dynamic-table-cell-border-color);
200
- }
201
-
202
- .vgdt-sticky-clone__table {
203
- border-collapse: separate;
204
- border-spacing: 0;
205
- margin: 0;
206
- min-width: var(--vg-dynamic-table-table-min-width);
207
- will-change: transform;
208
- }
209
-
210
- .vgdt-sticky-clone th,
211
- .vgdt-sticky-clone td {
212
- text-align: left;
213
- padding: var(--vg-dynamic-table-cell-padding);
214
- border-bottom: 1px solid var(--vg-dynamic-table-cell-border-color);
215
- font-size: var(--vg-dynamic-table-cell-font-size);
216
- line-height: var(--vg-dynamic-table-cell-row-content-height);
217
- color: var(--vg-dynamic-table-header-text-color);
218
- background: var(--vg-dynamic-table-header-background);
219
- font-weight: var(--vg-dynamic-table-header-font-weight);
220
- }
221
-
222
- .vgdt-sticky-clone th[data-sorted-column="1"] {
223
- background: var(--vg-dynamic-table-sortable-column-highlight-background);
224
- }
225
-
226
- .vgdt-sticky-clone th[data-fixed-side] {
227
- position: relative;
228
- z-index: 6;
229
- will-change: transform;
230
- }
231
-
232
- .vgdt-sticky-clone th[data-fixed-edge="right"][data-fixed-shadow="1"]::after,
233
- .vgdt-sticky-clone th[data-fixed-edge="left"][data-fixed-shadow="1"]::before {
234
- content: '';
235
- position: absolute;
236
- top: 0;
237
- bottom: -1px;
238
- width: var(--vg-dynamic-table-fixed-shadow-width);
239
- pointer-events: none;
240
- }
241
-
242
- .vgdt-sticky-clone th[data-fixed-edge="right"][data-fixed-shadow="1"]::after {
243
- right: calc(-1 * var(--vg-dynamic-table-fixed-shadow-width));
244
- background: linear-gradient(to right, var(--vg-dynamic-table-fixed-shadow-color), transparent);
245
- }
246
-
247
- .vgdt-sticky-clone th[data-fixed-edge="left"][data-fixed-shadow="1"]::before {
248
- left: calc(-1 * var(--vg-dynamic-table-fixed-shadow-width));
249
- background: linear-gradient(to left, var(--vg-dynamic-table-fixed-shadow-color), transparent);
250
- }
251
-
252
- .vgdt-table-viewport.table-sticky-scroll {
253
- max-height: var(--vgdt-sticky-max-height, 0px);
254
- overflow: auto;
255
- }
256
-
257
- .vgdt-table-viewport > table {
258
- overflow: visible;
259
- margin-top: calc(-1 * var(--vgdt-sticky-clone-height, 0px));
260
- }
261
- }
262
-
263
- }
264
-