ngx-deebodata 0.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.
package/package.json ADDED
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "ngx-deebodata",
3
+ "version": "0.0.1",
4
+ "peerDependencies": {
5
+ "@angular/common": "^21.2.0",
6
+ "@angular/core": "^21.2.0",
7
+ "@angular/forms": "^21.2.0",
8
+ "@angular/platform-browser": "^21.2.0"
9
+ },
10
+ "dependencies": {
11
+ "tslib": "^2.3.0"
12
+ },
13
+ "sideEffects": false,
14
+ "license": "(c) Copyright 2026 Cedar Technologies LLC. All rights reserved.",
15
+ "keywords": [
16
+ "data",
17
+ "grid",
18
+ "open-source",
19
+ "datagrid"
20
+ ],
21
+ "module": "fesm2022/ngx-deebodata.mjs",
22
+ "typings": "types/ngx-deebodata.d.ts",
23
+ "exports": {
24
+ "./package.json": {
25
+ "default": "./package.json"
26
+ },
27
+ ".": {
28
+ "types": "./types/ngx-deebodata.d.ts",
29
+ "default": "./fesm2022/ngx-deebodata.mjs"
30
+ }
31
+ },
32
+ "type": "module"
33
+ }
@@ -0,0 +1,439 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { EventEmitter, ElementRef, SimpleChanges } from '@angular/core';
3
+ import * as rxjs from 'rxjs';
4
+ import { Subject, Subscription } from 'rxjs';
5
+ import { HttpClient } from '@angular/common/http';
6
+
7
+ interface ColumnHeader {
8
+ column: string;
9
+ width?: string;
10
+ height?: string;
11
+ lineHeight?: string;
12
+ dataType: string;
13
+ freeze: boolean;
14
+ minimized: boolean;
15
+ hideMinCol: boolean;
16
+ }
17
+
18
+ declare class CommonService {
19
+ uniSep: string;
20
+ replaceUniSep(val: any): any;
21
+ elifyCol(col: string): string;
22
+ titleCase(str: any): any;
23
+ idCol(col: string): boolean | "";
24
+ mapLongDate(val: string): Date;
25
+ mapTxtMonths(val: string): "01" | "02" | "03" | "04" | "05" | "06" | "07" | "08" | "09" | "10" | "11" | "12";
26
+ testShortDate(val: string): boolean;
27
+ testISODate(val: string): boolean;
28
+ testLongDate(val: string): boolean;
29
+ coerceDate(val: any): any;
30
+ isADateObject(val: any): any;
31
+ stripSpecChars(word: any): any;
32
+ doBigData(num: number): string;
33
+ mystartsWith(str: string, query: string): boolean;
34
+ isEnterKey(event: any): boolean;
35
+ isTabKey(event: any): boolean;
36
+ keyCanSearch(event: any): boolean;
37
+ isSearchKey(event: any): boolean;
38
+ isBackKey(event: any): boolean;
39
+ isDeleteKey(event: any): boolean;
40
+ isSpaceKey(event: any): boolean;
41
+ isDownKey(event: any): boolean;
42
+ isUpKey(event: any): boolean;
43
+ dontSan(val: any): boolean;
44
+ sanitizeUi(val: any): any;
45
+ unbindMouseEvent(e: any): void;
46
+ goodLs: _angular_core.WritableSignal<boolean>;
47
+ getRgbParts(rgb: string): {
48
+ r: number;
49
+ g: number;
50
+ b: number;
51
+ };
52
+ componentToHex(c: any): any;
53
+ rgbToHex(r: any, g: any, b: any): string;
54
+ hexToRgb(hex: any): {
55
+ r: number;
56
+ g: number;
57
+ b: number;
58
+ } | null;
59
+ setLs(): void;
60
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CommonService, never>;
61
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<CommonService>;
62
+ }
63
+
64
+ interface ColumnSymbol {
65
+ column: string;
66
+ symbol?: string;
67
+ }
68
+
69
+ interface ColumnStyles {
70
+ column: string;
71
+ css: ValueCss[];
72
+ }
73
+ interface ValueCss {
74
+ value: string;
75
+ color?: string;
76
+ font_size?: string;
77
+ text_decoration?: string;
78
+ font_weight?: string;
79
+ }
80
+
81
+ declare class DataTableService {
82
+ private common;
83
+ private http;
84
+ constructor(common: CommonService, http: HttpClient);
85
+ sortOrder: string[];
86
+ mainData: any[];
87
+ mainDataLen: number;
88
+ tblTop: number;
89
+ tblBot: number;
90
+ tblLeft: number;
91
+ tblRight: number;
92
+ dpLim: number;
93
+ currFilData: any[];
94
+ currMapping: any;
95
+ mapperWorkerId: number;
96
+ dTblHeight: number;
97
+ defltRHgt: string;
98
+ isSorting: _angular_core.WritableSignal<boolean>;
99
+ isFiltering: _angular_core.WritableSignal<boolean>;
100
+ showCharts: _angular_core.WritableSignal<boolean>;
101
+ themeColor1: any;
102
+ themeColor2: any;
103
+ currEditCol: string;
104
+ currEditIndex: number;
105
+ visibleCols: string[];
106
+ currColumnEdit: any;
107
+ useColWid: string;
108
+ currGroup: string;
109
+ firstCol: string;
110
+ primaryKey: string;
111
+ autoScrollOnEdit: boolean;
112
+ listenToCloseExportOpts: boolean;
113
+ listenToCloseGroupByOpts: boolean;
114
+ currGrouping: Subject<any>;
115
+ closeExportOpts: Subject<boolean>;
116
+ closeGroupByOpts: Subject<boolean>;
117
+ gridEventWhileGrouped: Subject<any>;
118
+ gridScrollEndWhileGrouped: Subject<any>;
119
+ mouseupWhileGrouped: Subject<any>;
120
+ setIdealColumnWidth: Subject<any>;
121
+ currSelRows: any[];
122
+ displayOnlySelRows: boolean;
123
+ noDataMsg: string;
124
+ deboTotal: string;
125
+ bgSep: string;
126
+ errorLoading: boolean;
127
+ dataFilSrtTracker: any;
128
+ comparatorOpts: any;
129
+ badStrings: string[];
130
+ columnSymbols: ColumnSymbol[];
131
+ columnStyles: ColumnStyles[];
132
+ pieGraphColors: string[];
133
+ removePieCovers: boolean | string[];
134
+ getColumnStyle(col: string): string;
135
+ isLocalHost(andSet: boolean): boolean;
136
+ validateLicense(key: string): rxjs.Observable<Object>;
137
+ getNewTrackerObj(colName: string): {
138
+ filter: string;
139
+ comparator: string;
140
+ sort: null;
141
+ type: string;
142
+ selDDVals: null;
143
+ minimize: boolean;
144
+ freeze: boolean;
145
+ colWidth: null;
146
+ colCellSymbol: string | undefined;
147
+ };
148
+ setTblVertBounds(): void;
149
+ setTblHorizBounds(): void;
150
+ setTblBounds(): void;
151
+ elIsAboveFold(el: HTMLElement | null, top: number): boolean;
152
+ elIsBelowFold(el: HTMLElement | null, top: number): boolean;
153
+ chartTopIsInView(column: string): boolean;
154
+ buildDataFilSrtTracker(data: any): any;
155
+ resetFilSrtTracker(): void;
156
+ figureCellText(text: any, notNum: boolean, symbol?: any): {
157
+ prop: string;
158
+ value: any;
159
+ ancs?: undefined;
160
+ } | {
161
+ prop: string;
162
+ value: any;
163
+ ancs: any[];
164
+ };
165
+ figureFilterType(col: any): string;
166
+ mapCompToSym(comp: string): string;
167
+ clearAllFocused(): void;
168
+ clearDCellFcsd(): void;
169
+ findObjIndxInData(item: any, data?: any[]): number;
170
+ nLevelSort(data: any[], sortOrder: string[], obj: any): any[];
171
+ doSortOnField(field: any): void;
172
+ nLevelFilter(data: any, filterVal: any, ddVals: any, comparator: any, field: any): any;
173
+ columnFilter(dataI: any[], field: string, dataObj: any, sortOrder: string[], manual: any): any[];
174
+ hasUnchkdDDVals(obj: any): any;
175
+ getAllFilSrtInfo(): string;
176
+ validationEndpoint: string;
177
+ easyFilter(val: any, dataI: any[], sortOrder: string[]): void;
178
+ allDataFilter(filterVal: any, data: any[]): any[];
179
+ arefilSrtTrkPropsDefault(ignoreColFM?: any): boolean;
180
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DataTableService, never>;
181
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<DataTableService>;
182
+ }
183
+
184
+ declare class TableDragService {
185
+ private dataTableService;
186
+ private common;
187
+ constructor(dataTableService: DataTableService, common: CommonService);
188
+ currDataRow: any;
189
+ currColForDataRow: any;
190
+ dTblHeight: number;
191
+ currColumnEdit: string;
192
+ listenForMouseUp: boolean;
193
+ listenForSelectStart: boolean;
194
+ listenForColMvMouseUp: boolean;
195
+ colDragStartFrmHeaderTracker: any;
196
+ colDragStartFrmCellTracker: any;
197
+ tblDragStartFrmPagiTracker: any;
198
+ didResizeOnEvent: boolean;
199
+ colMoving: boolean;
200
+ headDims: Subject<any>;
201
+ cellDims: Subject<any>;
202
+ columnMove: Subject<any>;
203
+ dTblHeightOutput: Subject<number>;
204
+ checkItemBorderCursor(e: MouseEvent, noColResize?: boolean): void;
205
+ checkPaginatorBorderCursor(e: MouseEvent): void;
206
+ handleHeaderSizeAdjust(e: any): void;
207
+ handleCellSizeAdjust(e: any, rootCol?: string): void;
208
+ handleTableHeightAdjust(e: any): void;
209
+ doHeaderWidth(e: any): void;
210
+ doHeaderHeight(e: any): void;
211
+ doCellWidth(e: any): void;
212
+ doRowHeight(e: any): void;
213
+ doTblHeight(e: any): void;
214
+ handleColResMouseUp(e: any): void;
215
+ handleColMoveMouseUp(e: any): void;
216
+ stopWindowSelection(e: any): boolean;
217
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TableDragService, never>;
218
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<TableDragService>;
219
+ }
220
+
221
+ interface DataCell {
222
+ column: string;
223
+ width?: string;
224
+ freeze: boolean;
225
+ text?: string;
226
+ html?: any;
227
+ rawText: string;
228
+ dataType: string;
229
+ minimized: boolean;
230
+ editable: boolean;
231
+ visible: boolean;
232
+ specialColClass: string;
233
+ top?: number;
234
+ }
235
+
236
+ interface DataRow {
237
+ id: string;
238
+ index: number;
239
+ width: string;
240
+ height?: string;
241
+ cells?: DataCell[];
242
+ aboveTable?: boolean;
243
+ editedInDrag?: boolean;
244
+ }
245
+
246
+ interface CellEdit {
247
+ value: any;
248
+ row: number;
249
+ column: string;
250
+ }
251
+
252
+ interface RowNumber {
253
+ number: number;
254
+ height?: string;
255
+ }
256
+
257
+ declare class NgxDeebodata {
258
+ dataTableService: DataTableService;
259
+ private tblDragService;
260
+ common: CommonService;
261
+ onWindowClick(e: MouseEvent): void;
262
+ onWindowMouseUp(e: MouseEvent): void;
263
+ onWindowMouseMove(e: MouseEvent): void;
264
+ onWindowSelectStart(e: Event): void;
265
+ onWindowResize(e: Event): void;
266
+ onWindowScroll(e: Event): void;
267
+ constructor(dataTableService: DataTableService, tblDragService: TableDragService, common: CommonService);
268
+ rows: DataRow[];
269
+ aboveHgt: _angular_core.WritableSignal<number>;
270
+ belowHgt: _angular_core.WritableSignal<number>;
271
+ dtChecks: number[];
272
+ rowNos: RowNumber[];
273
+ verticalRest: number;
274
+ horizRest: _angular_core.WritableSignal<number>;
275
+ isScrolling: boolean;
276
+ useRowWid: string;
277
+ currGroupValues: _angular_core.WritableSignal<any[]>;
278
+ chartHgt: string;
279
+ chartState: string;
280
+ columnsForCharts: string[];
281
+ paginatorReady: boolean;
282
+ handlingSelRows: boolean;
283
+ columnOfInterest: _angular_core.WritableSignal<string>;
284
+ hiddenCols: string[];
285
+ desRowHeight: string;
286
+ currFilOpts: any[];
287
+ currSelEditOpts: any[];
288
+ listenToWindowCurrFil: boolean;
289
+ listenToCellDraggerMouseMove: boolean;
290
+ listenToCellDraggerMouseUp: boolean;
291
+ currDDFilter: string;
292
+ topLevelFilter: string;
293
+ allFilSortInfo: _angular_core.WritableSignal<string>;
294
+ lockVScroll: boolean;
295
+ isMultiFiltering: _angular_core.WritableSignal<boolean>;
296
+ ddFilStyle: any;
297
+ filterBuildUp: any[];
298
+ togSelRows: string;
299
+ maxCols: number;
300
+ lastElRowIndex: number;
301
+ columnHeaders: ColumnHeader[];
302
+ columnNames: string[];
303
+ linkCell: any;
304
+ linkCells: any[];
305
+ canGroupBy: _angular_core.WritableSignal<string[]>;
306
+ validatedEditType: string;
307
+ validationSettled: _angular_core.WritableSignal<boolean>;
308
+ dataHasBeenSet: _angular_core.WritableSignal<boolean>;
309
+ validationSub: Subscription;
310
+ data: _angular_core.InputSignal<any[]>;
311
+ licenseKey: string;
312
+ color1: string;
313
+ color2: string;
314
+ primaryKey: string;
315
+ defRowHgt: string;
316
+ defGridHgt: number;
317
+ altRowColor: string;
318
+ myColumnSymbols: ColumnSymbol[];
319
+ myColumnStyles: ColumnStyles[];
320
+ pieGraphColors: string[];
321
+ removePieCovers: boolean | string[];
322
+ editable: boolean;
323
+ rowNumbers: boolean;
324
+ cellEdit: EventEmitter<CellEdit>;
325
+ dataTable: ElementRef<HTMLElement>;
326
+ dataTableBody: ElementRef<HTMLElement>;
327
+ aboveArea: ElementRef<HTMLElement>;
328
+ belowArea: ElementRef<HTMLElement>;
329
+ validatedEdit: ElementRef<HTMLElement>;
330
+ rowNumHeader: ElementRef<HTMLElement>;
331
+ rowNumBody: ElementRef<HTMLElement>;
332
+ fCellDragger: ElementRef<HTMLElement>;
333
+ selFilContainer: ElementRef<HTMLElement>;
334
+ btnTogSelRows: ElementRef<HTMLButtonElement>;
335
+ dataTableHeaders: ElementRef<HTMLElement>;
336
+ topLevelDataFilter: ElementRef<HTMLInputElement>;
337
+ ngOnChanges(changes: SimpleChanges): void;
338
+ ngOnInit(): void;
339
+ execSetters(): void;
340
+ handleDataInput(): void;
341
+ getAllColsAtRuntime(excludeHidden: any): string[];
342
+ setMaxCols(): 5 | 2 | 3;
343
+ getAllColWidth(colLen: any): number;
344
+ removeAllFreezeCols(): void;
345
+ setTableHeight(h: number): void;
346
+ openCharts(): void;
347
+ closeCharts(event: boolean): void;
348
+ processColMove(event: any): void;
349
+ processGrouping(group: any): any;
350
+ setColHeaderHgt(): void;
351
+ renameColSpecChars(data: any[]): any[];
352
+ scoopOutObjsInObjs(data: any[]): any[];
353
+ convertNeededCols(data: any): any;
354
+ setRowSelChecksPlacement(): void;
355
+ setRowNumbers(): void;
356
+ initCheckTop(): number;
357
+ toggleSelectedRows(forceUnsel?: any): void;
358
+ toggleSingleRowSelected(useInd: number): false | void;
359
+ setBtnTogRows(amt?: number): void;
360
+ clearSelectedRows(): void;
361
+ getDataColumns(data: any[]): any;
362
+ setLastRowIndex(): number;
363
+ buildInitUiDataTable(data: any[], color1?: any, color2?: any): void;
364
+ getPrimaryKey(cols: string[]): string;
365
+ handleColAnyDDFilters(data: any[], cols: string[]): void;
366
+ swapColFilterToSelect(col: string, vals: any[]): void;
367
+ handleFilFocus(event: any): void;
368
+ buildSelFilOptions(event: any): any;
369
+ handleWinClickOnSelFil(): void;
370
+ killSelFilOpts(skipBlur?: boolean): void;
371
+ handleMultiSelFilter(elCol: string, value: any, checked: boolean): void;
372
+ execFilter(field: any, val: any): void;
373
+ tFilTO: any;
374
+ topFilterOnKeyUp(event: any): void;
375
+ setHorizPos(event: any): void;
376
+ blurContEd(): void;
377
+ setColsOnVisScreen(): void;
378
+ handleScroll(event: any): void;
379
+ execHorizScroll(left: number): void;
380
+ execVertScroll(top: number): void;
381
+ scrollDir: string;
382
+ handleScrollEnd(): any;
383
+ addCell(text: any, prop: string, visible: boolean): DataCell;
384
+ execHorizBodyScroll(): void;
385
+ cleanUpPossibles(): void;
386
+ execVertScrollDown(cols: string[], colLen: number): void;
387
+ execVertScrollUp(cols: string[], colLen: number): void;
388
+ clearAboveFoldRows(): void;
389
+ clearBelowFoldRows(): void;
390
+ jumpToRow(row: number): void;
391
+ scrollToRowGroup(rClass: string): void;
392
+ valEditFocusTo: number | null;
393
+ handleValidatedCellEditFocus(cellData: any): void;
394
+ clearFCellDragger(): void;
395
+ clearValidatedEdit(e?: any, clearDrag?: boolean): void;
396
+ execValClear(clearDrag?: boolean): void;
397
+ handleDraggerMU(e: any): void;
398
+ handleDraggerKD(e: any): void;
399
+ clearCellDEdits(): void;
400
+ clearDragEditFlag(): void;
401
+ handleCellDraggerInit(): void;
402
+ focusCellDragger(): void;
403
+ focusCellDraggerFromMouseDown(): void;
404
+ handleFDragTab(e: any): void;
405
+ settleCellDragger(): void;
406
+ handleCellDraggerEdit(e: any): void;
407
+ validateRawText(text: string, col: string, dataType: string): string;
408
+ execCellEdit(e: any, noBlur?: boolean, forceVal?: any): void;
409
+ checkCellEditOnClick(): void;
410
+ handleSingleColResize(val: any, column?: string): void;
411
+ testHideMinBtn(): void;
412
+ setHeaderHeight(val: any, force?: boolean): void;
413
+ setSingleRowHgt(val: any, row?: any, force?: boolean): void;
414
+ checkTabHorizScroll(id: string): void;
415
+ handleTheme(co1: string | null, co2: string | null): void;
416
+ handleColumnCss(cssSheet: HTMLStyleElement | undefined): void;
417
+ renderCurrData(reset: boolean, field?: any): any;
418
+ styleEmptyFilDataRow(tbody: HTMLElement, tbodyX: number): void;
419
+ freezeColCells(col: string): void;
420
+ maximizeColCells(col: string, fullClear?: boolean): void;
421
+ minimizeColEls(col: string, fullClear?: boolean): void;
422
+ scrollAllGBPanels(): void;
423
+ setTableWidthOnChange(): void;
424
+ setHoldingCheckCls(): void;
425
+ setDataRowWidthsOnMinimize(width: number): void;
426
+ clearHiddenCols(): void;
427
+ clearFilInputs(): void;
428
+ clearGroupBySels(): void;
429
+ resetCurrentData(col?: string): void;
430
+ resetVisCols(): void;
431
+ getMiniColCount(): number;
432
+ handleValidation(): void;
433
+ ngOnDestroy(): void;
434
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgxDeebodata, never>;
435
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgxDeebodata, "ngx-deebodata", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "licenseKey": { "alias": "licenseKey"; "required": false; }; "color1": { "alias": "color1"; "required": false; }; "color2": { "alias": "color2"; "required": false; }; "primaryKey": { "alias": "primaryKey"; "required": false; }; "defRowHgt": { "alias": "defRowHgt"; "required": false; }; "defGridHgt": { "alias": "defGridHgt"; "required": false; }; "altRowColor": { "alias": "altRowColor"; "required": false; }; "myColumnSymbols": { "alias": "myColumnSymbols"; "required": false; }; "myColumnStyles": { "alias": "myColumnStyles"; "required": false; }; "pieGraphColors": { "alias": "pieGraphColors"; "required": false; }; "removePieCovers": { "alias": "removePieCovers"; "required": false; }; "editable": { "alias": "editable"; "required": false; }; "rowNumbers": { "alias": "rowNumbers"; "required": false; }; }, { "cellEdit": "cellEdit"; }, never, never, true, never>;
436
+ }
437
+
438
+ export { NgxDeebodata };
439
+ export type { CellEdit, ColumnStyles, ColumnSymbol, ValueCss };