@polygrid/angular 0.0.601 → 0.0.602

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.
@@ -24,6 +24,13 @@ function columnInputEffect(value, grid) {
24
24
  });
25
25
  }
26
26
 
27
+ function loadingInputEffect(value, grid) {
28
+ return effect(() => {
29
+ if (grid)
30
+ grid.api.setLoading(value());
31
+ });
32
+ }
33
+
27
34
  class PolyGridNoDataTemplateDirective {
28
35
  template;
29
36
  constructor(template) {
@@ -125,10 +132,12 @@ class PolyGridComponent {
125
132
  id = input.required(...(ngDevMode ? [{ debugName: "id" }] : []));
126
133
  columns = input([], ...(ngDevMode ? [{ debugName: "columns" }] : []));
127
134
  data = input([], ...(ngDevMode ? [{ debugName: "data" }] : []));
135
+ loading = input(false, ...(ngDevMode ? [{ debugName: "loading" }] : []));
128
136
  // reactive effects
129
137
  gridIdEffect;
130
138
  dataEffect;
131
139
  columnEffect;
140
+ loadingEffect;
132
141
  ngAfterViewInit() {
133
142
  const host = this.hostRef.nativeElement;
134
143
  const registry = this.templateCollector.collect(this.noDataTemplateDir);
@@ -144,6 +153,7 @@ class PolyGridComponent {
144
153
  this.gridIdEffect = gridIdInputEffect(this.id, this.grid);
145
154
  this.dataEffect = dataInputEffect(this.data, this.grid);
146
155
  this.columnEffect = columnInputEffect(this.columns, this.grid);
156
+ this.loadingEffect = loadingInputEffect(this.loading, this.grid);
147
157
  });
148
158
  }
149
159
  ngOnDestroy() {
@@ -151,7 +161,7 @@ class PolyGridComponent {
151
161
  this.grid = null;
152
162
  }
153
163
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: PolyGridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
154
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.6", type: PolyGridComponent, isStandalone: true, selector: "pg-grid", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: true, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "noDataTemplateDir", first: true, predicate: PolyGridNoDataTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "hostRef", first: true, predicate: ["host"], descendants: true, static: true }], ngImport: i0, template: "<div #host class=\"pg-host\"></div>\r\n", styles: [":host{display:block;width:100%;height:100%}.pg-host{width:100%;height:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
164
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.6", type: PolyGridComponent, isStandalone: true, selector: "pg-grid", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: true, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "noDataTemplateDir", first: true, predicate: PolyGridNoDataTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "hostRef", first: true, predicate: ["host"], descendants: true, static: true }], ngImport: i0, template: "<div #host class=\"pg-host\"></div>\r\n", styles: [":host{display:block;width:100%;height:100%}.pg-host{width:100%;height:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
155
165
  }
156
166
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: PolyGridComponent, decorators: [{
157
167
  type: Component,
@@ -162,7 +172,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImpor
162
172
  }], noDataTemplateDir: [{
163
173
  type: ContentChild,
164
174
  args: [PolyGridNoDataTemplateDirective]
165
- }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: true }] }], columns: [{ type: i0.Input, args: [{ isSignal: true, alias: "columns", required: false }] }], data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }] } });
175
+ }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: true }] }], columns: [{ type: i0.Input, args: [{ isSignal: true, alias: "columns", required: false }] }], data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }] } });
166
176
 
167
177
  class POLY_GRID {
168
178
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: POLY_GRID, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -1 +1 @@
1
- {"version":3,"file":"polygrid-angular.mjs","sources":["../../src/lib/effects/grid-id.ts","../../src/lib/effects/data.ts","../../src/lib/effects/column.ts","../../src/lib/directives/no-data.ts","../../src/lib/services/templates/template-mount.ts","../../src/lib/services/renderer-adapter/no-data.ts","../../src/lib/services/renderer-adapter/renderer-adapter-factory.ts","../../src/lib/services/template-collector/extract-no-data.ts","../../src/lib/services/template-collector/template-collector.ts","../../src/lib/components/grid/poly-grid.ts","../../src/lib/components/grid/poly-grid.html","../../src/lib/modules/poly-grid.ts","../../src/polygrid-angular.ts"],"sourcesContent":["import { effect, EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\n\r\nexport function gridIdInputEffect(\r\n value: Signal<string>,\r\n grid: PolyGrid\r\n): EffectRef {\r\n return effect(() => {\r\n if (grid) grid.api.setGridId(value());\r\n });\r\n}\r\n","import { effect, EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\n\r\nexport function dataInputEffect(\r\n value: Signal<any[]>,\r\n grid: PolyGrid\r\n): EffectRef {\r\n return effect(() => {\r\n if (grid) grid.api.setData(value());\r\n });\r\n}\r\n","import { effect, EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { PolyGridColumn } from \"@polygrid/core/engine/services/column/interfaces/column\";\r\n\r\nexport function columnInputEffect(\r\n value: Signal<PolyGridColumn[]>,\r\n grid: PolyGrid\r\n): EffectRef {\r\n return effect(() => {\r\n if (grid) grid.api.setColumns(value());\r\n });\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[polyGridNoDataTemplate]\",\r\n})\r\nexport class PolyGridNoDataTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { ApplicationRef, Injectable, TemplateRef } from \"@angular/core\";\r\nimport { RendererHandle } from \"@polygrid/core/engine/services/renderer/interfaces/renderer-handle\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class TemplateMountService {\r\n constructor(private appRef: ApplicationRef) {}\r\n\r\n mount<T>(\r\n template: TemplateRef<T>,\r\n container: HTMLElement,\r\n context: T\r\n ): RendererHandle {\r\n const view = template.createEmbeddedView(context);\r\n this.appRef.attachView(view);\r\n view.detectChanges();\r\n\r\n const frag = document.createDocumentFragment();\r\n for (const node of view.rootNodes) frag.appendChild(node);\r\n container.appendChild(frag);\r\n\r\n return {\r\n update: (partial: Partial<T>) => {\r\n Object.assign(view.context as any, partial);\r\n view.detectChanges();\r\n },\r\n destroy: () => {\r\n this.appRef.detachView(view);\r\n view.destroy();\r\n },\r\n };\r\n }\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@polygrid/core/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { NoDataMount } from \"@polygrid/core/engine/services/renderer/interfaces/template-mounts/no-data-mount\";\r\n\r\nexport function renderNoDataTemplate(\r\n req: NoDataMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n context: req.context,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { inject, Injectable } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { TemplateRegistry } from \"../templates/interfaces/template-registry\";\r\nimport { RendererAdapter } from \"@polygrid/core/engine/services/renderer/interfaces/renderer-adapter\";\r\nimport { renderNoDataTemplate } from \"./no-data\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class RendererAdapterFactory {\r\n private templateMountService = inject(TemplateMountService);\r\n\r\n buildAdapter(templates: TemplateRegistry): RendererAdapter {\r\n return {\r\n renderNoDataTemplate: (req) =>\r\n renderNoDataTemplate(req, templates.noData, this.templateMountService),\r\n };\r\n }\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { PolyGridNoDataTemplateDirective } from \"../../directives/no-data\";\r\n\r\nexport function extractNoDataTemplate(\r\n dir?: PolyGridNoDataTemplateDirective\r\n): TemplateRef<any> | undefined {\r\n return dir?.template;\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { PolyGridNoDataTemplateDirective } from \"../../directives/no-data\";\r\nimport { TemplateRegistry } from \"../templates/interfaces/template-registry\";\r\nimport { extractNoDataTemplate } from \"./extract-no-data\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class TemplateCollectorService {\r\n collect(noDataTplDir?: PolyGridNoDataTemplateDirective): TemplateRegistry {\r\n return {\r\n noData: extractNoDataTemplate(noDataTplDir),\r\n };\r\n }\r\n}\r\n","import {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n Component,\r\n ContentChild,\r\n EffectRef,\r\n ElementRef,\r\n inject,\r\n Injector,\r\n input,\r\n OnDestroy,\r\n runInInjectionContext,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport * as effects from \"../../effects/index\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { PolyGridColumn } from \"@polygrid/core/engine/services/column/interfaces/column\";\r\nimport { PolyGridOptions } from \"@polygrid/core/engine/core/interfaces/grid-options\";\r\nimport { PolyGridNoDataTemplateDirective } from \"../../directives/no-data\";\r\nimport { RendererAdapterFactory } from \"../../services/renderer-adapter/renderer-adapter-factory\";\r\nimport { TemplateCollectorService } from \"../../services/template-collector/template-collector\";\r\n\r\n@Component({\r\n selector: \"pg-grid\",\r\n imports: [CommonModule],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n templateUrl: \"./poly-grid.html\",\r\n styleUrl: \"./poly-grid.css\",\r\n})\r\nexport class PolyGridComponent implements AfterViewInit, OnDestroy {\r\n private grid: PolyGrid | null = null;\r\n private injector = inject(Injector);\r\n private adapterFactory = inject(RendererAdapterFactory);\r\n private templateCollector = inject(TemplateCollectorService);\r\n\r\n @ViewChild(\"host\", { static: true }) hostRef!: ElementRef<HTMLDivElement>;\r\n @ContentChild(PolyGridNoDataTemplateDirective)\r\n noDataTemplateDir?: PolyGridNoDataTemplateDirective;\r\n\r\n // inputs\r\n id = input.required<string>();\r\n columns = input<PolyGridColumn[]>([]);\r\n data = input<any[]>([]);\r\n\r\n // reactive effects\r\n gridIdEffect!: EffectRef;\r\n dataEffect!: EffectRef;\r\n columnEffect!: EffectRef;\r\n\r\n ngAfterViewInit(): void {\r\n const host = this.hostRef.nativeElement;\r\n const registry = this.templateCollector.collect(this.noDataTemplateDir);\r\n const adapter = this.adapterFactory.buildAdapter(registry);\r\n\r\n const options: PolyGridOptions = {\r\n id: this.id(),\r\n columns: this.columns(),\r\n data: this.data(),\r\n rendererAdapter: adapter,\r\n };\r\n\r\n this.grid = new PolyGrid(host, options);\r\n\r\n runInInjectionContext(this.injector, () => {\r\n this.gridIdEffect = effects.gridIdInputEffect(this.id, this.grid!);\r\n this.dataEffect = effects.dataInputEffect(this.data, this.grid!);\r\n this.columnEffect = effects.columnInputEffect(this.columns, this.grid!);\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.grid?.destroy();\r\n this.grid = null;\r\n }\r\n}\r\n","<div #host class=\"pg-host\"></div>\r\n","import { NgModule } from \"@angular/core\";\r\nimport {\r\n PolyGridComponent,\r\n PolyGridNoDataTemplateDirective,\r\n} from \"../../public-api\";\r\n\r\n@NgModule({\r\n imports: [PolyGridComponent, PolyGridNoDataTemplateDirective],\r\n exports: [PolyGridComponent, PolyGridNoDataTemplateDirective],\r\n providers: [],\r\n})\r\nexport class POLY_GRID {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["effects.gridIdInputEffect","effects.dataInputEffect","effects.columnInputEffect"],"mappings":"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"}
1
+ {"version":3,"file":"polygrid-angular.mjs","sources":["../../src/lib/effects/grid-id.ts","../../src/lib/effects/data.ts","../../src/lib/effects/column.ts","../../src/lib/effects/loading.ts","../../src/lib/directives/no-data.ts","../../src/lib/services/templates/template-mount.ts","../../src/lib/services/renderer-adapter/no-data.ts","../../src/lib/services/renderer-adapter/renderer-adapter-factory.ts","../../src/lib/services/template-collector/extract-no-data.ts","../../src/lib/services/template-collector/template-collector.ts","../../src/lib/components/grid/poly-grid.ts","../../src/lib/components/grid/poly-grid.html","../../src/lib/modules/poly-grid.ts","../../src/polygrid-angular.ts"],"sourcesContent":["import { effect, EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\n\r\nexport function gridIdInputEffect(\r\n value: Signal<string>,\r\n grid: PolyGrid\r\n): EffectRef {\r\n return effect(() => {\r\n if (grid) grid.api.setGridId(value());\r\n });\r\n}\r\n","import { effect, EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\n\r\nexport function dataInputEffect(\r\n value: Signal<any[]>,\r\n grid: PolyGrid\r\n): EffectRef {\r\n return effect(() => {\r\n if (grid) grid.api.setData(value());\r\n });\r\n}\r\n","import { effect, EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { PolyGridColumn } from \"@polygrid/core/engine/services/column/interfaces/column\";\r\n\r\nexport function columnInputEffect(\r\n value: Signal<PolyGridColumn[]>,\r\n grid: PolyGrid\r\n): EffectRef {\r\n return effect(() => {\r\n if (grid) grid.api.setColumns(value());\r\n });\r\n}\r\n","import { effect, EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\n\r\nexport function loadingInputEffect(\r\n value: Signal<boolean>,\r\n grid: PolyGrid\r\n): EffectRef {\r\n return effect(() => {\r\n if (grid) grid.api.setLoading(value());\r\n });\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[polyGridNoDataTemplate]\",\r\n})\r\nexport class PolyGridNoDataTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { ApplicationRef, Injectable, TemplateRef } from \"@angular/core\";\r\nimport { RendererHandle } from \"@polygrid/core/engine/services/renderer/interfaces/renderer-handle\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class TemplateMountService {\r\n constructor(private appRef: ApplicationRef) {}\r\n\r\n mount<T>(\r\n template: TemplateRef<T>,\r\n container: HTMLElement,\r\n context: T\r\n ): RendererHandle {\r\n const view = template.createEmbeddedView(context);\r\n this.appRef.attachView(view);\r\n view.detectChanges();\r\n\r\n const frag = document.createDocumentFragment();\r\n for (const node of view.rootNodes) frag.appendChild(node);\r\n container.appendChild(frag);\r\n\r\n return {\r\n update: (partial: Partial<T>) => {\r\n Object.assign(view.context as any, partial);\r\n view.detectChanges();\r\n },\r\n destroy: () => {\r\n this.appRef.detachView(view);\r\n view.destroy();\r\n },\r\n };\r\n }\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@polygrid/core/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { NoDataMount } from \"@polygrid/core/engine/services/renderer/interfaces/template-mounts/no-data-mount\";\r\n\r\nexport function renderNoDataTemplate(\r\n req: NoDataMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n context: req.context,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { inject, Injectable } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { TemplateRegistry } from \"../templates/interfaces/template-registry\";\r\nimport { RendererAdapter } from \"@polygrid/core/engine/services/renderer/interfaces/renderer-adapter\";\r\nimport { renderNoDataTemplate } from \"./no-data\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class RendererAdapterFactory {\r\n private templateMountService = inject(TemplateMountService);\r\n\r\n buildAdapter(templates: TemplateRegistry): RendererAdapter {\r\n return {\r\n renderNoDataTemplate: (req) =>\r\n renderNoDataTemplate(req, templates.noData, this.templateMountService),\r\n };\r\n }\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { PolyGridNoDataTemplateDirective } from \"../../directives/no-data\";\r\n\r\nexport function extractNoDataTemplate(\r\n dir?: PolyGridNoDataTemplateDirective\r\n): TemplateRef<any> | undefined {\r\n return dir?.template;\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { PolyGridNoDataTemplateDirective } from \"../../directives/no-data\";\r\nimport { TemplateRegistry } from \"../templates/interfaces/template-registry\";\r\nimport { extractNoDataTemplate } from \"./extract-no-data\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class TemplateCollectorService {\r\n collect(noDataTplDir?: PolyGridNoDataTemplateDirective): TemplateRegistry {\r\n return {\r\n noData: extractNoDataTemplate(noDataTplDir),\r\n };\r\n }\r\n}\r\n","import {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n Component,\r\n ContentChild,\r\n EffectRef,\r\n ElementRef,\r\n inject,\r\n Injector,\r\n input,\r\n OnDestroy,\r\n runInInjectionContext,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport * as effects from \"../../effects/index\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { PolyGridColumn } from \"@polygrid/core/engine/services/column/interfaces/column\";\r\nimport { PolyGridOptions } from \"@polygrid/core/engine/core/interfaces/grid-options\";\r\nimport { PolyGridNoDataTemplateDirective } from \"../../directives/no-data\";\r\nimport { RendererAdapterFactory } from \"../../services/renderer-adapter/renderer-adapter-factory\";\r\nimport { TemplateCollectorService } from \"../../services/template-collector/template-collector\";\r\n\r\n@Component({\r\n selector: \"pg-grid\",\r\n imports: [CommonModule],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n templateUrl: \"./poly-grid.html\",\r\n styleUrl: \"./poly-grid.css\",\r\n})\r\nexport class PolyGridComponent implements AfterViewInit, OnDestroy {\r\n private grid: PolyGrid | null = null;\r\n private injector = inject(Injector);\r\n private adapterFactory = inject(RendererAdapterFactory);\r\n private templateCollector = inject(TemplateCollectorService);\r\n\r\n @ViewChild(\"host\", { static: true }) hostRef!: ElementRef<HTMLDivElement>;\r\n @ContentChild(PolyGridNoDataTemplateDirective)\r\n noDataTemplateDir?: PolyGridNoDataTemplateDirective;\r\n\r\n // inputs\r\n id = input.required<string>();\r\n columns = input<PolyGridColumn[]>([]);\r\n data = input<any[]>([]);\r\n loading = input<boolean>(false);\r\n\r\n // reactive effects\r\n gridIdEffect!: EffectRef;\r\n dataEffect!: EffectRef;\r\n columnEffect!: EffectRef;\r\n loadingEffect!: EffectRef;\r\n\r\n ngAfterViewInit(): void {\r\n const host = this.hostRef.nativeElement;\r\n const registry = this.templateCollector.collect(this.noDataTemplateDir);\r\n const adapter = this.adapterFactory.buildAdapter(registry);\r\n\r\n const options: PolyGridOptions = {\r\n id: this.id(),\r\n columns: this.columns(),\r\n data: this.data(),\r\n rendererAdapter: adapter,\r\n };\r\n\r\n this.grid = new PolyGrid(host, options);\r\n\r\n runInInjectionContext(this.injector, () => {\r\n this.gridIdEffect = effects.gridIdInputEffect(this.id, this.grid!);\r\n this.dataEffect = effects.dataInputEffect(this.data, this.grid!);\r\n this.columnEffect = effects.columnInputEffect(this.columns, this.grid!);\r\n this.loadingEffect = effects.loadingInputEffect(this.loading, this.grid!);\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.grid?.destroy();\r\n this.grid = null;\r\n }\r\n}\r\n","<div #host class=\"pg-host\"></div>\r\n","import { NgModule } from \"@angular/core\";\r\nimport {\r\n PolyGridComponent,\r\n PolyGridNoDataTemplateDirective,\r\n} from \"../../public-api\";\r\n\r\n@NgModule({\r\n imports: [PolyGridComponent, PolyGridNoDataTemplateDirective],\r\n exports: [PolyGridComponent, PolyGridNoDataTemplateDirective],\r\n providers: [],\r\n})\r\nexport class POLY_GRID {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["effects.gridIdInputEffect","effects.dataInputEffect","effects.columnInputEffect","effects.loadingInputEffect"],"mappings":";;;;;AAGM,SAAU,iBAAiB,CAC/B,KAAqB,EACrB,IAAc,EAAA;IAEd,OAAO,MAAM,CAAC,MAAK;AACjB,QAAA,IAAI,IAAI;YAAE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;AACvC,IAAA,CAAC,CAAC;AACJ;;ACPM,SAAU,eAAe,CAC7B,KAAoB,EACpB,IAAc,EAAA;IAEd,OAAO,MAAM,CAAC,MAAK;AACjB,QAAA,IAAI,IAAI;YAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;AACrC,IAAA,CAAC,CAAC;AACJ;;ACNM,SAAU,iBAAiB,CAC/B,KAA+B,EAC/B,IAAc,EAAA;IAEd,OAAO,MAAM,CAAC,MAAK;AACjB,QAAA,IAAI,IAAI;YAAE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;AACxC,IAAA,CAAC,CAAC;AACJ;;ACRM,SAAU,kBAAkB,CAChC,KAAsB,EACtB,IAAc,EAAA;IAEd,OAAO,MAAM,CAAC,MAAK;AACjB,QAAA,IAAI,IAAI;YAAE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;AACxC,IAAA,CAAC,CAAC;AACJ;;MCLa,+BAA+B,CAAA;AACvB,IAAA,QAAA;AAAnB,IAAA,WAAA,CAAmB,QAA0B,EAAA;QAA1B,IAAA,CAAA,QAAQ,GAAR,QAAQ;IAAqB;uGADrC,+BAA+B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAA/B,+BAA+B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAA/B,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAH3C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,0BAA0B;AACrC,iBAAA;;;MCAY,oBAAoB,CAAA;AACX,IAAA,MAAA;AAApB,IAAA,WAAA,CAAoB,MAAsB,EAAA;QAAtB,IAAA,CAAA,MAAM,GAAN,MAAM;IAAmB;AAE7C,IAAA,KAAK,CACH,QAAwB,EACxB,SAAsB,EACtB,OAAU,EAAA;QAEV,MAAM,IAAI,GAAG,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC;AACjD,QAAA,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,aAAa,EAAE;AAEpB,QAAA,MAAM,IAAI,GAAG,QAAQ,CAAC,sBAAsB,EAAE;AAC9C,QAAA,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,SAAS;AAAE,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;AACzD,QAAA,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC;QAE3B,OAAO;AACL,YAAA,MAAM,EAAE,CAAC,OAAmB,KAAI;gBAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAc,EAAE,OAAO,CAAC;gBAC3C,IAAI,CAAC,aAAa,EAAE;YACtB,CAAC;YACD,OAAO,EAAE,MAAK;AACZ,gBAAA,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;gBAC5B,IAAI,CAAC,OAAO,EAAE;YAChB,CAAC;SACF;IACH;uGA1BW,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAApB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cADP,MAAM,EAAA,CAAA;;2FACnB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBADhC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;SCElB,oBAAoB,CAClC,GAAgB,EAChB,QAAsC,EACtC,oBAA0C,EAAA;AAE1C,IAAA,IAAI,CAAC,QAAQ;AAAE,QAAA,OAAO,IAAI;AAE1B,IAAA,MAAM,GAAG,GAAG;QACV,SAAS,EAAE,GAAG,CAAC,OAAO;QACtB,OAAO,EAAE,GAAG,CAAC,OAAO;KACrB;AAED,IAAA,OAAO,oBAAoB,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC;AACjE;;MCXa,sBAAsB,CAAA;AACzB,IAAA,oBAAoB,GAAG,MAAM,CAAC,oBAAoB,CAAC;AAE3D,IAAA,YAAY,CAAC,SAA2B,EAAA;QACtC,OAAO;AACL,YAAA,oBAAoB,EAAE,CAAC,GAAG,KACxB,oBAAoB,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,oBAAoB,CAAC;SACzE;IACH;uGARW,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAtB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,cADT,MAAM,EAAA,CAAA;;2FACnB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBADlC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACH5B,SAAU,qBAAqB,CACnC,GAAqC,EAAA;IAErC,OAAO,GAAG,EAAE,QAAQ;AACtB;;MCDa,wBAAwB,CAAA;AACnC,IAAA,OAAO,CAAC,YAA8C,EAAA;QACpD,OAAO;AACL,YAAA,MAAM,EAAE,qBAAqB,CAAC,YAAY,CAAC;SAC5C;IACH;uGALW,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAxB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cADX,MAAM,EAAA,CAAA;;2FACnB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBADpC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;MCyBrB,iBAAiB,CAAA;IACpB,IAAI,GAAoB,IAAI;AAC5B,IAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC3B,IAAA,cAAc,GAAG,MAAM,CAAC,sBAAsB,CAAC;AAC/C,IAAA,iBAAiB,GAAG,MAAM,CAAC,wBAAwB,CAAC;AAEvB,IAAA,OAAO;AAE5C,IAAA,iBAAiB;;AAGjB,IAAA,EAAE,GAAG,KAAK,CAAC,QAAQ,6CAAU;AAC7B,IAAA,OAAO,GAAG,KAAK,CAAmB,EAAE,mDAAC;AACrC,IAAA,IAAI,GAAG,KAAK,CAAQ,EAAE,gDAAC;AACvB,IAAA,OAAO,GAAG,KAAK,CAAU,KAAK,mDAAC;;AAG/B,IAAA,YAAY;AACZ,IAAA,UAAU;AACV,IAAA,YAAY;AACZ,IAAA,aAAa;IAEb,eAAe,GAAA;AACb,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa;AACvC,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC;QACvE,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,QAAQ,CAAC;AAE1D,QAAA,MAAM,OAAO,GAAoB;AAC/B,YAAA,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE;AACb,YAAA,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;AACvB,YAAA,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;AACjB,YAAA,eAAe,EAAE,OAAO;SACzB;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;AAEvC,QAAA,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAK;AACxC,YAAA,IAAI,CAAC,YAAY,GAAGA,iBAAyB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAK,CAAC;AAClE,YAAA,IAAI,CAAC,UAAU,GAAGC,eAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAK,CAAC;AAChE,YAAA,IAAI,CAAC,YAAY,GAAGC,iBAAyB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAK,CAAC;AACvE,YAAA,IAAI,CAAC,aAAa,GAAGC,kBAA0B,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAK,CAAC;AAC3E,QAAA,CAAC,CAAC;IACJ;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE;AACpB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;IAClB;uGA/CW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAjB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,EAAA,EAAA,EAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAOd,+BAA+B,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,MAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECrC/C,yCACA,sIDwBY,YAAY,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAKX,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAP7B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,SAAS,WACV,CAAC,YAAY,CAAC,EAAA,eAAA,EACN,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,yCAAA,EAAA,MAAA,EAAA,CAAA,+EAAA,CAAA,EAAA;;sBAU9C,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;sBAClC,YAAY;uBAAC,+BAA+B;;;ME1BlC,SAAS,CAAA;uGAAT,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAT,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,SAAS,YAJV,iBAAiB,EAAE,+BAA+B,CAAA,EAAA,OAAA,EAAA,CAClD,iBAAiB,EAAE,+BAA+B,CAAA,EAAA,CAAA;AAGjD,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,SAAS,YAJV,iBAAiB,CAAA,EAAA,CAAA;;2FAIhB,SAAS,EAAA,UAAA,EAAA,CAAA;kBALrB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,iBAAiB,EAAE,+BAA+B,CAAC;AAC7D,oBAAA,OAAO,EAAE,CAAC,iBAAiB,EAAE,+BAA+B,CAAC;AAC7D,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA;;;ACVD;;AAEG;;;;"}
@@ -19,13 +19,15 @@ declare class PolyGridComponent implements AfterViewInit, OnDestroy {
19
19
  id: i0.InputSignal<string>;
20
20
  columns: i0.InputSignal<PolyGridColumn[]>;
21
21
  data: i0.InputSignal<any[]>;
22
+ loading: i0.InputSignal<boolean>;
22
23
  gridIdEffect: EffectRef;
23
24
  dataEffect: EffectRef;
24
25
  columnEffect: EffectRef;
26
+ loadingEffect: EffectRef;
25
27
  ngAfterViewInit(): void;
26
28
  ngOnDestroy(): void;
27
29
  static ɵfac: i0.ɵɵFactoryDeclaration<PolyGridComponent, never>;
28
- static ɵcmp: i0.ɵɵComponentDeclaration<PolyGridComponent, "pg-grid", never, { "id": { "alias": "id"; "required": true; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; }, {}, ["noDataTemplateDir"], never, true, never>;
30
+ static ɵcmp: i0.ɵɵComponentDeclaration<PolyGridComponent, "pg-grid", never, { "id": { "alias": "id"; "required": true; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; }, {}, ["noDataTemplateDir"], never, true, never>;
29
31
  }
30
32
 
31
33
  declare class POLY_GRID {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@polygrid/angular",
3
- "version": "0.0.601",
3
+ "version": "0.0.602",
4
4
  "peerDependencies": {
5
5
  "@angular/core": "^21.0.6",
6
6
  "@angular/common": "^21.0.6",