@sunbird-cb/toc 0.0.7 → 0.0.8-mauritius

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 (84) hide show
  1. package/esm2022/lib/_collection/_common/ai-tutor/ai-tutor.component.mjs +1169 -0
  2. package/esm2022/lib/_collection/_common/ai-tutor/socket.service.mjs +121 -0
  3. package/esm2022/lib/_collection/_common/card-competency/card-competency.component.mjs +58 -0
  4. package/esm2022/lib/_collection/_common/card-competency/card-competency.module.mjs +22 -0
  5. package/esm2022/lib/_collection/_common/card-content-v2/card-content-v2.model.mjs +23 -0
  6. package/esm2022/lib/_collection/_common/certificate-dialog/certificate-dialog.component.mjs +115 -12
  7. package/esm2022/lib/_collection/_common/certificate-dialog/certificate-dialog.module.mjs +5 -1
  8. package/esm2022/lib/_collection/_common/content-toc/ai-tutor-confirm-popup/ai-tutor-confirm-popup.component.mjs +3 -3
  9. package/esm2022/lib/_collection/_common/content-toc/app-toc-about/app-toc-about.component.mjs +32 -12
  10. package/esm2022/lib/_collection/_common/content-toc/app-toc-content/app-toc-content.component.mjs +86 -7
  11. package/esm2022/lib/_collection/_common/content-toc/app-toc-content-card-v2/app-toc-content-card-v2.component.mjs +294 -97
  12. package/esm2022/lib/_collection/_common/content-toc/content-toc.component.mjs +25 -37
  13. package/esm2022/lib/_collection/_common/content-toc/content-toc.module.mjs +7 -2
  14. package/esm2022/lib/_collection/_common/content-toc/karma-points/karma-points.component.mjs +70 -3
  15. package/esm2022/lib/_collection/_common/toc-kpi-values/toc-kpi-values.component.mjs +3 -3
  16. package/esm2022/lib/_collection/sliders-dynamic/sliders-dynamic.component.mjs +6 -3
  17. package/esm2022/lib/_services/viewer-route-util.mjs +2 -2
  18. package/esm2022/lib/_services/widget-content.model.mjs +8 -1
  19. package/esm2022/lib/_services/widget-content.service.mjs +8 -8
  20. package/esm2022/lib/app-toc-lib.module.mjs +16 -7
  21. package/esm2022/lib/components/app-toc-cios-home/app-toc-cios-home.component.mjs +55 -8
  22. package/esm2022/lib/components/app-toc-dialog-intro-video/app-toc-dialog-intro-video.component.mjs +3 -3
  23. package/esm2022/lib/components/app-toc-discussion/app-toc-discussion.component.mjs +3 -3
  24. package/esm2022/lib/components/app-toc-home/app-toc-home.component.mjs +7 -6
  25. package/esm2022/lib/components/app-toc-home-v2/app-toc-home-v2.component.mjs +187 -75
  26. package/esm2022/lib/components/enroll-profile-form/enroll-profile-form.component.mjs +22 -6
  27. package/esm2022/lib/components/public-survey-form/public-survey-form.component.mjs +5 -3
  28. package/esm2022/lib/models/user-profile.model.mjs +1 -1
  29. package/esm2022/lib/registration-toc-lib.config.mjs +14 -0
  30. package/esm2022/lib/routes/app-toc-home/app-toc-home.component.mjs +1 -1
  31. package/esm2022/lib/services/app-toc-v2.service.mjs +183 -58
  32. package/esm2022/lib/services/app-toc.service.mjs +328 -138
  33. package/esm2022/lib/services/certificate.service.mjs +54 -9
  34. package/esm2022/lib/services/discuss-utils.service.mjs +30 -43
  35. package/esm2022/lib/services/netcore.service.mjs +116 -46
  36. package/esm2022/lib/services/nps-grid.service.mjs +34 -22
  37. package/esm2022/lib/services/otp.service.mjs +63 -25
  38. package/esm2022/lib/services/profile-v2.service.mjs +47 -19
  39. package/esm2022/lib/services/root.service.mjs +106 -0
  40. package/esm2022/lib/services/user-profile.service.mjs +160 -35
  41. package/esm2022/lib/services/viewer-data.service.mjs +1 -1
  42. package/esm2022/lib/services/viewer-util.service.mjs +159 -32
  43. package/esm2022/public-api.mjs +12 -1
  44. package/fesm2022/sunbird-cb-toc.mjs +9619 -6783
  45. package/fesm2022/sunbird-cb-toc.mjs.map +1 -1
  46. package/lib/_collection/_common/ai-tutor/ai-tutor.component.d.ts +139 -0
  47. package/lib/_collection/_common/ai-tutor/socket.service.d.ts +19 -0
  48. package/lib/_collection/_common/card-competency/card-competency.component.d.ts +14 -0
  49. package/lib/_collection/_common/card-competency/card-competency.module.d.ts +8 -0
  50. package/lib/_collection/_common/card-content-v2/card-content-v2.model.d.ts +44 -0
  51. package/lib/_collection/_common/certificate-dialog/certificate-dialog.component.d.ts +11 -2
  52. package/lib/_collection/_common/certificate-dialog/certificate-dialog.module.d.ts +12 -11
  53. package/lib/_collection/_common/content-toc/ai-tutor-confirm-popup/ai-tutor-confirm-popup.component.d.ts +1 -1
  54. package/lib/_collection/_common/content-toc/app-toc-about/app-toc-about.component.d.ts +7 -3
  55. package/lib/_collection/_common/content-toc/app-toc-content/app-toc-content.component.d.ts +8 -0
  56. package/lib/_collection/_common/content-toc/app-toc-content-card-v2/app-toc-content-card-v2.component.d.ts +48 -7
  57. package/lib/_collection/_common/content-toc/content-toc.component.d.ts +6 -3
  58. package/lib/_collection/_common/content-toc/content-toc.module.d.ts +29 -28
  59. package/lib/_collection/_common/content-toc/karma-points/karma-points.component.d.ts +4 -1
  60. package/lib/_collection/sliders-dynamic/sliders-dynamic.component.d.ts +2 -1
  61. package/lib/_services/widget-content.model.d.ts +6 -0
  62. package/lib/app-toc-lib.module.d.ts +2 -1
  63. package/lib/components/app-toc-cios-home/app-toc-cios-home.component.d.ts +5 -0
  64. package/lib/components/app-toc-home/app-toc-home.component.d.ts +3 -2
  65. package/lib/components/app-toc-home-v2/app-toc-home-v2.component.d.ts +13 -3
  66. package/lib/components/enroll-profile-form/enroll-profile-form.component.d.ts +2 -0
  67. package/lib/components/public-survey-form/public-survey-form.component.d.ts +1 -0
  68. package/lib/models/user-profile.model.d.ts +87 -0
  69. package/lib/registration-toc-lib.config.d.ts +4 -0
  70. package/lib/services/app-toc-v2.service.d.ts +3 -0
  71. package/lib/services/app-toc.service.d.ts +30 -17
  72. package/lib/services/certificate.service.d.ts +5 -6
  73. package/lib/services/discuss-utils.service.d.ts +5 -27
  74. package/lib/services/netcore.service.d.ts +16 -28
  75. package/lib/services/nps-grid.service.d.ts +11 -10
  76. package/lib/services/otp.service.d.ts +5 -10
  77. package/lib/services/profile-v2.service.d.ts +7 -10
  78. package/lib/services/root.service.d.ts +26 -0
  79. package/lib/services/user-profile.service.d.ts +35 -15
  80. package/lib/services/viewer-data.service.d.ts +9 -5
  81. package/lib/services/viewer-util.service.d.ts +14 -0
  82. package/package.json +3 -3
  83. package/public-api.d.ts +10 -0
  84. package/sunbird-cb-toc-0.0.8-mauritius.tgz +0 -0
@@ -0,0 +1,139 @@
1
+ import { AfterViewChecked, AfterViewInit, ElementRef, EventEmitter, OnDestroy, OnInit, Renderer2 } from '@angular/core';
2
+ import { ActivatedRoute, Router } from '@angular/router';
3
+ import { ConfigurationsService, EventService, UtilityService } from '@sunbird-cb/utils-v2';
4
+ import { RootService } from './../../../services/root.service';
5
+ import { WebSocketService } from './socket.service';
6
+ import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
7
+ import { MatSnackBar as MatSnackbarNew } from '@angular/material/snack-bar';
8
+ import * as i0 from "@angular/core";
9
+ export declare class AiTutorComponent implements OnInit, AfterViewInit, AfterViewChecked, OnDestroy {
10
+ private route;
11
+ private configSvc;
12
+ private eventSvc;
13
+ private renderer;
14
+ private chatbotService;
15
+ private websocketService;
16
+ private dialog;
17
+ private matSnackBarNew;
18
+ private utilitySvc;
19
+ private router;
20
+ from: string;
21
+ content: any;
22
+ userJourney: any[];
23
+ showIcon: boolean;
24
+ categories: any[];
25
+ language: any[];
26
+ currentFilter: string;
27
+ selectedLaguage: string;
28
+ responseData: any;
29
+ userInfo: any;
30
+ recomendedQns: any;
31
+ questionsAndAns: any;
32
+ userIcon: string;
33
+ more: boolean;
34
+ chatInformation: any;
35
+ chatIssues: any;
36
+ displayLoader: boolean;
37
+ expanded: boolean;
38
+ callText: string;
39
+ emailText: string;
40
+ searchQueryAItutor: any;
41
+ initials: any;
42
+ copiedIndex: number;
43
+ circleColor: string;
44
+ random: string;
45
+ iGOTAITutorResultArr: any;
46
+ maximize: boolean;
47
+ localization: any;
48
+ private colors;
49
+ private randomcolors;
50
+ aiTutorResult: any;
51
+ private messageSubscription;
52
+ messages: string[];
53
+ inputMessage: string;
54
+ aiTutorResultArr: any;
55
+ cloneSearchQuery: string;
56
+ jwtToken: string;
57
+ isHubEnable: boolean;
58
+ learningStyle: {
59
+ title: string;
60
+ subtitle: string;
61
+ }[];
62
+ selectedLearningStyle: any;
63
+ resultFetch: boolean;
64
+ authTokenHost: string;
65
+ NoneSocketHost: string;
66
+ SocraticeStyleHost: string;
67
+ StorytellingHost: string;
68
+ textArea: ElementRef<HTMLTextAreaElement>;
69
+ closeAIPopup: EventEmitter<any>;
70
+ containerHeight: number;
71
+ isMobile: boolean;
72
+ showAITutorPopup: boolean;
73
+ chatId: string;
74
+ environment: any;
75
+ constructor(route: ActivatedRoute, configSvc: ConfigurationsService, eventSvc: EventService, renderer: Renderer2, chatbotService: RootService, websocketService: WebSocketService, dialog: MatDialog, matSnackBarNew: MatSnackbarNew, utilitySvc: UtilityService, environment: any, router: Router);
76
+ ngOnInit(): void;
77
+ ngAfterViewInit(): void;
78
+ greetings(): any;
79
+ getInfoText(label: string): any;
80
+ showMore(): any;
81
+ getData(): void;
82
+ setDataToLocalStorage(data: any): void;
83
+ initData(_getData: any): void;
84
+ getQns(): void;
85
+ selectLaguage(event: any): void;
86
+ readFromLocalStorage(): void;
87
+ goToBottom(): void;
88
+ iconClick(type: string): void;
89
+ toggleFilter(tab: string): void;
90
+ selectedQuestion(question: any, data: any): void;
91
+ pushData(msg: any): void;
92
+ getuserjourney(tab: string): any[];
93
+ getPriorityQuestion(priority: any): any[];
94
+ showMoreQuestion(): void;
95
+ showCategory(catItem: any): void;
96
+ raiseCategotyTelemetry(catItem: string): void;
97
+ raiseChatStartTelemetry(): void;
98
+ raiseChatEndTelemetry(): void;
99
+ raiseTemeletyInterat(idn: string): void;
100
+ checkForAIQuestionResponse(): void;
101
+ checkForApiCalls(): void;
102
+ getCategories(): void;
103
+ sortCategory(): any;
104
+ getLanguages(): void;
105
+ ngAfterViewChecked(): void;
106
+ scrollToBottom(): void;
107
+ clickOutside(): void;
108
+ private disableScroll;
109
+ private enableScroll;
110
+ submitSearchQuery(textArea: HTMLTextAreaElement, event: any): boolean;
111
+ sendAITutorMessage(): void;
112
+ getAiTutorMessage(): void;
113
+ aiTutorResultMessage(): void;
114
+ redirectToResource(item: any): void;
115
+ copyPath(item: any, cindex: any): void;
116
+ redirectToToc(chat: any): void;
117
+ splitParagraphByWords(paragraph: any, wordsPerChunk?: number): string;
118
+ toggleShow(index: any, showType: any): void;
119
+ get userInitials(): any;
120
+ private createInititals;
121
+ getLearningStyle(): void;
122
+ raiseTelemetryForResource(item: any): void;
123
+ sharePositiveContentRating(item: any, index: any, cindex: any): void;
124
+ openAIFeedbackPopup(item: any, index: any, cindex: any): void;
125
+ shareAIFeedback(item: any, result: any, index: any, cindex: any): void;
126
+ sharePositiveContentRatingForAnswer(item: any, index: any): void;
127
+ openAIFeedbackPopupForAnswer(item: any, index: any): void;
128
+ shareAIForAnswerFeedback(item: any, result: any, index: any): void;
129
+ callFromInternet(item: any, index: any): void;
130
+ rejectFromInternet(index: any): void;
131
+ ngOnDestroy(): void;
132
+ resizeTextarea(textArea: HTMLTextAreaElement, _fromInput: any): void;
133
+ resetTextAreaHeight(_textArea: HTMLTextAreaElement): void;
134
+ closeAITutorPopup(): void;
135
+ minimizeAITutor(): void;
136
+ maximizeAITutor(): void;
137
+ static ɵfac: i0.ɵɵFactoryDeclaration<AiTutorComponent, never>;
138
+ static ɵcmp: i0.ɵɵComponentDeclaration<AiTutorComponent, "ws-widget-ai-tutor", never, { "from": { "alias": "from"; "required": false; }; "content": { "alias": "content"; "required": false; }; "userJourney": { "alias": "userJourney"; "required": false; }; }, { "closeAIPopup": "closeAIPopup"; }, never, never, false, never>;
139
+ }
@@ -0,0 +1,19 @@
1
+ import { Observable } from 'rxjs';
2
+ import { HttpClient } from '@angular/common/http';
3
+ import * as i0 from "@angular/core";
4
+ export declare class WebSocketService {
5
+ http: HttpClient;
6
+ private socket;
7
+ private messageSubject;
8
+ pingIntervalId: any;
9
+ clientId: any;
10
+ constructor(http: HttpClient);
11
+ connect(url: string): void;
12
+ sendMessage(message: any): void;
13
+ getMessages(): Observable<any>;
14
+ startClientPing(): void;
15
+ closeConnection(): void;
16
+ getJWTToken(): Observable<any>;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<WebSocketService, never>;
18
+ static ɵprov: i0.ɵɵInjectableDeclaration<WebSocketService>;
19
+ }
@@ -0,0 +1,14 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { NsCardContent } from './../card-content-v2/card-content-v2.model';
3
+ import { NsWidgetResolver, WidgetBaseComponent } from '@sunbird-cb/resolver-v2';
4
+ import * as i0 from "@angular/core";
5
+ export declare class CardCompetencyComponent extends WidgetBaseComponent implements OnInit, NsWidgetResolver.IWidgetData<NsCardContent.ICard> {
6
+ widgetData: NsCardContent.ICompetency;
7
+ competencyArea: string;
8
+ isExpanded: boolean;
9
+ constructor();
10
+ ngOnInit(): void;
11
+ handleToggleSize(_viewMore: any): void;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<CardCompetencyComponent, never>;
13
+ static ɵcmp: i0.ɵɵComponentDeclaration<CardCompetencyComponent, "ws-widget-card-competency", never, { "widgetData": { "alias": "widgetData"; "required": false; }; "competencyArea": { "alias": "competencyArea"; "required": false; }; }, {}, never, never, false, never>;
14
+ }
@@ -0,0 +1,8 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./card-competency.component";
3
+ import * as i2 from "@angular/common";
4
+ export declare class CardCompetencyModule {
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<CardCompetencyModule, never>;
6
+ static ɵmod: i0.ɵɵNgModuleDeclaration<CardCompetencyModule, [typeof i1.CardCompetencyComponent], [typeof i2.CommonModule], [typeof i1.CardCompetencyComponent]>;
7
+ static ɵinj: i0.ɵɵInjectorDeclaration<CardCompetencyModule>;
8
+ }
@@ -0,0 +1,44 @@
1
+ import { NsContent } from "@sunbird-cb/utils-v2";
2
+ export declare namespace NsCardContent {
3
+ interface ICard {
4
+ content: NsContent.IContent;
5
+ cardSubType: TCardSubType;
6
+ context: {
7
+ pageSection: string;
8
+ position?: number;
9
+ };
10
+ intranetMode?: 'greyOut' | 'hide';
11
+ deletedMode?: 'greyOut' | 'hide';
12
+ likes?: number;
13
+ contentTags?: IContentTags;
14
+ stateData: any;
15
+ }
16
+ interface IContentTags {
17
+ daysSpan?: number;
18
+ excludeContentType?: NsContent.EContentTypes[];
19
+ excludeMimeType?: string[];
20
+ tag: string;
21
+ criteriaField?: string;
22
+ }
23
+ interface ICompetency extends ICard {
24
+ competencyArea: '';
25
+ competencyObject: {};
26
+ }
27
+ type TCardSubType = 'standard' | 'minimal' | 'space-saving' | 'card-user-details' | 'basic-info' | 'basic-details' | 'card-description-back' | 'network-card';
28
+ enum EContentStatus {
29
+ LIVE = "Live",
30
+ EXPIRED = "Expired",
31
+ DELETED = "Deleted",
32
+ MARK_FOR_DELETION = "MarkedForDeletion"
33
+ }
34
+ enum ACBPConst {
35
+ UPCOMING = "upcoming",
36
+ ALL = "All",
37
+ OVERDUE = "overdue",
38
+ SUCCESS = "success"
39
+ }
40
+ enum IGOTConst {
41
+ COMPETENCIES = "competencies_v6",
42
+ RETIRED = "Retired"
43
+ }
44
+ }
@@ -1,20 +1,29 @@
1
1
  import { OnInit } from '@angular/core';
2
2
  import { MatLegacyDialogRef as MatDialogRef } from '@angular/material/legacy-dialog';
3
- import { EventService } from '@sunbird-cb/utils-v2';
3
+ import { DomainConfService, EventService } from '@sunbird-cb/utils-v2';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class CertificateDialogComponent implements OnInit {
6
6
  private events;
7
7
  dialogRef: MatDialogRef<CertificateDialogComponent>;
8
8
  data: any;
9
9
  private environment;
10
+ domainConfService: DomainConfService;
10
11
  url: string;
11
12
  navUrl: string;
12
- constructor(events: EventService, dialogRef: MatDialogRef<CertificateDialogComponent>, data: any, environment: any);
13
+ constructor(events: EventService, dialogRef: MatDialogRef<CertificateDialogComponent>, data: any, environment: any, domainConfService: DomainConfService);
13
14
  ngOnInit(): void;
14
15
  downloadCert(): void;
15
16
  downloadCertPng(): void;
16
17
  downloadCertPdf(): Promise<void>;
18
+ getCertificateUrl(): string;
17
19
  shareCert(): Window;
20
+ shareOnLinkedIn(): void;
21
+ shareOnFacebook(): void;
22
+ shareOnTwitter(): void;
23
+ shareOnWhatsApp(): void;
24
+ shareViaEmail(): void;
25
+ copyCertificateLink(): void;
26
+ private fallbackCopyTextToClipboard;
18
27
  raiseShareIntreactTelemetry(type?: string, action?: string): void;
19
28
  raiseIntreactTelemetry(action?: string): void;
20
29
  static ɵfac: i0.ɵɵFactoryDeclaration<CertificateDialogComponent, never>;
@@ -5,18 +5,19 @@ import * as i3 from "@angular/common";
5
5
  import * as i4 from "@angular/forms";
6
6
  import * as i5 from "@angular/material/legacy-button";
7
7
  import * as i6 from "@angular/material/legacy-card";
8
- import * as i7 from "@angular/material/icon";
9
- import * as i8 from "@angular/material/legacy-tooltip";
10
- import * as i9 from "@angular/material/legacy-dialog";
11
- import * as i10 from "@angular/material/legacy-progress-spinner";
12
- import * as i11 from "@angular/material/legacy-form-field";
13
- import * as i12 from "@angular/material/legacy-input";
14
- import * as i13 from "@angular/material/legacy-snack-bar";
15
- import * as i14 from "@angular/material/legacy-menu";
16
- import * as i15 from "@sunbird-cb/utils-v2";
17
- import * as i16 from "@ngx-translate/core";
8
+ import * as i7 from "@angular/material/divider";
9
+ import * as i8 from "@angular/material/icon";
10
+ import * as i9 from "@angular/material/legacy-tooltip";
11
+ import * as i10 from "@angular/material/legacy-dialog";
12
+ import * as i11 from "@angular/material/legacy-progress-spinner";
13
+ import * as i12 from "@angular/material/legacy-form-field";
14
+ import * as i13 from "@angular/material/legacy-input";
15
+ import * as i14 from "@angular/material/legacy-snack-bar";
16
+ import * as i15 from "@angular/material/legacy-menu";
17
+ import * as i16 from "@sunbird-cb/utils-v2";
18
+ import * as i17 from "@ngx-translate/core";
18
19
  export declare class CertificateDialogModule {
19
20
  static ɵfac: i0.ɵɵFactoryDeclaration<CertificateDialogModule, never>;
20
- static ɵmod: i0.ɵɵNgModuleDeclaration<CertificateDialogModule, [typeof i1.CertificateDialogComponent, typeof i2.SvgToPdfComponent], [typeof i3.CommonModule, typeof i4.FormsModule, typeof i4.ReactiveFormsModule, typeof i5.MatLegacyButtonModule, typeof i6.MatLegacyCardModule, typeof i7.MatIconModule, typeof i8.MatLegacyTooltipModule, typeof i9.MatLegacyDialogModule, typeof i10.MatLegacyProgressSpinnerModule, typeof i11.MatLegacyFormFieldModule, typeof i12.MatLegacyInputModule, typeof i13.MatLegacySnackBarModule, typeof i14.MatLegacyMenuModule, typeof i15.PipeSafeSanitizerModule, typeof i16.TranslateModule], [typeof i1.CertificateDialogComponent]>;
21
+ static ɵmod: i0.ɵɵNgModuleDeclaration<CertificateDialogModule, [typeof i1.CertificateDialogComponent, typeof i2.SvgToPdfComponent], [typeof i3.CommonModule, typeof i4.FormsModule, typeof i4.ReactiveFormsModule, typeof i5.MatLegacyButtonModule, typeof i6.MatLegacyCardModule, typeof i7.MatDividerModule, typeof i8.MatIconModule, typeof i9.MatLegacyTooltipModule, typeof i10.MatLegacyDialogModule, typeof i11.MatLegacyProgressSpinnerModule, typeof i12.MatLegacyFormFieldModule, typeof i13.MatLegacyInputModule, typeof i14.MatLegacySnackBarModule, typeof i15.MatLegacyMenuModule, typeof i16.PipeSafeSanitizerModule, typeof i17.TranslateModule], [typeof i1.CertificateDialogComponent]>;
21
22
  static ɵinj: i0.ɵɵInjectorDeclaration<CertificateDialogModule>;
22
23
  }
@@ -5,7 +5,7 @@ export declare class AiTutorConfirmPopupComponent {
5
5
  data: any;
6
6
  constructor(dialogRef: MatDialogRef<AiTutorConfirmPopupComponent>, data: any);
7
7
  close(): void;
8
- enrollNow(enroll?: boolean): void;
8
+ enrollNow(_enroll?: boolean): void;
9
9
  static ɵfac: i0.ɵɵFactoryDeclaration<AiTutorConfirmPopupComponent, never>;
10
10
  static ɵcmp: i0.ɵɵComponentDeclaration<AiTutorConfirmPopupComponent, "ws-widget-ai-tutor-confirm-popup", never, {}, {}, never, never, false, never>;
11
11
  }
@@ -5,7 +5,7 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
5
5
  import { NsWidgetResolver } from '@sunbird-cb/resolver-v2';
6
6
  import { NsContent } from '../../../../_services/widget-content.model';
7
7
  import { RatingService } from '../../../../_services/rating.service';
8
- import { LoggerService, ConfigurationsService, WidgetContentService } from '@sunbird-cb/utils-v2';
8
+ import { LoggerService, ConfigurationsService, WidgetContentService, DomainConfService } from '@sunbird-cb/utils-v2';
9
9
  import { AppTocService } from '../../../../services/app-toc.service';
10
10
  import { TimerService } from '../../../../services/timer.service';
11
11
  import { HandleClaimService } from '../content-services/handle-claim.service';
@@ -63,6 +63,7 @@ export declare class AppTocAboutComponent implements OnInit, OnChanges, AfterVie
63
63
  private resetRatingsService;
64
64
  private contentSvc;
65
65
  private activatedRoute;
66
+ domainConfService: DomainConfService;
66
67
  condition: any;
67
68
  kparray: any;
68
69
  content: NsContent.IContent | null;
@@ -84,6 +85,7 @@ export declare class AppTocAboutComponent implements OnInit, OnChanges, AfterVie
84
85
  showMarketPlaceCertificate: boolean;
85
86
  languageList: any[];
86
87
  lockCertificate: boolean;
88
+ fromMDO: boolean;
87
89
  trigerCompletionSurveyForm: EventEmitter<boolean>;
88
90
  summaryElem: ElementRef;
89
91
  objectivesElem: ElementRef;
@@ -91,6 +93,7 @@ export declare class AppTocAboutComponent implements OnInit, OnChanges, AfterVie
91
93
  tagsElem: ElementRef;
92
94
  searchTagElem: ElementRef;
93
95
  disableCertificate: boolean;
96
+ isExternalContent: boolean;
94
97
  primaryCategory: typeof NsContent.EPrimaryCategory;
95
98
  stripsResultDataMap: {
96
99
  [key: string]: IStripUnitContentData;
@@ -145,7 +148,7 @@ export declare class AppTocAboutComponent implements OnInit, OnChanges, AfterVie
145
148
  refreshratingSub: any;
146
149
  pageConfigData: any;
147
150
  environment: any;
148
- constructor(ratingService: RatingService, loggerService: LoggerService, dialog: MatDialog, matSnackBar: MatSnackBar, loadCheckService: LoadCheckService, timerService: TimerService, tocSvc: AppTocService, configService: ConfigurationsService, discussUtilitySvc: DiscussUtilsService, router: Router, reviewDataService: ReviewComponentDataService, handleClaimService: HandleClaimService, resetRatingsService: ResetRatingsService, contentSvc: WidgetContentService, activatedRoute: ActivatedRoute, environment: any);
151
+ constructor(ratingService: RatingService, loggerService: LoggerService, dialog: MatDialog, matSnackBar: MatSnackBar, loadCheckService: LoadCheckService, timerService: TimerService, tocSvc: AppTocService, configService: ConfigurationsService, discussUtilitySvc: DiscussUtilsService, router: Router, reviewDataService: ReviewComponentDataService, handleClaimService: HandleClaimService, resetRatingsService: ResetRatingsService, contentSvc: WidgetContentService, activatedRoute: ActivatedRoute, domainConfService: DomainConfService, environment: any);
149
152
  ngOnInit(): void;
150
153
  ngAfterViewInit(): void;
151
154
  ngOnChanges(changes: SimpleChanges): void;
@@ -176,8 +179,9 @@ export declare class AppTocAboutComponent implements OnInit, OnChanges, AfterVie
176
179
  openSurveyFormPopup(): void;
177
180
  checkValidJSON(str: any): boolean;
178
181
  handleSubsector(item: any): void;
182
+ navigateToNewVersion(): void;
179
183
  ngOnDestroy(): void;
180
184
  static ɵfac: i0.ɵɵFactoryDeclaration<AppTocAboutComponent, never>;
181
- static ɵcmp: i0.ɵɵComponentDeclaration<AppTocAboutComponent, "ws-widget-app-toc-about", never, { "condition": { "alias": "condition"; "required": false; }; "kparray": { "alias": "kparray"; "required": false; }; "content": { "alias": "content"; "required": false; }; "contentReadData": { "alias": "contentReadData"; "required": false; }; "baseContentReadData": { "alias": "baseContentReadData"; "required": false; }; "skeletonLoader": { "alias": "skeletonLoader"; "required": false; }; "sticky": { "alias": "sticky"; "required": false; }; "tocStructure": { "alias": "tocStructure"; "required": false; }; "pathSet": { "alias": "pathSet"; "required": false; }; "config": { "alias": "config"; "required": false; }; "resumeData": { "alias": "resumeData"; "required": false; }; "forPreview": { "alias": "forPreview"; "required": false; }; "showReviews": { "alias": "showReviews"; "required": false; }; "batchData": { "alias": "batchData"; "required": false; }; "fromViewer": { "alias": "fromViewer"; "required": false; }; "selectedBatchData": { "alias": "selectedBatchData"; "required": false; }; "selectedTabValue": { "alias": "selectedTabValue"; "required": false; }; "fromMarketPlace": { "alias": "fromMarketPlace"; "required": false; }; "showMarketPlaceCertificate": { "alias": "showMarketPlaceCertificate"; "required": false; }; "languageList": { "alias": "languageList"; "required": false; }; "lockCertificate": { "alias": "lockCertificate"; "required": false; }; }, { "trigerCompletionSurveyForm": "trigerCompletionSurveyForm"; }, never, never, false, never>;
185
+ static ɵcmp: i0.ɵɵComponentDeclaration<AppTocAboutComponent, "ws-widget-app-toc-about", never, { "condition": { "alias": "condition"; "required": false; }; "kparray": { "alias": "kparray"; "required": false; }; "content": { "alias": "content"; "required": false; }; "contentReadData": { "alias": "contentReadData"; "required": false; }; "baseContentReadData": { "alias": "baseContentReadData"; "required": false; }; "skeletonLoader": { "alias": "skeletonLoader"; "required": false; }; "sticky": { "alias": "sticky"; "required": false; }; "tocStructure": { "alias": "tocStructure"; "required": false; }; "pathSet": { "alias": "pathSet"; "required": false; }; "config": { "alias": "config"; "required": false; }; "resumeData": { "alias": "resumeData"; "required": false; }; "forPreview": { "alias": "forPreview"; "required": false; }; "showReviews": { "alias": "showReviews"; "required": false; }; "batchData": { "alias": "batchData"; "required": false; }; "fromViewer": { "alias": "fromViewer"; "required": false; }; "selectedBatchData": { "alias": "selectedBatchData"; "required": false; }; "selectedTabValue": { "alias": "selectedTabValue"; "required": false; }; "fromMarketPlace": { "alias": "fromMarketPlace"; "required": false; }; "showMarketPlaceCertificate": { "alias": "showMarketPlaceCertificate"; "required": false; }; "languageList": { "alias": "languageList"; "required": false; }; "lockCertificate": { "alias": "lockCertificate"; "required": false; }; "fromMDO": { "alias": "fromMDO"; "required": false; }; }, { "trigerCompletionSurveyForm": "trigerCompletionSurveyForm"; }, never, never, false, never>;
182
186
  }
183
187
  export {};
@@ -27,6 +27,7 @@ export declare class AppTocContentComponent implements OnInit, OnDestroy, OnChan
27
27
  defaultThumbnail: string;
28
28
  private routeSubscription;
29
29
  private routeQuerySubscription;
30
+ private hashmapUpdatedSubscription;
30
31
  contentParents: NsContent.IContentMinimal[];
31
32
  expandAll: boolean;
32
33
  expandPartOf: boolean;
@@ -43,6 +44,13 @@ export declare class AppTocContentComponent implements OnInit, OnDestroy, OnChan
43
44
  ngOnChanges(changes: SimpleChanges): void;
44
45
  get isEnrolled(): boolean;
45
46
  ngOnDestroy(): void;
47
+ getMilestoneCompletedOrNot(identifier: string): boolean;
48
+ /**
49
+ * Check if multi-line text is truncated (has ellipsis)
50
+ * @param element The HTMLElement to check
51
+ * @returns true if text is truncated, false otherwise
52
+ */
53
+ isMultiLineTruncated(element: HTMLElement): boolean;
46
54
  static ɵfac: i0.ɵɵFactoryDeclaration<AppTocContentComponent, never>;
47
55
  static ɵcmp: i0.ɵɵComponentDeclaration<AppTocContentComponent, "ws-widget-app-toc-content", never, { "batchId": { "alias": "batchId"; "required": false; }; "content": { "alias": "content"; "required": false; }; "forPreview": { "alias": "forPreview"; "required": false; }; "resumeData": { "alias": "resumeData"; "required": false; }; "batchData": { "alias": "batchData"; "required": false; }; "skeletonLoader": { "alias": "skeletonLoader"; "required": false; }; "tocStructure": { "alias": "tocStructure"; "required": false; }; "config": { "alias": "config"; "required": false; }; "hierarchyMapData": { "alias": "hierarchyMapData"; "required": false; }; "pathSet": { "alias": "pathSet"; "required": false; }; "componentName": { "alias": "componentName"; "required": false; }; "isPreAssessment": { "alias": "isPreAssessment"; "required": false; }; "baseContentReadData": { "alias": "baseContentReadData"; "required": false; }; "contentReadData": { "alias": "contentReadData"; "required": false; }; }, {}, never, never, false, never>;
48
56
  }
@@ -1,15 +1,16 @@
1
- import { OnInit, Renderer2, SimpleChanges } from '@angular/core';
1
+ import { OnInit, OnDestroy, Renderer2, SimpleChanges, ChangeDetectorRef } from '@angular/core';
2
2
  import { NsContent } from '../../../../_services/widget-content.model';
3
3
  import { NsAppToc } from '../../../../models/app-toc.model';
4
- import { EventService } from '@sunbird-cb/utils-v2';
4
+ import { EventService, ConfigurationsService } from '@sunbird-cb/utils-v2';
5
5
  import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
6
6
  import { CertificateService } from '../../../../services/certificate.service';
7
7
  import { AppTocService } from '../../../../services/app-toc.service';
8
8
  import { Subscription } from 'rxjs';
9
9
  import { ContentLanguageService } from '@sunbird-cb/consumption';
10
10
  import { ResourceDownloadHelperService } from '../../../../services/resource-download-helper.service';
11
+ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar';
11
12
  import * as i0 from "@angular/core";
12
- export declare class AppTocContentCardV2Component implements OnInit {
13
+ export declare class AppTocContentCardV2Component implements OnInit, OnDestroy {
13
14
  private events;
14
15
  private dialog;
15
16
  private renderer;
@@ -17,6 +18,9 @@ export declare class AppTocContentCardV2Component implements OnInit {
17
18
  private appTocSvc;
18
19
  private contentLangSvc;
19
20
  private resourceDownloadHelperSvc;
21
+ private configSvc;
22
+ private snackBar;
23
+ private cdr;
20
24
  content: NsContent.IContent | null;
21
25
  expandAll: boolean;
22
26
  rootId: string;
@@ -41,6 +45,8 @@ export declare class AppTocContentCardV2Component implements OnInit {
41
45
  viewChildren: boolean;
42
46
  primaryCategory: typeof NsContent.EPrimaryCategory;
43
47
  pageScrollSubscription: Subscription | null;
48
+ hashmapUpdatedSubscription: Subscription | null;
49
+ achievementLoading: boolean;
44
50
  private _cachedIsCollection;
45
51
  private _cachedIsModule;
46
52
  private _cachedIsResource;
@@ -52,8 +58,9 @@ export declare class AppTocContentCardV2Component implements OnInit {
52
58
  private _cachedIsMilestoneAssessment;
53
59
  private _cachedIsMilestoneAssessmentLocked;
54
60
  private _cachedResourceLink;
61
+ private _cachedMilestoneCompletedCount;
55
62
  private _cacheInitialized;
56
- constructor(events: EventService, dialog: MatDialog, renderer: Renderer2, certificateService: CertificateService, appTocSvc: AppTocService, contentLangSvc: ContentLanguageService, resourceDownloadHelperSvc: ResourceDownloadHelperService);
63
+ constructor(events: EventService, dialog: MatDialog, renderer: Renderer2, certificateService: CertificateService, appTocSvc: AppTocService, contentLangSvc: ContentLanguageService, resourceDownloadHelperSvc: ResourceDownloadHelperService, configSvc: ConfigurationsService, snackBar: MatSnackBar, cdr: ChangeDetectorRef);
57
64
  ngOnInit(): void;
58
65
  /**
59
66
  * Initialize all computed properties once to avoid expensive getter calculations
@@ -72,14 +79,17 @@ export declare class AppTocContentCardV2Component implements OnInit {
72
79
  private computeIsMilestoneLocked;
73
80
  private computeIsParentMilestoneLocked;
74
81
  /**
75
- * Check if current content is a milestone assessment (Course Assessment or Final Assessment inside a Milestone)
82
+ * Check if current content is a MILESTONE assessment (DIRECT child of a Milestone)
83
+ * IMPORTANT: This should NOT return true for course assessments inside courses within milestones
84
+ * Only assessments that are direct children of milestones should be locked by milestone logic
76
85
  */
77
86
  private computeIsMilestoneAssessment;
78
87
  /**
79
88
  * Check if milestone assessment should be locked
80
89
  * Assessment is locked if:
81
- * 1. The parent milestone is unlocked (otherwise handled by parent milestone lock)
82
- * 2. NOT all mandatory content in the milestone is completed
90
+ * 1. It's an assessment that is a DIRECT child of a milestone
91
+ * 2. The parent milestone is unlocked (otherwise handled by parent milestone lock)
92
+ * 3. NOT all mandatory courses in the same milestone are completed
83
93
  */
84
94
  private computeIsMilestoneAssessmentLocked;
85
95
  resourceScroll(): void;
@@ -115,6 +125,13 @@ export declare class AppTocContentCardV2Component implements OnInit {
115
125
  getCompletionPercentage(identifier: string): number;
116
126
  roundIfDecimal(value: number): number;
117
127
  getCompletionStatus(identifier: string): any;
128
+ /**
129
+ * Check if milestone is complete based on mandatory content and assessment completion
130
+ * Returns true only when:
131
+ * 1. All mandatory content is completed (or no mandatory content exists)
132
+ * 2. Milestone assessment is completed (or no assessment exists)
133
+ */
134
+ isMilestoneComplete(identifier: string): boolean;
118
135
  openCertificateDialog(certData: any): void;
119
136
  scrollView(): void;
120
137
  downloadCertificate(certificateData: any): void;
@@ -143,12 +160,36 @@ export declare class AppTocContentCardV2Component implements OnInit {
143
160
  };
144
161
  get isMilestone(): boolean;
145
162
  getMilestoneCompletedCount(): number;
163
+ private computeMilestoneCompletedCount;
146
164
  /**
147
165
  * Get unlock criteria message for locked milestones
148
166
  */
149
167
  getMilestoneUnlockMessage(): string;
168
+ /**
169
+ * Get lock message for content inside locked milestones
170
+ */
171
+ getParentMilestoneLockMessage(): string;
172
+ /**
173
+ * Get lock message for milestone assessments
174
+ */
175
+ getAssessmentLockMessage(): string;
150
176
  shouldShowDownloadButton(content: NsContent.IContent | null): boolean;
151
177
  downloadContent(content: NsContent.IContent, event?: MouseEvent): void;
178
+ /**
179
+ * View milestone achievement - calls the achievement API and shows the result
180
+ */
181
+ viewMilestoneAchievement(event: MouseEvent, mileStoneData: any): void;
182
+ /**
183
+ * Check if text is truncated (has ellipsis) - for single line text
184
+ * @param element The HTMLElement to check
185
+ * @returns true if text is truncated, false otherwise
186
+ */
187
+ isTextTruncated(element: HTMLElement): boolean;
188
+ /**
189
+ * @param element The HTMLElement to check
190
+ * @returns true if text is truncated, false otherwise
191
+ */
192
+ isMultiLineTruncated(element: HTMLElement): boolean;
152
193
  static ɵfac: i0.ɵɵFactoryDeclaration<AppTocContentCardV2Component, never>;
153
194
  static ɵcmp: i0.ɵɵComponentDeclaration<AppTocContentCardV2Component, "ws-widget-app-toc-content-card-v2", never, { "content": { "alias": "content"; "required": false; }; "expandAll": { "alias": "expandAll"; "required": false; }; "rootId": { "alias": "rootId"; "required": false; }; "rootContentType": { "alias": "rootContentType"; "required": false; }; "forPreview": { "alias": "forPreview"; "required": false; }; "batchId": { "alias": "batchId"; "required": false; }; "componentName": { "alias": "componentName"; "required": false; }; "index": { "alias": "index"; "required": false; }; "pathSet": { "alias": "pathSet"; "required": false; }; "expandActive": { "alias": "expandActive"; "required": false; }; "hierarchyMapData": { "alias": "hierarchyMapData"; "required": false; }; "batchData": { "alias": "batchData"; "required": false; }; "isPreAssessment": { "alias": "isPreAssessment"; "required": false; }; "baseContentReadData": { "alias": "baseContentReadData"; "required": false; }; "mlCourse": { "alias": "mlCourse"; "required": false; }; "parentMilestoneLocked": { "alias": "parentMilestoneLocked"; "required": false; }; }, {}, never, never, false, never>;
154
195
  }
@@ -1,6 +1,6 @@
1
1
  import { AfterViewInit, EventEmitter, OnChanges, OnInit, QueryList, SimpleChanges } from '@angular/core';
2
2
  import { ActivatedRoute, Router } from '@angular/router';
3
- import { ConfigurationsService, EventService, NsContent, UtilityService } from '@sunbird-cb/utils-v2';
3
+ import { ConfigurationsService, DomainConfService, EventService, UtilityService } from '@sunbird-cb/utils-v2';
4
4
  import { Subscription } from 'rxjs';
5
5
  import { LoadCheckService } from '../../../services/load-check.service';
6
6
  import { MatLegacyTabGroup as MatTabGroup, MatLegacyTabChangeEvent as MatTabChangeEvent } from '@angular/material/legacy-tabs';
@@ -11,6 +11,7 @@ import { ActionService } from '../../../services/action.service';
11
11
  import { ViewerDataService } from '../../../services/viewer-data.service';
12
12
  import { MatTab } from '@angular/material/tabs';
13
13
  import { SamuhikCharchaService } from '../../../_services/samuhik-charcha.service';
14
+ import { NsContent } from '../../../_collection-api';
14
15
  import * as i0 from "@angular/core";
15
16
  export declare class ContentTocComponent implements OnInit, AfterViewInit, OnChanges {
16
17
  private route;
@@ -24,6 +25,7 @@ export declare class ContentTocComponent implements OnInit, AfterViewInit, OnCha
24
25
  private eventSvc;
25
26
  private viewerDataSvc;
26
27
  private samuhikCharchaSvc;
28
+ domainConfService: DomainConfService;
27
29
  private environment;
28
30
  tabChangeValue: any;
29
31
  content: any;
@@ -53,6 +55,7 @@ export declare class ContentTocComponent implements OnInit, AfterViewInit, OnCha
53
55
  sideNavBarOpened: boolean;
54
56
  languageList: any[];
55
57
  lockCertificate: boolean;
58
+ fromMDO: boolean;
56
59
  playResumeForAI: EventEmitter<any>;
57
60
  enrollUserToAI: EventEmitter<any>;
58
61
  trigerCompletionSurveyForm: EventEmitter<boolean>;
@@ -91,7 +94,7 @@ export declare class ContentTocComponent implements OnInit, AfterViewInit, OnCha
91
94
  showAssignmentsTab: boolean;
92
95
  enableSamuhikCharchaTab: boolean;
93
96
  samuhikConfig: any;
94
- constructor(route: ActivatedRoute, utilityService: UtilityService, loadCheckService: LoadCheckService, configService: ConfigurationsService, dialog: MatDialog, tocSvc: AppTocService, actionSVC: ActionService, router: Router, eventSvc: EventService, viewerDataSvc: ViewerDataService, samuhikCharchaSvc: SamuhikCharchaService, environment: any);
97
+ constructor(route: ActivatedRoute, utilityService: UtilityService, loadCheckService: LoadCheckService, configService: ConfigurationsService, dialog: MatDialog, tocSvc: AppTocService, actionSVC: ActionService, router: Router, eventSvc: EventService, viewerDataSvc: ViewerDataService, samuhikCharchaSvc: SamuhikCharchaService, domainConfService: DomainConfService, environment: any);
95
98
  ngOnInit(): void;
96
99
  ngAfterViewInit(): void;
97
100
  get getCurrentTimeInUTC(): string;
@@ -124,5 +127,5 @@ export declare class ContentTocComponent implements OnInit, AfterViewInit, OnCha
124
127
  clearCommentIdFromUrl(): void;
125
128
  resumeContentCall(): void;
126
129
  static ɵfac: i0.ɵɵFactoryDeclaration<ContentTocComponent, never>;
127
- static ɵcmp: i0.ɵɵComponentDeclaration<ContentTocComponent, "ws-widget-content-toc", never, { "content": { "alias": "content"; "required": false; }; "contentReadData": { "alias": "contentReadData"; "required": false; }; "initialRouteData": { "alias": "initialRouteData"; "required": false; }; "changeTab": { "alias": "changeTab"; "required": false; }; "baseContentReadData": { "alias": "baseContentReadData"; "required": false; }; "forPreview": { "alias": "forPreview"; "required": false; }; "contentTabFlag": { "alias": "contentTabFlag"; "required": false; }; "resumeData": { "alias": "resumeData"; "required": false; }; "batchData": { "alias": "batchData"; "required": false; }; "skeletonLoader": { "alias": "skeletonLoader"; "required": false; }; "tocStructure": { "alias": "tocStructure"; "required": false; }; "pathSet": { "alias": "pathSet"; "required": false; }; "fromViewer": { "alias": "fromViewer"; "required": false; }; "hierarchyMapData": { "alias": "hierarchyMapData"; "required": false; }; "condition": { "alias": "condition"; "required": false; }; "kparray": { "alias": "kparray"; "required": false; }; "selectedBatchData": { "alias": "selectedBatchData"; "required": false; }; "config": { "alias": "config"; "required": false; }; "componentName": { "alias": "componentName"; "required": false; }; "isEnrolled": { "alias": "isEnrolled"; "required": false; }; "playResourceId": { "alias": "playResourceId"; "required": false; }; "sideNavBarOpened": { "alias": "sideNavBarOpened"; "required": false; }; "languageList": { "alias": "languageList"; "required": false; }; "lockCertificate": { "alias": "lockCertificate"; "required": false; }; }, { "playResumeForAI": "playResumeForAI"; "enrollUserToAI": "enrollUserToAI"; "trigerCompletionSurveyForm": "trigerCompletionSurveyForm"; "resumeContent": "resumeContent"; }, never, never, false, never>;
130
+ static ɵcmp: i0.ɵɵComponentDeclaration<ContentTocComponent, "ws-widget-content-toc", never, { "content": { "alias": "content"; "required": false; }; "contentReadData": { "alias": "contentReadData"; "required": false; }; "initialRouteData": { "alias": "initialRouteData"; "required": false; }; "changeTab": { "alias": "changeTab"; "required": false; }; "baseContentReadData": { "alias": "baseContentReadData"; "required": false; }; "forPreview": { "alias": "forPreview"; "required": false; }; "contentTabFlag": { "alias": "contentTabFlag"; "required": false; }; "resumeData": { "alias": "resumeData"; "required": false; }; "batchData": { "alias": "batchData"; "required": false; }; "skeletonLoader": { "alias": "skeletonLoader"; "required": false; }; "tocStructure": { "alias": "tocStructure"; "required": false; }; "pathSet": { "alias": "pathSet"; "required": false; }; "fromViewer": { "alias": "fromViewer"; "required": false; }; "hierarchyMapData": { "alias": "hierarchyMapData"; "required": false; }; "condition": { "alias": "condition"; "required": false; }; "kparray": { "alias": "kparray"; "required": false; }; "selectedBatchData": { "alias": "selectedBatchData"; "required": false; }; "config": { "alias": "config"; "required": false; }; "componentName": { "alias": "componentName"; "required": false; }; "isEnrolled": { "alias": "isEnrolled"; "required": false; }; "playResourceId": { "alias": "playResourceId"; "required": false; }; "sideNavBarOpened": { "alias": "sideNavBarOpened"; "required": false; }; "languageList": { "alias": "languageList"; "required": false; }; "lockCertificate": { "alias": "lockCertificate"; "required": false; }; "fromMDO": { "alias": "fromMDO"; "required": false; }; }, { "playResumeForAI": "playResumeForAI"; "enrollUserToAI": "enrollUserToAI"; "trigerCompletionSurveyForm": "trigerCompletionSurveyForm"; "resumeContent": "resumeContent"; }, never, never, false, never>;
128
131
  }