Deprecated функции

В процессе развития библиотеки SweetAlert, некоторые функции были объявлены устаревшими и заменены более современными решениями. Такие изменения отражают улучшение производительности и удобства использования библиотеки. В этой главе рассматриваются функции, которые были помечены как устаревшие и не рекомендуются для использования в новых проектах.

1. swal() (общее объявление)

Ранее метод swal() использовался для вызова различных типов уведомлений в SweetAlert. Однако начиная с версии 2.0 библиотеки этот метод был заменен на улучшенную версию Swal.fire(), что позволило повысить гибкость и удобство работы с библиотекой.

Метод swal() имел несколько вариантов использования, таких как:

  • Всплывающее окно с текстом и кнопками.
  • Всплывающее окно с иконкой для отображения различных типов уведомлений (ошибка, успех, предупреждение).
  • Диалог с вводом пользователя.

Вместо использования устаревшего метода swal(), рекомендуется использовать Swal.fire(), который предоставляет улучшенную структуру и позволяет работать с более гибкими опциями.

Пример старого вызова через swal():

swal("Заголовок", "Текст сообщения", "success");

Пример актуального вызова через Swal.fire():

Swal.fire({
  title: 'Заголовок',
  text: 'Текст сообщения',
  icon: 'success'
});

2. Использование swal.setDefaults()

Функция swal.setDefaults() позволяла задавать значения по умолчанию для всех последующих вызовов окон. Это упрощало код, позволяя не повторять одни и те же параметры несколько раз. Однако в новой версии библиотеки эта функция была исключена, и настройка значений по умолчанию теперь производится через объект конфигурации, передаваемый каждому вызову.

Пример старой версии:

swal.setDefaults({
  icon: "warning",
  buttons: ["Отмена", "OK"]
});
swal("Внимание!", "Это предупреждение.");

В актуальной версии этот подход заменен на передачу настроек напрямую в каждый вызов:

Swal.fire({
  title: 'Внимание!',
  text: 'Это предупреждение.',
  icon: 'warning',
  showCancelButton: true,
  confirmButtonText: 'OK'
});

3. Устаревшие опции в конфигурации

В версии 2.0 SweetAlert были удалены или переименованы несколько опций, которые использовались в старых версиях. Примером таких изменений являются:

  • showConfirmButton и showCancelButton теперь по умолчанию имеют значение true. Таким образом, эти опции уже не требуется указывать, если нужно отображать соответствующие кнопки.
  • closeOnClickOutside был заменен на allowOutsideClick. Он теперь поддерживает более гибкую настройку взаимодействия с окнами SweetAlert.

Пример старой конфигурации с устаревшими опциями:

swal({
  title: "Предупреждение",
  text: "Вы уверены?",
  showConfirmButton: true,
  closeOnClickOutside: false
});

Пример актуальной конфигурации:

Swal.fire({
  title: 'Предупреждение',
  text: 'Вы уверены?',
  allowOutsideClick: false
});

4. Устаревшие иконки

Среди значений для параметра icon ранее существовали такие иконки, как error, warning, info, success и question. Однако начиная с версии 2.0 библиотеки, иконки были заменены на более универсальную систему иконок, что позволило значительно упростить использование иконок и уменьшить количество дублирующихся значений.

Пример использования старых иконок:

swal({
  title: "Ошибка",
  text: "Произошла ошибка!",
  icon: "error"
});

Современный эквивалент:

Swal.fire({
  title: 'Ошибка',
  text: 'Произошла ошибка!',
  icon: 'error'
});

Хотя функциональность осталась прежней, использование устаревших иконок уже не рекомендуется, так как они больше не поддерживаются в новых версиях.

5. Устаревший метод swal.close()

Метод swal.close() использовался для закрытия открытого окна SweetAlert. Этот метод был заменен более современным и гибким методом, который теперь доступен через объект, возвращаемый при вызове Swal.fire(). Метод Swal.close() теперь не имеет смысла, поскольку любые действия с окнами можно выполнять через объект, возвращаемый при вызове.

Пример старой версии:

swal("Сохранено!", "Данные успешно сохранены!", "success").then(function() {
  swal.close();
});

Новый подход:

const alert = Swal.fire({
  title: 'Сохранено!',
  text: 'Данные успешно сохранены!',
  icon: 'success'
});
alert.close();

6. Использование swal.mixin()

Функция swal.mixin() позволяла создавать конфигурации для нескольких окон, которые использовали одинаковые параметры. Она предоставляла возможность создавать повторно используемые шаблоны окон. Однако в новой версии библиотеки это функциональность была заменена на создание экземпляров с помощью объекта Swal.mixin().

Пример старого кода с использованием swal.mixin():

var warning = swal.mixin({
  icon: 'warning',
  buttons: ['Отмена', 'OK']
});
warning("Это предупреждение!");

Актуальная версия с Swal.mixin():

const warning = Swal.mixin({
  icon: 'warning',
  showCancelButton: true
});
warning.fire('Это предупреждение!');

7. Устаревшие атрибуты для настроек текста и кнопок

В более старых версиях библиотеки использовались атрибуты для текста и кнопок, такие как confirmButtonText, cancelButtonText, closeButtonText и другие. В новых версиях это незначительные изменения были сделаны для упрощения кода, так как многие из этих параметров теперь задаются в одном объекте конфигурации.

Пример старой версии:

swal({
  title: "Подтверждение",
  text: "Вы уверены?",
  confirmButtonText: "Да",
  cancelButtonText: "Нет"
});

Новая версия:

Swal.fire({
  title: 'Подтверждение',
  text: 'Вы уверены?',
  confirmButtonText: 'Да',
  cancelButtonText: 'Нет'
});

Заключение

Множество функций, которые использовались в старых версиях SweetAlert, были удалены или заменены в новых релизах. Разработчики, использующие библиотеку, должны быть готовы к переходу на новые методы и возможности, которые обеспечивают большую гибкость и производительность. Важно следить за обновлениями документации и всегда использовать актуальные решения для улучшения качества кода и работы приложения.