diff --git a/api/src/Kurs.Platform.Application.Contracts/ListForms/GridOptionsDto/LayoutDto.cs b/api/src/Kurs.Platform.Application.Contracts/ListForms/GridOptionsDto/LayoutDto.cs index 9930bf3b..eddbe7bc 100644 --- a/api/src/Kurs.Platform.Application.Contracts/ListForms/GridOptionsDto/LayoutDto.cs +++ b/api/src/Kurs.Platform.Application.Contracts/ListForms/GridOptionsDto/LayoutDto.cs @@ -5,6 +5,7 @@ public class LayoutDto public bool Grid { get; set; } = true; public bool Card { get; set; } = true; public bool Pivot { get; set; } = true; + public bool Chart { get; set; } = true; public string DefaultLayout { get; set; } = "grid"; public int CardLayoutColumn { get; set; } = 4; } diff --git a/api/src/Kurs.Platform.DbMigrator/Seeds/SeederData.json b/api/src/Kurs.Platform.DbMigrator/Seeds/SeederData.json index d01b5210..b85e856c 100644 --- a/api/src/Kurs.Platform.DbMigrator/Seeds/SeederData.json +++ b/api/src/Kurs.Platform.DbMigrator/Seeds/SeederData.json @@ -12517,6 +12517,12 @@ "en": "Pivot Layout", "tr": "Pivot Düzeni" }, + { + "resourceName": "Platform", + "key": "ListForms.ListFormEdit.DetailsLayoutDto.ChartLayout", + "en": "Chart Layout", + "tr": "Grafik Düzeni" + }, { "resourceName": "Platform", "key": "ListForms.ListFormEdit.DetailsLayoutDto.DefaultLayout", diff --git a/ui/public/version.json b/ui/public/version.json index b367163e..3c7fc84d 100644 --- a/ui/public/version.json +++ b/ui/public/version.json @@ -1,6 +1,102 @@ { - "commit": "a8dbf4c", + "commit": "d731943", "releases": [ + { + "version": "1.0.28", + "buildDate": "2025-09-24", + "commit": "948925816f3fc5808a07bf0ce6fd86e0ac880ec7", + "changeLog": [ + "Vite güncellemesi ile artık versiyon bilgileri düzelecek ve cache problemi düzelmeli" + ] + }, + { + "version": "1.0.27", + "buildDate": "2025-09-24", + "commit": "6e3f58ce9d3e7bc79c74dfc33ec79d115b7160a2", + "changeLog": [ + "FormView, FormNew, Grid Popup için Script özelliği eklendi. Ayrıca itemlara buton eklenebiliyor.", + "Sadece textbox olan inputlara ekleniyor. Diğer komponenler için render özelliği kullanılması gerekiyor." + ] + }, + { + "version": "1.0.26", + "buildDate": "2025-09-23", + "commit": "ea5dbe91f5abd0a7408b75cc111c3119fbb8eb53", + "changeLog": [ + "Liste, Pivot ve Card görünümü düzeltildi.", + "Menü ikonları Listelerde gösterildi.", + "Form detayında Subform filtreleri çalıştırıldı.", + "Grid proplarına gridDto gelmiyorsa kendi başının çaresine bakacak şekilde düzenlendi." + ] + }, + { + "version": "1.0.25", + "buildDate": "2025-09-23", + "commit": "d4f994b7b17bd96c45ed868e4c94d18ca757e217", + "changeLog": [ + "Genel düzenlemeler" + ] + }, + { + "version": "1.0.24", + "buildDate": "2025-09-23", + "commit": "f62c35dec957dae225ab93811a0899c975cecf52", + "changeLog": [ + "BaseModel LocalStorage açıldı.", + "ListeForm Layout ve CardColumnCount eklendi.", + "FormView, FormEdit ve FormNew den geri butonu ile Liste kaldığı yerden devam edebilecek." + ] + }, + { + "version": "1.0.23", + "buildDate": "2025-09-23", + "commit": "e92143fd055b9db1a8932f2c4d0b81172b19ef00", + "changeLog": [ + "Vite üzerinde html dosyaları cacheleme" + ] + }, + { + "version": "1.0.22", + "buildDate": "2025-09-23", + "commit": "226410e7a928a54f01dd7f5305bf09fb7dcbc59d", + "changeLog": [ + "MenuIcon için hook hazırladı. Liste, FormEdit, FormView ve FormNew de kullanılabilir." + ] + }, + { + "version": "1.0.21", + "buildDate": "2025-09-23", + "commit": "fcd6547dcb85d46d90d78eaa24788d7cc079d1b3", + "changeLog": [ + "Versiyon güncellemeleri sistemin son aşama; eğer versiyon bilgisi değişmiş ise ChangeLog sayfasına yönlendirildi." + ] + }, + { + "version": "1.0.19", + "buildDate": "2025-09-23", + "commit": "43a945969174dd50b798d0d619e5fb7932402d04", + "changeLog": [ + "Docker içerisinden diskclean script kaldırıldı. Ayrıca çalıştırılabilecek şekilde diskclean dizinin içerisinde sh dosyası mevcut." + ] + }, + { + "version": "1.0.18", + "buildDate": "2025-09-23", + "commit": "09566cce3b6750ad1f6ef2faad24b81d21dfd668", + "changeLog": [ + "\"build\": \"node scripts/generate-version.js && vite build\"", + "\"build:production\": \"vite build\",", + "Yukarıdaki şekilde hem developer hem de production ortamı build işlemi birbirinden ayrıldı." + ] + }, + { + "version": "1.0.17", + "buildDate": "2025-09-23", + "commit": "5456486692eb070601313ab439de9c33a977b15b", + "changeLog": [ + "Hem developer hem de production için versiyon güncellemesi" + ] + }, { "version": "1.0.16", "buildDate": "2025-09-23", @@ -22,7 +118,7 @@ { "version": "1.0.14", "buildDate": "2025-09-22", - "commit": "1c4ab4f8232b4cd2a39fa66f8101664840113ce5", + "commit": "51208b86937484d68b699120d74872067b1c7ef6", "changeLog": [ "Yeni versiyon çıktı uyarı gelecek şekilde düzenlendi.", "Sağ alt kısımda mesaj çıkacak ve yenile butonu ile uygulama yeni versiyona geçecektir." diff --git a/ui/src/proxy/admin/list-form/models.ts b/ui/src/proxy/admin/list-form/models.ts index ca33a1ef..a5c51cf2 100644 --- a/ui/src/proxy/admin/list-form/models.ts +++ b/ui/src/proxy/admin/list-form/models.ts @@ -52,73 +52,3 @@ export interface ListFormJsonRowDto { itemChartValueAxis?: ChartValueAxisDto } -export const ListFormEditTabs = { - DetailsForm: 'details', - Database: { - DataSourceForm: 'database.dataSource', - Select: { - SelectForm: 'database.select.form', - SelectFieldsDefaultValuesJsonRow: 'database.select.fields', - }, - Insert: { - InsertForm: 'database.insert.form', - InsertFieldsDefaultValuesJsonRow: 'database.insert.fields', - FormFieldsDefaultValuesJsonRow: 'database.insert.formFields', - }, - Update: { - UpdateForm: 'database.update.form', - UpdateFieldsDefaultValuesJsonRow: 'database.update.fields', - }, - Delete: { - DeleteForm: 'database.delete.form', - DeleteFieldsDefaultValuesJsonRow: 'database.delete.fields', - }, - }, - PermissionForm: 'permission', - CommandColumnsJsonRow: 'commandColumn', - Edit: { - EditForm: 'edit.form', - EditingFormFieldsJsonRow: 'edit.formFields', - }, - FilterForm: 'filter', - SearchForm: 'search', - GroupForm: 'group', - SelectForm: 'select', - ColumnForm: 'column', - PivotForm: 'pivot', - PagerForm: 'pager', - StateForm: 'state', - SubForm: 'subForm', - Widget: 'widget', - Fields: 'fields', - Customization: 'customization', - ExtraFilter: 'extraFilter', - //Chart Tabs - ChartCommon: 'chartCommon', - ChartSeries: { - GeneralJsonRow: 'chartSeries.general', - CommonSeriesSettingForm: 'chartSeries.commonSetting', - }, - ChartAxis: { - ValueAxisJsonRow: 'chartAxis.valueAxis', - CommonAxisForm: 'chartAxis.commonAxis', - }, - ChartPanes: { - CommonPanesSettingForm: 'chartPanes.commonSetting', - PanesJsonRow: 'chartPanes.panes', - }, - ChartAnimationForm: 'chartAnimation', - ChartAnnotations: { - GeneralJsonRow: 'chartAnnotations.general', - CommonPaneForm: 'chartAnnotations.commonPane', - }, - ChartZoomForm: 'chartZoom', - ChartLegendForm: 'chartLegend', - ChartExportForm: 'chartExport', - ChartCrosshairForm: 'chartCrosshair', -} as const - -export const extraFilterControlTypeOptions = [ - { value: 'Select', label: 'Select' }, - { value: 'TextBox', label: 'TextBox' }, -] diff --git a/ui/src/proxy/admin/list-form/options.ts b/ui/src/proxy/admin/list-form/options.ts new file mode 100644 index 00000000..15d0a4f6 --- /dev/null +++ b/ui/src/proxy/admin/list-form/options.ts @@ -0,0 +1,120 @@ +export const extraFilterControlTypeOptions = [ + { value: 'Select', label: 'Select' }, + { value: 'TextBox', label: 'TextBox' }, +] + +export const ListFormEditTabs = { + DetailsForm: 'details', + Database: { + DataSourceForm: 'database.dataSource', + Select: { + SelectForm: 'database.select.form', + SelectFieldsDefaultValuesJsonRow: 'database.select.fields', + }, + Insert: { + InsertForm: 'database.insert.form', + InsertFieldsDefaultValuesJsonRow: 'database.insert.fields', + FormFieldsDefaultValuesJsonRow: 'database.insert.formFields', + }, + Update: { + UpdateForm: 'database.update.form', + UpdateFieldsDefaultValuesJsonRow: 'database.update.fields', + }, + Delete: { + DeleteForm: 'database.delete.form', + DeleteFieldsDefaultValuesJsonRow: 'database.delete.fields', + }, + }, + PermissionForm: 'permission', + CommandColumnsJsonRow: 'commandColumn', + Edit: { + EditForm: 'edit.form', + EditingFormFieldsJsonRow: 'edit.formFields', + }, + FilterForm: 'filter', + SearchForm: 'search', + GroupForm: 'group', + SelectForm: 'select', + ColumnForm: 'column', + PivotForm: 'pivot', + PagerForm: 'pager', + StateForm: 'state', + SubForm: 'subForm', + Widget: 'widget', + Fields: 'fields', + Customization: 'customization', + ExtraFilter: 'extraFilter', + //Chart Tabs + ChartCommon: 'chartCommon', + ChartSeries: { + GeneralJsonRow: 'chartSeries.general', + CommonSeriesSettingForm: 'chartSeries.commonSetting', + }, + ChartAxis: { + ValueAxisJsonRow: 'chartAxis.valueAxis', + CommonAxisForm: 'chartAxis.commonAxis', + }, + ChartPanes: { + CommonPanesSettingForm: 'chartPanes.commonSetting', + PanesJsonRow: 'chartPanes.panes', + }, + ChartAnimationForm: 'chartAnimation', + ChartAnnotations: { + GeneralJsonRow: 'chartAnnotations.general', + CommonPaneForm: 'chartAnnotations.commonPane', + }, + ChartZoomForm: 'chartZoom', + ChartLegendForm: 'chartLegend', + ChartExportForm: 'chartExport', + ChartCrosshairForm: 'chartCrosshair', +} as const + +export const tabVisibilityConfig: Record = { + List: [ + 'details', + 'database', + 'permissions', + 'commands', + 'edit', + 'filterRow', + 'search', + 'group', + 'select', + 'columns', + 'pivots', + 'pager', + 'state', + 'extrafilter', + 'customization', + 'fields', + 'editForm', + 'widget', + ], + Form: [ + 'details', + 'database', + 'permissions', + 'commands', + 'edit', + 'fields', + 'editForm', + 'widget', + 'subForms', + ], + Chart: [ + 'details', + 'database', + 'permissions', + 'widget', + 'commonSettings', + 'series', + 'axis', + 'panes', + 'animationsOptions', + 'annotations', + 'zoomAndPanSettings', + 'legendSettings', + 'exportSettings', + 'crosshairOptions', + ], + } \ No newline at end of file diff --git a/ui/src/proxy/form/models.ts b/ui/src/proxy/form/models.ts index d31b5e47..9159cc49 100644 --- a/ui/src/proxy/form/models.ts +++ b/ui/src/proxy/form/models.ts @@ -808,7 +808,8 @@ export interface LayoutDto { grid: boolean card: boolean pivot: boolean - defaultLayout: 'grid' | 'card' | 'pivot' + chart: boolean + defaultLayout: 'grid' | 'card' | 'pivot' | 'chart' cardLayoutColumn: number } diff --git a/ui/src/views/admin/listForm/edit/ChartTabAnimation.tsx b/ui/src/views/admin/listForm/edit/ChartTabAnimation.tsx index fb6515e0..2df655da 100644 --- a/ui/src/views/admin/listForm/edit/ChartTabAnimation.tsx +++ b/ui/src/views/admin/listForm/edit/ChartTabAnimation.tsx @@ -4,7 +4,7 @@ import { Field, FieldProps, Form, Formik } from 'formik' import { object } from 'yup' import { useLocalization } from '@/utils/hooks/useLocalization' import { useStoreState } from '@/store/store' -import { ListFormEditTabs } from '@/proxy/admin/list-form/models' +import { ListFormEditTabs } from '@/proxy/admin/list-form/options' import { FormEditProps } from '../../listForm/edit/FormEdit' import { chartEasingListOptions } from './options' diff --git a/ui/src/views/admin/listForm/edit/ChartTabAnnotations.tsx b/ui/src/views/admin/listForm/edit/ChartTabAnnotations.tsx index 89fe41c9..53ea2dab 100644 --- a/ui/src/views/admin/listForm/edit/ChartTabAnnotations.tsx +++ b/ui/src/views/admin/listForm/edit/ChartTabAnnotations.tsx @@ -24,7 +24,7 @@ import { object, string } from 'yup' import { FormEditProps } from './FormEdit' import { useStoreState } from '@/store/store' import { useLocalization } from '@/utils/hooks/useLocalization' -import { ListFormEditTabs } from '@/proxy/admin/list-form/models' +import { ListFormEditTabs } from '@/proxy/admin/list-form/options' import { chartAnnotationTypeListOptions, chartWordWrapListOptions, diff --git a/ui/src/views/admin/listForm/edit/ChartTabAxis.tsx b/ui/src/views/admin/listForm/edit/ChartTabAxis.tsx index 99eb9822..a549a8da 100644 --- a/ui/src/views/admin/listForm/edit/ChartTabAxis.tsx +++ b/ui/src/views/admin/listForm/edit/ChartTabAxis.tsx @@ -23,7 +23,7 @@ import { FaEdit, FaPlus, FaTrash } from 'react-icons/fa' import { FormEditProps } from '../../listForm/edit/FormEdit' import { useLocalization } from '@/utils/hooks/useLocalization' import { useStoreState } from '@/store/store' -import { ListFormEditTabs } from '@/proxy/admin/list-form/models' +import { ListFormEditTabs } from '@/proxy/admin/list-form/options' import { object, string } from 'yup' import { chartArgumentAxisHoverModeListOptions, diff --git a/ui/src/views/admin/listForm/edit/ChartTabCommonSettings.tsx b/ui/src/views/admin/listForm/edit/ChartTabCommonSettings.tsx index 135fb076..3ee83471 100644 --- a/ui/src/views/admin/listForm/edit/ChartTabCommonSettings.tsx +++ b/ui/src/views/admin/listForm/edit/ChartTabCommonSettings.tsx @@ -18,7 +18,7 @@ import { themeOptions, tooltipFormatListOptions } from '@/shared/options' import { FormEditProps } from '../../listForm/edit/FormEdit' import { useLocalization } from '@/utils/hooks/useLocalization' import { useStoreState } from '@/store/store' -import { ListFormEditTabs } from '@/proxy/admin/list-form/models' +import { ListFormEditTabs } from '@/proxy/admin/list-form/options' import { object } from 'yup' import { chartPaletteOptions, diff --git a/ui/src/views/admin/listForm/edit/ChartTabCrosshair.tsx b/ui/src/views/admin/listForm/edit/ChartTabCrosshair.tsx index a193a54e..9b6b7ba8 100644 --- a/ui/src/views/admin/listForm/edit/ChartTabCrosshair.tsx +++ b/ui/src/views/admin/listForm/edit/ChartTabCrosshair.tsx @@ -5,7 +5,7 @@ import { Field, FieldProps, Form, Formik } from 'formik' import { FormEditProps } from '../../listForm/edit/FormEdit' import { useLocalization } from '@/utils/hooks/useLocalization' import { useStoreState } from '@/store/store' -import { ListFormEditTabs } from '@/proxy/admin/list-form/models' +import { ListFormEditTabs } from '@/proxy/admin/list-form/options' import { object } from 'yup' import { chartSeriesDashStyleOptions } from './options' diff --git a/ui/src/views/admin/listForm/edit/ChartTabExport.tsx b/ui/src/views/admin/listForm/edit/ChartTabExport.tsx index caa9483b..1e505723 100644 --- a/ui/src/views/admin/listForm/edit/ChartTabExport.tsx +++ b/ui/src/views/admin/listForm/edit/ChartTabExport.tsx @@ -3,7 +3,7 @@ import { Field, Form, Formik } from 'formik' import { FormEditProps } from '../../listForm/edit/FormEdit' import { useLocalization } from '@/utils/hooks/useLocalization' import { useStoreState } from '@/store/store' -import { ListFormEditTabs } from '@/proxy/admin/list-form/models' +import { ListFormEditTabs } from '@/proxy/admin/list-form/options' import { object } from 'yup' const schema = object() diff --git a/ui/src/views/admin/listForm/edit/ChartTabLegend.tsx b/ui/src/views/admin/listForm/edit/ChartTabLegend.tsx index 3fc3aa01..150b626f 100644 --- a/ui/src/views/admin/listForm/edit/ChartTabLegend.tsx +++ b/ui/src/views/admin/listForm/edit/ChartTabLegend.tsx @@ -16,7 +16,7 @@ import { Field, FieldProps, Form, Formik } from 'formik' import { FormEditProps } from '../../listForm/edit/FormEdit' import { useLocalization } from '@/utils/hooks/useLocalization' import { useStoreState } from '@/store/store' -import { ListFormEditTabs } from '@/proxy/admin/list-form/models' +import { ListFormEditTabs } from '@/proxy/admin/list-form/options' import { object } from 'yup' import { chartLegendOrientationListOptions, diff --git a/ui/src/views/admin/listForm/edit/ChartTabPanes.tsx b/ui/src/views/admin/listForm/edit/ChartTabPanes.tsx index 6b696666..23b079e5 100644 --- a/ui/src/views/admin/listForm/edit/ChartTabPanes.tsx +++ b/ui/src/views/admin/listForm/edit/ChartTabPanes.tsx @@ -9,7 +9,7 @@ import { FaEdit, FaFileMedical, FaTrash } from 'react-icons/fa' import { FormEditProps } from '../../listForm/edit/FormEdit' import { useStoreState } from '@/store/store' import { useLocalization } from '@/utils/hooks/useLocalization' -import { ListFormEditTabs } from '@/proxy/admin/list-form/models' +import { ListFormEditTabs } from '@/proxy/admin/list-form/options' import { object, string } from 'yup' import { JsonRowDialogData } from './json-row-operations/types' import { useState } from 'react' diff --git a/ui/src/views/admin/listForm/edit/ChartTabSeries.tsx b/ui/src/views/admin/listForm/edit/ChartTabSeries.tsx index aedf6af2..d0186c86 100644 --- a/ui/src/views/admin/listForm/edit/ChartTabSeries.tsx +++ b/ui/src/views/admin/listForm/edit/ChartTabSeries.tsx @@ -22,7 +22,7 @@ import { SelectBoxOption } from '@/shared/types' import { Field, FieldProps, Form, Formik } from 'formik' import { FaEdit, FaPlus, FaTrash } from 'react-icons/fa' import { FormEditProps } from '../../listForm/edit/FormEdit' -import { ListFormEditTabs } from '@/proxy/admin/list-form/models' +import { ListFormEditTabs } from '@/proxy/admin/list-form/options' import { useLocalization } from '@/utils/hooks/useLocalization' import { useStoreState } from '@/store/store' import { object, string } from 'yup' diff --git a/ui/src/views/admin/listForm/edit/ChartTabZoomAndPan.tsx b/ui/src/views/admin/listForm/edit/ChartTabZoomAndPan.tsx index 65258a31..b14d2924 100644 --- a/ui/src/views/admin/listForm/edit/ChartTabZoomAndPan.tsx +++ b/ui/src/views/admin/listForm/edit/ChartTabZoomAndPan.tsx @@ -2,7 +2,7 @@ import { Button, Card, Checkbox, FormContainer, FormItem, Input, Select } from ' import { SelectBoxOption } from '@/shared/types' import { Field, FieldProps, Form, Formik } from 'formik' import { FormEditProps } from '../../listForm/edit/FormEdit' -import { ListFormEditTabs } from '@/proxy/admin/list-form/models' +import { ListFormEditTabs } from '@/proxy/admin/list-form/options' import { useLocalization } from '@/utils/hooks/useLocalization' import { useStoreState } from '@/store/store' import { object } from 'yup' diff --git a/ui/src/views/admin/listForm/edit/FormEdit.tsx b/ui/src/views/admin/listForm/edit/FormEdit.tsx index 52707851..18ed3891 100644 --- a/ui/src/views/admin/listForm/edit/FormEdit.tsx +++ b/ui/src/views/admin/listForm/edit/FormEdit.tsx @@ -38,12 +38,6 @@ import FormTabEditForm from './FormTabEditForm' import FormTabPivots from './FormTabPivots' import ChartTabAnimation from './ChartTabAnimation' import ChartTabAnnotations from './ChartTabAnnotations' -import { - ChartAnnotationDto, - ChartPanesDto, - ChartSeriesDto, - ChartValueAxisDto, -} from '@/proxy/admin/charts/models' import ChartTabZoomAndPan from './ChartTabZoomAndPan' import ChartTabLegend from './ChartTabLegend' import ChartTabExport from './ChartTabExport' @@ -52,6 +46,7 @@ import ChartTabCommonSettings from './ChartTabCommonSettings' import ChartTabSeries from './ChartTabSeries' import ChartTabAxis from './ChartTabAxis' import ChartTabPanes from './ChartTabPanes' +import { tabVisibilityConfig } from '@/proxy/admin/list-form/options' export interface FormEditProps { onSubmit: ( @@ -129,7 +124,11 @@ const FormEdit = () => { await getRoleList() await getUserList() } - + + const listFormType = listFormValues?.listFormType || 'List' + const [activeFormType, setActiveFormType] = useState(listFormType) + const visibleTabs = tabVisibilityConfig[activeFormType] || [] + //LİST FORM ve LİST FORM FİELDS AİT BİLGİLER useEffect(() => { refreshData() @@ -190,6 +189,120 @@ const FormEdit = () => { + {visibleTabs.includes('details') && ( + {translate('::ListForms.ListFormEdit.TabDetails')} + )} + {visibleTabs.includes('database') && ( + {translate('::ListForms.ListFormEdit.TabDatabase')} + )} + {visibleTabs.includes('permissions') && ( + + {translate('::ListForms.ListFormEdit.TabPermissions')} + + )} + {visibleTabs.includes('commands') && ( + {translate('::ListForms.ListFormEdit.TabCommands')} + )} + {visibleTabs.includes('edit') && ( + {translate('::ListForms.ListFormEdit.TabEditing')} + )} + {visibleTabs.includes('filterRow') && ( + + {translate('::ListForms.ListFormEdit.TabFilteringSorting')} + + )} + {visibleTabs.includes('search') && ( + {translate('::ListForms.ListFormEdit.TabSearch')} + )} + {visibleTabs.includes('group') && ( + {translate('::ListForms.ListFormEdit.TabGrouping')} + )} + {visibleTabs.includes('select') && ( + {translate('::ListForms.ListFormEdit.TabSelection')} + )} + {visibleTabs.includes('columns') && ( + {translate('::ListForms.ListFormEdit.TabColumns')} + )} + {visibleTabs.includes('pivots') && ( + {translate('::ListForms.ListFormEdit.TabPivots')} + )} + {visibleTabs.includes('pager') && ( + {translate('::ListForms.ListFormEdit.TabPaging')} + )} + {visibleTabs.includes('state') && ( + {translate('::ListForms.ListFormEdit.TabState')} + )} + {visibleTabs.includes('extrafilter') && ( + + {translate('::ListForms.ListFormEdit.ExtraFilters')} + + )} + {visibleTabs.includes('fields') && ( + {translate('::ListForms.ListFormEdit.TabFields')} + )} + {visibleTabs.includes('customization') && ( + + {translate('::ListForms.ListFormEdit.TabCustomization')} + + )} + {visibleTabs.includes('editForm') && ( + {translate('::ListForms.ListFormEdit.EditingForm')} + )} + {visibleTabs.includes('subForms') && ( + {translate('::ListForms.ListFormEdit.TabSubForms')} + )} + {visibleTabs.includes('widget') && ( + {translate('::ListForms.ListFormEdit.TabWidgets')} + )} + + {/* Chart Tabs */} + {visibleTabs.includes('commonSettings') && ( + + {translate('::ListForms.ListFormEdit.TabChartCommon')} + + )} + {visibleTabs.includes('series') && ( + {translate('::ListForms.ListFormEdit.TabChartSeries')} + )} + {visibleTabs.includes('axis') && ( + {translate('::ListForms.ListFormEdit.TabChartAxis')} + )} + {visibleTabs.includes('panes') && ( + {translate('::ListForms.ListFormEdit.TabChartPanes')} + )} + {visibleTabs.includes('animationsOptions') && ( + + {translate('::ListForms.ListFormEdit.TabChartAnimation')} + + )} + {visibleTabs.includes('annotations') && ( + + {translate('::ListForms.ListFormEdit.TabChartAnnotations')} + + )} + {visibleTabs.includes('zoomAndPanSettings') && ( + + {translate('::ListForms.ListFormEdit.TabChartZoomAndPan')} + + )} + {visibleTabs.includes('legendSettings') && ( + + {translate('::ListForms.ListFormEdit.TabChartLegend')} + + )} + {visibleTabs.includes('exportSettings') && ( + + {translate('::ListForms.ListFormEdit.TabChartExport')} + + )} + {visibleTabs.includes('crosshairOptions') && ( + + {translate('::ListForms.ListFormEdit.TabChartCrosshair')} + + )} + + + {/* {translate('::ListForms.ListFormEdit.TabDetails')} {translate('::ListForms.ListFormEdit.TabDatabase')} @@ -239,9 +352,14 @@ const FormEdit = () => { {translate('::ListForms.ListFormEdit.TabChartCrosshair')} - + */} - + diff --git a/ui/src/views/admin/listForm/edit/FormTabColumns.tsx b/ui/src/views/admin/listForm/edit/FormTabColumns.tsx index f9c63d2b..8777180e 100644 --- a/ui/src/views/admin/listForm/edit/FormTabColumns.tsx +++ b/ui/src/views/admin/listForm/edit/FormTabColumns.tsx @@ -9,7 +9,7 @@ import { Select, Tabs, } from '@/components/ui' -import { ListFormEditTabs } from '@/proxy/admin/list-form/models' +import { ListFormEditTabs } from '@/proxy/admin/list-form/options' import { useStoreState } from '@/store' import { useLocalization } from '@/utils/hooks/useLocalization' import { ColumnChooserMode, ColumnResizeMode } from 'devextreme/common/grids' diff --git a/ui/src/views/admin/listForm/edit/FormTabCommands.tsx b/ui/src/views/admin/listForm/edit/FormTabCommands.tsx index 3eae4b3b..dfe6f28e 100644 --- a/ui/src/views/admin/listForm/edit/FormTabCommands.tsx +++ b/ui/src/views/admin/listForm/edit/FormTabCommands.tsx @@ -5,7 +5,7 @@ import THead from '@/components/ui/Table/THead' import Td from '@/components/ui/Table/Td' import Th from '@/components/ui/Table/Th' import Tr from '@/components/ui/Table/Tr' -import { ListFormEditTabs } from '@/proxy/admin/list-form/models' +import { ListFormEditTabs } from '@/proxy/admin/list-form/options' import { useStoreState } from '@/store' import { useLocalization } from '@/utils/hooks/useLocalization' import { useState } from 'react' diff --git a/ui/src/views/admin/listForm/edit/FormTabDatabaseDataSource.tsx b/ui/src/views/admin/listForm/edit/FormTabDatabaseDataSource.tsx index 20c1950f..88076cb8 100644 --- a/ui/src/views/admin/listForm/edit/FormTabDatabaseDataSource.tsx +++ b/ui/src/views/admin/listForm/edit/FormTabDatabaseDataSource.tsx @@ -1,6 +1,6 @@ import { Container } from '@/components/shared' import { Button, Card, Checkbox, FormContainer, FormItem, Input, Select } from '@/components/ui' -import { ListFormEditTabs } from '@/proxy/admin/list-form/models' +import { ListFormEditTabs } from '@/proxy/admin/list-form/options' import { getDataSources } from '@/proxy/data-source' import { SelectBoxOption } from '@/shared/types' import { useStoreState } from '@/store' diff --git a/ui/src/views/admin/listForm/edit/FormTabDatabaseDelete.tsx b/ui/src/views/admin/listForm/edit/FormTabDatabaseDelete.tsx index 1f94d9c0..973732a1 100644 --- a/ui/src/views/admin/listForm/edit/FormTabDatabaseDelete.tsx +++ b/ui/src/views/admin/listForm/edit/FormTabDatabaseDelete.tsx @@ -5,7 +5,7 @@ import THead from '@/components/ui/Table/THead' import Td from '@/components/ui/Table/Td' import Th from '@/components/ui/Table/Th' import Tr from '@/components/ui/Table/Tr' -import { ListFormEditTabs } from '@/proxy/admin/list-form/models' +import { ListFormEditTabs } from '@/proxy/admin/list-form/options' import { useStoreState } from '@/store' import { useLocalization } from '@/utils/hooks/useLocalization' import { Field, Form, Formik } from 'formik' diff --git a/ui/src/views/admin/listForm/edit/FormTabDatabaseInsert.tsx b/ui/src/views/admin/listForm/edit/FormTabDatabaseInsert.tsx index 3260d254..85bf283e 100644 --- a/ui/src/views/admin/listForm/edit/FormTabDatabaseInsert.tsx +++ b/ui/src/views/admin/listForm/edit/FormTabDatabaseInsert.tsx @@ -5,7 +5,7 @@ import THead from '@/components/ui/Table/THead' import Td from '@/components/ui/Table/Td' import Th from '@/components/ui/Table/Th' import Tr from '@/components/ui/Table/Tr' -import { ListFormEditTabs } from '@/proxy/admin/list-form/models' +import { ListFormEditTabs } from '@/proxy/admin/list-form/options' import { useStoreState } from '@/store' import { useLocalization } from '@/utils/hooks/useLocalization' import { Field, Form, Formik } from 'formik' diff --git a/ui/src/views/admin/listForm/edit/FormTabDatabaseSelect.tsx b/ui/src/views/admin/listForm/edit/FormTabDatabaseSelect.tsx index c1ac1d82..b6ba5484 100644 --- a/ui/src/views/admin/listForm/edit/FormTabDatabaseSelect.tsx +++ b/ui/src/views/admin/listForm/edit/FormTabDatabaseSelect.tsx @@ -5,7 +5,7 @@ import THead from '@/components/ui/Table/THead' import Td from '@/components/ui/Table/Td' import Th from '@/components/ui/Table/Th' import Tr from '@/components/ui/Table/Tr' -import { ListFormEditTabs } from '@/proxy/admin/list-form/models' +import { ListFormEditTabs } from '@/proxy/admin/list-form/options' import { useStoreState } from '@/store' import { useLocalization } from '@/utils/hooks/useLocalization' import { Field, Form, Formik } from 'formik' diff --git a/ui/src/views/admin/listForm/edit/FormTabDatabaseUpdate.tsx b/ui/src/views/admin/listForm/edit/FormTabDatabaseUpdate.tsx index 6086814c..f894bf6a 100644 --- a/ui/src/views/admin/listForm/edit/FormTabDatabaseUpdate.tsx +++ b/ui/src/views/admin/listForm/edit/FormTabDatabaseUpdate.tsx @@ -5,7 +5,7 @@ import THead from '@/components/ui/Table/THead' import Td from '@/components/ui/Table/Td' import Th from '@/components/ui/Table/Th' import Tr from '@/components/ui/Table/Tr' -import { ListFormEditTabs } from '@/proxy/admin/list-form/models' +import { ListFormEditTabs } from '@/proxy/admin/list-form/options' import { useStoreState } from '@/store' import { useLocalization } from '@/utils/hooks/useLocalization' import { Field, Form, Formik } from 'formik' diff --git a/ui/src/views/admin/listForm/edit/FormTabDetails.tsx b/ui/src/views/admin/listForm/edit/FormTabDetails.tsx index c8d2837c..545f6ff9 100644 --- a/ui/src/views/admin/listForm/edit/FormTabDetails.tsx +++ b/ui/src/views/admin/listForm/edit/FormTabDetails.tsx @@ -1,6 +1,6 @@ import { Container } from '@/components/shared' import { Button, Checkbox, FormContainer, FormItem, Input, Select } from '@/components/ui' -import { ListFormEditTabs } from '@/proxy/admin/list-form/models' +import { ListFormEditTabs } from '@/proxy/admin/list-form/options' import { LanguageInfo } from '@/proxy/config/models' import { SelectBoxOption } from '@/shared/types' import { useStoreState } from '@/store' @@ -29,7 +29,11 @@ const schema = Yup.object().shape({ }) function FormTabDetails( - props: FormEditProps & { roleList: SelectBoxOption[]; userList: SelectBoxOption[] }, + props: FormEditProps & { + roleList: SelectBoxOption[] + userList: SelectBoxOption[] + onFormTypeChange: (formType: string) => void + }, ) { const [langOptions, setLangOptions] = useState([]) const { translate } = useLocalization() @@ -107,7 +111,10 @@ function FormTabDetails( value={listFormTypeOptions?.filter( (option) => option.value === values.listFormType, )} - onChange={(option) => form.setFieldValue(field.name, option?.value)} + onChange={(option) => { + form.setFieldValue(field.name, option?.value) + props.onFormTypeChange(option?.value || 'List') + }} /> )} @@ -277,8 +284,8 @@ function FormTabDetails( + + + +