Устаревшие опции

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

Одним из наиболее значимых изменений стало удаление и постепенное выведение из использования параметров старого формата, таких как:

  • aSep
  • aDec
  • aSign
  • vMin
  • vMax

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

Современный формат AutoNumeric заменяет их на более читаемые и семантически ясные ключи:

  • digitGroupSeparator
  • decimalCharacter
  • currencySymbol
  • minimumValue
  • maximumValue

Такой переход устранил необходимость запоминать сокращения и снизил вероятность ошибок при конфигурации.

Устаревшие параметры форматирования чисел

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

Разделители разрядов и десятичные символы

Старые параметры:

  • aSep — разделитель тысяч
  • aDec — десятичный разделитель

Заменены на:

  • digitGroupSeparator
  • decimalCharacter

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

Символ валюты

Ранее использовался параметр:

  • aSign

Он определял символ валюты, но был ограничен в части позиционирования и форматирования.

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

  • currencySymbol
  • currencySymbolPlacement

Это позволяет явно задавать расположение символа относительно числа (слева, справа, с пробелом или без него), что делает поведение более предсказуемым в интернациональных приложениях.

Устаревшие ограничения значений

Параметры диапазонов также претерпели изменения.

Старый стиль:

  • vMin
  • vMax

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

  • minimumValue
  • maximumValue

Помимо изменения названия, логика проверки была переработана: теперь валидация значений теснее интегрирована с форматированием и обработкой пользовательского ввода, что снижает вероятность рассинхронизации состояния поля и внутреннего представления числа.

Устаревшие поведенческие флаги

Некоторые булевые параметры, управляющие поведением ввода, были либо удалены, либо заменены более детализированными настройками.

Автоматическое форматирование при вводе

Старые опции:

  • aForm (в ранних реализациях и форках)
  • aPad

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

  • поведением при потере фокуса
  • режимом округления
  • стратегией отображения пустых значений

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

Управление очисткой значения

Некоторые устаревшие флаги, связанные с очисткой ввода, были заменены более явными механизмами обработки событий и значений:

  • старые параметры, управлявшие «автоочисткой» при вводе некорректных символов
  • заменены на комбинацию событийной модели и строгой типизации входных данных

Устаревшие параметры округления

Ранние версии AutoNumeric использовали упрощённую модель округления, где настройки были ограничены несколькими предустановленными режимами.

Примеры устаревших подходов:

  • числовые коды режимов округления
  • булевы переключатели округления вверх/вниз

Современная версия использует более декларативный подход:

  • roundingMethod с явно заданными стратегиями
  • расширенные режимы банковского и математического округления

Это устранило неоднозначности, когда один и тот же числовой код мог интерпретироваться по-разному в зависимости от контекста версии.

Устаревшие параметры событий и интеграции

Некоторые параметры, связанные с интеграцией в DOM-события, также были выведены из активного использования.

Старые механизмы отслеживания ввода

  • параметры, включающие автоматическое привязывание обработчиков через конфигурацию
  • устаревшие флаги, управляющие перехватом событий keydown и keypress

В актуальной архитектуре эти функции заменены явными методами привязки и API-интерфейсами экземпляра AutoNumeric, такими как:

  • программное управление обновлением значения
  • явная подписка на события через стандартные DOM-механизмы

Переходные alias-параметры

Для обеспечения обратной совместимости в течение нескольких версий поддерживались alias-параметры, которые формально считались устаревшими, но продолжали работать:

  • aSepdigitGroupSeparator
  • aDecdecimalCharacter
  • aSigncurrencySymbol

Эти alias позволяли постепенно мигрировать существующие проекты без немедленного переписывания всей конфигурации.

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

Устаревшие режимы локализации

Ранние версии включали ограниченные предустановленные локали, задаваемые через параметры конфигурации. Они определяли:

  • формат разделителей
  • порядок символов
  • правила группировки цифр

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

Современная архитектура заменяет это системой параметров, где локализация формируется через комбинацию:

  • digitGroupSeparator
  • decimalCharacter
  • currencySymbol
  • decimalPlaces

Это делает поведение полностью настраиваемым без необходимости использовать заранее определённые профили.

Изменения в обработке пустых и нулевых значений

Некоторые старые опции, регулирующие отображение пустых значений, были переработаны:

  • устаревшие флаги, управляющие отображением пустой строки вместо нуля
  • старые переключатели поведения при null и undefined

В новых версиях поведение унифицировано:

  • пустое значение трактуется отдельно от нуля
  • добавлены явные параметры для контроля отображения пустого состояния
  • исключена неоднозначность между «нет значения» и «0»

Устаревшие методы конфигурации через DOM-атрибуты

Ранние версии AutoNumeric допускали конфигурацию через HTML-атрибуты, такие как:

  • data-a-sep
  • data-a-dec
  • data-a-sign

Этот подход был признан устаревшим в пользу программной инициализации через Jav * aScript:

new AutoNumeric(inputElement, {
    digitGroupSeparator: ' ',
    decimalCharacter: ',',
    currencySymbol: '₸',
    currencySymbolPlacement: 'p'
});

Причина отказа от DOM-атрибутов связана с ограниченной выразительностью и сложностью поддержки сложных конфигураций в декларативном виде.

Общая тенденция устаревания опций

Анализ изменений показывает устойчивую тенденцию:

  • сокращение количества «магических» сокращений
  • переход к полным и семантически ясным именам
  • отказ от булевых флагов в пользу параметров с явными режимами
  • разделение ответственности между форматированием, валидацией и поведением ввода

Такой подход делает конфигурацию более предсказуемой, снижает когнитивную нагрузку и упрощает поддержку крупных проектов, где AutoNumeric используется в десятках или сотнях полей одновременно