From 956105e7c52948ddf58ce53ca26766cc60c6d08e Mon Sep 17 00:00:00 2001 From: Moaz Dawalibi Date: Wed, 31 Jul 2024 11:51:01 +0300 Subject: [PATCH] validation field --- .../ValidationField/ValidationField.tsx | 87 ++++---- .../ValidationField/View/CheckboxField.tsx | 58 +++-- .../ValidationField/View/DataRange.tsx | 69 +++--- src/Components/ValidationField/View/Date.tsx | 77 +++---- .../ValidationField/View/Default.tsx | 58 ++--- .../ValidationField/View/DropFile.tsx.tsx | 93 -------- src/Components/ValidationField/View/File.tsx | 105 ++++----- .../ValidationField/View/LocalSearch.tsx | 76 ------- .../ValidationField/View/MaltyFile.tsx | 86 -------- .../ValidationField/View/NumberFormate.tsx | 62 ------ .../ValidationField/View/SearchField.tsx | 166 +++------------ .../ValidationField/View/SelectField.tsx | 86 +++----- .../ValidationField/View/TextAreaField.tsx | 45 ---- .../ValidationField/View/TextField.tsx | 57 ----- src/Components/ValidationField/View/Time.tsx | 68 ++---- src/Components/ValidationField/View/index.tsx | 29 ++- .../components/ValidationFieldContainer.tsx | 24 --- .../components/ValidationFieldLabel.tsx | 39 ---- src/Components/ValidationField/index.tsx | 31 +-- .../state/ValidationValidationParamState.ts | 36 ---- .../utils/ValidationField.scss | 200 ------------------ .../ValidationField/utils/ValidationState.ts | 11 - .../utils/translatedOptions.ts | 7 - src/Components/ValidationField/utils/types.ts | 80 ------- src/api/config.ts | 2 +- 25 files changed, 314 insertions(+), 1338 deletions(-) delete mode 100644 src/Components/ValidationField/View/DropFile.tsx.tsx delete mode 100644 src/Components/ValidationField/View/LocalSearch.tsx delete mode 100644 src/Components/ValidationField/View/MaltyFile.tsx delete mode 100644 src/Components/ValidationField/View/NumberFormate.tsx delete mode 100644 src/Components/ValidationField/View/TextAreaField.tsx delete mode 100644 src/Components/ValidationField/View/TextField.tsx delete mode 100644 src/Components/ValidationField/components/ValidationFieldContainer.tsx delete mode 100644 src/Components/ValidationField/components/ValidationFieldLabel.tsx delete mode 100644 src/Components/ValidationField/state/ValidationValidationParamState.ts delete mode 100644 src/Components/ValidationField/utils/ValidationField.scss delete mode 100644 src/Components/ValidationField/utils/ValidationState.ts delete mode 100644 src/Components/ValidationField/utils/translatedOptions.ts delete mode 100644 src/Components/ValidationField/utils/types.ts diff --git a/src/Components/ValidationField/ValidationField.tsx b/src/Components/ValidationField/ValidationField.tsx index 3b2f503..6e6b8ef 100644 --- a/src/Components/ValidationField/ValidationField.tsx +++ b/src/Components/ValidationField/ValidationField.tsx @@ -1,46 +1,55 @@ import React from "react"; -import "./utils/ValidationField.scss"; -import { - Date, - Time, - File, - DataRange, - SelectField, - CheckboxField, - MaltyFile, - SearchField, - TextField, - DropFile, - Default, -} from "./View"; -import { ValidationFieldProps, ValidationFieldType } from "./utils/types"; -import LocalSearchField from "./View/LocalSearch"; -import NumberFormate from "./View/NumberFormate"; +import "./ValidationField.scss"; +import { Date, Time, File, DataRange, SelectField, Default, CheckboxField } from './View'; -const components: { [key: string]: React.FC } = { - Select: SelectField, - Search: SearchField, - LocalSearch: LocalSearchField, - DataRange: DataRange, - TextArea: TextField, - Date: Date, - Time: Time, - File: File, - DropFile: DropFile, - MaltyFile: MaltyFile, - Checkbox: CheckboxField, - NumberFormate: NumberFormate, +export interface ValidationFieldProps { + name: string; + type?: "text" | "Select" | "DataRange" | "Date" | "Time" | "File" | "number" | "Checkbox" | "password"; + placeholder?: string; + label?: string; + className?: string; + option?: any[]; + isMulti?: boolean; + isDisabled?: boolean; + picker?: "data" | "week" | "month" | "quarter" | "year"; + Format?: "YYYY/MM/DD" | "MM/DD" | "YYYY/MM"; + accept?: any + onChange?: (value: any) => void; + Group?: boolean + dir?: 'ltr' | "rtl" +} + +const ValidationField = (props: ValidationFieldProps) => { + switch (props?.type) { + case 'Select': + return ; + case "DataRange": + return ; + case "Date": + return ; + case "Time": + return