@rangertechnologies/ngnxt 2.1.349 → 2.1.350

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.
@@ -0,0 +1,44 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class BookletComponent {
4
+ referenceKey: string;
5
+ questions: any[];
6
+ isPreview: boolean;
7
+ currencySymbol: string;
8
+ questionChange: EventEmitter<{
9
+ value: any;
10
+ field: any;
11
+ }>;
12
+ onQuestionChange(value: any, field: any): void;
13
+ isVisible(field: any): boolean;
14
+ getElementStyle(field: any): any;
15
+ getLabelStyle(field: any): any;
16
+ getValue(field: any): string;
17
+ getMainColumns(field: any): any[];
18
+ getSummaryColumns(field: any): any[];
19
+ getRows(field: any): any[];
20
+ getHeaderStyle(column: any): any;
21
+ getCellStyle(column: any, rowIndex: number): any;
22
+ getSummaryColspan(field: any): number;
23
+ getCellValue(row: any, column: any): string;
24
+ getSummaryValue(field: any, column: any): string;
25
+ getRichTextLines(field: any): string[];
26
+ shouldRenderStyledTextLines(field: any): boolean;
27
+ getStyledTextLines(field: any): string[];
28
+ isTextHeadingLine(field: any, index: number, line: string): boolean;
29
+ getStyledTextLineStyle(field: any, index: number, line: string): any;
30
+ private isQuotationHeadingText;
31
+ private getDefaultTextHeadingColor;
32
+ private getDefaultTextHeadingSize;
33
+ isRichTextBullet(line: string): boolean;
34
+ getRichTextLineText(line: string): string;
35
+ isRichTextHeading(field: any, index: number, line: string): boolean;
36
+ getPdfMakePreview(field: any): string;
37
+ private getColumnWidth;
38
+ private formatCurrency;
39
+ private getPathValue;
40
+ private normalizeMargin;
41
+ private marginToCss;
42
+ static ɵfac: i0.ɵɵFactoryDeclaration<BookletComponent, never>;
43
+ static ɵcmp: i0.ɵɵComponentDeclaration<BookletComponent, "app-booklet", never, { "referenceKey": { "alias": "referenceKey"; "required": false; }; "questions": { "alias": "questions"; "required": false; }; "isPreview": { "alias": "isPreview"; "required": false; }; "currencySymbol": { "alias": "currencySymbol"; "required": false; }; }, { "questionChange": "questionChange"; }, never, never, true, never>;
44
+ }
@@ -19,9 +19,11 @@ export declare class PdfDesignerComponent {
19
19
  from: any;
20
20
  dataBind: any;
21
21
  isPropertyHide: boolean;
22
+ pdfDefinitionOptions: any;
22
23
  pdfSaveHandlerEmit: EventEmitter<any>;
23
24
  templateMode: EventEmitter<boolean>;
24
25
  pdfPreviewEmit: EventEmitter<any>;
26
+ pdfOutputEmit: EventEmitter<any>;
25
27
  field: any;
26
28
  pdfElements: any[];
27
29
  elements: any[];
@@ -68,7 +70,17 @@ export declare class PdfDesignerComponent {
68
70
  private ratioMap;
69
71
  constructor(dataService: DataService, changeService: ChangeService, countryService: CountryService, pdfDesignerService: PdfDesignerService);
70
72
  ngAfterViewInit(): void;
71
- handleQues(ques: any): Promise<void>;
73
+ handleQues(ques: any, dataBind?: any): void;
74
+ private getBoundReferenceValue;
75
+ private getBoundReferencePartsValue;
76
+ private getBoundTemplateValue;
77
+ private formatBoundDateValue;
78
+ private hasBindableValue;
79
+ private getBoundTableRows;
80
+ private buildTableSummaryValues;
81
+ private computeTableSummaryValue;
82
+ private resolveSummaryOperand;
83
+ private toNumericValue;
72
84
  getContrastColor(bgColor?: string): string;
73
85
  resizeAllTextareas(): void;
74
86
  ngOnInit(): void;
@@ -84,6 +96,7 @@ export declare class PdfDesignerComponent {
84
96
  selectHeading(event: any): void;
85
97
  generateUiId(): string;
86
98
  addElement(type: string): void;
99
+ private applyAdvancedElementDefaults;
87
100
  onTextAreaInput(event: Event, field: any): void;
88
101
  onQuestionChange(value: any, field: any): void;
89
102
  pdfPreview(pdf: any): void;
@@ -96,7 +109,7 @@ export declare class PdfDesignerComponent {
96
109
  onClose(): void;
97
110
  addOnTable(): void;
98
111
  addTableData(fieldId: any, fieldName: any): void;
99
- columnSelected(event: any): void;
112
+ columnSelected(tableIndexOrEvent: number | any, event?: any, mouseEvent?: MouseEvent): void;
100
113
  removeColumn(event: any): void;
101
114
  fileChangeEvent(field: any, event: any): Promise<void>;
102
115
  private readFileAsDataURL;
@@ -125,6 +138,7 @@ export declare class PdfDesignerComponent {
125
138
  setAlignment(alignment: 'left' | 'center' | 'right'): void;
126
139
  updateContent(tempElement?: any): void;
127
140
  pdfSaveHandler(event: any): void;
141
+ exportPdf(action?: 'preview' | 'download' | 'definition' | string, dataBind?: any): any;
128
142
  selectColor(color: string): void;
129
143
  currencyChange(event: any): void;
130
144
  setupCanvas(element: HTMLCanvasElement): void;
@@ -136,6 +150,49 @@ export declare class PdfDesignerComponent {
136
150
  saveCanvasToField(canvas: HTMLCanvasElement, field: any): void;
137
151
  clearCanvas(element: HTMLCanvasElement, field: any): void;
138
152
  clearSignature(field: any): void;
153
+ getPdfSettings(): any;
154
+ getPageBackgroundColor(): string;
155
+ getPageContentStyle(): any;
156
+ getWatermarkText(): string;
157
+ getWatermarkStyle(): any;
158
+ shouldShowFooterOnCanvas(): boolean;
159
+ shouldShowHeaderOnCanvas(): boolean;
160
+ getHeaderStyle(): any;
161
+ getFooterStyle(): any;
162
+ getRunningBandColumns(type: 'header' | 'footer'): string[];
163
+ hasRunningBandBorder(type: 'header' | 'footer'): boolean;
164
+ getRunningBandBorderStyle(type: 'header' | 'footer'): any;
165
+ getElementTextStyle(field: any): any;
166
+ getElementLabelStyle(field: any): any;
167
+ displayFieldValue(field: any): string;
168
+ shouldRenderStyledTextLines(field: any): boolean;
169
+ getStyledTextLines(field: any): string[];
170
+ isTextHeadingLine(field: any, index: number, line: string): boolean;
171
+ getStyledTextLineStyle(field: any, index: number, line: string): any;
172
+ private isQuotationHeadingText;
173
+ private getDefaultTextHeadingColor;
174
+ private getDefaultTextHeadingSize;
175
+ getRichTextLines(field: any): string[];
176
+ isRichTextBullet(line: string): boolean;
177
+ getRichTextLineText(line: string): string;
178
+ isRichTextHeading(field: any, index: number, line: string): boolean;
179
+ getPdfMakePreview(field: any): string;
180
+ getMainTableColumns(field: any): any[];
181
+ getSummaryTableColumns(field: any): any[];
182
+ getTableRows(field: any): any[];
183
+ getTableHeaderStyle(column: any): any;
184
+ getTableCellStyle(column: any, rowIndex: number): any;
185
+ getTableSummaryLabelColspan(field: any): number;
186
+ getColumnCssWidth(column: any): string;
187
+ getTableCellValue(row: any, column: any): string;
188
+ getTableSummaryValue(field: any, column: any): string;
189
+ isSelectedTableColumn(column: any): boolean;
190
+ formatCurrencyValue(value: any, field?: any): string;
191
+ getCurrencySymbol(): string;
192
+ private normalizeCurrencyValue;
193
+ private resolveCurrencyOption;
194
+ private normalizeMargin;
195
+ private marginToCss;
139
196
  static ɵfac: i0.ɵɵFactoryDeclaration<PdfDesignerComponent, never>;
140
- static ɵcmp: i0.ɵɵComponentDeclaration<PdfDesignerComponent, "app-pdf-designer", never, { "pdfJSON": { "alias": "pdfJSON"; "required": false; }; "bookletId": { "alias": "bookletId"; "required": false; }; "isPreview": { "alias": "isPreview"; "required": false; }; "from": { "alias": "from"; "required": false; }; "dataBind": { "alias": "dataBind"; "required": false; }; "isPropertyHide": { "alias": "isPropertyHide"; "required": false; }; }, { "pdfSaveHandlerEmit": "pdfSaveHandlerEmit"; "templateMode": "templateMode"; "pdfPreviewEmit": "pdfPreviewEmit"; }, never, never, true, never>;
197
+ static ɵcmp: i0.ɵɵComponentDeclaration<PdfDesignerComponent, "app-pdf-designer", never, { "pdfJSON": { "alias": "pdfJSON"; "required": false; }; "bookletId": { "alias": "bookletId"; "required": false; }; "isPreview": { "alias": "isPreview"; "required": false; }; "from": { "alias": "from"; "required": false; }; "dataBind": { "alias": "dataBind"; "required": false; }; "isPropertyHide": { "alias": "isPropertyHide"; "required": false; }; "pdfDefinitionOptions": { "alias": "pdfDefinitionOptions"; "required": false; }; }, { "pdfSaveHandlerEmit": "pdfSaveHandlerEmit"; "templateMode": "templateMode"; "pdfPreviewEmit": "pdfPreviewEmit"; "pdfOutputEmit": "pdfOutputEmit"; }, never, never, true, never>;
141
198
  }
@@ -369,6 +369,257 @@ export declare class PdfPropertiesComponent {
369
369
  options?: undefined;
370
370
  })[];
371
371
  };
372
+ Section: {
373
+ elementProps: ({
374
+ label: string;
375
+ labelPath: string;
376
+ type: string;
377
+ key: string;
378
+ placeholder?: undefined;
379
+ } | {
380
+ label: string;
381
+ placeholder: string;
382
+ type: string;
383
+ key: string;
384
+ labelPath?: undefined;
385
+ })[];
386
+ fieldProps: ({
387
+ label: string;
388
+ type: string;
389
+ key: string;
390
+ labelPath: string;
391
+ subQuestion: {
392
+ label: string;
393
+ placeholder: string;
394
+ type: string;
395
+ key: string;
396
+ labelPath: string;
397
+ }[];
398
+ } | {
399
+ label: string;
400
+ labelPath: string;
401
+ placeholder: string;
402
+ type: string;
403
+ key: string;
404
+ })[];
405
+ appearance: ({
406
+ label: string;
407
+ labelPath: string;
408
+ type: string;
409
+ key: string;
410
+ value: string;
411
+ options?: undefined;
412
+ placeholder?: undefined;
413
+ } | {
414
+ label: string;
415
+ type: string;
416
+ key: string;
417
+ value: string;
418
+ labelPath?: undefined;
419
+ options?: undefined;
420
+ placeholder?: undefined;
421
+ } | {
422
+ label: string;
423
+ labelPath: string;
424
+ type: string;
425
+ key: string;
426
+ value: number;
427
+ options?: undefined;
428
+ placeholder?: undefined;
429
+ } | {
430
+ label: string;
431
+ labelPath: string;
432
+ type: string;
433
+ key: string;
434
+ value: string;
435
+ options: {
436
+ value: string;
437
+ label: string;
438
+ labelPath: string;
439
+ }[];
440
+ placeholder?: undefined;
441
+ } | {
442
+ label: string;
443
+ labelPath: string;
444
+ type: string;
445
+ key: string;
446
+ placeholder: string;
447
+ value: number[];
448
+ options?: undefined;
449
+ })[];
450
+ };
451
+ RichText: {
452
+ elementProps: {
453
+ label: string;
454
+ labelPath: string;
455
+ type: string;
456
+ key: string;
457
+ }[];
458
+ fieldProps: ({
459
+ label: string;
460
+ type: string;
461
+ key: string;
462
+ labelPath: string;
463
+ subQuestion: {
464
+ label: string;
465
+ placeholder: string;
466
+ type: string;
467
+ key: string;
468
+ labelPath: string;
469
+ }[];
470
+ } | {
471
+ label: string;
472
+ labelPath: string;
473
+ placeholder: string;
474
+ type: string;
475
+ key: string;
476
+ })[];
477
+ appearance: ({
478
+ label: string;
479
+ labelPath: string;
480
+ type: string;
481
+ key: string;
482
+ value: string;
483
+ placeholder?: undefined;
484
+ options?: undefined;
485
+ } | {
486
+ label: string;
487
+ type: string;
488
+ key: string;
489
+ value: string;
490
+ labelPath?: undefined;
491
+ placeholder?: undefined;
492
+ options?: undefined;
493
+ } | {
494
+ label: string;
495
+ labelPath: string;
496
+ type: string;
497
+ key: string;
498
+ value: number;
499
+ placeholder?: undefined;
500
+ options?: undefined;
501
+ } | {
502
+ label: string;
503
+ labelPath: string;
504
+ type: string;
505
+ key: string;
506
+ placeholder: string;
507
+ value: number[];
508
+ options?: undefined;
509
+ } | {
510
+ label: string;
511
+ labelPath: string;
512
+ type: string;
513
+ key: string;
514
+ value: string;
515
+ options: {
516
+ label: string;
517
+ labelPath: string;
518
+ value: string;
519
+ }[];
520
+ placeholder?: undefined;
521
+ })[];
522
+ };
523
+ Note: {
524
+ elementProps: ({
525
+ label: string;
526
+ labelPath: string;
527
+ type: string;
528
+ key: string;
529
+ placeholder?: undefined;
530
+ } | {
531
+ label: string;
532
+ placeholder: string;
533
+ type: string;
534
+ key: string;
535
+ labelPath?: undefined;
536
+ })[];
537
+ fieldProps: ({
538
+ label: string;
539
+ type: string;
540
+ key: string;
541
+ labelPath: string;
542
+ subQuestion: {
543
+ label: string;
544
+ placeholder: string;
545
+ type: string;
546
+ key: string;
547
+ labelPath: string;
548
+ }[];
549
+ } | {
550
+ label: string;
551
+ labelPath: string;
552
+ placeholder: string;
553
+ type: string;
554
+ key: string;
555
+ })[];
556
+ appearance: ({
557
+ label: string;
558
+ labelPath: string;
559
+ type: string;
560
+ key: string;
561
+ value: string;
562
+ placeholder?: undefined;
563
+ } | {
564
+ label: string;
565
+ type: string;
566
+ key: string;
567
+ value: string;
568
+ labelPath?: undefined;
569
+ placeholder?: undefined;
570
+ } | {
571
+ label: string;
572
+ labelPath: string;
573
+ type: string;
574
+ key: string;
575
+ value: number;
576
+ placeholder?: undefined;
577
+ } | {
578
+ label: string;
579
+ labelPath: string;
580
+ type: string;
581
+ key: string;
582
+ placeholder: string;
583
+ value: number[];
584
+ })[];
585
+ };
586
+ PageBreak: {
587
+ elementProps: ({
588
+ label: string;
589
+ labelPath: string;
590
+ type: string;
591
+ key: string;
592
+ value?: undefined;
593
+ options?: undefined;
594
+ } | {
595
+ label: string;
596
+ type: string;
597
+ key: string;
598
+ value: string;
599
+ options: {
600
+ label: string;
601
+ value: string;
602
+ }[];
603
+ labelPath?: undefined;
604
+ })[];
605
+ fieldProps: any[];
606
+ appearance: any[];
607
+ };
608
+ PdfMake: {
609
+ elementProps: {
610
+ label: string;
611
+ labelPath: string;
612
+ type: string;
613
+ key: string;
614
+ }[];
615
+ fieldProps: {
616
+ label: string;
617
+ placeholder: string;
618
+ type: string;
619
+ key: string;
620
+ }[];
621
+ appearance: any[];
622
+ };
372
623
  Pdf: {
373
624
  elementProps: ({
374
625
  label: string;
@@ -1114,6 +1365,25 @@ export declare class PdfPropertiesComponent {
1114
1365
  handleTemplateSelection(event: any): void;
1115
1366
  ngOnInit(): void;
1116
1367
  updateTitle(event: any): void;
1368
+ getPdfSettings(): any;
1369
+ getPdfSetting(path: string, fallback?: any): any;
1370
+ setPdfSetting(path: string, value: any): void;
1371
+ onPdfSettingInput(path: string, event: Event): void;
1372
+ getStyleBuilderTitle(): string;
1373
+ getActiveStyleValue(path: string, fallback?: any): any;
1374
+ onActiveStyleInput(path: string, event: Event): void;
1375
+ setActiveStyleValue(path: string, value: any): void;
1376
+ getActiveMargin(index: number): number;
1377
+ onActiveMarginInput(index: number, event: Event): void;
1378
+ getElementArrayValue(path: string, index: number, fallback?: number): number;
1379
+ onElementArrayInput(path: string, index: number, event: Event): void;
1380
+ getActiveColumnWidthMode(): string;
1381
+ onActiveColumnWidthModeChange(event: Event): void;
1382
+ private getActiveStyleTarget;
1383
+ private getSelectedTableColumn;
1384
+ private normalizeStyleInputValue;
1385
+ private normalizeStyleMargin;
1386
+ private normalizePdfSettingValue;
1117
1387
  updatePdfpData(): void;
1118
1388
  updateField(value: string): void;
1119
1389
  onCheckboxChange(targetArrayPath: any, targetArrayKey: any, key: any, apiName: string, isChecked: boolean): void;
@@ -28,6 +28,51 @@ export declare class PdfDesignerService {
28
28
  selectTableColumn: any;
29
29
  currencyOption: any;
30
30
  constructor(countryService: CountryService, http: HttpClient, dataService: DataService);
31
+ getDefaultPdfSettings(): {
32
+ pageSize: string;
33
+ pageOrientation: string;
34
+ pageMargins: number[];
35
+ backgroundColor: string;
36
+ header: {
37
+ enabled: boolean;
38
+ showOn: string;
39
+ text: string;
40
+ leftText: string;
41
+ centerText: string;
42
+ rightText: string;
43
+ alignment: string;
44
+ fontSize: number;
45
+ color: string;
46
+ margin: number[];
47
+ bottomBorder: boolean;
48
+ borderColor: string;
49
+ borderWidth: number;
50
+ };
51
+ watermark: {
52
+ enabled: boolean;
53
+ text: string;
54
+ color: string;
55
+ opacity: number;
56
+ angle: number;
57
+ fontSize: number;
58
+ };
59
+ footer: {
60
+ enabled: boolean;
61
+ showOn: string;
62
+ text: string;
63
+ leftText: string;
64
+ centerText: string;
65
+ rightText: string;
66
+ alignment: string;
67
+ fontSize: number;
68
+ color: string;
69
+ margin: number[];
70
+ topBorder: boolean;
71
+ borderColor: string;
72
+ borderWidth: number;
73
+ };
74
+ };
75
+ private ensurePdfSettings;
31
76
  intializeBook(pdf: any): void;
32
77
  getRefQbData(refqbid: string): Observable<any>;
33
78
  addElementWithId(): string;
@@ -48,12 +93,77 @@ export declare class PdfDesignerService {
48
93
  sortElementsByOrder(): void;
49
94
  getBook(): any;
50
95
  downloadElement(): any;
96
+ buildPdfOutput(pdfJSON: any, dataBind?: any, pdfDefinitionOptions?: any, action?: 'preview' | 'download' | 'definition' | string, elements?: any[]): {
97
+ action: string;
98
+ title: any;
99
+ pdf: any;
100
+ book: any;
101
+ boundBook: any;
102
+ pdfJson: any;
103
+ pdfDefinition: any;
104
+ dataBind: any;
105
+ };
106
+ buildPdfOutputFromConfig(config: {
107
+ pdfJSON: any;
108
+ dataBind?: any;
109
+ pdfDefinitionOptions?: any;
110
+ action?: 'preview' | 'download' | 'definition' | string;
111
+ elements?: any[];
112
+ }): {
113
+ action: string;
114
+ title: any;
115
+ pdf: any;
116
+ book: any;
117
+ boundBook: any;
118
+ pdfJson: any;
119
+ pdfDefinition: any;
120
+ dataBind: any;
121
+ };
122
+ buildBoundPdfBook(pdfJSON?: any, dataBind?: any, elements?: any[]): any;
123
+ bindPdfElements(elements?: any[], dataBind?: any): any[];
124
+ createPdfDefinition(boundBook: any, pdfDefinitionOptions?: any): any;
125
+ private bindPdfQuestion;
126
+ private normalizeBindableMetadata;
127
+ private getBoundReferenceValue;
128
+ private getBoundReferencePartsValue;
129
+ private getBoundTemplateValue;
130
+ private formatBoundDateValue;
131
+ private hasBindableValue;
132
+ private getBoundTableRows;
133
+ private buildTableSummaryValues;
134
+ private computeTableSummaryValue;
135
+ private resolveSummaryOperand;
136
+ private toNumericValue;
137
+ private getPdfUniqueId;
138
+ private clonePlain;
139
+ buildPdfBook(pdf?: any, elements?: any[]): any;
140
+ private applyPdfPageSettings;
141
+ private hasRunningBandContent;
142
+ private buildRunningBand;
143
+ private replacePageTokens;
51
144
  convertToPdfLayout(input: any): any;
145
+ private buildTableLayout;
146
+ private isEmptyTableDataRow;
147
+ private buildRichTextStack;
148
+ private buildTextValueNode;
149
+ private buildStyledTextStack;
150
+ private isQuotationHeadingText;
151
+ private getDefaultTextHeadingColor;
152
+ private getDefaultTextHeadingSize;
153
+ private parsePdfMakeJson;
154
+ private formatCurrencyText;
155
+ private normalizeCurrencyValue;
156
+ private resolveCurrencySymbol;
157
+ private resolveCurrencyOption;
158
+ private removeUnavailableFonts;
159
+ private replaceUnsupportedCurrencySymbols;
52
160
  updateElementsOrder(updatedElements: any[]): void;
53
161
  removeElementComponent(id: any): void;
54
162
  elementUpdate(element: any, from?: any): void;
55
163
  dateTransform(value: any, type: 'date' | 'datetime' | 'month' | 'time', languageCode: string, dateFormatType: 'hijri' | 'gregorianAr' | 'gregorian'): string;
56
164
  private toArabicNumbers;
165
+ private normalizeMargin;
166
+ private normalizePdfStyle;
57
167
  static ɵfac: i0.ɵɵFactoryDeclaration<PdfDesignerService, never>;
58
168
  static ɵprov: i0.ɵɵInjectableDeclaration<PdfDesignerService>;
59
169
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rangertechnologies/ngnxt",
3
- "version": "2.1.349",
3
+ "version": "2.1.350",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^19.2.14",
6
6
  "@angular/core": "^19.2.14"
package/public-api.d.ts CHANGED
@@ -8,6 +8,7 @@ export * from './lib/pages/builder/form/form.component';
8
8
  export * from './lib/components/datatable/datatable.component';
9
9
  export * from './lib/components/button/nxt-button.component';
10
10
  export * from './lib/pages/pdfDesigner/pdf-designer/pdf-designer.component';
11
+ export * from './lib/services/pdf-designer/pdf-designer.service';
11
12
  export * from './lib/components/nxt-input/nxt-input.component';
12
13
  export * from './lib/components/nxt-dropdown/nxt-dropdown.component';
13
14
  export * from './lib/components/nxt-multi-select/nxt-multi-select.component';