@rangertechnologies/ngnxt 2.1.341 → 2.1.343
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.
|
@@ -58496,10 +58496,13 @@ class BookletComponent {
|
|
|
58496
58496
|
this.translationService.setLanguage(this.languageCode);
|
|
58497
58497
|
}
|
|
58498
58498
|
// HA 23JAN24 To avoid undefined error
|
|
58499
|
-
if (simplechanges['
|
|
58499
|
+
if (simplechanges['bookletJSON'] && simplechanges['bookletJSON'].currentValue != null) {
|
|
58500
|
+
this.triggerProcessBooklet('bookletJSON');
|
|
58501
|
+
}
|
|
58502
|
+
if ((simplechanges['dataBind'] && simplechanges['dataBind'].currentValue != null)) {
|
|
58500
58503
|
this.allEvents = [];
|
|
58501
58504
|
this.orginalDataBind = this.dataBind;
|
|
58502
|
-
this.triggerProcessBooklet(
|
|
58505
|
+
this.triggerProcessBooklet('dataBind');
|
|
58503
58506
|
}
|
|
58504
58507
|
}
|
|
58505
58508
|
// AP-28MAY25 - Converts old action string (JSON) into a new model (array of action objects)
|
|
@@ -58529,71 +58532,23 @@ class BookletComponent {
|
|
|
58529
58532
|
console.error('Error while processing booklet', error);
|
|
58530
58533
|
});
|
|
58531
58534
|
}
|
|
58535
|
+
// SKS12APR26 optimize processBooklet fun
|
|
58532
58536
|
async processBooklet(from) {
|
|
58533
58537
|
const runId = ++this.processBookletRunId;
|
|
58534
|
-
if (this.bookletJSON)
|
|
58535
|
-
|
|
58536
|
-
|
|
58537
|
-
|
|
58538
|
-
|
|
58539
|
-
|
|
58540
|
-
|
|
58541
|
-
|
|
58542
|
-
|
|
58543
|
-
|
|
58544
|
-
|
|
58545
|
-
|
|
58546
|
-
|
|
58547
|
-
|
|
58548
|
-
});
|
|
58549
|
-
}
|
|
58550
|
-
});
|
|
58551
|
-
this.bookletJSON['bookQuestionsMap'][Object.keys(this.bookletJSON?.bookQuestionsMap)[0]].subQuestions = tempbook;
|
|
58552
|
-
// Storing the API response for future use
|
|
58553
|
-
}
|
|
58554
|
-
// AP 23MAY25 - supports both stringified and object formats
|
|
58555
|
-
if (this.bookletJSON?.questionbook?.action != undefined && this.bookletJSON?.questionbook?.action != '') {
|
|
58556
|
-
this.actions = typeof this.bookletJSON?.questionbook.action === 'string'
|
|
58557
|
-
? JSON.parse(this.bookletJSON?.questionbook.action)
|
|
58558
|
-
: this.bookletJSON?.questionbook.action;
|
|
58559
|
-
this.actions = [
|
|
58560
|
-
...this.actions.filter((a) => a.eventtoemit !== 'close'),
|
|
58561
|
-
...this.actions.filter((a) => a.eventtoemit === 'close')
|
|
58562
|
-
];
|
|
58563
|
-
}
|
|
58564
|
-
// HA 18-JAN-24 The condition is used for Bind-In Logic
|
|
58565
|
-
await this.handleCompleteBooklet(this.bookletJSON, from);
|
|
58566
|
-
if (runId !== this.processBookletRunId) {
|
|
58567
|
-
return;
|
|
58568
|
-
}
|
|
58569
|
-
this.booklet = this.bookletJSON?.records;
|
|
58570
|
-
this.abItem = this.bookletJSON?.answerbook;
|
|
58571
|
-
// Process the Questions
|
|
58572
|
-
// HA 28DEC23 this applies for booklet
|
|
58573
|
-
// HA 17JAN24 Added ternary operator to avoid undefined scenario
|
|
58574
|
-
// HA 09FEB24 Adding condition to avoid undefined error
|
|
58575
|
-
if (this.bookletJSON?.bookQuestionsMap && Object.keys(this.bookletJSON?.bookQuestionsMap).length > 0) {
|
|
58576
|
-
for (var value in this.bookletJSON?.bookQuestionsMap) {
|
|
58577
|
-
this.bookQuestionsMap.set(value, this.bookletJSON?.bookQuestionsMap[value]);
|
|
58578
|
-
}
|
|
58579
|
-
}
|
|
58580
|
-
else if (this.bookletJSON?.records) { // HA 28DEC23 this applies for book or questions
|
|
58581
|
-
var value = '';
|
|
58582
|
-
// HA 09FEB24 Added ternary
|
|
58583
|
-
// RS 09DEC24 Changed keys
|
|
58584
|
-
value = this.bookletJSON?.records[0]?.id;
|
|
58585
|
-
this.bookQuestionsMap.set(value, this.bookletJSON?.questionbook);
|
|
58586
|
-
}
|
|
58587
|
-
if (from === 'dataBind' && this.dataBind && Object.keys(this.dataBind).length > 0) {
|
|
58588
|
-
this.bookQuestionsMap = new Map(this.bookQuestionsMap);
|
|
58589
|
-
this.cdr.markForCheck();
|
|
58590
|
-
Promise.resolve().then(() => {
|
|
58591
|
-
if (runId === this.processBookletRunId) {
|
|
58592
|
-
this.changeService.dataChanges('dataBind');
|
|
58593
|
-
}
|
|
58594
|
-
});
|
|
58595
|
-
}
|
|
58596
|
-
}
|
|
58538
|
+
if (!this.bookletJSON)
|
|
58539
|
+
return;
|
|
58540
|
+
const json = this.bookletJSON;
|
|
58541
|
+
this.applyTranslations(json);
|
|
58542
|
+
this.isAnswerFlag = true;
|
|
58543
|
+
this.loadReferenceBooks(json);
|
|
58544
|
+
this.loadActions(json);
|
|
58545
|
+
await this.prepareBooklet(json, from);
|
|
58546
|
+
if (runId !== this.processBookletRunId)
|
|
58547
|
+
return;
|
|
58548
|
+
this.buildQuestionMap(json);
|
|
58549
|
+
this.assignBookletData(json);
|
|
58550
|
+
this.handleDataBind(from, runId);
|
|
58551
|
+
this.cdr.markForCheck();
|
|
58597
58552
|
}
|
|
58598
58553
|
//SKS28MAR25 Function to fetch refqb data
|
|
58599
58554
|
getRefQbData(refqbid) {
|
|
@@ -59020,8 +58975,82 @@ class BookletComponent {
|
|
|
59020
58975
|
this.subscription.unsubscribe();
|
|
59021
58976
|
}
|
|
59022
58977
|
}
|
|
58978
|
+
applyTranslations(json) {
|
|
58979
|
+
if (json?.translationMap) {
|
|
58980
|
+
this.translationService.updateTranslations(json.translationMap);
|
|
58981
|
+
}
|
|
58982
|
+
}
|
|
58983
|
+
loadReferenceBooks(json) {
|
|
58984
|
+
const map = json?.bookQuestionsMap;
|
|
58985
|
+
if (!map)
|
|
58986
|
+
return;
|
|
58987
|
+
const keys = Object.keys(map || {});
|
|
58988
|
+
if (!keys.length)
|
|
58989
|
+
return;
|
|
58990
|
+
const firstKey = keys[0];
|
|
58991
|
+
const questions = map[firstKey]?.subQuestions || [];
|
|
58992
|
+
questions.forEach(q => {
|
|
58993
|
+
if (q.type === 'Book' && q.qbReference && !q.qbReferenceQuestions) {
|
|
58994
|
+
this.getRefQbData(q.qbReference)
|
|
58995
|
+
.pipe(takeUntil(this.destroy$))
|
|
58996
|
+
.subscribe(res => q.qbReferenceQuestions = res);
|
|
58997
|
+
}
|
|
58998
|
+
});
|
|
58999
|
+
}
|
|
59000
|
+
loadActions(json) {
|
|
59001
|
+
const actions = json?.questionbook?.action;
|
|
59002
|
+
if (!actions)
|
|
59003
|
+
return;
|
|
59004
|
+
this.actions = typeof actions === 'string'
|
|
59005
|
+
? JSON.parse(actions)
|
|
59006
|
+
: actions;
|
|
59007
|
+
this.actions = [
|
|
59008
|
+
...this.actions.filter(a => a.eventtoemit !== 'close'),
|
|
59009
|
+
...this.actions.filter(a => a.eventtoemit === 'close')
|
|
59010
|
+
];
|
|
59011
|
+
}
|
|
59012
|
+
async prepareBooklet(json, from) {
|
|
59013
|
+
await this.handleCompleteBooklet(json, from);
|
|
59014
|
+
}
|
|
59015
|
+
assignBookletData(json) {
|
|
59016
|
+
this.booklet = json?.records || [];
|
|
59017
|
+
this.abItem = json?.answerbook || {};
|
|
59018
|
+
// attach questions once (performance optimization)
|
|
59019
|
+
this.booklet.forEach(qb => {
|
|
59020
|
+
qb.questions = this.bookQuestionsMap?.get(qb.id)?.subQuestions || [];
|
|
59021
|
+
});
|
|
59022
|
+
}
|
|
59023
|
+
buildQuestionMap(json) {
|
|
59024
|
+
this.bookQuestionsMap = new Map();
|
|
59025
|
+
if (json?.bookQuestionsMap) {
|
|
59026
|
+
Object.entries(json.bookQuestionsMap)
|
|
59027
|
+
.forEach(([k, v]) => this.bookQuestionsMap.set(k, v));
|
|
59028
|
+
}
|
|
59029
|
+
else if (json?.records?.length) {
|
|
59030
|
+
this.bookQuestionsMap.set(json.records[0].id, json.questionbook);
|
|
59031
|
+
}
|
|
59032
|
+
}
|
|
59033
|
+
handleDataBind(from, runId) {
|
|
59034
|
+
if (from === 'dataBind' && this.dataBind) {
|
|
59035
|
+
this.bookQuestionsMap = new Map(this.bookQuestionsMap);
|
|
59036
|
+
Promise.resolve().then(() => {
|
|
59037
|
+
if (runId === this.processBookletRunId) {
|
|
59038
|
+
this.changeService.dataChanges('dataBind');
|
|
59039
|
+
}
|
|
59040
|
+
});
|
|
59041
|
+
}
|
|
59042
|
+
}
|
|
59043
|
+
trackBooklet(index, item) {
|
|
59044
|
+
return item.id || index;
|
|
59045
|
+
}
|
|
59046
|
+
trackQuestion(index, item) {
|
|
59047
|
+
return item.id || index;
|
|
59048
|
+
}
|
|
59049
|
+
trackAction(index, item) {
|
|
59050
|
+
return item.id || index;
|
|
59051
|
+
}
|
|
59023
59052
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: BookletComponent, deps: [{ token: DataService }, { token: ChangeService }, { token: i1$1.HttpClient }, { token: TranslationService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
59024
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: BookletComponent, isStandalone: true, selector: "lib-booklet", inputs: { bookletId: "bookletId", serv: "serv", tkn: "tkn", bookletJSON: "bookletJSON", allIcons: "allIcons", themeColor: "themeColor", cdnIconURL: "cdnIconURL", dropdownDependentData: "dropdownDependentData", labelValue: "labelValue", token: "token", languageCode: "languageCode", fieldRestrictions: "fieldRestrictions", from: "from", apiUrl: "apiUrl", isEdit: "isEdit", direction: "direction", isLoading: "isLoading", onlyView: "onlyView", dataBind: "dataBind" }, outputs: { handleBookletActionEvent: "handleBookletActionEvent", handlePage: "handlePage", hadleDropDownDependent: "hadleDropDownDependent", handleCalendarDate: "handleCalendarDate", handleCalendarEvent: "handleCalendarEvent", formEditEvent: "formEditEvent" }, viewQueries: [{ propertyName: "questionbookComponent", first: true, predicate: ["questionbook"], descendants: true }, { propertyName: "stickyBar", first: true, predicate: ["stickyBar"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<!-- Booklet Handling-->\n<!-- HA 19DEC23 For Direction -->\n<div *ngFor=\"let qb of booklet\" [dir]=\"direction\">\n <!-- MR Commented below code to ensure single JSON for UNCONDITIONAL Booklets -->\n <!-- HA 28DEC23 Below If logic is to load from booklet -->\n <div *ngIf=\"qb.subQuestions; else elseBlock\">\n <
|
|
59053
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: BookletComponent, isStandalone: true, selector: "lib-booklet", inputs: { bookletId: "bookletId", serv: "serv", tkn: "tkn", bookletJSON: "bookletJSON", allIcons: "allIcons", themeColor: "themeColor", cdnIconURL: "cdnIconURL", dropdownDependentData: "dropdownDependentData", labelValue: "labelValue", token: "token", languageCode: "languageCode", fieldRestrictions: "fieldRestrictions", from: "from", apiUrl: "apiUrl", isEdit: "isEdit", direction: "direction", isLoading: "isLoading", onlyView: "onlyView", dataBind: "dataBind" }, outputs: { handleBookletActionEvent: "handleBookletActionEvent", handlePage: "handlePage", hadleDropDownDependent: "hadleDropDownDependent", handleCalendarDate: "handleCalendarDate", handleCalendarEvent: "handleCalendarEvent", formEditEvent: "formEditEvent" }, viewQueries: [{ propertyName: "questionbookComponent", first: true, predicate: ["questionbook"], descendants: true }, { propertyName: "stickyBar", first: true, predicate: ["stickyBar"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<!-- Booklet Handling-->\n<!-- HA 19DEC23 For Direction -->\n<div *ngFor=\"let qb of booklet; trackBy: trackBooklet\" [dir]=\"direction\">\n <!-- MR Commented below code to ensure single JSON for UNCONDITIONAL Booklets -->\n <!-- HA 28DEC23 Below If logic is to load from booklet -->\n <div *ngIf=\"qb.subQuestions; else elseBlock\">\n <ng-container *ngFor=\"let ques of qb.subQuestions; trackBy: trackQuestion\">\n <div class=\"questiondiv1\">\n <!-- HA 17JAN24 - Is title is enabled so that based on the boolean div will be visible -->\n <div *ngIf=\"ques.isTitle\" [class]=\"qb.isShengel ? 'header-style' : 'question-f-size additional'\">\n <!-- VD 08NOV23 - showing label when its available-->\n <div *ngIf=\"ques?.questionText && ques?.style?.showLabel !== false\" >\n {{ (ques.id+'.questionText') | nxtCustomTranslate : ques?.questionText }}\n </div>\n </div>\n <!--VD 06Sep24 calendar changes-->\n <!-- AP-14MAY25 - Added [dataBind] input binding -->\n <!-- AP-19MAY25 - Added [isEditVal] binding --> \n <!-- //MSM10JUL25 allIcons, themeColor, cdnIconURL added for icon-selector-->\n <lib-questionbook [qbItem]=\"qb\" [token]=\"token\"\n [direction] = \"direction\"\n [labelValue]=\"labelValue\"\n [questionItem]=\"ques\"\n [questions]=\"qb.questions\"\n (handleDropDown)=\"getDropDown($event)\"\n (handleCalendarDate)=\"getCalendarDate($event)\"\n (handleCalendarEvent)=\"getCalendarEvent($event)\"\n (singleFieldChangeEmit) ='singleFieldChange($event)'\n [dataBind]=\"dataBind\"\n [isEdit]=\"isEditVal\" \n [allIcons]=\"allIcons\"\n [themeColor]=\"themeColor\"\n [cdnIconURL]=\"cdnIconURL\"\n [languageCode]=\"languageCode\"\n [onlyView]=\"onlyView\"\n >\n </lib-questionbook>\n </div>\n </ng-container>\n </div>\n <!-- HA 28DEC23 Below else logic is to load from books or questions -->\n <ng-template #elseBlock>\n <div class=\"questiondiv1\">\n <div>\n <div *ngIf=\"!qb.isTitle\" [class]=\"qb.isShengel ? 'header-style' : 'question-f-size additional'\">\n <!-- VD 08NOV23 - showing label when its available-->\n <div *ngIf=\"qb?.questionText && qb?.style?.showLabel !== false\" >\n {{ (qb.id+'.questionText') | nxtCustomTranslate : qb?.questionText}}\n {{ qb?.title }}\n </div>\n </div> <!-- VD 19JAN24 - getting token as input --> <!-- // VD 11Jun24 - translation changes-->\n <lib-questionbook [onlyView]=\"onlyView\" [qbItem]=\"qb\" [token]=\"token\" [labelValue]=\"labelValue\" [questionItem]=\"qb\" [questions]=\"qb.questions\" (handleDropDown)=\"getDropDown($event)\" [languageCode]=\"languageCode\"></lib-questionbook>\n </div>\n </div>\n </ng-template>\n <!-- Group Actions -->\n <!-- HA 19DEC23 For Direction -->\n <!-- AP 23MAY25 - Action Buttons: Dynamically positioned buttons with JSON-configured styles -->\n <div #stickyBar class=\"align-submit-row\" [ngStyle]=\"{\n display: 'flex',\n position: 'sticky',\n bottom: '0px',\n zIndex: '1000',\n width: '100%',\n justifyContent: 'flex-end',\n background: '#ffffff',\n padding: '10px',\n gap: '10px',\n boxShadow: showStickyShadow ? 'rgba(0, 0, 0, 0.12) 0px -10px 8px -10px' : 'none'\n }\" *ngIf=\"abItem?.status != 'Completed' && from !== 'formBuilder' && !onlyView\" [dir]=\"direction\"> <!-- position-relative removed in this tag-->\n <ng-container *ngFor=\"let action of actions; let i = index; trackBy: trackAction\">\n <div class=\"action-wrapper\"> <!-- style=\"position: absolute; [style.left.%]=\"action.positionPercent || 0\" removed in this tag -->\n @if(!isEditVal && action.name === 'Save'){\n <nxt-button\n (buttonClickEmit)=\"editChangeClick(action)\"\n [buttonValue]=\"'EDIT' | nxtCustomTranslate : 'Edit'\"\n [btnBorder]=\"action.borderSize\"\n [btnBorderColor]=\"action.borderColor\"\n [btnBorderRadius]=\"action.borderRadius || 4\"\n [btnWidth]=\"action.width || 100\"\n [buttonType]=\"'custom-btn'\"\n [buttonConfig]=\"action?.buttonConfig\" [type]=\"action?.type\"\n [btnIconLeftSrc]=\"action?.btnIconLeftSrc\" [isImageSvg]=\"action?.isImageSvg\"\n >\n </nxt-button>\n } @else if(action.name === 'Cancel' ? isEditVal : true ) {\n <nxt-button\n (buttonClickEmit)=\"handleBookletActionClick(action)\" \n [isLoading]=\"isLoading?.includes(action.id)\"\n [buttonValue]=\"(action.id+'.name') | nxtCustomTranslate : action?.name\"\n [btnBorder]=\"action.borderSize\"\n [btnBorderRadius]=\"action.borderRadius || 4\"\n [btnWidth]=\"action.width || 100\"\n [buttonType]=\"action.name === 'Cancel' ? 'border-btn' : 'custom-btn'\"\n [buttonConfig]=\"action?.buttonConfig\" [type]=\"action?.type\"\n [btnIconLeftSrc]=\"action?.btnIconLeftSrc\" [isImageSvg]=\"action?.isImageSvg\"\n [buttonDisable]=\"action.name === 'Save' && isSaveDisabled\"\n >\n </nxt-button>\n }\n </div>\n </ng-container>\n </div>\n</div>", styles: [".header-style{padding:15px;background:#f8f8f8;color:#898989;border:1px solid #e8e8e8;border-top-left-radius:5px;border-top-right-radius:5px;margin-left:0;justify-content:left;font-size:15px}.rtl{flex-direction:row-reverse}.action-btn{width:100%;height:40px;transition:all .3s ease}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: QuestionbookComponent, selector: "lib-questionbook", inputs: ["qbItem", "questionItem", "questions", "errorFieldId", "labelValue", "token", "isEdit", "dropDownData", "dataBind", "allIcons", "themeColor", "cdnIconURL", "direction", "languageCode", "from", "bgColor", "margin", "onlyView"], outputs: ["handleDropDown", "handleQuestion", "singleFieldChangeEmit", "hadleDropDownDependent", "handleCalendarDate", "handleCalendarEvent"] }, { kind: "pipe", type: NxtCustomTranslatePipe, name: "nxtCustomTranslate" }, { kind: "component", type: NxtButtonComponent, selector: "nxt-button", inputs: ["buttonValue", "buttonType", "type", "buttonDisable", "btnBgColor", "btnBorder", "btnBorderRadius", "btnBorderColor", "btnTextColor", "btnHeight", "btnWidth", "btnIconLeftSrc", "btnIconRightSrc", "btnHoverBgColor", "btnHoverTextColor", "btnId", "dataDismiss", "modalToTrigger", "isImageSvg", "tabIndex", "buttonConfig", "mode", "languageCode", "padding", "isLoading", "selector", "dropdownLoadingButton"], outputs: ["buttonClickEmit"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
59025
59054
|
}
|
|
59026
59055
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: BookletComponent, decorators: [{
|
|
59027
59056
|
type: Component,
|
|
@@ -59031,7 +59060,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
59031
59060
|
QuestionbookComponent,
|
|
59032
59061
|
NxtCustomTranslatePipe,
|
|
59033
59062
|
NxtButtonComponent
|
|
59034
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- Booklet Handling-->\n<!-- HA 19DEC23 For Direction -->\n<div *ngFor=\"let qb of booklet\" [dir]=\"direction\">\n <!-- MR Commented below code to ensure single JSON for UNCONDITIONAL Booklets -->\n <!-- HA 28DEC23 Below If logic is to load from booklet -->\n <div *ngIf=\"qb.subQuestions; else elseBlock\">\n <
|
|
59063
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- Booklet Handling-->\n<!-- HA 19DEC23 For Direction -->\n<div *ngFor=\"let qb of booklet; trackBy: trackBooklet\" [dir]=\"direction\">\n <!-- MR Commented below code to ensure single JSON for UNCONDITIONAL Booklets -->\n <!-- HA 28DEC23 Below If logic is to load from booklet -->\n <div *ngIf=\"qb.subQuestions; else elseBlock\">\n <ng-container *ngFor=\"let ques of qb.subQuestions; trackBy: trackQuestion\">\n <div class=\"questiondiv1\">\n <!-- HA 17JAN24 - Is title is enabled so that based on the boolean div will be visible -->\n <div *ngIf=\"ques.isTitle\" [class]=\"qb.isShengel ? 'header-style' : 'question-f-size additional'\">\n <!-- VD 08NOV23 - showing label when its available-->\n <div *ngIf=\"ques?.questionText && ques?.style?.showLabel !== false\" >\n {{ (ques.id+'.questionText') | nxtCustomTranslate : ques?.questionText }}\n </div>\n </div>\n <!--VD 06Sep24 calendar changes-->\n <!-- AP-14MAY25 - Added [dataBind] input binding -->\n <!-- AP-19MAY25 - Added [isEditVal] binding --> \n <!-- //MSM10JUL25 allIcons, themeColor, cdnIconURL added for icon-selector-->\n <lib-questionbook [qbItem]=\"qb\" [token]=\"token\"\n [direction] = \"direction\"\n [labelValue]=\"labelValue\"\n [questionItem]=\"ques\"\n [questions]=\"qb.questions\"\n (handleDropDown)=\"getDropDown($event)\"\n (handleCalendarDate)=\"getCalendarDate($event)\"\n (handleCalendarEvent)=\"getCalendarEvent($event)\"\n (singleFieldChangeEmit) ='singleFieldChange($event)'\n [dataBind]=\"dataBind\"\n [isEdit]=\"isEditVal\" \n [allIcons]=\"allIcons\"\n [themeColor]=\"themeColor\"\n [cdnIconURL]=\"cdnIconURL\"\n [languageCode]=\"languageCode\"\n [onlyView]=\"onlyView\"\n >\n </lib-questionbook>\n </div>\n </ng-container>\n </div>\n <!-- HA 28DEC23 Below else logic is to load from books or questions -->\n <ng-template #elseBlock>\n <div class=\"questiondiv1\">\n <div>\n <div *ngIf=\"!qb.isTitle\" [class]=\"qb.isShengel ? 'header-style' : 'question-f-size additional'\">\n <!-- VD 08NOV23 - showing label when its available-->\n <div *ngIf=\"qb?.questionText && qb?.style?.showLabel !== false\" >\n {{ (qb.id+'.questionText') | nxtCustomTranslate : qb?.questionText}}\n {{ qb?.title }}\n </div>\n </div> <!-- VD 19JAN24 - getting token as input --> <!-- // VD 11Jun24 - translation changes-->\n <lib-questionbook [onlyView]=\"onlyView\" [qbItem]=\"qb\" [token]=\"token\" [labelValue]=\"labelValue\" [questionItem]=\"qb\" [questions]=\"qb.questions\" (handleDropDown)=\"getDropDown($event)\" [languageCode]=\"languageCode\"></lib-questionbook>\n </div>\n </div>\n </ng-template>\n <!-- Group Actions -->\n <!-- HA 19DEC23 For Direction -->\n <!-- AP 23MAY25 - Action Buttons: Dynamically positioned buttons with JSON-configured styles -->\n <div #stickyBar class=\"align-submit-row\" [ngStyle]=\"{\n display: 'flex',\n position: 'sticky',\n bottom: '0px',\n zIndex: '1000',\n width: '100%',\n justifyContent: 'flex-end',\n background: '#ffffff',\n padding: '10px',\n gap: '10px',\n boxShadow: showStickyShadow ? 'rgba(0, 0, 0, 0.12) 0px -10px 8px -10px' : 'none'\n }\" *ngIf=\"abItem?.status != 'Completed' && from !== 'formBuilder' && !onlyView\" [dir]=\"direction\"> <!-- position-relative removed in this tag-->\n <ng-container *ngFor=\"let action of actions; let i = index; trackBy: trackAction\">\n <div class=\"action-wrapper\"> <!-- style=\"position: absolute; [style.left.%]=\"action.positionPercent || 0\" removed in this tag -->\n @if(!isEditVal && action.name === 'Save'){\n <nxt-button\n (buttonClickEmit)=\"editChangeClick(action)\"\n [buttonValue]=\"'EDIT' | nxtCustomTranslate : 'Edit'\"\n [btnBorder]=\"action.borderSize\"\n [btnBorderColor]=\"action.borderColor\"\n [btnBorderRadius]=\"action.borderRadius || 4\"\n [btnWidth]=\"action.width || 100\"\n [buttonType]=\"'custom-btn'\"\n [buttonConfig]=\"action?.buttonConfig\" [type]=\"action?.type\"\n [btnIconLeftSrc]=\"action?.btnIconLeftSrc\" [isImageSvg]=\"action?.isImageSvg\"\n >\n </nxt-button>\n } @else if(action.name === 'Cancel' ? isEditVal : true ) {\n <nxt-button\n (buttonClickEmit)=\"handleBookletActionClick(action)\" \n [isLoading]=\"isLoading?.includes(action.id)\"\n [buttonValue]=\"(action.id+'.name') | nxtCustomTranslate : action?.name\"\n [btnBorder]=\"action.borderSize\"\n [btnBorderRadius]=\"action.borderRadius || 4\"\n [btnWidth]=\"action.width || 100\"\n [buttonType]=\"action.name === 'Cancel' ? 'border-btn' : 'custom-btn'\"\n [buttonConfig]=\"action?.buttonConfig\" [type]=\"action?.type\"\n [btnIconLeftSrc]=\"action?.btnIconLeftSrc\" [isImageSvg]=\"action?.isImageSvg\"\n [buttonDisable]=\"action.name === 'Save' && isSaveDisabled\"\n >\n </nxt-button>\n }\n </div>\n </ng-container>\n </div>\n</div>", styles: [".header-style{padding:15px;background:#f8f8f8;color:#898989;border:1px solid #e8e8e8;border-top-left-radius:5px;border-top-right-radius:5px;margin-left:0;justify-content:left;font-size:15px}.rtl{flex-direction:row-reverse}.action-btn{width:100%;height:40px;transition:all .3s ease}\n"] }]
|
|
59035
59064
|
}], ctorParameters: () => [{ type: DataService }, { type: ChangeService }, { type: i1$1.HttpClient }, { type: TranslationService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }], propDecorators: { bookletId: [{
|
|
59036
59065
|
type: Input
|
|
59037
59066
|
}], serv: [{
|
|
@@ -59101,7 +59130,7 @@ const VERSION = {
|
|
|
59101
59130
|
"semver": null,
|
|
59102
59131
|
"suffix": "ed0865a9-dirty",
|
|
59103
59132
|
"semverString": null,
|
|
59104
|
-
"version": "2.1.
|
|
59133
|
+
"version": "2.1.343"
|
|
59105
59134
|
};
|
|
59106
59135
|
/* tslint:enable */
|
|
59107
59136
|
|