@rangertechnologies/ngnxt 2.1.249 → 2.1.250

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 (78) hide show
  1. package/esm2022/environments/version.mjs +2 -2
  2. package/esm2022/lib/components/button/nxt-button.component.mjs +2 -2
  3. package/esm2022/lib/components/custom-calendar/custom-calendar.component.mjs +2 -4
  4. package/esm2022/lib/components/custom-dropdown/custom-dropdown.component.mjs +6 -8
  5. package/esm2022/lib/components/custom-radio/custom-radio.component.mjs +3 -3
  6. package/esm2022/lib/components/datatable/datatable.component.mjs +7 -6
  7. package/esm2022/lib/components/file-upload/file-upload.component.mjs +9 -9
  8. package/esm2022/lib/components/nxt-input/nxt-input.component.mjs +20 -30
  9. package/esm2022/lib/components/pick-location/pick-location.component.mjs +4 -5
  10. package/esm2022/lib/components/search-box/search-box.component.mjs +9 -11
  11. package/esm2022/lib/nxt-app.module.mjs +4 -4
  12. package/esm2022/lib/pages/booklet/booklet.component.mjs +56 -28
  13. package/esm2022/lib/pages/builder/element/element.component.mjs +10 -62
  14. package/esm2022/lib/pages/builder/form/form.component.mjs +3 -6
  15. package/esm2022/lib/pages/builder/properties/properties.component.mjs +15 -96
  16. package/esm2022/lib/pages/builder/templates/templates.component.mjs +2 -2
  17. package/esm2022/lib/pages/pdfDesigner/pdf-designer/pdf-designer.component.mjs +2 -2
  18. package/esm2022/lib/pages/pdfDesigner/pdf-properties/pdf-properties.component.mjs +3 -3
  19. package/esm2022/lib/pages/questionbook/questionbook.component.mjs +31 -12
  20. package/esm2022/lib/pages/questionnaire/questionnaire.component.mjs +8 -12
  21. package/esm2022/lib/pipe/custom-translate.pipe.mjs +10 -16
  22. package/esm2022/lib/services/change.service.mjs +46 -0
  23. package/esm2022/lib/services/country.service.mjs +135 -0
  24. package/esm2022/lib/services/data.service.mjs +100 -0
  25. package/esm2022/lib/services/form-builder.service.mjs +402 -0
  26. package/esm2022/lib/services/pdf-designer.service.mjs +398 -0
  27. package/esm2022/lib/services/salesforce.service.mjs +41 -0
  28. package/esm2022/lib/services/shared.service.mjs +100 -0
  29. package/esm2022/lib/services/storage.service.mjs +59 -0
  30. package/esm2022/lib/services/template.service.mjs +351 -0
  31. package/esm2022/lib/services/translation.service.mjs +61 -0
  32. package/esm2022/public-api.mjs +2 -2
  33. package/fesm2022/rangertechnologies-ngnxt.mjs +820 -1055
  34. package/fesm2022/rangertechnologies-ngnxt.mjs.map +1 -1
  35. package/lib/components/button/nxt-button.component.d.ts +1 -1
  36. package/lib/components/custom-calendar/custom-calendar.component.d.ts +1 -1
  37. package/lib/components/custom-dropdown/custom-dropdown.component.d.ts +2 -2
  38. package/lib/components/custom-radio/custom-radio.component.d.ts +2 -2
  39. package/lib/components/datatable/datatable.component.d.ts +3 -3
  40. package/lib/components/file-upload/file-upload.component.d.ts +2 -2
  41. package/lib/components/image-cropper/component/image-cropper.component.d.ts +1 -1
  42. package/lib/components/nxt-input/nxt-input.component.d.ts +2 -2
  43. package/lib/components/search-box/search-box.component.d.ts +4 -4
  44. package/lib/nxt-app.module.d.ts +1 -1
  45. package/lib/pages/booklet/booklet.component.d.ts +9 -9
  46. package/lib/pages/builder/element/element.component.d.ts +4 -10
  47. package/lib/pages/builder/form/form.component.d.ts +1 -2
  48. package/lib/pages/builder/properties/properties.component.d.ts +6 -8
  49. package/lib/pages/builder/templates/templates.component.d.ts +1 -1
  50. package/lib/pages/pdfDesigner/pdf-designer/pdf-designer.component.d.ts +1 -1
  51. package/lib/pages/pdfDesigner/pdf-properties/pdf-properties.component.d.ts +2 -2
  52. package/lib/pages/questionbook/questionbook.component.d.ts +8 -6
  53. package/lib/pages/questionnaire/questionnaire.component.d.ts +5 -6
  54. package/lib/pipe/custom-translate.pipe.d.ts +3 -2
  55. package/lib/services/{form-builder/form-builder.service.d.ts → form-builder.service.d.ts} +1 -2
  56. package/lib/services/{pdf-designer/pdf-designer.service.d.ts → pdf-designer.service.d.ts} +1 -1
  57. package/lib/services/{storage/storage.service.d.ts → storage.service.d.ts} +2 -2
  58. package/lib/services/{translation/translation.service.d.ts → translation.service.d.ts} +1 -11
  59. package/package.json +1 -1
  60. package/public-api.d.ts +1 -1
  61. package/rangertechnologies-ngnxt-2.1.250.tgz +0 -0
  62. package/esm2022/lib/services/change/change.service.mjs +0 -46
  63. package/esm2022/lib/services/country/country.service.mjs +0 -135
  64. package/esm2022/lib/services/data/data.service.mjs +0 -100
  65. package/esm2022/lib/services/form-builder/form-builder.service.mjs +0 -485
  66. package/esm2022/lib/services/pdf-designer/pdf-designer.service.mjs +0 -398
  67. package/esm2022/lib/services/salesforce/salesforce.service.mjs +0 -41
  68. package/esm2022/lib/services/shared/shared.service.mjs +0 -100
  69. package/esm2022/lib/services/storage/storage.service.mjs +0 -59
  70. package/esm2022/lib/services/template/template.service.mjs +0 -351
  71. package/esm2022/lib/services/translation/translation.service.mjs +0 -110
  72. package/rangertechnologies-ngnxt-2.1.249.tgz +0 -0
  73. /package/lib/services/{change/change.service.d.ts → change.service.d.ts} +0 -0
  74. /package/lib/services/{country/country.service.d.ts → country.service.d.ts} +0 -0
  75. /package/lib/services/{data/data.service.d.ts → data.service.d.ts} +0 -0
  76. /package/lib/services/{salesforce/salesforce.service.d.ts → salesforce.service.d.ts} +0 -0
  77. /package/lib/services/{shared/shared.service.d.ts → shared.service.d.ts} +0 -0
  78. /package/lib/services/{template/template.service.d.ts → template.service.d.ts} +0 -0
@@ -1,5 +1,5 @@
1
1
  import { ChangeDetectorRef, ElementRef, EventEmitter, OnInit, SimpleChanges } from '@angular/core';
2
- import { TranslationService } from '../../services/translation/translation.service';
2
+ import { TranslationService } from '../../services/translation.service';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class NxtButtonComponent implements OnInit {
5
5
  private cdRef;
@@ -1,6 +1,6 @@
1
1
  import { EventEmitter, OnInit } from '@angular/core';
2
2
  import { Question } from '../../wrapper';
3
- import { ChangeService } from '../../services/change/change.service';
3
+ import { ChangeService } from '../../services/change.service';
4
4
  import * as i0 from "@angular/core";
5
5
  interface CalendarDay {
6
6
  date: Date;
@@ -1,8 +1,8 @@
1
1
  import { OnInit, EventEmitter, ElementRef, SimpleChanges } from '@angular/core';
2
2
  import { Subscription } from 'rxjs';
3
+ import { ChangeService } from '../../services/change.service';
3
4
  import { I18nService } from '../../i18n.service';
4
- import { ChangeService } from '../../services/change/change.service';
5
- import { DataService } from '../../services/data/data.service';
5
+ import { DataService } from '../../services/data.service';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class CustomDropdownComponent implements OnInit {
8
8
  private changeService;
@@ -1,9 +1,9 @@
1
1
  import { EventEmitter, OnInit, SimpleChanges } from '@angular/core';
2
2
  import { ChangeWrapper } from '../../model/changeWrapper';
3
+ import { ChangeService } from '../../services/change.service';
3
4
  import { I18nService } from '../../i18n.service';
5
+ import { DataService } from '../../services/data.service';
4
6
  import { Subscription } from 'rxjs';
5
- import { ChangeService } from '../../services/change/change.service';
6
- import { DataService } from '../../services/data/data.service';
7
7
  import * as i0 from "@angular/core";
8
8
  export declare class CustomRadioComponent implements OnInit {
9
9
  private changeService;
@@ -1,9 +1,9 @@
1
1
  import { EventEmitter, ElementRef, Renderer2, SimpleChanges, ChangeDetectorRef } from '@angular/core';
2
2
  import { MatSort } from '@angular/material/sort';
3
+ import { DataService } from '../../services/data.service';
4
+ import { ChangeService } from '../../services/change.service';
3
5
  import { Subscription } from 'rxjs';
4
- import { TranslationService } from '../../services/translation/translation.service';
5
- import { DataService } from '../../services/data/data.service';
6
- import { ChangeService } from '../../services/change/change.service';
6
+ import { TranslationService } from '../../services/translation.service';
7
7
  import * as i0 from "@angular/core";
8
8
  export declare class NxtDatatable {
9
9
  private cdRef;
@@ -1,8 +1,8 @@
1
1
  import { OnInit, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
2
2
  import { I18nService } from '../../i18n.service';
3
- import { SharedService } from '../../services/shared/shared.service';
3
+ import { SharedService } from '../../services/shared.service';
4
+ import { DataService } from '../../services/data.service';
4
5
  import { DomSanitizer } from '@angular/platform-browser';
5
- import { DataService } from '../../services/data/data.service';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class NxtFileUploadComponent implements OnInit, OnChanges {
8
8
  private SharedService;
@@ -67,7 +67,7 @@ export declare class ImageCropperComponent implements OnChanges, OnInit, OnDestr
67
67
  loadImageFailed: EventEmitter<void>;
68
68
  transformChange: EventEmitter<ImageTransform>;
69
69
  cropperChange: EventEmitter<CropperPosition>;
70
- get alignImageStyle(): "left" | "center";
70
+ get alignImageStyle(): "center" | "left";
71
71
  constructor(sanitizer: DomSanitizer, cd: ChangeDetectorRef, zone: NgZone);
72
72
  ngOnInit(): void;
73
73
  ngOnChanges(changes: SimpleChanges): void;
@@ -1,10 +1,10 @@
1
1
  import { EventEmitter, QueryList, ElementRef, SimpleChanges, AfterViewInit, Renderer2 } from '@angular/core';
2
2
  import { AbstractControl, FormArray, FormControl, ValidationErrors, ValidatorFn } from '@angular/forms';
3
+ import { ChangeService } from '../../services/change.service';
4
+ import { DataService } from '../../services/data.service';
3
5
  import { Subscription } from 'rxjs';
4
6
  import { OwlDateTimeComponent } from '@danielmoncada/angular-datetime-picker';
5
7
  import { QuillModules } from 'ngx-quill';
6
- import { ChangeService } from '../../services/change/change.service';
7
- import { DataService } from '../../services/data/data.service';
8
8
  import * as i0 from "@angular/core";
9
9
  export declare class NxtInput implements AfterViewInit {
10
10
  #private;
@@ -1,10 +1,10 @@
1
1
  import { OnInit, OnDestroy, OnChanges, EventEmitter, ElementRef, SimpleChanges, WritableSignal, TrackByFunction } from "@angular/core";
2
+ import { DataService } from '../../services/data.service';
2
3
  import { I18nService } from "../../i18n.service";
4
+ import { CountryService } from "../../services/country.service";
3
5
  import { Subscription } from "rxjs";
4
- import { StorageService } from "../../services/storage/storage.service";
5
- import { ChangeService } from "../../services/change/change.service";
6
- import { DataService } from "../../services/data/data.service";
7
- import { CountryService } from "../../services/country/country.service";
6
+ import { ChangeService } from "../../services/change.service";
7
+ import { StorageService } from "../../services/storage.service";
8
8
  import * as i0 from "@angular/core";
9
9
  export declare class NxtSearchBox implements OnInit, OnChanges, OnDestroy {
10
10
  private storageService;
@@ -1,4 +1,4 @@
1
- import { TranslationService } from './services/translation/translation.service';
1
+ import { TranslationService } from './services/translation.service';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "./nxt-app.component";
4
4
  import * as i2 from "./i18n.component";
@@ -1,15 +1,14 @@
1
1
  import { OnInit, EventEmitter, SimpleChanges } from "@angular/core";
2
+ import { SalesforceService } from "../../services/salesforce.service";
3
+ import { DataService } from '../../services/data.service';
2
4
  import { DomSanitizer, SafeHtml } from "@angular/platform-browser";
3
5
  import { ActionMeta } from '../../interfaces/actionMeta';
4
6
  import { BookletWrapper } from "../../model/bookletWrapper";
7
+ import { StorageService } from '../../services/storage.service';
8
+ import { ChangeService } from "../../services/change.service";
5
9
  import { Observable } from "rxjs";
6
10
  import { HttpClient } from "@angular/common/http";
7
11
  import { QuestionbookComponent } from "../questionbook/questionbook.component";
8
- import { SalesforceService } from "../../services/salesforce/salesforce.service";
9
- import { DataService } from "../../services/data/data.service";
10
- import { StorageService } from "../../services/storage/storage.service";
11
- import { ChangeService } from "../../services/change/change.service";
12
- import { TranslationService } from "../../services/translation/translation.service";
13
12
  import * as i0 from "@angular/core";
14
13
  export declare class BookletComponent implements OnInit {
15
14
  private sfService;
@@ -18,7 +17,6 @@ export declare class BookletComponent implements OnInit {
18
17
  private sanitizer;
19
18
  private changeService;
20
19
  private http;
21
- private translationService;
22
20
  bookletId: string;
23
21
  serv: string;
24
22
  tkn: string;
@@ -34,7 +32,6 @@ export declare class BookletComponent implements OnInit {
34
32
  from: any;
35
33
  apiUrl: any;
36
34
  isEdit: boolean;
37
- direction: string;
38
35
  handleBookletActionEvent: EventEmitter<any>;
39
36
  handlePage: EventEmitter<any>;
40
37
  hadleDropDownDependent: EventEmitter<any>;
@@ -45,15 +42,17 @@ export declare class BookletComponent implements OnInit {
45
42
  abItem: any;
46
43
  actions: ActionMeta[];
47
44
  bookQuestionsMap: any;
45
+ translateMap: any;
48
46
  private sqOptions;
49
47
  isAnswerFlag: boolean;
50
48
  spinnerName: string;
51
49
  spinnerType: string;
50
+ langDirection: string;
52
51
  answerList: any[];
53
52
  dataBind: any;
54
53
  allEvents: any[];
55
54
  questionbookComponent: QuestionbookComponent;
56
- constructor(sfService: SalesforceService, dataService: DataService, storageService: StorageService, sanitizer: DomSanitizer, changeService: ChangeService, http: HttpClient, translationService: TranslationService);
55
+ constructor(sfService: SalesforceService, dataService: DataService, storageService: StorageService, sanitizer: DomSanitizer, changeService: ChangeService, http: HttpClient);
57
56
  ngOnInit(): void;
58
57
  ngOnChanges(simplechanges: SimpleChanges): void;
59
58
  upgradeActions(actionString: string): any[];
@@ -70,11 +69,12 @@ export declare class BookletComponent implements OnInit {
70
69
  handleQues(ques: any): void;
71
70
  addEvent(day: any, entryQues: any): void;
72
71
  readQuestions(qbId: string): any[];
72
+ readTransQuestions(qbId: string): any[];
73
73
  getText(value: any): SafeHtml;
74
74
  getDropDown(event: any): void;
75
75
  getCalendarDate(event: any): void;
76
76
  getCalendarEvent(event: any): void;
77
77
  editChangeClick(action: any): void;
78
78
  static ɵfac: i0.ɵɵFactoryDeclaration<BookletComponent, never>;
79
- static ɵcmp: i0.ɵɵComponentDeclaration<BookletComponent, "lib-booklet", never, { "bookletId": { "alias": "bookletId"; "required": false; }; "serv": { "alias": "serv"; "required": false; }; "tkn": { "alias": "tkn"; "required": false; }; "bookletJSON": { "alias": "bookletJSON"; "required": false; }; "allIcons": { "alias": "allIcons"; "required": false; }; "themeColor": { "alias": "themeColor"; "required": false; }; "cdnIconURL": { "alias": "cdnIconURL"; "required": false; }; "dropdownDependentData": { "alias": "dropdownDependentData"; "required": false; }; "labelValue": { "alias": "labelValue"; "required": false; }; "token": { "alias": "token"; "required": false; }; "languageCode": { "alias": "languageCode"; "required": false; }; "fieldRestrictions": { "alias": "fieldRestrictions"; "required": false; }; "from": { "alias": "from"; "required": false; }; "apiUrl": { "alias": "apiUrl"; "required": false; }; "isEdit": { "alias": "isEdit"; "required": false; }; "direction": { "alias": "direction"; "required": false; }; "dataBind": { "alias": "dataBind"; "required": false; }; }, { "handleBookletActionEvent": "handleBookletActionEvent"; "handlePage": "handlePage"; "hadleDropDownDependent": "hadleDropDownDependent"; "handleCalendarDate": "handleCalendarDate"; "handleCalendarEvent": "handleCalendarEvent"; }, never, never, true, never>;
79
+ static ɵcmp: i0.ɵɵComponentDeclaration<BookletComponent, "lib-booklet", never, { "bookletId": { "alias": "bookletId"; "required": false; }; "serv": { "alias": "serv"; "required": false; }; "tkn": { "alias": "tkn"; "required": false; }; "bookletJSON": { "alias": "bookletJSON"; "required": false; }; "allIcons": { "alias": "allIcons"; "required": false; }; "themeColor": { "alias": "themeColor"; "required": false; }; "cdnIconURL": { "alias": "cdnIconURL"; "required": false; }; "dropdownDependentData": { "alias": "dropdownDependentData"; "required": false; }; "labelValue": { "alias": "labelValue"; "required": false; }; "token": { "alias": "token"; "required": false; }; "languageCode": { "alias": "languageCode"; "required": false; }; "fieldRestrictions": { "alias": "fieldRestrictions"; "required": false; }; "from": { "alias": "from"; "required": false; }; "apiUrl": { "alias": "apiUrl"; "required": false; }; "isEdit": { "alias": "isEdit"; "required": false; }; "dataBind": { "alias": "dataBind"; "required": false; }; }, { "handleBookletActionEvent": "handleBookletActionEvent"; "handlePage": "handlePage"; "hadleDropDownDependent": "hadleDropDownDependent"; "handleCalendarDate": "handleCalendarDate"; "handleCalendarEvent": "handleCalendarEvent"; }, never, never, true, never>;
80
80
  }
@@ -1,15 +1,10 @@
1
- import { ChangeDetectorRef, EventEmitter, SimpleChanges } from "@angular/core";
2
- import { FormBuilderService } from "../../../services/form-builder/form-builder.service";
3
- import { TranslationService } from "../../../services/translation/translation.service";
1
+ import { EventEmitter, SimpleChanges } from "@angular/core";
2
+ import { FormBuilderService } from "../../../services/form-builder.service";
4
3
  import * as i0 from "@angular/core";
5
4
  export declare class ElementComponent {
6
- private cdRef;
7
5
  private formBuilderService;
8
- private translationService;
9
6
  bookletJSON: any;
10
7
  bookletId: any;
11
- langOption: any;
12
- languageCode: any;
13
8
  templateMode: EventEmitter<boolean>;
14
9
  field: any;
15
10
  formElements: any[];
@@ -32,7 +27,7 @@ export declare class ElementComponent {
32
27
  templateSelected: boolean;
33
28
  isHeaderSelect: boolean;
34
29
  selectedColumn: any;
35
- constructor(cdRef: ChangeDetectorRef, formBuilderService: FormBuilderService, translationService: TranslationService);
30
+ constructor(formBuilderService: FormBuilderService);
36
31
  ngOnInit(): void;
37
32
  toggleSection(section: "basic" | "advanced"): void;
38
33
  isSectionOpen(section: string): boolean;
@@ -62,7 +57,6 @@ export declare class ElementComponent {
62
57
  removeColumn(event: any): void;
63
58
  fileChangeEvent(index: any, event: any): Promise<void>;
64
59
  private readFileAsDataURL;
65
- langChangeEmit(event: any): void;
66
60
  static ɵfac: i0.ɵɵFactoryDeclaration<ElementComponent, never>;
67
- static ɵcmp: i0.ɵɵComponentDeclaration<ElementComponent, "app-element", never, { "bookletJSON": { "alias": "bookletJSON"; "required": false; }; "bookletId": { "alias": "bookletId"; "required": false; }; "langOption": { "alias": "langOption"; "required": false; }; "languageCode": { "alias": "languageCode"; "required": false; }; }, { "templateMode": "templateMode"; }, never, never, true, never>;
61
+ static ɵcmp: i0.ɵɵComponentDeclaration<ElementComponent, "app-element", never, { "bookletJSON": { "alias": "bookletJSON"; "required": false; }; "bookletId": { "alias": "bookletId"; "required": false; }; }, { "templateMode": "templateMode"; }, never, never, true, never>;
68
62
  }
@@ -3,7 +3,6 @@ import * as i0 from "@angular/core";
3
3
  export declare class FormComponent {
4
4
  bookletJSON: any;
5
5
  bookletId: any;
6
- langOption: any;
7
6
  formButtonHandler: EventEmitter<string>;
8
7
  templateSaveHandler: EventEmitter<string>;
9
8
  selectedElementType: string;
@@ -12,5 +11,5 @@ export declare class FormComponent {
12
11
  formButtonHandlerClick(event: any): void;
13
12
  saveTemplate(event: any): void;
14
13
  static ɵfac: i0.ɵɵFactoryDeclaration<FormComponent, never>;
15
- static ɵcmp: i0.ɵɵComponentDeclaration<FormComponent, "app-form-builder", never, { "bookletJSON": { "alias": "bookletJSON"; "required": false; }; "bookletId": { "alias": "bookletId"; "required": false; }; "langOption": { "alias": "langOption"; "required": false; }; }, { "formButtonHandler": "formButtonHandler"; "templateSaveHandler": "templateSaveHandler"; }, never, never, true, never>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormComponent, "app-form-builder", never, { "bookletJSON": { "alias": "bookletJSON"; "required": false; }; "bookletId": { "alias": "bookletId"; "required": false; }; }, { "formButtonHandler": "formButtonHandler"; "templateSaveHandler": "templateSaveHandler"; }, never, never, true, never>;
16
15
  }
@@ -1,9 +1,8 @@
1
1
  import { ElementRef, EventEmitter, OnInit } from '@angular/core';
2
+ import { FormBuilderService } from '../../../services/form-builder.service';
3
+ import { TemplateService } from '../../../services/template.service';
2
4
  import { CropperPosition, Dimensions, ImageTransform } from '../../../components/image-cropper/interfaces';
3
5
  import { PipeTransform } from '@angular/core';
4
- import { FormBuilderService } from '../../../services/form-builder/form-builder.service';
5
- import { TemplateService } from '../../../services/template/template.service';
6
- import { TranslationService } from '../../../services/translation/translation.service';
7
6
  import * as i0 from "@angular/core";
8
7
  export declare class GetValueByPathPipe implements PipeTransform {
9
8
  transform(obj: any, path: string, defaultValue?: any): any;
@@ -13,7 +12,6 @@ export declare class GetValueByPathPipe implements PipeTransform {
13
12
  export declare class PropertiesComponent implements OnInit {
14
13
  private formBuilderService;
15
14
  private templateService;
16
- private translationService;
17
15
  templateSelected: boolean;
18
16
  set selectedElementType(value: string);
19
17
  formButtonHandler: EventEmitter<any>;
@@ -346,7 +344,7 @@ export declare class PropertiesComponent implements OnInit {
346
344
  appearance: any[];
347
345
  };
348
346
  }>;
349
- constructor(formBuilderService: FormBuilderService, templateService: TemplateService, translationService: TranslationService);
347
+ constructor(formBuilderService: FormBuilderService, templateService: TemplateService);
350
348
  ngOnInit(): void;
351
349
  private createElementProperties;
352
350
  createElementConfig(config?: {
@@ -360,7 +358,7 @@ export declare class PropertiesComponent implements OnInit {
360
358
  };
361
359
  addNewButton(): void;
362
360
  removeButton(btn: any): void;
363
- onButtonPropertyChange(index: number, key: string, value: any, isTranslate?: boolean): void;
361
+ onButtonPropertyChange(index: number, key: string, value: any): void;
364
362
  updateTitle(value: string): void;
365
363
  validateInput(value: string, type: string): boolean;
366
364
  updateField(value: string): void;
@@ -385,11 +383,11 @@ export declare class PropertiesComponent implements OnInit {
385
383
  getValueByPath(path: string, obj?: any, defaultValue?: any): any;
386
384
  isAnotherIdSelected(): boolean;
387
385
  onToggleChange(path: string, event: any): void;
388
- setValueByPath(path: string, value: any, isTranslate?: boolean): void;
386
+ setValueByPath(path: string, value: any): void;
389
387
  getStyleKeys(): string[];
390
388
  updateElement(element: any): void;
391
389
  getValueByArrayPath(targetArrayPath: any, targetArrayKey: string, selectColumn: string, keyPath: string, isTableColumn?: boolean): any;
392
- updateValueByArrayPath(targetArrayPath: any, targetArrayKey: string, selectColumn: string, keyPath: string, event: any, isTableColumn?: boolean, isTranslate?: boolean): void;
390
+ updateValueByArrayPath(targetArrayPath: any, targetArrayKey: string, selectColumn: string, keyPath: string, event: any, isTableColumn?: boolean): void;
393
391
  getDataByPath(path: string): any;
394
392
  flipHorizontal(): void;
395
393
  flipVertical(): void;
@@ -1,5 +1,5 @@
1
1
  import { EventEmitter } from '@angular/core';
2
- import { TemplateService } from '../../../services/template/template.service';
2
+ import { TemplateService } from '../../../services/template.service';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class AppTemplatesComponent {
5
5
  private templateService;
@@ -1,8 +1,8 @@
1
1
  import { ElementRef, EventEmitter, QueryList, SimpleChanges } from '@angular/core';
2
+ import { PdfDesignerService } from '../../../services/pdf-designer.service';
2
3
  import { ImageTransform } from '../../../components/image-cropper/interfaces/image-transform.interface';
3
4
  import { Dimensions } from '../../../components/image-cropper/interfaces/dimensions.interface';
4
5
  import { CropperPosition } from '../../../components/image-cropper/interfaces/cropper-position.interface';
5
- import { PdfDesignerService } from '../../../services/pdf-designer/pdf-designer.service';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class PdfDesignerComponent {
8
8
  private pdfDesignerService;
@@ -1,8 +1,8 @@
1
1
  import { HttpClient } from '@angular/common/http';
2
2
  import { ElementRef, EventEmitter } from '@angular/core';
3
3
  import { CropperPosition, Dimensions, ImageTransform } from '../../../components/image-cropper/interfaces';
4
- import { PdfDesignerService } from '../../../services/pdf-designer/pdf-designer.service';
5
- import { TemplateService } from '../../../services/template/template.service';
4
+ import { PdfDesignerService } from '../../../services/pdf-designer.service';
5
+ import { TemplateService } from '../../../services/template.service';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class PdfPropertiesComponent {
8
8
  private http;
@@ -1,12 +1,12 @@
1
1
  import { OnInit, EventEmitter, ChangeDetectorRef, AfterViewInit } from '@angular/core';
2
2
  import { Question, QuestionBook } from '../../wrapper';
3
+ import { SalesforceService } from "../../services/salesforce.service";
4
+ import { DataService } from '../../services/data.service';
5
+ import { ChangeService } from '../../services/change.service';
6
+ import { StorageService } from '../../services/storage.service';
3
7
  import { I18nService } from '../../i18n.service';
4
8
  import { BehaviorSubject, Subscription } from 'rxjs';
5
9
  import { CropperPosition, Dimensions, ImageTransform } from '../../components/image-cropper/interfaces';
6
- import { SalesforceService } from '../../services/salesforce/salesforce.service';
7
- import { DataService } from '../../services/data/data.service';
8
- import { ChangeService } from '../../services/change/change.service';
9
- import { StorageService } from '../../services/storage/storage.service';
10
10
  import * as i0 from "@angular/core";
11
11
  export declare class QuestionbookComponent implements OnInit, AfterViewInit {
12
12
  private sfService;
@@ -18,6 +18,7 @@ export declare class QuestionbookComponent implements OnInit, AfterViewInit {
18
18
  private document;
19
19
  qbItem: QuestionBook;
20
20
  questionItem: Question;
21
+ translatedQuestions: any[];
21
22
  questions: any[];
22
23
  errorFieldId: any;
23
24
  labelValue: string;
@@ -31,12 +32,12 @@ export declare class QuestionbookComponent implements OnInit, AfterViewInit {
31
32
  allIcons: any[];
32
33
  themeColor: string;
33
34
  cdnIconURL: string;
34
- direction: string;
35
35
  subQuestions: Question[];
36
36
  selectedFileData: any[];
37
37
  loadComponent$: BehaviorSubject<boolean>;
38
38
  qbRef: QuestionBook;
39
39
  style: any;
40
+ langDirection: string;
40
41
  bookStyle: any;
41
42
  subscription: Subscription;
42
43
  isImageEdit: boolean;
@@ -69,6 +70,7 @@ export declare class QuestionbookComponent implements OnInit, AfterViewInit {
69
70
  processData(): void;
70
71
  hideDependentElements(elementId: any): void;
71
72
  clearSQError(quesId: any): void;
73
+ processTranslatedQuestions(): void;
72
74
  setSubQuestions(records: any): void;
73
75
  childEventCapture(event: any, ques?: any): void;
74
76
  deleteFile(fileData: any): void;
@@ -108,5 +110,5 @@ export declare class QuestionbookComponent implements OnInit, AfterViewInit {
108
110
  closeModal(): void;
109
111
  readQuestions(qbId: any, ques: any): any[];
110
112
  static ɵfac: i0.ɵɵFactoryDeclaration<QuestionbookComponent, never>;
111
- static ɵcmp: i0.ɵɵComponentDeclaration<QuestionbookComponent, "lib-questionbook", never, { "qbItem": { "alias": "qbItem"; "required": false; }; "questionItem": { "alias": "questionItem"; "required": false; }; "questions": { "alias": "questions"; "required": false; }; "errorFieldId": { "alias": "errorFieldId"; "required": false; }; "labelValue": { "alias": "labelValue"; "required": false; }; "token": { "alias": "token"; "required": false; }; "isEdit": { "alias": "isEdit"; "required": false; }; "dropDownData": { "alias": "dropDownData"; "required": false; }; "dataBind": { "alias": "dataBind"; "required": false; }; "allIcons": { "alias": "allIcons"; "required": false; }; "themeColor": { "alias": "themeColor"; "required": false; }; "cdnIconURL": { "alias": "cdnIconURL"; "required": false; }; "direction": { "alias": "direction"; "required": false; }; }, { "handleDropDown": "handleDropDown"; "handleQuestion": "handleQuestion"; "singleFieldChangeEmit": "singleFieldChangeEmit"; "hadleDropDownDependent": "hadleDropDownDependent"; "handleCalendarDate": "handleCalendarDate"; "handleCalendarEvent": "handleCalendarEvent"; }, never, never, true, never>;
113
+ static ɵcmp: i0.ɵɵComponentDeclaration<QuestionbookComponent, "lib-questionbook", never, { "qbItem": { "alias": "qbItem"; "required": false; }; "questionItem": { "alias": "questionItem"; "required": false; }; "translatedQuestions": { "alias": "translatedQuestions"; "required": false; }; "questions": { "alias": "questions"; "required": false; }; "errorFieldId": { "alias": "errorFieldId"; "required": false; }; "labelValue": { "alias": "labelValue"; "required": false; }; "token": { "alias": "token"; "required": false; }; "isEdit": { "alias": "isEdit"; "required": false; }; "dropDownData": { "alias": "dropDownData"; "required": false; }; "dataBind": { "alias": "dataBind"; "required": false; }; "allIcons": { "alias": "allIcons"; "required": false; }; "themeColor": { "alias": "themeColor"; "required": false; }; "cdnIconURL": { "alias": "cdnIconURL"; "required": false; }; }, { "handleDropDown": "handleDropDown"; "handleQuestion": "handleQuestion"; "singleFieldChangeEmit": "singleFieldChangeEmit"; "hadleDropDownDependent": "hadleDropDownDependent"; "handleCalendarDate": "handleCalendarDate"; "handleCalendarEvent": "handleCalendarEvent"; }, never, never, true, never>;
112
114
  }
@@ -1,14 +1,14 @@
1
1
  import { OnInit, EventEmitter, ElementRef, SimpleChanges } from "@angular/core";
2
2
  import { ActivatedRoute, Params } from "@angular/router";
3
+ import { SalesforceService } from "../../services/salesforce.service";
3
4
  import { DomSanitizer, SafeHtml } from "@angular/platform-browser";
4
5
  import { UntypedFormBuilder } from "@angular/forms";
5
6
  import { DeviceDetectorService } from 'ngx-device-detector';
7
+ import { DataService } from '../../services/data.service';
8
+ import { ChangeService } from '../../services/change.service';
9
+ import { SharedService } from "../../services/shared.service";
6
10
  import { Question, QuestionBook, AnswerBook, AnswerWrapper, OptionValue, LocalQuestion } from "../../wrapper";
7
11
  import { I18nService } from "../../i18n.service";
8
- import { SalesforceService } from "../../services/salesforce/salesforce.service";
9
- import { DataService } from "../../services/data/data.service";
10
- import { ChangeService } from "../../services/change/change.service";
11
- import { SharedService } from "../../services/shared/shared.service";
12
12
  import * as i0 from "@angular/core";
13
13
  export declare class QuestionnaireComponent implements OnInit {
14
14
  private sfService;
@@ -26,7 +26,6 @@ export declare class QuestionnaireComponent implements OnInit {
26
26
  tkn: string;
27
27
  api: string;
28
28
  isEdit: boolean;
29
- direction: string;
30
29
  handleEvent: EventEmitter<any>;
31
30
  handlePage: EventEmitter<any>;
32
31
  handleQuestion: EventEmitter<any>;
@@ -213,5 +212,5 @@ export declare class QuestionnaireComponent implements OnInit {
213
212
  getKey(item: any): any;
214
213
  getValue(item: any): any;
215
214
  static ɵfac: i0.ɵɵFactoryDeclaration<QuestionnaireComponent, never>;
216
- static ɵcmp: i0.ɵɵComponentDeclaration<QuestionnaireComponent, "lib-questionnaire", never, { "qbId": { "alias": "qbId"; "required": false; }; "insuranceStartDate": { "alias": "insuranceStartDate"; "required": false; }; "serv": { "alias": "serv"; "required": false; }; "tkn": { "alias": "tkn"; "required": false; }; "api": { "alias": "api"; "required": false; }; "isEdit": { "alias": "isEdit"; "required": false; }; "direction": { "alias": "direction"; "required": false; }; }, { "handleEvent": "handleEvent"; "handlePage": "handlePage"; "handleQuestion": "handleQuestion"; "handleBook": "handleBook"; "handleSubmit": "handleSubmit"; }, never, never, true, never>;
215
+ static ɵcmp: i0.ɵɵComponentDeclaration<QuestionnaireComponent, "lib-questionnaire", never, { "qbId": { "alias": "qbId"; "required": false; }; "insuranceStartDate": { "alias": "insuranceStartDate"; "required": false; }; "serv": { "alias": "serv"; "required": false; }; "tkn": { "alias": "tkn"; "required": false; }; "api": { "alias": "api"; "required": false; }; "isEdit": { "alias": "isEdit"; "required": false; }; }, { "handleEvent": "handleEvent"; "handlePage": "handlePage"; "handleQuestion": "handleQuestion"; "handleBook": "handleBook"; "handleSubmit": "handleSubmit"; }, never, never, true, never>;
217
216
  }
@@ -1,9 +1,10 @@
1
1
  import { PipeTransform } from '@angular/core';
2
+ import { TranslationService } from '../services/translation.service';
2
3
  import * as i0 from "@angular/core";
3
4
  export declare class NxtCustomTranslatePipe implements PipeTransform {
4
- private cache;
5
5
  private translationService;
6
- constructor();
6
+ private cache;
7
+ constructor(translationService: TranslationService);
7
8
  transform(key: string, fallback: string): string;
8
9
  static ɵfac: i0.ɵɵFactoryDeclaration<NxtCustomTranslatePipe, never>;
9
10
  static ɵpipe: i0.ɵɵPipeDeclaration<NxtCustomTranslatePipe, "nxtCustomTranslate", true>;
@@ -1,5 +1,5 @@
1
1
  import { Observable } from 'rxjs';
2
- import { ElementComponent } from '../../pages/builder/element/element.component';
2
+ import { ElementComponent } from '../pages/builder/element/element.component';
3
3
  import { HttpClient } from '@angular/common/http';
4
4
  import * as i0 from "@angular/core";
5
5
  interface FormElement {
@@ -92,7 +92,6 @@ export declare class FormBuilderService {
92
92
  getElements(): FormElement[];
93
93
  sortElementsByOrder(): void;
94
94
  getBook(): any;
95
- updateBook(book: any): void;
96
95
  downloadElement(): any;
97
96
  updateElementsOrder(updatedElements: FormElement[]): void;
98
97
  removeElementComponent(id: any): void;
@@ -1,5 +1,5 @@
1
1
  import { Observable } from 'rxjs';
2
- import { ElementComponent } from '../../pages/builder/element/element.component';
2
+ import { ElementComponent } from '../pages/builder/element/element.component';
3
3
  import { HttpClient } from '@angular/common/http';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class PdfDesignerService {
@@ -1,5 +1,5 @@
1
- import { Question } from '../../wrapper';
2
- import { BookletWrapper } from '../../model/bookletWrapper';
1
+ import { Question } from '../wrapper';
2
+ import { BookletWrapper } from '../model/bookletWrapper';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class StorageService {
5
5
  nxtBookletAnswer: BookletWrapper;
@@ -1,4 +1,4 @@
1
- import { DataService } from '../data/data.service';
1
+ import { DataService } from './data.service';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class TranslationService {
4
4
  private dataService;
@@ -6,22 +6,12 @@ export declare class TranslationService {
6
6
  private currentLang;
7
7
  private translationsLoaded;
8
8
  translationsLoaded$: import("rxjs").Observable<void>;
9
- private formBuilderTranslations;
10
- private formBuilderCurrentLang;
11
- private formBuilderTranslationsLoaded;
12
- formBuilderTranslationsLoaded$: import("rxjs").Observable<void>;
13
9
  constructor(dataService: DataService);
14
10
  load(): Promise<void>;
15
- updateTranslations(newTranslations: any): void;
16
- private deepMerge;
17
11
  setTranslations(translations: any): void;
18
12
  getLanguage(): string;
19
13
  setLanguage(lang: string): void;
20
14
  translate(key: string): string | null;
21
- setFormBuilderTranslations(formBuilderTrans: any): void;
22
- getFormBuilderLanguage(): string;
23
- setFormBuilderLanguage(lang: string): void;
24
- formBuilderTranslate(key: string, lang: any): string | null;
25
15
  static ɵfac: i0.ɵɵFactoryDeclaration<TranslationService, never>;
26
16
  static ɵprov: i0.ɵɵInjectableDeclaration<TranslationService>;
27
17
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rangertechnologies/ngnxt",
3
- "version": "2.1.249",
3
+ "version": "2.1.250",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^18.2.13",
6
6
  "@angular/core": "^18.2.13"
package/public-api.d.ts CHANGED
@@ -3,7 +3,7 @@ export * from './lib/nxt-app.component';
3
3
  export * from './lib/nxt-app.module';
4
4
  export * from './lib/pages/questionnaire/questionnaire.component';
5
5
  export * from './lib/pages/booklet/booklet.component';
6
- export * from './lib/services/salesforce/salesforce.service';
6
+ export * from './lib/services/salesforce.service';
7
7
  export * from './lib/i18n.component';
8
8
  export * from './lib/i18n.pipe';
9
9
  export * from './lib/pages/builder/form/form.component';
@@ -1,46 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { BehaviorSubject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export class ChangeService {
5
- constructor() { }
6
- // Observable parentQuestion sources
7
- changeAnnouncedSource = new BehaviorSubject(null);
8
- changeConfirmedSource = new BehaviorSubject(null);
9
- validationSource = new BehaviorSubject(null);
10
- fieldSource = new BehaviorSubject(null);
11
- // VD 13Sep24 - databind changes
12
- customChanges = new BehaviorSubject(null);
13
- // Observable parentQuestion streams
14
- changeAnnounced$ = this.changeAnnouncedSource.asObservable();
15
- changeConfirmed$ = this.changeConfirmedSource.asObservable();
16
- submitValidate$ = this.validationSource.asObservable();
17
- changeField$ = this.fieldSource.asObservable();
18
- // VD 13Sep24 - databind changes
19
- customChange$ = this.customChanges.asObservable();
20
- // Service message commands
21
- announceChange(changeValue) {
22
- this.changeAnnouncedSource.next(changeValue);
23
- }
24
- confirmChange(childQuestion) {
25
- this.changeConfirmedSource.next(childQuestion);
26
- }
27
- // VD 13Sep24 - databind changes
28
- dataChanges(data) {
29
- this.customChanges.next(data);
30
- }
31
- submitChange(value) {
32
- this.validationSource.next(value);
33
- }
34
- fieldChange(value) {
35
- this.fieldSource.next(value);
36
- }
37
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChangeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
38
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChangeService, providedIn: 'root' });
39
- }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChangeService, decorators: [{
41
- type: Injectable,
42
- args: [{
43
- providedIn: 'root'
44
- }]
45
- }], ctorParameters: () => [] });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtYXBwL3NyYy9saWIvc2VydmljZXMvY2hhbmdlL2NoYW5nZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFLdkMsTUFBTSxPQUFPLGFBQWE7SUFFeEIsZ0JBQWdCLENBQUM7SUFDbkIsb0NBQW9DO0lBQzVCLHFCQUFxQixHQUFFLElBQUksZUFBZSxDQUFNLElBQUksQ0FBQyxDQUFDO0lBQ3RELHFCQUFxQixHQUFHLElBQUksZUFBZSxDQUFNLElBQUksQ0FBQyxDQUFDO0lBQ3ZELGdCQUFnQixHQUFHLElBQUksZUFBZSxDQUFNLElBQUksQ0FBQyxDQUFDO0lBQ2xELFdBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBTSxJQUFJLENBQUMsQ0FBQztJQUNyRCxnQ0FBZ0M7SUFDeEIsYUFBYSxHQUFHLElBQUksZUFBZSxDQUFNLElBQUksQ0FBQyxDQUFDO0lBRXZELG9DQUFvQztJQUNwQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDN0QsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzdELGVBQWUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdkQsWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDL0MsZ0NBQWdDO0lBQ2hDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBRWxELDJCQUEyQjtJQUMzQixjQUFjLENBQUMsV0FBZ0I7UUFDN0IsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsYUFBYSxDQUFDLGFBQXFCO1FBQ2pDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUNELGdDQUFnQztJQUNoQyxXQUFXLENBQUMsSUFBWTtRQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQVk7UUFDdkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBQ0QsV0FBVyxDQUFDLEtBQVM7UUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQzt3R0FyQ1ksYUFBYTs0R0FBYixhQUFhLGNBRlosTUFBTTs7NEZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ2hhbmdlU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cbi8vIE9ic2VydmFibGUgcGFyZW50UXVlc3Rpb24gc291cmNlc1xucHJpdmF0ZSBjaGFuZ2VBbm5vdW5jZWRTb3VyY2UgPW5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcbnByaXZhdGUgY2hhbmdlQ29uZmlybWVkU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpO1xucHJpdmF0ZSB2YWxpZGF0aW9uU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpO1xucHJpdmF0ZSBmaWVsZFNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcbi8vIFZEIDEzU2VwMjQgLSBkYXRhYmluZCBjaGFuZ2VzXG5wcml2YXRlIGN1c3RvbUNoYW5nZXMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbCk7XG5cbi8vIE9ic2VydmFibGUgcGFyZW50UXVlc3Rpb24gc3RyZWFtc1xuY2hhbmdlQW5ub3VuY2VkJCA9IHRoaXMuY2hhbmdlQW5ub3VuY2VkU291cmNlLmFzT2JzZXJ2YWJsZSgpO1xuY2hhbmdlQ29uZmlybWVkJCA9IHRoaXMuY2hhbmdlQ29uZmlybWVkU291cmNlLmFzT2JzZXJ2YWJsZSgpO1xuc3VibWl0VmFsaWRhdGUkID0gdGhpcy52YWxpZGF0aW9uU291cmNlLmFzT2JzZXJ2YWJsZSgpO1xuY2hhbmdlRmllbGQkID0gdGhpcy5maWVsZFNvdXJjZS5hc09ic2VydmFibGUoKTtcbi8vIFZEIDEzU2VwMjQgLSBkYXRhYmluZCBjaGFuZ2VzXG5jdXN0b21DaGFuZ2UkID0gdGhpcy5jdXN0b21DaGFuZ2VzLmFzT2JzZXJ2YWJsZSgpO1xuXG4vLyBTZXJ2aWNlIG1lc3NhZ2UgY29tbWFuZHNcbmFubm91bmNlQ2hhbmdlKGNoYW5nZVZhbHVlOiBhbnkpIHtcbiAgdGhpcy5jaGFuZ2VBbm5vdW5jZWRTb3VyY2UubmV4dChjaGFuZ2VWYWx1ZSk7XG59XG5cbmNvbmZpcm1DaGFuZ2UoY2hpbGRRdWVzdGlvbjogc3RyaW5nKSB7XG4gIHRoaXMuY2hhbmdlQ29uZmlybWVkU291cmNlLm5leHQoY2hpbGRRdWVzdGlvbik7XG59XG4vLyBWRCAxM1NlcDI0IC0gZGF0YWJpbmQgY2hhbmdlc1xuZGF0YUNoYW5nZXMoZGF0YTogc3RyaW5nKSB7XG4gIHRoaXMuY3VzdG9tQ2hhbmdlcy5uZXh0KGRhdGEpO1xufVxuXG5zdWJtaXRDaGFuZ2UodmFsdWU6c3RyaW5nKXtcbiAgdGhpcy52YWxpZGF0aW9uU291cmNlLm5leHQodmFsdWUpO1xufVxuZmllbGRDaGFuZ2UodmFsdWU6YW55KXtcbiB0aGlzLmZpZWxkU291cmNlLm5leHQodmFsdWUpO1xufVxufSJdfQ==