Экземпляр AutoNumeric представляет собой объект-обёртку над DOM-элементом ввода, который инкапсулирует состояние форматирования, правила локали и текущее числовое значение в различных представлениях. Внутренние свойства экземпляра формируют основу всей работы библиотеки, поскольку именно через них реализуются синхронизация между отображаемым значением и «сырыми» данными, а также управление поведением форматирования в реальном времени.
domElement / node Одним из ключевых элементов экземпляра является ссылка на связанный DOM-элемент. Обычно это HTMLInputElement, над которым инициализирован AutoNumeric. Через это свойство библиотека осуществляет:
В некоторых реализациях может встречаться абстракция
node, но смысл остаётся одинаковым — связь с конкретным
элементом интерфейса.
parentForm / form Если элемент находится внутри формы, экземпляр может хранить ссылку на родительский form-элемент. Это используется для корректной интеграции с отправкой данных и обработкой submit-событий, особенно когда требуется временно преобразовать форматированное значение в «сырое» число.
rawValue / unformattedValue Внутреннее числовое значение без форматирования. Это основное представление данных, с которым работает логика вычислений. Оно:
Именно это значение считается «истинным» с точки зрения модели данных.
formattedValue / formatted Строковое представление числа, отображаемое пользователю в input-поле. Оно формируется на основе настроек экземпляра:
Это значение всегда синхронизировано с rawValue, но
может отличаться по форме представления.
previousValue Служебное свойство, фиксирующее предыдущее состояние значения. Используется для:
settings / options Один из центральных объектов экземпляра, содержащий все активные настройки AutoNumeric. Внутри него находятся параметры:
Этот объект может быть:
defaultSettings Ссылка на базовый набор конфигурации библиотеки. Используется как эталон при создании новых экземпляров и при сбросе настроек.
decimalPlaces / precision Хранит текущее количество знаков после запятой, которое применяется к значению. Это свойство может:
isInitialized Булево значение, отражающее факт
полной инициализации экземпляра. После создания объекта и привязки к
DOM-элементу этот флаг становится true. До завершения
инициализации некоторые операции могут быть недоступны.
isFocused Отражает текущее состояние фокуса input-элемента. Используется для:
isDestroyed Служебный флаг, указывающий, что экземпляр был уничтожен и больше не должен использоваться. После установки этого значения любые операции над экземпляром считаются некорректными.
selectionStart / selectionEnd AutoNumeric часто синхронизирует позицию курсора с внутренним состоянием, поскольку форматирование может изменять длину строки. Эти свойства:
caretPosition Обобщённое состояние позиции каретки, используемое для восстановления положения курсора после перерисовки значения.
decimalCharacter Символ, используемый для разделения
целой и дробной части числа (например, . или
,). Является частью активной конфигурации экземпляра.
digitGroupSeparator Символ или строка, используемая
для разделения разрядов числа (например, пробел или запятая). Это
свойство влияет только на отображение, не изменяя
rawValue.
currencySymbol / currencySign Если экземпляр работает в режиме валюты, хранит символ валюты. Он может быть:
minimumValue / maximumValue Определяют допустимый диапазон значений. При вводе данные проверяются на соответствие этим границам. Нарушение диапазона может:
allowDecimalPadding Определяет, следует ли автоматически дополнять дробную часть нулями до заданной точности.
leadingZeroAllowed Контролирует поведение при вводе чисел с ведущими нулями. При отключении такие нули удаляются автоматически.
history / undoStack Некоторые реализации AutoNumeric поддерживают стек изменений, позволяющий отслеживать последовательность ввода. Это используется для:
eventsBound Флаг или структура, отражающая, какие DOM-события уже привязаны к элементу (input, keydown, blur, focus). Предотвращает повторную регистрацию обработчиков.
lastProcessedValue Служебное значение, фиксирующее последний обработанный ввод, что позволяет избегать повторного форматирования одного и того же состояния.
linkedField / relatedElements В некоторых сценариях экземпляр может быть связан с другими элементами формы. Это используется для:
originalValue Начальное значение, с которым был инициализирован экземпляр. Оно может использоваться при:
id Уникальный идентификатор экземпляра, используемый для:
version Версия библиотеки, с которой был создан экземпляр. Используется для совместимости при миграциях и обновлениях конфигурации.
creationTimestamp Временная метка создания экземпляра. Позволяет анализировать жизненный цикл объекта и отладку поведения в сложных интерфейсах.
Состояние экземпляра AutoNumeric представляет собой связанную систему, в которой изменение одного свойства автоматически влияет на другие. Например:
rawValue приводит к пересчёту
formattedValue;decimalCharacter требует перерасчёта
отображения;precision изменяет округление и формат
вывода;isFocused) влияет на стратегию
отображения чисел.Такая структура обеспечивает согласованность между вводом пользователя, визуальным представлением и внутренней числовой моделью данных, минимизируя рассинхронизацию состояния даже при интенсивных изменениях DOM.