@guiexpert/angular-table 14.0.0 → 15.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 (35) hide show
  1. package/.eslintrc.json +46 -0
  2. package/.idea/angular-table.iml +12 -0
  3. package/.idea/modules.xml +8 -0
  4. package/.idea/vcs.xml +6 -0
  5. package/ng-package.json +7 -0
  6. package/package.json +7 -36
  7. package/project.json +37 -0
  8. package/src/lib/angular-table/component-renderer.if.ts +12 -0
  9. package/src/lib/angular-table/service/dom-service.ts +54 -0
  10. package/src/lib/angular-table/service/render-wrapper-factory.ts +24 -0
  11. package/src/lib/angular-table/service/renderer-wrapper.ts +86 -0
  12. package/src/lib/angular-table/table-color-classes.css +90 -0
  13. package/src/lib/angular-table/table-color-vars.css +141 -0
  14. package/src/lib/angular-table/table.component.css +88 -0
  15. package/src/lib/angular-table/table.component.ts +152 -0
  16. package/tsconfig.json +28 -0
  17. package/tsconfig.lib.json +18 -0
  18. package/tsconfig.lib.prod.json +9 -0
  19. package/esm2020/guiexpert-angular-table.mjs +0 -5
  20. package/esm2020/index.mjs +0 -6
  21. package/esm2020/lib/angular-table/component-renderer.if.mjs +0 -2
  22. package/esm2020/lib/angular-table/service/dom-service.mjs +0 -47
  23. package/esm2020/lib/angular-table/service/render-wrapper-factory.mjs +0 -22
  24. package/esm2020/lib/angular-table/service/renderer-wrapper.mjs +0 -44
  25. package/esm2020/lib/angular-table/table.component.mjs +0 -104
  26. package/fesm2015/guiexpert-angular-table.mjs +0 -215
  27. package/fesm2015/guiexpert-angular-table.mjs.map +0 -1
  28. package/fesm2020/guiexpert-angular-table.mjs +0 -215
  29. package/fesm2020/guiexpert-angular-table.mjs.map +0 -1
  30. package/lib/angular-table/component-renderer.if.d.ts +0 -4
  31. package/lib/angular-table/service/dom-service.d.ts +0 -16
  32. package/lib/angular-table/service/render-wrapper-factory.d.ts +0 -13
  33. package/lib/angular-table/service/renderer-wrapper.d.ts +0 -14
  34. package/lib/angular-table/table.component.d.ts +0 -41
  35. /package/{index.d.ts → src/index.ts} +0 -0
package/.eslintrc.json ADDED
@@ -0,0 +1,46 @@
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
+ }
@@ -0,0 +1,12 @@
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>
@@ -0,0 +1,8 @@
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 ADDED
@@ -0,0 +1,6 @@
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>
@@ -0,0 +1,7 @@
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/package.json CHANGED
@@ -1,43 +1,14 @@
1
1
  {
2
2
  "name": "@guiexpert/angular-table",
3
- "version": "14.0.0",
3
+ "version": "15.0.1",
4
+ "scripts": {
5
+ "publish": "npm publish"
6
+ },
4
7
  "peerDependencies": {
5
- "@angular/common": "^14.2.0",
6
- "@angular/core": "^14.2.0",
7
- "@guiexpert/table": "0.0.1",
8
- "rxjs": "7.5.7"
8
+ "@angular/common": "^15.0.0",
9
+ "@angular/core": "^15.0.0"
9
10
  },
10
11
  "dependencies": {
11
12
  "tslib": "^2.3.0"
12
- },
13
- "module": "fesm2015/guiexpert-angular-table.mjs",
14
- "es2020": "fesm2020/guiexpert-angular-table.mjs",
15
- "esm2020": "esm2020/guiexpert-angular-table.mjs",
16
- "fesm2020": "fesm2020/guiexpert-angular-table.mjs",
17
- "fesm2015": "fesm2015/guiexpert-angular-table.mjs",
18
- "typings": "index.d.ts",
19
- "exports": {
20
- "./package.json": {
21
- "default": "./package.json"
22
- },
23
- ".": {
24
- "types": "./index.d.ts",
25
- "esm2020": "./esm2020/guiexpert-angular-table.mjs",
26
- "es2020": "./fesm2020/guiexpert-angular-table.mjs",
27
- "es2015": "./fesm2015/guiexpert-angular-table.mjs",
28
- "node": "./fesm2015/guiexpert-angular-table.mjs",
29
- "default": "./fesm2020/guiexpert-angular-table.mjs"
30
- }
31
- },
32
- "sideEffects": false,
33
- "description": "coming soon",
34
- "main": "index.js",
35
- "directories": {
36
- "lib": "lib"
37
- },
38
- "scripts": {
39
- "test": "echo \"Error: no test specified\" && exit 1"
40
- },
41
- "author": "",
42
- "license": "ISC"
13
+ }
43
14
  }
package/project.json ADDED
@@ -0,0 +1,37 @@
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
+ }
@@ -0,0 +1,12 @@
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
+ }
@@ -0,0 +1,54 @@
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
+ }
@@ -0,0 +1,24 @@
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
+ }
@@ -0,0 +1,86 @@
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
+ }
@@ -0,0 +1,90 @@
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
+ }
@@ -0,0 +1,141 @@
1
+
2
+ :root [data-theme= "light"] {
3
+ --ge-table-bg: #fff;
4
+ --ge-table-header-west-bg: var(--ge-table-header-center-bg);
5
+ --ge-table-header-center-bg: rgba(233, 233, 233, 0.5);
6
+ --ge-table-header-east-bg: var(--ge-table-header-center-bg);
7
+ --ge-table-header-west-text: var(--ge-table-header-center-text);
8
+ --ge-table-header-center-text: #000;
9
+ --ge-table-header-east-text: var(--ge-table-header-center-text);
10
+
11
+ --ge-table-header-west-horizontal-border: var(--ge-table-header-center-horizontal-border);
12
+ --ge-table-header-west-vertical-border: var(--ge-table-header-center-vertical-border);
13
+ --ge-table-header-center-horizontal-border: #ddd;
14
+ --ge-table-header-center-vertical-border: #ccc;
15
+ --ge-table-header-east-horizontal-border: var(--ge-table-header-center-horizontal-border);
16
+ --ge-table-header-east-vertical-border: var(--ge-table-header-center-vertical-border);
17
+
18
+
19
+ --ge-table-body-west-bg: var(--ge-table-header-center-bg);
20
+ --ge-table-body-center-bg: rgba(255,255,255, 0.5);
21
+ --ge-table-body-east-bg: var(--ge-table-header-center-bg);
22
+
23
+ --ge-table-body-west-text: var(--ge-table-header-center-text);
24
+ --ge-table-body-center-text: var(--ge-table-header-center-text);
25
+ --ge-table-body-east-text: var(--ge-table-header-center-text);
26
+
27
+ --ge-table-body-west-horizontal-border: var(--ge-table-header-west-horizontal-border);
28
+ --ge-table-body-west-vertical-border: var(--ge-table-header-west-vertical-border);
29
+ --ge-table-body-center-horizontal-border: #bbb;
30
+ --ge-table-body-center-vertical-border: #ddd;
31
+ --ge-table-body-east-horizontal-border: var(--ge-table-header-east-horizontal-border);
32
+ --ge-table-body-east-vertical-border: var(--ge-table-header-east-vertical-border);;
33
+
34
+
35
+ --ge-table-footer-west-bg: var(--ge-table-header-center-bg);
36
+ --ge-table-footer-center-bg: var(--ge-table-header-center-bg);
37
+ --ge-table-footer-east-bg: var(--ge-table-header-center-bg);
38
+
39
+ --ge-table-footer-west-text: var(--ge-table-header-center-text);
40
+ --ge-table-footer-center-text: var(--ge-table-header-center-text);
41
+ --ge-table-footer-east-text: var(--ge-table-header-center-text);
42
+
43
+ --ge-table-footer-west-horizontal-border: var(--ge-table-header-west-horizontal-border);
44
+ --ge-table-footer-west-vertical-border: var(--ge-table-header-west-vertical-border);
45
+ --ge-table-footer-center-horizontal-border: var(--ge-table-header-center-horizontal-border);
46
+ --ge-table-footer-center-vertical-border: var(--ge-table-header-center-vertical-border);
47
+ --ge-table-footer-east-horizontal-border: var(--ge-table-header-east-horizontal-border);
48
+ --ge-table-footer-east-vertical-border: var(--ge-table-header-east-vertical-border);
49
+
50
+
51
+ --ge-table-body-west-selected-range-bg: rgba(0, 152, 219, 0.4);
52
+ --ge-table-body-center-selected-range-bg: rgba(0, 152, 219, 0.4);
53
+ --ge-table-body-east-selected-range-bg: rgba(0, 152, 219, 0.4);
54
+ --ge-table-body-west-selected-range-text: #000;
55
+ --ge-table-body-center-selected-range-text: #000;
56
+ --ge-table-body-east-selected-range-text: #000;
57
+
58
+
59
+ --ge-table-border : #ccc;
60
+
61
+ --ge-table-row-odd-bg: transparent;
62
+ --ge-table-row-even-bg: transparent;
63
+ --ge-table-column-odd-bg: transparent;
64
+ --ge-table-column-even-bg: transparent;
65
+
66
+ --ge-table-hover-column-bg: rgba(0, 224, 255, 0.27);
67
+ --ge-table-hover-row-bg: rgba(0, 224, 255, 0.27);
68
+ --ge-table-focus-border: rgb(0, 255, 255);
69
+
70
+ --ge-table-color-error-text: #e00034;
71
+ --ge-table-tree-arrow-collapsed-color: #e00034;
72
+ --ge-table-column-resize-handle-border: rgb(0, 255, 255);
73
+
74
+ --ge-table-dragged-col-div-bg: lightcyan;
75
+ --ge-table-drop-zone-bg: rgba(244, 255, 242, 0.6);
76
+ }
77
+
78
+
79
+
80
+
81
+ :root [data-theme= "dark"] {
82
+ --ge-table-bg: #000;
83
+ --ge-table-header-west-bg: oklch(0% 0 0);
84
+ --ge-table-header-center-bg: oklch(0% 0 0);
85
+ --ge-table-header-east-bg: oklch(0% 0 0);
86
+ --ge-table-header-west-text: oklch(100% 0 0);
87
+ --ge-table-header-center-text: oklch(100% 0 0);
88
+ --ge-table-header-east-text: oklch(100% 0 0);
89
+ --ge-table-header-west-horizontal-border: oklch(30% 0 0);
90
+ --ge-table-header-west-vertical-border: oklch(32% 0 0);
91
+ --ge-table-header-center-horizontal-border: oklch(30% 0 0);
92
+ --ge-table-header-center-vertical-border: oklch(32% 0 0);
93
+ --ge-table-header-east-horizontal-border: oklch(30% 0 0);
94
+ --ge-table-header-east-vertical-border: oklch(32% 0 0);
95
+ --ge-table-body-west-bg: oklch(0% 0 0);
96
+ --ge-table-body-center-bg: oklch(0% 0 0);
97
+ --ge-table-body-east-bg: oklch(0% 0 0);
98
+ --ge-table-body-west-text: oklch(100% 0 0);
99
+ --ge-table-body-center-text: oklch(100% 0 0);
100
+ --ge-table-body-east-text: oklch(100% 0 0);
101
+ --ge-table-body-west-horizontal-border: oklch(30% 0 0);
102
+ --ge-table-body-west-vertical-border: oklch(32% 0 0);
103
+ --ge-table-body-center-horizontal-border: oklch(30% 0 0);
104
+ --ge-table-body-center-vertical-border: oklch(32% 0 0);
105
+ --ge-table-body-east-horizontal-border: oklch(30% 0 0);
106
+ --ge-table-body-east-vertical-border: oklch(32% 0 0);
107
+ --ge-table-footer-west-bg: oklch(0% 0 0);
108
+ --ge-table-footer-center-bg: oklch(0% 0 0);
109
+ --ge-table-footer-east-bg: oklch(0% 0 0);
110
+ --ge-table-footer-west-text: var(--ge-table-header-center-text);;
111
+ --ge-table-footer-center-text: var(--ge-table-header-center-text);;
112
+ --ge-table-footer-east-text: var(--ge-table-header-center-text);;
113
+ --ge-table-footer-west-horizontal-border: oklch(30% 0 0);
114
+ --ge-table-footer-west-vertical-border: oklch(32% 0 0);
115
+ --ge-table-footer-center-horizontal-border: oklch(30% 0 0);
116
+ --ge-table-footer-center-vertical-border: oklch(32% 0 0);
117
+ --ge-table-footer-east-horizontal-border: oklch(30% 0 0);
118
+ --ge-table-footer-east-vertical-border: oklch(32% 0 0);
119
+ --ge-table-border: oklch(32% 0 0);
120
+ --ge-table-row-odd-bg: oklch(0% 0 0);
121
+ --ge-table-row-even-bg: oklch(0% 0 0);
122
+ --ge-table-column-odd-bg: oklch(0% 0 0);
123
+ --ge-table-column-even-bg: oklch(0% 0 0);
124
+ --ge-table-hover-column-bg: oklch(0% 0 0);
125
+ --ge-table-hover-row-bg: oklch(0% 0 0);
126
+ --ge-table-focus-border: rgb(0, 255, 255);;
127
+ --ge-table-color-error-text: #ffa8b5;
128
+ --ge-table-tree-arrow-collapsed-color: #ffa8b5;
129
+ --ge-table-column-resize-handle-border: rgb(0, 255, 255);;
130
+ --ge-table-dragged-col-div-bg: oklch(0% 0 0);
131
+ --ge-table-drop-zone-bg: oklch(0% 0 0);
132
+
133
+
134
+
135
+ --ge-table-body-west-selected-range-bg: oklch(19% 0.2 205.2);
136
+ --ge-table-body-center-selected-range-bg: oklch(19% 0.2 205.2);
137
+ --ge-table-body-east-selected-range-bg: oklch(19% 0.2 205.2);
138
+ --ge-table-body-west-selected-range-text: #000;
139
+ --ge-table-body-center-selected-range-text: #000;
140
+ --ge-table-body-east-selected-range-text: #000;
141
+ }
@@ -0,0 +1,88 @@
1
+
2
+ .ge-table-col-div {
3
+ text-align: center;
4
+ line-height: 2.5;
5
+ user-select: none;
6
+ }
7
+
8
+ .ge-table-label-div {
9
+ padding: 0;
10
+ display: block;
11
+ text-overflow: ellipsis;
12
+ overflow: hidden;
13
+ }
14
+
15
+
16
+ .ge-table-label-div .ge-table-label {
17
+ padding-left: 10px;
18
+ padding-right: 10px;
19
+ }
20
+
21
+ .ge-table-text-align-left {
22
+ text-align: left;
23
+ }
24
+
25
+ .ge-table-text-align-right {
26
+ text-align: right;
27
+ }
28
+
29
+ .ge-table-text-align-center {
30
+ text-align: center;
31
+ }
32
+
33
+ /* Row checkbox */
34
+ .ge-table-row-checkbox-div {
35
+ padding-left: 14px;
36
+ }
37
+
38
+
39
+
40
+
41
+ /* Tree table */
42
+
43
+ .ge-table-col-div.ge-table-col-div-0.ge-table-tree-cell {
44
+ text-align: left;
45
+ }
46
+
47
+ .ge-table-tree-cell .ge-table-label-div {
48
+ padding-left: 0;
49
+ padding-right: 10px;
50
+ display: inline;
51
+ }
52
+
53
+
54
+ .ge-table-col-tree {
55
+ text-align: left;
56
+ }
57
+
58
+ .ge-padding-property-checkbox {
59
+ padding-left: 0;
60
+ }
61
+
62
+ .ge-table-col-tree.ge-table-tree-deep-0 {
63
+ padding-left: 16px;
64
+ }
65
+
66
+ .ge-table-col-tree.ge-table-tree-deep-1 {
67
+ padding-left: 36px;
68
+ }
69
+
70
+ .ge-table-col-tree.ge-table-tree-deep-2 {
71
+ padding-left: 56px;
72
+ }
73
+
74
+ .ge-table-col-tree.ge-table-tree-deep-3 {
75
+ padding-left: 76px;
76
+ }
77
+
78
+ .ge-table-col-tree.ge-table-tree-deep-4 {
79
+ padding-left: 96px;
80
+ }
81
+
82
+ .ge-table-col-tree.ge-table-tree-deep-5 {
83
+ padding-left: 116px;
84
+ }
85
+
86
+ .ge-table-col-tree.ge-table-tree-deep-5 {
87
+ padding-left: 136px;
88
+ }