Undo / Redo DateField не работает - jQuery пакет Ганта - PullRequest
0 голосов
/ 22 января 2020

Asp. Net / jQuery Пакет Ганта

Как только пользователь добавляет новый элемент, мы сохраняем отдельную коллекцию - AddedTaskCollection Точно так же, как мы сохраняем отдельную коллекцию для обновленного списка - updatedTaskCollection

Ex-

  1. Добавить 1 новое задание - добавить новый элемент в AddedTaskCollection
  2. Отменить 1 раз - необходимо удалить элемент из AddedTaskCollection

Команда RadientQ предлагает мне использовать нижеприведенный сегмент кода,

ganttControl.ActionManager._mHistory.CollectionChanged.subscribe(function () {
    // Triggered when operations made
});

, но ganttControl.ActionManager._mHistory всегда неопределен, не уверен, в чем проблема.

, но с использованием сегмента кода ниже, возможность исправить добавить, удалить деталь.

ganttControl = $gantt_container.data("GanttControl");
var activityViews = ganttControl.ActivityViews;
//To listen to the task collection changes.
activityViews.CollectionChanged.subscribe(function (event, ui) {
    if (event.type === "insert") {
        //task is the newly added task
        var task = ui.items[0].Activity.DataSource;
        task.PropertyChanged.subscribe(PropertychangeNotifier);

    }
    else {
        //task is the removed task
        var task = ui.items[0].Activity.DataSource;
        task.PropertyChanged.unsubscribe(PropertychangeNotifier);
    }
});

Теперь моя проблема,

  1. Изменить поле даты
  2. Отменить
  3. Сохранить

Всегда сохраняется старое значение, и после того, как я выполню действие отмены, этот измененный элемент должен быть удален из updatedTaskCollection Dictionary , но при выполнении отмены я не могу вызвать это ActivityView s.CollectionChanged.subscribe (function (event, ui) { event

так как мне удалить это?

Внутри этого словаря updatedTaskCollection, .StartTime также отменяется отлично. но .ConstraintDate не отменяется. если я могу отменить это значение из словаря также хорошо.

...