React fullcalendar Premium версия [закрыто]Javascript

Форум по Javascript
Ответить
Anonymous
 React fullcalendar Premium версия [закрыто]

Сообщение Anonymous »

Я использую библиотеку FullCalendar. Я хочу использовать бесплатную версию FullCalendar. Я написал коды ниже. Но я не понял, была ли это платная или бесплатная версия. Эти коды оплачиваются или бесплатны? Я хочу сделать это с помощью совершенно бесплатной версии. Являются ли коды, которые я написал бесплатную версию? Коды, которые я написал совершенно бесплатно? < /P>
import { useState, useEffect } from 'react'; import FullCalendar from '@fullcalendar/react'; import timeGridPlugin from '@fullcalendar/timegrid'; import interactionPlugin from '@fullcalendar/interaction'; import { Modal, Box, Button, TextField, Typography, MenuItem, Select, InputLabel, FormControl, FormControlLabel, Switch } from '@mui/material'; import allLocales from '@fullcalendar/core/locales-all' import dayGridPlugin from '@fullcalendar/daygrid';

const App = () => { const [events, setEvents] = useState([{
id: '1',
title: 'Örnek Aktivite',
start: '2025-06-23T10:00:00Z',
end: '2025-06-23T12:00:00Z',
description: 'Bir örnek etkinlik',
category: 'Toplantı' }]);

const [modalOpen, setModalOpen] = useState(false); const [currentDate, setCurrentDate] = useState(null); const [selectedEvent, setSelectedEvent] = useState(null); const [isEditing, setIsEditing] = useState(false); const [currentView, setCurrentView] = useState('timeGridWeek'); const [isMonthlyView, setIsMonthlyView] = useState(false);

const addEvent = (eventData, isEditing) => {
if (isEditing) {
setEvents(events.map((event) =>
event.id === selectedEvent.id ? { ...event, ...eventData } : event
));
} else {
setEvents([...events, eventData]);
} };

const handleDateClick = (arg) => {
setCurrentDate(arg.dateStr);
setSelectedEvent(null);
setIsEditing(false);
setModalOpen(true); };

const handleEventClick = (arg) => {
setCurrentDate(arg.event.startStr);
setSelectedEvent(arg.event);
setIsEditing(true);
setModalOpen(true); };

const handleSwitchChange = (event) => {
setIsMonthlyView(event.target.checked);
setCurrentView(event.target.checked ? 'dayGridMonth' : 'timeGridWeek'); };

return (




setModalOpen(false)}
onSave={addEvent}
currentDate={currentDate}
selectedEvent={selectedEvent}
isEditing={isEditing}
/>
); };

const EventModal = ({ isOpen, onClose, onSave, currentDate, selectedEvent, isEditing }) => { const [title, setTitle] = useState(''); const [description, setDescription] = useState(''); const [category, setCategory] = useState(''); const [startTime, setStartTime] = useState(''); const [endTime, setEndTime] = useState('');

useEffect(() => {
if (selectedEvent) {
setTitle(selectedEvent.title || '');
setDescription(selectedEvent.extendedProps?.description || '');
setCategory(selectedEvent.extendedProps?.category || '');

const startDate = new Date(selectedEvent.start);
const endDate = new Date(selectedEvent.end);

setStartTime(startDate.toISOString().substring(11, 16) || '');
setEndTime(endDate.toISOString().substring(11, 16) || '');
} else {
setTitle('');
setDescription('');
setCategory('');
setStartTime('');
setEndTime('');
} }, [selectedEvent]);

const handleSave = () => {
if (title && description && category && startTime && endTime) {
const currentDateOnly = currentDate.split('T')[0];
const startDateTimeString = `${currentDateOnly}T${startTime}:00`;
const endDateTimeString = `${currentDateOnly}T${endTime}:00`;

const startDateTime = new Date(startDateTimeString);
const endDateTime = new Date(endDateTimeString);

if (isNaN(startDateTime.getTime()) || isNaN(endDateTime.getTime())) {
alert('Geçersiz tarih veya saat formatı!');
return;
}

const startDateTimeLocal = new Date(startDateTime.getTime() - startDateTime.getTimezoneOffset() * 60000);
const endDateTimeLocal = new Date(endDateTime.getTime() - endDateTime.getTimezoneOffset() * 60000);

const startDateTimeISOString = startDateTimeLocal.toISOString();
const endDateTimeISOString = endDateTimeLocal.toISOString();

const eventData = {
id: selectedEvent ? selectedEvent.id : Date.now().toString(),
title,
start: startDateTimeISOString,
end: endDateTimeISOString,
description,
category
};

onSave(eventData, isEditing);
onClose();
} else {
alert('Lütfen tüm alanları doldurun.');
} };

useEffect(() => {
if (!isOpen) {
setTitle('');
setDescription('');
setCategory('');
setStartTime('');
setEndTime('');
} }, [isOpen]);

return (



{isEditing ? 'Etkinlik Düzenle' : 'Yeni Etkinlik Ekle'}

setTitle(e.target.value)}
/>
setDescription(e.target.value)}
/>

Kategori
setCategory(e.target.value)}
label="Kategori"
>
Toplantı
Seminer
Eğitim
Diğer


setStartTime(e.target.value)}
/>
setEndTime(e.target.value)}
/>


{isEditing ? 'Güncelle' : 'Kaydet'}


Kapat



); };

export default App;


Подробнее здесь: https://stackoverflow.com/questions/796 ... um-version
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»