Я использую библиотеку 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
React fullcalendar Premium версия [закрыто] ⇐ Javascript
Форум по Javascript
-
Anonymous
1750767762
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;
Подробнее здесь: [url]https://stackoverflow.com/questions/79677566/react-fullcalendar-premium-version[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия