@touchpoll/tp-survey 0.0.54 → 0.0.56

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 (56) hide show
  1. package/fesm2022/touchpoll-tp-survey.mjs +233 -260
  2. package/fesm2022/touchpoll-tp-survey.mjs.map +1 -1
  3. package/package.json +3 -3
  4. package/styles/platform/component/survey.checkbox.scss +1 -1
  5. package/styles/platform/survey.mixins.tablet.scss +1 -1
  6. package/styles/theme/theme-colors.touchpoll.scss +137 -137
  7. package/types/touchpoll-tp-survey.d.ts +506 -0
  8. package/index.d.ts +0 -5
  9. package/lib/component/answer/answer.additional/answer.additional.component.d.ts +0 -17
  10. package/lib/component/answer/answer.additional/directive/additional.answer.caption.position/additional.answer.caption.position.directive.d.ts +0 -16
  11. package/lib/component/answer/answer.end/answer.end.component.d.ts +0 -6
  12. package/lib/component/answer/answer.info/answer.info.component.d.ts +0 -6
  13. package/lib/component/answer/answer.lang/answer.lang.component.d.ts +0 -9
  14. package/lib/component/answer/answer.master/answer.master.component.d.ts +0 -24
  15. package/lib/component/answer/answer.ms/answer.ms.component.d.ts +0 -21
  16. package/lib/component/answer/answer.od/answer.od.component.d.ts +0 -8
  17. package/lib/component/answer/answer.ol/answer.ol.component.d.ts +0 -8
  18. package/lib/component/answer/answer.sl/answer.sl.component.d.ts +0 -22
  19. package/lib/component/answer/answer.sl/pipe/as.form.array/as.form.array.pipe.d.ts +0 -8
  20. package/lib/component/answer/answer.sl/pipe/as.form.control/as.form.control.pipe.d.ts +0 -8
  21. package/lib/component/answer/answer.ss/answer.ss.component.d.ts +0 -10
  22. package/lib/component/answer/container.answer/container.answer.component.d.ts +0 -38
  23. package/lib/component/answer/container.answer/container.answer.validator.d.ts +0 -10
  24. package/lib/component/navigation.button/navigation.button.component.d.ts +0 -9
  25. package/lib/component/question.caption/question.caption.component.d.ts +0 -8
  26. package/lib/component/survey.play/survey.play.component.d.ts +0 -38
  27. package/lib/component/survey.question.preview/survey.question.preview.component.d.ts +0 -19
  28. package/lib/core/tp.servey.quota/tp.survey.quota.d.ts +0 -12
  29. package/lib/core/tp.survey.answer/tp.survey.answer.d.ts +0 -16
  30. package/lib/core/tp.survey.core/tp.survey.core.service.d.ts +0 -30
  31. package/lib/core/tp.survey.interview/tp.survey.interview.service.d.ts +0 -14
  32. package/lib/core/tp.survey.logic/tp.survey.logic.service.d.ts +0 -12
  33. package/lib/directive/alternatives.container/alternatives.container.directive.d.ts +0 -17
  34. package/lib/directive/focus.and.select/focus.and.select.directive.d.ts +0 -9
  35. package/lib/directive/image.position/image.position.directive.d.ts +0 -8
  36. package/lib/directive/image.site/image.size.directive.d.ts +0 -9
  37. package/lib/directive/insert.question.css/insert.question.css.directive.d.ts +0 -8
  38. package/lib/directive/survey.theme/survey.theme.directive.d.ts +0 -14
  39. package/lib/directive/update.font.size/update.font.size.directive.d.ts +0 -10
  40. package/lib/icons/default.icons/default.icons.d.ts +0 -5
  41. package/lib/icons/default.icons/default.icons.module.d.ts +0 -12
  42. package/lib/pipe/generate.default.answer/generate.default.answer.pipe.d.ts +0 -8
  43. package/lib/pipe/get.active.language/get.active.language.pipe.d.ts +0 -8
  44. package/lib/pipe/get.additional.value.by.value/get.additional.value.by.value.pipe.d.ts +0 -8
  45. package/lib/pipe/get.question.image.background.size/get.question.image.background.css.size.pipe.d.ts +0 -12
  46. package/lib/pipe/is.video/is.video.pipe.d.ts +0 -7
  47. package/lib/pipe/key.values/key.values.pipe.d.ts +0 -14
  48. package/lib/pipe/multi.lang.object.to.html/multi.lang.object.to.html.pipe.d.ts +0 -14
  49. package/lib/tp.survey.config.d.ts +0 -11
  50. package/lib/tp.survey.const.d.ts +0 -5
  51. package/lib/tp.survey.enum.d.ts +0 -43
  52. package/lib/tp.survey.interface.d.ts +0 -346
  53. package/lib/tp.survey.method.d.ts +0 -1
  54. package/lib/tp.survey.module.d.ts +0 -10
  55. package/lib/tp.survey.type.d.ts +0 -17
  56. package/public-api.d.ts +0 -10
@@ -0,0 +1,506 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { InjectionToken, ModuleWithProviders, OnInit, TemplateRef, Signal } from '@angular/core';
3
+
4
+ type MissingValueT = -97;
5
+ type TpSurveyPlatform = 'browser' | 'device';
6
+ type TpSurveySupportLanguage = 'uk' | 'en';
7
+ type NavigationButtonDirection = 'back' | 'next';
8
+ type AdditionalAnswer = number | string | boolean | null | MissingValueT;
9
+ type AnswerT = number | string | boolean | null | MissingValueT | Array<number> | AnswerSlType;
10
+ type AdditionalAnswerCaptionPosition = 'bottom' | 'left' | 'right' | 'top';
11
+ type AnswerSlType = {
12
+ [key: string]: Array<number> | number;
13
+ };
14
+ type SurveyType = 'CATI' | 'ONLINE';
15
+ type TpSurveyTheme = 'touchpoll-light' | 'cyan-orange-light' | 'cyan-orange-dark' | 'rose-red-light' | 'rose-red-dark' | 'azure-blue-light' | 'azure-blue-dark';
16
+ type LogicObject = Record<string, unknown>;
17
+ type TTabletKeyboardVisibleStatus = 'show' | 'hide';
18
+ type TFindVariableVoid = (sysName: string) => string;
19
+ type TImagePositionHorizontal = 'left' | 'center' | 'right';
20
+ type TImagePositionVertical = 'top' | 'center' | 'bottom';
21
+
22
+ interface TpSurveyConfig {
23
+ tpPlatform: TpSurveyPlatform;
24
+ }
25
+ /**
26
+ * A DI token for the survey service.
27
+ *
28
+ * @publicApi
29
+ */
30
+ declare const TP_SURVEY_CONFIGURATION: InjectionToken<TpSurveyConfig>;
31
+
32
+ declare class DefaultIconsModule {
33
+ constructor();
34
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DefaultIconsModule, never>;
35
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<DefaultIconsModule, never, never, never>;
36
+ static ɵinj: _angular_core.ɵɵInjectorDeclaration<DefaultIconsModule>;
37
+ }
38
+
39
+ declare class TpSurveyModule {
40
+ static forRoot(config: TpSurveyConfig): ModuleWithProviders<TpSurveyModule>;
41
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TpSurveyModule, never>;
42
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<TpSurveyModule, never, [typeof DefaultIconsModule], never>;
43
+ static ɵinj: _angular_core.ɵɵInjectorDeclaration<TpSurveyModule>;
44
+ }
45
+
46
+ declare enum ViewModel {
47
+ vmDesktop = 1,// desktop view
48
+ vmMobile = 2,// phone view
49
+ vmTablet = 3
50
+ }
51
+ declare enum SurveyEvents {
52
+ seSurveyStart = "survey.start",// on start survey
53
+ seSurveyViewModelUpdate = "survey.view.model.update",// on viewmodel updated
54
+ seSurveyDeveloperModeUpdate = "survey.developer.mode.update",// on Developermode updated
55
+ seSurveyEnd = "survey.end",// on end survey
56
+ seQuestionShow = "question.show",// before question show
57
+ seQuestionHide = "question.hide",// before question hide
58
+ seQuestionRefresh = "question.refresh",// refresh question (after edit)
59
+ seQuestionAnswersCompleted = "answers.completed",// after all answers complete
60
+ seQuestionAnswersChange = "answers.change",// after answers change
61
+ seSurveyLanguageUpdate = "survey.language.update"
62
+ }
63
+ declare enum AdditionalAnswerType {
64
+ aatNumber = 1,
65
+ aatText = 2,
66
+ aatBoolean = 3
67
+ }
68
+ declare enum QuestionsType {
69
+ eqLANG = "LANG",
70
+ eqSS = "SS",
71
+ eqMS = "MS",
72
+ eqINFO = "INFO",
73
+ eqSL = "SL",
74
+ eqOL = "OL",
75
+ eqOD = "OD",
76
+ eqEND = "END"
77
+ }
78
+ declare enum ResultativeStatus {
79
+ rsUnset = -1,
80
+ rsUnresultative = 0,
81
+ rsResultative = 1
82
+ }
83
+ declare enum ValidStatus {
84
+ vsUnset = -1,
85
+ vsUnValid = 0,
86
+ vsValid = 1,
87
+ vsDoubtful = 2
88
+ }
89
+
90
+ declare class Answer implements IQuestionAnswer {
91
+ readonly QuestionGUID: number;
92
+ readonly QuestionVersion: number;
93
+ readonly AnswerAdditional: Record<string, AdditionalAnswer>;
94
+ readonly ViewedAlternativeValues: Array<number>;
95
+ readonly ViewedSectionGuids: Array<number>;
96
+ readonly AlternativeSequenceClicks: Array<[number, number]>;
97
+ StartedAt: number;
98
+ FinishedAt: number;
99
+ AnswerValue: any;
100
+ answerIsComplete: boolean;
101
+ constructor(guid: number, version?: number);
102
+ clear(): void;
103
+ }
104
+
105
+ interface AnswerChange {
106
+ guid: number;
107
+ isComplete: boolean;
108
+ answer: AnswerT;
109
+ additionalAnswers: Record<number, AdditionalAnswer>;
110
+ logicVars: LogicObject;
111
+ viewedAlternativeValues: Array<number>;
112
+ viewedSectionGuids: Array<number>;
113
+ alternativeSequenceClicks: Array<[number, number]>;
114
+ }
115
+ interface IdbBaseParamsLanguage {
116
+ Value: number;
117
+ Caption: string;
118
+ isActive: boolean;
119
+ icon_svg_name: string;
120
+ back_button_caption: string;
121
+ next_button_caption: string;
122
+ }
123
+ interface IdbBaseParamsRepositoryObject {
124
+ OriginalName: string;
125
+ QuestionaryName: string;
126
+ }
127
+ interface IdbQuestionaryBaseParams {
128
+ ResultativeScript: string;
129
+ ResultativeScriptUser: string;
130
+ QuotaLimitDestinationQuestionGuid: number;
131
+ LanguageList: Array<IdbBaseParamsLanguage>;
132
+ RepositoryList: Array<IdbBaseParamsRepositoryObject>;
133
+ BaseHeight: number;
134
+ BaseWidth: number;
135
+ AlternativeMaxAnswersCount: number;
136
+ AlternativeMinAnswersCount: number;
137
+ MinInterviewTime: number;
138
+ MinTimeBetweenInterview: number;
139
+ AlternativeColumnCount: number;
140
+ ForceDesktopView: boolean;
141
+ SurveyTheme: string;
142
+ BlockScrollToNavigation: boolean;
143
+ Logo: Array<string>;
144
+ }
145
+ interface IdbQuestionaryInfo {
146
+ updatetimestamp: Date;
147
+ name: string;
148
+ questionary_guid: number;
149
+ current_wave: number;
150
+ survey_options: IdbSurveyOptions;
151
+ last_update_timestamp?: Date;
152
+ repository_path?: string;
153
+ }
154
+ interface IdbSurveyOptions {
155
+ attempt_limit: number;
156
+ reload_after_end: boolean;
157
+ save_not_result: boolean;
158
+ stop_after_quotas_full: boolean;
159
+ authorization_facebook: boolean;
160
+ authorization_instagram: boolean;
161
+ authorization_password: boolean;
162
+ available_on_tablet: boolean;
163
+ available_on_web: boolean;
164
+ }
165
+ interface IdbMultilangObject {
166
+ CaptionHtml: string;
167
+ lang: number;
168
+ _SYS_CaptionHTML: string;
169
+ _SYS_CaptionRTF: string;
170
+ _SYS_htmlPlanText?: string;
171
+ }
172
+ interface IdbLogicCaptionObject {
173
+ MultiLangCaptions: Array<IdbMultilangObject>;
174
+ Expression: string;
175
+ ExpressionUser: string;
176
+ }
177
+ interface IdbTpBackGround {
178
+ StyleCss: string;
179
+ Color?: string;
180
+ Image: string;
181
+ PositionHorizontal: TImagePositionHorizontal;
182
+ PositionVertical: TImagePositionVertical;
183
+ DesktopHeight?: number | string | 'auto' | null;
184
+ DesktopWidth?: number | string | 'auto' | null;
185
+ MobileHeight?: number | string | 'auto' | null;
186
+ MobileWidth?: number | string | 'auto' | null;
187
+ }
188
+ interface IdbAlternative {
189
+ EnableExpression: string;
190
+ EnableExpressionUser: string;
191
+ MultiLangCaptions: Array<IdbMultilangObject>;
192
+ Rotation: boolean;
193
+ SysName: string;
194
+ alias: string;
195
+ Value: number;
196
+ GroupNo: number;
197
+ BackGround: IdbTpBackGround;
198
+ PushBackground: IdbTpBackGround | undefined;
199
+ IsMute: boolean;
200
+ height: number;
201
+ width: number;
202
+ x: number;
203
+ y: number;
204
+ }
205
+ interface IdbMQSectionItem {
206
+ CaptionPosition: string;
207
+ Alias: string;
208
+ EnableExpression: string;
209
+ IsRequired: boolean;
210
+ ItemType: number;
211
+ ItemValue: number;
212
+ MultiLangCaptions: Array<IdbMultilangObject>;
213
+ AdditionalAnswerlist: Array<any>;
214
+ NumberMaxValue: number;
215
+ NumberMinValue: number;
216
+ NumberOfDecimalPlaces: number;
217
+ SysName: string;
218
+ Weight: number;
219
+ SelectCompactView: boolean;
220
+ SelectAlternativeList: Array<any>;
221
+ SelectColCount: number;
222
+ SelectMaxAnswersCount: number;
223
+ SelectMinAnswersCount: number;
224
+ TextRowsCount: number;
225
+ TextRegularExpression: string;
226
+ Placeholder: string;
227
+ SelectAnswerValues?: Array<any>;
228
+ }
229
+ interface IdbSection {
230
+ Alias: string;
231
+ SysName: string;
232
+ Rotation: boolean;
233
+ BackGround: IdbTpBackGround;
234
+ SectionNum: number;
235
+ SectionGuid: number;
236
+ RequireAnswer: boolean;
237
+ MQSectionItems: Array<IdbMQSectionItem>;
238
+ CaptionPosition: string;
239
+ RightBackground: IdbTpBackGround;
240
+ EnableExpression: string;
241
+ EnableExpressionUser: string;
242
+ MultiLangCaptions: Array<IdbMultilangObject>;
243
+ RequireAllAnswers: boolean;
244
+ MultiLangRightCaptions: Array<IdbMultilangObject>;
245
+ }
246
+ interface IdbLogic {
247
+ DestinationQuestionGuid: number;
248
+ LogicText: string;
249
+ LogicTextUser: string;
250
+ }
251
+ interface IdbRegion {
252
+ Value: number;
253
+ Text: string;
254
+ }
255
+ interface IdbImage {
256
+ Image: IdbTpBackGround;
257
+ EnableExpression: string;
258
+ EnableExpressionUser: string;
259
+ }
260
+ interface IdbAdditionalAnswer {
261
+ readonly Value: number;
262
+ readonly SysName: string;
263
+ readonly AnswerType: AdditionalAnswerType;
264
+ MultiLangCaptions: Array<IdbMultilangObject>;
265
+ IsRequired: boolean;
266
+ CaptionPosition: AdditionalAnswerCaptionPosition;
267
+ EnableExpression: string;
268
+ EnableExpressionUser: string;
269
+ VisibleExpression: string;
270
+ VisibleExpressionUser: string;
271
+ TextMultiline: boolean;
272
+ NumberMinValue: number | null;
273
+ NumberMaxValue: number | null;
274
+ }
275
+ interface IdbQuestion {
276
+ QuestionNum: number;
277
+ QuestionGuid: number;
278
+ MultiLangCaptions: Array<IdbMultilangObject>;
279
+ MultiLangCaptionsHelper: Array<IdbMultilangObject>;
280
+ LogicCaptionsList: Array<IdbLogicCaptionObject>;
281
+ QuestionType: string;
282
+ Alternativelist: Array<IdbAlternative>;
283
+ ImageList: Array<IdbImage>;
284
+ Sectionlist: Array<IdbSection>;
285
+ logiclist: Array<IdbLogic>;
286
+ RegionList: Array<IdbRegion>;
287
+ AdditionalAnswerlist: Array<IdbAdditionalAnswer>;
288
+ QuestionBackground: IdbTpBackGround;
289
+ Version: number;
290
+ SysName: string;
291
+ SysNameAlias: string;
292
+ BeforeExpression: string;
293
+ BeforeExpressionUser: string;
294
+ PostScript: string;
295
+ PostScriptUser: string;
296
+ ShowBtnBack: boolean;
297
+ ShowBtnNext: boolean;
298
+ BtnNextExpression: string;
299
+ BtnNextExpressionUser: string;
300
+ BtnNextDelaySec?: number | null;
301
+ CaptionAlias: string;
302
+ AudioControlSec: number;
303
+ MinAnswerTime: number;
304
+ TimeDisplay: number;
305
+ Implicit: boolean;
306
+ CanSkip: boolean;
307
+ BackgroundColor?: string | null;
308
+ Css?: string | null;
309
+ OLMaxCount: number;
310
+ OLMinCount: number;
311
+ OLRegexp: string;
312
+ OLTypeTel: boolean;
313
+ ODMaxValue: number;
314
+ ODMinValue: number;
315
+ AlternativeAutoSize: boolean;
316
+ AlternativeAutoArrange: boolean;
317
+ AlternativeMinAnswersCount: number;
318
+ AlternativeMaxAnswersCount: number;
319
+ AlternativeColumnCount: number;
320
+ AlternativeHorizontalDistance: number;
321
+ AlternativeVerticalDistance: number;
322
+ AlternativeMarginTop: number;
323
+ AlternativeMarginLeft: number;
324
+ AlternativeHeight: number;
325
+ AlternativeWidth: number;
326
+ AlternativeBackgroundImageHeight: string | null;
327
+ AlternativeBackgroundImageWidth: string | null;
328
+ AlternativeTabletFontSize: number;
329
+ TabletViewAlternativeColumnCount: number;
330
+ MobileViewAlternativeColumnCount: number;
331
+ MobileViewAlternativeBackgroundImageHeight: string | null;
332
+ MobileViewAlternativeBackgroundImageWidth: string | null;
333
+ MultiSelect: boolean;
334
+ RequireAllAnswers: boolean;
335
+ SLSectionMinAnswersCount: number;
336
+ SLSectionMaxAnswersCount: number;
337
+ }
338
+ interface IdbQuestionaryQuota {
339
+ quota_guid: number;
340
+ over_limit: number;
341
+ count_result_interview_for_this_qouta: number;
342
+ limit: number;
343
+ name: string;
344
+ expression: string;
345
+ }
346
+ interface IdbQuestionaryQuota2dObject {
347
+ qs: Array<{
348
+ guid: number;
349
+ value: number;
350
+ }>;
351
+ cqv: Array<{
352
+ guid: number;
353
+ value: number;
354
+ }> | null;
355
+ qvg: number;
356
+ exp: string | null;
357
+ }
358
+ interface IdbQuestionaryQuota2d {
359
+ vls: Array<IdbQuestionaryQuota2dObject>;
360
+ name: string;
361
+ base_guid: number;
362
+ }
363
+ interface IdbQuestionary {
364
+ BaseParams: IdbQuestionaryBaseParams;
365
+ Info: IdbQuestionaryInfo;
366
+ Questions: Array<IdbQuestion>;
367
+ Quotas: Array<IdbQuestionaryQuota>;
368
+ Quotas2d: Array<IdbQuestionaryQuota2dObject>;
369
+ }
370
+ interface IQuestionAnswer {
371
+ StartedAt: number;
372
+ FinishedAt: number;
373
+ QuestionGUID: number;
374
+ QuestionVersion: number;
375
+ AnswerValue: any;
376
+ AnswerAdditional: Record<number, AdditionalAnswer>;
377
+ ViewedAlternativeValues: Array<number>;
378
+ ViewedSectionGuids: Array<number>;
379
+ AlternativeSequenceClicks: Array<[number, number]>;
380
+ }
381
+ interface IInterviewAutoSaveData {
382
+ interview_auto_save_id: string;
383
+ answer_list?: Array<IQuestionAnswer>;
384
+ logic_vars?: Array<IInterviewLogicVar>;
385
+ question_guid?: number;
386
+ }
387
+ interface ICurrentQuestionAnswer {
388
+ question?: Answer;
389
+ sections?: Array<Answer | undefined>;
390
+ }
391
+ interface IInterviewLogicVar {
392
+ nm: string;
393
+ vl: any;
394
+ }
395
+ interface IInterviewAdditionalInfo {
396
+ QuestionaryUpdateTimestamp: number | null;
397
+ quotaIsCompleted?: boolean;
398
+ surveyType?: SurveyType;
399
+ phoneNumber?: string;
400
+ catiInterviewerId?: string;
401
+ referrer?: string;
402
+ trackId?: string;
403
+ interviewAutoSaveId?: string;
404
+ last_autosave_question_guid?: number;
405
+ clientIp?: string;
406
+ clientHeaders?: {
407
+ [key: string]: string;
408
+ };
409
+ [key: string]: any;
410
+ }
411
+ interface IInterviewData {
412
+ Language: number;
413
+ SpotId: number;
414
+ DeviceId: number;
415
+ DeviceType: number;
416
+ Resultative: ResultativeStatus;
417
+ Valid: ValidStatus;
418
+ Wave: number;
419
+ QuestionaryName: string;
420
+ QuestionaryGuid: number;
421
+ StartedAt: number;
422
+ FinishedAt: number;
423
+ TineZoneBias: number;
424
+ ResultatDirty: boolean;
425
+ Answers: {
426
+ AnsversList: Array<any>;
427
+ };
428
+ additional_info: IInterviewAdditionalInfo;
429
+ ResultQuotaGuids?: Array<{
430
+ base_guid: number;
431
+ result: boolean;
432
+ }>;
433
+ ResultQuota2dGuids?: Array<any>;
434
+ LogicVars: Array<IInterviewLogicVar>;
435
+ UniqueDeviceText?: string;
436
+ SpotGuid?: number;
437
+ }
438
+ interface IInterviewProgressEventData {
439
+ logicVars: LogicObject;
440
+ answerList: Array<Answer>;
441
+ }
442
+ interface IInterviewProgressEvent {
443
+ currentNum: number;
444
+ questionsCount: number;
445
+ questionGuid: number;
446
+ interviewData: IInterviewProgressEventData;
447
+ }
448
+
449
+ interface ICurrentQuestionViewData {
450
+ question: IdbQuestion | null;
451
+ answers?: ICurrentQuestionAnswer;
452
+ }
453
+ declare class SurveyPlayComponent implements OnInit {
454
+ #private;
455
+ questionary: _angular_core.InputSignal<IdbQuestionary>;
456
+ viewModel: _angular_core.InputSignal<ViewModel>;
457
+ interviewAutoSaveData: _angular_core.InputSignal<IInterviewAutoSaveData | undefined>;
458
+ theme: _angular_core.InputSignal<TpSurveyTheme>;
459
+ language: _angular_core.InputSignal<number>;
460
+ templateNavigationRef: _angular_core.InputSignal<TemplateRef<any> | null | undefined>;
461
+ interviewStarted: _angular_core.OutputEmitterRef<void>;
462
+ interviewFinished: _angular_core.OutputEmitterRef<IInterviewData>;
463
+ interviewProgress: _angular_core.OutputEmitterRef<IInterviewProgressEvent>;
464
+ readonly currentQuestionViewData: Signal<ICurrentQuestionViewData>;
465
+ readonly question: Signal<IdbQuestion | null>;
466
+ readonly activeLanguage: _angular_core.WritableSignal<number>;
467
+ readonly visibleImageList: Signal<Array<IdbImage>>;
468
+ readonly viewModelE: typeof ViewModel;
469
+ readonly backButtonAvailable: Signal<boolean | undefined>;
470
+ readonly nextButtonAvailable: Signal<boolean | undefined>;
471
+ constructor();
472
+ ngOnInit(): void;
473
+ onNavigationButtonClick(direction: NavigationButtonDirection): void;
474
+ onAnswerChanged(eventData: AnswerChange): void;
475
+ onLogicChanged(logicVars: Record<string, any>): void;
476
+ onLanguageChange(language: number): void;
477
+ findVariable(sysName: string): string;
478
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SurveyPlayComponent, never>;
479
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SurveyPlayComponent, "tp-survey-play", never, { "questionary": { "alias": "questionary"; "required": true; "isSignal": true; }; "viewModel": { "alias": "viewModel"; "required": true; "isSignal": true; }; "interviewAutoSaveData": { "alias": "interviewAutoSaveData"; "required": false; "isSignal": true; }; "theme": { "alias": "theme"; "required": false; "isSignal": true; }; "language": { "alias": "language"; "required": false; "isSignal": true; }; "templateNavigationRef": { "alias": "templateNavigationRef"; "required": false; "isSignal": true; }; }, { "interviewStarted": "interviewStarted"; "interviewFinished": "interviewFinished"; "interviewProgress": "interviewProgress"; }, never, never, true, never>;
480
+ }
481
+
482
+ declare class SurveyQuestionPreviewComponent {
483
+ question: _angular_core.InputSignal<IdbQuestion | null>;
484
+ language: _angular_core.InputSignal<number>;
485
+ viewModel: _angular_core.InputSignal<ViewModel>;
486
+ languageList: _angular_core.InputSignal<IdbBaseParamsLanguage[]>;
487
+ theme: _angular_core.InputSignal<TpSurveyTheme>;
488
+ repositoryPath: _angular_core.InputSignal<string>;
489
+ templateNavigationRef: _angular_core.InputSignal<TemplateRef<any> | null | undefined>;
490
+ ViewModel: typeof ViewModel;
491
+ findVariable(sysName: string): string;
492
+ protected readonly viewModelE: typeof ViewModel;
493
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SurveyQuestionPreviewComponent, never>;
494
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SurveyQuestionPreviewComponent, "tp-survey-question-preview", never, { "question": { "alias": "question"; "required": true; "isSignal": true; }; "language": { "alias": "language"; "required": true; "isSignal": true; }; "viewModel": { "alias": "viewModel"; "required": true; "isSignal": true; }; "languageList": { "alias": "languageList"; "required": true; "isSignal": true; }; "theme": { "alias": "theme"; "required": false; "isSignal": true; }; "repositoryPath": { "alias": "repositoryPath"; "required": false; "isSignal": true; }; "templateNavigationRef": { "alias": "templateNavigationRef"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
495
+ }
496
+
497
+ declare const MISSING_VALUE = -97;
498
+ declare const VIDEO_EXTENSION_LIST: string[];
499
+ declare const BASE_WIDTH = 1280;
500
+ declare const BASE_HEIGHT = 800;
501
+ declare const LOGIC_FUNC_TEXT = "\n const self = this;\n var setVar = function(varName, value) {\n self[varName] = value\n };\n var FUNC_IN = function(varName, array) {\n return isNaN(parseInt(varName)) ? false : array.indexOf(varName) > -1\n };\n var FUNC_INTERSECT = function (var1, var2) {\n return Array.isArray(var1) && Array.isArray(var2) ? var1.some(function(el1) {\n return var2.some(function (el2) {\n return el2 === el1;\n });\n }) : false;\n };\n var value = function(varName, defaultValue) {\n const defVal = !defaultValue ? 0 : defaultValue;\n if ( (varName === -97) || (varName === null) || (varName === undefined) ) {\n return defVal\n } else {\n return varName\n }\n }\n for (var p in this) eval(\"var \" + p + \" = this[p];\"); ";
502
+
503
+ declare function executeLogicExpression(expression: string, vars: Record<string, unknown>): Function;
504
+
505
+ export { AdditionalAnswerType, Answer, BASE_HEIGHT, BASE_WIDTH, LOGIC_FUNC_TEXT, MISSING_VALUE, QuestionsType, ResultativeStatus, SurveyEvents, SurveyPlayComponent, SurveyQuestionPreviewComponent, TP_SURVEY_CONFIGURATION, TpSurveyModule, VIDEO_EXTENSION_LIST, ValidStatus, ViewModel, executeLogicExpression };
506
+ export type { AdditionalAnswer, AdditionalAnswerCaptionPosition, AnswerChange, AnswerSlType, AnswerT, ICurrentQuestionAnswer, IInterviewAdditionalInfo, IInterviewAutoSaveData, IInterviewData, IInterviewLogicVar, IInterviewProgressEvent, IInterviewProgressEventData, IQuestionAnswer, IdbAdditionalAnswer, IdbAlternative, IdbBaseParamsLanguage, IdbBaseParamsRepositoryObject, IdbImage, IdbLogic, IdbLogicCaptionObject, IdbMQSectionItem, IdbMultilangObject, IdbQuestion, IdbQuestionary, IdbQuestionaryBaseParams, IdbQuestionaryInfo, IdbQuestionaryQuota, IdbQuestionaryQuota2d, IdbQuestionaryQuota2dObject, IdbRegion, IdbSection, IdbSurveyOptions, IdbTpBackGround, LogicObject, MissingValueT, NavigationButtonDirection, SurveyType, TFindVariableVoid, TImagePositionHorizontal, TImagePositionVertical, TTabletKeyboardVisibleStatus, TpSurveyConfig, TpSurveyPlatform, TpSurveySupportLanguage, TpSurveyTheme };
package/index.d.ts DELETED
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- /// <amd-module name="@touchpoll/tp-survey" />
5
- export * from './public-api';
@@ -1,17 +0,0 @@
1
- import { FormControl } from '@angular/forms';
2
- import { SafeHtml } from '@angular/platform-browser';
3
- import { AdditionalAnswer, AdditionalAnswerCaptionPosition } from '../../../tp.survey.type';
4
- import { AdditionalAnswerType } from '../../../tp.survey.enum';
5
- import * as i0 from "@angular/core";
6
- export declare class AnswerAdditionalComponent {
7
- control: import("@angular/core").InputSignal<FormControl<AdditionalAnswer>>;
8
- answerType: import("@angular/core").InputSignal<AdditionalAnswerType>;
9
- caption: import("@angular/core").InputSignal<SafeHtml>;
10
- numberMinValue: import("@angular/core").InputSignal<number | null>;
11
- numberMaxValue: import("@angular/core").InputSignal<number | null>;
12
- textMultiline: import("@angular/core").InputSignal<boolean>;
13
- captionPosition: import("@angular/core").InputSignal<AdditionalAnswerCaptionPosition>;
14
- additionalAnswerType: typeof AdditionalAnswerType;
15
- static ɵfac: i0.ɵɵFactoryDeclaration<AnswerAdditionalComponent, never>;
16
- static ɵcmp: i0.ɵɵComponentDeclaration<AnswerAdditionalComponent, "tp-survey-answer-additional", never, { "control": { "alias": "control"; "required": true; "isSignal": true; }; "answerType": { "alias": "answerType"; "required": true; "isSignal": true; }; "caption": { "alias": "caption"; "required": false; "isSignal": true; }; "numberMinValue": { "alias": "numberMinValue"; "required": false; "isSignal": true; }; "numberMaxValue": { "alias": "numberMaxValue"; "required": false; "isSignal": true; }; "textMultiline": { "alias": "textMultiline"; "required": false; "isSignal": true; }; "captionPosition": { "alias": "captionPosition"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
17
- }
@@ -1,16 +0,0 @@
1
- import { AdditionalAnswerCaptionPosition } from '../../../../../tp.survey.type';
2
- import { AdditionalAnswerType } from '../../../../../tp.survey.enum';
3
- import * as i0 from "@angular/core";
4
- export declare class AdditionalAnswerCaptionPositionDirective {
5
- tpSurveyAdditionalAnswerCaptionPosition: import("@angular/core").InputSignal<AdditionalAnswerCaptionPosition | undefined>;
6
- tpSurveyAdditionalAnswerType: import("@angular/core").InputSignal<AdditionalAnswerType | undefined>;
7
- get classBottom(): boolean;
8
- get classTop(): boolean;
9
- get classLeft(): boolean;
10
- get classRight(): boolean;
11
- get classTypeNumber(): boolean;
12
- get classTypeText(): boolean;
13
- get classTypeBoolean(): boolean;
14
- static ɵfac: i0.ɵɵFactoryDeclaration<AdditionalAnswerCaptionPositionDirective, never>;
15
- static ɵdir: i0.ɵɵDirectiveDeclaration<AdditionalAnswerCaptionPositionDirective, "[tpSurveyAdditionalAnswerCaptionPosition]", never, { "tpSurveyAdditionalAnswerCaptionPosition": { "alias": "tpSurveyAdditionalAnswerCaptionPosition"; "required": false; "isSignal": true; }; "tpSurveyAdditionalAnswerType": { "alias": "tpSurveyAdditionalAnswerType"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
16
- }
@@ -1,6 +0,0 @@
1
- import { AnswerMasterComponent } from '../answer.master/answer.master.component';
2
- import * as i0 from "@angular/core";
3
- export declare class AnswerEndComponent extends AnswerMasterComponent<number> {
4
- static ɵfac: i0.ɵɵFactoryDeclaration<AnswerEndComponent, never>;
5
- static ɵcmp: i0.ɵɵComponentDeclaration<AnswerEndComponent, "tp-survey-answer-end", never, {}, {}, never, never, true, never>;
6
- }
@@ -1,6 +0,0 @@
1
- import { AnswerMasterComponent } from '../answer.master/answer.master.component';
2
- import * as i0 from "@angular/core";
3
- export declare class AnswerInfoComponent extends AnswerMasterComponent<number> {
4
- static ɵfac: i0.ɵɵFactoryDeclaration<AnswerInfoComponent, never>;
5
- static ɵcmp: i0.ɵɵComponentDeclaration<AnswerInfoComponent, "tp-survey-answer-info", never, {}, {}, never, never, true, never>;
6
- }
@@ -1,9 +0,0 @@
1
- import { AnswerMasterComponent } from '../answer.master/answer.master.component';
2
- import { IdbBaseParamsLanguage } from '../../../tp.survey.interface';
3
- import * as i0 from "@angular/core";
4
- export declare class AnswerLangComponent extends AnswerMasterComponent<number> {
5
- languageList: import("@angular/core").InputSignal<IdbBaseParamsLanguage[]>;
6
- onLanguageChange: import("@angular/core").OutputEmitterRef<number>;
7
- static ɵfac: i0.ɵɵFactoryDeclaration<AnswerLangComponent, never>;
8
- static ɵcmp: i0.ɵɵComponentDeclaration<AnswerLangComponent, "tp-survey-answer-lang", never, { "languageList": { "alias": "languageList"; "required": true; "isSignal": true; }; }, { "onLanguageChange": "onLanguageChange"; }, never, never, true, never>;
9
- }
@@ -1,24 +0,0 @@
1
- import { DestroyRef } from '@angular/core';
2
- import { ControlValueAccessor, FormControl } from '@angular/forms';
3
- import { AnswerT, TFindVariableVoid } from '../../../tp.survey.type';
4
- import { ViewModel } from '../../../tp.survey.enum';
5
- import * as i0 from "@angular/core";
6
- export declare abstract class AnswerMasterComponent<T extends AnswerT> implements ControlValueAccessor {
7
- language: import("@angular/core").InputSignal<number>;
8
- viewModel: import("@angular/core").InputSignal<ViewModel>;
9
- findVariable: import("@angular/core").InputSignal<TFindVariableVoid>;
10
- repositoryPath: import("@angular/core").InputSignal<string>;
11
- viewModelE: typeof ViewModel;
12
- control: FormControl<T | null>;
13
- protected onModelChange: (data: T) => void;
14
- protected onModelTouched: () => void;
15
- protected readonly destroyRef: DestroyRef;
16
- constructor();
17
- registerOnChange(fn: (data: T) => void): void;
18
- registerOnTouched(fn: any): void;
19
- setDisabledState(isDisabled: boolean): void;
20
- writeValue(value: T): void;
21
- skipClick(): void;
22
- static ɵfac: i0.ɵɵFactoryDeclaration<AnswerMasterComponent<any>, never>;
23
- static ɵcmp: i0.ɵɵComponentDeclaration<AnswerMasterComponent<any>, "app-answer-master", never, { "language": { "alias": "language"; "required": true; "isSignal": true; }; "viewModel": { "alias": "viewModel"; "required": true; "isSignal": true; }; "findVariable": { "alias": "findVariable"; "required": true; "isSignal": true; }; "repositoryPath": { "alias": "repositoryPath"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
24
- }
@@ -1,21 +0,0 @@
1
- import { AfterViewInit } from '@angular/core';
2
- import { FormArray, FormControl, FormGroup } from '@angular/forms';
3
- import { AnswerMasterComponent } from '../answer.master/answer.master.component';
4
- import { IdbAlternative, IdbQuestion } from '../../../tp.survey.interface';
5
- import * as i0 from "@angular/core";
6
- interface IAnswerMSForm {
7
- alternativeList: FormArray<FormControl<boolean>>;
8
- }
9
- export declare class AnswerMSComponent extends AnswerMasterComponent<Array<number>> implements AfterViewInit {
10
- #private;
11
- question: import("@angular/core").InputSignal<IdbQuestion>;
12
- alternativeList: import("@angular/core").InputSignal<IdbAlternative[]>;
13
- alternativeMaxAnswersCount: import("@angular/core").InputSignal<number>;
14
- onAlternativeClick: import("@angular/core").OutputEmitterRef<number>;
15
- readonly answerMSForm: FormGroup<IAnswerMSForm>;
16
- constructor();
17
- ngAfterViewInit(): void;
18
- static ɵfac: i0.ɵɵFactoryDeclaration<AnswerMSComponent, never>;
19
- static ɵcmp: i0.ɵɵComponentDeclaration<AnswerMSComponent, "tp-survey-answer-ms", never, { "question": { "alias": "question"; "required": true; "isSignal": true; }; "alternativeList": { "alias": "alternativeList"; "required": true; "isSignal": true; }; "alternativeMaxAnswersCount": { "alias": "alternativeMaxAnswersCount"; "required": true; "isSignal": true; }; }, { "onAlternativeClick": "onAlternativeClick"; }, never, never, true, never>;
20
- }
21
- export {};
@@ -1,8 +0,0 @@
1
- import { AnswerMasterComponent } from '../answer.master/answer.master.component';
2
- import * as i0 from "@angular/core";
3
- export declare class AnswerODComponent extends AnswerMasterComponent<number> {
4
- minValue: import("@angular/core").InputSignal<number>;
5
- maxValue: import("@angular/core").InputSignal<number | null>;
6
- static ɵfac: i0.ɵɵFactoryDeclaration<AnswerODComponent, never>;
7
- static ɵcmp: i0.ɵɵComponentDeclaration<AnswerODComponent, "tp-survey-answer-od", never, { "minValue": { "alias": "minValue"; "required": false; "isSignal": true; }; "maxValue": { "alias": "maxValue"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
8
- }
@@ -1,8 +0,0 @@
1
- import { AnswerMasterComponent } from '../answer.master/answer.master.component';
2
- import * as i0 from "@angular/core";
3
- export declare class AnswerOLComponent extends AnswerMasterComponent<number | 'skip'> {
4
- telephoneInput: import("@angular/core").InputSignal<boolean>;
5
- canSkip: import("@angular/core").InputSignal<boolean>;
6
- static ɵfac: i0.ɵɵFactoryDeclaration<AnswerOLComponent, never>;
7
- static ɵcmp: i0.ɵɵComponentDeclaration<AnswerOLComponent, "tp-survey-answer-ol", never, { "telephoneInput": { "alias": "telephoneInput"; "required": false; "isSignal": true; }; "canSkip": { "alias": "canSkip"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
8
- }
@@ -1,22 +0,0 @@
1
- import { AfterViewInit } from '@angular/core';
2
- import { FormArray, FormControl, FormGroup } from '@angular/forms';
3
- import { AnswerMasterComponent } from '../answer.master/answer.master.component';
4
- import { AnswerSlType } from '../../../tp.survey.type';
5
- import { IdbAlternative, IdbQuestion, IdbSection } from '../../../tp.survey.interface';
6
- import * as i0 from "@angular/core";
7
- interface IAnswerSLForm {
8
- [key: string]: FormArray<FormControl<boolean>> | FormControl<number> | FormControl<Array<number>>;
9
- }
10
- export declare class AnswerSLComponent extends AnswerMasterComponent<AnswerSlType> implements AfterViewInit {
11
- #private;
12
- question: import("@angular/core").InputSignal<IdbQuestion>;
13
- alternativeList: import("@angular/core").InputSignal<IdbAlternative[]>;
14
- sectionList: import("@angular/core").InputSignal<IdbSection[]>;
15
- multiSelect: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
16
- maxCount: import("@angular/core").InputSignalWithTransform<number, unknown>;
17
- answerSLForm: FormGroup<IAnswerSLForm>;
18
- ngAfterViewInit(): void;
19
- static ɵfac: i0.ɵɵFactoryDeclaration<AnswerSLComponent, never>;
20
- static ɵcmp: i0.ɵɵComponentDeclaration<AnswerSLComponent, "tp-survey-answer-sl", never, { "question": { "alias": "question"; "required": true; "isSignal": true; }; "alternativeList": { "alias": "alternativeList"; "required": true; "isSignal": true; }; "sectionList": { "alias": "sectionList"; "required": true; "isSignal": true; }; "multiSelect": { "alias": "multiSelect"; "required": false; "isSignal": true; }; "maxCount": { "alias": "maxCount"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
21
- }
22
- export {};