-
-
-
-
-
+
+
-
+
\ No newline at end of file
diff --git a/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/preview/elements/HeadlineElement.vue b/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/preview/elements/HeadlineElement.vue
index a4c199dce..96fdbbfaa 100644
--- a/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/preview/elements/HeadlineElement.vue
+++ b/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/preview/elements/HeadlineElement.vue
@@ -1,8 +1,8 @@
diff --git a/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/preview/elements/HiddenElement.vue b/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/preview/elements/HiddenElement.vue
index 882940676..1a05284a7 100644
--- a/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/preview/elements/HiddenElement.vue
+++ b/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/preview/elements/HiddenElement.vue
@@ -1,9 +1,9 @@
diff --git a/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/preview/elements/SelectElement.vue b/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/preview/elements/SelectElement.vue
index f5cd65c20..8dbf299eb 100644
--- a/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/preview/elements/SelectElement.vue
+++ b/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/preview/elements/SelectElement.vue
@@ -1,5 +1,5 @@
diff --git a/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/preview/elements/TextElement.vue b/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/preview/elements/TextElement.vue
index 689ff530d..2c4b3d480 100644
--- a/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/preview/elements/TextElement.vue
+++ b/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/preview/elements/TextElement.vue
@@ -1,8 +1,8 @@
diff --git a/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/model/preview/types.ts b/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/model/preview/types.ts
new file mode 100644
index 000000000..81a8c1365
--- /dev/null
+++ b/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/model/preview/types.ts
@@ -0,0 +1,38 @@
+export interface PreviewOption {
+ id: string;
+ name: string;
+ valid: boolean;
+ selected: boolean;
+}
+
+export interface PreviewElement {
+ id: string;
+ name: string;
+ pattern: string;
+ colorSystem: string;
+ placeHolder: string;
+ displayGroup: string;
+ defaultValue: string;
+ value: string;
+ help: string | null;
+ helpLink: string | null;
+ valid: boolean;
+ required: boolean;
+ rawValue: string;
+ rawValues: any[];
+ options: PreviewOption[];
+ htmlType: 'headline' | 'text' | 'input' | 'hidden' | 'select';
+ validationErrors: any[];
+ variant?: string; // For headline
+ minValue?: number; // For input
+ maxValue?: number; // For input
+}
+
+export interface PreviewResponse {
+ success: boolean;
+ netto: number;
+ tax: number;
+ brutto: number;
+ colorDb: any[];
+ elements: PreviewElement[];
+}
diff --git a/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/stores/Global.ts b/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/stores/Global.ts
index 615e5721e..91b6fb49d 100644
--- a/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/stores/Global.ts
+++ b/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/stores/Global.ts
@@ -1,6 +1,7 @@
import { defineStore } from 'pinia'
import BaseElement from '../model/BaseElement'
import Mode from '../model/Mode'
+import type { PreviewResponse } from '../model/preview/types';
import { saveProductToApi, saveFomulasAndParameterToApi, loadJsonFromApi, loadPriceFromApi, savePaperContainerToApi, saveDesignToApi, saveXmlToApi, fetchPreview } from '../lib/api'
import { useItemStore } from './Items'
@@ -29,7 +30,7 @@ export const useGlobalStore = defineStore('global', {
saving: false,
syncing: false,
currentTab: 'designer' as string | number,
- previewData: {} as object,
+ previewData: null as PreviewResponse | null,
isPreviewLoading: false,
previewError: '',
}),
@@ -44,7 +45,7 @@ export const useGlobalStore = defineStore('global', {
getDragMode: (state) => state.dragMode,
getFormulaData: (state) => state.formulaData,
getFormulaError: (state) => state.formulaError,
- getPreviewData: (state) => state.previewData,
+ getPreviewData: (state) => state.previewData as PreviewResponse | null,
},
actions: {
setXml(value: string) {