marty 8.5.0 → 9.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.eslintignore +1 -0
- data/.eslintrc.js +26 -0
- data/.gitignore +3 -0
- data/.gitlab-ci.yml +7 -0
- data/.prettierignore +14 -0
- data/.rubocop_todo.yml +1 -1
- data/Dockerfile.dummy +3 -0
- data/Makefile +1 -0
- data/app/assets/javascripts/marty/cable.js +7 -3
- data/app/assets/javascripts/marty/extjs/extensions/datetime_field/component.js +401 -0
- data/app/assets/javascripts/marty/extjs/extensions/datetime_field/field.js +140 -0
- data/app/assets/javascripts/marty/extjs/extensions/marty.js +845 -781
- data/app/assets/stylesheets/marty/codemirror/codemirror.css +215 -77
- data/app/assets/stylesheets/marty/codemirror/delorean.css +2 -2
- data/app/assets/stylesheets/marty/dark_mode.css +13 -3
- data/app/components/marty/auth_app/client/auth_app.js +107 -102
- data/app/components/marty/base_rule_view/client/base_rule_view.js +10 -8
- data/app/components/marty/data_grid_view/client/data_grid_edit.js +534 -519
- data/app/components/marty/form/client/form.js +3 -3
- data/app/components/marty/grid/client/grid.js +110 -87
- data/app/components/marty/import_view/client/import_view.js +18 -18
- data/app/components/marty/live_search_grid_panel/client/live_search_grid_panel.js +14 -13
- data/app/components/marty/main_auth_app/client/main_auth_app.js +42 -42
- data/app/components/marty/mcfly_grid_panel/client/mcfly_grid_panel.js +27 -18
- data/app/components/marty/new_posting_form/client/new_posting_form.js +3 -3
- data/app/components/marty/panel/client/panel.js +3 -3
- data/app/components/marty/posting_grid/client/posting_grid.js +24 -18
- data/app/components/marty/promise_view/client/promise_view.css +12 -12
- data/app/components/marty/promise_view/client/promise_view.js +46 -38
- data/app/components/marty/report_form/client/report_form.js +30 -28
- data/app/components/marty/report_select/client/report_select.js +28 -23
- data/app/components/marty/reporting/client/reporting.js +3 -3
- data/app/components/marty/script_form/client/script_form.js +29 -23
- data/app/components/marty/script_tester/client/script_tester.js +4 -5
- data/app/components/marty/scripting/client/scripting.js +40 -36
- data/app/components/marty/simple_app/client/simple_app.js +33 -24
- data/app/components/marty/simple_app/client/statusbar_ext.js +1 -1
- data/app/controllers/marty/rpc_controller.rb +3 -0
- data/app/models/marty/promise.rb +10 -2
- data/app/services/marty/data_grid/constraint.rb +2 -1
- data/app/services/marty/jobs/schedule.rb +2 -2
- data/app/services/marty/promises/delorean/create.rb +9 -2
- data/app/services/marty/promises/ruby/create.rb +7 -2
- data/config/initializers/delayed_job_config.rb +1 -0
- data/delorean/blame_report.dl +50 -58
- data/delorean/enum_report.dl +2 -3
- data/delorean/{marty_fields.dl → fields.dl} +16 -0
- data/delorean/styles.dl +216 -0
- data/delorean/table_report.dl +4 -4
- data/lib/marty/monkey.rb +17 -0
- data/lib/marty/promise_job.rb +9 -0
- data/lib/marty/promise_ruby_job.rb +8 -0
- data/lib/marty/version.rb +1 -1
- data/make-lint.mk +19 -0
- data/package.json +16 -0
- data/prettier.config.js +6 -0
- data/spec/controllers/diagnostic/controller_spec.rb +0 -1
- data/spec/controllers/rpc_controller_spec.rb +21 -7
- data/spec/dummy/delorean/data_report.dl +4 -4
- data/spec/dummy/delorean/fields.dl +1 -0
- data/spec/features/data_grid_spec.rb +37 -1
- data/spec/job_helper.rb +6 -0
- data/spec/lib/data_blame_spec.rb +4 -4
- data/spec/lib/data_importer_spec.rb +6 -4
- data/spec/models/promise_spec.rb +31 -0
- data/spec/spec_helper.rb +8 -0
- data/spec/support/download_helper.rb +53 -49
- data/spec/support/json_helper.rb +11 -0
- data/spec/support/shared_connection_db_helpers.rb +1 -0
- data/spec/support/suite.rb +20 -14
- data/yarn.lock +967 -0
- metadata +16 -4
- data/spec/dummy/delorean/marty_fields.dl +0 -1
@@ -17,7 +17,8 @@
|
|
17
17
|
padding: 0 4px; /* Horizontal padding of content */
|
18
18
|
}
|
19
19
|
|
20
|
-
.CodeMirror-scrollbar-filler,
|
20
|
+
.CodeMirror-scrollbar-filler,
|
21
|
+
.CodeMirror-gutter-filler {
|
21
22
|
background-color: white; /* The little square between H and V scrollbars */
|
22
23
|
}
|
23
24
|
|
@@ -28,7 +29,8 @@
|
|
28
29
|
background-color: #f7f7f7;
|
29
30
|
white-space: nowrap;
|
30
31
|
}
|
31
|
-
.CodeMirror-linenumbers {
|
32
|
+
.CodeMirror-linenumbers {
|
33
|
+
}
|
32
34
|
.CodeMirror-linenumber {
|
33
35
|
padding: 0 3px 0 5px;
|
34
36
|
min-width: 20px;
|
@@ -37,8 +39,12 @@
|
|
37
39
|
white-space: nowrap;
|
38
40
|
}
|
39
41
|
|
40
|
-
.CodeMirror-guttermarker {
|
41
|
-
|
42
|
+
.CodeMirror-guttermarker {
|
43
|
+
color: black;
|
44
|
+
}
|
45
|
+
.CodeMirror-guttermarker-subtle {
|
46
|
+
color: #999;
|
47
|
+
}
|
42
48
|
|
43
49
|
/* CURSOR */
|
44
50
|
|
@@ -74,81 +80,168 @@
|
|
74
80
|
background-color: #7e7;
|
75
81
|
}
|
76
82
|
@-moz-keyframes blink {
|
77
|
-
0% {
|
78
|
-
|
79
|
-
|
83
|
+
0% {
|
84
|
+
}
|
85
|
+
50% {
|
86
|
+
background-color: transparent;
|
87
|
+
}
|
88
|
+
100% {
|
89
|
+
}
|
80
90
|
}
|
81
91
|
@-webkit-keyframes blink {
|
82
|
-
0% {
|
83
|
-
|
84
|
-
|
92
|
+
0% {
|
93
|
+
}
|
94
|
+
50% {
|
95
|
+
background-color: transparent;
|
96
|
+
}
|
97
|
+
100% {
|
98
|
+
}
|
85
99
|
}
|
86
100
|
@keyframes blink {
|
87
|
-
0% {
|
88
|
-
|
89
|
-
|
101
|
+
0% {
|
102
|
+
}
|
103
|
+
50% {
|
104
|
+
background-color: transparent;
|
105
|
+
}
|
106
|
+
100% {
|
107
|
+
}
|
90
108
|
}
|
91
109
|
|
92
110
|
/* Can style cursor different in overwrite (non-insert) mode */
|
93
|
-
.CodeMirror-overwrite .CodeMirror-cursor {
|
111
|
+
.CodeMirror-overwrite .CodeMirror-cursor {
|
112
|
+
}
|
94
113
|
|
95
|
-
.cm-tab {
|
114
|
+
.cm-tab {
|
115
|
+
display: inline-block;
|
116
|
+
text-decoration: inherit;
|
117
|
+
}
|
96
118
|
|
97
119
|
.CodeMirror-rulers {
|
98
120
|
position: absolute;
|
99
|
-
left: 0;
|
121
|
+
left: 0;
|
122
|
+
right: 0;
|
123
|
+
top: -50px;
|
124
|
+
bottom: -20px;
|
100
125
|
overflow: hidden;
|
101
126
|
}
|
102
127
|
.CodeMirror-ruler {
|
103
128
|
border-left: 1px solid #ccc;
|
104
|
-
top: 0;
|
129
|
+
top: 0;
|
130
|
+
bottom: 0;
|
105
131
|
position: absolute;
|
106
132
|
}
|
107
133
|
|
108
134
|
/* DEFAULT THEME */
|
109
135
|
|
110
|
-
.cm-s-default .cm-header {
|
111
|
-
|
112
|
-
|
113
|
-
.cm-
|
114
|
-
|
115
|
-
|
116
|
-
.cm-
|
117
|
-
|
118
|
-
|
119
|
-
.cm-
|
120
|
-
|
121
|
-
|
122
|
-
.cm-
|
136
|
+
.cm-s-default .cm-header {
|
137
|
+
color: blue;
|
138
|
+
}
|
139
|
+
.cm-s-default .cm-quote {
|
140
|
+
color: #090;
|
141
|
+
}
|
142
|
+
.cm-negative {
|
143
|
+
color: #d44;
|
144
|
+
}
|
145
|
+
.cm-positive {
|
146
|
+
color: #292;
|
147
|
+
}
|
148
|
+
.cm-header,
|
149
|
+
.cm-strong {
|
150
|
+
font-weight: bold;
|
151
|
+
}
|
152
|
+
.cm-em {
|
153
|
+
font-style: italic;
|
154
|
+
}
|
155
|
+
.cm-link {
|
156
|
+
text-decoration: underline;
|
157
|
+
}
|
158
|
+
.cm-strikethrough {
|
159
|
+
text-decoration: line-through;
|
160
|
+
}
|
161
|
+
|
162
|
+
.cm-s-default .cm-keyword {
|
163
|
+
color: #708;
|
164
|
+
}
|
165
|
+
.cm-s-default .cm-atom {
|
166
|
+
color: #219;
|
167
|
+
}
|
168
|
+
.cm-s-default .cm-number {
|
169
|
+
color: #164;
|
170
|
+
}
|
171
|
+
.cm-s-default .cm-def {
|
172
|
+
color: #00f;
|
173
|
+
}
|
123
174
|
.cm-s-default .cm-variable,
|
124
175
|
.cm-s-default .cm-punctuation,
|
125
176
|
.cm-s-default .cm-property,
|
126
|
-
.cm-s-default .cm-operator {
|
127
|
-
|
128
|
-
.cm-s-default .cm-variable-
|
129
|
-
|
130
|
-
|
131
|
-
.cm-s-default .cm-
|
132
|
-
.cm-s-default .cm-
|
133
|
-
|
134
|
-
|
135
|
-
.cm-s-default .cm-
|
136
|
-
|
137
|
-
|
138
|
-
.cm-s-default .cm-
|
139
|
-
|
140
|
-
|
141
|
-
.cm-s-default .cm-
|
142
|
-
|
143
|
-
|
144
|
-
.
|
177
|
+
.cm-s-default .cm-operator {
|
178
|
+
}
|
179
|
+
.cm-s-default .cm-variable-2 {
|
180
|
+
color: #05a;
|
181
|
+
}
|
182
|
+
.cm-s-default .cm-variable-3,
|
183
|
+
.cm-s-default .cm-type {
|
184
|
+
color: #085;
|
185
|
+
}
|
186
|
+
.cm-s-default .cm-comment {
|
187
|
+
color: #a50;
|
188
|
+
}
|
189
|
+
.cm-s-default .cm-string {
|
190
|
+
color: #a11;
|
191
|
+
}
|
192
|
+
.cm-s-default .cm-string-2 {
|
193
|
+
color: #f50;
|
194
|
+
}
|
195
|
+
.cm-s-default .cm-meta {
|
196
|
+
color: #555;
|
197
|
+
}
|
198
|
+
.cm-s-default .cm-qualifier {
|
199
|
+
color: #555;
|
200
|
+
}
|
201
|
+
.cm-s-default .cm-builtin {
|
202
|
+
color: #30a;
|
203
|
+
}
|
204
|
+
.cm-s-default .cm-bracket {
|
205
|
+
color: #997;
|
206
|
+
}
|
207
|
+
.cm-s-default .cm-tag {
|
208
|
+
color: #170;
|
209
|
+
}
|
210
|
+
.cm-s-default .cm-attribute {
|
211
|
+
color: #00c;
|
212
|
+
}
|
213
|
+
.cm-s-default .cm-hr {
|
214
|
+
color: #999;
|
215
|
+
}
|
216
|
+
.cm-s-default .cm-link {
|
217
|
+
color: #00c;
|
218
|
+
}
|
219
|
+
|
220
|
+
.cm-s-default .cm-error {
|
221
|
+
color: #f00;
|
222
|
+
}
|
223
|
+
.cm-invalidchar {
|
224
|
+
color: #f00;
|
225
|
+
}
|
226
|
+
|
227
|
+
.CodeMirror-composing {
|
228
|
+
border-bottom: 2px solid;
|
229
|
+
}
|
145
230
|
|
146
231
|
/* Default styles for common addons */
|
147
232
|
|
148
|
-
div.CodeMirror span.CodeMirror-matchingbracket {
|
149
|
-
|
150
|
-
|
151
|
-
.CodeMirror-
|
233
|
+
div.CodeMirror span.CodeMirror-matchingbracket {
|
234
|
+
color: #0b0;
|
235
|
+
}
|
236
|
+
div.CodeMirror span.CodeMirror-nonmatchingbracket {
|
237
|
+
color: #a22;
|
238
|
+
}
|
239
|
+
.CodeMirror-matchingtag {
|
240
|
+
background: rgba(255, 150, 0, 0.3);
|
241
|
+
}
|
242
|
+
.CodeMirror-activeline-background {
|
243
|
+
background: #e8f2ff;
|
244
|
+
}
|
152
245
|
|
153
246
|
/* STOP */
|
154
247
|
|
@@ -165,7 +258,8 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;}
|
|
165
258
|
overflow: scroll !important; /* Things will break if this is overridden */
|
166
259
|
/* 30px is the magic margin used to hide the element's real scrollbars */
|
167
260
|
/* See overflow: hidden in .CodeMirror */
|
168
|
-
margin-bottom: -30px;
|
261
|
+
margin-bottom: -30px;
|
262
|
+
margin-right: -30px;
|
169
263
|
padding-bottom: 30px;
|
170
264
|
height: 100%;
|
171
265
|
outline: none; /* Prevent dragging from highlighting the element */
|
@@ -179,30 +273,39 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;}
|
|
179
273
|
/* The fake, visible scrollbars. Used to force redraw during scrolling
|
180
274
|
before actual scrolling happens, thus preventing shaking and
|
181
275
|
flickering artifacts. */
|
182
|
-
.CodeMirror-vscrollbar,
|
276
|
+
.CodeMirror-vscrollbar,
|
277
|
+
.CodeMirror-hscrollbar,
|
278
|
+
.CodeMirror-scrollbar-filler,
|
279
|
+
.CodeMirror-gutter-filler {
|
183
280
|
position: absolute;
|
184
281
|
z-index: 6;
|
185
282
|
display: none;
|
186
283
|
}
|
187
284
|
.CodeMirror-vscrollbar {
|
188
|
-
right: 0;
|
285
|
+
right: 0;
|
286
|
+
top: 0;
|
189
287
|
overflow-x: hidden;
|
190
288
|
overflow-y: scroll;
|
191
289
|
}
|
192
290
|
.CodeMirror-hscrollbar {
|
193
|
-
bottom: 0;
|
291
|
+
bottom: 0;
|
292
|
+
left: 0;
|
194
293
|
overflow-y: hidden;
|
195
294
|
overflow-x: scroll;
|
196
295
|
}
|
197
296
|
.CodeMirror-scrollbar-filler {
|
198
|
-
right: 0;
|
297
|
+
right: 0;
|
298
|
+
bottom: 0;
|
199
299
|
}
|
200
300
|
.CodeMirror-gutter-filler {
|
201
|
-
left: 0;
|
301
|
+
left: 0;
|
302
|
+
bottom: 0;
|
202
303
|
}
|
203
304
|
|
204
305
|
.CodeMirror-gutters {
|
205
|
-
position: absolute;
|
306
|
+
position: absolute;
|
307
|
+
left: 0;
|
308
|
+
top: 0;
|
206
309
|
min-height: 100%;
|
207
310
|
z-index: 3;
|
208
311
|
}
|
@@ -221,7 +324,8 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;}
|
|
221
324
|
}
|
222
325
|
.CodeMirror-gutter-background {
|
223
326
|
position: absolute;
|
224
|
-
top: 0;
|
327
|
+
top: 0;
|
328
|
+
bottom: 0;
|
225
329
|
z-index: 4;
|
226
330
|
}
|
227
331
|
.CodeMirror-gutter-elt {
|
@@ -229,8 +333,12 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;}
|
|
229
333
|
cursor: default;
|
230
334
|
z-index: 4;
|
231
335
|
}
|
232
|
-
.CodeMirror-gutter-wrapper ::selection {
|
233
|
-
|
336
|
+
.CodeMirror-gutter-wrapper ::selection {
|
337
|
+
background-color: transparent;
|
338
|
+
}
|
339
|
+
.CodeMirror-gutter-wrapper ::-moz-selection {
|
340
|
+
background-color: transparent;
|
341
|
+
}
|
234
342
|
|
235
343
|
.CodeMirror-lines {
|
236
344
|
cursor: text;
|
@@ -238,7 +346,9 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;}
|
|
238
346
|
}
|
239
347
|
.CodeMirror pre {
|
240
348
|
/* Reset some styles that the rest of the page might have set */
|
241
|
-
-moz-border-radius: 0;
|
349
|
+
-moz-border-radius: 0;
|
350
|
+
-webkit-border-radius: 0;
|
351
|
+
border-radius: 0;
|
242
352
|
border-width: 0;
|
243
353
|
background: transparent;
|
244
354
|
font-family: inherit;
|
@@ -263,7 +373,10 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;}
|
|
263
373
|
|
264
374
|
.CodeMirror-linebackground {
|
265
375
|
position: absolute;
|
266
|
-
left: 0;
|
376
|
+
left: 0;
|
377
|
+
right: 0;
|
378
|
+
top: 0;
|
379
|
+
bottom: 0;
|
267
380
|
z-index: 0;
|
268
381
|
}
|
269
382
|
|
@@ -273,9 +386,12 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;}
|
|
273
386
|
padding: 0.1px; /* Force widget margins to stay inside of the container */
|
274
387
|
}
|
275
388
|
|
276
|
-
.CodeMirror-widget {
|
389
|
+
.CodeMirror-widget {
|
390
|
+
}
|
277
391
|
|
278
|
-
.CodeMirror-rtl pre {
|
392
|
+
.CodeMirror-rtl pre {
|
393
|
+
direction: rtl;
|
394
|
+
}
|
279
395
|
|
280
396
|
.CodeMirror-code {
|
281
397
|
outline: none;
|
@@ -303,7 +419,9 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;}
|
|
303
419
|
position: absolute;
|
304
420
|
pointer-events: none;
|
305
421
|
}
|
306
|
-
.CodeMirror-measure pre {
|
422
|
+
.CodeMirror-measure pre {
|
423
|
+
position: static;
|
424
|
+
}
|
307
425
|
|
308
426
|
div.CodeMirror-cursors {
|
309
427
|
visibility: hidden;
|
@@ -318,19 +436,35 @@ div.CodeMirror-dragcursors {
|
|
318
436
|
visibility: visible;
|
319
437
|
}
|
320
438
|
|
321
|
-
.CodeMirror-selected {
|
322
|
-
|
323
|
-
|
324
|
-
.CodeMirror-
|
325
|
-
|
439
|
+
.CodeMirror-selected {
|
440
|
+
background: #d9d9d9;
|
441
|
+
}
|
442
|
+
.CodeMirror-focused .CodeMirror-selected {
|
443
|
+
background: #d7d4f0;
|
444
|
+
}
|
445
|
+
.CodeMirror-crosshair {
|
446
|
+
cursor: crosshair;
|
447
|
+
}
|
448
|
+
.CodeMirror-line::selection,
|
449
|
+
.CodeMirror-line > span::selection,
|
450
|
+
.CodeMirror-line > span > span::selection {
|
451
|
+
background: #d7d4f0;
|
452
|
+
}
|
453
|
+
.CodeMirror-line::-moz-selection,
|
454
|
+
.CodeMirror-line > span::-moz-selection,
|
455
|
+
.CodeMirror-line > span > span::-moz-selection {
|
456
|
+
background: #d7d4f0;
|
457
|
+
}
|
326
458
|
|
327
459
|
.cm-searching {
|
328
460
|
background-color: #ffa;
|
329
|
-
background-color: rgba(255, 255, 0, .4);
|
461
|
+
background-color: rgba(255, 255, 0, 0.4);
|
330
462
|
}
|
331
463
|
|
332
464
|
/* Used to force a border model for a node */
|
333
|
-
.cm-force-border {
|
465
|
+
.cm-force-border {
|
466
|
+
padding-right: 0.1px;
|
467
|
+
}
|
334
468
|
|
335
469
|
@media print {
|
336
470
|
/* Hide the cursor when printing */
|
@@ -340,7 +474,11 @@ div.CodeMirror-dragcursors {
|
|
340
474
|
}
|
341
475
|
|
342
476
|
/* See issue #2901 */
|
343
|
-
.cm-tab-wrap-hack:after {
|
477
|
+
.cm-tab-wrap-hack:after {
|
478
|
+
content: "";
|
479
|
+
}
|
344
480
|
|
345
481
|
/* Help users use markselection to safely style text background */
|
346
|
-
span.CodeMirror-selectedtext {
|
482
|
+
span.CodeMirror-selectedtext {
|
483
|
+
background: none;
|
484
|
+
}
|
@@ -3,15 +3,25 @@ html {
|
|
3
3
|
}
|
4
4
|
|
5
5
|
body {
|
6
|
-
background-color: #
|
6
|
+
background-color: #fff !important;
|
7
7
|
filter: invert(90%) grayscale(10%) hue-rotate(180deg) !important;
|
8
8
|
-moz-filter: invert(90%) grayscale(10%) hue-rotate(180deg) !important;
|
9
9
|
-webkit-filter: invert(90%) grayscale(10%) hue-rotate(180deg) !important;
|
10
10
|
}
|
11
11
|
|
12
|
-
em,
|
12
|
+
em,
|
13
|
+
img,
|
14
|
+
svg,
|
15
|
+
image,
|
16
|
+
video,
|
17
|
+
audio,
|
18
|
+
embed,
|
19
|
+
iframe,
|
20
|
+
object,
|
21
|
+
button,
|
22
|
+
canvas,
|
23
|
+
figure:empty {
|
13
24
|
filter: invert(100%) !important;
|
14
25
|
-moz-filter: invert(100%) !important;
|
15
26
|
-webkit-filter: invert(100%) !important;
|
16
27
|
}
|
17
|
-
|