aboutsummaryrefslogtreecommitdiffstats
path: root/code/app/src/lib/models/internal
diff options
context:
space:
mode:
authorivarlovlie <git@ivarlovlie.no>2022-11-26 11:28:56 +0100
committerivarlovlie <git@ivarlovlie.no>2022-11-26 11:28:56 +0100
commit94cb59310f5cde903d8c94942b0c56dceb80bf79 (patch)
tree9b9253f6dd264b5db5a0b79ff0bc861a673e9e94 /code/app/src/lib/models/internal
parentba3933f6ed61ef8c64242a55c72db6c312fc4e02 (diff)
downloadgreatoffice-94cb59310f5cde903d8c94942b0c56dceb80bf79.tar.xz
greatoffice-94cb59310f5cde903d8c94942b0c56dceb80bf79.zip
refactor: Add and use FormError class to handle form error logic
Diffstat (limited to 'code/app/src/lib/models/internal')
-rw-r--r--code/app/src/lib/models/internal/FormError.ts24
1 files changed, 24 insertions, 0 deletions
diff --git a/code/app/src/lib/models/internal/FormError.ts b/code/app/src/lib/models/internal/FormError.ts
new file mode 100644
index 0000000..f6d8978
--- /dev/null
+++ b/code/app/src/lib/models/internal/FormError.ts
@@ -0,0 +1,24 @@
+import type { KnownProblem } from "./KnownProblem";
+
+export class FormError {
+ title: string;
+ subtitle: string;
+ constructor(title: string = "", subtitle: string = "") {
+ this.title = title;
+ this.title = subtitle;
+ }
+
+ set(title: string = "", subtitle: string = "") {
+ this.title = title;
+ this.subtitle = subtitle;
+ }
+
+ set_from_known_problem(knownProblem: KnownProblem) {
+ this.title = knownProblem.title ?? "";
+ this.subtitle = knownProblem.subtitle ?? "";
+ }
+
+ has_error() {
+ return this.title?.length > 0 || this.subtitle?.length > 0;
+ }
+} \ No newline at end of file