ngx-render-material-forms 1.3.9 → 1.4.0

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.
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Injectable, Component, Input, ViewChild, ViewContainerRef, ViewChildren, EventEmitter, Output, forwardRef, Directive, Inject, Optional, NgModule } from '@angular/core';
3
3
  import * as i1$1 from '@angular/common/http';
4
- import { HttpClientModule } from '@angular/common/http';
4
+ import { HttpHeaders, HttpClientModule } from '@angular/common/http';
5
5
  import * as i1 from '@angular/common';
6
6
  import { CommonModule } from '@angular/common';
7
7
  import * as i2 from '@angular/forms';
@@ -82,6 +82,8 @@ import SelectBoxesComponent from 'formiojs/components/selectboxes/SelectBoxes.js
82
82
  import SelectComponent from 'formiojs/components/select/Select.js';
83
83
  import { Subject } from 'rxjs';
84
84
  import { debounceTime, distinctUntilChanged, takeUntil } from 'rxjs/operators';
85
+ import * as CryptoJS from 'crypto-js';
86
+ import { isNullOrUndefined } from 'util';
85
87
  import * as i9 from 'ngx-mat-select-search';
86
88
  import { NgxMatSelectSearchModule } from 'ngx-mat-select-search';
87
89
  import WellComponent from 'formiojs/components/well/Well.js';
@@ -2534,8 +2536,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImpor
2534
2536
  }] });
2535
2537
  SelectBoxesComponent.MaterialComponent = MaterialSelectBoxesComponent;
2536
2538
 
2537
- // import * as CryptoJS from 'crypto-js';
2538
- // import { isNullOrUndefined } from 'util';
2539
2539
  class MaterialSelectComponent extends MaterialComponent {
2540
2540
  constructor(element, ref, http) {
2541
2541
  super(element, ref);
@@ -2558,8 +2558,8 @@ class MaterialSelectComponent extends MaterialComponent {
2558
2558
  // Variable to hold the reference to the current panel element
2559
2559
  this.currentPanelElement = null;
2560
2560
  this.openCounter = 1;
2561
- // this.holy = CryptoJS.enc.Base64.parse('8F/2+T2NXqUBQERR12R4sw==');
2562
- // this.grail = CryptoJS.enc.Base64.parse('yE0CgQbYzK5wqeoKTVzhOQ==');
2561
+ this.holy = CryptoJS.enc.Base64.parse('8F/2+T2NXqUBQERR12R4sw==');
2562
+ this.grail = CryptoJS.enc.Base64.parse('yE0CgQbYzK5wqeoKTVzhOQ==');
2563
2563
  }
2564
2564
  onInputChange(event) {
2565
2565
  if (this.instance.component.key.toLowerCase() === 'vendorproductid' && event.target.value === '') {
@@ -2571,29 +2571,28 @@ class MaterialSelectComponent extends MaterialComponent {
2571
2571
  this.onClearAll();
2572
2572
  }
2573
2573
  }
2574
- // scrumble(msg) {
2575
- // if (!isNullOrUndefined(msg)) {
2576
- // var conceal = this.getcampaign(msg, this.holy, this.grail);
2577
- // var sha256 = CryptoJS.HmacSHA256(CryptoJS.enc.Base64.stringify(this.grail) + conceal.toString(), CryptoJS.enc.Base64.stringify(this.holy));
2578
- // var hashInBase64 = CryptoJS.enc.Base64.stringify(sha256);
2579
- // let keyValue = {
2580
- // "value": conceal.toString(),
2581
- // "mac": hashInBase64
2582
- // };
2583
- // var result = JSON.stringify(keyValue);
2584
- // var jumbled = CryptoJS.enc.Utf8.parse(result);
2585
- // return CryptoJS.enc.Base64.stringify(jumbled);
2586
- // }
2587
- // }
2588
- // getcampaign(data: any, holy: any, grail: any) {
2589
- // return CryptoJS.AES.encrypt(data.toString(), holy,
2590
- // {
2591
- // blockSize: 128,
2592
- // iv: grail,
2593
- // mode: CryptoJS.mode.CBC,
2594
- // padding: CryptoJS.pad.Pkcs7
2595
- // });
2596
- // }
2574
+ scrumble(msg) {
2575
+ if (!isNullOrUndefined(msg)) {
2576
+ var conceal = this.getcampaign(msg, this.holy, this.grail);
2577
+ var sha256 = CryptoJS.HmacSHA256(CryptoJS.enc.Base64.stringify(this.grail) + conceal.toString(), CryptoJS.enc.Base64.stringify(this.holy));
2578
+ var hashInBase64 = CryptoJS.enc.Base64.stringify(sha256);
2579
+ let keyValue = {
2580
+ "value": conceal.toString(),
2581
+ "mac": hashInBase64
2582
+ };
2583
+ var result = JSON.stringify(keyValue);
2584
+ var jumbled = CryptoJS.enc.Utf8.parse(result);
2585
+ return CryptoJS.enc.Base64.stringify(jumbled);
2586
+ }
2587
+ }
2588
+ getcampaign(data, holy, grail) {
2589
+ return CryptoJS.AES.encrypt(data.toString(), holy, {
2590
+ blockSize: 128,
2591
+ iv: grail,
2592
+ mode: CryptoJS.mode.CBC,
2593
+ padding: CryptoJS.pad.Pkcs7
2594
+ });
2595
+ }
2597
2596
  registerPanelScrollEvent(selectElem) {
2598
2597
  const panelElement = selectElem.panel.nativeElement;
2599
2598
  panelElement.addEventListener('scroll', this.onScroll.bind(this));
@@ -2632,78 +2631,74 @@ class MaterialSelectComponent extends MaterialComponent {
2632
2631
  return item ? item.value : null;
2633
2632
  }
2634
2633
  loadData(pageNumber, pageSize, searchQuery) {
2635
- // const paramsData = JSON.parse(localStorage.getItem('productPicker'));
2636
- // const includeDescription = this.getValueByKey(paramsData, 'includeDescription');
2637
- // const vendorId = this.getValueByKey(paramsData, 'vendorId');
2638
- // const onlyActive = this.getValueByKey(paramsData, 'onlyActive');
2639
- // var currentUser = JSON.parse(localStorage.getItem('currentUser'));
2640
- // let headers;
2641
- // if (currentUser && currentUser.Tokens && currentUser.Tokens.AccessToken) {
2642
- // var accessToken = currentUser.Tokens.AccessToken;
2643
- // headers = new HttpHeaders({
2644
- // 'Content-Type': 'application/json',
2645
- // 'Authorization': 'Bearer ' + accessToken
2646
- // });
2647
- // } else {
2648
- // console.error('User not authenticated or tokens missing.');
2649
- // }
2650
- // const envendorId = this.scrumble(vendorId)
2651
- // const enpageNumber = this.scrumble(pageNumber)
2652
- // const enpageSize = this.scrumble(pageSize);
2653
- // const ensearchQuery = this.scrumble(searchQuery);
2654
- // let enactive = this.scrumble(onlyActive);
2655
- // //Check if enactive is undefined, null, or blank
2656
- // if (enactive === undefined || enactive === null || enactive === '') {
2657
- // enactive = this.scrumble(true); // Set default value to true
2658
- // }
2659
- // // Scrumble and handle the includeDescription parameter
2660
- // let endescription = this.scrumble(includeDescription);
2661
- // if (!endescription) {
2662
- // endescription = this.scrumble(false); // Set to 'false' if undefined, null, or blank
2663
- // }
2664
- // const baseUrlMapping = {
2665
- // 'localhost': 'http://localhost:58504',
2666
- // 'lincoln.vartopia.com': 'https://lincoln-api.vartopia.com',
2667
- // 'stage.vartopia.com': 'https://stage-api.vartopia.com',
2668
- // 'my.vartopia.com': 'https://reagan-api.vartopia.com',
2669
- // 'jackson.vartopia.com': 'https://jackson-api.vartopia.com'
2670
- // };
2671
- // // Get the current hostname
2672
- // const hostname = window.location.hostname;
2673
- // const baseApiUrl = baseUrlMapping[hostname] || null;
2674
- // interface VendorProductsResponse {
2675
- // code: number;
2676
- // data: any;
2677
- // message: string;
2678
- // statusCode: number;
2679
- // }
2680
- // this.http.get<VendorProductsResponse>(`${baseApiUrl}/api/VendorFormBuilder/GetVendorProducts?vendorId=${envendorId}&pageNumber=${enpageNumber}&pageSize=${enpageSize}&search=${ensearchQuery}&onlyActive=${enactive}&includeDescription=${endescription}`, { headers }).subscribe(response => {
2681
- // if (response && response.code === 200) {
2682
- // if (this.instance.component.key.toLowerCase() === 'vendorproductid') {
2683
- // this.totalPages = response?.data?.totalPages;
2684
- // const data = response.data.dataSource;
2685
- // this.filteredOptionsLength = data.length;
2686
- // if (this.productList.length > 0) {
2687
- // data.map(item => {
2688
- // return item
2689
- // }).forEach(i => this.productList.push(i))
2690
- // } else {
2691
- // this.productList = data;
2692
- // }
2693
- // // Update filteredOptions with transformedData
2694
- // var allProductList = this.transformResponseData(this.productList);
2695
- // this.filteredOptions = Promise.resolve(allProductList);
2696
- // this.searching = false;
2697
- // this.productsloadingFlag = true;
2698
- // setTimeout(() => {
2699
- // const ele = this.selectElem.panel.nativeElement;
2700
- // const trackHeight = ele.scrollHeight - ele.offsetHeight
2701
- // const middlePosition = trackHeight / 2 - 50;
2702
- // ele.scrollTo({ top: middlePosition, behavior: 'auto' });
2703
- // }, 250);
2704
- // }
2705
- // }
2706
- // });
2634
+ const paramsData = JSON.parse(localStorage.getItem('productPicker'));
2635
+ const includeDescription = this.getValueByKey(paramsData, 'includeDescription');
2636
+ const vendorId = this.getValueByKey(paramsData, 'vendorId');
2637
+ const onlyActive = this.getValueByKey(paramsData, 'onlyActive');
2638
+ var currentUser = JSON.parse(localStorage.getItem('currentUser'));
2639
+ let headers;
2640
+ if (currentUser && currentUser.Tokens && currentUser.Tokens.AccessToken) {
2641
+ var accessToken = currentUser.Tokens.AccessToken;
2642
+ headers = new HttpHeaders({
2643
+ 'Content-Type': 'application/json',
2644
+ 'Authorization': 'Bearer ' + accessToken
2645
+ });
2646
+ }
2647
+ else {
2648
+ console.error('User not authenticated or tokens missing.');
2649
+ }
2650
+ const envendorId = this.scrumble(vendorId);
2651
+ const enpageNumber = this.scrumble(pageNumber);
2652
+ const enpageSize = this.scrumble(pageSize);
2653
+ const ensearchQuery = this.scrumble(searchQuery);
2654
+ let enactive = this.scrumble(onlyActive);
2655
+ //Check if enactive is undefined, null, or blank
2656
+ if (enactive === undefined || enactive === null || enactive === '') {
2657
+ enactive = this.scrumble(true); // Set default value to true
2658
+ }
2659
+ // Scrumble and handle the includeDescription parameter
2660
+ let endescription = this.scrumble(includeDescription);
2661
+ if (!endescription) {
2662
+ endescription = this.scrumble(false); // Set to 'false' if undefined, null, or blank
2663
+ }
2664
+ const baseUrlMapping = {
2665
+ 'localhost': 'http://localhost:58504',
2666
+ 'lincoln.vartopia.com': 'https://lincoln-api.vartopia.com',
2667
+ 'stage.vartopia.com': 'https://stage-api.vartopia.com',
2668
+ 'my.vartopia.com': 'https://reagan-api.vartopia.com',
2669
+ 'jackson.vartopia.com': 'https://jackson-api.vartopia.com'
2670
+ };
2671
+ // Get the current hostname
2672
+ const hostname = window.location.hostname;
2673
+ const baseApiUrl = baseUrlMapping[hostname] || null;
2674
+ this.http.get(`${baseApiUrl}/api/VendorFormBuilder/GetVendorProducts?vendorId=${envendorId}&pageNumber=${enpageNumber}&pageSize=${enpageSize}&search=${ensearchQuery}&onlyActive=${enactive}&includeDescription=${endescription}`, { headers }).subscribe(response => {
2675
+ if (response && response.code === 200) {
2676
+ if (this.instance.component.key.toLowerCase() === 'vendorproductid') {
2677
+ this.totalPages = response?.data?.totalPages;
2678
+ const data = response.data.dataSource;
2679
+ this.filteredOptionsLength = data.length;
2680
+ if (this.productList.length > 0) {
2681
+ data.map(item => {
2682
+ return item;
2683
+ }).forEach(i => this.productList.push(i));
2684
+ }
2685
+ else {
2686
+ this.productList = data;
2687
+ }
2688
+ // Update filteredOptions with transformedData
2689
+ var allProductList = this.transformResponseData(this.productList);
2690
+ this.filteredOptions = Promise.resolve(allProductList);
2691
+ this.searching = false;
2692
+ this.productsloadingFlag = true;
2693
+ setTimeout(() => {
2694
+ const ele = this.selectElem.panel.nativeElement;
2695
+ const trackHeight = ele.scrollHeight - ele.offsetHeight;
2696
+ const middlePosition = trackHeight / 2 - 50;
2697
+ ele.scrollTo({ top: middlePosition, behavior: 'auto' });
2698
+ }, 250);
2699
+ }
2700
+ }
2701
+ });
2707
2702
  }
2708
2703
  // Utility function to transform response data
2709
2704
  transformResponseData(data) {
@@ -3022,7 +3017,7 @@ class MaterialDataGridComponent extends MaterialNestedComponent {
3022
3017
  }
3023
3018
  }
3024
3019
  removeRow(index) {
3025
- let message = 'Are you sure you want to delete the first product?';
3020
+ let message = 'Are you sure you want to delete this product?';
3026
3021
  let showButton = true;
3027
3022
  if (this.dataSource?.data?.length === 1) {
3028
3023
  message = 'Please select atleast one product.';