From 9055657ef265a3ffe1cb23225a6836a8b50cf425 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sedat=20=C3=96zt=C3=BCrk?= Date: Tue, 2 Dec 2025 22:58:31 +0300 Subject: [PATCH] Scheduler View --- .../GridOptionsDto/GanttOptionDto.cs | 20 ++ .../ListForms/GridOptionsDto/LayoutDto.cs | 1 + .../GridOptionsDto/SchedulerOptionDto.cs | 55 ++++- .../Seeds/LanguagesData.json | 194 ++++++++++++++++- .../Seeds/SeederDefaults.cs | 1 + ....cs => 20251202182338_Initial.Designer.cs} | 5 +- ...7_Initial.cs => 20251202182338_Initial.cs} | 1 + .../PlatformDbContextModelSnapshot.cs | 3 + ui/src/proxy/form/models.ts | 8 +- .../admin/listForm/edit/FormTabDetails.tsx | 14 ++ .../admin/listForm/edit/FormTabGantt.tsx | 57 +++++ .../admin/listForm/edit/FormTabScheduler.tsx | 196 +++++++----------- ui/src/views/admin/listForm/edit/options.ts | 33 ++- ui/src/views/list/GanttView.tsx | 12 +- ui/src/views/list/SchedulerView.tsx | 18 +- 15 files changed, 472 insertions(+), 146 deletions(-) rename api/src/Erp.Platform.EntityFrameworkCore/Migrations/{20251202131047_Initial.Designer.cs => 20251202182338_Initial.Designer.cs} (99%) rename api/src/Erp.Platform.EntityFrameworkCore/Migrations/{20251202131047_Initial.cs => 20251202182338_Initial.cs} (99%) diff --git a/api/src/Erp.Platform.Application.Contracts/ListForms/GridOptionsDto/GanttOptionDto.cs b/api/src/Erp.Platform.Application.Contracts/ListForms/GridOptionsDto/GanttOptionDto.cs index 3822a4ac..a31cd20c 100644 --- a/api/src/Erp.Platform.Application.Contracts/ListForms/GridOptionsDto/GanttOptionDto.cs +++ b/api/src/Erp.Platform.Application.Contracts/ListForms/GridOptionsDto/GanttOptionDto.cs @@ -63,5 +63,25 @@ public class GanttOptionDto /// İlerleme ifadesi (örn: "%50") /// public string ProgressExpr { get; set; } + + /// + /// Bağlantılar için kullanılan field adı (örn: "predecessors") + /// + public bool AllowDependencyAdding { get; set; } = false; + + /// + /// Bağlantılar için kullanılan field adı (örn: "predecessors") + /// + public bool AllowDependencyDeleting { get; set; } = false; + + /// + /// Kaynaklar için kullanılan field adı (örn: "resources") + /// + public bool AllowResourceAdding { get; set; } = false; + + /// + /// Kaynaklar için kullanılan field adı (örn: "resources") + /// + public bool AllowResourceDeleting { get; set; } = false; } diff --git a/api/src/Erp.Platform.Application.Contracts/ListForms/GridOptionsDto/LayoutDto.cs b/api/src/Erp.Platform.Application.Contracts/ListForms/GridOptionsDto/LayoutDto.cs index d2524075..9222eff8 100644 --- a/api/src/Erp.Platform.Application.Contracts/ListForms/GridOptionsDto/LayoutDto.cs +++ b/api/src/Erp.Platform.Application.Contracts/ListForms/GridOptionsDto/LayoutDto.cs @@ -8,6 +8,7 @@ public class LayoutDto public bool Chart { get; set; } = true; public bool Tree { get; set; } = true; public bool Gantt { get; set; } = true; + public bool Scheduler { get; set; } = true; public string DefaultLayout { get; set; } = "grid"; public int CardLayoutColumn { get; set; } = 4; } diff --git a/api/src/Erp.Platform.Application.Contracts/ListForms/GridOptionsDto/SchedulerOptionDto.cs b/api/src/Erp.Platform.Application.Contracts/ListForms/GridOptionsDto/SchedulerOptionDto.cs index 581ef8eb..1dc1af1c 100644 --- a/api/src/Erp.Platform.Application.Contracts/ListForms/GridOptionsDto/SchedulerOptionDto.cs +++ b/api/src/Erp.Platform.Application.Contracts/ListForms/GridOptionsDto/SchedulerOptionDto.cs @@ -8,20 +8,61 @@ public class SchedulerOptionDto /// /// Text olarak gösterilecek field adı (örn: "title") /// - public string TextField { get; set; } + public string TextExpr { get; set; } /// /// Başlangıç tarihinin tutulduğu field adı (örn: "startDate") /// - public string StartDateField { get; set; } - + public string StartDateExpr { get; set; } /// /// Bitiş tarihinin tutulduğu field adı (örn: "endDate") /// - public string EndDateField { get; set; } - + public string EndDateExpr { get; set; } /// /// Tüm gün etkinlikler için kullanılan field adı (örn: "allDay") /// - public string AllDayField { get; set; } + public string AllDayExpr { get; set; } + /// + /// Tekrarlama kuralının tutulduğu field adı (örn: "recurrenceRule") + /// + public string RecurrenceRuleExpr { get; set; } + /// + /// Tekrarlama istisnasının tutulduğu field adı (örn: "recurrenceException") + /// + public string RecurrenceExceptionExpr { get; set; } + /// + /// Kaynaklar (örn: kaynaklar için kullanılan field adı, veri kaynağı vb.) + /// + public int StartDayHour { get; set; } = 8; + /// + /// Günün bitiş saati (örn: "18" = 18:00) + /// + public int EndDayHour { get; set; } = 18; + /// + /// Varsayılan görünüm (örn: "week", "month", "day") + /// + public string DefaultView { get; set; } = "week"; + /// + /// Tüm gün panelini gösterme durumu + /// + public bool ShowAllDayPanel { get; set; } = true; + /// + /// Hücre süresi (dakika cinsinden, örn: 30) + /// + public int CellDuration { get; set; } = 30; + /// + /// Haftanın ilk günü (örn: "0" = Pazar, "1" = Pazartesi) + /// + public int FirstDayOfWeek { get; set; } = 1; + /// + /// Kaydırma çubuğunun çapraz kaydırma durumunu belirtir + /// + public bool CrossScrollingEnabled { get; set; } = false; + /// + /// Etkinliklerin yeniden boyutlandırılmasına izin verilip verilmediğini belirtir + /// + public bool AllowResizing { get; set; } = false; + /// + /// Etkinliklerin sürüklenip bırakılmasına izin verilip verilmediğini belirtir + /// + public bool AllowDragging { get; set; } = false; } - diff --git a/api/src/Erp.Platform.DbMigrator/Seeds/LanguagesData.json b/api/src/Erp.Platform.DbMigrator/Seeds/LanguagesData.json index 1411341f..04d64117 100644 --- a/api/src/Erp.Platform.DbMigrator/Seeds/LanguagesData.json +++ b/api/src/Erp.Platform.DbMigrator/Seeds/LanguagesData.json @@ -3817,6 +3817,12 @@ "en": "Full Height", "tr": "Tam Yükseklik" }, + { + "resourceName": "Platform", + "key": "ListForms.ListFormEdit.DetailsLayoutDto.SchedulerLayout", + "en": "Scheduler Layout", + "tr": "Zamanlayıcı Düzeni" + }, { "resourceName": "Platform", "key": "ListForms.ListFormEdit.DetailsLayoutDto.GanttLayout", @@ -4645,6 +4651,30 @@ "en": "Auto Expand All", "tr": "Otomatik Tümünü Genişlet" }, + { + "resourceName": "Platform", + "key": "ListForms.ListFormEdit.AllowDependencyAdding", + "en": "Allow Dependency Adding", + "tr": "Bağımlılık Ekleme İzni" + }, + { + "resourceName": "Platform", + "key": "ListForms.ListFormEdit.AllowDependencyDeleting", + "en": "Allow Dependency Deleting", + "tr": "Bağımlılık Silme İzni" + }, + { + "resourceName": "Platform", + "key": "ListForms.ListFormEdit.AllowResourceAdding", + "en": "Allow Resource Adding", + "tr": "Kaynak Ekleme İzni" + }, + { + "resourceName": "Platform", + "key": "ListForms.ListFormEdit.AllowResourceDeleting", + "en": "Allow Resource Deleting", + "tr": "Kaynak Silme İzni" + }, { "resourceName": "Platform", "key": "ListForms.ListFormEdit.SelectionMode", @@ -10020,6 +10050,168 @@ "key": "App.Accounting.CheckNote", "tr": "Çek & Senet", "en": "Check & Notes" + }, + { + "resourceName": "Platform", + "key": "ListForms.SchedulerOptions.BasicSettings", + "tr": "Temel Ayarlar", + "en": "Basic Settings" + }, + { + "resourceName": "Platform", + "key": "ListForms.SchedulerOptions.TextExpr", + "tr": "Metin İfadesi", + "en": "Text Expression" + }, + { + "resourceName": "Platform", + "key": "ListForms.SchedulerOptions.StartDateExpr", + "tr": "Başlangıç Tarihi İfadesi", + "en": "Start Date Expression" + }, + { + "resourceName": "Platform", + "key": "ListForms.SchedulerOptions.EndDateExpr", + "tr": "Bitiş Tarihi İfadesi", + "en": "End Date Expression" + }, + { + "resourceName": "Platform", + "key": "ListForms.SchedulerOptions.AllDayExpr", + "tr": "Tüm Gün İfadesi", + "en": "All Day Expression" + }, + { + "resourceName": "Platform", + "key": "ListForms.SchedulerOptions.RecurrenceSettings", + "tr": "Tekrarlama Ayarları", + "en": "Recurrence Settings" + }, + { + "resourceName": "Platform", + "key": "ListForms.SchedulerOptions.RecurrenceRuleExpr", + "tr": "Tekrarlama Kuralı İfadesi", + "en": "Recurrence Rule Expression" + }, + { + "resourceName": "Platform", + "key": "ListForms.SchedulerOptions.RecurrenceExceptionExpr", + "tr": "Tekrarlama İstisnası İfadesi", + "en": "Recurrence Exception Expression" + }, + { + "resourceName": "Platform", + "key": "ListForms.SchedulerOptions.ViewSettings", + "tr": "Görünüm Ayarları", + "en": "View Settings" + }, + { + "resourceName": "Platform", + "key": "ListForms.SchedulerOptions.DefaultView", + "tr": "Varsayılan Görünüm", + "en": "Default View" + }, + { + "resourceName": "Platform", + "key": "ListForms.SchedulerOptions.FirstDayOfWeek", + "tr": "Haftanın İlk Günü", + "en": "First Day of Week" + }, + { + "resourceName": "Platform", + "key": "ListForms.SchedulerOptions.StartDayHour", + "tr": "Günün Başlangıç Saati", + "en": "Start Day Hour" + }, + { + "resourceName": "Platform", + "key": "ListForms.SchedulerOptions.EndDayHour", + "tr": "Günün Bitiş Saati", + "en": "End Day Hour" + }, + { + "resourceName": "Platform", + "key": "ListForms.SchedulerOptions.CellDuration", + "tr": "Hücre Süresi", + "en": "Cell Duration" + }, + { + "resourceName": "Platform", + "key": "ListForms.SchedulerOptions.InteractionSettings", + "tr": "Etkileşim Ayarları", + "en": "Interaction Settings" + }, + { + "resourceName": "Platform", + "key": "ListForms.SchedulerOptions.ShowAllDayPanel", + "tr": "Tüm Gün Panelini Göster", + "en": "Show All Day Panel" + }, + { + "resourceName": "Platform", + "key": "ListForms.SchedulerOptions.CrossScrollingEnabled", + "tr": "Çapraz Kaydırma Etkin", + "en": "Cross Scrolling Enabled" + }, + { + "resourceName": "Platform", + "key": "ListForms.SchedulerOptions.AllowResizing", + "tr": "Boyutlandırmaya İzin Ver", + "en": "Allow Resizing" + }, + { + "resourceName": "Platform", + "key": "ListForms.SchedulerOptions.AllowDragging", + "tr": "Sürüklemeye İzin Ver", + "en": "Allow Dragging" + }, + { + "resourceName": "Platform", + "key": "ListForms.SchedulerOptions.Day", + "tr": "Gün", + "en": "Day" + }, + { + "resourceName": "Platform", + "key": "ListForms.SchedulerOptions.Week", + "tr": "Hafta", + "en": "Week" + }, + { + "resourceName": "Platform", + "key": "ListForms.SchedulerOptions.WorkWeek", + "tr": "İş Haftası", + "en": "WorkWeek" + }, + { + "resourceName": "Platform", + "key": "ListForms.SchedulerOptions.Month", + "tr": "Ay", + "en": "Month" + }, + { + "resourceName": "Platform", + "key": "ListForms.SchedulerOptions.TimelineDay", + "tr": "Gün Çizelgesi", + "en": "Timeline Day" + }, + { + "resourceName": "Platform", + "key": "ListForms.SchedulerOptions.TimelineWeek", + "tr": "Hafta Çizelgesi", + "en": "Timeline Week" + }, + { + "resourceName": "Platform", + "key": "ListForms.SchedulerOptions.TimelineMonth", + "tr": "Ay Çizelgesi", + "en": "Timeline Month" + }, + { + "resourceName": "Platform", + "key": "ListForms.SchedulerOptions.Agenda", + "tr": "Ajanda", + "en": "Agenda" } ] -} +} \ No newline at end of file diff --git a/api/src/Erp.Platform.DbMigrator/Seeds/SeederDefaults.cs b/api/src/Erp.Platform.DbMigrator/Seeds/SeederDefaults.cs index a25ad7d6..3e436a52 100644 --- a/api/src/Erp.Platform.DbMigrator/Seeds/SeederDefaults.cs +++ b/api/src/Erp.Platform.DbMigrator/Seeds/SeederDefaults.cs @@ -70,6 +70,7 @@ public static class SeederDefaults Chart = true, Tree = true, Gantt = true, + Scheduler = true, DefaultLayout = "grid", CardLayoutColumn = 4 }); diff --git a/api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251202131047_Initial.Designer.cs b/api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251202182338_Initial.Designer.cs similarity index 99% rename from api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251202131047_Initial.Designer.cs rename to api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251202182338_Initial.Designer.cs index ab179243..8a96d82e 100644 --- a/api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251202131047_Initial.Designer.cs +++ b/api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251202182338_Initial.Designer.cs @@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore; namespace Erp.Platform.Migrations { [DbContext(typeof(PlatformDbContext))] - [Migration("20251202131047_Initial")] + [Migration("20251202182338_Initial")] partial class Initial { /// @@ -6274,6 +6274,9 @@ namespace Erp.Platform.Migrations b.Property("RowJson") .HasColumnType("nvarchar(max)"); + b.Property("SchedulerOptionJson") + .HasColumnType("nvarchar(max)"); + b.Property("ScrollBarJson") .HasColumnType("text"); diff --git a/api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251202131047_Initial.cs b/api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251202182338_Initial.cs similarity index 99% rename from api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251202131047_Initial.cs rename to api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251202182338_Initial.cs index 2eb8b692..8d57c5f2 100644 --- a/api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251202131047_Initial.cs +++ b/api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251202182338_Initial.cs @@ -2247,6 +2247,7 @@ namespace Erp.Platform.Migrations PivotOptionJson = table.Column(type: "text", nullable: true), TreeOptionJson = table.Column(type: "nvarchar(max)", nullable: true), GanttOptionJson = table.Column(type: "nvarchar(max)", nullable: true), + SchedulerOptionJson = table.Column(type: "nvarchar(max)", nullable: true), FilterRowJson = table.Column(type: "text", nullable: true), RowJson = table.Column(type: "nvarchar(max)", nullable: true), HeaderFilterJson = table.Column(type: "text", nullable: true), diff --git a/api/src/Erp.Platform.EntityFrameworkCore/Migrations/PlatformDbContextModelSnapshot.cs b/api/src/Erp.Platform.EntityFrameworkCore/Migrations/PlatformDbContextModelSnapshot.cs index 9b957e38..ab1f9953 100644 --- a/api/src/Erp.Platform.EntityFrameworkCore/Migrations/PlatformDbContextModelSnapshot.cs +++ b/api/src/Erp.Platform.EntityFrameworkCore/Migrations/PlatformDbContextModelSnapshot.cs @@ -6271,6 +6271,9 @@ namespace Erp.Platform.Migrations b.Property("RowJson") .HasColumnType("nvarchar(max)"); + b.Property("SchedulerOptionJson") + .HasColumnType("nvarchar(max)"); + b.Property("ScrollBarJson") .HasColumnType("text"); diff --git a/ui/src/proxy/form/models.ts b/ui/src/proxy/form/models.ts index 13a4b748..e60d86e7 100644 --- a/ui/src/proxy/form/models.ts +++ b/ui/src/proxy/form/models.ts @@ -402,6 +402,10 @@ export interface GanttOptionDto { endExpr?: string progressExpr?: string scaleType: GanttScaleType + allowDependencyAdding?: boolean + allowDependencyDeleting?: boolean + allowResourceAdding?: boolean + allowResourceDeleting?: boolean } export interface SchedulerOptionDto { @@ -746,7 +750,7 @@ export interface SubFormDto { export interface SubFormRelationDto { parentFieldName: string - dbType : DbTypeEnum + dbType: DbTypeEnum childFieldName: string } @@ -869,7 +873,7 @@ export interface WidgetEditDto { icon: string subTitle: string onClick: string - isActive: boolean + isActive: boolean } export interface LayoutDto { diff --git a/ui/src/views/admin/listForm/edit/FormTabDetails.tsx b/ui/src/views/admin/listForm/edit/FormTabDetails.tsx index 9d7cde4d..22d885f3 100644 --- a/ui/src/views/admin/listForm/edit/FormTabDetails.tsx +++ b/ui/src/views/admin/listForm/edit/FormTabDetails.tsx @@ -366,6 +366,20 @@ function FormTabDetails( component={Checkbox} /> + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/views/admin/listForm/edit/FormTabScheduler.tsx b/ui/src/views/admin/listForm/edit/FormTabScheduler.tsx index 1d33c4ae..a9082299 100644 --- a/ui/src/views/admin/listForm/edit/FormTabScheduler.tsx +++ b/ui/src/views/admin/listForm/edit/FormTabScheduler.tsx @@ -20,30 +20,10 @@ import { useEffect, useState } from 'react' import { getListFormFields } from '@/services/admin/list-form-field.service' import { groupBy } from 'lodash' import { useParams } from 'react-router-dom' +import { firstDayOfWeekOptions, schedulerViewOptions } from './options' const validationSchema = Yup.object().shape({}) -const schedulerViewOptions = [ - { value: 'day', label: 'Day' }, - { value: 'week', label: 'Week' }, - { value: 'workWeek', label: 'Work Week' }, - { value: 'month', label: 'Month' }, - { value: 'timelineDay', label: 'Timeline Day' }, - { value: 'timelineWeek', label: 'Timeline Week' }, - { value: 'timelineMonth', label: 'Timeline Month' }, - { value: 'agenda', label: 'Agenda' }, -] - -const firstDayOfWeekOptions = [ - { value: 0, label: 'Sunday' }, - { value: 1, label: 'Monday' }, - { value: 2, label: 'Tuesday' }, - { value: 3, label: 'Wednesday' }, - { value: 4, label: 'Thursday' }, - { value: 5, label: 'Friday' }, - { value: 6, label: 'Saturday' }, -] - function FormTabScheduler(props: FormEditProps) { const { listFormCode } = useParams() const { translate } = useLocalization() @@ -104,10 +84,10 @@ function FormTabScheduler(props: FormEditProps) {
-
{translate('::SchedulerOptions.BasicSettings')}
+
{translate('::ListForms.SchedulerOptions.BasicSettings')}
option.value === values.schedulerOptionDto?.textExpr, + (option) => option.value === values.schedulerOptionDto.textExpr, )} + onChange={(option) => form.setFieldValue(field.name, option?.value)} /> )} option.value === values.schedulerOptionDto?.startDateExpr, )} + onChange={(option) => form.setFieldValue(field.name, option?.value)} /> )} option.value === values.schedulerOptionDto?.endDateExpr, )} + onChange={(option) => form.setFieldValue(field.name, option?.value)} /> )} option.value === values.schedulerOptionDto?.allDayExpr, )} + onChange={(option) => form.setFieldValue(field.name, option?.value)} /> )} @@ -198,10 +182,12 @@ function FormTabScheduler(props: FormEditProps) {
-
{translate('::SchedulerOptions.RecurrenceSettings')}
+
+ {translate('::ListForms.SchedulerOptions.RecurrenceSettings')} +
option.value === values.schedulerOptionDto?.recurrenceRuleExpr, )} + onChange={(option) => form.setFieldValue(field.name, option?.value)} /> )} option.value === values.schedulerOptionDto?.recurrenceExceptionExpr, )} + onChange={(option) => form.setFieldValue(field.name, option?.value)} /> )} @@ -250,9 +238,9 @@ function FormTabScheduler(props: FormEditProps) {
-
{translate('::SchedulerOptions.ViewSettings')}
+
{translate('::ListForms.SchedulerOptions.ViewSettings')}
- + {({ field, form }: FieldProps) => ( option.value === values.schedulerOptionDto?.firstDayOfWeek, )} + onChange={(option) => form.setFieldValue(field.name, option?.value)} /> )} - - - - {({ field, form }: FieldProps) => ( - - )} - + + + - - - {({ field, form }: FieldProps) => ( - - )} - + + - - - {({ field, form }: FieldProps) => ( - - )} - + +
-
{translate('::SchedulerOptions.InteractionSettings')}
+
+ {translate('::ListForms.SchedulerOptions.InteractionSettings')} +
+ - - - {({ field, form }: FieldProps) => ( - - {translate('::SchedulerOptions.ShowAllDayPanel')} - - )} - + + - - - {({ field, form }: FieldProps) => ( - - {translate('::SchedulerOptions.CrossScrollingEnabled')} - - )} - + + - - - {({ field, form }: FieldProps) => ( - - {translate('::SchedulerOptions.AllowResizing')} - - )} - + + - - - {({ field, form }: FieldProps) => ( - - {translate('::SchedulerOptions.AllowDragging')} - - )} - + +
diff --git a/ui/src/views/admin/listForm/edit/options.ts b/ui/src/views/admin/listForm/edit/options.ts index 3568f489..4dffda45 100644 --- a/ui/src/views/admin/listForm/edit/options.ts +++ b/ui/src/views/admin/listForm/edit/options.ts @@ -405,6 +405,33 @@ export const chartBreakStyleLineListOptions = [ { value: 'waved', label: 'Waved' }, ] +export const colSpanOptions = colSpan.map((span) => ({ + value: span, + label: span, +})) +export const gantScaleOptions = enumToList(GanttScaleTypeEnum) + +export const schedulerViewOptions = [ + { value: 'day', label: 'Day' }, + { value: 'week', label: 'Week' }, + { value: 'workWeek', label: 'Work Week' }, + { value: 'month', label: 'Month' }, + { value: 'timelineDay', label: 'Timeline Day' }, + { value: 'timelineWeek', label: 'Timeline Week' }, + { value: 'timelineMonth', label: 'Timeline Month' }, + { value: 'agenda', label: 'Agenda' }, +] + +export const firstDayOfWeekOptions = [ + { value: 0, label: 'Sunday' }, + { value: 1, label: 'Monday' }, + { value: 2, label: 'Tuesday' }, + { value: 3, label: 'Wednesday' }, + { value: 4, label: 'Thursday' }, + { value: 5, label: 'Friday' }, + { value: 6, label: 'Saturday' }, +] + export const dbSourceTypeOptions = enumToList(DbTypeEnum) export const dataSourceTypeOptions = enumToList(DataSourceTypeEnum) export const selectCommandTypeOptions = enumToList(SelectCommandTypeEnum) @@ -433,9 +460,3 @@ export const widgetIconOptions = iconList.map((icon) => ({ value: icon, label: icon, })) - -export const colSpanOptions = colSpan.map((span) => ({ - value: span, - label: span, -})) -export const gantScaleOptions = enumToList(GanttScaleTypeEnum) diff --git a/ui/src/views/list/GanttView.tsx b/ui/src/views/list/GanttView.tsx index 6c205fb4..0c70e325 100644 --- a/ui/src/views/list/GanttView.tsx +++ b/ui/src/views/list/GanttView.tsx @@ -279,7 +279,17 @@ const GanttView = (props: GanttViewProps) => { - + + diff --git a/ui/src/views/list/SchedulerView.tsx b/ui/src/views/list/SchedulerView.tsx index 9a8f1417..6b5bf988 100644 --- a/ui/src/views/list/SchedulerView.tsx +++ b/ui/src/views/list/SchedulerView.tsx @@ -155,8 +155,6 @@ const SchedulerView = (props: SchedulerViewProps) => { title={translate('::' + gridDto?.gridOptions.title)} defaultTitle="Erp Platform" > - - )} {!gridDto && ( @@ -222,26 +220,26 @@ const SchedulerView = (props: SchedulerViewProps) => { allowDragging={gridDto.gridOptions.schedulerOptionDto?.allowDragging ?? false} /> - - - - + + + + - + {gridDto.gridOptions.schedulerOptionDto?.resources?.map((resource, index) => (