@skyux/autonumeric 5.0.0 → 5.5.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -67
- package/bundles/skyux-autonumeric.umd.js +33 -60
- package/documentation.json +113 -84
- package/esm2015/index.js +7 -0
- package/esm2015/index.js.map +1 -0
- package/esm2015/lib/modules/autonumeric/autonumeric-options-provider.js +24 -0
- package/esm2015/lib/modules/autonumeric/autonumeric-options-provider.js.map +1 -0
- package/esm2015/lib/modules/autonumeric/autonumeric-options.js +2 -0
- package/esm2015/lib/modules/autonumeric/autonumeric-options.js.map +1 -0
- package/esm2015/lib/modules/autonumeric/autonumeric.directive.js +171 -0
- package/esm2015/lib/modules/autonumeric/autonumeric.directive.js.map +1 -0
- package/esm2015/lib/modules/autonumeric/autonumeric.module.js +19 -0
- package/esm2015/lib/modules/autonumeric/autonumeric.module.js.map +1 -0
- package/esm2015/skyux-autonumeric.js +2 -2
- package/esm2015/skyux-autonumeric.js.map +1 -0
- package/fesm2015/skyux-autonumeric.js +25 -50
- package/fesm2015/skyux-autonumeric.js.map +1 -1
- package/index.d.ts +4 -0
- package/{modules → lib/modules}/autonumeric/autonumeric-options-provider.d.ts +0 -0
- package/{modules → lib/modules}/autonumeric/autonumeric-options.d.ts +0 -0
- package/{modules → lib/modules}/autonumeric/autonumeric.directive.d.ts +2 -3
- package/{modules → lib/modules}/autonumeric/autonumeric.module.d.ts +0 -0
- package/package.json +5 -5
- package/skyux-autonumeric.d.ts +1 -1
- package/LICENSE +0 -21
- package/bundles/skyux-autonumeric.umd.js.map +0 -1
- package/esm2015/modules/autonumeric/autonumeric-options-provider.js +0 -24
- package/esm2015/modules/autonumeric/autonumeric-options.js +0 -2
- package/esm2015/modules/autonumeric/autonumeric.directive.js +0 -181
- package/esm2015/modules/autonumeric/autonumeric.module.js +0 -33
- package/esm2015/public-api.js +0 -7
- package/public-api.d.ts +0 -4
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"skyux-autonumeric.umd.js","sources":["../../../projects/sky-autonumeric/src/modules/autonumeric/autonumeric-options-provider.ts","../../../projects/sky-autonumeric/src/modules/autonumeric/autonumeric.directive.ts","../../../projects/sky-autonumeric/src/modules/autonumeric/autonumeric.module.ts","../../../projects/sky-autonumeric/src/skyux-autonumeric.ts"],"sourcesContent":["import {\n Injectable\n} from '@angular/core';\n\nimport {\n SkyAutonumericOptions\n} from './autonumeric-options';\n\n/**\n * Provides options to the underlying [autoNumeric utility](https://github.com/autoNumeric/autoNumeric).\n * This can set global options on multiple input fields.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class SkyAutonumericOptionsProvider {\n\n /**\n * Specifies the value for a settings object to pass to the autoNumeric utility.\n * This overrides any default options specified by the `skyAutonumeric` attribute.\n */\n public getConfig(): SkyAutonumericOptions {\n return {};\n }\n\n}\n","import {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n forwardRef,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Renderer2\n} from '@angular/core';\n\nimport {\n fromEvent,\n Subject\n} from 'rxjs';\n\nimport {\n takeUntil\n} from 'rxjs/operators';\n\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator\n} from '@angular/forms';\n\nimport {\n SkyAutonumericOptions\n} from './autonumeric-options';\n\nimport {\n SkyAutonumericOptionsProvider\n} from './autonumeric-options-provider';\n\nimport AutoNumeric from 'autonumeric';\n\n// tslint:disable:no-forward-ref no-use-before-declare\nconst SKY_AUTONUMERIC_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SkyAutonumericDirective),\n multi: true\n};\n\nconst SKY_AUTONUMERIC_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SkyAutonumericDirective),\n multi: true\n};\n// tslint:enable\n\n /**\n * Wraps the [autoNumeric utility](https://github.com/autoNumeric/autoNumeric) to format\n * any type of number, including currency.\n */\n @Directive({\n selector: 'input[skyAutonumeric]',\n providers: [\n SKY_AUTONUMERIC_VALUE_ACCESSOR,\n SKY_AUTONUMERIC_VALIDATOR\n ]\n})\nexport class SkyAutonumericDirective implements OnInit, OnDestroy, ControlValueAccessor, Validator {\n\n /**\n * Assigns the name of a property from `SkyAutonumericOptionsProvider`.\n */\n @Input()\n public set skyAutonumeric(value: SkyAutonumericOptions) {\n this.autonumericOptions = this.mergeOptions(value);\n this.updateAutonumericInstance();\n }\n\n private autonumericInstance: AutoNumeric;\n private autonumericOptions: SkyAutonumericOptions;\n private control: AbstractControl;\n private isFirstChange = true;\n private value: number;\n\n private ngUnsubscribe = new Subject<void>();\n\n constructor(\n private elementRef: ElementRef,\n private globalConfig: SkyAutonumericOptionsProvider,\n private renderer: Renderer2,\n private changeDetector: ChangeDetectorRef\n ) {\n this.createAutonumericInstance();\n }\n\n public ngOnInit(): void {\n // Ensure that we set the global config even if no local config has been given.\n if (!this.autonumericOptions) {\n this.autonumericOptions = this.globalConfig.getConfig();\n }\n this.updateAutonumericInstance();\n\n fromEvent(this.elementRef.nativeElement, 'keyup')\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(() => {\n const numericValue: number | undefined = this.getNumericValue();\n\n /* istanbul ignore else */\n if (this.value !== numericValue) {\n this.value = numericValue;\n this.onChange(numericValue);\n }\n\n /* istanbul ignore else */\n if (this.control && !this.control.dirty) {\n this.control.markAsDirty();\n }\n\n this.changeDetector.markForCheck();\n });\n }\n\n public ngOnDestroy(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n /**\n * Implemented as part of ControlValueAccessor.\n */\n public setDisabledState(value: boolean): void {\n this.renderer.setProperty(this.elementRef.nativeElement, 'disabled', value);\n }\n\n public writeValue(value: number): void {\n\n if (this.value !== value) {\n this.value = value;\n this.onChange(value);\n\n // Mark the control as \"pristine\" if it is initialized with a value.\n const initializedWithValue = this.isFirstChange && this.control && this.value !== null;\n if (initializedWithValue) {\n this.isFirstChange = false;\n this.control.markAsPristine();\n }\n }\n\n const isNumber = typeof value === 'number' && value !== null && value !== undefined;\n if (isNumber) {\n this.autonumericInstance.set(value);\n } else {\n this.autonumericInstance.clear();\n }\n }\n\n public validate(control: AbstractControl): ValidationErrors | null {\n const noErrors: null = null; // tslint:disable-line: no-null-keyword\n\n if (!this.control) {\n this.control = control;\n }\n\n if (control.value === null || control.value === undefined) {\n return noErrors;\n }\n\n if (typeof control.value !== 'number') {\n return {\n 'notTypeOfNumber': { value: control.value }\n };\n }\n\n return noErrors;\n }\n\n public registerOnChange(fn: (value: number) => void): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n @HostListener('blur')\n public onBlur(): void {\n this.onTouched();\n }\n\n private getNumericValue(): number | undefined {\n const inputValue = this.getInputValue();\n const numericValue = (inputValue && !this.isInputValueTheCurrencySymbol(inputValue))\n ? this.autonumericInstance.getNumber()\n : undefined;\n\n return numericValue;\n }\n\n /**\n * Due to AutoNumeric's hover logic - when AutoNumeric has a currency symbol the value\n * that we get back on empty fields will be the currency symbol.\n * The following logic ensures that we don't accidentally set\n * a form value when the only input was the programatically-added currency symbol.\n */\n private isInputValueTheCurrencySymbol(inputValue: string): boolean {\n /* istanbul ignore next */\n const currencySymbol = ((this.autonumericOptions as AutoNumeric.Options)?.currencySymbol ?? '').trim();\n return (currencySymbol && inputValue === currencySymbol);\n }\n\n private getInputValue(): string {\n return this.elementRef.nativeElement.value;\n }\n\n private createAutonumericInstance(): void {\n this.autonumericInstance = new AutoNumeric(this.elementRef.nativeElement);\n }\n\n private updateAutonumericInstance(): void {\n this.autonumericInstance.update(this.autonumericOptions as AutoNumeric.Options);\n }\n\n private mergeOptions(value: SkyAutonumericOptions): SkyAutonumericOptions {\n const globalOptions = this.globalConfig.getConfig();\n\n let newOptions: SkyAutonumericOptions = {};\n if (typeof value === 'string') {\n const predefinedOptions = AutoNumeric.getPredefinedOptions();\n newOptions = predefinedOptions[value as keyof AutoNumeric.Options] as AutoNumeric.Options;\n } else {\n newOptions = value;\n }\n\n return Object.assign(\n {},\n globalOptions,\n newOptions\n );\n }\n\n /* istanbul ignore next */\n private onChange = (_: number) => { };\n /* istanbul ignore next */\n private onTouched = () => { };\n}\n","import {\n CommonModule\n} from '@angular/common';\n\nimport {\n NgModule\n} from '@angular/core';\n\nimport {\n FormsModule,\n ReactiveFormsModule\n} from '@angular/forms';\n\nimport {\n SkyAutonumericDirective\n} from './autonumeric.directive';\n\n@NgModule({\n declarations: [\n SkyAutonumericDirective\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule\n ],\n exports: [\n SkyAutonumericDirective\n ]\n})\nexport class SkyAutonumericModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["Injectable","NG_VALUE_ACCESSOR","forwardRef","NG_VALIDATORS","Subject","fromEvent","takeUntil","AutoNumeric","Directive","Input","HostListener","CommonModule","FormsModule","ReactiveFormsModule","NgModule"],"mappings":"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"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* Provides options to the underlying [autoNumeric utility](https://github.com/autoNumeric/autoNumeric).
|
|
5
|
-
* This can set global options on multiple input fields.
|
|
6
|
-
*/
|
|
7
|
-
export class SkyAutonumericOptionsProvider {
|
|
8
|
-
/**
|
|
9
|
-
* Specifies the value for a settings object to pass to the autoNumeric utility.
|
|
10
|
-
* This overrides any default options specified by the `skyAutonumeric` attribute.
|
|
11
|
-
*/
|
|
12
|
-
getConfig() {
|
|
13
|
-
return {};
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
SkyAutonumericOptionsProvider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyAutonumericOptionsProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
17
|
-
SkyAutonumericOptionsProvider.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyAutonumericOptionsProvider, providedIn: 'root' });
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyAutonumericOptionsProvider, decorators: [{
|
|
19
|
-
type: Injectable,
|
|
20
|
-
args: [{
|
|
21
|
-
providedIn: 'root'
|
|
22
|
-
}]
|
|
23
|
-
}] });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b251bWVyaWMtb3B0aW9ucy1wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NreS1hdXRvbnVtZXJpYy9zcmMvbW9kdWxlcy9hdXRvbnVtZXJpYy9hdXRvbnVtZXJpYy1vcHRpb25zLXByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxVQUFVLEVBQ1gsTUFBTSxlQUFlLENBQUM7O0FBTXZCOzs7R0FHRztBQUlILE1BQU0sT0FBTyw2QkFBNkI7SUFFeEM7OztPQUdHO0lBQ0ksU0FBUztRQUNkLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzs7MEhBUlUsNkJBQTZCOzhIQUE3Qiw2QkFBNkIsY0FGNUIsTUFBTTsyRkFFUCw2QkFBNkI7a0JBSHpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSW5qZWN0YWJsZVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgU2t5QXV0b251bWVyaWNPcHRpb25zXG59IGZyb20gJy4vYXV0b251bWVyaWMtb3B0aW9ucyc7XG5cbi8qKlxuICogUHJvdmlkZXMgb3B0aW9ucyB0byB0aGUgdW5kZXJseWluZyBbYXV0b051bWVyaWMgdXRpbGl0eV0oaHR0cHM6Ly9naXRodWIuY29tL2F1dG9OdW1lcmljL2F1dG9OdW1lcmljKS5cbiAqIFRoaXMgY2FuIHNldCBnbG9iYWwgb3B0aW9ucyBvbiBtdWx0aXBsZSBpbnB1dCBmaWVsZHMuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFNreUF1dG9udW1lcmljT3B0aW9uc1Byb3ZpZGVyIHtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSB2YWx1ZSBmb3IgYSBzZXR0aW5ncyBvYmplY3QgdG8gcGFzcyB0byB0aGUgYXV0b051bWVyaWMgdXRpbGl0eS5cbiAgICogVGhpcyBvdmVycmlkZXMgYW55IGRlZmF1bHQgb3B0aW9ucyBzcGVjaWZpZWQgYnkgdGhlIGBza3lBdXRvbnVtZXJpY2AgYXR0cmlidXRlLlxuICAgKi9cbiAgcHVibGljIGdldENvbmZpZygpOiBTa3lBdXRvbnVtZXJpY09wdGlvbnMge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b251bWVyaWMtb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NreS1hdXRvbnVtZXJpYy9zcmMvbW9kdWxlcy9hdXRvbnVtZXJpYy9hdXRvbnVtZXJpYy1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQXV0b051bWVyaWMgZnJvbSAnYXV0b251bWVyaWMnO1xuXG4vKipcbiAqIFNwZWNpZmllcyBjdXN0b20gb3B0aW9ucyB0byBwcm92aWRlIGRpcmVjdGx5IHRvIHRoZSB1bmRlcmx5aW5nIFthdXRvTnVtZXJpYyB1dGlsaXR5XShodHRwczovL2dpdGh1Yi5jb20vYXV0b051bWVyaWMvYXV0b051bWVyaWMpLlxuICogVGhlIHZhbHVlIGNhbiBiZSBzZXQgdG8gYHN0cmluZ2AsIHdoaWNoIGlzIGFuIGFsaWFzIHRoYXQgcmVwcmVzZW50c1xuICogYSBbc2V0IG9mIHByZWRlZmluZWQgc2V0IG9mIG9wdGlvbnNdKGh0dHBzOi8vZ2l0aHViLmNvbS9hdXRvTnVtZXJpYy9hdXRvTnVtZXJpYyNwcmVkZWZpbmVkLW9wdGlvbnMpXG4gKiBmb3IgYSBjdXJyZW5jeSBvciBsYW5ndWFnZSwgb3IgYE9wdGlvbnNgLCB3aGljaCBpcyBhXG4gKiBbY3VzdG9tIHNldCBvZiBvcHRpb25zXShodHRwczovL2dpdGh1Yi5jb20vYXV0b051bWVyaWMvYXV0b051bWVyaWMjb3B0aW9ucylcbiAqIHRoYXQgb3ZlcnJpZGUgYW55IGRlZmF1bHQgb3B0aW9ucyB0aGF0IHRoZSBgc2t5QXV0b251bWVyaWNgIGF0dHJpYnV0ZSBzcGVjaWZpZXMuXG4gKi9cbmV4cG9ydCB0eXBlIFNreUF1dG9udW1lcmljT3B0aW9ucyA9IHN0cmluZyB8IGtleW9mIEF1dG9OdW1lcmljLlByZWRlZmluZWRPcHRpb25zIHwgQXV0b051bWVyaWMuT3B0aW9ucztcbiJdfQ==
|
|
@@ -1,181 +0,0 @@
|
|
|
1
|
-
import { Directive, forwardRef, HostListener, Input } from '@angular/core';
|
|
2
|
-
import { fromEvent, Subject } from 'rxjs';
|
|
3
|
-
import { takeUntil } from 'rxjs/operators';
|
|
4
|
-
import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
5
|
-
import AutoNumeric from 'autonumeric';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "./autonumeric-options-provider";
|
|
8
|
-
// tslint:disable:no-forward-ref no-use-before-declare
|
|
9
|
-
const SKY_AUTONUMERIC_VALUE_ACCESSOR = {
|
|
10
|
-
provide: NG_VALUE_ACCESSOR,
|
|
11
|
-
useExisting: forwardRef(() => SkyAutonumericDirective),
|
|
12
|
-
multi: true
|
|
13
|
-
};
|
|
14
|
-
const SKY_AUTONUMERIC_VALIDATOR = {
|
|
15
|
-
provide: NG_VALIDATORS,
|
|
16
|
-
useExisting: forwardRef(() => SkyAutonumericDirective),
|
|
17
|
-
multi: true
|
|
18
|
-
};
|
|
19
|
-
// tslint:enable
|
|
20
|
-
/**
|
|
21
|
-
* Wraps the [autoNumeric utility](https://github.com/autoNumeric/autoNumeric) to format
|
|
22
|
-
* any type of number, including currency.
|
|
23
|
-
*/
|
|
24
|
-
export class SkyAutonumericDirective {
|
|
25
|
-
constructor(elementRef, globalConfig, renderer, changeDetector) {
|
|
26
|
-
this.elementRef = elementRef;
|
|
27
|
-
this.globalConfig = globalConfig;
|
|
28
|
-
this.renderer = renderer;
|
|
29
|
-
this.changeDetector = changeDetector;
|
|
30
|
-
this.isFirstChange = true;
|
|
31
|
-
this.ngUnsubscribe = new Subject();
|
|
32
|
-
/* istanbul ignore next */
|
|
33
|
-
this.onChange = (_) => { };
|
|
34
|
-
/* istanbul ignore next */
|
|
35
|
-
this.onTouched = () => { };
|
|
36
|
-
this.createAutonumericInstance();
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Assigns the name of a property from `SkyAutonumericOptionsProvider`.
|
|
40
|
-
*/
|
|
41
|
-
set skyAutonumeric(value) {
|
|
42
|
-
this.autonumericOptions = this.mergeOptions(value);
|
|
43
|
-
this.updateAutonumericInstance();
|
|
44
|
-
}
|
|
45
|
-
ngOnInit() {
|
|
46
|
-
// Ensure that we set the global config even if no local config has been given.
|
|
47
|
-
if (!this.autonumericOptions) {
|
|
48
|
-
this.autonumericOptions = this.globalConfig.getConfig();
|
|
49
|
-
}
|
|
50
|
-
this.updateAutonumericInstance();
|
|
51
|
-
fromEvent(this.elementRef.nativeElement, 'keyup')
|
|
52
|
-
.pipe(takeUntil(this.ngUnsubscribe))
|
|
53
|
-
.subscribe(() => {
|
|
54
|
-
const numericValue = this.getNumericValue();
|
|
55
|
-
/* istanbul ignore else */
|
|
56
|
-
if (this.value !== numericValue) {
|
|
57
|
-
this.value = numericValue;
|
|
58
|
-
this.onChange(numericValue);
|
|
59
|
-
}
|
|
60
|
-
/* istanbul ignore else */
|
|
61
|
-
if (this.control && !this.control.dirty) {
|
|
62
|
-
this.control.markAsDirty();
|
|
63
|
-
}
|
|
64
|
-
this.changeDetector.markForCheck();
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
ngOnDestroy() {
|
|
68
|
-
this.ngUnsubscribe.next();
|
|
69
|
-
this.ngUnsubscribe.complete();
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Implemented as part of ControlValueAccessor.
|
|
73
|
-
*/
|
|
74
|
-
setDisabledState(value) {
|
|
75
|
-
this.renderer.setProperty(this.elementRef.nativeElement, 'disabled', value);
|
|
76
|
-
}
|
|
77
|
-
writeValue(value) {
|
|
78
|
-
if (this.value !== value) {
|
|
79
|
-
this.value = value;
|
|
80
|
-
this.onChange(value);
|
|
81
|
-
// Mark the control as "pristine" if it is initialized with a value.
|
|
82
|
-
const initializedWithValue = this.isFirstChange && this.control && this.value !== null;
|
|
83
|
-
if (initializedWithValue) {
|
|
84
|
-
this.isFirstChange = false;
|
|
85
|
-
this.control.markAsPristine();
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
const isNumber = typeof value === 'number' && value !== null && value !== undefined;
|
|
89
|
-
if (isNumber) {
|
|
90
|
-
this.autonumericInstance.set(value);
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
this.autonumericInstance.clear();
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
validate(control) {
|
|
97
|
-
const noErrors = null; // tslint:disable-line: no-null-keyword
|
|
98
|
-
if (!this.control) {
|
|
99
|
-
this.control = control;
|
|
100
|
-
}
|
|
101
|
-
if (control.value === null || control.value === undefined) {
|
|
102
|
-
return noErrors;
|
|
103
|
-
}
|
|
104
|
-
if (typeof control.value !== 'number') {
|
|
105
|
-
return {
|
|
106
|
-
'notTypeOfNumber': { value: control.value }
|
|
107
|
-
};
|
|
108
|
-
}
|
|
109
|
-
return noErrors;
|
|
110
|
-
}
|
|
111
|
-
registerOnChange(fn) {
|
|
112
|
-
this.onChange = fn;
|
|
113
|
-
}
|
|
114
|
-
registerOnTouched(fn) {
|
|
115
|
-
this.onTouched = fn;
|
|
116
|
-
}
|
|
117
|
-
onBlur() {
|
|
118
|
-
this.onTouched();
|
|
119
|
-
}
|
|
120
|
-
getNumericValue() {
|
|
121
|
-
const inputValue = this.getInputValue();
|
|
122
|
-
const numericValue = (inputValue && !this.isInputValueTheCurrencySymbol(inputValue))
|
|
123
|
-
? this.autonumericInstance.getNumber()
|
|
124
|
-
: undefined;
|
|
125
|
-
return numericValue;
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Due to AutoNumeric's hover logic - when AutoNumeric has a currency symbol the value
|
|
129
|
-
* that we get back on empty fields will be the currency symbol.
|
|
130
|
-
* The following logic ensures that we don't accidentally set
|
|
131
|
-
* a form value when the only input was the programatically-added currency symbol.
|
|
132
|
-
*/
|
|
133
|
-
isInputValueTheCurrencySymbol(inputValue) {
|
|
134
|
-
var _a, _b;
|
|
135
|
-
/* istanbul ignore next */
|
|
136
|
-
const currencySymbol = ((_b = (_a = this.autonumericOptions) === null || _a === void 0 ? void 0 : _a.currencySymbol) !== null && _b !== void 0 ? _b : '').trim();
|
|
137
|
-
return (currencySymbol && inputValue === currencySymbol);
|
|
138
|
-
}
|
|
139
|
-
getInputValue() {
|
|
140
|
-
return this.elementRef.nativeElement.value;
|
|
141
|
-
}
|
|
142
|
-
createAutonumericInstance() {
|
|
143
|
-
this.autonumericInstance = new AutoNumeric(this.elementRef.nativeElement);
|
|
144
|
-
}
|
|
145
|
-
updateAutonumericInstance() {
|
|
146
|
-
this.autonumericInstance.update(this.autonumericOptions);
|
|
147
|
-
}
|
|
148
|
-
mergeOptions(value) {
|
|
149
|
-
const globalOptions = this.globalConfig.getConfig();
|
|
150
|
-
let newOptions = {};
|
|
151
|
-
if (typeof value === 'string') {
|
|
152
|
-
const predefinedOptions = AutoNumeric.getPredefinedOptions();
|
|
153
|
-
newOptions = predefinedOptions[value];
|
|
154
|
-
}
|
|
155
|
-
else {
|
|
156
|
-
newOptions = value;
|
|
157
|
-
}
|
|
158
|
-
return Object.assign({}, globalOptions, newOptions);
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
SkyAutonumericDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyAutonumericDirective, deps: [{ token: i0.ElementRef }, { token: i1.SkyAutonumericOptionsProvider }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
162
|
-
SkyAutonumericDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.7", type: SkyAutonumericDirective, selector: "input[skyAutonumeric]", inputs: { skyAutonumeric: "skyAutonumeric" }, host: { listeners: { "blur": "onBlur()" } }, providers: [
|
|
163
|
-
SKY_AUTONUMERIC_VALUE_ACCESSOR,
|
|
164
|
-
SKY_AUTONUMERIC_VALIDATOR
|
|
165
|
-
], ngImport: i0 });
|
|
166
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyAutonumericDirective, decorators: [{
|
|
167
|
-
type: Directive,
|
|
168
|
-
args: [{
|
|
169
|
-
selector: 'input[skyAutonumeric]',
|
|
170
|
-
providers: [
|
|
171
|
-
SKY_AUTONUMERIC_VALUE_ACCESSOR,
|
|
172
|
-
SKY_AUTONUMERIC_VALIDATOR
|
|
173
|
-
]
|
|
174
|
-
}]
|
|
175
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.SkyAutonumericOptionsProvider }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { skyAutonumeric: [{
|
|
176
|
-
type: Input
|
|
177
|
-
}], onBlur: [{
|
|
178
|
-
type: HostListener,
|
|
179
|
-
args: ['blur']
|
|
180
|
-
}] } });
|
|
181
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b251bWVyaWMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2t5LWF1dG9udW1lcmljL3NyYy9tb2R1bGVzL2F1dG9udW1lcmljL2F1dG9udW1lcmljLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUVULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUlOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCxTQUFTLEVBQ1QsT0FBTyxFQUNSLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUNMLFNBQVMsRUFDVixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFHTCxhQUFhLEVBQ2IsaUJBQWlCLEVBR2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFVeEIsT0FBTyxXQUFXLE1BQU0sYUFBYSxDQUFDOzs7QUFFdEMsc0RBQXNEO0FBQ3RELE1BQU0sOEJBQThCLEdBQUc7SUFDckMsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDO0lBQ3RELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQUVGLE1BQU0seUJBQXlCLEdBQUc7SUFDaEMsT0FBTyxFQUFFLGFBQWE7SUFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztJQUN0RCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFDRixnQkFBZ0I7QUFFZDs7O0dBR0c7QUFRTCxNQUFNLE9BQU8sdUJBQXVCO0lBbUJsQyxZQUNVLFVBQXNCLEVBQ3RCLFlBQTJDLEVBQzNDLFFBQW1CLEVBQ25CLGNBQWlDO1FBSGpDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQStCO1FBQzNDLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsbUJB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LHlCQUF5QjtLQUMxQjsyRkFFVSx1QkFBdUI7a0JBUGpDLFNBQVM7bUJBQUM7b0JBQ1gsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsU0FBUyxFQUFFO3dCQUNULDhCQUE4Qjt3QkFDOUIseUJBQXlCO3FCQUMxQjtpQkFDRjtxTUFPWSxjQUFjO3NCQUR4QixLQUFLO2dCQWlIQyxNQUFNO3NCQURaLFlBQVk7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIGZvcndhcmRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBSZW5kZXJlcjJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIGZyb21FdmVudCxcbiAgU3ViamVjdFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgdGFrZVVudGlsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgTkdfVkFMSURBVE9SUyxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIFZhbGlkYXRvclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7XG4gIFNreUF1dG9udW1lcmljT3B0aW9uc1xufSBmcm9tICcuL2F1dG9udW1lcmljLW9wdGlvbnMnO1xuXG5pbXBvcnQge1xuICBTa3lBdXRvbnVtZXJpY09wdGlvbnNQcm92aWRlclxufSBmcm9tICcuL2F1dG9udW1lcmljLW9wdGlvbnMtcHJvdmlkZXInO1xuXG5pbXBvcnQgQXV0b051bWVyaWMgZnJvbSAnYXV0b251bWVyaWMnO1xuXG4vLyB0c2xpbnQ6ZGlzYWJsZTpuby1mb3J3YXJkLXJlZiBuby11c2UtYmVmb3JlLWRlY2xhcmVcbmNvbnN0IFNLWV9BVVRPTlVNRVJJQ19WQUxVRV9BQ0NFU1NPUiA9IHtcbiAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNreUF1dG9udW1lcmljRGlyZWN0aXZlKSxcbiAgbXVsdGk6IHRydWVcbn07XG5cbmNvbnN0IFNLWV9BVVRPTlVNRVJJQ19WQUxJREFUT1IgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNreUF1dG9udW1lcmljRGlyZWN0aXZlKSxcbiAgbXVsdGk6IHRydWVcbn07XG4vLyB0c2xpbnQ6ZW5hYmxlXG5cbiAgLyoqXG4gICAqIFdyYXBzIHRoZSBbYXV0b051bWVyaWMgdXRpbGl0eV0oaHR0cHM6Ly9naXRodWIuY29tL2F1dG9OdW1lcmljL2F1dG9OdW1lcmljKSB0byBmb3JtYXRcbiAgICogYW55IHR5cGUgb2YgbnVtYmVyLCBpbmNsdWRpbmcgY3VycmVuY3kuXG4gICAqL1xuICBARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdpbnB1dFtza3lBdXRvbnVtZXJpY10nLFxuICBwcm92aWRlcnM6IFtcbiAgICBTS1lfQVVUT05VTUVSSUNfVkFMVUVfQUNDRVNTT1IsXG4gICAgU0tZX0FVVE9OVU1FUklDX1ZBTElEQVRPUlxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFNreUF1dG9udW1lcmljRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3Ige1xuXG4gIC8qKlxuICAgKiBBc3NpZ25zIHRoZSBuYW1lIG9mIGEgcHJvcGVydHkgZnJvbSBgU2t5QXV0b251bWVyaWNPcHRpb25zUHJvdmlkZXJgLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBza3lBdXRvbnVtZXJpYyh2YWx1ZTogU2t5QXV0b251bWVyaWNPcHRpb25zKSB7XG4gICAgdGhpcy5hdXRvbnVtZXJpY09wdGlvbnMgPSB0aGlzLm1lcmdlT3B0aW9ucyh2YWx1ZSk7XG4gICAgdGhpcy51cGRhdGVBdXRvbnVtZXJpY0luc3RhbmNlKCk7XG4gIH1cblxuICBwcml2YXRlIGF1dG9udW1lcmljSW5zdGFuY2U6IEF1dG9OdW1lcmljO1xuICBwcml2YXRlIGF1dG9udW1lcmljT3B0aW9uczogU2t5QXV0b251bWVyaWNPcHRpb25zO1xuICBwcml2YXRlIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDtcbiAgcHJpdmF0ZSBpc0ZpcnN0Q2hhbmdlID0gdHJ1ZTtcbiAgcHJpdmF0ZSB2YWx1ZTogbnVtYmVyO1xuXG4gIHByaXZhdGUgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgZ2xvYmFsQ29uZmlnOiBTa3lBdXRvbnVtZXJpY09wdGlvbnNQcm92aWRlcixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgdGhpcy5jcmVhdGVBdXRvbnVtZXJpY0luc3RhbmNlKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gRW5zdXJlIHRoYXQgd2Ugc2V0IHRoZSBnbG9iYWwgY29uZmlnIGV2ZW4gaWYgbm8gbG9jYWwgY29uZmlnIGhhcyBiZWVuIGdpdmVuLlxuICAgIGlmICghdGhpcy5hdXRvbnVtZXJpY09wdGlvbnMpIHtcbiAgICAgIHRoaXMuYXV0b251bWVyaWNPcHRpb25zID0gdGhpcy5nbG9iYWxDb25maWcuZ2V0Q29uZmlnKCk7XG4gICAgfVxuICAgIHRoaXMudXBkYXRlQXV0b251bWVyaWNJbnN0YW5jZSgpO1xuXG4gICAgZnJvbUV2ZW50KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAna2V5dXAnKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgY29uc3QgbnVtZXJpY1ZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQgPSB0aGlzLmdldE51bWVyaWNWYWx1ZSgpO1xuXG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmICh0aGlzLnZhbHVlICE9PSBudW1lcmljVmFsdWUpIHtcbiAgICAgICAgICB0aGlzLnZhbHVlID0gbnVtZXJpY1ZhbHVlO1xuICAgICAgICAgIHRoaXMub25DaGFuZ2UobnVtZXJpY1ZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wgJiYgIXRoaXMuY29udHJvbC5kaXJ0eSkge1xuICAgICAgICAgIHRoaXMuY29udHJvbC5tYXJrQXNEaXJ0eSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBDb250cm9sVmFsdWVBY2Nlc3Nvci5cbiAgICovXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2Rpc2FibGVkJywgdmFsdWUpO1xuICB9XG5cbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IG51bWJlcik6IHZvaWQge1xuXG4gICAgaWYgKHRoaXMudmFsdWUgIT09IHZhbHVlKSB7XG4gICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcblxuICAgICAgLy8gTWFyayB0aGUgY29udHJvbCBhcyBcInByaXN0aW5lXCIgaWYgaXQgaXMgaW5pdGlhbGl6ZWQgd2l0aCBhIHZhbHVlLlxuICAgICAgY29uc3QgaW5pdGlhbGl6ZWRXaXRoVmFsdWUgPSB0aGlzLmlzRmlyc3RDaGFuZ2UgJiYgdGhpcy5jb250cm9sICYmIHRoaXMudmFsdWUgIT09IG51bGw7XG4gICAgICBpZiAoaW5pdGlhbGl6ZWRXaXRoVmFsdWUpIHtcbiAgICAgICAgdGhpcy5pc0ZpcnN0Q2hhbmdlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY29udHJvbC5tYXJrQXNQcmlzdGluZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGlzTnVtYmVyID0gdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyAmJiB2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkO1xuICAgIGlmIChpc051bWJlcikge1xuICAgICAgdGhpcy5hdXRvbnVtZXJpY0luc3RhbmNlLnNldCh2YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYXV0b251bWVyaWNJbnN0YW5jZS5jbGVhcigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgY29uc3Qgbm9FcnJvcnM6IG51bGwgPSBudWxsOyAvLyB0c2xpbnQ6ZGlzYWJsZS1saW5lOiBuby1udWxsLWtleXdvcmRcblxuICAgIGlmICghdGhpcy5jb250cm9sKSB7XG4gICAgICB0aGlzLmNvbnRyb2wgPSBjb250cm9sO1xuICAgIH1cblxuICAgIGlmIChjb250cm9sLnZhbHVlID09PSBudWxsIHx8IGNvbnRyb2wudmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIG5vRXJyb3JzO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgY29udHJvbC52YWx1ZSAhPT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgICdub3RUeXBlT2ZOdW1iZXInOiB7IHZhbHVlOiBjb250cm9sLnZhbHVlIH1cbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIG5vRXJyb3JzO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogbnVtYmVyKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2JsdXInKVxuICBwdWJsaWMgb25CbHVyKCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gIH1cblxuICBwcml2YXRlIGdldE51bWVyaWNWYWx1ZSgpOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGlucHV0VmFsdWUgPSB0aGlzLmdldElucHV0VmFsdWUoKTtcbiAgICBjb25zdCBudW1lcmljVmFsdWUgPSAoaW5wdXRWYWx1ZSAmJiAhdGhpcy5pc0lucHV0VmFsdWVUaGVDdXJyZW5jeVN5bWJvbChpbnB1dFZhbHVlKSlcbiAgICAgID8gdGhpcy5hdXRvbnVtZXJpY0luc3RhbmNlLmdldE51bWJlcigpXG4gICAgICA6IHVuZGVmaW5lZDtcblxuICAgIHJldHVybiBudW1lcmljVmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogRHVlIHRvIEF1dG9OdW1lcmljJ3MgaG92ZXIgbG9naWMgLSB3aGVuIEF1dG9OdW1lcmljIGhhcyBhIGN1cnJlbmN5IHN5bWJvbCB0aGUgdmFsdWVcbiAgICogdGhhdCB3ZSBnZXQgYmFjayBvbiBlbXB0eSBmaWVsZHMgd2lsbCBiZSB0aGUgY3VycmVuY3kgc3ltYm9sLlxuICAgKiBUaGUgZm9sbG93aW5nIGxvZ2ljIGVuc3VyZXMgdGhhdCB3ZSBkb24ndCBhY2NpZGVudGFsbHkgc2V0XG4gICAqIGEgZm9ybSB2YWx1ZSB3aGVuIHRoZSBvbmx5IGlucHV0IHdhcyB0aGUgcHJvZ3JhbWF0aWNhbGx5LWFkZGVkIGN1cnJlbmN5IHN5bWJvbC5cbiAgICovXG4gIHByaXZhdGUgaXNJbnB1dFZhbHVlVGhlQ3VycmVuY3lTeW1ib2woaW5wdXRWYWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBjb25zdCBjdXJyZW5jeVN5bWJvbCA9ICgodGhpcy5hdXRvbnVtZXJpY09wdGlvbnMgYXMgQXV0b051bWVyaWMuT3B0aW9ucyk/LmN1cnJlbmN5U3ltYm9sID8/ICcnKS50cmltKCk7XG4gICAgcmV0dXJuIChjdXJyZW5jeVN5bWJvbCAmJiBpbnB1dFZhbHVlID09PSBjdXJyZW5jeVN5bWJvbCk7XG4gIH1cblxuICBwcml2YXRlIGdldElucHV0VmFsdWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWU7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUF1dG9udW1lcmljSW5zdGFuY2UoKTogdm9pZCB7XG4gICAgdGhpcy5hdXRvbnVtZXJpY0luc3RhbmNlID0gbmV3IEF1dG9OdW1lcmljKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQXV0b251bWVyaWNJbnN0YW5jZSgpOiB2b2lkIHtcbiAgICB0aGlzLmF1dG9udW1lcmljSW5zdGFuY2UudXBkYXRlKHRoaXMuYXV0b251bWVyaWNPcHRpb25zIGFzIEF1dG9OdW1lcmljLk9wdGlvbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBtZXJnZU9wdGlvbnModmFsdWU6IFNreUF1dG9udW1lcmljT3B0aW9ucyk6IFNreUF1dG9udW1lcmljT3B0aW9ucyB7XG4gICAgY29uc3QgZ2xvYmFsT3B0aW9ucyA9IHRoaXMuZ2xvYmFsQ29uZmlnLmdldENvbmZpZygpO1xuXG4gICAgbGV0IG5ld09wdGlvbnM6IFNreUF1dG9udW1lcmljT3B0aW9ucyA9IHt9O1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCBwcmVkZWZpbmVkT3B0aW9ucyA9IEF1dG9OdW1lcmljLmdldFByZWRlZmluZWRPcHRpb25zKCk7XG4gICAgICBuZXdPcHRpb25zID0gcHJlZGVmaW5lZE9wdGlvbnNbdmFsdWUgYXMga2V5b2YgQXV0b051bWVyaWMuT3B0aW9uc10gYXMgQXV0b051bWVyaWMuT3B0aW9ucztcbiAgICB9IGVsc2Uge1xuICAgICAgbmV3T3B0aW9ucyA9IHZhbHVlO1xuICAgIH1cblxuICAgIHJldHVybiBPYmplY3QuYXNzaWduKFxuICAgICAge30sXG4gICAgICBnbG9iYWxPcHRpb25zLFxuICAgICAgbmV3T3B0aW9uc1xuICAgICk7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBwcml2YXRlIG9uQ2hhbmdlID0gKF86IG51bWJlcikgPT4geyB9O1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBwcml2YXRlIG9uVG91Y2hlZCA9ICgpID0+IHsgfTtcbn1cbiJdfQ==
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
-
import { SkyAutonumericDirective } from './autonumeric.directive';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class SkyAutonumericModule {
|
|
7
|
-
}
|
|
8
|
-
SkyAutonumericModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyAutonumericModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
-
SkyAutonumericModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyAutonumericModule, declarations: [SkyAutonumericDirective], imports: [CommonModule,
|
|
10
|
-
FormsModule,
|
|
11
|
-
ReactiveFormsModule], exports: [SkyAutonumericDirective] });
|
|
12
|
-
SkyAutonumericModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyAutonumericModule, imports: [[
|
|
13
|
-
CommonModule,
|
|
14
|
-
FormsModule,
|
|
15
|
-
ReactiveFormsModule
|
|
16
|
-
]] });
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyAutonumericModule, decorators: [{
|
|
18
|
-
type: NgModule,
|
|
19
|
-
args: [{
|
|
20
|
-
declarations: [
|
|
21
|
-
SkyAutonumericDirective
|
|
22
|
-
],
|
|
23
|
-
imports: [
|
|
24
|
-
CommonModule,
|
|
25
|
-
FormsModule,
|
|
26
|
-
ReactiveFormsModule
|
|
27
|
-
],
|
|
28
|
-
exports: [
|
|
29
|
-
SkyAutonumericDirective
|
|
30
|
-
]
|
|
31
|
-
}]
|
|
32
|
-
}] });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b251bWVyaWMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2t5LWF1dG9udW1lcmljL3NyYy9tb2R1bGVzL2F1dG9udW1lcmljL2F1dG9udW1lcmljLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsWUFBWSxFQUNiLE1BQU0saUJBQWlCLENBQUM7QUFFekIsT0FBTyxFQUNMLFFBQVEsRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0wsV0FBVyxFQUNYLG1CQUFtQixFQUNwQixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFDTCx1QkFBdUIsRUFDeEIsTUFBTSx5QkFBeUIsQ0FBQzs7QUFlakMsTUFBTSxPQUFPLG9CQUFvQjs7aUhBQXBCLG9CQUFvQjtrSEFBcEIsb0JBQW9CLGlCQVg3Qix1QkFBdUIsYUFHdkIsWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUIsYUFHbkIsdUJBQXVCO2tIQUdkLG9CQUFvQixZQVR0QjtZQUNQLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1NBQ3BCOzJGQUtVLG9CQUFvQjtrQkFiaEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osdUJBQXVCO3FCQUN4QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjtxQkFDcEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHVCQUF1QjtxQkFDeEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21tb25Nb2R1bGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHtcbiAgTmdNb2R1bGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIEZvcm1zTW9kdWxlLFxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHtcbiAgU2t5QXV0b251bWVyaWNEaXJlY3RpdmVcbn0gZnJvbSAnLi9hdXRvbnVtZXJpYy5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBTa3lBdXRvbnVtZXJpY0RpcmVjdGl2ZVxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFNreUF1dG9udW1lcmljRGlyZWN0aXZlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU2t5QXV0b251bWVyaWNNb2R1bGUgeyB9XG4iXX0=
|
package/esm2015/public-api.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export * from './modules/autonumeric/autonumeric-options-provider';
|
|
2
|
-
export * from './modules/autonumeric/autonumeric-options';
|
|
3
|
-
export * from './modules/autonumeric/autonumeric.module';
|
|
4
|
-
// Components and directives must be exported to support Angular's "partial" Ivy compiler.
|
|
5
|
-
// Obscure names are used to indicate types are not part of the public API.
|
|
6
|
-
export { SkyAutonumericDirective as λ1 } from './modules/autonumeric/autonumeric.directive';
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3NreS1hdXRvbnVtZXJpYy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYywwQ0FBMEMsQ0FBQztBQUV6RCwwRkFBMEY7QUFDMUYsMkVBQTJFO0FBQzNFLE9BQU8sRUFBRSx1QkFBdUIsSUFBSSxFQUFFLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbW9kdWxlcy9hdXRvbnVtZXJpYy9hdXRvbnVtZXJpYy1vcHRpb25zLXByb3ZpZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kdWxlcy9hdXRvbnVtZXJpYy9hdXRvbnVtZXJpYy1vcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kdWxlcy9hdXRvbnVtZXJpYy9hdXRvbnVtZXJpYy5tb2R1bGUnO1xuXG4vLyBDb21wb25lbnRzIGFuZCBkaXJlY3RpdmVzIG11c3QgYmUgZXhwb3J0ZWQgdG8gc3VwcG9ydCBBbmd1bGFyJ3MgXCJwYXJ0aWFsXCIgSXZ5IGNvbXBpbGVyLlxuLy8gT2JzY3VyZSBuYW1lcyBhcmUgdXNlZCB0byBpbmRpY2F0ZSB0eXBlcyBhcmUgbm90IHBhcnQgb2YgdGhlIHB1YmxpYyBBUEkuXG5leHBvcnQgeyBTa3lBdXRvbnVtZXJpY0RpcmVjdGl2ZSBhcyDOuzEgfSBmcm9tICcuL21vZHVsZXMvYXV0b251bWVyaWMvYXV0b251bWVyaWMuZGlyZWN0aXZlJztcbiJdfQ==
|
package/public-api.d.ts
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from './modules/autonumeric/autonumeric-options-provider';
|
|
2
|
-
export * from './modules/autonumeric/autonumeric-options';
|
|
3
|
-
export * from './modules/autonumeric/autonumeric.module';
|
|
4
|
-
export { SkyAutonumericDirective as λ1 } from './modules/autonumeric/autonumeric.directive';
|