В библиотеке AutoNumeric ряд опций был объявлен устаревшими в процессе перехода между основными версиями, прежде всего при миграции с ранних API, использовавших префиксный стиль конфигурации, к современному объектному формату настроек. Причина таких изменений заключается в унификации конфигурации, устранении неоднозначностей и приведении API к более предсказуемой структуре.
Одним из наиболее значимых изменений стало удаление и постепенное выведение из использования параметров старого формата, таких как:
aSepaDecaSignvMinvMaxЭти параметры использовались в ранних версиях библиотеки и отражали внутреннюю логику именования, где каждая настройка имела краткий префиксный идентификатор.
Современный формат AutoNumeric заменяет их на более читаемые и семантически ясные ключи:
digitGroupSeparatordecimalCharactercurrencySymbolminimumValuemaximumValueТакой переход устранил необходимость запоминать сокращения и снизил вероятность ошибок при конфигурации.
Некоторые опции, связанные с визуальным форматированием чисел, также были признаны устаревшими в исходном виде.
Старые параметры:
aSep — разделитель тысячaDec — десятичный разделительЗаменены на:
digitGroupSeparatordecimalCharacterОсновное различие заключается не только в именовании, но и в расширении возможностей: современная версия позволяет использовать более гибкие настройки локализации, включая поддержку альтернативных символов и динамическое переключение формата.
Ранее использовался параметр:
aSignОн определял символ валюты, но был ограничен в части позиционирования и форматирования.
В актуальных версиях используется:
currencySymbolcurrencySymbolPlacementЭто позволяет явно задавать расположение символа относительно числа (слева, справа, с пробелом или без него), что делает поведение более предсказуемым в интернациональных приложениях.
Параметры диапазонов также претерпели изменения.
Старый стиль:
vMinvMaxСовременный эквивалент:
minimumValuemaximumValueПомимо изменения названия, логика проверки была переработана: теперь валидация значений теснее интегрирована с форматированием и обработкой пользовательского ввода, что снижает вероятность рассинхронизации состояния поля и внутреннего представления числа.
Некоторые булевые параметры, управляющие поведением ввода, были либо удалены, либо заменены более детализированными настройками.
Старые опции:
aForm (в ранних реализациях и форках)aPadВ новых версиях их функциональность распределена между несколькими настройками, связанными с:
Такой подход позволил избежать перегруженности одного параметра, который ранее пытался контролировать сразу несколько аспектов поведения.
Некоторые устаревшие флаги, связанные с очисткой ввода, были заменены более явными механизмами обработки событий и значений:
Ранние версии AutoNumeric использовали упрощённую модель округления, где настройки были ограничены несколькими предустановленными режимами.
Примеры устаревших подходов:
Современная версия использует более декларативный подход:
roundingMethod с явно заданными стратегиямиЭто устранило неоднозначности, когда один и тот же числовой код мог интерпретироваться по-разному в зависимости от контекста версии.
Некоторые параметры, связанные с интеграцией в DOM-события, также были выведены из активного использования.
keydown и keypressВ актуальной архитектуре эти функции заменены явными методами привязки и API-интерфейсами экземпляра AutoNumeric, такими как:
Для обеспечения обратной совместимости в течение нескольких версий поддерживались alias-параметры, которые формально считались устаревшими, но продолжали работать:
aSep → digitGroupSeparatoraDec → decimalCharacteraSign → currencySymbolЭти alias позволяли постепенно мигрировать существующие проекты без немедленного переписывания всей конфигурации.
Со временем поддержка таких псевдонимов была сокращена, а затем полностью удалена, что закрепило использование только унифицированных ключей.
Ранние версии включали ограниченные предустановленные локали, задаваемые через параметры конфигурации. Они определяли:
Устаревший подход предполагал жесткую привязку к фиксированным наборам.
Современная архитектура заменяет это системой параметров, где локализация формируется через комбинацию:
digitGroupSeparatordecimalCharactercurrencySymboldecimalPlacesЭто делает поведение полностью настраиваемым без необходимости использовать заранее определённые профили.
Некоторые старые опции, регулирующие отображение пустых значений, были переработаны:
null и
undefinedВ новых версиях поведение унифицировано:
Ранние версии AutoNumeric допускали конфигурацию через HTML-атрибуты, такие как:
data-a-sepdata-a-decdata-a-signЭтот подход был признан устаревшим в пользу программной инициализации через Jav * aScript:
new AutoNumeric(inputElement, {
digitGroupSeparator: ' ',
decimalCharacter: ',',
currencySymbol: '₸',
currencySymbolPlacement: 'p'
});
Причина отказа от DOM-атрибутов связана с ограниченной выразительностью и сложностью поддержки сложных конфигураций в декларативном виде.
Анализ изменений показывает устойчивую тенденцию:
Такой подход делает конфигурацию более предсказуемой, снижает когнитивную нагрузку и упрощает поддержку крупных проектов, где AutoNumeric используется в десятках или сотнях полей одновременно