@adins/ucsearch 2.2.53 → 2.2.55

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.
@@ -187,19 +187,33 @@ ExportTypeConstant.EXP_TYPE_DOCX = 4;
187
187
  */
188
188
  class ListKeyValueMonth {
189
189
  constructor() {
190
+ this.DictOfMonth = {};
190
191
  this.ListOfMonth = new Array();
192
+ this.DictOfMonth = {};
191
193
  this.ListOfMonth.push({ key: 1, value: "January" });
194
+ this.DictOfMonth[1] = "January";
192
195
  this.ListOfMonth.push({ key: 2, value: "February" });
196
+ this.DictOfMonth[2] = "February";
193
197
  this.ListOfMonth.push({ key: 3, value: "March" });
198
+ this.DictOfMonth[3] = "March";
194
199
  this.ListOfMonth.push({ key: 4, value: "April" });
200
+ this.DictOfMonth[4] = "April";
195
201
  this.ListOfMonth.push({ key: 5, value: "May" });
202
+ this.DictOfMonth[5] = "May";
196
203
  this.ListOfMonth.push({ key: 6, value: "June" });
204
+ this.DictOfMonth[6] = "June";
197
205
  this.ListOfMonth.push({ key: 7, value: "July" });
206
+ this.DictOfMonth[7] = "July";
198
207
  this.ListOfMonth.push({ key: 8, value: "August" });
208
+ this.DictOfMonth[8] = "August";
199
209
  this.ListOfMonth.push({ key: 9, value: "September" });
210
+ this.DictOfMonth[9] = "September";
200
211
  this.ListOfMonth.push({ key: 10, value: "October" });
212
+ this.DictOfMonth[10] = "October";
201
213
  this.ListOfMonth.push({ key: 11, value: "November" });
214
+ this.DictOfMonth[11] = "November";
202
215
  this.ListOfMonth.push({ key: 12, value: "December" });
216
+ this.DictOfMonth[12] = "December";
203
217
  }
204
218
  }
205
219
 
@@ -337,15 +351,15 @@ class UCSearchComponent {
337
351
  if (this.searchInput.title != undefined && this.searchInput.title != "") {
338
352
  this.configuration.title = this.searchInput.title;
339
353
  }
340
- for (var i = 0; i < this.countForm; i++) {
354
+ for (let i = 0; i < this.countForm; i++) {
341
355
  //ini kalau datanya di load dari URL
342
356
  if (data.component[i].isFromURL == true) {
343
357
  /** @type {?} */
344
- var request = new RequestCriteriaObj();
358
+ let request = new RequestCriteriaObj();
345
359
  /** @type {?} */
346
- var arrayCrit = new Array();
360
+ let arrayCrit = new Array();
347
361
  /** @type {?} */
348
- var criteriaObject = new CriteriaObj();
362
+ let criteriaObject = new CriteriaObj();
349
363
  criteriaObject.DataType = "text";
350
364
  criteriaObject.propName = data.component[i].criteriaPropName;
351
365
  criteriaObject.value = data.component[i].criteriaPropValue;
@@ -388,15 +402,15 @@ class UCSearchComponent {
388
402
  //pengecekan ddl
389
403
  if (data.component[i].type == "dropdown") {
390
404
  if (data.component[i].dtmType != undefined) {
391
- if (data.component[i].dtmType == "month") {
405
+ if (data.component[i].dtmType.includes("month")) {
392
406
  if (data.component[i].value != undefined && data.component[i].value.includes("BD")) {
393
- data.component[i].value = this.BusinessDt.getMonth() + 1;
407
+ data.component[i].value = this.setDefaultValueMonth(data.component[i].value);
394
408
  }
395
- data.component[i].items = this.ListOfMonth.ListOfMonth;
409
+ data.component[i].items = this.setMonthDDL(data.component[i].dtmType);
396
410
  }
397
411
  if (data.component[i].dtmType.includes("year")) {
398
412
  if (data.component[i].value != undefined && data.component[i].value.includes("BD")) {
399
- data.component[i].value = this.BusinessDt.getFullYear();
413
+ data.component[i].value = this.setDefaultValueYear(data.component[i].value);
400
414
  }
401
415
  data.component[i].items = this.setYearDDL(data.component[i].dtmType);
402
416
  }
@@ -418,26 +432,26 @@ class UCSearchComponent {
418
432
  businessDate = new Date(this.BisDt);
419
433
  }
420
434
  /** @type {?} */
421
- var operator = data.component[i].value.charAt(2);
435
+ let operator = data.component[i].value.charAt(2);
422
436
  /** @type {?} */
423
- var dateShow = new Date();
437
+ let dateShow = new Date();
424
438
  if (operator == "-") {
425
439
  /** @type {?} */
426
- var tempMinus = data.component[i].value.split("-", 2);
440
+ let tempMinus = data.component[i].value.split("-", 2);
427
441
  /** @type {?} */
428
- var numDay = parseInt(tempMinus[1]);
442
+ let numDay = parseInt(tempMinus[1]);
429
443
  businessDate.setDate(businessDate.getDate() - numDay);
430
444
  }
431
445
  else if (operator == "+") {
432
446
  /** @type {?} */
433
- var tempMinus = data.component[i].value.split("+", 2);
447
+ let tempMinus = data.component[i].value.split("+", 2);
434
448
  /** @type {?} */
435
- var numDay = parseInt(tempMinus[1]);
449
+ let numDay = parseInt(tempMinus[1]);
436
450
  businessDate.setDate(businessDate.getDate() + numDay);
437
451
  }
438
452
  dateShow = businessDate;
439
453
  /** @type {?} */
440
- var dateText = formatDate(dateShow, 'yyyy-MM-dd', 'en-US');
454
+ let dateText = formatDate(dateShow, 'yyyy-MM-dd', 'en-US');
441
455
  data.component[i].value = dateText;
442
456
  }
443
457
  if (data.component[i].restriction != undefined && data.component[i].restriction != "") {
@@ -505,6 +519,100 @@ class UCSearchComponent {
505
519
  }
506
520
  this.searchInput.integrationObj.requestObj["OfficeRoleCodes"] = listOfficeRoleCodes;
507
521
  }
522
+ /**
523
+ * @param {?} value
524
+ * @return {?}
525
+ */
526
+ setDefaultValueMonth(value) {
527
+ /** @type {?} */
528
+ let businessDate = new Date(this.BusinessDt);
529
+ /** @type {?} */
530
+ let operator = value.charAt(2);
531
+ /** @type {?} */
532
+ let tempValue = value.split(operator, 2);
533
+ /** @type {?} */
534
+ let numMonth = parseInt(tempValue[1]);
535
+ if (!numMonth)
536
+ numMonth = 1;
537
+ if (operator == "-") {
538
+ businessDate.setMonth(businessDate.getMonth() - numMonth);
539
+ }
540
+ else if (operator == "+") {
541
+ businessDate.setMonth(businessDate.getMonth() + numMonth);
542
+ }
543
+ return businessDate.getMonth();
544
+ }
545
+ /**
546
+ * @param {?} month
547
+ * @return {?}
548
+ */
549
+ setMonthDDL(month) {
550
+ /** @type {?} */
551
+ let ListOfMonth;
552
+ /** @type {?} */
553
+ let equation = month.match("[\\/+][-]|[-][\\/+]|\\/+|-");
554
+ /** @type {?} */
555
+ let toMin = this.BusinessDt.getMonth();
556
+ /** @type {?} */
557
+ let toMax = this.BusinessDt.getMonth();
558
+ /** @type {?} */
559
+ let tempEquation = equation[0];
560
+ /** @type {?} */
561
+ let minMax = parseInt(month.substring(equation.index + equation[0].length));
562
+ if (minMax >= 12)
563
+ return this.ListOfMonth.ListOfMonth;
564
+ if ((tempEquation == "+-" || tempEquation == "-+") && minMax >= 6)
565
+ return this.ListOfMonth.ListOfMonth;
566
+ /** @type {?} */
567
+ let dictOfMonth = this.ListOfMonth.DictOfMonth;
568
+ ListOfMonth.push({ key: toMin, value: dictOfMonth[toMin] });
569
+ for (let q = 0; q < minMax; q++) {
570
+ if (tempEquation.includes("-")) {
571
+ toMin--;
572
+ if (toMin == 0)
573
+ toMin = 12;
574
+ ListOfMonth.push({ key: toMin, value: dictOfMonth[toMin] });
575
+ }
576
+ if (tempEquation.includes("+")) {
577
+ toMax++;
578
+ if (toMax == 13)
579
+ toMax = 1;
580
+ ListOfMonth.push({ key: toMax, value: dictOfMonth[toMax] });
581
+ }
582
+ }
583
+ ListOfMonth.sort((/**
584
+ * @param {?} a
585
+ * @param {?} b
586
+ * @return {?}
587
+ */
588
+ (a, b) => {
589
+ return a.key - b.key;
590
+ }));
591
+ return ListOfMonth;
592
+ }
593
+ /**
594
+ * @param {?} value
595
+ * @return {?}
596
+ */
597
+ setDefaultValueYear(value) {
598
+ /** @type {?} */
599
+ let businessDate = new Date(this.BusinessDt);
600
+ /** @type {?} */
601
+ let operator = value.charAt(2);
602
+ /** @type {?} */
603
+ let tempValue = value.split(operator, 2);
604
+ /** @type {?} */
605
+ let numYear = parseInt(tempValue[1]);
606
+ if (!numYear)
607
+ numYear = 1;
608
+ if (operator == "-") {
609
+ businessDate.setFullYear(businessDate.getFullYear() - numYear);
610
+ }
611
+ else if (operator == "+") {
612
+ businessDate.setFullYear(businessDate.getFullYear() + numYear);
613
+ }
614
+ return businessDate.getFullYear();
615
+ }
508
616
  /**
509
617
  * @param {?} year
510
618
  * @return {?}
@@ -663,15 +771,15 @@ class UCSearchComponent {
663
771
  this.toastr.warning("Please select " + label);
664
772
  break;
665
773
  }
774
+ if (component.getAttribute('data-crit-datatable') != "" && component.getAttribute('data-crit-datatable') != null) {
775
+ critObj.isCriteriaDataTable = component.getAttribute('data-crit-datatable');
776
+ }
666
777
  if (this.configuration.component[i].type == "taskDefinitionKey" || this.configuration.component[i].type == "officeRoleCodes")
667
778
  continue;
668
779
  if (this.configuration.component[i].type == "claim") {
669
780
  critObj.propName = component.getAttribute('data-name');
670
781
  critObj.restriction = text;
671
782
  critObj.value = null;
672
- if (component.getAttribute('data-crit-datatable') != "" && component.getAttribute('data-crit-datatable') != null) {
673
- critObj.isCriteriaDataTable = component.getAttribute('data-crit-datatable');
674
- }
675
783
  arrCrit.push(critObj);
676
784
  }
677
785
  else {
@@ -747,18 +855,18 @@ class UCSearchComponent {
747
855
  }
748
856
  if (addCrit != null && addCrit != undefined) {
749
857
  if (addCrit.length != 0) {
750
- for (var i = 0; i < addCrit.length; i++) {
858
+ for (let i = 0; i < addCrit.length; i++) {
751
859
  arrCrit.push(addCrit[i]);
752
860
  }
753
861
  }
754
862
  else if (this.searchInput.addCritInput != null || this.searchInput.addCritInput != undefined) {
755
- for (var i = 0; i < this.searchInput.addCritInput.length; i++) {
863
+ for (let i = 0; i < this.searchInput.addCritInput.length; i++) {
756
864
  arrCrit.push(this.searchInput.addCritInput[i]);
757
865
  }
758
866
  }
759
867
  }
760
868
  else if (this.searchInput.addCritInput != null || this.searchInput.addCritInput != undefined) {
761
- for (var i = 0; i < this.searchInput.addCritInput.length; i++) {
869
+ for (let i = 0; i < this.searchInput.addCritInput.length; i++) {
762
870
  arrCrit.push(this.searchInput.addCritInput[i]);
763
871
  }
764
872
  }
@@ -847,7 +955,7 @@ class UCSearchComponent {
847
955
  */
848
956
  exportAsXLSX() {
849
957
  /** @type {?} */
850
- var request = new RequestCriteriaObj();
958
+ let request = new RequestCriteriaObj();
851
959
  request.pageNo = 1;
852
960
  request.rowPerPage = 9999;
853
961
  request.orderBy = null;
@@ -881,17 +989,17 @@ class UCSearchComponent {
881
989
  */
882
990
  onChangeEvent(optValue, afFilter) {
883
991
  /** @type {?} */
884
- var jsonComp = this.configuration.component;
885
- for (var i = 0; i < afFilter.affectedFilter.length; i++) {
886
- for (var j = 0; j < jsonComp.length; j++) {
992
+ let jsonComp = this.configuration.component;
993
+ for (let i = 0; i < afFilter.affectedFilter.length; i++) {
994
+ for (let j = 0; j < jsonComp.length; j++) {
887
995
  if (jsonComp[j].name == afFilter.affectedFilter[i]) {
888
996
  /** @type {?} */
889
- var request = new RequestCriteriaObj();
997
+ let request = new RequestCriteriaObj();
890
998
  /** @type {?} */
891
- var arrayCrit = new Array();
999
+ let arrayCrit = new Array();
892
1000
  if (optValue != "all" && optValue != "one") {
893
1001
  /** @type {?} */
894
- var critObj = new CriteriaObj();
1002
+ let critObj = new CriteriaObj();
895
1003
  critObj.DataType = afFilter.datatype;
896
1004
  if (afFilter.filterPropName != undefined || afFilter.filterPropName != "") {
897
1005
  request[afFilter.filterPropName] = optValue;
@@ -957,10 +1065,10 @@ class UCSearchComponent {
957
1065
  */
958
1066
  switchCase(condList) {
959
1067
  /** @type {?} */
960
- var condition = false;
961
- for (var i = 0; i < condList.conditions.length; i++) {
1068
+ let condition = false;
1069
+ for (let i = 0; i < condList.conditions.length; i++) {
962
1070
  /** @type {?} */
963
- var idx = this.searchInput.switchValue.findIndex((/**
1071
+ let idx = this.searchInput.switchValue.findIndex((/**
964
1072
  * @param {?} x
965
1073
  * @return {?}
966
1074
  */
@@ -977,7 +1085,7 @@ class UCSearchComponent {
977
1085
  }
978
1086
  else {
979
1087
  /** @type {?} */
980
- var username = localStorage.getItem("Username");
1088
+ let username = localStorage.getItem("Username");
981
1089
  if (this.searchInput.switchValue[idx].value == username) {
982
1090
  condition = true;
983
1091
  }
@@ -999,7 +1107,7 @@ class UCSearchComponent {
999
1107
  }
1000
1108
  else {
1001
1109
  /** @type {?} */
1002
- var username = localStorage.getItem("Username");
1110
+ let username = localStorage.getItem("Username");
1003
1111
  if (this.searchInput.switchValue[idx].value != username) {
1004
1112
  condition = true;
1005
1113
  }
@@ -1021,7 +1129,7 @@ class UCSearchComponent {
1021
1129
  }
1022
1130
  else {
1023
1131
  /** @type {?} */
1024
- var username = localStorage.getItem("Username");
1132
+ let username = localStorage.getItem("Username");
1025
1133
  if (this.searchInput.switchValue[idx].value > username) {
1026
1134
  condition = true;
1027
1135
  }
@@ -1043,7 +1151,7 @@ class UCSearchComponent {
1043
1151
  }
1044
1152
  else {
1045
1153
  /** @type {?} */
1046
- var username = localStorage.getItem("Username");
1154
+ let username = localStorage.getItem("Username");
1047
1155
  if (this.searchInput.switchValue[idx].value >= username) {
1048
1156
  condition = true;
1049
1157
  }
@@ -1065,7 +1173,7 @@ class UCSearchComponent {
1065
1173
  }
1066
1174
  else {
1067
1175
  /** @type {?} */
1068
- var username = localStorage.getItem("Username");
1176
+ let username = localStorage.getItem("Username");
1069
1177
  if (this.searchInput.switchValue[idx].value < username) {
1070
1178
  condition = true;
1071
1179
  }
@@ -1087,7 +1195,7 @@ class UCSearchComponent {
1087
1195
  }
1088
1196
  else {
1089
1197
  /** @type {?} */
1090
- var username = localStorage.getItem("Username");
1198
+ let username = localStorage.getItem("Username");
1091
1199
  if (this.searchInput.switchValue[idx].value <= username) {
1092
1200
  condition = true;
1093
1201
  }
@@ -1111,13 +1219,13 @@ class UCSearchComponent {
1111
1219
  chipperText == undefined || chipperText.trim() == '')
1112
1220
  return chipperText;
1113
1221
  /** @type {?} */
1114
- var chipperKeyArr = enc.Utf8.parse(chipperKey);
1222
+ let chipperKeyArr = enc.Utf8.parse(chipperKey);
1115
1223
  /** @type {?} */
1116
- var iv = lib.WordArray.create([0x00, 0x00, 0x00, 0x00]);
1224
+ let iv = lib.WordArray.create([0x00, 0x00, 0x00, 0x00]);
1117
1225
  /** @type {?} */
1118
- var decrypted = AES.decrypt(chipperText, chipperKeyArr, { iv: iv });
1226
+ let decrypted = AES.decrypt(chipperText, chipperKeyArr, { iv: iv });
1119
1227
  /** @type {?} */
1120
- var plainText = decrypted.toString(enc.Utf8);
1228
+ let plainText = decrypted.toString(enc.Utf8);
1121
1229
  return plainText;
1122
1230
  }
1123
1231
  /**
@@ -1212,7 +1320,7 @@ class UCSearchComponent {
1212
1320
  UCSearchComponent.decorators = [
1213
1321
  { type: Component, args: [{
1214
1322
  selector: 'lib-UCSearch',
1215
- template: "<!-- Basic form layout section start -->\r\n<section id=\"horizontal-form-layouts\">\r\n <div class=\"row text-left\">\r\n <div class=\"col-md-12\">\r\n <div class=\"card\">\r\n <div class=\"pl-3 mb-2 mt-2\" *ngIf=\"configuration?.title != undefined && configuration?.title != ''\">\r\n <h4 class=\"card-title ucSearch-title\" translate>{{configuration.title}}</h4>\r\n </div>\r\n <div class=\"card-body\">\r\n <div class=\"px-3\">\r\n <form class=\"form form-horizontal\" id=\"formSearch\" #formIdSearch #enjiForm=\"ngForm\"\r\n (ngSubmit)=\"enjiForm.valid && searchClick()\">\r\n <div class=\"form-body\">\r\n <h4 class=\"form-section font-weight-bold\">\r\n <div (click)=\"changeState()\" class=\"btn no-padding cursor-pointer flip\">\r\n <i class=\"fa\" style=\"font-size: 15px; margin: 0px 0px 5px -15px;\"\r\n [ngClass]=\"isHidden ? 'fa-chevron-right' : 'fa-chevron-down'\"></i>\r\n </div>\r\n <span\r\n *ngIf=\"configuration?.sectionTitle != undefined && configuration?.sectionTitle != ''; then inputSectionTitle else defaultSectionTitle\"></span>\r\n <ng-template #inputSectionTitle>\r\n {{configuration?.sectionTitle}}\r\n </ng-template>\r\n <ng-template #defaultSectionTitle>\r\n Paging\r\n </ng-template>\r\n </h4>\r\n <!-- Ini Digunakan untuk Generate Dynamic Component -->\r\n <!-- [hidden]=\"isHidden\" -->\r\n <div class=\"panel-active\" [@changeDivSize]=currentState>\r\n <div class=\"row\">\r\n <div class=\"col-md-6 form-group\" *ngFor=\"let question of configuration?.component; let i = index\">\r\n <div class=\"col-md-12\">\r\n <div class=\"row\">\r\n <label class=\"col-md-5 no-padding\" for=\"{{question.id}}\"\r\n [ngClass]=\"{'adins-required-label': (question.isRequired || (question?.ddlType != undefined && question.ddlType == 'one'))}\"\r\n translate>{{question.label}}</label>\r\n <div class=\"col-md-7 no-padding\">\r\n <div *ngIf=\"question.type=='textbox'\">\r\n <input type=\"text\" id=\"{{question.id}}\" class=\"form-control search-form-control\"\r\n [ngModel]=\"question.value\" [required]=\"question.isRequired\" name=\"{{question.name}}\"\r\n attr.data-crit-datatable=\"{{question.isCriteriaDataTable}}\"\r\n attr.data-required=\"{{question.isRequired}}\" value=\"{{question.value}}\"\r\n (keyup.enter)=\"searchClick()\" attr.data-type=\"{{question.datatype}}\"\r\n attr.data-name=\"{{question.name}}\" attr.data-restriction=\"{{question.restriction}}\"\r\n attr.label=\"{{question.label}}\"\r\n [ngClass]=\"{ 'is-invalid':(enjiForm.submitted || enjiForm.form.controls[question.name]?.touched || enjiForm.form.controls[question.name]?.dirty) && enjiForm.form.controls[question.name]?.invalid }\">\r\n </div>\r\n <div *ngIf=\"question.type=='textarea'\">\r\n <textarea type=\"text\" id=\"{{question.id}}\" class=\"form-control search-form-control\"\r\n [ngModel]=\"question.value\" [required]=\"question.isRequired\" name=\"{{question.name}}\"\r\n attr.data-required=\"{{question.isRequired}}\" attr.data-type=\"{{question.datatype}}\"\r\n attr.data-name=\"{{question.name}}\" value=\"{{question.value}}\"\r\n attr.label=\"{{question.label}}\"\r\n [ngClass]=\"{ 'is-invalid':(enjiForm.submitted || enjiForm.form.controls[question.name]?.touched || enjiForm.form.controls[question.name]?.dirty) && enjiForm.form.controls[question.name]?.invalid }\"></textarea>\r\n </div>\r\n <div *ngIf=\"question.type=='numeric'\">\r\n <input type=\"number\" id=\"{{question.id}}\" (focus)=\"transformToDecimal($event)\"\r\n (blur)=\"transformAmount($event)\" class=\"form-control search-form-control\"\r\n [ngModel]=\"question.value\" [required]=\"question.isRequired\" name=\"{{question.name+[i]}}\"\r\n attr.data-required=\"{{question.isRequired}}\" value=\"{{question.value}}\"\r\n (keyup.enter)=\"searchClick()\" attr.data-restriction=\"{{question.restriction}}\"\r\n attr.data-type=\"{{question.datatype}}\" attr.data-name=\"{{question.name}}\"\r\n attr.label=\"{{question.label}}\"\r\n [ngClass]=\"{ 'is-invalid':(enjiForm.submitted || enjiForm.form.controls[question.name+[i]]?.touched || enjiForm.form.controls[question.name+[i]]?.dirty) && enjiForm.form.controls[question.name+[i]]?.invalid }\">\r\n </div>\r\n <div *ngIf=\"question.type=='currency'\">\r\n <div *ngIf=\"question?.isCustom != undefined && question?.isCustom\">\r\n <input type=\"\" id=\"{{question.id}}\" class=\"form-control search-form-control\"\r\n [required]=\"question.isRequired\" name=\"{{question.name}}\"\r\n (keyup.enter)=\"searchClick()\" attr.data-restriction=\"{{question.restriction}}\"\r\n attr.data-type=\"{{question.datatype}}\" attr.data-name=\"{{question.name}}\"\r\n attr.data-required=\"{{question.isRequired}}\" currencyMask [ngModel]=\"question.value\"\r\n [(ngModel)]=\"question.value\" [ngModelOptions]=\"{standalone: true}\"\r\n attr.label=\"{{question.label}}\"\r\n [options]=\"{ thousands: question.thousands, decimal: question.decimal, align: question.align, allowNegative: question.allowNegative, allowZero: question.allowZero, precision: question.precision, nullable: question.nullable }\"\r\n [ngClass]=\"{ 'is-invalid':(enjiForm.submitted || enjiForm.form.controls[question.name]?.touched || enjiForm.form.controls[question.name]?.dirty) && enjiForm.form.controls[question.name]?.invalid }\">\r\n </div>\r\n <div *ngIf=\"question?.isCustom == undefined || !question?.isCustom\">\r\n <input type=\"text\" id=\"{{question.id}}\" class=\"form-control search-form-control\"\r\n [required]=\"question.isRequired\" name=\"{{question.name}}\"\r\n (keyup.enter)=\"searchClick()\" attr.data-restriction=\"{{question.restriction}}\"\r\n attr.data-type=\"{{question.datatype}}\" attr.data-name=\"{{question.name}}\"\r\n attr.data-required=\"{{question.isRequired}}\" currencyMask [ngModel]=\"question.value\"\r\n [(ngModel)]=\"question.value\" [ngModelOptions]=\"{standalone: true}\"\r\n attr.label=\"{{question.label}}\"\r\n [options]=\"{ thousands: ',', decimal: '.', align: 'right', allowNegative: false, allowZero:true, precision: 2, nullable: false }\"\r\n [ngClass]=\"{ 'is-invalid':(enjiForm.submitted || enjiForm.form.controls[question.name]?.touched || enjiForm.form.controls[question.name]?.dirty) && enjiForm.form.controls[question.name]?.invalid }\">\r\n </div>\r\n </div>\r\n\r\n <!-- End Hardcode Lookup didalem-->\r\n <div *ngIf=\"question.type=='datepicker'\">\r\n <input type=\"{{question.isTime ? 'datetime-local' : 'date'}}\" id=\"{{question.id}}\"\r\n class=\"form-control search-form-control btn-lookup\" name=\"{{question.name+[i]}}\"\r\n [ngModel]=\"question.value\" [required]=\"question.isRequired\"\r\n attr.data-required=\"{{question.isRequired}}\" value=\"{{question.value}}\"\r\n attr.data-type=\"{{question.datatype}}\" attr.data-name=\"{{question.name}}\" attr.data-crit-datatable=\"{{question.isCriteriaDataTable}}\"\r\n (keyup.enter)=\"searchClick()\" attr.data-restriction=\"{{question.restriction}}\"\r\n attr.label=\"{{question.label}}\" min=\"{{question.minDate | date:'yyyy-MM-dd'}}\"\r\n max=\"{{question.maxDate | date:'yyyy-MM-dd'}}\" (focusout)=\"checkInputDate(question)\"\r\n [ngClass]=\"{ 'is-invalid':(enjiForm.submitted || enjiForm.form.controls[question.name+[i]]?.touched || enjiForm.form.controls[question.name+[i]]?.dirty) && enjiForm.form.controls[question.name+[i]]?.invalid }\">\r\n </div>\r\n <div *ngIf=\"question.type == 'taskDefinitionKey' || question.type == 'officeRoleCodes'\">\r\n <select name=\"{{question.name}}\" attr.data-required=\"{{question.isRequired}}\"\r\n [required]=\"question.isRequired\" class=\"form-control search-form-control\"\r\n attr.query-in=\"{{question.isQueryIn}}\" attr.data-type=\"{{question.datatype}}\"\r\n attr.label=\"{{question.label}}\" [hidden]=\"question?.itemsUrl?.length == 1\"\r\n (change)=\"question.type == 'taskDefinitionKey' ? SetProcessKey(i) : SetRoleOfficeCodes(i)\"\r\n [ngClass]=\"{ 'is-invalid':(enjiForm.submitted || enjiForm.form.controls[question.name]?.touched || enjiForm.form.controls[question.name]?.dirty) && enjiForm.form.controls[question.name]?.invalid }\">\r\n <option *ngIf=\"question.ddlType == 'one' && question?.itemsUrl?.length != 1\"\r\n value=\"one\">Select One</option>\r\n <option\r\n *ngIf=\"(question?.ddlType == undefined || question.ddlType == 'all') && question?.itemsUrl?.length != 1\"\r\n value=\"all\">All</option>\r\n <option *ngFor=\"let item of question?.itemsUrl\" value=\"{{item.Key}}\">\r\n {{item.Value}}\r\n </option>\r\n </select>\r\n <label *ngIf=\"question?.itemsUrl?.length == 1\">{{question.itemsUrl[0].Value}}</label>\r\n </div>\r\n <div *ngIf=\"question.type=='dropdown'\">\r\n <select name=\"{{question.name}}\" attr.data-required=\"{{question.isRequired}}\"\r\n [(ngModel)]=\"question.value\" [required]=\"question.isRequired\"\r\n class=\"form-control search-form-control\" attr.query-in=\"{{question.isQueryIn}}\"\r\n attr.data-type=\"{{question.datatype}}\" attr.data-name=\"{{question.name}}\"\r\n attr.label=\"{{question.label}}\"\r\n [hidden]=\"!question.isFromURL ? question?.items?.length == 1 : question?.itemsUrl?.length == 1\"\r\n (change)=\"question.isEvent ? onChangeEvent($event.target.value, question) : ''\"\r\n [ngClass]=\"{ 'is-invalid':(enjiForm.submitted || enjiForm.form.controls[question.name]?.touched || enjiForm.form.controls[question.name]?.dirty) && enjiForm.form.controls[question.name]?.invalid }\">\r\n <option\r\n *ngIf=\"question.ddlType == 'one' && (!question.isFromURL ? question?.items?.length != 1 : question?.itemsUrl?.length != 1)\"\r\n value=\"one\">\r\n Select One</option>\r\n <option\r\n *ngIf=\"(question?.ddlType == undefined || question.ddlType == 'all') && (!question.isFromURL ? question?.items?.length != 1 : question?.itemsUrl?.length != 1)\"\r\n value=\"all\">All</option>\r\n <option *ngFor=\"let item of !question.isFromURL ? question?.items : question?.itemsUrl\"\r\n value=\"{{!question.isFromURL ? item.key : item.Key}}\">\r\n {{!question.isFromURL ? item.value : item.Value}}\r\n </option>\r\n </select>\r\n <label\r\n *ngIf=\"!question.isFromURL ? question?.items?.length == 1 : question?.itemsUrl?.length == 1\">{{!question.isFromURL\r\n ? question.items[0].value : question.itemsUrl[0].Value}}</label>\r\n </div>\r\n <div *ngIf=\"question.type=='claim'\">\r\n <select name=\"{{'claim'+[i]}}\" class=\"form-control search-form-control\"\r\n attr.data-type=\"{{'text'}}\" attr.data-crit-datatable=\"{{question.isCriteriaDataTable}}\"\r\n attr.data-name=\"{{'Assignee'}}\" [hidden]=\"ClaimList?.length == 1\"\r\n [ngClass]=\"{ 'is-invalid':(enjiForm.submitted || enjiForm.form.controls['claim'+[i]]?.touched || enjiForm.form.controls['claim'+[i]]?.dirty) && enjiForm.form.controls['claim'+[i]]?.invalid }\">\r\n <option *ngIf=\"question.ddlType == 'one' && ClaimList?.length != 1\" value=\"one\">Select\r\n One</option>\r\n <option\r\n *ngIf=\"(question?.ddlType == undefined || question.ddlType == 'all') && ClaimList?.length != 1\"\r\n value=\"all\">All</option>\r\n <option *ngFor=\"let item of ClaimList\" value=\"{{item.Key}}\">\r\n {{item.Value}}\r\n </option>\r\n </select>\r\n </div>\r\n <lib-uc-show-errors *ngIf=\"question.type!='datepicker'\"\r\n [control]=\"enjiForm.form.controls[question.name]\" [submit]=\"enjiForm.submitted\">\r\n </lib-uc-show-errors>\r\n <lib-uc-show-errors *ngIf=\"question.type=='datepicker'\"\r\n [control]=\"enjiForm.form.controls[question.name+[i]]\" [submit]=\"enjiForm.submitted\">\r\n </lib-uc-show-errors>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-6 form-group\" *ngIf=\"(isReport != undefined && isReport)\">\r\n <div class=\"col-md-12\">\r\n <div class=\"row\">\r\n <label class=\"col-md-5 no-padding\" translate>Report Type</label>\r\n <div class=\"col-md-7 no-padding\">\r\n <select name=\"ExportType\" [(ngModel)]=\"ExportType\" class=\"form-control search-form-control\"\r\n attr.data-type=\"text\">\r\n <option *ngFor=\"let item of ExportTypeList\" [value]=\"item.key\">{{item.value}}</option>\r\n </select>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12 no-padding\">\r\n <div class=\"form-actions right\">\r\n <button *ngIf=\"exportData == true\" type=\"button\" (click)=\"exportAsXLSX()\"\r\n class=\"btn btn-raised btn-success mr-1\" translate>\r\n <i class=\"fa ft-download\"></i>&nbsp;<span translate>Export Excel</span>\r\n </button>\r\n <button type=\"button\" (click)=\"reset()\" class=\"btn btn-raised btn-warning mr-1\" translate>\r\n <i class=\"fa fa-times\"></i>&nbsp;<span translate>Reset</span>\r\n </button>\r\n <button *ngIf=\"(isReport == undefined || !isReport)\" type=\"submit\"\r\n class=\"btn btn-raised btn-primary\" #UCSearchClick>\r\n <i class=\"fa fa-search\"></i>&nbsp;<span translate>Search</span>\r\n </button>\r\n <button *ngIf=\"(isReport != undefined && isReport)\" type=\"button\" (click)=\"GenerateReport()\"\r\n class=\"btn btn-raised btn-primary\">\r\n <i class=\"fa ft-download\"></i>&nbsp;<span translate>Generate Report</span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n<br>\r\n<!-- // Basic form layout section end -->",
1323
+ template: "<!-- Basic form layout section start -->\r\n<section id=\"horizontal-form-layouts\">\r\n <div class=\"row text-left\">\r\n <div class=\"col-md-12\">\r\n <div class=\"card\">\r\n <div class=\"pl-3 mb-2 mt-2\" *ngIf=\"configuration?.title != undefined && configuration?.title != ''\">\r\n <h4 class=\"card-title ucSearch-title\" translate>{{configuration.title}}</h4>\r\n </div>\r\n <div class=\"card-body\">\r\n <div class=\"px-3\">\r\n <form class=\"form form-horizontal\" id=\"formSearch\" #formIdSearch #enjiForm=\"ngForm\"\r\n (ngSubmit)=\"enjiForm.valid && searchClick()\">\r\n <div class=\"form-body\">\r\n <h4 class=\"form-section font-weight-bold\">\r\n <div (click)=\"changeState()\" class=\"btn no-padding cursor-pointer flip\">\r\n <i class=\"fa\" style=\"font-size: 15px; margin: 0px 0px 5px -15px;\"\r\n [ngClass]=\"isHidden ? 'fa-chevron-right' : 'fa-chevron-down'\"></i>\r\n </div>\r\n <span\r\n *ngIf=\"configuration?.sectionTitle != undefined && configuration?.sectionTitle != ''; then inputSectionTitle else defaultSectionTitle\"></span>\r\n <ng-template #inputSectionTitle>\r\n {{configuration?.sectionTitle}}\r\n </ng-template>\r\n <ng-template #defaultSectionTitle>\r\n Paging\r\n </ng-template>\r\n </h4>\r\n <!-- Ini Digunakan untuk Generate Dynamic Component -->\r\n <!-- [hidden]=\"isHidden\" -->\r\n <div class=\"panel-active\" [@changeDivSize]=currentState>\r\n <div class=\"row\">\r\n <div class=\"col-md-6 form-group\" *ngFor=\"let question of configuration?.component; let i = index\">\r\n <div class=\"col-md-12\">\r\n <div class=\"row\">\r\n <label class=\"col-md-5 no-padding\" for=\"{{question.id}}\"\r\n [ngClass]=\"{'adins-required-label': (question.isRequired || (question?.ddlType != undefined && question.ddlType == 'one'))}\"\r\n translate>{{question.label}}</label>\r\n <div class=\"col-md-7 no-padding\">\r\n <div *ngIf=\"question.type=='textbox'\">\r\n <input type=\"text\" id=\"{{question.id}}\" class=\"form-control search-form-control\"\r\n [ngModel]=\"question.value\" [required]=\"question.isRequired\" name=\"{{question.name}}\"\r\n attr.data-crit-datatable=\"{{question.isCriteriaDataTable}}\"\r\n attr.data-required=\"{{question.isRequired}}\" value=\"{{question.value}}\"\r\n (keyup.enter)=\"searchClick()\" attr.data-type=\"{{question.datatype}}\"\r\n attr.data-name=\"{{question.name}}\" attr.data-restriction=\"{{question.restriction}}\"\r\n attr.label=\"{{question.label}}\"\r\n [ngClass]=\"{ 'is-invalid':(enjiForm.submitted || enjiForm.form.controls[question.name]?.touched || enjiForm.form.controls[question.name]?.dirty) && enjiForm.form.controls[question.name]?.invalid }\">\r\n </div>\r\n <div *ngIf=\"question.type=='textarea'\">\r\n <textarea type=\"text\" id=\"{{question.id}}\" class=\"form-control search-form-control\"\r\n [ngModel]=\"question.value\" [required]=\"question.isRequired\" name=\"{{question.name}}\"\r\n attr.data-required=\"{{question.isRequired}}\" attr.data-type=\"{{question.datatype}}\"\r\n attr.data-name=\"{{question.name}}\" value=\"{{question.value}}\"\r\n attr.label=\"{{question.label}}\"\r\n [ngClass]=\"{ 'is-invalid':(enjiForm.submitted || enjiForm.form.controls[question.name]?.touched || enjiForm.form.controls[question.name]?.dirty) && enjiForm.form.controls[question.name]?.invalid }\"></textarea>\r\n </div>\r\n <div *ngIf=\"question.type=='numeric'\">\r\n <input type=\"number\" id=\"{{question.id}}\" (focus)=\"transformToDecimal($event)\"\r\n (blur)=\"transformAmount($event)\" class=\"form-control search-form-control\"\r\n [ngModel]=\"question.value\" [required]=\"question.isRequired\" name=\"{{question.name+[i]}}\"\r\n attr.data-required=\"{{question.isRequired}}\" value=\"{{question.value}}\"\r\n (keyup.enter)=\"searchClick()\" attr.data-restriction=\"{{question.restriction}}\"\r\n attr.data-type=\"{{question.datatype}}\" attr.data-name=\"{{question.name}}\"\r\n attr.label=\"{{question.label}}\"\r\n [ngClass]=\"{ 'is-invalid':(enjiForm.submitted || enjiForm.form.controls[question.name+[i]]?.touched || enjiForm.form.controls[question.name+[i]]?.dirty) && enjiForm.form.controls[question.name+[i]]?.invalid }\">\r\n </div>\r\n <div *ngIf=\"question.type=='currency'\">\r\n <div *ngIf=\"question?.isCustom != undefined && question?.isCustom\">\r\n <input type=\"\" id=\"{{question.id}}\" class=\"form-control search-form-control\"\r\n [required]=\"question.isRequired\" name=\"{{question.name}}\"\r\n (keyup.enter)=\"searchClick()\" attr.data-restriction=\"{{question.restriction}}\"\r\n attr.data-type=\"{{question.datatype}}\" attr.data-name=\"{{question.name}}\"\r\n attr.data-required=\"{{question.isRequired}}\" currencyMask [ngModel]=\"question.value\"\r\n [(ngModel)]=\"question.value\" [ngModelOptions]=\"{standalone: true}\"\r\n attr.label=\"{{question.label}}\"\r\n [options]=\"{ thousands: question.thousands, decimal: question.decimal, align: question.align, allowNegative: question.allowNegative, allowZero: question.allowZero, precision: question.precision, nullable: question.nullable }\"\r\n [ngClass]=\"{ 'is-invalid':(enjiForm.submitted || enjiForm.form.controls[question.name]?.touched || enjiForm.form.controls[question.name]?.dirty) && enjiForm.form.controls[question.name]?.invalid }\">\r\n </div>\r\n <div *ngIf=\"question?.isCustom == undefined || !question?.isCustom\">\r\n <input type=\"text\" id=\"{{question.id}}\" class=\"form-control search-form-control\"\r\n [required]=\"question.isRequired\" name=\"{{question.name}}\"\r\n (keyup.enter)=\"searchClick()\" attr.data-restriction=\"{{question.restriction}}\"\r\n attr.data-type=\"{{question.datatype}}\" attr.data-name=\"{{question.name}}\"\r\n attr.data-required=\"{{question.isRequired}}\" currencyMask [ngModel]=\"question.value\"\r\n [(ngModel)]=\"question.value\" [ngModelOptions]=\"{standalone: true}\"\r\n attr.label=\"{{question.label}}\"\r\n [options]=\"{ thousands: ',', decimal: '.', align: 'right', allowNegative: false, allowZero:true, precision: 2, nullable: false }\"\r\n [ngClass]=\"{ 'is-invalid':(enjiForm.submitted || enjiForm.form.controls[question.name]?.touched || enjiForm.form.controls[question.name]?.dirty) && enjiForm.form.controls[question.name]?.invalid }\">\r\n </div>\r\n </div>\r\n\r\n <!-- End Hardcode Lookup didalem-->\r\n <div *ngIf=\"question.type=='datepicker'\">\r\n <input type=\"{{question.isTime ? 'datetime-local' : 'date'}}\" id=\"{{question.id}}\"\r\n class=\"form-control search-form-control btn-lookup\" name=\"{{question.name+[i]}}\"\r\n [ngModel]=\"question.value\" [required]=\"question.isRequired\"\r\n attr.data-required=\"{{question.isRequired}}\" value=\"{{question.value}}\"\r\n attr.data-type=\"{{question.datatype}}\" attr.data-name=\"{{question.name}}\" attr.data-crit-datatable=\"{{question.isCriteriaDataTable}}\"\r\n (keyup.enter)=\"searchClick()\" attr.data-restriction=\"{{question.restriction}}\"\r\n attr.label=\"{{question.label}}\" min=\"{{question.minDate | date:'yyyy-MM-dd'}}\"\r\n max=\"{{question.maxDate | date:'yyyy-MM-dd'}}\" (focusout)=\"checkInputDate(question)\"\r\n [ngClass]=\"{ 'is-invalid':(enjiForm.submitted || enjiForm.form.controls[question.name+[i]]?.touched || enjiForm.form.controls[question.name+[i]]?.dirty) && enjiForm.form.controls[question.name+[i]]?.invalid }\">\r\n </div>\r\n <div *ngIf=\"question.type == 'taskDefinitionKey' || question.type == 'officeRoleCodes'\">\r\n <select name=\"{{question.name}}\" attr.data-required=\"{{question.isRequired}}\"\r\n [required]=\"question.isRequired\" class=\"form-control search-form-control\"\r\n attr.query-in=\"{{question.isQueryIn}}\" attr.data-type=\"{{question.datatype}}\"\r\n attr.label=\"{{question.label}}\" [hidden]=\"question?.itemsUrl?.length == 1\"\r\n (change)=\"question.type == 'taskDefinitionKey' ? SetProcessKey(i) : SetRoleOfficeCodes(i)\"\r\n [ngClass]=\"{ 'is-invalid':(enjiForm.submitted || enjiForm.form.controls[question.name]?.touched || enjiForm.form.controls[question.name]?.dirty) && enjiForm.form.controls[question.name]?.invalid }\">\r\n <option *ngIf=\"question.ddlType == 'one' && question?.itemsUrl?.length != 1\"\r\n value=\"one\">Select One</option>\r\n <option\r\n *ngIf=\"(question?.ddlType == undefined || question.ddlType == 'all') && question?.itemsUrl?.length != 1\"\r\n value=\"all\">All</option>\r\n <option *ngFor=\"let item of question?.itemsUrl\" value=\"{{item.Key}}\">\r\n {{item.Value}}\r\n </option>\r\n </select>\r\n <label *ngIf=\"question?.itemsUrl?.length == 1\">{{question.itemsUrl[0].Value}}</label>\r\n </div>\r\n <div *ngIf=\"question.type=='dropdown'\">\r\n <select name=\"{{question.name}}\" attr.data-required=\"{{question.isRequired}}\"\r\n [(ngModel)]=\"question.value\" [required]=\"question.isRequired\"\r\n class=\"form-control search-form-control\" attr.query-in=\"{{question.isQueryIn}}\"\r\n attr.data-type=\"{{question.datatype}}\" attr.data-name=\"{{question.name}}\"\r\n attr.label=\"{{question.label}}\" attr.data-crit-datatable=\"{{question.isCriteriaDataTable}}\"\r\n [hidden]=\"!question.isFromURL ? question?.items?.length == 1 : question?.itemsUrl?.length == 1\"\r\n (change)=\"question.isEvent ? onChangeEvent($event.target.value, question) : ''\"\r\n [ngClass]=\"{ 'is-invalid':(enjiForm.submitted || enjiForm.form.controls[question.name]?.touched || enjiForm.form.controls[question.name]?.dirty) && enjiForm.form.controls[question.name]?.invalid }\">\r\n <option\r\n *ngIf=\"question.ddlType == 'one' && (!question.isFromURL ? question?.items?.length != 1 : question?.itemsUrl?.length != 1)\"\r\n value=\"one\">\r\n Select One</option>\r\n <option\r\n *ngIf=\"(question?.ddlType == undefined || question.ddlType == 'all') && (!question.isFromURL ? question?.items?.length != 1 : question?.itemsUrl?.length != 1)\"\r\n value=\"all\">All</option>\r\n <option *ngFor=\"let item of !question.isFromURL ? question?.items : question?.itemsUrl\"\r\n value=\"{{!question.isFromURL ? item.key : item.Key}}\">\r\n {{!question.isFromURL ? item.value : item.Value}}\r\n </option>\r\n </select>\r\n <label\r\n *ngIf=\"!question.isFromURL ? question?.items?.length == 1 : question?.itemsUrl?.length == 1\">{{!question.isFromURL\r\n ? question.items[0].value : question.itemsUrl[0].Value}}</label>\r\n </div>\r\n <div *ngIf=\"question.type=='claim'\">\r\n <select name=\"{{'claim'+[i]}}\" class=\"form-control search-form-control\"\r\n attr.data-type=\"{{'text'}}\" attr.data-crit-datatable=\"{{question.isCriteriaDataTable}}\"\r\n attr.data-name=\"{{'Assignee'}}\" [hidden]=\"ClaimList?.length == 1\"\r\n [ngClass]=\"{ 'is-invalid':(enjiForm.submitted || enjiForm.form.controls['claim'+[i]]?.touched || enjiForm.form.controls['claim'+[i]]?.dirty) && enjiForm.form.controls['claim'+[i]]?.invalid }\">\r\n <option *ngIf=\"question.ddlType == 'one' && ClaimList?.length != 1\" value=\"one\">Select\r\n One</option>\r\n <option\r\n *ngIf=\"(question?.ddlType == undefined || question.ddlType == 'all') && ClaimList?.length != 1\"\r\n value=\"all\">All</option>\r\n <option *ngFor=\"let item of ClaimList\" value=\"{{item.Key}}\">\r\n {{item.Value}}\r\n </option>\r\n </select>\r\n </div>\r\n <lib-uc-show-errors *ngIf=\"question.type!='datepicker'\"\r\n [control]=\"enjiForm.form.controls[question.name]\" [submit]=\"enjiForm.submitted\">\r\n </lib-uc-show-errors>\r\n <lib-uc-show-errors *ngIf=\"question.type=='datepicker'\"\r\n [control]=\"enjiForm.form.controls[question.name+[i]]\" [submit]=\"enjiForm.submitted\">\r\n </lib-uc-show-errors>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-6 form-group\" *ngIf=\"(isReport != undefined && isReport)\">\r\n <div class=\"col-md-12\">\r\n <div class=\"row\">\r\n <label class=\"col-md-5 no-padding\" translate>Report Type</label>\r\n <div class=\"col-md-7 no-padding\">\r\n <select name=\"ExportType\" [(ngModel)]=\"ExportType\" class=\"form-control search-form-control\"\r\n attr.data-type=\"text\">\r\n <option *ngFor=\"let item of ExportTypeList\" [value]=\"item.key\">{{item.value}}</option>\r\n </select>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12 no-padding\">\r\n <div class=\"form-actions right\">\r\n <button *ngIf=\"exportData == true\" type=\"button\" (click)=\"exportAsXLSX()\"\r\n class=\"btn btn-raised btn-success mr-1\" translate>\r\n <i class=\"fa ft-download\"></i>&nbsp;<span translate>Export Excel</span>\r\n </button>\r\n <button type=\"button\" (click)=\"reset()\" class=\"btn btn-raised btn-warning mr-1\" translate>\r\n <i class=\"fa fa-times\"></i>&nbsp;<span translate>Reset</span>\r\n </button>\r\n <button *ngIf=\"(isReport == undefined || !isReport)\" type=\"submit\"\r\n class=\"btn btn-raised btn-primary\" #UCSearchClick>\r\n <i class=\"fa fa-search\"></i>&nbsp;<span translate>Search</span>\r\n </button>\r\n <button *ngIf=\"(isReport != undefined && isReport)\" type=\"button\" (click)=\"GenerateReport()\"\r\n class=\"btn btn-raised btn-primary\">\r\n <i class=\"fa ft-download\"></i>&nbsp;<span translate>Generate Report</span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n<br>\r\n<!-- // Basic form layout section end -->",
1216
1324
  providers: [ExcelService, DatePipe],
1217
1325
  animations: [
1218
1326
  trigger('changeDivSize', [