aboutsummaryrefslogtreecommitdiffstats
path: root/src/angular/checklist/models
diff options
context:
space:
mode:
Diffstat (limited to 'src/angular/checklist/models')
-rw-r--r--src/angular/checklist/models/Checklist.ts18
-rw-r--r--src/angular/checklist/models/ChecklistItem.ts17
2 files changed, 35 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);
+ }
+ });
+ }
+}
diff --git a/src/angular/checklist/models/ChecklistItem.ts b/src/angular/checklist/models/ChecklistItem.ts
new file mode 100644
index 0000000..e2d812a
--- /dev/null
+++ b/src/angular/checklist/models/ChecklistItem.ts
@@ -0,0 +1,17 @@
+import { ChecklistModel } from "./Checklist";
+import { isUndefined } from "util";
+
+export class ChecklistItemModel {
+ public label: string;
+ public value: any;
+ public disabled: boolean;
+ public isChecked: boolean;
+ public subLevelChecklist: ChecklistModel;
+ constructor(label: string, disabled?: boolean, isChecked?: boolean, subLevelChecklist?: ChecklistModel, value?: any) {
+ this.label = label;
+ this.disabled = disabled;
+ this.isChecked = isChecked;
+ this.value = isUndefined(value) ? label : value;
+ this.subLevelChecklist = subLevelChecklist;
+ }
+}