@rolatech/angular-common 0.1.0 → 0.2.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/esm2020/index.mjs CHANGED
@@ -3,6 +3,8 @@ export * from './lib/material.module';
3
3
  export * from './lib/interfaces/auth.interface';
4
4
  export * from './lib/interfaces/media.interface';
5
5
  export * from './lib/pipes/index';
6
+ export * from './lib/directive/index';
6
7
  export { APP_CONFIG } from './lib/tokens';
7
8
  export { AppConfig } from './lib/tokens';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY29tbW9uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsbUJBQW1CLENBQUM7QUFFbEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvYW5ndWxhci1jb21tb24ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21hdGVyaWFsLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL2F1dGguaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvbWVkaWEuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL2luZGV4JztcblxuZXhwb3J0IHsgQVBQX0NPTkZJRyB9IGZyb20gJy4vbGliL3Rva2Vucyc7XG5leHBvcnQgeyBBcHBDb25maWcgfSBmcm9tICcuL2xpYi90b2tlbnMnO1xuIl19
9
+ export { WINDOW } from './lib/window.token';
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY29tbW9uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx1QkFBdUIsQ0FBQztBQUV0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvYW5ndWxhci1jb21tb24ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21hdGVyaWFsLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL2F1dGguaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvbWVkaWEuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZS9pbmRleCc7XG5cbmV4cG9ydCB7IEFQUF9DT05GSUcgfSBmcm9tICcuL2xpYi90b2tlbnMnO1xuZXhwb3J0IHsgQXBwQ29uZmlnIH0gZnJvbSAnLi9saWIvdG9rZW5zJztcbmV4cG9ydCB7IFdJTkRPVyB9IGZyb20gJy4vbGliL3dpbmRvdy50b2tlbic7XG4iXX0=
@@ -4,46 +4,21 @@ import { COMMON_PIPES } from './pipes';
4
4
  import { HttpClientModule } from '@angular/common/http';
5
5
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
6
6
  import { MaterialModule } from './material.module';
7
+ import { COMMON_DIRECTIVES } from './directive';
7
8
  import * as i0 from "@angular/core";
8
9
  import * as i1 from "./pipes/prettyjson.pipe";
9
10
  import * as i2 from "./pipes/time.pipe";
11
+ import * as i3 from "./directive/decimal.directive";
10
12
  export class AngularCommonModule {
11
13
  }
12
14
  AngularCommonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: AngularCommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
- AngularCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0", ngImport: i0, type: AngularCommonModule, imports: [CommonModule,
14
- FormsModule,
15
- ReactiveFormsModule,
16
- HttpClientModule, i1.PrettyjsonPipe, i2.TimePipe], exports: [MaterialModule,
17
- CommonModule,
18
- FormsModule,
19
- ReactiveFormsModule,
20
- HttpClientModule, i1.PrettyjsonPipe, i2.TimePipe] });
21
- AngularCommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: AngularCommonModule, imports: [CommonModule,
22
- FormsModule,
23
- ReactiveFormsModule,
24
- HttpClientModule, MaterialModule,
25
- CommonModule,
26
- FormsModule,
27
- ReactiveFormsModule,
28
- HttpClientModule] });
15
+ AngularCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0", ngImport: i0, type: AngularCommonModule, imports: [CommonModule, FormsModule, ReactiveFormsModule, HttpClientModule, i1.PrettyjsonPipe, i2.TimePipe, i3.DecimalDirective], exports: [MaterialModule, CommonModule, FormsModule, ReactiveFormsModule, HttpClientModule, i1.PrettyjsonPipe, i2.TimePipe, i3.DecimalDirective] });
16
+ AngularCommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: AngularCommonModule, imports: [CommonModule, FormsModule, ReactiveFormsModule, HttpClientModule, MaterialModule, CommonModule, FormsModule, ReactiveFormsModule, HttpClientModule] });
29
17
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: AngularCommonModule, decorators: [{
30
18
  type: NgModule,
31
19
  args: [{
32
- imports: [
33
- CommonModule,
34
- FormsModule,
35
- ReactiveFormsModule,
36
- HttpClientModule,
37
- COMMON_PIPES,
38
- ],
39
- exports: [
40
- MaterialModule,
41
- CommonModule,
42
- FormsModule,
43
- ReactiveFormsModule,
44
- HttpClientModule,
45
- COMMON_PIPES,
46
- ],
20
+ imports: [CommonModule, FormsModule, ReactiveFormsModule, HttpClientModule, COMMON_PIPES, COMMON_DIRECTIVES],
21
+ exports: [MaterialModule, CommonModule, FormsModule, ReactiveFormsModule, HttpClientModule, COMMON_PIPES, COMMON_DIRECTIVES],
47
22
  }]
48
23
  }] });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1jb21tb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvbW1vbi9zcmMvbGliL2FuZ3VsYXItY29tbW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFtQm5ELE1BQU0sT0FBTyxtQkFBbUI7O2dIQUFuQixtQkFBbUI7aUhBQW5CLG1CQUFtQixZQWY1QixZQUFZO1FBQ1osV0FBVztRQUNYLG1CQUFtQjtRQUNuQixnQkFBZ0IsNkNBSWhCLGNBQWM7UUFDZCxZQUFZO1FBQ1osV0FBVztRQUNYLG1CQUFtQjtRQUNuQixnQkFBZ0I7aUhBSVAsbUJBQW1CLFlBZjVCLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLGdCQUFnQixFQUloQixjQUFjO1FBQ2QsWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsZ0JBQWdCOzJGQUlQLG1CQUFtQjtrQkFqQi9CLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGdCQUFnQjt3QkFDaEIsWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsY0FBYzt3QkFDZCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixnQkFBZ0I7d0JBQ2hCLFlBQVk7cUJBQ2I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENPTU1PTl9QSVBFUyB9IGZyb20gJy4vcGlwZXMnO1xuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuL21hdGVyaWFsLm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxuICAgIENPTU1PTl9QSVBFUyxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIE1hdGVyaWFsTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEh0dHBDbGllbnRNb2R1bGUsXG4gICAgQ09NTU9OX1BJUEVTLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBbmd1bGFyQ29tbW9uTW9kdWxlIHt9XG4iXX0=
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1jb21tb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvbW1vbi9zcmMvbGliL2FuZ3VsYXItY29tbW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDOzs7OztBQU1oRCxNQUFNLE9BQU8sbUJBQW1COztnSEFBbkIsbUJBQW1CO2lIQUFuQixtQkFBbUIsWUFIcEIsWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0Isa0VBQ2hFLGNBQWMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQjtpSEFFL0UsbUJBQW1CLFlBSHBCLFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQ2hFLGNBQWMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQjsyRkFFL0UsbUJBQW1CO2tCQUovQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixDQUFDO29CQUM1RyxPQUFPLEVBQUUsQ0FBQyxjQUFjLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLENBQUM7aUJBQzdIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDT01NT05fUElQRVMgfSBmcm9tICcuL3BpcGVzJztcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdGVyaWFsTW9kdWxlIH0gZnJvbSAnLi9tYXRlcmlhbC5tb2R1bGUnO1xuaW1wb3J0IHsgQ09NTU9OX0RJUkVDVElWRVMgfSBmcm9tICcuL2RpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBIdHRwQ2xpZW50TW9kdWxlLCBDT01NT05fUElQRVMsIENPTU1PTl9ESVJFQ1RJVkVTXSxcbiAgZXhwb3J0czogW01hdGVyaWFsTW9kdWxlLCBDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBIdHRwQ2xpZW50TW9kdWxlLCBDT01NT05fUElQRVMsIENPTU1PTl9ESVJFQ1RJVkVTXSxcbn0pXG5leHBvcnQgY2xhc3MgQW5ndWxhckNvbW1vbk1vZHVsZSB7fVxuIl19
@@ -0,0 +1,38 @@
1
+ import { Directive, ElementRef, HostListener } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class DecimalDirective {
4
+ constructor(el) {
5
+ this.el = el;
6
+ this.regex = new RegExp(/^\d*\.?\d{0,2}$/g);
7
+ // Allow decimal numbers and negative values
8
+ // Allow key codes for special events. Reflect :
9
+ // Backspace, tab, end, home
10
+ this.specialKeys = ['Backspace', 'Tab', 'End', 'Home', 'ArrowLeft', 'ArrowRight', 'Del', 'Delete'];
11
+ }
12
+ onKeyDown(event) {
13
+ console.log(this.el.nativeElement.value);
14
+ // Allow Backspace, tab, end, and home keys
15
+ if (this.specialKeys.indexOf(event.key) !== -1) {
16
+ return;
17
+ }
18
+ const current = this.el.nativeElement.value;
19
+ const position = this.el.nativeElement.selectionStart;
20
+ const next = [current.slice(0, position), event.key == 'Decimal' ? '.' : event.key, current.slice(position)].join('');
21
+ if (next && !String(next).match(this.regex)) {
22
+ event.preventDefault();
23
+ }
24
+ }
25
+ }
26
+ DecimalDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: DecimalDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
27
+ DecimalDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: DecimalDirective, isStandalone: true, selector: "[rolatechDecimal]", host: { listeners: { "keydown": "onKeyDown($event)" } }, ngImport: i0 });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: DecimalDirective, decorators: [{
29
+ type: Directive,
30
+ args: [{
31
+ selector: '[rolatechDecimal]',
32
+ standalone: true,
33
+ }]
34
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { onKeyDown: [{
35
+ type: HostListener,
36
+ args: ['keydown', ['$event']]
37
+ }] } });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjaW1hbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY29tbW9uL3NyYy9saWIvZGlyZWN0aXZlL2RlY2ltYWwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNcEUsTUFBTSxPQUFPLGdCQUFnQjtJQVEzQixZQUFvQixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQVAxQixVQUFLLEdBQUcsSUFBSSxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUUvQyw0Q0FBNEM7UUFDNUMsZ0RBQWdEO1FBQ2hELDRCQUE0QjtRQUNwQixnQkFBVyxHQUFrQixDQUFDLFdBQVcsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztJQUVoRixDQUFDO0lBRXRDLFNBQVMsQ0FBQyxLQUFvQjtRQUM1QixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLDJDQUEyQztRQUMzQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtZQUM5QyxPQUFPO1NBQ1I7UUFDRCxNQUFNLE9BQU8sR0FBVyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7UUFDcEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDO1FBQ3RELE1BQU0sSUFBSSxHQUFXLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxDQUFDLEdBQUcsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUN2SCxFQUFFLENBQ0gsQ0FBQztRQUNGLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDM0MsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQzs7NkdBeEJVLGdCQUFnQjtpR0FBaEIsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBSjVCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsVUFBVSxFQUFFLElBQUk7aUJBQ2pCO2lHQVdDLFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbcm9sYXRlY2hEZWNpbWFsXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIERlY2ltYWxEaXJlY3RpdmUge1xuICBwcml2YXRlIHJlZ2V4ID0gbmV3IFJlZ0V4cCgvXlxcZCpcXC4/XFxkezAsMn0kL2cpO1xuXG4gIC8vIEFsbG93IGRlY2ltYWwgbnVtYmVycyBhbmQgbmVnYXRpdmUgdmFsdWVzXG4gIC8vIEFsbG93IGtleSBjb2RlcyBmb3Igc3BlY2lhbCBldmVudHMuIFJlZmxlY3QgOlxuICAvLyBCYWNrc3BhY2UsIHRhYiwgZW5kLCBob21lXG4gIHByaXZhdGUgc3BlY2lhbEtleXM6IEFycmF5PHN0cmluZz4gPSBbJ0JhY2tzcGFjZScsICdUYWInLCAnRW5kJywgJ0hvbWUnLCAnQXJyb3dMZWZ0JywgJ0Fycm93UmlnaHQnLCAnRGVsJywgJ0RlbGV0ZSddO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHt9XG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBjb25zb2xlLmxvZyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQudmFsdWUpO1xuICAgIC8vIEFsbG93IEJhY2tzcGFjZSwgdGFiLCBlbmQsIGFuZCBob21lIGtleXNcbiAgICBpZiAodGhpcy5zcGVjaWFsS2V5cy5pbmRleE9mKGV2ZW50LmtleSkgIT09IC0xKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGN1cnJlbnQ6IHN0cmluZyA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC52YWx1ZTtcbiAgICBjb25zdCBwb3NpdGlvbiA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5zZWxlY3Rpb25TdGFydDtcbiAgICBjb25zdCBuZXh0OiBzdHJpbmcgPSBbY3VycmVudC5zbGljZSgwLCBwb3NpdGlvbiksIGV2ZW50LmtleSA9PSAnRGVjaW1hbCcgPyAnLicgOiBldmVudC5rZXksIGN1cnJlbnQuc2xpY2UocG9zaXRpb24pXS5qb2luKFxuICAgICAgJydcbiAgICApO1xuICAgIGlmIChuZXh0ICYmICFTdHJpbmcobmV4dCkubWF0Y2godGhpcy5yZWdleCkpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,4 @@
1
+ import { DecimalDirective } from './decimal.directive';
2
+ export { DecimalDirective };
3
+ export const COMMON_DIRECTIVES = [DecimalDirective];
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY29tbW9uL3NyYy9saWIvZGlyZWN0aXZlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxDQUFDO0FBRTVCLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFlLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZWNpbWFsRGlyZWN0aXZlIH0gZnJvbSAnLi9kZWNpbWFsLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCB7IERlY2ltYWxEaXJlY3RpdmUgfTtcblxuZXhwb3J0IGNvbnN0IENPTU1PTl9ESVJFQ1RJVkVTOiBQcm92aWRlcltdID0gW0RlY2ltYWxEaXJlY3RpdmVdO1xuIl19
@@ -4,9 +4,9 @@ export class AppConfig {
4
4
  this.baseUrl = '';
5
5
  this.clientId = '';
6
6
  this.cookieName = 'SID';
7
- this.accountsUrl = 'http://localhost:4100';
8
- this.myaccountUrl = 'http://localhost:4200';
7
+ this.accountsUrl = 'http://localhost:9101';
8
+ this.myaccountUrl = 'http://localhost:9301';
9
9
  }
10
10
  }
11
11
  export const APP_CONFIG = new InjectionToken('@rolatech/angular-common config');
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvbW1vbi9zcmMvbGliL3Rva2Vucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE1BQU0sT0FBTyxTQUFTO0lBQXRCO1FBQ0UsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFDZCxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGdCQUFXLEdBQUcsdUJBQXVCLENBQUM7UUFDdEMsaUJBQVksR0FBRyx1QkFBdUIsQ0FBQztJQUN6QyxDQUFDO0NBQUE7QUFDRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxjQUFjLENBQzFDLGlDQUFpQyxDQUNsQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmV4cG9ydCBjbGFzcyBBcHBDb25maWcge1xuICBiYXNlVXJsID0gJyc7XG4gIGNsaWVudElkID0gJyc7XG4gIGNvb2tpZU5hbWUgPSAnU0lEJztcbiAgYWNjb3VudHNVcmwgPSAnaHR0cDovL2xvY2FsaG9zdDo0MTAwJztcbiAgbXlhY2NvdW50VXJsID0gJ2h0dHA6Ly9sb2NhbGhvc3Q6NDIwMCc7XG59XG5leHBvcnQgY29uc3QgQVBQX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBcHBDb25maWc+KFxuICAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tbW9uIGNvbmZpZydcbik7XG4iXX0=
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvbW1vbi9zcmMvbGliL3Rva2Vucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE1BQU0sT0FBTyxTQUFTO0lBQXRCO1FBQ0UsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFDZCxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGdCQUFXLEdBQUcsdUJBQXVCLENBQUM7UUFDdEMsaUJBQVksR0FBRyx1QkFBdUIsQ0FBQztJQUN6QyxDQUFDO0NBQUE7QUFDRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxjQUFjLENBQzFDLGlDQUFpQyxDQUNsQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmV4cG9ydCBjbGFzcyBBcHBDb25maWcge1xuICBiYXNlVXJsID0gJyc7XG4gIGNsaWVudElkID0gJyc7XG4gIGNvb2tpZU5hbWUgPSAnU0lEJztcbiAgYWNjb3VudHNVcmwgPSAnaHR0cDovL2xvY2FsaG9zdDo5MTAxJztcbiAgbXlhY2NvdW50VXJsID0gJ2h0dHA6Ly9sb2NhbGhvc3Q6OTMwMSc7XG59XG5leHBvcnQgY29uc3QgQVBQX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBcHBDb25maWc+KFxuICAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tbW9uIGNvbmZpZydcbik7XG4iXX0=
@@ -0,0 +1,9 @@
1
+ import { inject, InjectionToken, PLATFORM_ID } from '@angular/core';
2
+ export const WINDOW = new InjectionToken('@rolatech/angular-common global Window object', {
3
+ providedIn: 'root',
4
+ factory: () => {
5
+ const platform = inject(PLATFORM_ID);
6
+ return platform === 'browser' ? window : {};
7
+ },
8
+ });
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93LnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvbW1vbi9zcmMvbGliL3dpbmRvdy50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEUsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLElBQUksY0FBYyxDQUFTLCtDQUErQyxFQUFFO0lBQ2hHLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUU7UUFDWixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDckMsT0FBTyxRQUFRLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFFLEVBQWEsQ0FBQztJQUMxRCxDQUFDO0NBQ0YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3Rpb25Ub2tlbiwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNvbnN0IFdJTkRPVyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxXaW5kb3c+KCdAcm9sYXRlY2gvYW5ndWxhci1jb21tb24gZ2xvYmFsIFdpbmRvdyBvYmplY3QnLCB7XG4gIHByb3ZpZGVkSW46ICdyb290JyxcbiAgZmFjdG9yeTogKCkgPT4ge1xuICAgIGNvbnN0IHBsYXRmb3JtID0gaW5qZWN0KFBMQVRGT1JNX0lEKTtcbiAgICByZXR1cm4gcGxhdGZvcm0gPT09ICdicm93c2VyJyA/IHdpbmRvdyA6ICh7fSBhcyBXaW5kb3cpO1xuICB9LFxufSk7XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Pipe, NgModule, InjectionToken } from '@angular/core';
2
+ import { Pipe, NgModule, Directive, HostListener, InjectionToken, inject, PLATFORM_ID } from '@angular/core';
3
3
  import { CommonModule } from '@angular/common';
4
4
  import moment from 'moment';
5
5
  import { HttpClientModule } from '@angular/common/http';
@@ -280,43 +280,54 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
280
280
  }]
281
281
  }] });
282
282
 
283
+ class DecimalDirective {
284
+ constructor(el) {
285
+ this.el = el;
286
+ this.regex = new RegExp(/^\d*\.?\d{0,2}$/g);
287
+ // Allow decimal numbers and negative values
288
+ // Allow key codes for special events. Reflect :
289
+ // Backspace, tab, end, home
290
+ this.specialKeys = ['Backspace', 'Tab', 'End', 'Home', 'ArrowLeft', 'ArrowRight', 'Del', 'Delete'];
291
+ }
292
+ onKeyDown(event) {
293
+ console.log(this.el.nativeElement.value);
294
+ // Allow Backspace, tab, end, and home keys
295
+ if (this.specialKeys.indexOf(event.key) !== -1) {
296
+ return;
297
+ }
298
+ const current = this.el.nativeElement.value;
299
+ const position = this.el.nativeElement.selectionStart;
300
+ const next = [current.slice(0, position), event.key == 'Decimal' ? '.' : event.key, current.slice(position)].join('');
301
+ if (next && !String(next).match(this.regex)) {
302
+ event.preventDefault();
303
+ }
304
+ }
305
+ }
306
+ DecimalDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: DecimalDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
307
+ DecimalDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: DecimalDirective, isStandalone: true, selector: "[rolatechDecimal]", host: { listeners: { "keydown": "onKeyDown($event)" } }, ngImport: i0 });
308
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: DecimalDirective, decorators: [{
309
+ type: Directive,
310
+ args: [{
311
+ selector: '[rolatechDecimal]',
312
+ standalone: true,
313
+ }]
314
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { onKeyDown: [{
315
+ type: HostListener,
316
+ args: ['keydown', ['$event']]
317
+ }] } });
318
+
319
+ const COMMON_DIRECTIVES = [DecimalDirective];
320
+
283
321
  class AngularCommonModule {
284
322
  }
285
323
  AngularCommonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: AngularCommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
286
- AngularCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0", ngImport: i0, type: AngularCommonModule, imports: [CommonModule,
287
- FormsModule,
288
- ReactiveFormsModule,
289
- HttpClientModule, PrettyjsonPipe, TimePipe], exports: [MaterialModule,
290
- CommonModule,
291
- FormsModule,
292
- ReactiveFormsModule,
293
- HttpClientModule, PrettyjsonPipe, TimePipe] });
294
- AngularCommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: AngularCommonModule, imports: [CommonModule,
295
- FormsModule,
296
- ReactiveFormsModule,
297
- HttpClientModule, MaterialModule,
298
- CommonModule,
299
- FormsModule,
300
- ReactiveFormsModule,
301
- HttpClientModule] });
324
+ AngularCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0", ngImport: i0, type: AngularCommonModule, imports: [CommonModule, FormsModule, ReactiveFormsModule, HttpClientModule, PrettyjsonPipe, TimePipe, DecimalDirective], exports: [MaterialModule, CommonModule, FormsModule, ReactiveFormsModule, HttpClientModule, PrettyjsonPipe, TimePipe, DecimalDirective] });
325
+ AngularCommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: AngularCommonModule, imports: [CommonModule, FormsModule, ReactiveFormsModule, HttpClientModule, MaterialModule, CommonModule, FormsModule, ReactiveFormsModule, HttpClientModule] });
302
326
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: AngularCommonModule, decorators: [{
303
327
  type: NgModule,
304
328
  args: [{
305
- imports: [
306
- CommonModule,
307
- FormsModule,
308
- ReactiveFormsModule,
309
- HttpClientModule,
310
- COMMON_PIPES,
311
- ],
312
- exports: [
313
- MaterialModule,
314
- CommonModule,
315
- FormsModule,
316
- ReactiveFormsModule,
317
- HttpClientModule,
318
- COMMON_PIPES,
319
- ],
329
+ imports: [CommonModule, FormsModule, ReactiveFormsModule, HttpClientModule, COMMON_PIPES, COMMON_DIRECTIVES],
330
+ exports: [MaterialModule, CommonModule, FormsModule, ReactiveFormsModule, HttpClientModule, COMMON_PIPES, COMMON_DIRECTIVES],
320
331
  }]
321
332
  }] });
322
333
 
@@ -332,15 +343,23 @@ class AppConfig {
332
343
  this.baseUrl = '';
333
344
  this.clientId = '';
334
345
  this.cookieName = 'SID';
335
- this.accountsUrl = 'http://localhost:4100';
336
- this.myaccountUrl = 'http://localhost:4200';
346
+ this.accountsUrl = 'http://localhost:9101';
347
+ this.myaccountUrl = 'http://localhost:9301';
337
348
  }
338
349
  }
339
350
  const APP_CONFIG = new InjectionToken('@rolatech/angular-common config');
340
351
 
352
+ const WINDOW = new InjectionToken('@rolatech/angular-common global Window object', {
353
+ providedIn: 'root',
354
+ factory: () => {
355
+ const platform = inject(PLATFORM_ID);
356
+ return platform === 'browser' ? window : {};
357
+ },
358
+ });
359
+
341
360
  /**
342
361
  * Generated bundle index. Do not edit.
343
362
  */
344
363
 
345
- export { APP_CONFIG, AngularCommonModule, AppConfig, COMMON_PIPES, MaterialModule, PrettyjsonPipe, TimePipe, UserStatus };
364
+ export { APP_CONFIG, AngularCommonModule, AppConfig, COMMON_DIRECTIVES, COMMON_PIPES, DecimalDirective, MaterialModule, PrettyjsonPipe, TimePipe, UserStatus, WINDOW };
346
365
  //# sourceMappingURL=rolatech-angular-common.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"rolatech-angular-common.mjs","sources":["../../../../libs/angular-common/src/lib/pipes/prettyjson.pipe.ts","../../../../libs/angular-common/src/lib/pipes/time.pipe.ts","../../../../libs/angular-common/src/lib/pipes/index.ts","../../../../libs/angular-common/src/lib/material.module.ts","../../../../libs/angular-common/src/lib/angular-common.module.ts","../../../../libs/angular-common/src/lib/interfaces/auth.interface.ts","../../../../libs/angular-common/src/lib/tokens.ts","../../../../libs/angular-common/src/rolatech-angular-common.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'prettyjson',\n standalone: true,\n})\nexport class PrettyjsonPipe implements PipeTransform {\n transform(value: any, ...args: any[]): any {\n if (value) {\n return JSON.stringify(value, null, 4)\n .replace(/ /g, '&nbsp;')\n .replace(/\\n/g, '<br/>');\n } else {\n return '{}';\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport moment from 'moment';\n\n@Pipe({ name: 'time', pure: false, standalone: true })\nexport class TimePipe implements PipeTransform {\n transform(date: string): string {\n return this.format(Date.parse(date));\n }\n\n format(date: number) {\n return moment(date).fromNow();\n }\n}\n","import { PrettyjsonPipe } from './prettyjson.pipe';\nimport { TimePipe } from '../pipes/time.pipe';\n\nexport { PrettyjsonPipe, TimePipe };\n\nexport const COMMON_PIPES = [PrettyjsonPipe, TimePipe];\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { ClipboardModule } from '@angular/cdk/clipboard';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { LayoutModule } from '@angular/cdk/layout';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { CdkStepperModule } from '@angular/cdk/stepper';\nimport { CdkTableModule } from '@angular/cdk/table';\nimport { CdkTreeModule } from '@angular/cdk/tree';\nimport { NgModule } from '@angular/core';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatBadgeModule } from '@angular/material/badge';\nimport { MatBottomSheetModule } from '@angular/material/bottom-sheet';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatNativeDateModule, MatRippleModule } from '@angular/material/core';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatGridListModule } from '@angular/material/grid-list';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatListModule } from '@angular/material/list';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatSliderModule } from '@angular/material/slider';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatStepperModule } from '@angular/material/stepper';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatTreeModule } from '@angular/material/tree';\n\nconst MAT_MODULE = [\n A11yModule,\n ClipboardModule,\n CdkStepperModule,\n CdkTableModule,\n CdkTreeModule,\n DragDropModule,\n LayoutModule,\n MatAutocompleteModule,\n MatBadgeModule,\n MatBottomSheetModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatCardModule,\n MatCheckboxModule,\n MatChipsModule,\n MatStepperModule,\n MatDatepickerModule,\n MatDialogModule,\n MatDividerModule,\n MatExpansionModule,\n MatGridListModule,\n MatIconModule,\n MatFormFieldModule,\n MatInputModule,\n MatListModule,\n MatMenuModule,\n MatNativeDateModule,\n MatPaginatorModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatRadioModule,\n MatRippleModule,\n MatSelectModule,\n MatSidenavModule,\n MatSliderModule,\n MatSlideToggleModule,\n MatSnackBarModule,\n MatSortModule,\n MatTableModule,\n MatTabsModule,\n MatToolbarModule,\n MatTooltipModule,\n MatTreeModule,\n PortalModule,\n ScrollingModule,\n];\n\n@NgModule({\n imports: [...MAT_MODULE],\n exports: [...MAT_MODULE],\n})\nexport class MaterialModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { COMMON_PIPES } from './pipes';\nimport { HttpClientModule } from '@angular/common/http';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MaterialModule } from './material.module';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n HttpClientModule,\n COMMON_PIPES,\n ],\n exports: [\n MaterialModule,\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n HttpClientModule,\n COMMON_PIPES,\n ],\n})\nexport class AngularCommonModule {}\n","export interface User {\n id?: string;\n username?: string;\n roles: [];\n}\nexport interface PasswordChange {\n oldPassword: string;\n newPassword: string;\n ne2Password: string;\n}\nexport enum UserStatus {\n ACTIVE = '正常',\n AWAITING = '审核中',\n DELETED = '已删除',\n}\n","import { InjectionToken } from '@angular/core';\nexport class AppConfig {\n baseUrl = '';\n clientId = '';\n cookieName = 'SID';\n accountsUrl = 'http://localhost:4100';\n myaccountUrl = 'http://localhost:4200';\n}\nexport const APP_CONFIG = new InjectionToken<AppConfig>(\n '@rolatech/angular-common config'\n);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.PrettyjsonPipe","i2.TimePipe"],"mappings":"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"}
1
+ {"version":3,"file":"rolatech-angular-common.mjs","sources":["../../../../libs/angular-common/src/lib/pipes/prettyjson.pipe.ts","../../../../libs/angular-common/src/lib/pipes/time.pipe.ts","../../../../libs/angular-common/src/lib/pipes/index.ts","../../../../libs/angular-common/src/lib/material.module.ts","../../../../libs/angular-common/src/lib/directive/decimal.directive.ts","../../../../libs/angular-common/src/lib/directive/index.ts","../../../../libs/angular-common/src/lib/angular-common.module.ts","../../../../libs/angular-common/src/lib/interfaces/auth.interface.ts","../../../../libs/angular-common/src/lib/tokens.ts","../../../../libs/angular-common/src/lib/window.token.ts","../../../../libs/angular-common/src/rolatech-angular-common.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'prettyjson',\n standalone: true,\n})\nexport class PrettyjsonPipe implements PipeTransform {\n transform(value: any, ...args: any[]): any {\n if (value) {\n return JSON.stringify(value, null, 4)\n .replace(/ /g, '&nbsp;')\n .replace(/\\n/g, '<br/>');\n } else {\n return '{}';\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport moment from 'moment';\n\n@Pipe({ name: 'time', pure: false, standalone: true })\nexport class TimePipe implements PipeTransform {\n transform(date: string): string {\n return this.format(Date.parse(date));\n }\n\n format(date: number) {\n return moment(date).fromNow();\n }\n}\n","import { PrettyjsonPipe } from './prettyjson.pipe';\nimport { TimePipe } from '../pipes/time.pipe';\n\nexport { PrettyjsonPipe, TimePipe };\n\nexport const COMMON_PIPES = [PrettyjsonPipe, TimePipe];\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { ClipboardModule } from '@angular/cdk/clipboard';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { LayoutModule } from '@angular/cdk/layout';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { CdkStepperModule } from '@angular/cdk/stepper';\nimport { CdkTableModule } from '@angular/cdk/table';\nimport { CdkTreeModule } from '@angular/cdk/tree';\nimport { NgModule } from '@angular/core';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatBadgeModule } from '@angular/material/badge';\nimport { MatBottomSheetModule } from '@angular/material/bottom-sheet';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatNativeDateModule, MatRippleModule } from '@angular/material/core';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatGridListModule } from '@angular/material/grid-list';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatListModule } from '@angular/material/list';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatSliderModule } from '@angular/material/slider';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatStepperModule } from '@angular/material/stepper';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatTreeModule } from '@angular/material/tree';\n\nconst MAT_MODULE = [\n A11yModule,\n ClipboardModule,\n CdkStepperModule,\n CdkTableModule,\n CdkTreeModule,\n DragDropModule,\n LayoutModule,\n MatAutocompleteModule,\n MatBadgeModule,\n MatBottomSheetModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatCardModule,\n MatCheckboxModule,\n MatChipsModule,\n MatStepperModule,\n MatDatepickerModule,\n MatDialogModule,\n MatDividerModule,\n MatExpansionModule,\n MatGridListModule,\n MatIconModule,\n MatFormFieldModule,\n MatInputModule,\n MatListModule,\n MatMenuModule,\n MatNativeDateModule,\n MatPaginatorModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatRadioModule,\n MatRippleModule,\n MatSelectModule,\n MatSidenavModule,\n MatSliderModule,\n MatSlideToggleModule,\n MatSnackBarModule,\n MatSortModule,\n MatTableModule,\n MatTabsModule,\n MatToolbarModule,\n MatTooltipModule,\n MatTreeModule,\n PortalModule,\n ScrollingModule,\n];\n\n@NgModule({\n imports: [...MAT_MODULE],\n exports: [...MAT_MODULE],\n})\nexport class MaterialModule {}\n","import { Directive, ElementRef, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[rolatechDecimal]',\n standalone: true,\n})\nexport class DecimalDirective {\n private regex = new RegExp(/^\\d*\\.?\\d{0,2}$/g);\n\n // Allow decimal numbers and negative values\n // Allow key codes for special events. Reflect :\n // Backspace, tab, end, home\n private specialKeys: Array<string> = ['Backspace', 'Tab', 'End', 'Home', 'ArrowLeft', 'ArrowRight', 'Del', 'Delete'];\n\n constructor(private el: ElementRef) {}\n @HostListener('keydown', ['$event'])\n onKeyDown(event: KeyboardEvent) {\n console.log(this.el.nativeElement.value);\n // Allow Backspace, tab, end, and home keys\n if (this.specialKeys.indexOf(event.key) !== -1) {\n return;\n }\n const current: string = this.el.nativeElement.value;\n const position = this.el.nativeElement.selectionStart;\n const next: string = [current.slice(0, position), event.key == 'Decimal' ? '.' : event.key, current.slice(position)].join(\n ''\n );\n if (next && !String(next).match(this.regex)) {\n event.preventDefault();\n }\n }\n}\n","import { Provider } from '@angular/core';\nimport { DecimalDirective } from './decimal.directive';\n\nexport { DecimalDirective };\n\nexport const COMMON_DIRECTIVES: Provider[] = [DecimalDirective];\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { COMMON_PIPES } from './pipes';\nimport { HttpClientModule } from '@angular/common/http';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MaterialModule } from './material.module';\nimport { COMMON_DIRECTIVES } from './directive';\n\n@NgModule({\n imports: [CommonModule, FormsModule, ReactiveFormsModule, HttpClientModule, COMMON_PIPES, COMMON_DIRECTIVES],\n exports: [MaterialModule, CommonModule, FormsModule, ReactiveFormsModule, HttpClientModule, COMMON_PIPES, COMMON_DIRECTIVES],\n})\nexport class AngularCommonModule {}\n","export interface User {\n id?: string;\n username?: string;\n roles: [];\n}\nexport interface PasswordChange {\n oldPassword: string;\n newPassword: string;\n ne2Password: string;\n}\nexport enum UserStatus {\n ACTIVE = '正常',\n AWAITING = '审核中',\n DELETED = '已删除',\n}\n","import { InjectionToken } from '@angular/core';\nexport class AppConfig {\n baseUrl = '';\n clientId = '';\n cookieName = 'SID';\n accountsUrl = 'http://localhost:9101';\n myaccountUrl = 'http://localhost:9301';\n}\nexport const APP_CONFIG = new InjectionToken<AppConfig>(\n '@rolatech/angular-common config'\n);\n","import { inject, InjectionToken, PLATFORM_ID } from '@angular/core';\n\nexport const WINDOW = new InjectionToken<Window>('@rolatech/angular-common global Window object', {\n providedIn: 'root',\n factory: () => {\n const platform = inject(PLATFORM_ID);\n return platform === 'browser' ? window : ({} as Window);\n },\n});\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.PrettyjsonPipe","i2.TimePipe","i3.DecimalDirective"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Pipe, NgModule, InjectionToken } from '@angular/core';
2
+ import { Pipe, NgModule, Directive, HostListener, InjectionToken, inject, PLATFORM_ID } from '@angular/core';
3
3
  import { CommonModule } from '@angular/common';
4
4
  import moment from 'moment';
5
5
  import { HttpClientModule } from '@angular/common/http';
@@ -280,43 +280,54 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
280
280
  }]
281
281
  }] });
282
282
 
283
+ class DecimalDirective {
284
+ constructor(el) {
285
+ this.el = el;
286
+ this.regex = new RegExp(/^\d*\.?\d{0,2}$/g);
287
+ // Allow decimal numbers and negative values
288
+ // Allow key codes for special events. Reflect :
289
+ // Backspace, tab, end, home
290
+ this.specialKeys = ['Backspace', 'Tab', 'End', 'Home', 'ArrowLeft', 'ArrowRight', 'Del', 'Delete'];
291
+ }
292
+ onKeyDown(event) {
293
+ console.log(this.el.nativeElement.value);
294
+ // Allow Backspace, tab, end, and home keys
295
+ if (this.specialKeys.indexOf(event.key) !== -1) {
296
+ return;
297
+ }
298
+ const current = this.el.nativeElement.value;
299
+ const position = this.el.nativeElement.selectionStart;
300
+ const next = [current.slice(0, position), event.key == 'Decimal' ? '.' : event.key, current.slice(position)].join('');
301
+ if (next && !String(next).match(this.regex)) {
302
+ event.preventDefault();
303
+ }
304
+ }
305
+ }
306
+ DecimalDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: DecimalDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
307
+ DecimalDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: DecimalDirective, isStandalone: true, selector: "[rolatechDecimal]", host: { listeners: { "keydown": "onKeyDown($event)" } }, ngImport: i0 });
308
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: DecimalDirective, decorators: [{
309
+ type: Directive,
310
+ args: [{
311
+ selector: '[rolatechDecimal]',
312
+ standalone: true,
313
+ }]
314
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { onKeyDown: [{
315
+ type: HostListener,
316
+ args: ['keydown', ['$event']]
317
+ }] } });
318
+
319
+ const COMMON_DIRECTIVES = [DecimalDirective];
320
+
283
321
  class AngularCommonModule {
284
322
  }
285
323
  AngularCommonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: AngularCommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
286
- AngularCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0", ngImport: i0, type: AngularCommonModule, imports: [CommonModule,
287
- FormsModule,
288
- ReactiveFormsModule,
289
- HttpClientModule, PrettyjsonPipe, TimePipe], exports: [MaterialModule,
290
- CommonModule,
291
- FormsModule,
292
- ReactiveFormsModule,
293
- HttpClientModule, PrettyjsonPipe, TimePipe] });
294
- AngularCommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: AngularCommonModule, imports: [CommonModule,
295
- FormsModule,
296
- ReactiveFormsModule,
297
- HttpClientModule, MaterialModule,
298
- CommonModule,
299
- FormsModule,
300
- ReactiveFormsModule,
301
- HttpClientModule] });
324
+ AngularCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0", ngImport: i0, type: AngularCommonModule, imports: [CommonModule, FormsModule, ReactiveFormsModule, HttpClientModule, PrettyjsonPipe, TimePipe, DecimalDirective], exports: [MaterialModule, CommonModule, FormsModule, ReactiveFormsModule, HttpClientModule, PrettyjsonPipe, TimePipe, DecimalDirective] });
325
+ AngularCommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: AngularCommonModule, imports: [CommonModule, FormsModule, ReactiveFormsModule, HttpClientModule, MaterialModule, CommonModule, FormsModule, ReactiveFormsModule, HttpClientModule] });
302
326
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: AngularCommonModule, decorators: [{
303
327
  type: NgModule,
304
328
  args: [{
305
- imports: [
306
- CommonModule,
307
- FormsModule,
308
- ReactiveFormsModule,
309
- HttpClientModule,
310
- COMMON_PIPES,
311
- ],
312
- exports: [
313
- MaterialModule,
314
- CommonModule,
315
- FormsModule,
316
- ReactiveFormsModule,
317
- HttpClientModule,
318
- COMMON_PIPES,
319
- ],
329
+ imports: [CommonModule, FormsModule, ReactiveFormsModule, HttpClientModule, COMMON_PIPES, COMMON_DIRECTIVES],
330
+ exports: [MaterialModule, CommonModule, FormsModule, ReactiveFormsModule, HttpClientModule, COMMON_PIPES, COMMON_DIRECTIVES],
320
331
  }]
321
332
  }] });
322
333
 
@@ -332,15 +343,23 @@ class AppConfig {
332
343
  this.baseUrl = '';
333
344
  this.clientId = '';
334
345
  this.cookieName = 'SID';
335
- this.accountsUrl = 'http://localhost:4100';
336
- this.myaccountUrl = 'http://localhost:4200';
346
+ this.accountsUrl = 'http://localhost:9101';
347
+ this.myaccountUrl = 'http://localhost:9301';
337
348
  }
338
349
  }
339
350
  const APP_CONFIG = new InjectionToken('@rolatech/angular-common config');
340
351
 
352
+ const WINDOW = new InjectionToken('@rolatech/angular-common global Window object', {
353
+ providedIn: 'root',
354
+ factory: () => {
355
+ const platform = inject(PLATFORM_ID);
356
+ return platform === 'browser' ? window : {};
357
+ },
358
+ });
359
+
341
360
  /**
342
361
  * Generated bundle index. Do not edit.
343
362
  */
344
363
 
345
- export { APP_CONFIG, AngularCommonModule, AppConfig, COMMON_PIPES, MaterialModule, PrettyjsonPipe, TimePipe, UserStatus };
364
+ export { APP_CONFIG, AngularCommonModule, AppConfig, COMMON_DIRECTIVES, COMMON_PIPES, DecimalDirective, MaterialModule, PrettyjsonPipe, TimePipe, UserStatus, WINDOW };
346
365
  //# sourceMappingURL=rolatech-angular-common.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"rolatech-angular-common.mjs","sources":["../../../../libs/angular-common/src/lib/pipes/prettyjson.pipe.ts","../../../../libs/angular-common/src/lib/pipes/time.pipe.ts","../../../../libs/angular-common/src/lib/pipes/index.ts","../../../../libs/angular-common/src/lib/material.module.ts","../../../../libs/angular-common/src/lib/angular-common.module.ts","../../../../libs/angular-common/src/lib/interfaces/auth.interface.ts","../../../../libs/angular-common/src/lib/tokens.ts","../../../../libs/angular-common/src/rolatech-angular-common.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'prettyjson',\n standalone: true,\n})\nexport class PrettyjsonPipe implements PipeTransform {\n transform(value: any, ...args: any[]): any {\n if (value) {\n return JSON.stringify(value, null, 4)\n .replace(/ /g, '&nbsp;')\n .replace(/\\n/g, '<br/>');\n } else {\n return '{}';\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport moment from 'moment';\n\n@Pipe({ name: 'time', pure: false, standalone: true })\nexport class TimePipe implements PipeTransform {\n transform(date: string): string {\n return this.format(Date.parse(date));\n }\n\n format(date: number) {\n return moment(date).fromNow();\n }\n}\n","import { PrettyjsonPipe } from './prettyjson.pipe';\nimport { TimePipe } from '../pipes/time.pipe';\n\nexport { PrettyjsonPipe, TimePipe };\n\nexport const COMMON_PIPES = [PrettyjsonPipe, TimePipe];\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { ClipboardModule } from '@angular/cdk/clipboard';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { LayoutModule } from '@angular/cdk/layout';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { CdkStepperModule } from '@angular/cdk/stepper';\nimport { CdkTableModule } from '@angular/cdk/table';\nimport { CdkTreeModule } from '@angular/cdk/tree';\nimport { NgModule } from '@angular/core';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatBadgeModule } from '@angular/material/badge';\nimport { MatBottomSheetModule } from '@angular/material/bottom-sheet';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatNativeDateModule, MatRippleModule } from '@angular/material/core';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatGridListModule } from '@angular/material/grid-list';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatListModule } from '@angular/material/list';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatSliderModule } from '@angular/material/slider';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatStepperModule } from '@angular/material/stepper';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatTreeModule } from '@angular/material/tree';\n\nconst MAT_MODULE = [\n A11yModule,\n ClipboardModule,\n CdkStepperModule,\n CdkTableModule,\n CdkTreeModule,\n DragDropModule,\n LayoutModule,\n MatAutocompleteModule,\n MatBadgeModule,\n MatBottomSheetModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatCardModule,\n MatCheckboxModule,\n MatChipsModule,\n MatStepperModule,\n MatDatepickerModule,\n MatDialogModule,\n MatDividerModule,\n MatExpansionModule,\n MatGridListModule,\n MatIconModule,\n MatFormFieldModule,\n MatInputModule,\n MatListModule,\n MatMenuModule,\n MatNativeDateModule,\n MatPaginatorModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatRadioModule,\n MatRippleModule,\n MatSelectModule,\n MatSidenavModule,\n MatSliderModule,\n MatSlideToggleModule,\n MatSnackBarModule,\n MatSortModule,\n MatTableModule,\n MatTabsModule,\n MatToolbarModule,\n MatTooltipModule,\n MatTreeModule,\n PortalModule,\n ScrollingModule,\n];\n\n@NgModule({\n imports: [...MAT_MODULE],\n exports: [...MAT_MODULE],\n})\nexport class MaterialModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { COMMON_PIPES } from './pipes';\nimport { HttpClientModule } from '@angular/common/http';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MaterialModule } from './material.module';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n HttpClientModule,\n COMMON_PIPES,\n ],\n exports: [\n MaterialModule,\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n HttpClientModule,\n COMMON_PIPES,\n ],\n})\nexport class AngularCommonModule {}\n","export interface User {\n id?: string;\n username?: string;\n roles: [];\n}\nexport interface PasswordChange {\n oldPassword: string;\n newPassword: string;\n ne2Password: string;\n}\nexport enum UserStatus {\n ACTIVE = '正常',\n AWAITING = '审核中',\n DELETED = '已删除',\n}\n","import { InjectionToken } from '@angular/core';\nexport class AppConfig {\n baseUrl = '';\n clientId = '';\n cookieName = 'SID';\n accountsUrl = 'http://localhost:4100';\n myaccountUrl = 'http://localhost:4200';\n}\nexport const APP_CONFIG = new InjectionToken<AppConfig>(\n '@rolatech/angular-common config'\n);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.PrettyjsonPipe","i2.TimePipe"],"mappings":"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"}
1
+ {"version":3,"file":"rolatech-angular-common.mjs","sources":["../../../../libs/angular-common/src/lib/pipes/prettyjson.pipe.ts","../../../../libs/angular-common/src/lib/pipes/time.pipe.ts","../../../../libs/angular-common/src/lib/pipes/index.ts","../../../../libs/angular-common/src/lib/material.module.ts","../../../../libs/angular-common/src/lib/directive/decimal.directive.ts","../../../../libs/angular-common/src/lib/directive/index.ts","../../../../libs/angular-common/src/lib/angular-common.module.ts","../../../../libs/angular-common/src/lib/interfaces/auth.interface.ts","../../../../libs/angular-common/src/lib/tokens.ts","../../../../libs/angular-common/src/lib/window.token.ts","../../../../libs/angular-common/src/rolatech-angular-common.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'prettyjson',\n standalone: true,\n})\nexport class PrettyjsonPipe implements PipeTransform {\n transform(value: any, ...args: any[]): any {\n if (value) {\n return JSON.stringify(value, null, 4)\n .replace(/ /g, '&nbsp;')\n .replace(/\\n/g, '<br/>');\n } else {\n return '{}';\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport moment from 'moment';\n\n@Pipe({ name: 'time', pure: false, standalone: true })\nexport class TimePipe implements PipeTransform {\n transform(date: string): string {\n return this.format(Date.parse(date));\n }\n\n format(date: number) {\n return moment(date).fromNow();\n }\n}\n","import { PrettyjsonPipe } from './prettyjson.pipe';\nimport { TimePipe } from '../pipes/time.pipe';\n\nexport { PrettyjsonPipe, TimePipe };\n\nexport const COMMON_PIPES = [PrettyjsonPipe, TimePipe];\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { ClipboardModule } from '@angular/cdk/clipboard';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { LayoutModule } from '@angular/cdk/layout';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { CdkStepperModule } from '@angular/cdk/stepper';\nimport { CdkTableModule } from '@angular/cdk/table';\nimport { CdkTreeModule } from '@angular/cdk/tree';\nimport { NgModule } from '@angular/core';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatBadgeModule } from '@angular/material/badge';\nimport { MatBottomSheetModule } from '@angular/material/bottom-sheet';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatNativeDateModule, MatRippleModule } from '@angular/material/core';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatGridListModule } from '@angular/material/grid-list';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatListModule } from '@angular/material/list';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatSliderModule } from '@angular/material/slider';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatStepperModule } from '@angular/material/stepper';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatTreeModule } from '@angular/material/tree';\n\nconst MAT_MODULE = [\n A11yModule,\n ClipboardModule,\n CdkStepperModule,\n CdkTableModule,\n CdkTreeModule,\n DragDropModule,\n LayoutModule,\n MatAutocompleteModule,\n MatBadgeModule,\n MatBottomSheetModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatCardModule,\n MatCheckboxModule,\n MatChipsModule,\n MatStepperModule,\n MatDatepickerModule,\n MatDialogModule,\n MatDividerModule,\n MatExpansionModule,\n MatGridListModule,\n MatIconModule,\n MatFormFieldModule,\n MatInputModule,\n MatListModule,\n MatMenuModule,\n MatNativeDateModule,\n MatPaginatorModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatRadioModule,\n MatRippleModule,\n MatSelectModule,\n MatSidenavModule,\n MatSliderModule,\n MatSlideToggleModule,\n MatSnackBarModule,\n MatSortModule,\n MatTableModule,\n MatTabsModule,\n MatToolbarModule,\n MatTooltipModule,\n MatTreeModule,\n PortalModule,\n ScrollingModule,\n];\n\n@NgModule({\n imports: [...MAT_MODULE],\n exports: [...MAT_MODULE],\n})\nexport class MaterialModule {}\n","import { Directive, ElementRef, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[rolatechDecimal]',\n standalone: true,\n})\nexport class DecimalDirective {\n private regex = new RegExp(/^\\d*\\.?\\d{0,2}$/g);\n\n // Allow decimal numbers and negative values\n // Allow key codes for special events. Reflect :\n // Backspace, tab, end, home\n private specialKeys: Array<string> = ['Backspace', 'Tab', 'End', 'Home', 'ArrowLeft', 'ArrowRight', 'Del', 'Delete'];\n\n constructor(private el: ElementRef) {}\n @HostListener('keydown', ['$event'])\n onKeyDown(event: KeyboardEvent) {\n console.log(this.el.nativeElement.value);\n // Allow Backspace, tab, end, and home keys\n if (this.specialKeys.indexOf(event.key) !== -1) {\n return;\n }\n const current: string = this.el.nativeElement.value;\n const position = this.el.nativeElement.selectionStart;\n const next: string = [current.slice(0, position), event.key == 'Decimal' ? '.' : event.key, current.slice(position)].join(\n ''\n );\n if (next && !String(next).match(this.regex)) {\n event.preventDefault();\n }\n }\n}\n","import { Provider } from '@angular/core';\nimport { DecimalDirective } from './decimal.directive';\n\nexport { DecimalDirective };\n\nexport const COMMON_DIRECTIVES: Provider[] = [DecimalDirective];\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { COMMON_PIPES } from './pipes';\nimport { HttpClientModule } from '@angular/common/http';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MaterialModule } from './material.module';\nimport { COMMON_DIRECTIVES } from './directive';\n\n@NgModule({\n imports: [CommonModule, FormsModule, ReactiveFormsModule, HttpClientModule, COMMON_PIPES, COMMON_DIRECTIVES],\n exports: [MaterialModule, CommonModule, FormsModule, ReactiveFormsModule, HttpClientModule, COMMON_PIPES, COMMON_DIRECTIVES],\n})\nexport class AngularCommonModule {}\n","export interface User {\n id?: string;\n username?: string;\n roles: [];\n}\nexport interface PasswordChange {\n oldPassword: string;\n newPassword: string;\n ne2Password: string;\n}\nexport enum UserStatus {\n ACTIVE = '正常',\n AWAITING = '审核中',\n DELETED = '已删除',\n}\n","import { InjectionToken } from '@angular/core';\nexport class AppConfig {\n baseUrl = '';\n clientId = '';\n cookieName = 'SID';\n accountsUrl = 'http://localhost:9101';\n myaccountUrl = 'http://localhost:9301';\n}\nexport const APP_CONFIG = new InjectionToken<AppConfig>(\n '@rolatech/angular-common config'\n);\n","import { inject, InjectionToken, PLATFORM_ID } from '@angular/core';\n\nexport const WINDOW = new InjectionToken<Window>('@rolatech/angular-common global Window object', {\n providedIn: 'root',\n factory: () => {\n const platform = inject(PLATFORM_ID);\n return platform === 'browser' ? window : ({} as Window);\n },\n});\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.PrettyjsonPipe","i2.TimePipe","i3.DecimalDirective"],"mappings":"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"}
package/index.d.ts CHANGED
@@ -3,5 +3,7 @@ export * from './lib/material.module';
3
3
  export * from './lib/interfaces/auth.interface';
4
4
  export * from './lib/interfaces/media.interface';
5
5
  export * from './lib/pipes/index';
6
+ export * from './lib/directive/index';
6
7
  export { APP_CONFIG } from './lib/tokens';
7
8
  export { AppConfig } from './lib/tokens';
9
+ export { WINDOW } from './lib/window.token';
@@ -4,9 +4,10 @@ import * as i2 from "@angular/forms";
4
4
  import * as i3 from "@angular/common/http";
5
5
  import * as i4 from "./pipes/prettyjson.pipe";
6
6
  import * as i5 from "./pipes/time.pipe";
7
- import * as i6 from "./material.module";
7
+ import * as i6 from "./directive/decimal.directive";
8
+ import * as i7 from "./material.module";
8
9
  export declare class AngularCommonModule {
9
10
  static ɵfac: i0.ɵɵFactoryDeclaration<AngularCommonModule, never>;
10
- static ɵmod: i0.ɵɵNgModuleDeclaration<AngularCommonModule, never, [typeof i1.CommonModule, typeof i2.FormsModule, typeof i2.ReactiveFormsModule, typeof i3.HttpClientModule, typeof i4.PrettyjsonPipe, typeof i5.TimePipe], [typeof i6.MaterialModule, typeof i1.CommonModule, typeof i2.FormsModule, typeof i2.ReactiveFormsModule, typeof i3.HttpClientModule, typeof i4.PrettyjsonPipe, typeof i5.TimePipe]>;
11
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AngularCommonModule, never, [typeof i1.CommonModule, typeof i2.FormsModule, typeof i2.ReactiveFormsModule, typeof i3.HttpClientModule, typeof i4.PrettyjsonPipe, typeof i5.TimePipe, typeof i6.DecimalDirective], [typeof i7.MaterialModule, typeof i1.CommonModule, typeof i2.FormsModule, typeof i2.ReactiveFormsModule, typeof i3.HttpClientModule, typeof i4.PrettyjsonPipe, typeof i5.TimePipe, typeof i6.DecimalDirective]>;
11
12
  static ɵinj: i0.ɵɵInjectorDeclaration<AngularCommonModule>;
12
13
  }
@@ -0,0 +1,11 @@
1
+ import { ElementRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class DecimalDirective {
4
+ private el;
5
+ private regex;
6
+ private specialKeys;
7
+ constructor(el: ElementRef);
8
+ onKeyDown(event: KeyboardEvent): void;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<DecimalDirective, never>;
10
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DecimalDirective, "[rolatechDecimal]", never, {}, {}, never, never, true, never>;
11
+ }
@@ -0,0 +1,4 @@
1
+ import { Provider } from '@angular/core';
2
+ import { DecimalDirective } from './decimal.directive';
3
+ export { DecimalDirective };
4
+ export declare const COMMON_DIRECTIVES: Provider[];
@@ -0,0 +1,2 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export declare const WINDOW: InjectionToken<Window>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rolatech/angular-common",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^15.2.0",
6
6
  "@angular/core": "^15.2.0",