Spaces:
Sleeping
Sleeping
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 |
|