@guiexpert/angular-table 16.0.0 → 16.0.1

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 (36) hide show
  1. package/README.md +116 -2
  2. package/esm2022/guiexpert-angular-table.mjs +5 -0
  3. package/esm2022/lib/component-renderer.if.mjs +2 -0
  4. package/esm2022/lib/service/dom-service.mjs +56 -0
  5. package/esm2022/lib/service/render-wrapper-factory.mjs +22 -0
  6. package/esm2022/lib/service/renderer-wrapper.mjs +44 -0
  7. package/esm2022/lib/table.component.mjs +97 -0
  8. package/esm2022/public-api.mjs +9 -0
  9. package/fesm2022/guiexpert-angular-table.mjs +221 -0
  10. package/fesm2022/guiexpert-angular-table.mjs.map +1 -0
  11. package/index.d.ts +5 -0
  12. package/lib/component-renderer.if.d.ts +4 -0
  13. package/lib/service/dom-service.d.ts +17 -0
  14. package/lib/service/render-wrapper-factory.d.ts +13 -0
  15. package/lib/service/renderer-wrapper.d.ts +14 -0
  16. package/lib/table.component.d.ts +39 -0
  17. package/package.json +21 -7
  18. package/public-api.d.ts +5 -0
  19. package/.eslintrc.json +0 -46
  20. package/.idea/angular-table.iml +0 -12
  21. package/.idea/modules.xml +0 -8
  22. package/.idea/vcs.xml +0 -6
  23. package/ng-package.json +0 -7
  24. package/project.json +0 -37
  25. package/src/index.ts +0 -5
  26. package/src/lib/angular-table/component-renderer.if.ts +0 -12
  27. package/src/lib/angular-table/service/dom-service.ts +0 -54
  28. package/src/lib/angular-table/service/render-wrapper-factory.ts +0 -24
  29. package/src/lib/angular-table/service/renderer-wrapper.ts +0 -86
  30. package/src/lib/angular-table/table-color-classes.css +0 -90
  31. package/src/lib/angular-table/table-color-vars.css +0 -141
  32. package/src/lib/angular-table/table.component.css +0 -88
  33. package/src/lib/angular-table/table.component.ts +0 -152
  34. package/tsconfig.json +0 -28
  35. package/tsconfig.lib.json +0 -18
  36. package/tsconfig.lib.prod.json +0 -9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guiexpert-angular-table.mjs","sources":["../../../projects/angular-table/src/lib/service/dom-service.ts","../../../projects/angular-table/src/lib/table.component.ts","../../../projects/angular-table/src/lib/service/renderer-wrapper.ts","../../../projects/angular-table/src/lib/service/render-wrapper-factory.ts","../../../projects/angular-table/src/public-api.ts","../../../projects/angular-table/src/guiexpert-angular-table.ts"],"sourcesContent":["import {Injectable, Renderer2} from \"@angular/core\";\nimport {DomServiceIf} from \"@guiexpert/table\";\n\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class DomService implements DomServiceIf {\n\n constructor(\n readonly renderer: Renderer2,\n ) {\n }\n\n setStyle(el: any, style: string, value: any): any {\n this.renderer.setStyle(el, style, value);\n return el;\n };\n\n\n appendText(parent: HTMLDivElement, text: string): HTMLDivElement {\n const div = this.renderer.createText(text);\n this.renderer.appendChild(parent, div);\n return div;\n }\n\n\n addClass(div: HTMLDivElement, clazz: string) {\n if (clazz.includes(' ')) {\n clazz.split(' ').forEach(c => this.renderer.addClass(div, c))\n } else {\n this.renderer.addClass(div, clazz);\n }\n return div;\n }\n\n removeClass(div: HTMLDivElement, clazz: string) {\n if (clazz.includes(\" \")) {\n clazz.split(\" \").forEach(c => div.classList.remove(c));\n } else {\n div.classList.remove(clazz);\n }\n return div;\n }\n\n appendChild(parent: HTMLElement, child: HTMLElement): void {\n this.renderer.appendChild(parent, child);\n }\n\n createElement<T>(name: string): T {\n return this.renderer.createElement(name);\n }\n\n createText(text: string): HTMLElement {\n return this.renderer.createText(text);\n }\n\n setAttribute(ele: HTMLElement, key: string, value: string): void {\n this.renderer.setAttribute(ele, key, value);\n }\n\n\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n ViewEncapsulation\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { debounceTime, Subject, takeWhile } from \"rxjs\";\nimport {\n EventListenerIf,\n GeModelChangeEvent,\n GeMouseEvent,\n TableApi,\n TableModelIf,\n TableOptions,\n TableOptionsIf,\n TableScope\n} from \"@guiexpert/table\";\nimport { DomService } from \"./service/dom-service\";\n\n\n@Component({\n selector: \"guiexpert-table\",\n standalone: true,\n imports: [CommonModule],\n providers: [DomService],\n template: \"\",\n styleUrls: [\n \"./table.component.css\"\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TableComponent implements OnInit, OnDestroy, EventListenerIf {\n\n @Output()\n tableReady = new Subject<TableApi>();\n\n @Output()\n mouseMoved: Subject<GeMouseEvent> = new Subject<GeMouseEvent>();\n\n @Output()\n mouseDragging: Subject<GeMouseEvent> = new Subject<GeMouseEvent>();\n\n @Output()\n mouseDraggingEnded: Subject<GeMouseEvent> = new Subject<GeMouseEvent>();\n\n @Output()\n contextmenu: Subject<GeMouseEvent> = new Subject<GeMouseEvent>();\n\n @Output()\n mouseClicked: Subject<GeMouseEvent> = new Subject<GeMouseEvent>();\n\n @Output()\n modelChanged: Subject<GeModelChangeEvent> = new Subject<GeModelChangeEvent>();\n\n @Output()\n checkboxChanged: Subject<any[]> = new Subject<any[]>();\n\n @Input()\n tableModel?: TableModelIf;\n\n @Input()\n tableOptions: TableOptionsIf = new TableOptions();\n\n @Input()\n debounceMouseClickDelay: number = 150;\n\n private debounceMouseClick: Subject<GeMouseEvent> = new Subject<GeMouseEvent>();\n\n private tableScope?: TableScope;\n private alive = true;\n\n\n constructor(\n private readonly renderer: Renderer2,\n private readonly elementRef: ElementRef,\n private readonly zone: NgZone,\n private readonly domService: DomService\n ) {\n }\n\n\n onContextmenu(evt: GeMouseEvent): void {\n this.contextmenu.next(evt);\n }\n\n onMouseMoved(evt: GeMouseEvent): void {\n this.mouseMoved.next(evt);\n }\n\n // will be called by table-scope:\n onMouseClicked(evt: GeMouseEvent): void {\n this.debounceMouseClick.next(evt);\n }\n\n onCheckboxChanged(arr: any[]): void {\n this.checkboxChanged.next(arr);\n }\n\n onModelChanged(evt: GeModelChangeEvent): void {\n this.modelChanged.next(evt);\n }\n\n ngOnInit(): void {\n this.initModel();\n this.debounceMouseClick\n .pipe(\n debounceTime(this.debounceMouseClickDelay),\n takeWhile(() => this.alive)\n )\n .subscribe((value) => this.mouseClicked.next(value));\n }\n\n ngOnDestroy(): void {\n this.alive = false;\n }\n\n\n onMouseDragging(evt: GeMouseEvent): void {\n this.mouseDragging.next(evt);\n }\n\n onMouseDraggingEnd(evt: GeMouseEvent): void {\n this.mouseDraggingEnded.next(evt);\n }\n\n\n private initModel() {\n this.zone.runOutsideAngular(this.init.bind(this));\n }\n\n private init() {\n if (this.tableModel) {\n this.tableScope = new TableScope(\n this.elementRef.nativeElement, this.tableModel, this.domService, this.tableOptions, this\n );\n this.tableScope.firstInit();\n this.tableReady.next(this.tableScope.getApi());\n }\n }\n\n\n}\n","import {AreaIdent, AreaModelIf, CellRendererIf, DomServiceIf, RendererCleanupFnType} from \"@guiexpert/table\";\nimport {\n ApplicationRef,\n ChangeDetectorRef,\n createComponent,\n EnvironmentInjector,\n EventEmitter,\n NgZone,\n Type\n} from \"@angular/core\";\nimport {ComponentRendererIf} from \"../component-renderer.if\";\nimport {Subject, takeUntil} from \"rxjs\";\nimport {Observable} from \"rxjs/internal/Observable\";\n\n\nexport class RendererWrapper<T extends ComponentRendererIf<T>>\n implements CellRendererIf {\n\n public readonly event$ = new EventEmitter<any>();\n private readonly closed$ = new Subject<number>();\n\n constructor(\n private componentType: Type<ComponentRendererIf<T>>,\n private appRef: ApplicationRef,\n private injector: EnvironmentInjector,\n private cdr: ChangeDetectorRef,\n private readonly zone: NgZone\n ) {\n }\n\n render(\n cellDiv: HTMLDivElement,\n rowIndex: number,\n columnIndex: number,\n areaIdent: AreaIdent,\n areaModel: AreaModelIf,\n cellValue: any,\n domService: DomServiceIf): RendererCleanupFnType | undefined {\n\n const componentRef = createComponent(this.componentType, {\n environmentInjector: this.injector\n });\n componentRef.instance.setData(\n rowIndex,\n columnIndex,\n areaIdent,\n areaModel,\n cellValue);\n\n\n const emmiterNames = Object.keys(componentRef.instance)\n .filter(key => {\n // @ts-ignore\n const t = componentRef.instance[key];\n return t['subscribe']\n });\n\n // @ts-ignore\n const observables: Observable[] = (emmiterNames.map(key => (componentRef.instance[key] as Observable)));\n observables.forEach(obs => obs\n .pipe(\n takeUntil(this.closed$)\n )\n .subscribe((event: any) => {\n console.info('RendererWrapper event >', event); // TODO hmm?\n this.event$.next(event);\n })\n );\n\n cellDiv.appendChild(componentRef.location.nativeElement);\n\n this.appRef.attachView(componentRef.hostView);\n\n this.zone.run(() => {\n this.cdr.detectChanges();\n });\n\n return () => {\n // clean up:\n this.appRef.detachView(componentRef.hostView);\n this.closed$.next(Date.now());\n };\n }\n\n\n}\n","import {ApplicationRef, ChangeDetectorRef, EnvironmentInjector, Injectable, NgZone, Type} from \"@angular/core\";\nimport {ComponentRendererIf} from \"../component-renderer.if\";\nimport {RendererWrapper} from \"./renderer-wrapper\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class RenderWrapperFactory {\n\n constructor(\n private readonly appRef: ApplicationRef,\n private readonly injector: EnvironmentInjector,\n private readonly zone: NgZone\n ) {\n }\n\n create<T>(\n componentType: Type<ComponentRendererIf<T>>,\n cdr: ChangeDetectorRef\n ) {\n return new RendererWrapper(componentType, this.appRef, this.injector, cdr, this.zone);\n }\n\n}\n","/*\n * Public API Surface of angular-table\n */\n\nexport * from './lib/table.component';\nexport * from './lib/component-renderer.if';\nexport * from './lib/service/dom-service';\nexport * from './lib/service/renderer-wrapper';\nexport * from './lib/service/render-wrapper-factory';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.DomService"],"mappings":"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"}
package/index.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@guiexpert/angular-table" />
5
+ export * from './public-api';
@@ -0,0 +1,4 @@
1
+ import { AreaIdent, AreaModelIf, RendererCleanupFnType } from "@guiexpert/table";
2
+ export interface ComponentRendererIf<T> {
3
+ setData(rowIndex: number, columnIndex: number, areaIdent: AreaIdent, areaModel: AreaModelIf, cellValue: any): RendererCleanupFnType | undefined;
4
+ }
@@ -0,0 +1,17 @@
1
+ import { Renderer2 } from "@angular/core";
2
+ import { DomServiceIf } from "@guiexpert/table";
3
+ import * as i0 from "@angular/core";
4
+ export declare class DomService implements DomServiceIf {
5
+ readonly renderer: Renderer2;
6
+ constructor(renderer: Renderer2);
7
+ setStyle(el: any, style: string, value: any): any;
8
+ appendText(parent: HTMLDivElement, text: string): HTMLDivElement;
9
+ addClass(div: HTMLDivElement, clazz: string): HTMLDivElement;
10
+ removeClass(div: HTMLDivElement, clazz: string): HTMLDivElement;
11
+ appendChild(parent: HTMLElement, child: HTMLElement): void;
12
+ createElement<T>(name: string): T;
13
+ createText(text: string): HTMLElement;
14
+ setAttribute(ele: HTMLElement, key: string, value: string): void;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<DomService, never>;
16
+ static ɵprov: i0.ɵɵInjectableDeclaration<DomService>;
17
+ }
@@ -0,0 +1,13 @@
1
+ import { ApplicationRef, ChangeDetectorRef, EnvironmentInjector, NgZone, Type } from "@angular/core";
2
+ import { ComponentRendererIf } from "../component-renderer.if";
3
+ import { RendererWrapper } from "./renderer-wrapper";
4
+ import * as i0 from "@angular/core";
5
+ export declare class RenderWrapperFactory {
6
+ private readonly appRef;
7
+ private readonly injector;
8
+ private readonly zone;
9
+ constructor(appRef: ApplicationRef, injector: EnvironmentInjector, zone: NgZone);
10
+ create<T>(componentType: Type<ComponentRendererIf<T>>, cdr: ChangeDetectorRef): RendererWrapper<ComponentRendererIf<T>>;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<RenderWrapperFactory, never>;
12
+ static ɵprov: i0.ɵɵInjectableDeclaration<RenderWrapperFactory>;
13
+ }
@@ -0,0 +1,14 @@
1
+ import { AreaIdent, AreaModelIf, CellRendererIf, DomServiceIf, RendererCleanupFnType } from "@guiexpert/table";
2
+ import { ApplicationRef, ChangeDetectorRef, EnvironmentInjector, EventEmitter, NgZone, Type } from "@angular/core";
3
+ import { ComponentRendererIf } from "../component-renderer.if";
4
+ export declare class RendererWrapper<T extends ComponentRendererIf<T>> implements CellRendererIf {
5
+ private componentType;
6
+ private appRef;
7
+ private injector;
8
+ private cdr;
9
+ private readonly zone;
10
+ readonly event$: EventEmitter<any>;
11
+ private readonly closed$;
12
+ constructor(componentType: Type<ComponentRendererIf<T>>, appRef: ApplicationRef, injector: EnvironmentInjector, cdr: ChangeDetectorRef, zone: NgZone);
13
+ render(cellDiv: HTMLDivElement, rowIndex: number, columnIndex: number, areaIdent: AreaIdent, areaModel: AreaModelIf, cellValue: any, domService: DomServiceIf): RendererCleanupFnType | undefined;
14
+ }
@@ -0,0 +1,39 @@
1
+ import { ElementRef, NgZone, OnDestroy, OnInit, Renderer2 } from "@angular/core";
2
+ import { Subject } from "rxjs";
3
+ import { EventListenerIf, GeModelChangeEvent, GeMouseEvent, TableApi, TableModelIf, TableOptionsIf } from "@guiexpert/table";
4
+ import { DomService } from "./service/dom-service";
5
+ import * as i0 from "@angular/core";
6
+ export declare class TableComponent implements OnInit, OnDestroy, EventListenerIf {
7
+ private readonly renderer;
8
+ private readonly elementRef;
9
+ private readonly zone;
10
+ private readonly domService;
11
+ tableReady: Subject<TableApi>;
12
+ mouseMoved: Subject<GeMouseEvent>;
13
+ mouseDragging: Subject<GeMouseEvent>;
14
+ mouseDraggingEnded: Subject<GeMouseEvent>;
15
+ contextmenu: Subject<GeMouseEvent>;
16
+ mouseClicked: Subject<GeMouseEvent>;
17
+ modelChanged: Subject<GeModelChangeEvent>;
18
+ checkboxChanged: Subject<any[]>;
19
+ tableModel?: TableModelIf;
20
+ tableOptions: TableOptionsIf;
21
+ debounceMouseClickDelay: number;
22
+ private debounceMouseClick;
23
+ private tableScope?;
24
+ private alive;
25
+ constructor(renderer: Renderer2, elementRef: ElementRef, zone: NgZone, domService: DomService);
26
+ onContextmenu(evt: GeMouseEvent): void;
27
+ onMouseMoved(evt: GeMouseEvent): void;
28
+ onMouseClicked(evt: GeMouseEvent): void;
29
+ onCheckboxChanged(arr: any[]): void;
30
+ onModelChanged(evt: GeModelChangeEvent): void;
31
+ ngOnInit(): void;
32
+ ngOnDestroy(): void;
33
+ onMouseDragging(evt: GeMouseEvent): void;
34
+ onMouseDraggingEnd(evt: GeMouseEvent): void;
35
+ private initModel;
36
+ private init;
37
+ static ɵfac: i0.ɵɵFactoryDeclaration<TableComponent, never>;
38
+ static ɵcmp: i0.ɵɵComponentDeclaration<TableComponent, "guiexpert-table", never, { "tableModel": { "alias": "tableModel"; "required": false; }; "tableOptions": { "alias": "tableOptions"; "required": false; }; "debounceMouseClickDelay": { "alias": "debounceMouseClickDelay"; "required": false; }; }, { "tableReady": "tableReady"; "mouseMoved": "mouseMoved"; "mouseDragging": "mouseDragging"; "mouseDraggingEnded": "mouseDraggingEnded"; "contextmenu": "contextmenu"; "mouseClicked": "mouseClicked"; "modelChanged": "modelChanged"; "checkboxChanged": "checkboxChanged"; }, never, never, true, never>;
39
+ }
package/package.json CHANGED
@@ -1,14 +1,28 @@
1
1
  {
2
2
  "name": "@guiexpert/angular-table",
3
- "version": "16.0.0",
4
- "scripts": {
5
- "publish": "npm publish"
6
- },
3
+ "version": "16.0.1",
7
4
  "peerDependencies": {
8
- "@angular/common": "^16.0.0",
9
- "@angular/core": "^16.0.0"
5
+ "@angular/common": "^16.2.12",
6
+ "@angular/core": "^16.2.12"
10
7
  },
11
8
  "dependencies": {
12
9
  "tslib": "^2.3.0"
10
+ },
11
+ "repository": {
12
+ "url": "https://github.com/guiexperttable/angluar-14-table"
13
+ },
14
+ "sideEffects": false,
15
+ "module": "fesm2022/guiexpert-angular-table.mjs",
16
+ "typings": "index.d.ts",
17
+ "exports": {
18
+ "./package.json": {
19
+ "default": "./package.json"
20
+ },
21
+ ".": {
22
+ "types": "./index.d.ts",
23
+ "esm2022": "./esm2022/guiexpert-angular-table.mjs",
24
+ "esm": "./esm2022/guiexpert-angular-table.mjs",
25
+ "default": "./fesm2022/guiexpert-angular-table.mjs"
26
+ }
13
27
  }
14
- }
28
+ }
@@ -0,0 +1,5 @@
1
+ export * from './lib/table.component';
2
+ export * from './lib/component-renderer.if';
3
+ export * from './lib/service/dom-service';
4
+ export * from './lib/service/renderer-wrapper';
5
+ export * from './lib/service/render-wrapper-factory';
package/.eslintrc.json DELETED
@@ -1,46 +0,0 @@
1
- {
2
- "extends": [
3
- "../../.eslintrc.json"
4
- ],
5
- "ignorePatterns": [
6
- "!**/*"
7
- ],
8
- "overrides": [
9
- {
10
- "files": [
11
- "*.ts"
12
- ],
13
- "extends": [
14
- "plugin:@nrwl/nx/angular",
15
- "plugin:@angular-eslint/template/process-inline-templates"
16
- ],
17
- "rules": {
18
- "@angular-eslint/directive-selector": [
19
- "error",
20
- {
21
- "type": "attribute",
22
- "prefix": "guiexpert",
23
- "style": "camelCase"
24
- }
25
- ],
26
- "@angular-eslint/component-selector": [
27
- "error",
28
- {
29
- "type": "element",
30
- "prefix": "guiexpert",
31
- "style": "kebab-case"
32
- }
33
- ]
34
- }
35
- },
36
- {
37
- "files": [
38
- "*.html"
39
- ],
40
- "extends": [
41
- "plugin:@nrwl/nx/angular-template"
42
- ],
43
- "rules": {}
44
- }
45
- ]
46
- }
@@ -1,12 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <module type="WEB_MODULE" version="4">
3
- <component name="NewModuleRootManager">
4
- <content url="file://$MODULE_DIR$">
5
- <excludeFolder url="file://$MODULE_DIR$/.tmp" />
6
- <excludeFolder url="file://$MODULE_DIR$/temp" />
7
- <excludeFolder url="file://$MODULE_DIR$/tmp" />
8
- </content>
9
- <orderEntry type="inheritedJdk" />
10
- <orderEntry type="sourceFolder" forTests="false" />
11
- </component>
12
- </module>
package/.idea/modules.xml DELETED
@@ -1,8 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ProjectModuleManager">
4
- <modules>
5
- <module fileurl="file://$PROJECT_DIR$/.idea/angular-table.iml" filepath="$PROJECT_DIR$/.idea/angular-table.iml" />
6
- </modules>
7
- </component>
8
- </project>
package/.idea/vcs.xml DELETED
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="VcsDirectoryMappings">
4
- <mapping directory="" vcs="Git" />
5
- </component>
6
- </project>
package/ng-package.json DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
3
- "dest": "../../dist/libs/angular-table",
4
- "lib": {
5
- "entryFile": "src/index.ts"
6
- }
7
- }
package/project.json DELETED
@@ -1,37 +0,0 @@
1
- {
2
- "name": "@guiexpert/angular-table",
3
- "$schema": "../../node_modules/nx/schemas/project-schema.json",
4
- "projectType": "library",
5
- "sourceRoot": "libs/angular-table/src",
6
- "prefix": "guiexpert",
7
- "targets": {
8
- "build": {
9
- "executor": "@nrwl/angular:package",
10
- "outputs": [
11
- "dist/libs/angular-table"
12
- ],
13
- "options": {
14
- "project": "libs/angular-table/ng-package.json"
15
- },
16
- "configurations": {
17
- "production": {
18
- "tsConfig": "libs/angular-table/tsconfig.lib.prod.json"
19
- },
20
- "development": {
21
- "tsConfig": "libs/angular-table/tsconfig.lib.json"
22
- }
23
- },
24
- "defaultConfiguration": "production"
25
- },
26
- "lint": {
27
- "executor": "@nrwl/linter:eslint",
28
- "options": {
29
- "lintFilePatterns": [
30
- "libs/angular-table/**/*.ts",
31
- "libs/angular-table/**/*.html"
32
- ]
33
- }
34
- }
35
- },
36
- "tags": []
37
- }
package/src/index.ts DELETED
@@ -1,5 +0,0 @@
1
- export * from './lib/angular-table/table.component';
2
- export * from './lib/angular-table/component-renderer.if';
3
- export * from './lib/angular-table/service/dom-service';
4
- export * from './lib/angular-table/service/renderer-wrapper';
5
- export * from './lib/angular-table/service/render-wrapper-factory';
@@ -1,12 +0,0 @@
1
- import {AreaIdent, AreaModelIf, RendererCleanupFnType} from "@guiexpert/table";
2
-
3
- export interface ComponentRendererIf<T> {
4
-
5
- setData(
6
- rowIndex: number,
7
- columnIndex: number,
8
- areaIdent: AreaIdent,
9
- areaModel: AreaModelIf,
10
- cellValue: any): RendererCleanupFnType | undefined;
11
-
12
- }
@@ -1,54 +0,0 @@
1
- import {Injectable, Renderer2} from "@angular/core";
2
- import {DomServiceIf} from "@guiexpert/table";
3
-
4
-
5
- @Injectable({
6
- providedIn: "root"
7
- })
8
- export class DomService implements DomServiceIf {
9
-
10
- constructor(
11
- readonly renderer: Renderer2,
12
- ) {
13
- }
14
-
15
- setStyle(el: any, style: string, value: any): any {
16
- this.renderer.setStyle(el, style, value);
17
- return el;
18
- };
19
-
20
-
21
- appendText(parent: HTMLDivElement, text: string): HTMLDivElement {
22
- const div = this.renderer.createText(text);
23
- this.renderer.appendChild(parent, div);
24
- return div;
25
- }
26
-
27
-
28
- addClass(div: HTMLDivElement, clazz: string) {
29
- if (clazz.includes(' ')) {
30
- clazz.split(' ').forEach(c => this.renderer.addClass(div, c))
31
- } else {
32
- this.renderer.addClass(div, clazz);
33
- }
34
- return div;
35
- }
36
-
37
- appendChild(parent: HTMLElement, child: HTMLElement): void {
38
- this.renderer.appendChild(parent, child);
39
- }
40
-
41
- createElement<T>(name: string): T {
42
- return this.renderer.createElement(name);
43
- }
44
-
45
- createText(text: string): HTMLElement {
46
- return this.renderer.createText(text);
47
- }
48
-
49
- setAttribute(ele: HTMLElement, key: string, value: string): void {
50
- this.renderer.setAttribute(ele, key, value);
51
- }
52
-
53
-
54
- }
@@ -1,24 +0,0 @@
1
- import {ApplicationRef, ChangeDetectorRef, EnvironmentInjector, Injectable, NgZone, Type} from "@angular/core";
2
- import {ComponentRendererIf} from "../component-renderer.if";
3
- import {RendererWrapper} from "./renderer-wrapper";
4
-
5
- @Injectable({
6
- providedIn: "root"
7
- })
8
- export class RenderWrapperFactory {
9
-
10
- constructor(
11
- private readonly appRef: ApplicationRef,
12
- private readonly injector: EnvironmentInjector,
13
- private readonly zone: NgZone
14
- ) {
15
- }
16
-
17
- create<T>(
18
- componentType: Type<ComponentRendererIf<T>>,
19
- cdr: ChangeDetectorRef
20
- ) {
21
- return new RendererWrapper(componentType, this.appRef, this.injector, cdr, this.zone);
22
- }
23
-
24
- }
@@ -1,86 +0,0 @@
1
- import {AreaIdent, AreaModelIf, CellRendererIf, DomServiceIf, RendererCleanupFnType} from "@guiexpert/table";
2
- import {
3
- ApplicationRef,
4
- ChangeDetectorRef,
5
- createComponent,
6
- EnvironmentInjector,
7
- EventEmitter,
8
- NgZone,
9
- Type
10
- } from "@angular/core";
11
- import {ComponentRendererIf} from "../component-renderer.if";
12
- import {Subject, takeUntil} from "rxjs";
13
- import {Observable} from "rxjs/internal/Observable";
14
-
15
-
16
- export class RendererWrapper<T extends ComponentRendererIf<T>>
17
- implements CellRendererIf {
18
-
19
- public readonly event$ = new EventEmitter<any>();
20
- private readonly closed$ = new Subject<number>();
21
-
22
- constructor(
23
- private componentType: Type<ComponentRendererIf<T>>,
24
- private appRef: ApplicationRef,
25
- private injector: EnvironmentInjector,
26
- private cdr: ChangeDetectorRef,
27
- private readonly zone: NgZone
28
- ) {
29
- }
30
-
31
- render(
32
- cellDiv: HTMLDivElement,
33
- rowIndex: number,
34
- columnIndex: number,
35
- areaIdent: AreaIdent,
36
- areaModel: AreaModelIf,
37
- cellValue: any,
38
- domService: DomServiceIf): RendererCleanupFnType | undefined {
39
-
40
- const componentRef = createComponent(this.componentType, {
41
- environmentInjector: this.injector
42
- });
43
- componentRef.instance.setData(
44
- rowIndex,
45
- columnIndex,
46
- areaIdent,
47
- areaModel,
48
- cellValue);
49
-
50
-
51
- const emmiterNames = Object.keys(componentRef.instance)
52
- .filter(key => {
53
- // @ts-ignore
54
- const t = componentRef.instance[key];
55
- return t['subscribe']
56
- });
57
-
58
- // @ts-ignore
59
- const observables: Observable[] = (emmiterNames.map(key => (componentRef.instance[key] as Observable)));
60
- observables.forEach(obs => obs
61
- .pipe(
62
- takeUntil(this.closed$)
63
- )
64
- .subscribe((event: any) => {
65
- console.info('RendererWrapper event >', event); // TODO hmm?
66
- this.event$.next(event);
67
- })
68
- );
69
-
70
- cellDiv.appendChild(componentRef.location.nativeElement);
71
-
72
- this.appRef.attachView(componentRef.hostView);
73
-
74
- this.zone.run(() => {
75
- this.cdr.detectChanges();
76
- });
77
-
78
- return () => {
79
- // clean up:
80
- this.appRef.detachView(componentRef.hostView);
81
- this.closed$.next(Date.now());
82
- };
83
- }
84
-
85
-
86
- }
@@ -1,90 +0,0 @@
1
-
2
-
3
- .ge-table { background-color: var(--ge-table-bg); }
4
-
5
- .ge-table-header-west { background-color: var(--ge-table-header-west-bg); }
6
- .ge-table-header-center { background-color: var(--ge-table-header-center-bg); }
7
- .ge-table-header-east { background-color: var(--ge-table-header-east-bg); }
8
- .ge-table-header-west { color: var(--ge-table-header-west-text); }
9
- .ge-table-header-center { color: var(--ge-table-header-center-text); }
10
- .ge-table-header-east { color: var(--ge-table-header-east-text); }
11
-
12
- .ge-table-header-west-horizontal-border { background-color: var(--ge-table-header-west-horizontal-border); }
13
- .ge-table-header-west-vertical-border { background-color: var(--ge-table-header-west-vertical-border); }
14
- .ge-table-header-center-horizontal-border { background-color: var(--ge-table-header-center-horizontal-border); }
15
- .ge-table-header-center-vertical-border { background-color: var(--ge-table-header-center-vertical-border); }
16
- .ge-table-header-east-horizontal-border { background-color: var(--ge-table-header-east-horizontal-border); }
17
- .ge-table-header-east-vertical-border { background-color: var(--ge-table-header-east-vertical-border); }
18
-
19
-
20
- .ge-table-body-west { background-color: var(--ge-table-body-west-bg); }
21
- .ge-table-body-center { background-color: var(--ge-table-body-center-bg); }
22
- .ge-table-body-east { background-color: var(--ge-table-body-east-bg); }
23
- .ge-table-body-west { color: var(--ge-table-body-west-text); }
24
- .ge-table-body-center { color: var(--ge-table-body-center-text); }
25
- .ge-table-body-east { color: var(--ge-table-body-east-text); }
26
-
27
- .ge-table-body-west-horizontal-border { background-color: var(--ge-table-body-west-horizontal-border); }
28
- .ge-table-body-west-vertical-border { background-color: var(--ge-table-body-west-vertical-border); }
29
- .ge-table-body-center-horizontal-border { background-color: var(--ge-table-body-center-horizontal-border); }
30
- .ge-table-body-center-vertical-border { background-color: var(--ge-table-body-center-vertical-border); }
31
- .ge-table-body-east-horizontal-border { background-color: var(--ge-table-body-east-horizontal-border); }
32
- .ge-table-body-east-vertical-border { background-color: var(--ge-table-body-east-vertical-border); }
33
-
34
- .ge-table-body-west-selected-range { background-color: var(--ge-table-body-west-selected-range-bg); }
35
- .ge-table-body-center-selected-range { background-color: var(--ge-table-body-center-selected-range-bg); }
36
- .ge-table-body-east-selected-range { background-color: var(--ge-table-body-east-selected-range-bg); }
37
- .ge-table-body-west-selected-range { color: var(--ge-table-body-west-selected-range-text); }
38
- .ge-table-body-center-selected-range { color: var(--ge-table-body-center-selected-range-text); }
39
- .ge-table-body-east-selected-range { color: var(--ge-table-body-east-selected-range-text); }
40
-
41
-
42
-
43
-
44
-
45
-
46
- .ge-table-footer-west { background-color: var(--ge-table-footer-west-bg); }
47
- .ge-table-footer-center { background-color: var(--ge-table-footer-center-bg); }
48
- .ge-table-footer-east { background-color: var(--ge-table-footer-east-bg); }
49
-
50
- .ge-table-footer-west { color: var(--ge-table-footer-west-text); }
51
- .ge-table-footer-center { color: var(--ge-table-footer-center-text); }
52
- .ge-table-footer-east { color: var(--ge-table-footer-east-text); }
53
-
54
- .ge-table-footer-west-horizontal-border { background-color: var(--ge-table-footer-west-horizontal-border); }
55
- .ge-table-footer-west-vertical-border { background-color: var(--ge-table-footer-west-vertical-border); }
56
- .ge-table-footer-center-horizontal-border { background-color: var(--ge-table-footer-center-horizontal-border); }
57
- .ge-table-footer-center-vertical-border { background-color: var(--ge-table-footer-center-vertical-border); }
58
- .ge-table-footer-east-horizontal-border { background-color: var(--ge-table-footer-east-horizontal-border); }
59
- .ge-table-footer-east-vertical-border { background-color: var(--ge-table-footer-east-vertical-border); }
60
-
61
-
62
-
63
-
64
- .ge-table-border { background-color: var(--ge-table-border); }
65
- .ge-table-row-odd {background-color: var(--ge-table-row-odd-bg); }
66
- .ge-table-row-even {background-color: var(--ge-table-row-even-bg); }
67
- .ge-table-column-odd {background-color: var(--ge-table-column-odd-bg); }
68
- .ge-table-column-even {background-color: var(--ge-table-column-even-bg); }
69
-
70
- .ge-table-hover-column { background-color: var(--ge-table-hover-column-bg); }
71
- .ge-table-hover-row { background-color: var(--ge-table-hover-row-bg); }
72
-
73
- .ge-table-focus-border { background-color: var(--ge-table-focus-border); }
74
- .ge-table-color-col-resize-handle-hover { background-color: var(--ge-table-color-col-resize-handle-hover-bg); }
75
- .ge-table-color-dragged-col-div { background-color: var(--ge-table-color-dragged-col-div-bg); }
76
- .ge-table-color-drop-zone { background-color: var(--ge-table-color-drop-zone-bg); }
77
- .ge-table-color-drop-zone { background-color: var(--ge-table-color-drop-zone); }
78
- .ge-table-color-tree-arrow-collapsed-color { background-color: var(--ge-table-color-tree-arrow-collapsed-color); }
79
- .ge-table-color-error { color: var(--ge-table-color-error-text); }
80
- .ge-table-tree-arrow-collapsed { color: var(--ge-table-tree-arrow-collapsed-color);}
81
- .ge-table-column-resize-handle:hover { background-color: var(--ge-table-column-resize-handle-border) }
82
-
83
- .ge-table-drop-zone { background-color: var(--ge-table-drop-zone-bg); }
84
- .ge-table-dragged-col-div { background-color: var(--ge-table-dragged-col-div-bg); }
85
-
86
- /*TODO geht das überhaupt?*/
87
- .ge-table-cell-editor-input,
88
- .ge-table-cell-editor-input:focus-within {
89
- border: none;
90
- }