datafolder 1.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 (182) hide show
  1. package/README.md +169 -0
  2. package/index.js +3 -0
  3. package/package.json +27 -0
  4. package/sample.js +37 -0
  5. package/scripts/airbnb.js +73 -0
  6. package/scripts/airbnb2.js +74 -0
  7. package/scripts/airbnb2_queries.js +231 -0
  8. package/scripts/airbnb_queries.js +264 -0
  9. package/scripts/downloadFile.js +42 -0
  10. package/scripts/express.js +46 -0
  11. package/scripts/fastify.js +79 -0
  12. package/scripts/flights.js +75 -0
  13. package/scripts/flights2.js +81 -0
  14. package/scripts/flights2_queries.js +453 -0
  15. package/scripts/flights_queries.js +403 -0
  16. package/src/QyAcl.js +252 -0
  17. package/src/QyAclSaver.js +14 -0
  18. package/src/QyAclSaver_Worker.js +29 -0
  19. package/src/QyAclWriter.js +19 -0
  20. package/src/QyBatch.js +501 -0
  21. package/src/QyBinWriter.js +140 -0
  22. package/src/QyCD.js +61 -0
  23. package/src/QyCache.js +212 -0
  24. package/src/QyCompressor.js +60 -0
  25. package/src/QyCompressor_Worker.js +13 -0
  26. package/src/QyDB.js +122 -0
  27. package/src/QyDefaultOptions.js +59 -0
  28. package/src/QyDir.js +192 -0
  29. package/src/QyFetch.js +38 -0
  30. package/src/QyFile.js +124 -0
  31. package/src/QyFileContentUtils.js +175 -0
  32. package/src/QyFileLogger.js +58 -0
  33. package/src/QyIndex.js +237 -0
  34. package/src/QyIndexPropTree.js +92 -0
  35. package/src/QyIntersectNode.js +48 -0
  36. package/src/QyItem.js +105 -0
  37. package/src/QyJsonSaver.js +20 -0
  38. package/src/QyKVData.js +289 -0
  39. package/src/QyKVDataCleaner.js +17 -0
  40. package/src/QyKVDataCleaner_Worker.js +94 -0
  41. package/src/QyKVDataLoader.js +65 -0
  42. package/src/QyKVDataSaver.js +17 -0
  43. package/src/QyKVDataSaver_Worker.js +81 -0
  44. package/src/QyLogFileSaver.js +14 -0
  45. package/src/QyLogFileSaver_Worker.js +26 -0
  46. package/src/QyLogger.js +76 -0
  47. package/src/QyMessageWorker.js +41 -0
  48. package/src/QyMessager.js +84 -0
  49. package/src/QyMessager_Run.js +13 -0
  50. package/src/QyMod.js +15 -0
  51. package/src/QyOpRunner.js +73 -0
  52. package/src/QyQueue.js +60 -0
  53. package/src/QySaver.js +83 -0
  54. package/src/QySnapshotCompactor.js +17 -0
  55. package/src/QySnapshotCompactor_Worker.js +151 -0
  56. package/src/QySnapshotSaver.js +17 -0
  57. package/src/QySnapshotSaver_Worker.js +164 -0
  58. package/src/QySnapshots.js +354 -0
  59. package/src/QyStructure.js +50 -0
  60. package/src/QyTrigger.js +133 -0
  61. package/src/QyUnionNode.js +105 -0
  62. package/src/QyUtils.js +250 -0
  63. package/src/QyWorker.js +33 -0
  64. package/src/hackernews.js +93 -0
  65. package/src/rpc/evalCode.js +9 -0
  66. package/src/rpc/getFileContent.js +16 -0
  67. package/src/rpc/getSubItems.js +32 -0
  68. package/src/rpc/queryFiles.js +33 -0
  69. package/src/rpc/reloadRpc.js +1 -0
  70. package/src/simulate.js +114 -0
  71. package/src/simulate2.js +110 -0
  72. package/src/soc_pokec.js +43 -0
  73. package/static/bootstrap-5.3.8-dist/css/bootstrap.min.css +6 -0
  74. package/static/bootstrap-5.3.8-dist/js/bootstrap.bundle.js +6312 -0
  75. package/static/datafolderui/QyStyledElement.js +30 -0
  76. package/static/datafolderui/QyUIFolderTree.js +203 -0
  77. package/static/datafolderui/QyUIUtils.js +42 -0
  78. package/static/datafolderui/display-tree.js +108 -0
  79. package/static/datafolderui/explore-tree.js +122 -0
  80. package/static/datafolderui/folder-tree.js +5 -0
  81. package/static/datafolderui/hscrpt.js +25 -0
  82. package/static/datafolderui/index.css +6 -0
  83. package/static/datafolderui/index.html +20 -0
  84. package/static/datafolderui/json-view.js +74 -0
  85. package/static/datafolderui/kv-input.js +66 -0
  86. package/static/datafolderui/list-input.js +52 -0
  87. package/static/datafolderui/main-page.js +98 -0
  88. package/static/datafolderui/num-input.js +27 -0
  89. package/static/datafolderui/query-editor.js +229 -0
  90. package/static/datafolderui/querySelectorShadowRoot.js +24 -0
  91. package/static/datafolderui/resizable-input.js +67 -0
  92. package/static/favicon.ico +0 -0
  93. package/static/icons-1.13.1/font/bootstrap-icons.min.css +5 -0
  94. package/static/icons-1.13.1/font/fonts/bootstrap-icons.woff +0 -0
  95. package/static/icons-1.13.1/font/fonts/bootstrap-icons.woff2 +0 -0
  96. package/static/json-view/dist/jsonview.js +433 -0
  97. package/static/tree.js/tree.css +106 -0
  98. package/static/tree.js/tree.js +374 -0
  99. package/static/w2ui/dist/w2ui.min.css +2 -0
  100. package/static/w2ui/src/less/icons/icons.json +1 -0
  101. package/static/w2ui/src/less/icons/preview.html +33 -0
  102. package/static/w2ui/src/less/icons/readme.md +15 -0
  103. package/static/w2ui/src/less/icons/svg/box.svg +3 -0
  104. package/static/w2ui/src/less/icons/svg/check.svg +3 -0
  105. package/static/w2ui/src/less/icons/svg/colors.svg +3 -0
  106. package/static/w2ui/src/less/icons/svg/columns.svg +5 -0
  107. package/static/w2ui/src/less/icons/svg/cross.svg +4 -0
  108. package/static/w2ui/src/less/icons/svg/drop.svg +6 -0
  109. package/static/w2ui/src/less/icons/svg/empty.svg +3 -0
  110. package/static/w2ui/src/less/icons/svg/eye-dropper.svg +4 -0
  111. package/static/w2ui/src/less/icons/svg/info.svg +8 -0
  112. package/static/w2ui/src/less/icons/svg/paste.svg +4 -0
  113. package/static/w2ui/src/less/icons/svg/pencil.svg +5 -0
  114. package/static/w2ui/src/less/icons/svg/plus.svg +3 -0
  115. package/static/w2ui/src/less/icons/svg/reload.svg +5 -0
  116. package/static/w2ui/src/less/icons/svg/search.svg +3 -0
  117. package/static/w2ui/src/less/icons/svg/settings.svg +8 -0
  118. package/static/w2ui/src/less/icons/w2ui-font.css +36 -0
  119. package/static/w2ui/src/less/icons/w2ui-font.woff +0 -0
  120. package/static/w2ui/src/less/src/buttons.less +184 -0
  121. package/static/w2ui/src/less/src/common.less +541 -0
  122. package/static/w2ui/src/less/src/fields.less +302 -0
  123. package/static/w2ui/src/less/src/form.less +319 -0
  124. package/static/w2ui/src/less/src/grid.less +1057 -0
  125. package/static/w2ui/src/less/src/icons.less +37 -0
  126. package/static/w2ui/src/less/src/layout.less +86 -0
  127. package/static/w2ui/src/less/src/mixins.less +87 -0
  128. package/static/w2ui/src/less/src/popup.less +277 -0
  129. package/static/w2ui/src/less/src/sidebar.less +343 -0
  130. package/static/w2ui/src/less/src/tabs.less +145 -0
  131. package/static/w2ui/src/less/src/toolbar.less +219 -0
  132. package/static/w2ui/src/less/src/tooltip.less +948 -0
  133. package/static/w2ui/src/less/w2ui.less +196 -0
  134. package/static/w2ui/src/locale/az-az.json +114 -0
  135. package/static/w2ui/src/locale/ba-ba.json +114 -0
  136. package/static/w2ui/src/locale/bg-bg.json +114 -0
  137. package/static/w2ui/src/locale/ca-es.json +114 -0
  138. package/static/w2ui/src/locale/da-dk.json +114 -0
  139. package/static/w2ui/src/locale/de-de.json +114 -0
  140. package/static/w2ui/src/locale/en-gb.json +17 -0
  141. package/static/w2ui/src/locale/en-us.json +17 -0
  142. package/static/w2ui/src/locale/es-ar.json +115 -0
  143. package/static/w2ui/src/locale/es-cr.json +119 -0
  144. package/static/w2ui/src/locale/es-es.json +114 -0
  145. package/static/w2ui/src/locale/es-mx.json +114 -0
  146. package/static/w2ui/src/locale/fr-fr.json +114 -0
  147. package/static/w2ui/src/locale/gl-es.json +114 -0
  148. package/static/w2ui/src/locale/hr-hr.json +114 -0
  149. package/static/w2ui/src/locale/hu-hu.json +114 -0
  150. package/static/w2ui/src/locale/id-id.json +114 -0
  151. package/static/w2ui/src/locale/it-it.json +114 -0
  152. package/static/w2ui/src/locale/ja-jp.json +114 -0
  153. package/static/w2ui/src/locale/kk-kz.json +116 -0
  154. package/static/w2ui/src/locale/ko-kr.json +114 -0
  155. package/static/w2ui/src/locale/lt-lt.json +114 -0
  156. package/static/w2ui/src/locale/nl-nl.json +114 -0
  157. package/static/w2ui/src/locale/no-no.json +114 -0
  158. package/static/w2ui/src/locale/pl-pl.json +114 -0
  159. package/static/w2ui/src/locale/pt-br.json +114 -0
  160. package/static/w2ui/src/locale/ru-ru.json +116 -0
  161. package/static/w2ui/src/locale/sk-sk.json +114 -0
  162. package/static/w2ui/src/locale/sl-si.json +116 -0
  163. package/static/w2ui/src/locale/sr-rs.json +114 -0
  164. package/static/w2ui/src/locale/tr-tr.json +114 -0
  165. package/static/w2ui/src/locale/uk-ua.json +114 -0
  166. package/static/w2ui/src/locale/zh-cn.json +114 -0
  167. package/static/w2ui/src/locale/zh-tw.json +114 -0
  168. package/static/w2ui/src/query.js +583 -0
  169. package/static/w2ui/src/readme.md +11 -0
  170. package/static/w2ui/src/w2base.js +311 -0
  171. package/static/w2ui/src/w2compat.js +207 -0
  172. package/static/w2ui/src/w2field.js +1854 -0
  173. package/static/w2ui/src/w2form.js +2411 -0
  174. package/static/w2ui/src/w2grid.js +8916 -0
  175. package/static/w2ui/src/w2layout.js +1194 -0
  176. package/static/w2ui/src/w2locale.js +129 -0
  177. package/static/w2ui/src/w2popup.js +909 -0
  178. package/static/w2ui/src/w2sidebar.js +1769 -0
  179. package/static/w2ui/src/w2tabs.js +669 -0
  180. package/static/w2ui/src/w2toolbar.js +1180 -0
  181. package/static/w2ui/src/w2tooltip.js +3134 -0
  182. package/static/w2ui/src/w2utils.js +2457 -0
@@ -0,0 +1,1057 @@
1
+ /*************************************************
2
+ * ---- Grid ----
3
+ */
4
+
5
+ .w2ui-grid {
6
+ position: relative;
7
+ border: @grid-border;
8
+ border-radius: 2px;
9
+ overflow: hidden !important;
10
+
11
+ > .w2ui-grid-box {
12
+ position: absolute;
13
+ overflow: hidden;
14
+ left: 0;
15
+ top: 0;
16
+ right: 0;
17
+ bottom: 0;
18
+ }
19
+
20
+ // ===== Grid Header =====
21
+
22
+ .w2ui-grid-header {
23
+ position: absolute;
24
+ top: 0;
25
+ left: 0;
26
+ right: 0;
27
+ height: 36px;
28
+ padding: 10px;
29
+ overflow: hidden;
30
+ font-size: 16px;
31
+ color: @grid-header-color;
32
+ .linear-gradient-vertical(@grid-header-linear-gradient-start, @grid-header-linear-gradient-end);
33
+ border-top-left-radius: 2px;
34
+ border-top-right-radius: 2px;
35
+ border-bottom: @grid-header-border-bottom !important;
36
+ }
37
+
38
+ // ===== Grid Toolbar =====
39
+
40
+ .w2ui-grid-toolbar {
41
+ position: absolute;
42
+ border-bottom: @grid-toolbar-border;
43
+ background-color: @grid-toolbar-background-color;
44
+ height: 52px;
45
+ padding: 9px 3px 0px 3px ;
46
+ margin: 0px;
47
+ box-shadow: @grid-toolbar-shadow;
48
+
49
+ .w2ui-tb-button .w2ui-tb-icon {
50
+ margin: 3px 0px 0px 0px!important;
51
+ }
52
+
53
+ .w2ui-grid-search-input {
54
+ position: relative;
55
+ width: 300px;
56
+ left: 0px;
57
+ top: -3px;
58
+
59
+ .w2ui-search-down {
60
+ position: absolute;
61
+ top: 5px;
62
+ left: 4px;
63
+ color: #8c99a7;
64
+ font-size: 13px;
65
+ }
66
+
67
+ .w2ui-grid-search-name {
68
+ position: absolute;
69
+ margin: 3px 0px 0px 3px;
70
+ padding: 5px 27px 6px 10px;
71
+ background-color: #fbfbfb;
72
+ border: 1px solid #b9b9b9;
73
+ border-radius: 15px;
74
+ pointer-events: none;
75
+ .name-icon {
76
+ position: absolute;
77
+ margin-left: -6px;
78
+ margin-top: -1px;
79
+ color: #8c99a7;
80
+ }
81
+ .name-text {
82
+ padding-left: 14px;
83
+ }
84
+ .name-cross {
85
+ position: absolute;
86
+ margin-top: -5px;
87
+ margin-left: 7px;
88
+ padding: 4px 5px;
89
+ pointer-events: all;
90
+ &:hover {
91
+ color: red;
92
+ }
93
+ }
94
+ }
95
+
96
+ .w2ui-search-all {
97
+ outline: none !important;
98
+ border-radius: 4px !important;
99
+ line-height: normal !important;
100
+ height: 30px !important;
101
+ width: 300px !important;
102
+ border: @grid-search-all-border !important;
103
+ color: @grid-search-all-color !important;
104
+ background-color: @grid-search-all-background-color;
105
+ padding: 1px 28px 0px 24px !important;
106
+ margin: 0px !important;
107
+ font-size: 13px !important;
108
+ &:focus {
109
+ border: 1px solid #007cff !important;
110
+ background-color: white !important;
111
+ }
112
+ }
113
+
114
+ .w2ui-search-drop {
115
+ position: absolute;
116
+ right: 2px;
117
+ top: 2px;
118
+ height: 26px;
119
+ width: 26px;
120
+ font-size: 16px;
121
+ cursor: pointer;
122
+ padding: 7px 2px 7px 2px;
123
+ border-radius: 4px;
124
+ background-color: transparent;
125
+
126
+ span.w2ui-icon-drop {
127
+ position: relative;
128
+ top: -3px;
129
+ color: #8d99a7;
130
+ }
131
+
132
+ &:hover,
133
+ &.checked {
134
+ background-color: #56a1e2;
135
+ span.w2ui-icon-drop {
136
+ color: #fff;
137
+ }
138
+ }
139
+ }
140
+ }
141
+
142
+ .w2ui-grid-searches {
143
+ display: flex;
144
+ flex-direction: row;
145
+ flex-wrap: nowrap;
146
+ border-top: 1px solid #ececec;
147
+ border-bottom: 1px solid #ececec;
148
+ background-color: #fcfdff;
149
+ margin: 7px -20px 0px -20px;
150
+ padding: 6px 50px 6px 20px;
151
+ height: 36px;
152
+
153
+ > div {
154
+ white-space: nowrap;
155
+ }
156
+ > span {
157
+ min-width: 48px;
158
+ white-space: nowrap;
159
+ text-overflow: ellipsis;
160
+ overflow: hidden;
161
+ border: 1px solid #88c3f7;
162
+ border-radius: 15px;
163
+ padding: 4px 12px;
164
+ margin: 0px 4px;
165
+ color: #4c9ad6;
166
+ font-size: 12px;
167
+ font-weight: bold;
168
+ background-color: #F5F9FE;
169
+
170
+ > span {
171
+ font-size: 9px;
172
+ position: relative;
173
+ top: -1px;
174
+ left: 2px;
175
+ }
176
+ }
177
+
178
+ .grid-search-line {
179
+ border-left: 1px solid #ececec;
180
+ width: 11px;
181
+ height: 22px;
182
+ margin-left: 7px;
183
+ margin-top: 1px;
184
+ }
185
+
186
+ .w2ui-grid-search-logic {
187
+ border: 1px solid #c8c9ca !important;
188
+ color: #676767 !important;
189
+ }
190
+
191
+ button.grid-search-btn {
192
+ margin: 0px 3px;
193
+ padding: 0px;
194
+ height: 24px;
195
+ font-size: 11px;
196
+ &.btn-remove {
197
+ min-width: 26px;
198
+ position: absolute;
199
+ left: calc(100% - 35px);
200
+ }
201
+ }
202
+
203
+ .grid-search-count {
204
+ background-color: #4cb1fd;
205
+ border-radius: 10px;
206
+ color: white;
207
+ padding: 0px 6px 1px 6px;
208
+ font-size: 11px !important;
209
+ position: relative !important;
210
+ top: 0px !important;
211
+ }
212
+
213
+ .grid-search-list {
214
+ li {
215
+ padding: 5px;
216
+ }
217
+ input {
218
+ position: relative;
219
+ top: 2px;
220
+ left: -3px;
221
+ }
222
+ }
223
+
224
+ }
225
+ }
226
+
227
+ .w2ui-grid-save-search {
228
+ padding-top: 30px;
229
+ text-align: center;
230
+ span {
231
+ width: 280px;
232
+ display: inline-block;
233
+ text-align: left;
234
+ padding-bottom: 4px;
235
+ }
236
+ .search-name {
237
+ width: 280px !important;
238
+ }
239
+ }
240
+
241
+ // ===== Grid Body =====
242
+
243
+ .w2ui-grid-body {
244
+ position: absolute;
245
+ overflow: hidden;
246
+ padding: 0px;
247
+ background-color: @grid-background-color;
248
+ .user-select;
249
+
250
+ input, select, textarea {
251
+ .user-select(text);
252
+ }
253
+
254
+ .w2ui-grid-columns, .w2ui-grid-fcolumns {
255
+ overflow: hidden;
256
+ position: absolute;
257
+ left: 0px;
258
+ top: 0px;
259
+ right: 0px;
260
+ box-shadow: @grid-headers-shadow;
261
+ height: auto;
262
+
263
+ table {
264
+ height: auto;
265
+ }
266
+
267
+ .w2ui-resizer {
268
+ position: absolute;
269
+ z-index: 1000;
270
+ display: block;
271
+ background-image: none;
272
+ background-color: rgba(0,0,0,0); /* needed for IE */
273
+ padding: 0px;
274
+ margin: 0px;
275
+ width: 6px;
276
+ height: 12px;
277
+ cursor: ew-resize;
278
+ }
279
+ }
280
+
281
+ .w2ui-grid-records, .w2ui-grid-frecords {
282
+ position: absolute;
283
+ left: 0px;
284
+ right: 0px;
285
+ top: 0px;
286
+ bottom: 0px;
287
+
288
+ table {
289
+ tr {
290
+ &.w2ui-odd {
291
+ color: @grid-row-color;
292
+ background-color: @grid-row-odd-background-color;
293
+ border-bottom: 1px solid #f5f5f5;
294
+ &:hover, &.w2ui-record-hover {
295
+ color: @grid-row-hover-color;
296
+ background-color: @grid-row-hover-background-color;
297
+ }
298
+ &.w2ui-empty-record:hover {
299
+ background-color: @grid-row-odd-background-color;
300
+ }
301
+ }
302
+ &.w2ui-even {
303
+ color: @grid-row-color;
304
+ background-color: @grid-row-even-background-color;
305
+ border-bottom: 1px dotted #f5f5f5;
306
+ &:hover, &.w2ui-record-hover {
307
+ color: @grid-row-hover-color;
308
+ background-color: @grid-row-hover-background-color;
309
+ }
310
+ &.w2ui-empty-record:hover {
311
+ background-color: @grid-row-even-background-color;
312
+ }
313
+ }
314
+ &.w2ui-selected, td.w2ui-selected {
315
+ color: @grid-row-selected-color !important;
316
+ background-color: @grid-row-selected-background-color !important;
317
+ border-bottom: 1px solid transparent;
318
+ }
319
+ &.w2ui-inactive, td.w2ui-inactive {
320
+ background-color: @grid-row-inactive-background-color !important;
321
+ }
322
+ }
323
+ }
324
+
325
+ .w2ui-expanded {
326
+ }
327
+
328
+ .w2ui-expanded1 {
329
+ height: 0px;
330
+ border-bottom: 1px solid rgb(178, 186, 192);
331
+ & > div {
332
+ height: 0px;
333
+ border: 0px;
334
+ transition: height .3s, opacity .3s;
335
+ }
336
+ }
337
+
338
+ .w2ui-expanded2 {
339
+ height: 0px;
340
+ border-radius: 0px;
341
+ border-bottom: 1px solid rgb(178, 186, 192);
342
+ & > div {
343
+ height: 0px;
344
+ border: 0px;
345
+ transition: height .3s, opacity .3s;
346
+ }
347
+ }
348
+
349
+ .w2ui-load-more {
350
+ cursor: pointer;
351
+ background-color: @grid-row-number-background-color;
352
+ border-right: @grid-row-border-right;
353
+ height: 43px;
354
+ > div {
355
+ text-align: center;
356
+ color: @grid-row-number-color;
357
+ background-color: @grid-row-number-background-color;
358
+ padding: 10px 0px 15px 0px;
359
+ height: 43px;
360
+ border-top: 1px dashed #D6D5D7;
361
+ border-bottom: 1px dashed #D6D5D7;
362
+ font-size: 12px;
363
+ &:hover {
364
+ color: #438ba2;
365
+ background-color: @grid-row-hover-background-color;
366
+ }
367
+ }
368
+ }
369
+ .w2ui-reoder-empty {
370
+ background-color: #eee;
371
+ border-bottom: 1px dashed #aaa;
372
+ border-top: 1px dashed #aaa;
373
+ }
374
+ }
375
+
376
+ // this table CSS for both columns and records
377
+ table {
378
+ border-spacing: 0px;
379
+ border-collapse: collapse;
380
+ table-layout: fixed;
381
+ width: 1px; // otherwise auto and does not work
382
+
383
+ .w2ui-head {
384
+ // border-right: 1px solid #dcdcdc;
385
+ // border-bottom: 1px solid #dadada;
386
+ // color: #656164;
387
+ // background-image: linear-gradient(#ffffff, #f9f9f9);
388
+ // box-shadow: none;
389
+
390
+ margin: 0px;
391
+ padding: 0px;
392
+ border-right: @grid-headers-border;
393
+ border-bottom: @grid-headers-border;
394
+ color: @grid-headers-color;
395
+ .linear-gradient-vertical(@grid-headers-linear-gradient-start, @grid-headers-linear-gradient-end);
396
+
397
+ > div {
398
+ padding: 7px 6px;
399
+ white-space: nowrap;
400
+ text-overflow: ellipsis;
401
+ overflow: hidden;
402
+ position: relative;
403
+ }
404
+ }
405
+
406
+ td {
407
+ border-right: @grid-row-border-right;
408
+ border-bottom: @grid-row-border-bottom;
409
+ cursor: default;
410
+ overflow: hidden;
411
+
412
+ &.w2ui-soft-span, &.w2ui-soft-hidden {
413
+ border-right-color: transparent;
414
+ }
415
+
416
+ &.w2ui-grid-data {
417
+ margin: 0px;
418
+ padding: 0px;
419
+
420
+ .w2ui-info {
421
+ position: relative;
422
+ top: 0px;
423
+ left: -1px;
424
+ font-size: 13px;
425
+ color: #8D99A7;
426
+ cursor: pointer;
427
+ width: 18px;
428
+ display: inline-block;
429
+ margin-right: 3px;
430
+ text-align: center;
431
+ }
432
+
433
+ .w2ui-clipboard-copy {
434
+ float: right;
435
+ margin-top: -15px;
436
+ width: 20px;
437
+ height: 16px;
438
+ padding: 0px;
439
+ text-align: center;
440
+ cursor: pointer;
441
+ font-size: 13px;
442
+ color: #8d98a7;
443
+ &:hover {
444
+ color: #545961;
445
+ }
446
+ }
447
+
448
+ & > div {
449
+ padding: 5px;
450
+ overflow: hidden;
451
+ white-space: nowrap;
452
+ text-overflow: ellipsis;
453
+ }
454
+
455
+ & > div.flexible-record {
456
+ height: auto;
457
+ overflow: visible;
458
+ white-space: normal;
459
+ }
460
+
461
+ .w2ui-show-children {
462
+ width: 16px;
463
+ height: 10px;
464
+ display: inline-block;
465
+ position: relative;
466
+ top: -1px;
467
+ cursor: pointer;
468
+ }
469
+ }
470
+ &:last-child {
471
+ border-right: 0px;
472
+ div {
473
+ text-overflow: clip;
474
+ }
475
+ }
476
+ }
477
+
478
+ .w2ui-col-number {
479
+ width: 34px;
480
+ color: @grid-row-number-color;
481
+ background-color: @grid-row-number-background-color;
482
+ div {
483
+ padding: 0px 7px 0px 3px;
484
+ text-align: right;
485
+ }
486
+ &.w2ui-head {
487
+ cursor: pointer;
488
+ }
489
+ }
490
+
491
+ .w2ui-col-select {
492
+ width: 26px;
493
+ div {
494
+ padding: 0px 0px;
495
+ text-align: center;
496
+ overflow: hidden;
497
+ input[type=checkbox] {
498
+ //margin: 3px 1px; //* needed for Opera on Mac */
499
+ margin-top: 3px;
500
+ margin-bottom: 0px;
501
+ position: relative;
502
+ }
503
+ }
504
+ }
505
+
506
+ .w2ui-col-expand {
507
+ width: 26px;
508
+ div {
509
+ padding: 0px 0px;
510
+ text-align: center;
511
+ font-weight: bold;
512
+ }
513
+ }
514
+
515
+ .w2ui-col-order {
516
+ width: 26px;
517
+ &.w2ui-grid-data div {
518
+ cursor: move;
519
+ height: 18px;
520
+ background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxyZWN0IHN0eWxlPSJmaWxsOiAjYWFhOyIgeD0iMCIgeT0iNCIgaGVpZ2h0PSIzIiB3aWR0aD0iMTYiPjwvcmVjdD4KICA8cmVjdCBzdHlsZT0iZmlsbDogI2FhYTsiIHg9IjAiIHk9IjkiIGhlaWdodD0iMyIgd2lkdGg9IjE2Ij48L3JlY3Q+Cjwvc3ZnPg==");
521
+ background-position: 5px 2px;
522
+ background-size: 14px 12px;
523
+ background-repeat: no-repeat;
524
+ }
525
+ }
526
+
527
+ .w2ui-col-selected {
528
+ background-color: #d1d1d1 !important;
529
+ }
530
+
531
+ .w2ui-row-selected {
532
+ background-color: #e2e2e2 !important;
533
+ }
534
+ }
535
+
536
+ .w2ui-intersection-marker {
537
+ position: absolute;
538
+ top: 0;
539
+ left: 0;
540
+ margin-left: -5px;
541
+ height: 26px;
542
+ width: 10px;
543
+
544
+ &.left {
545
+ left: 0;
546
+ margin-left: -5px;
547
+ }
548
+
549
+ &.right {
550
+ right: 0;
551
+ margin-right: 5px;
552
+ }
553
+
554
+ .top-marker {
555
+ position: absolute;
556
+ top: 0;
557
+ height: 0;
558
+ width: 0;
559
+ border-top: 5px solid @input-focus-outline-color;
560
+ border-left: 5px solid transparent;
561
+ border-right: 5px solid transparent;
562
+ }
563
+
564
+ .bottom-marker {
565
+ position: absolute;
566
+ bottom: 0;
567
+ height: 0;
568
+ width: 0;
569
+ border-bottom: 5px solid @input-focus-outline-color;
570
+ border-left: 5px solid transparent;
571
+ border-right: 5px solid transparent;
572
+ }
573
+ }
574
+
575
+ div.w2ui-col-header { // div needed
576
+ height: auto !important;
577
+ width: 100%;
578
+ overflow: hidden;
579
+ padding-right: 10px !important;
580
+ }
581
+
582
+ div.w2ui-col-header > div.w2ui-sort-up {
583
+ border: 4px solid transparent;
584
+ border-bottom: 5px solid #8D99A7;
585
+ margin-top: -2px;
586
+ margin-right: -7px;
587
+ float: right;
588
+ }
589
+
590
+ div.w2ui-col-header > div.w2ui-sort-down {
591
+ border: 4px solid transparent;
592
+ border-top: 5px solid #8D99A7;
593
+ margin-top: 2px;
594
+ margin-right: -7px;
595
+ float: right;
596
+ }
597
+
598
+ & .w2ui-col-group {
599
+ text-align: center;
600
+ }
601
+
602
+ .w2ui-grid-scroll1 {
603
+ position: absolute;
604
+ left: 0px;
605
+ bottom: 0px;
606
+ border-top: 1px solid #ddd;
607
+ border-right: 1px solid #ddd;
608
+ background-color: #FAFAFA;
609
+ }
610
+ }
611
+
612
+ .w2ui-grid-empty-msg {
613
+ position: absolute;
614
+ top: 27px;
615
+ left: 0;
616
+ right: 0;
617
+ bottom: 0;
618
+ background-color: rgba(255, 255, 255, 0.65);
619
+ > div {
620
+ position: absolute;
621
+ left: 0;
622
+ right: 0;
623
+ top: 45%;
624
+ transform: translateY(-45%);
625
+ text-align: center;
626
+ font-size: 13px;
627
+ color: #666;
628
+ }
629
+ }
630
+
631
+ .w2ui-changed {
632
+ .background-image(@image-changed, no-repeat, top, right);
633
+ }
634
+
635
+ // only in spreadsheet mode
636
+ .w2ui-edit-box {
637
+ position: absolute;
638
+ z-index: 1001;
639
+ border: 1.5px solid #6299DA;
640
+ pointer-events: auto;
641
+ padding: 2px !important;
642
+ margin: 0px !important;
643
+ background-color: white;
644
+ .w2ui-editable div.w2ui-input {
645
+ outline: none;
646
+ padding: 0.5px 1.5px !important;
647
+ }
648
+ .w2ui-editable input {
649
+ top: -2px !important;
650
+ padding: 1.5px !important;
651
+ }
652
+ }
653
+
654
+ .w2ui-editable {
655
+ overflow: hidden;
656
+ height: 100% !important;
657
+ margin: 0 !important;
658
+ padding: 3.5px 2px 2px 2px !important;
659
+
660
+ input {
661
+ top: -1px;
662
+ border: 0 !important;
663
+ border-radius: 0 !important;
664
+ border-color: transparent !important;
665
+ padding: 3px !important;
666
+ display: inline-block;
667
+ width: 100% !important;
668
+ height: 100% !important;
669
+ pointer-events: auto !important;
670
+ }
671
+
672
+ div.w2ui-input {
673
+ position: relative;
674
+ top: -0.5px;
675
+ border: 0 transparent;
676
+ border-radius: 0 !important;
677
+ margin: 0px !important;
678
+ padding: 5px 3px !important;
679
+ display: inline-block;
680
+ width: 100% !important;
681
+ height: 100% !important;
682
+ pointer-events: auto !important;
683
+ background-color: white;
684
+ white-space: pre;
685
+ overflow: hidden;
686
+ .user-select(text);
687
+ }
688
+ }
689
+
690
+ .w2ui-grid-summary {
691
+ position: absolute;
692
+ border-top: 1px solid gainsboro;
693
+ box-shadow: 0px -1px 4px #f0eeee;
694
+
695
+ table {
696
+ color: @grid-summary-color;
697
+ .w2ui-odd {
698
+ background-color: #fff;
699
+ }
700
+ .w2ui-even {
701
+ background-color: #fbfbfb;
702
+ }
703
+ }
704
+ }
705
+
706
+ // ===== Grid Footer =====
707
+
708
+ .w2ui-grid-footer {
709
+ position: absolute;
710
+ bottom: 0;
711
+ left: 0;
712
+ right: 0;
713
+ margin: 0px;
714
+ padding: 0px;
715
+ text-align: center;
716
+ font-size: 11px;
717
+ height: 24px;
718
+ overflow: hidden;
719
+ .user-select(text);
720
+ box-shadow: @grid-footer-shadow;
721
+ color: @grid-footer-color;
722
+ background-color: @grid-footer-background-color;
723
+ border-top: @grid-footer-border-top;
724
+ border-bottom-left-radius: 2px;
725
+ border-bottom-right-radius: 2px;
726
+
727
+ .w2ui-footer-left {
728
+ float: left;
729
+ padding-top: 5px;
730
+ padding-left: 5px;
731
+ }
732
+
733
+ .w2ui-footer-right {
734
+ float: right;
735
+ padding-top: 5px;
736
+ padding-right: 5px;
737
+ }
738
+
739
+ .w2ui-footer-center {
740
+ padding: 2px;
741
+ text-align: center;
742
+
743
+ .w2ui-footer-nav {
744
+ width: 110px;
745
+ margin: 0 auto;
746
+ padding: 0px;
747
+ text-align: center;
748
+
749
+ input[type=text] {
750
+ padding: 1px 2px 2px 2px;
751
+ border-radius: 3px;
752
+ width: 40px;
753
+ text-align: center;
754
+ }
755
+
756
+ a.w2ui-footer-btn {
757
+ display: inline-block;
758
+ border-radius: 3px;
759
+ cursor: pointer;
760
+ font-size: 11px;
761
+ line-height: 16px;
762
+ padding: 1px 5px;
763
+ width: 30px;
764
+ height: 18px;
765
+ margin-top: -1px;
766
+ color: @grid-footer-btn-color;
767
+ background-color: @grid-footer-btn-background-color;
768
+
769
+ &:hover {
770
+ color: @grid-footer-btn-hover-color;
771
+ background-color: @grid-footer-btn-hover-background-color;
772
+ }
773
+ }
774
+ }
775
+ }
776
+ }
777
+
778
+ .w2ui-grid-focus-input {
779
+ position: absolute;
780
+ top: 0;
781
+ right: 0;
782
+ z-index: -1;
783
+ opacity: 0;
784
+ overflow: hidden; // needed for Safari 10
785
+ // needed for IE11
786
+ padding: 0px;
787
+ margin: 0px;
788
+ width: 1px;
789
+ height: 1px;
790
+ resize: none;
791
+ border: 0px;
792
+ // --
793
+ }
794
+ }
795
+
796
+ // SpeadSheet
797
+ .w2ui-ss .w2ui-grid-body {
798
+
799
+ .w2ui-grid-records {
800
+ table tr td.w2ui-selected {
801
+ background-color: #EEF4FE !important;
802
+ }
803
+ table tr td.w2ui-inactive {
804
+ background-color: #F4F6F9 !important;
805
+ }
806
+ // line border
807
+ table td {
808
+ border-right-width: 1px;
809
+ border-bottom: 1px solid #efefef;
810
+ }
811
+ // no alternating rows
812
+ table tr.w2ui-odd,
813
+ table tr.w2ui-even,
814
+ table tr.w2ui-odd:hover,
815
+ table tr.w2ui-even:hover {
816
+ background-color: inherit;
817
+ }
818
+ table tr:first-child td {
819
+ border-top: 0px;
820
+ border-bottom: 0px;
821
+ }
822
+ }
823
+
824
+ .w2ui-grid-frecords {
825
+ table tr td.w2ui-selected {
826
+ background-color: #EEF4FE !important;
827
+ }
828
+ table tr td.w2ui-inactive {
829
+ background-color: #F4F6F9 !important;
830
+ }
831
+ // line border
832
+ table td {
833
+ border-right-width: 1px;
834
+ border-bottom: 1px solid #efefef;
835
+ }
836
+ // no alternating rows
837
+ table tr.w2ui-odd,
838
+ table tr.w2ui-even,
839
+ table tr.w2ui-odd:hover,
840
+ table tr.w2ui-even:hover {
841
+ background-color: inherit;
842
+ }
843
+ table tr:first-child td {
844
+ border-bottom: 0px;
845
+ }
846
+ }
847
+
848
+ .w2ui-selection {
849
+ position: absolute;
850
+ z-index: 1000;
851
+ border: 1.5px solid #6299DA; /* #457FC2; */
852
+ border-radius: 2px;
853
+ pointer-events: none;
854
+
855
+ &.w2ui-selection-preview {
856
+ background-color: #5a91ea08;
857
+ border: 1px dashed silver;
858
+ }
859
+
860
+ &.w2ui-selection-expand {
861
+ background-color: #e7f2e844;
862
+ border: 1px dotted silver;
863
+ }
864
+
865
+ .w2ui-selection-resizer {
866
+ cursor: crosshair;
867
+ position: absolute;
868
+ bottom: 0px;
869
+ right: 0px;
870
+ width: 6px;
871
+ height: 6px;
872
+ margin-right: -3px;
873
+ margin-bottom: -3px;
874
+ background-color: #457FC2;
875
+ border: 0.5px solid #fff;
876
+ outline: 1px solid white;
877
+ pointer-events: auto;
878
+ }
879
+
880
+ &.w2ui-inactive {
881
+ border: 1.5px solid #C0C2C5;
882
+ .w2ui-selection-resizer {
883
+ background-color: #B0B0B0;
884
+ }
885
+ }
886
+ }
887
+
888
+ .w2ui-soft-range {
889
+ position: absolute;
890
+ pointer-events: none;
891
+ white-space: nowrap;
892
+ overflow: hidden;
893
+ text-overflow: ellipsis;
894
+ }
895
+
896
+ .w2ui-changed {
897
+ background: inherit; /* do not show changed for spreadsheet */
898
+ }
899
+
900
+ .w2ui-editable input {
901
+ outline: none !important;
902
+ }
903
+ }
904
+
905
+ // info bubble in the grid
906
+ .w2ui-info-bubble {
907
+ table {
908
+ font-family: @main-font-family;
909
+ font-size: 12px;
910
+ color: white;
911
+ text-shadow: 1px 1px solid #999;
912
+
913
+ tr td:first-child {
914
+ white-space: nowrap;
915
+ padding: 2px;
916
+ padding-right: 10px;
917
+ color: #ddd;
918
+ vertical-align: top;
919
+ }
920
+
921
+ tr td:last-child {
922
+ white-space: pre;
923
+ padding: 2px;
924
+ }
925
+ }
926
+ }
927
+
928
+ // global Search slide down
929
+ .w2ui-overlay {
930
+
931
+ .w2ui-grid-search-suggest {
932
+ border-top-left-radius: 5px;
933
+ border-top-right-radius: 5px;
934
+ padding: 10px;
935
+ background-color: white;
936
+ border-bottom: 1px solid #e6e6e6;
937
+ color: #444444;
938
+ }
939
+
940
+ .w2ui-grid-search-single {
941
+ font-size: 12px;
942
+ padding-top: 10px;
943
+ .field {
944
+ white-space: nowrap;
945
+ text-overflow: ellipsis;
946
+ overflow: hidden;
947
+ border: 1px solid #a9b6c2;
948
+ border-radius: 4px;
949
+ padding: 4px 12px;
950
+ margin: 0 2px;
951
+ color: #4295d4;
952
+ background-color: #F5F9FE;
953
+ }
954
+ .operator {
955
+ display: inline-block;
956
+ color: black;
957
+ background-color: #e6e6e6;
958
+ border-radius: 4px;
959
+ margin: 0 4px;
960
+ padding: 6px 10px;
961
+ }
962
+ .value {
963
+ white-space: nowrap;
964
+ text-overflow: ellipsis;
965
+ overflow: hidden;
966
+ border: 1px solid #a9b6c2;
967
+ border-radius: 4px;
968
+ margin: 0 2px;
969
+ padding: 4px 12px;
970
+ }
971
+ .buttons {
972
+ text-align: left;
973
+ padding: 15px 10px 10px 0px;
974
+ }
975
+ }
976
+
977
+ .w2ui-grid-search-advanced {
978
+ text-align: left;
979
+ padding: 0px;
980
+ background-color: #fff;
981
+ text-shadow: none;
982
+ border: 1px solid #cdcdd8;
983
+ box-shadow: 0px 3px 14px 1px #e8e8e8;
984
+
985
+ .search-title {
986
+ padding: 20px 0px 9px 20px;
987
+ font-size: 17px;
988
+ font-weight: bold;
989
+ color: #555;
990
+ .search-logic {
991
+ float: right;
992
+ padding-right: 10px;
993
+ }
994
+ }
995
+ .search-body {
996
+ display: flex;
997
+ flex-direction: row;
998
+ flex-wrap: nowrap;
999
+ }
1000
+ .search-bottom {
1001
+ padding: 20px 10px;
1002
+ }
1003
+ table {
1004
+ color: #5f5f5f;
1005
+ font-size: 13px;
1006
+ padding: 12px 4px 0 4px;
1007
+
1008
+ td {
1009
+ padding: 4px;
1010
+ min-height: 40px;
1011
+ &.caption {
1012
+ text-align: right;
1013
+ padding-right: 5px;
1014
+ padding-left: 20px;
1015
+ }
1016
+ &.operator {
1017
+ text-align: left;
1018
+ padding: 5px;
1019
+ select {
1020
+ width: 100%;
1021
+ color: black;
1022
+ }
1023
+ }
1024
+ &.value {
1025
+ padding-right: 5px;
1026
+ padding-left: 5px;
1027
+ input[type=text] {
1028
+ border-radius: 3px;
1029
+ padding: 5px;
1030
+ margin-right: 3px;
1031
+ height: 28px;
1032
+ }
1033
+ select {
1034
+ padding: 0px 20px 5px 5px;
1035
+ margin-right: 3px;
1036
+ height: 28px;
1037
+ }
1038
+ }
1039
+ &.actions:nth-child(1) {
1040
+ padding: 25px 10px 10px 10px;
1041
+ text-align: left;
1042
+ }
1043
+ &.actions:nth-child(2) {
1044
+ padding: 25px 10px 10px 10px;
1045
+ text-align: right;
1046
+ background-color: @grid-searches-buttons-background-color;
1047
+ }
1048
+ }
1049
+ }
1050
+ }
1051
+ }
1052
+
1053
+ .w2ui-grid-skip {
1054
+ width: 50px;
1055
+ margin: -6px 3px;
1056
+ padding: 3px !important;
1057
+ }