-
- Generate link
- Screenshot
+
+ Generate link
+ Screenshot
Edit existing task
{
+ const specs = reactive(emptySpecs);
+ const formValid = computed(() => {
+ return fields.every(field => (
+ specs[field.name].length === 0 && !(field as Field).required || field.validate(specs[field.name]).ok
+ ));
+ });
+ function updateSpecs(newSpecs: Specs) {
+ Object.assign(specs, newSpecs);
+ }
+ return {specs, formValid, updateSpecs};
+});
diff --git a/frontend/wizard-vue/src/urlmaker/specs.ts b/frontend/wizard-vue/src/urlmaker/specs.ts
index cd367bd..0163297 100644
--- a/frontend/wizard-vue/src/urlmaker/specs.ts
+++ b/frontend/wizard-vue/src/urlmaker/specs.ts
@@ -90,4 +90,9 @@ export const fields = [
export type FieldNames = (typeof fields)[number]['name'];
-export type Specs = {[k in FieldNames]: string}
+export type Specs = {[k in FieldNames]: string};
+
+export const emptySpecs = fields.reduce((o, f) => {
+ o[f.name] = f.default;
+ return o
+}, {} as Specs);