aboutsummaryrefslogtreecommitdiffstats
path: root/src/angular/checklist/models/Checklist.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/angular/checklist/models/Checklist.ts')
-rw-r--r--src/angular/checklist/models/Checklist.ts18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/angular/checklist/models/Checklist.ts b/src/angular/checklist/models/Checklist.ts
new file mode 100644
index 0000000..7b50dd3
--- /dev/null
+++ b/src/angular/checklist/models/Checklist.ts
@@ -0,0 +1,18 @@
+import { ChecklistItemModel } from "./ChecklistItem";
+
+export class ChecklistModel {
+ public selectedValues: any[];
+ public checkboxes: ChecklistItemModel[];
+ constructor(selectedValues: any[], checkboxes: ChecklistItemModel[]) {
+ this.selectedValues = selectedValues || [];
+ this.checkboxes = checkboxes;
+ // align the selected values list and checkboxes isChecked param
+ this.checkboxes.forEach((checkbox: ChecklistItemModel) => {
+ if (this.selectedValues.indexOf(checkbox.value) > -1) {
+ checkbox.isChecked = true;
+ }else if (checkbox.isChecked) {
+ this.selectedValues.push(checkbox.value);
+ }
+ });
+ }
+}