marty 8.5.0 → 9.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.
- 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
|
-
|