Я поддерживаю большое веб-приложение, написанное с помощью Dojo (x) Toolkit.
showView = function (current, next, dir, type) {
registry.byId(current).performTransition(next, dir, type, null, function () { });
};
и затем в каждом представлении логика пользовательского интерфейса прослушивает события перехода:
registry.byId("viewCustomer").on("afterTransitionIn", function () {
// do something
}
registry.byId("viewCustomer").on("beforeTransitionOut", function () {
// do something else
}
Теперь они попросили меня удалить все переходы , это означает, что новые виды должны отображаться немедленно без какого-либо эффекта. Как я и думал, я просто установил переменную type
в функции showView
в значение none.
Несмотря на то, что он фактически удаляет переходы, он также прерывает все события, потому что они больше не будут срабатывать.
Я смотрю в документации Dojo, чтобы найти способ избежать видимого перехода при сохранении событий. Было бы хорошо, если бы я мог переопределить стандартное время и установить его на 0, например.
Есть ли лучший способ сделать это, не переписывая всю логику пользовательского интерфейса, основанную на этих событиях?