@guiexpert/angular-table 19.1.52 → 19.1.56

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.
Files changed (28) hide show
  1. package/fesm2022/guiexpert-angular-table.mjs +237 -0
  2. package/fesm2022/guiexpert-angular-table.mjs.map +1 -0
  3. package/index.d.ts +5 -0
  4. package/lib/component-renderer.if.d.ts +4 -0
  5. package/lib/service/dom-service.d.ts +17 -0
  6. package/lib/service/render-wrapper-factory.d.ts +13 -0
  7. package/lib/service/renderer-wrapper.d.ts +14 -0
  8. package/lib/table.component.d.ts +43 -0
  9. package/package.json +17 -30
  10. package/{projects/angular-table/src/public-api.ts → public-api.d.ts} +0 -4
  11. package/.editorconfig +0 -16
  12. package/angular.json +0 -40
  13. package/projects/angular-table/README.md +0 -119
  14. package/projects/angular-table/dist/index.mjs +0 -21485
  15. package/projects/angular-table/ng-package.json +0 -7
  16. package/projects/angular-table/package.json +0 -16
  17. package/projects/angular-table/src/lib/angular-table.component.spec.ts +0 -23
  18. package/projects/angular-table/src/lib/angular-table.service.spec.ts +0 -16
  19. package/projects/angular-table/src/lib/component-renderer.if.ts +0 -12
  20. package/projects/angular-table/src/lib/service/dom-service.ts +0 -63
  21. package/projects/angular-table/src/lib/service/render-wrapper-factory.ts +0 -24
  22. package/projects/angular-table/src/lib/service/renderer-wrapper.ts +0 -86
  23. package/projects/angular-table/src/lib/table.component.css +0 -350
  24. package/projects/angular-table/src/lib/table.component.ts +0 -167
  25. package/projects/angular-table/tsconfig.lib.json +0 -14
  26. package/projects/angular-table/tsconfig.lib.prod.json +0 -10
  27. package/projects/angular-table/tsconfig.spec.json +0 -14
  28. package/tsconfig.json +0 -38
@@ -1,167 +0,0 @@
1
- import {
2
- ChangeDetectionStrategy,
3
- Component,
4
- ElementRef,
5
- Input,
6
- NgZone,
7
- OnDestroy,
8
- OnInit,
9
- Output,
10
- Renderer2,
11
- ViewEncapsulation
12
- } from "@angular/core";
13
- import { CommonModule } from "@angular/common";
14
- import { debounceTime, Subject, takeWhile } from "rxjs";
15
- import {
16
- EventListenerIf, FocusModelIf,
17
- GeModelChangeEvent,
18
- GeMouseEvent, SelectionModelIf,
19
- TableApi,
20
- TableModelIf,
21
- TableOptions,
22
- TableOptionsIf,
23
- TableScope
24
- } from '@guiexpert/table';
25
- import { DomService } from "./service/dom-service";
26
-
27
-
28
- @Component({
29
- selector: "guiexpert-table",
30
- standalone: true,
31
- imports: [CommonModule],
32
- providers: [DomService],
33
- template: "",
34
- styleUrls: [
35
- "./table.component.css"
36
- ],
37
- encapsulation: ViewEncapsulation.None,
38
- changeDetection: ChangeDetectionStrategy.OnPush
39
- })
40
- export class TableComponent implements OnInit, OnDestroy, EventListenerIf {
41
-
42
- @Output()
43
- tableReady = new Subject<TableApi>();
44
-
45
- @Output()
46
- mouseMoved: Subject<GeMouseEvent> = new Subject<GeMouseEvent>();
47
-
48
- @Output()
49
- mouseDragging: Subject<GeMouseEvent> = new Subject<GeMouseEvent>();
50
-
51
- @Output()
52
- mouseDraggingEnded: Subject<GeMouseEvent> = new Subject<GeMouseEvent>();
53
-
54
- @Output()
55
- contextmenu: Subject<GeMouseEvent> = new Subject<GeMouseEvent>();
56
-
57
- @Output()
58
- mouseClicked: Subject<GeMouseEvent> = new Subject<GeMouseEvent>();
59
-
60
- @Output()
61
- modelChanged: Subject<GeModelChangeEvent> = new Subject<GeModelChangeEvent>();
62
-
63
- @Output()
64
- selectionChanged: Subject<SelectionModelIf> = new Subject<SelectionModelIf>();
65
-
66
- @Output()
67
- focusChanged: Subject<FocusModelIf> = new Subject<FocusModelIf>();
68
-
69
- @Output()
70
- checkboxChanged: Subject<any[]> = new Subject<any[]>();
71
-
72
- @Input()
73
- tableModel?: TableModelIf;
74
-
75
- @Input()
76
- tableOptions: TableOptionsIf = new TableOptions();
77
-
78
- @Input()
79
- debounceMouseClickDelay: number = 150;
80
-
81
- private debounceMouseClick: Subject<GeMouseEvent> = new Subject<GeMouseEvent>();
82
-
83
- private tableScope?: TableScope;
84
- private alive = true;
85
-
86
-
87
- constructor(
88
- private readonly renderer: Renderer2,
89
- private readonly elementRef: ElementRef,
90
- private readonly zone: NgZone,
91
- private readonly domService: DomService
92
- ) {
93
- }
94
-
95
- onSelectionChanged(model: SelectionModelIf): void {
96
- this.selectionChanged.next(model);
97
- }
98
-
99
- onFocusChanged(model: FocusModelIf): void {
100
- this.focusChanged.next(model);
101
- }
102
-
103
- onContextmenu(evt: GeMouseEvent): void {
104
- this.contextmenu.next(evt);
105
- }
106
-
107
- onMouseMoved(evt: GeMouseEvent): void {
108
- this.mouseMoved.next(evt);
109
- }
110
-
111
- // will be called by table-scope:
112
- onMouseClicked(evt: GeMouseEvent): void {
113
- this.debounceMouseClick.next(evt);
114
- }
115
-
116
- onCheckboxChanged(arr: any[]): void {
117
- this.checkboxChanged.next(arr);
118
- }
119
-
120
- onModelChanged(evt: GeModelChangeEvent): void {
121
- this.modelChanged.next(evt);
122
- }
123
-
124
- ngOnInit(): void {
125
- this.initModel();
126
- this.debounceMouseClick
127
- .pipe(
128
- debounceTime(this.debounceMouseClickDelay),
129
- takeWhile(() => this.alive)
130
- )
131
- .subscribe((value) => {
132
- this.zone.run(() => {
133
- this.mouseClicked.next(value);
134
- });
135
- });
136
- }
137
-
138
- ngOnDestroy(): void {
139
- this.alive = false;
140
- }
141
-
142
-
143
- onMouseDragging(evt: GeMouseEvent): void {
144
- this.mouseDragging.next(evt);
145
- }
146
-
147
- onMouseDraggingEnd(evt: GeMouseEvent): void {
148
- this.mouseDraggingEnded.next(evt);
149
- }
150
-
151
-
152
- private initModel() {
153
- this.zone.runOutsideAngular(this.init.bind(this));
154
- }
155
-
156
- private init() {
157
- if (this.tableModel) {
158
- this.tableScope = new TableScope(
159
- this.elementRef.nativeElement, this.tableModel, this.domService, this.tableOptions, this
160
- );
161
- this.tableScope.firstInit();
162
- this.tableReady.next(this.tableScope.getApi());
163
- }
164
- }
165
-
166
-
167
- }
@@ -1,14 +0,0 @@
1
- /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
- {
3
- "extends": "../../tsconfig.json",
4
- "compilerOptions": {
5
- "outDir": "../../out-tsc/lib",
6
- "declaration": true,
7
- "declarationMap": true,
8
- "inlineSources": true,
9
- "types": []
10
- },
11
- "exclude": [
12
- "**/*.spec.ts"
13
- ]
14
- }
@@ -1,10 +0,0 @@
1
- /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
- {
3
- "extends": "./tsconfig.lib.json",
4
- "compilerOptions": {
5
- "declarationMap": false
6
- },
7
- "angularCompilerOptions": {
8
- "compilationMode": "partial"
9
- }
10
- }
@@ -1,14 +0,0 @@
1
- /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
- {
3
- "extends": "../../tsconfig.json",
4
- "compilerOptions": {
5
- "outDir": "../../out-tsc/spec",
6
- "types": [
7
- "jasmine"
8
- ]
9
- },
10
- "include": [
11
- "**/*.spec.ts",
12
- "**/*.d.ts"
13
- ]
14
- }
package/tsconfig.json DELETED
@@ -1,38 +0,0 @@
1
- /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
- {
3
- "compileOnSave": false,
4
- "compilerOptions": {
5
- "paths": {
6
- "angular-table": [
7
- "./dist/angular-table"
8
- ]
9
- },
10
- "outDir": "./dist/out-tsc",
11
- "forceConsistentCasingInFileNames": true,
12
- "strict": true,
13
- "noImplicitOverride": true,
14
- "noPropertyAccessFromIndexSignature": true,
15
- "noImplicitReturns": true,
16
- "noFallthroughCasesInSwitch": true,
17
- "skipLibCheck": true,
18
- "esModuleInterop": true,
19
- "sourceMap": true,
20
- "declaration": false,
21
- "experimentalDecorators": true,
22
- "moduleResolution": "node",
23
- "importHelpers": true,
24
- "target": "ES2022",
25
- "module": "ES2022",
26
- "useDefineForClassFields": false,
27
- "lib": [
28
- "ES2022",
29
- "dom"
30
- ]
31
- },
32
- "angularCompilerOptions": {
33
- "enableI18nLegacyMessageIdFormat": false,
34
- "strictInjectionParameters": true,
35
- "strictInputAccessModifiers": true,
36
- "strictTemplates": true
37
- }
38
- }