Баг домотикза - не работает кнопка Upload на странице Custom Icons
Столкнулся с не работающей кнопкой загрузки иконок в домотикзе.
При нажатии на кнопку - "ничего" не происходит.
При этом в консоли хрома ошибка "TypeError: $http.post(...).success is not a function..." и видно что проблема в строке №14 в файле domoticz\www\app\CustomIconsController.js.
Сколько эта кнопка уже не работает - мне не известно.
Причина: в ангуляре с сентября 16 года!!! не работают методы .success и .error в сервисе $http, и вместо этого надо использовать конструкцию:
.then(function(response) { /*Success*/ }, function(response) { /*Error*/ });
Когда это исправят в домотикзе - не известно, поэтому исправляем багу сами:
В файле domoticz\www\app\CustomIconsController.js заменяем этот кусок кода (с 14 строки и ниже)
на это:
Изменения я выделил желтым.
Очищаем кэш браузера (обязательно) и после этого кнопка работает без проблем.
Насколько долго это будет работать, пока не было возможности проверить - возможно только до следующего обновления, а потом придется всё повторить.
При нажатии на кнопку - "ничего" не происходит.
При этом в консоли хрома ошибка "TypeError: $http.post(...).success is not a function..." и видно что проблема в строке №14 в файле domoticz\www\app\CustomIconsController.js.
Сколько эта кнопка уже не работает - мне не известно.
Причина: в ангуляре с сентября 16 года!!! не работают методы .success и .error в сервисе $http, и вместо этого надо использовать конструкцию:
.then(function(response) { /*Success*/ }, function(response) { /*Error*/ });
Источник: документация ангуляра.
Когда это исправят в домотикзе - не известно, поэтому исправляем багу сами:
В файле domoticz\www\app\CustomIconsController.js заменяем этот кусок кода (с 14 строки и ниже)
.success(function (data) {
if (data.status != "OK") { HideNotify(); ShowNotify($.t('Error uploading Iconset') + ": " + data.error, 5000, true); } $scope.RefreshIconList(); }) .error(function (data) { HideNotify(); ShowNotify($.t('Error uploading Iconset'), 5000, true); }); |
.then(function(response) { //Success
var data = response.data; if (data.status != "OK") { HideNotify(); ShowNotify($.t('Error uploading Iconset') + ": " + data.error, 5000, true); } $scope.RefreshIconList(); }, function(response) { //Error HideNotify(); ShowNotify($.t('Error uploading Iconset'), 5000, true); }); |
Изменения я выделил желтым.
Очищаем кэш браузера (обязательно) и после этого кнопка работает без проблем.
Насколько долго это будет работать, пока не было возможности проверить - возможно только до следующего обновления, а потом придется всё повторить.
Комментарии
Отправить комментарий