### Install Dependencies with Yarn Source: https://github.com/autonumeric/autonumeric/blob/next/doc/CONTRIBUTING.md Install the necessary development dependencies using Yarn. Ensure you have Yarn installed globally. ```sh cd autoNumeric yarn install ``` -------------------------------- ### Control Formatting on Page Load Source: https://github.com/autonumeric/autonumeric/blob/next/test/e2e/index.html Examples showing how to disable or enable number formatting when the page initially loads. ```javascript new AutoNumeric('#issue_493_noFormat', 12234678.321, { currencySymbol:'$', formatOnPageLoad: false }); ``` ```javascript new AutoNumeric('#issue_493_noFormatNull', null, { currencySymbol:'$', formatOnPageLoad: false }); ``` ```javascript let anElement493 = new AutoNumeric('#issue_493_noFormatNoValue', { currencySymbol:'$', formatOnPageLoad: false }); anElement493.update({ emptyInputBehavior: AutoNumeric.options.emptyInputBehavior.null }); anElement493.set(null); ``` ```javascript new AutoNumeric('#issue_493_format', 12234678.321, { currencySymbol:'$', formatOnPageLoad: true }); ``` ```javascript new AutoNumeric('#issue_493_formatNull', null, { currencySymbol:'$', formatOnPageLoad: true }); ``` -------------------------------- ### Undo/Redo Functionality Source: https://github.com/autonumeric/autonumeric/blob/next/test/e2e/index.html Examples of initializing AutoNumeric with undo/redo capabilities, including history size configuration. ```javascript new AutoNumeric('#undoRedo1').french(); ``` ```javascript new AutoNumeric('#undoRedo2').french(); ``` ```javascript new AutoNumeric('#undoRedo3', { digitGroupSeparator: AutoNumeric.options.digitGroupSeparator.dot, decimalCharacter : AutoNumeric.options.decimalCharacter.comma, minimumValue : 0, maximumValue : 99999999, decimalPlaces : 0, historySize : AutoNumeric.options.historySize.verySmall, }); ``` ```javascript new AutoNumeric('#undoRedo4'); ``` -------------------------------- ### Configure Currency Symbol and Sign Placement (JavaScript) Source: https://github.com/autonumeric/autonumeric/blob/next/test/e2e/index.html These examples showcase different combinations of currency symbol placement and negative/positive sign positioning. They are useful for customizing how monetary values are displayed and entered. ```javascript const case1 = { // +€12|.34 currencySymbol : "jk", selectOnFocus : AutoNumeric.options.selectOnFocus.doNotSelect, currencySymbolPlacement : AutoNumeric.options.currencySymbolPlacement.prefix, caretPositionOnFocus : AutoNumeric.options.caretPositionOnFocus.decimalLeft, negativePositiveSignPlacement: AutoNumeric.options.negativePositiveSignPlacement.prefix, showPositiveSign : true, }; ``` ```javascript const case12 = { // +€12|34 currencySymbol : "jk", selectOnFocus : AutoNumeric.options.selectOnFocus.doNotSelect, currencySymbolPlacement : AutoNumeric.options.currencySymbolPlacement.prefix, caretPositionOnFocus : AutoNumeric.options.caretPositionOnFocus.decimalLeft, negativePositiveSignPlacement: AutoNumeric.options.negativePositiveSignPlacement.left, showPositiveSign : true, }; ``` ```javascript const case13 = { // €+12|34 currencySymbol : "jk", selectOnFocus : AutoNumeric.options.selectOnFocus.doNotSelect, currencySymbolPlacement : AutoNumeric.options.currencySymbolPlacement.prefix, caretPositionOnFocus : AutoNumeric.options.caretPositionOnFocus.decimalLeft, negativePositiveSignPlacement: AutoNumeric.options.negativePositiveSignPlacement.right, showPositiveSign : true, }; ``` ```javascript const case14 = { // €12|34+ currencySymbol : "jk", selectOnFocus : AutoNumeric.options.selectOnFocus.doNotSelect, currencySymbolPlacement : AutoNumeric.options.currencySymbolPlacement.prefix, caretPositionOnFocus : AutoNumeric.options.caretPositionOnFocus.decimalLeft, negativePositiveSignPlacement: AutoNumeric.options.negativePositiveSignPlacement.suffix, showPositiveSign : true, }; ``` ```javascript const case15 = { // €12|34 currencySymbol : "jk", selectOnFocus : AutoNumeric.options.selectOnFocus.doNotSelect, currencySymbolPlacement : AutoNumeric.options.currencySymbolPlacement.prefix, caretPositionOnFocus : AutoNumeric.options.caretPositionOnFocus.decimalLeft, negativePositiveSignPlacement: AutoNumeric.options.negativePositiveSignPlacement.none, showPositiveSign : true, }; ``` ```javascript const case16 = { // +€12.|34 currencySymbol : "jk", selectOnFocus : AutoNumeric.options.selectOnFocus.doNotSelect, currencySymbolPlacement : AutoNumeric.options.currencySymbolPlacement.prefix, caretPositionOnFocus : AutoNumeric.options.caretPositionOnFocus.decimalRight, negativePositiveSignPlacement: AutoNumeric.options.negativePositiveSignPlacement.prefix, showPositiveSign : true, }; ``` ```javascript const case17 = { // +€12.|34 currencySymbol : "jk", selectOnFocus : AutoNumeric.options.selectOnFocus.doNotSelect, currencySymbolPlacement : AutoNumeric.options.currencySymbolPlacement.prefix, caretPositionOnFocus : AutoNumeric.options.caretPositionOnFocus.decimalRight, negativePositiveSignPlacement: AutoNumeric.options.negativePositiveSignPlacement.left, showPositiveSign : true, }; ``` ```javascript const case18 = { // €+12.|34 currencySymbol : "jk", selectOnFocus : AutoNumeric.options.selectOnFocus.doNotSelect, currencySymbolPlacement : AutoNumeric.options.currencySymbolPlacement.prefix, caretPositionOnFocus : AutoNumeric.options.caretPositionOnFocus.decimalRight, negativePositiveSignPlacement: AutoNumeric.options.negativePositiveSignPlacement.right, showPositiveSign : true, }; ``` ```javascript const case19 = { // €12.|34+ currencySymbol : "jk", selectOnFocus : AutoNumeric.options.selectOnFocus.doNotSelect, currencySymbolPlacement : AutoNumeric.options.currencySymbolPlacement.prefix, caretPositionOnFocus : AutoNumeric.options.caretPositionOnFocus.decimalRight, negativePositiveSignPlacement: AutoNumeric.options.negativePositiveSignPlacement.suffix, showPositiveSign : true, }; ``` ```javascript const case20 = { // €12.|34 currencySymbol : "jk", selectOnFocus : AutoNumeric.options.selectOnFocus.doNotSelect, currencySymbolPlacement : AutoNumeric.options.currencySymbolPlacement.prefix, caretPositionOnFocus : AutoNumeric.options.caretPositionOnFocus.decimalRight, negativePositiveSignPlacement: AutoNumeric.options.negativePositiveSignPlacement.none, showPositiveSign : true, }; ``` ```javascript const case21 = { // |12.34€+ currencySymbol : "jk", selectOnFocus : AutoNumeric.options.selectOnFocus.doNotSelect, currencySymbolPlacement : AutoNumeric.options.currencySymbolPlacement.suffix, caretPositionOnFocus : AutoNumeric.options.caretPositionOnFocus.start, negativePositiveSignPlacement: AutoNumeric.options.negativePositiveSignPlacement.prefix, showPositiveSign : true, }; ``` ```javascript const case22 = { // |12.34€+ currencySymbol : "jk", selectOnFocus : AutoNumeric.options.selectOnFocus.doNotSelect, currencySymbolPlacement : AutoNumeric.options.currencySymbolPlacement.suffix, caretPositionOnFocus : AutoNumeric.options.caretPositionOnFocus.start, negativePositiveSignPlacement: AutoNumeric.options.negativePositiveSignPlacement.left, showPositiveSign : true, }; ``` ```javascript const case23 = { // |12.34+€ currencySymbol : "jk", selectOnFocus : AutoNumeric.options.selectOnFocus.doNotSelect, currencySymbolPlacement : AutoNumeric.options.currencySymbolPlacement.suffix, caretPositionOnFocus : AutoNumeric.options.caretPositionOnFocus.start, negativePositiveSignPlacement: AutoNumeric.options.negativePositiveSignPlacement.right, showPositiveSign : true, }; ``` ```javascript const case24 = { // +|12.3 currencySymbol : "jk", selectOnFocus : AutoNumeric.options.selectOnFocus.doNotSelect, currencySymbolPlacement : AutoNumeric.options.currencySymbolPlacement.suffix, caretPositionOnFocus : AutoNumeric.options.caretPositionOnFocus.start, negativePositiveSignPlacement: AutoNumeric.options.negativePositiveSignPlacement.suffix, showPositiveSign : true, }; ``` -------------------------------- ### Initialize AutoNumeric with initial value and custom options Source: https://context7.com/autonumeric/autonumeric/llms.txt Initialize AutoNumeric with a specific starting value and a detailed set of custom formatting options. ```javascript // With an initial value and custom options const anEl2 = new AutoNumeric('#amount', 12345.678, { currencySymbol: '$ ', currencySymbolPlacement: 'p', // prefix decimalCharacter: '.', digitGroupSeparator: ',', decimalPlaces: 2, roundingMethod: 'S', // half-up symmetric }); // Input displays: $ 12,345.68 ``` -------------------------------- ### AutoNumeric Configuration Cases for Sign and Symbol Placement Source: https://github.com/autonumeric/autonumeric/blob/next/test/e2e/index.html Illustrates various configurations for currency symbol placement, caret position, and negative/positive sign placement. These examples are useful for fine-tuning the display of financial data according to different regional standards. ```javascript const case1 = { // +€|12.34 currencySymbol : "jk", selectOnFocus : AutoNumeric.options.selectOnFocus.doNotSelect, currencySymbolPlacement : AutoNumeric.options.currencySymbolPlacement.prefix, caretPositionOnFocus : AutoNumeric.options.caretPositionOnFocus.start, negativePositiveSignPlacement: AutoNumeric.options.negativePositiveSignPlacement.prefix, showPositiveSign : true, }; ``` ```javascript const case2 = { // +€|12.34 currencySymbol : "jk", selectOnFocus : AutoNumeric.options.selectOnFocus.doNotSelect, currencySymbolPlacement : AutoNumeric.options.currencySymbolPlacement.prefix, caretPositionOnFocus : AutoNumeric.options.caretPositionOnFocus.start, negativePositiveSignPlacement: AutoNumeric.options.negativePositiveSignPlacement.left, showPositiveSign : true, }; ``` ```javascript const case3 = { // €+|12.34 currencySymbol : "jk", selectOnFocus : AutoNumeric.options.selectOnFocus.doNotSelect, currencySymbolPlacement : AutoNumeric.options.currencySymbolPlacement.prefix, caretPositionOnFocus : AutoNumeric.options.caretPositionOnFocus.start, negativePositiveSignPlacement: AutoNumeric.options.negativePositiveSignPlacement.right, showPositiveSign : true, }; ``` ```javascript const case4 = { // €|12.34+ currencySymbol : "jk", selectOnFocus : AutoNumeric.options.selectOnFocus.doNotSelect, currencySymbolPlacement : AutoNumeric.options.currencySymbolPlacement.prefix, caretPositionOnFocus : AutoNumeric.options.caretPositionOnFocus.start, negativePositiveSignPlacement: AutoNumeric.options.negativePositiveSignPlacement.suffix, showPositiveSign : true, }; ``` ```javascript const case5 = { // €|12.34 currencySymbol : "jk", selectOnFocus : AutoNumeric.options.selectOnFocus.doNotSelect, currencySymbolPlacement : AutoNumeric.options.currencySymbolPlacement.prefix, caretPositionOnFocus : AutoNumeric.options.caretPositionOnFocus.start, negativePositiveSignPlacement: AutoNumeric.options.negativePositiveSignPlacement.none, showPositiveSign : true, }; ``` ```javascript const case6 = { // +€12.34| currencySymbol : "jk", selectOnFocus : AutoNumeric.options.selectOnFocus.doNotSelect, currencySymbolPlacement : AutoNumeric.options.currencySymbolPlacement.prefix, caretPositionOnFocus : AutoNumeric.options.caretPositionOnFocus.end, negativePositiveSignPlacement: AutoNumeric.options.negativePositiveSignPlacement.prefix, showPositiveSign : true, }; ``` ```javascript const case7 = { // +€12.34| currencySymbol : "jk", selectOnFocus : AutoNumeric.options.selectOnFocus.doNotSelect, currencySymbolPlacement : AutoNumeric.options.currencySymbolPlacement.prefix, caretPositionOnFocus : AutoNumeric.options.caretPositionOnFocus.end, negativePositiveSignPlacement: AutoNumeric.options.negativePositiveSignPlacement.left, showPositiveSign : true, }; ``` ```javascript const case8 = { // €+12.34| currencySymbol : "jk", selectOnFocus : AutoNumeric.options.selectOnFocus.doNotSelect, currencySymbolPlacement : AutoNumeric.options.currencySymbolPlacement.prefix, caretPositionOnFocus : AutoNumeric.options.caretPositionOnFocus.end, negativePositiveSignPlacement: AutoNumeric.options.negativePositiveSignPlacement.right, showPositiveSign : true, }; ``` ```javascript const case9 = { // €12.34|+ currencySymbol : "jk", selectOnFocus : AutoNumeric.options.selectOnFocus.doNotSelect, currencySymbolPlacement : AutoNumeric.options.currencySymbolPlacement.prefix, caretPositionOnFocus : AutoNumeric.options.caretPositionOnFocus.end, negativePositiveSignPlacement: AutoNumeric.options.negativePositiveSignPlacement.suffix, showPositiveSign : true, }; ``` ```javascript const case10 = { // €12.34| currencySymbol : "jk", selectOnFocus : AutoNumeric.options.selectOnFocus.doNotSelect, currencySymbolPlacement : AutoNumeric.options.currencySymbolPlacement.prefix, caretPositionOnFocus : AutoNumeric.options.caretPositionOnFocus.end, negativePositiveSignPlacement: AutoNumeric.options.negativePositiveSignPlacement.none, showPositiveSign : true, }; ``` ```javascript const case11 = { // +€12|.34 currencySymbol : ``` -------------------------------- ### Install AutoNumeric via npm or yarn Source: https://context7.com/autonumeric/autonumeric/llms.txt Use npm or yarn to add AutoNumeric to your project dependencies. ```bash # npm npm install autonumeric # yarn yarn add autonumeric ``` -------------------------------- ### Get AutoNumeric Settings Source: https://github.com/autonumeric/autonumeric/blob/next/doc/Documentation.md Retrieve specific settings or all settings from an initialized AutoNumeric instance. ```APIDOC ## Get AutoNumeric Settings ### Description Allows retrieval of individual AutoNumeric settings or all current settings from an element. ### Method JavaScript (jQuery plugin method) ### Endpoint N/A (Method call on a jQuery object) ### Parameters None directly for `getSettings` itself, but it's called on a selector. ### Usage ```javascript $('someSelector').autoNumeric('getSettings'); ``` ### Retrieving Specific Settings To get a specific setting, append the option name to 'getSettings'. #### Example: Get decimalCharacter ```javascript $('someSelector').autoNumeric('getSettings').decimalCharacter; // returns the 'decimalCharacter' value ``` #### Example: Get any individual setting ```javascript // Replace 'decimalCharacter' with the desired settings / option name $('someSelector').autoNumeric('getSettings').optionName; ``` ``` -------------------------------- ### Issue #416: Style Rules Source: https://github.com/autonumeric/autonumeric/blob/next/test/e2e/index.html Examples of applying various predefined style rules for visual feedback based on number ranges and conditions, addressing Issue #416. ```javascript new AutoNumeric('#issue_416_1', { styleRules: AutoNumeric.options.styleRules.none }); ``` ```javascript new AutoNumeric('#issue_416_2', { styleRules: AutoNumeric.options.styleRules.positiveNegative }); ``` ```javascript new AutoNumeric('#issue_416_3', { styleRules: AutoNumeric.options.styleRules.positiveNegative }); ``` ```javascript new AutoNumeric('#issue_416_4', { styleRules: AutoNumeric.options.styleRules.evenOdd }); ``` ```javascript new AutoNumeric('#issue_416_5', { styleRules: AutoNumeric.options.styleRules.evenOdd }); ``` ```javascript new AutoNumeric('#issue_416_6', { styleRules: AutoNumeric.options.styleRules.range0To100With4Steps }); ``` ```javascript new AutoNumeric('#issue_416_7', { styleRules: AutoNumeric.options.styleRules.range0To100With4Steps }); ``` ```javascript new AutoNumeric('#issue_416_8', { styleRules: AutoNumeric.options.styleRules.range0To100With4Steps }); ``` ```javascript new AutoNumeric('#issue_416_9', { styleRules: AutoNumeric.options.styleRules.range0To100With4Steps }); ``` ```javascript new AutoNumeric('#issue_416_10', { styleRules: AutoNumeric.options.styleRules.rangeSmallAndZero }); ``` ```javascript new AutoNumeric('#issue_416_11', { styleRules: AutoNumeric.options.styleRules.rangeSmallAndZero }); ``` ```javascript new AutoNumeric('#issue_416_12', { styleRules: AutoNumeric.options.styleRules.rangeSmallAndZero }); ``` -------------------------------- ### Get default configuration with AutoNumeric v4 Source: https://github.com/autonumeric/autonumeric/blob/next/doc/HowToUpgradeToV4.md Use `AutoNumeric.getDefaultConfig()` to retrieve the default configuration options. This replaces `$.fn.autoNumeric.defaults` from v2. ```javascript AutoNumeric.getDefaultConfig() ``` -------------------------------- ### Get predefined options with AutoNumeric v4 Source: https://github.com/autonumeric/autonumeric/blob/next/doc/HowToUpgradeToV4.md Use `AutoNumeric.getPredefinedOptions()` to access predefined language and currency options. This replaces `$.fn.autoNumeric.lang` from v2. ```javascript AutoNumeric.getPredefinedOptions() ``` -------------------------------- ### Clone the Latest Source Code Source: https://github.com/autonumeric/autonumeric/blob/next/doc/CONTRIBUTING.md Clone the development branch of the AutoNumeric repository to start contributing. Use the SSH URL if you are authenticated with GitHub. ```sh git clone -b next https://github.com/autoNumeric/autoNumeric.git # or the following if you are authentified on github : # `git clone -b next git@github.com:autoNumeric/autoNumeric.git` ``` -------------------------------- ### Get AutoNumeric Settings Source: https://context7.com/autonumeric/autonumeric/llms.txt Retrieve the current configuration object of an AutoNumeric instance using `getSettings()`. This is useful for inspecting active options like currency symbols or decimal places. ```javascript const anEl = new AutoNumeric('#el', { currencySymbol: '€ ', decimalPlaces: 3 }); const settings = anEl.getSettings(); console.log(settings.currencySymbol); // "€ " console.log(settings.decimalPlaces); // 3 console.log(settings.digitGroupSeparator); // "," ``` -------------------------------- ### Configure Decimal and Alternative Decimal Characters Source: https://github.com/autonumeric/autonumeric/blob/next/test/e2e/index.html Sets custom decimal and alternative decimal characters for AutoNumeric. This example configures the 'euro' format with a comma as the decimal character and a dot as an alternative. ```javascript new AutoNumeric('#issue_432_dot', [ 'euro', { decimalCharacter : AutoNumeric.options.decimalCharacter.comma, decimalCharacterAlternative: AutoNumeric.options.decimalCharacterAlternative.dot, }, ]); ``` ```javascript new AutoNumeric('#issue_432_none', [ 'euro', { decimalCharacter : AutoNumeric.options.decimalCharacter.comma, decimalCharacterAlternative: AutoNumeric.options.decimalCharacterAlternative.none, }, ]); ``` -------------------------------- ### AutoNumeric: Synchronize Field Values (Issue #295) Source: https://github.com/autonumeric/autonumeric/blob/next/test/e2e/index.html This example shows how to synchronize the value of one AutoNumeric input field to another using an event listener. It's useful for scenarios where one field's input should mirror another's. ```javascript const firstField = document.querySelector('#firstField'); const secondField = document.querySelector('#secondField'); firstField.addEventListener('keyup', () => { secondField.value = firstField.value; }); ``` -------------------------------- ### AutoNumeric Initialization with Options Source: https://github.com/autonumeric/autonumeric/blob/next/test/e2e/index.html Demonstrates initializing AutoNumeric with various options to control formatting, currency, and behavior. ```javascript new AutoNumeric('#issue\_326', { digitGroupSeparator : '.', decimalCharacter : ',', decimalCharacterAlternative: '.', currencySymbol : '\u00a0€', currencySymbolPlacement : 's', roundingMethod : 'U', minimumValue : '-999999999999', maximumValue : '999999999999', onInvalidPaste : 'ignore', alwaysAllowDecimalCharacter: true, }); ``` ```javascript new AutoNumeric('#issue\_250', { decimalPlaces: 2, allowDecimalPadding: AutoNumeric.options.allowDecimalPadding.never, minimumValue: '2', maximumValue: '999999999' }); ``` ```javascript new AutoNumeric('#issue\_317', { leadingZero: 'deny', decimalCharacterAlternative: ',' }); ``` ```javascript new AutoNumeric('#issue\_303p', { currencySymbolPlacement: 'p', currencySymbol: '$' , /*emptyInputBehavior: 'always'*/ }); ``` ```javascript new AutoNumeric('#issue\_303s', { currencySymbolPlacement: 's', currencySymbol: '\u00a0€', /*emptyInputBehavior: 'always'*/ }); ``` -------------------------------- ### Get AutoNumeric.js Library Version Source: https://context7.com/autonumeric/autonumeric/llms.txt Call the static `AutoNumeric.version()` method to retrieve the currently installed version of the AutoNumeric.js library. This is useful for debugging or ensuring compatibility. ```javascript console.log(AutoNumeric.version()); // "4.10.9" ``` -------------------------------- ### Get numeric string from an instance with v4 Source: https://github.com/autonumeric/autonumeric/blob/next/doc/HowToUpgradeToV4.md Use `anElement.getNumericString()` to get the numeric string representation of the AutoNumeric instance. This replaces the v2 jQuery plugin method `autoNumeric('get')`. ```javascript anElement.getNumericString(); ``` -------------------------------- ### Using Pre-defined AutoNumeric Options Source: https://context7.com/autonumeric/autonumeric/llms.txt Demonstrates initializing AutoNumeric elements with various predefined option sets for different currencies and formats. These options simplify common use cases. ```javascript new AutoNumeric('#a', AutoNumeric.predefinedOptions.euro).set(1234.56); ``` ```javascript new AutoNumeric('#b', AutoNumeric.predefinedOptions.dollar).set(1234.56); ``` ```javascript new AutoNumeric('#c', AutoNumeric.predefinedOptions.British).set(1234.56); ``` ```javascript new AutoNumeric('#d', AutoNumeric.predefinedOptions.Swiss).set(1234.56); ``` ```javascript new AutoNumeric('#e', AutoNumeric.predefinedOptions.integer).set(42.9); ``` ```javascript new AutoNumeric('#f', AutoNumeric.predefinedOptions.percentageUS2dec).set(0.1234); ``` ```javascript new AutoNumeric('#g', AutoNumeric.predefinedOptions.dollarNegBrackets).set(-500); ``` -------------------------------- ### Get number from an instance with v4 Source: https://github.com/autonumeric/autonumeric/blob/next/doc/HowToUpgradeToV4.md Use `anElement.getNumber()` to get the raw number from an AutoNumeric instance. This replaces the v2 jQuery plugin method `autoNumeric('getNumber')`. ```javascript anElement.getNumber(); ``` -------------------------------- ### Get localized value from an instance with v4 Source: https://github.com/autonumeric/autonumeric/blob/next/doc/HowToUpgradeToV4.md Use `anElement.getLocalized()` to get the localized string representation from an AutoNumeric instance. This replaces the v2 jQuery plugin method `autoNumeric('getLocalized')`. ```javascript anElement.getLocalized(); ``` -------------------------------- ### Initialization and Form Handling Source: https://github.com/autonumeric/autonumeric/blob/next/CHANGELOG.md Methods related to initializing elements and handling form data. ```APIDOC ## init(element) ### Description Allows to use the current AutoNumeric element settings to initialize the DOM element given as a parameter. This effectively links the two AutoNumeric elements by making them share the same local AutoNumeric element list. ### Method `init(element)` ### Endpoint N/A (Instance Method) ``` ```APIDOC ## form() ### Description Returns a reference to the parent