Нет простого способа сделать то, что вам нужно (по крайней мере, я не знаю такого способа). Вы можете попробовать пару вещей.
Во-первых, можно попробовать реализовать всю логику на клиенте. Хотя планировщик не предоставляет общедоступный метод для разбора повторяющегося события на отдельные записи, существует метод частный метод, который вы можете использовать
Таким образом, вы можете определить, когда событие добавляется в планировщик, разделить его на отдельные записи и отправить затем вашему обработчику, который будет выполнять вставку в базу данных. Вот небольшая демонстрация http://docs.dhtmlx.com/scheduler/snippet/451753cb.
В качестве альтернативы вы можете попробовать проанализировать повторяющееся событие на сервере прямо перед вставкой.
Реализация будет зависеть от используемой вами серверной части.
Если это PHP, есть помощник для повторяющихся событий https://github.com/DHTMLX/scheduler-helper-php Однако он может только считывать события из базы данных, нет метода для анализа одного предоставленного вами события, поэтому потребуется некоторый код, чтобы заставить его работать.
Если вы используете .NET, вспомогательная библиотека предоставляет необходимый метод, чтобы вы могли обрабатывать повторяющиеся события и вставлять их в БД без больших проблем http://scheduler-net.com/docs/recurring-events.html#getting_instances_of_recurring_events
Если вы используете другую платформу - боюсь, вам придется написать свой парсер повторяющихся событий, чтобы обрабатывать их на стороне сервера.
И после того, как событие будет сохранено таким образом, планировщик больше не будет распознавать его как повторяющуюся серию, поэтому не будет встроенных элементов управления для удаления или изменения всех вхождений одновременно.
Как вы, наверное, уже поняли, несмотря на то, что существует несколько возможных способов реализовать то, что вам нужно, существует также ряд проблем, которые могут принести много боли.
Может быть, вы могли бы пояснить, зачем вам такая логика. Возможно, исходную проблему можно решить проще.
person
Alex Klimenkov
schedule
29.03.2016