Spaces:
Runtime error
Runtime error
Merge pull request #3 from Christina-A-Pan/main
Browse filesAdded the ability to select which reports should be submitted to AVID. Also removed the completed checkbox in the Hypothesis panel along with accompanying data.
indie_label_svelte/src/HypothesisPanel.svelte
CHANGED
@@ -95,7 +95,7 @@
|
|
95 |
selected = all_reports[0];
|
96 |
setActive(selected);
|
97 |
cur_open_evidence = selected["evidence"];
|
98 |
-
unfinished_count = all_reports.filter(item => !item.
|
99 |
has_complete_report = hasCompleteReport();
|
100 |
return all_reports;
|
101 |
}
|
@@ -165,15 +165,13 @@
|
|
165 |
evidence: [],
|
166 |
text_entry: "",
|
167 |
sep_selection: "",
|
168 |
-
complete_status: false,
|
169 |
};
|
170 |
all_reports = all_reports.concat(new_report);
|
171 |
promise = Promise.resolve(all_reports);
|
172 |
// Open this new report
|
173 |
selected = all_reports[all_reports.length - 1];
|
174 |
cur_open_evidence = selected["evidence"];
|
175 |
-
|
176 |
-
unfinished_count = all_reports.filter(item => !item.complete_status).length
|
177 |
}
|
178 |
|
179 |
function handleDeleteReport() {
|
@@ -182,17 +180,11 @@
|
|
182 |
promise = Promise.resolve(all_reports);
|
183 |
selected = all_reports[0];
|
184 |
cur_open_evidence = selected["evidence"];
|
185 |
-
unfinished_count = all_reports.filter(item => !item.
|
186 |
-
}
|
187 |
-
|
188 |
-
function handleMarkComplete() {
|
189 |
-
selected["complete_status"] = !selected["complete_status"];
|
190 |
-
unfinished_count = all_reports.filter(item => !item.complete_status).length
|
191 |
-
handleSaveReport(); // Auto-save report
|
192 |
}
|
193 |
|
194 |
function hasCompleteReport() {
|
195 |
-
return all_reports.some(item =>
|
196 |
}
|
197 |
|
198 |
// Error type
|
@@ -309,7 +301,7 @@
|
|
309 |
on:click={() => setActive(report)}
|
310 |
activated={selected === report}
|
311 |
>
|
312 |
-
{#if report["
|
313 |
<Graphic class="material-icons" aria-hidden="true">task_alt</Graphic>
|
314 |
{:else}
|
315 |
<Graphic class="material-icons" aria-hidden="true">radio_button_unchecked</Graphic>
|
@@ -455,7 +447,7 @@
|
|
455 |
|
456 |
</div>
|
457 |
|
458 |
-
<div class="spacing_vert_40">
|
459 |
<div class="head_6">
|
460 |
<b>Audit Category</b>
|
461 |
</div>
|
@@ -467,18 +459,6 @@
|
|
467 |
</Select>
|
468 |
</div>
|
469 |
</div>
|
470 |
-
|
471 |
-
<div class="spacing_vert_100_bottom">
|
472 |
-
<div>
|
473 |
-
<span class="head_6"><b>Mark report as complete?</b></span>
|
474 |
-
<FormField>
|
475 |
-
<Checkbox checked={selected["complete_status"]} on:change={handleMarkComplete} />
|
476 |
-
</FormField>
|
477 |
-
<br>
|
478 |
-
<p>Reports must be marked as complete and include all fields before they can be sent to AVID below.</p>
|
479 |
-
</div>
|
480 |
-
|
481 |
-
</div>
|
482 |
</div>
|
483 |
{/if}
|
484 |
</main>
|
@@ -540,9 +520,8 @@
|
|
540 |
on:click={handleSubmitReport}
|
541 |
variant="outlined"
|
542 |
color="secondary"
|
543 |
-
disabled={!has_complete_report}
|
544 |
>
|
545 |
-
<Label>Send to AVID</Label>
|
546 |
</Button>
|
547 |
{/key}
|
548 |
|
|
|
95 |
selected = all_reports[0];
|
96 |
setActive(selected);
|
97 |
cur_open_evidence = selected["evidence"];
|
98 |
+
unfinished_count = all_reports.filter(item => (item.evidence.length == 0) || (item.text_entry == "") || !(item.sep_selection)).length
|
99 |
has_complete_report = hasCompleteReport();
|
100 |
return all_reports;
|
101 |
}
|
|
|
165 |
evidence: [],
|
166 |
text_entry: "",
|
167 |
sep_selection: "",
|
|
|
168 |
};
|
169 |
all_reports = all_reports.concat(new_report);
|
170 |
promise = Promise.resolve(all_reports);
|
171 |
// Open this new report
|
172 |
selected = all_reports[all_reports.length - 1];
|
173 |
cur_open_evidence = selected["evidence"];
|
174 |
+
unfinished_count = all_reports.filter(item => (item.evidence.length == 0) || (item.text_entry == "") || !(item.sep_selection)).length
|
|
|
175 |
}
|
176 |
|
177 |
function handleDeleteReport() {
|
|
|
180 |
promise = Promise.resolve(all_reports);
|
181 |
selected = all_reports[0];
|
182 |
cur_open_evidence = selected["evidence"];
|
183 |
+
unfinished_count = all_reports.filter(item => (item.evidence.length == 0) || (item.text_entry == "") || !(item.sep_selection)).length
|
|
|
|
|
|
|
|
|
|
|
|
|
184 |
}
|
185 |
|
186 |
function hasCompleteReport() {
|
187 |
+
return all_reports.some(item => (item.evidence.length > 0) && (item.text_entry != "") && (item.sep_selection));
|
188 |
}
|
189 |
|
190 |
// Error type
|
|
|
301 |
on:click={() => setActive(report)}
|
302 |
activated={selected === report}
|
303 |
>
|
304 |
+
{#if (report["evidence"].length > 0) && (report["text_entry"] != "") && (report["sep_selection"])}
|
305 |
<Graphic class="material-icons" aria-hidden="true">task_alt</Graphic>
|
306 |
{:else}
|
307 |
<Graphic class="material-icons" aria-hidden="true">radio_button_unchecked</Graphic>
|
|
|
447 |
|
448 |
</div>
|
449 |
|
450 |
+
<div class="spacing_vert_40 spacing_vert_100_bottom">
|
451 |
<div class="head_6">
|
452 |
<b>Audit Category</b>
|
453 |
</div>
|
|
|
459 |
</Select>
|
460 |
</div>
|
461 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
462 |
</div>
|
463 |
{/if}
|
464 |
</main>
|
|
|
520 |
on:click={handleSubmitReport}
|
521 |
variant="outlined"
|
522 |
color="secondary"
|
|
|
523 |
>
|
524 |
+
<Label>Send Reports to AVID</Label>
|
525 |
</Button>
|
526 |
{/key}
|
527 |
|
indie_label_svelte/src/SubmitReportDialog.svelte
CHANGED
@@ -3,12 +3,19 @@
|
|
3 |
import Button, { Label } from "@smui/button";
|
4 |
import Textfield from "@smui/textfield";
|
5 |
import CircularProgress from '@smui/circular-progress';
|
|
|
6 |
|
7 |
export let open;
|
8 |
export let cur_user;
|
9 |
export let all_reports;
|
10 |
let name = "";
|
11 |
let email = "";
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
|
13 |
let promise_submit = Promise.resolve(null);
|
14 |
function handleSubmitReport() {
|
@@ -16,9 +23,17 @@
|
|
16 |
}
|
17 |
|
18 |
async function submitReport() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
let req_params = {
|
20 |
cur_user: cur_user,
|
21 |
-
reports: JSON.stringify(
|
22 |
name: name,
|
23 |
email: email,
|
24 |
};
|
@@ -49,11 +64,15 @@
|
|
49 |
|
50 |
<!-- Summary of complete reports -->
|
51 |
<div>
|
52 |
-
<p><b>Summary of Reports to Send</b> (Reports that include all fields
|
|
|
53 |
<ul>
|
54 |
-
{#each all_reports as report}
|
55 |
-
{#if
|
56 |
-
|
|
|
|
|
|
|
57 |
<ul>
|
58 |
<li>Error Type: {report["error_type"]}</li>
|
59 |
<li>Evidence: Includes {report["evidence"].length} example{(report["evidence"].length > 1) ? 's' : ''}</li>
|
@@ -75,7 +94,7 @@
|
|
75 |
|
76 |
<!-- Submission and status message -->
|
77 |
<div class="dialog_footer">
|
78 |
-
<Button on:click={handleSubmitReport} variant="outlined">
|
79 |
<Label>Submit Report to AVID</Label>
|
80 |
</Button>
|
81 |
|
|
|
3 |
import Button, { Label } from "@smui/button";
|
4 |
import Textfield from "@smui/textfield";
|
5 |
import CircularProgress from '@smui/circular-progress';
|
6 |
+
import Checkbox from '@smui/checkbox';
|
7 |
|
8 |
export let open;
|
9 |
export let cur_user;
|
10 |
export let all_reports;
|
11 |
let name = "";
|
12 |
let email = "";
|
13 |
+
// which_reports_to_submit is an array of booleans that tracks whether the report
|
14 |
+
// in the corresponding index of all_reports should be submitted to AVID.
|
15 |
+
let which_reports_to_submit = [];
|
16 |
+
for (let i = 0; i < all_reports.length; i++) {
|
17 |
+
which_reports_to_submit.push(false);
|
18 |
+
}
|
19 |
|
20 |
let promise_submit = Promise.resolve(null);
|
21 |
function handleSubmitReport() {
|
|
|
23 |
}
|
24 |
|
25 |
async function submitReport() {
|
26 |
+
//Get the relevant reports
|
27 |
+
let submitted_reports = [];
|
28 |
+
for (let i = 0; i < which_reports_to_submit.length; i++) {
|
29 |
+
if (which_reports_to_submit[i]) {
|
30 |
+
submitted_reports.push(all_reports[i])
|
31 |
+
}
|
32 |
+
}
|
33 |
+
|
34 |
let req_params = {
|
35 |
cur_user: cur_user,
|
36 |
+
reports: JSON.stringify(submitted_reports),
|
37 |
name: name,
|
38 |
email: email,
|
39 |
};
|
|
|
64 |
|
65 |
<!-- Summary of complete reports -->
|
66 |
<div>
|
67 |
+
<p><b>Summary of Reports Eligible to Send</b> (Reports that include all fields)</p>
|
68 |
+
<p> Select the reports you want to submit. </p>
|
69 |
<ul>
|
70 |
+
{#each all_reports as report, index}
|
71 |
+
{#if (report["evidence"].length > 0) && (report["text_entry"] != "") && (report["sep_selection"])}
|
72 |
+
|
73 |
+
<input type="checkbox" bind:checked={which_reports_to_submit[index]} />
|
74 |
+
|
75 |
+
<span>{report["title"]}</span>
|
76 |
<ul>
|
77 |
<li>Error Type: {report["error_type"]}</li>
|
78 |
<li>Evidence: Includes {report["evidence"].length} example{(report["evidence"].length > 1) ? 's' : ''}</li>
|
|
|
94 |
|
95 |
<!-- Submission and status message -->
|
96 |
<div class="dialog_footer">
|
97 |
+
<Button on:click={handleSubmitReport} variant="outlined" disabled={which_reports_to_submit.filter(item => item).length == 0}>
|
98 |
<Label>Submit Report to AVID</Label>
|
99 |
</Button>
|
100 |
|