@adins/ucsearch 2.2.24 → 2.2.25
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.
- package/README.md +5 -1
- package/adins-ucsearch.metadata.json +1 -1
- package/bundles/adins-ucsearch.umd.js +39 -30
- package/bundles/adins-ucsearch.umd.js.map +1 -1
- package/bundles/adins-ucsearch.umd.min.js +1 -1
- package/bundles/adins-ucsearch.umd.min.js.map +1 -1
- package/esm2015/lib/ucsearch.component.js +40 -31
- package/esm5/lib/ucsearch.component.js +40 -31
- package/fesm2015/adins-ucsearch.js +39 -30
- package/fesm2015/adins-ucsearch.js.map +1 -1
- package/fesm5/adins-ucsearch.js +39 -30
- package/fesm5/adins-ucsearch.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ng://@adins/ucsearch/lib/ucsearch.service.ts","ng://@adins/ucsearch/lib/model/AdInstConstant.ts","ng://@adins/ucsearch/lib/model/IntegrationObj.model.ts","ng://@adins/ucsearch/lib/model/InputSearchObj.Model.ts","ng://@adins/ucsearch/lib/model/CriteriaObj.model.ts","ng://@adins/ucsearch/lib/model/RequestCriteriaObj.model.ts","ng://@adins/ucsearch/lib/services/excel-service/excel-service.ts","ng://@adins/ucsearch/lib/model/KeyValueReport.model.ts","ng://@adins/ucsearch/lib/ucsearch.component.ts","ng://@adins/ucsearch/lib/ucsearch.module.ts"],"names":["UCSearchService","Injectable","args","providedIn","AdInsConstant","RestrictionBetween","RestrictionLike","RestrictionEq","RestrictionNeq","RestrictionGt","RestrictionGte","RestrictionLt","RestrictionLte","RestrictionIn","RestrictionNotIn","RestrictionOr","RestrictionOrNeq","RestrictionIsNull","RestrictionIsNotNull","RestrictionGTE","RestrictionLTE","showData","JoinTypeInner","JoinTypeLeft","IntegrationObj","this","baseUrl","apiPath","requestObj","Object","leftColumnToJoin","rightColumnToJoin","joinType","InputSearchObj","_url","enviromentUrl","title","apiQryPaging","arrCritObj","addCritInput","Array","ddlEnvironments","listEnvironments","whereValue","switchValue","integrationObj","isJoinExAPI","CriteriaObj","low","high","DataType","RequestCriteriaObj","includeCount","includeData","isLoading","queryString","rowVersion","ExcelService","prototype","exportAsExcelFile","json","excelFileName","worksheet","XLSX.utils","json_to_sheet","console","log","workbook","Sheets","data","SheetNames","excelBuffer","XLSX.write","bookType","type","saveAsExcelFile","buffer","fileName","Blob","FileSaver.saveAs","Date","getTime","ExportTypeConstant","EXP_TYPE_PDF","EXP_TYPE_XLS","EXP_TYPE_XLSX","EXP_TYPE_DOC","EXP_TYPE_DOCX","UCSearchComponent","defineProperty","content","searchForm","changeState","currentState","isHidden","ngOnInit","apiUrl","searchInput","arrCrit","js","_renderer2","createElement","text","appendChild","_document","body","value","cookieService","get","BisDt","DecryptString","initiateForm","_this","getJSON","subscribe","configuration","exportData","exportExcel","exportTypeList","undefined","length","ExportTypeList","ExportType","key","countForm","component","isDataLoaded","i","isFromURL","request","arrayCrit","criteriaObject","propName","criteriaPropName","criteriaPropValue","restriction","push","criteria","path","y","name","fullpath","environment","url","resolveObject","parseFloat","toLocaleString","includes","businessDate","operator","charAt","dateShow","tempMinus","split","numDay","parseInt","setDate","getDate","dateText","formatDate","toUpperCase","minDate","datePipe","transform","maxDate","setTimeout","j","isEvent","itemsUrl","onChangeEvent","Key","http","postJSON","post","searchClick","order","orderby","pageNow","search","pageSize","reset","resetForm","pageNo","rowPerPage","orderBy","addCrit","IsQueryIn","IsBreak","querystring","whereQuery","x","i_1","critObj","myForm","nativeElement","getAttribute","nodeName","ddl","options","selectedIndex","trim","label","toastr","warning","ddlList","listValue","replace","toString","response","qryPaging","result","emit","GenerateReport","genRpt","ElRef","lessThanFour","obj","crit","tempData","ReturnObject","transformAmount","element","formattedAmount","target","transformToDecimal","exportAsXLSX","ExcelData","excelService","error","optValue","afFilter","jsonComp","affectedFilter","datatype","filterPropName","switchCase","condList","condition","conditions","idx","findIndex","property","isUser","username","localStorage","getItem","chipperText","chipperKey","chipperKeyArr","CryptoJS.enc","Utf8","parse","iv","CryptoJS.lib","WordArray","create","CryptoJS.AES","decrypt","checkInputDate","minDateVal","maxDateVal","errorMessage","MinComponent","find","id","min","MaxComponent","max","dateWrong","Component","selector","template","providers","DatePipe","animations","trigger","state","style","height","opacity","overflow","transition","animate","HttpClient","Renderer2","Inject","DOCUMENT","ToastrService","CookieService","ViewChild","Input","Output","isReport","EventEmitter","amount","customCurrencyMaskConfig","align","allowNegative","allowZero","decimal","precision","prefix","suffix","thousands","nullable","inputMode","CurrencyMaskInputMode","NATURAL","UCSearchModule","NgModule","declarations","imports","CommonModule","FormsModule","UcShowErrorsModule","NgxCurrencyModule","forRoot","TranslateModule","forChild","exports"],"mappings":"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","sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UCSearchService {\r\n\r\n constructor() { }\r\n}\r\n","import { formatDate } from \"@angular/common\";\r\n\r\nexport class AdInsConstant {\r\n public static RestrictionBetween = \"Between\"\r\n public static RestrictionLike = \"Like\";\r\n public static RestrictionEq = \"Eq\";\r\n public static RestrictionNeq = \"NEQ\";\r\n public static RestrictionGt = \"GT\";\r\n public static RestrictionGte = \"GTE\";\r\n public static RestrictionLt = \"LT\";\r\n public static RestrictionLte = \"LTE\";\r\n public static RestrictionIn = \"IN\";\r\n public static RestrictionNotIn = \"NotIn\";\r\n public static RestrictionOr = \"Or\"; //pastikan ada 1 criteria sebelumnya\r\n public static RestrictionOrNeq = \"OrNeq\"; //pastikan ada 1 criteria sebelumnya\r\n public static RestrictionIsNull = \"isnull\";\r\n public static RestrictionIsNotNull = \"isnotnull\";\r\n public static RestrictionGTE = \"GTE\";\r\n public static RestrictionLTE = \"LTE\";\r\n public static showData = \"10,50,100\";\r\n public static JoinTypeInner = \"INNER\";\r\n public static JoinTypeLeft = \"LEFT\";\r\n}\r\n","import { AdInsConstant } from \"./AdInstConstant\";\r\nexport class IntegrationObj {\r\n baseUrl: string;\r\n apiPath: string;\r\n requestObj: Object;\r\n leftColumnToJoin: string;\r\n rightColumnToJoin: string;\r\n joinType: string;\r\n \r\n constructor() {\r\n this.baseUrl = \"\";\r\n this.apiPath = \"\";\r\n this.requestObj = new Object();\r\n this.leftColumnToJoin = \"\";\r\n this.rightColumnToJoin = \"\";\r\n this.joinType = AdInsConstant.JoinTypeInner;\r\n }\r\n}","import { CriteriaObj } from \"./CriteriaObj.model\";\r\nimport { IntegrationObj } from \"./IntegrationObj.model\";\r\n \r\nexport class InputSearchObj {\r\n _url: string;\r\n enviromentUrl: string;\r\n title: string;\r\n apiQryPaging: string;\r\n arrCritObj: any;\r\n addCritInput: Array<CriteriaObj>;\r\n ddlEnvironments: Array<EnviObj>;\r\n listEnvironments: Array<EnvisObj>;\r\n whereValue: Array<WhereValueObj>;\r\n switchValue: Array<SwitchValueObj>;\r\n integrationObj: IntegrationObj;\r\n isJoinExAPI: boolean;\r\n \r\n constructor() {\r\n this._url = \"\";\r\n this.enviromentUrl = \"\";\r\n this.title = \"\";\r\n this.apiQryPaging = \"\";\r\n this.arrCritObj = null;\r\n this.addCritInput = new Array<CriteriaObj>();\r\n this.ddlEnvironments = new Array<EnviObj>();\r\n this.listEnvironments = new Array<EnvisObj>();\r\n this.whereValue = new Array<WhereValueObj>();\r\n this.switchValue = new Array<SwitchValueObj>();\r\n this.integrationObj = new IntegrationObj();\r\n this.isJoinExAPI = false;\r\n }\r\n}\r\n\r\nexport class EnviObj {\r\n name: string;\r\n environment: string;\r\n\r\n constructor() {\r\n this.name = \"\";\r\n this.environment = \"\";\r\n }\r\n}\r\n\r\nexport class WhereValueObj {\r\n property: string;\r\n value: any;\r\n\r\n constructor() {\r\n this.property = \"\";\r\n }\r\n}\r\n\r\nexport class SwitchValueObj {\r\n property: string;\r\n value: any;\r\n\r\n constructor() {\r\n this.property = \"\";\r\n }\r\n}\r\n\r\nexport class EnvisObj {\r\n environment: string;\r\n url: string;\r\n\r\n constructor() {\r\n this.environment = \"\";\r\n this.url = \"\";\r\n }\r\n}","export class CriteriaObj { \r\n propName: string;\r\n restriction: string;\r\n value: string;\r\n low: number;\r\n high: number;\r\n DataType: string;\r\n listValue: Array<any>;\r\n\r\n constructor() {\r\n this.low = 0;\r\n this.high = 0;\r\n this.DataType = 'Text';\r\n }\r\n\r\n}","import { AdInsConstant } from \"./AdInstConstant\";\r\nimport { CriteriaObj } from \"./CriteriaObj.model\";\r\nimport { IntegrationObj } from \"./IntegrationObj.model\";\r\n \r\nexport class RequestCriteriaObj{\r\n includeCount:boolean;\r\n includeData:boolean;\r\n pageNo:number;\r\n rowPerPage:number;\r\n orderBy:any;\r\n criteria:CriteriaObj[];\r\n isLoading : boolean;\r\n queryString: any;\r\n rowVersion: any;\r\n integrationObj: IntegrationObj;\r\n joinType: string;\r\n\r\n constructor()\r\n {\r\n this.includeCount=true;\r\n this.includeData=true;\r\n this.isLoading = true;\r\n this.queryString = '';\r\n this.rowVersion = '';\r\n this.integrationObj = new IntegrationObj();\r\n this.joinType = AdInsConstant.JoinTypeInner;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport * as FileSaver from 'file-saver';\r\nimport * as XLSX from 'xlsx';\r\n\r\nconst EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\r\nconst EXCEL_EXTENSION = '.xlsx';\r\n\r\n@Injectable()\r\nexport class ExcelService {\r\n\r\n constructor() { }\r\n\r\n public exportAsExcelFile(json: any[], excelFileName: string): void {\r\n \r\n const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(json);\r\n console.log('worksheet',worksheet);\r\n const workbook: XLSX.WorkBook = { Sheets: { 'data': worksheet }, SheetNames: ['data'] };\r\n const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });\r\n //const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'buffer' });\r\n this.saveAsExcelFile(excelBuffer, excelFileName);\r\n }\r\n\r\n private saveAsExcelFile(buffer: any, fileName: string): void {\r\n const data: Blob = new Blob([buffer], {\r\n type: EXCEL_TYPE\r\n });\r\n FileSaver.saveAs(data, fileName + '_export_' + new Date().getTime() + EXCEL_EXTENSION);\r\n }\r\n\r\n}","export class KeyValueReportObj {\r\n key: number;\r\n value: string;\r\n\r\n constructor() {\r\n this.key = 0;\r\n this.value = \"\";\r\n }\r\n}\r\n\r\nexport class ExportTypeConstant {\r\n public static EXP_TYPE_PDF = 0;\r\n public static EXP_TYPE_XLS = 1;\r\n public static EXP_TYPE_XLSX = 2;\r\n public static EXP_TYPE_DOC = 3;\r\n public static EXP_TYPE_DOCX = 4;\r\n}","import { Component, OnInit, Input, ViewChild, ElementRef, Inject, Renderer2, EventEmitter, Output } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { FormGroup, NgForm } from '@angular/forms';\r\nimport { DatePipe, formatDate } from '@angular/common';\r\nimport { InputSearchObj } from './model/InputSearchObj.Model';\r\nimport { CriteriaObj } from './model/CriteriaObj.model';\r\nimport { RequestCriteriaObj } from './model/RequestCriteriaObj.model';\r\nimport { AdInsConstant } from './model/AdInstConstant';\r\nimport { DOCUMENT } from '@angular/platform-browser';\r\nimport { ExcelService } from './services/excel-service/excel-service';\r\nimport { trigger, transition, style, animate, state } from '@angular/animations';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ExportTypeConstant, KeyValueReportObj } from './model/KeyValueReport.model';\r\nimport { CookieService } from 'ngx-cookie';\r\nimport * as CryptoJS from 'crypto-js';\r\n\r\n@Component({\r\n selector: 'lib-UCSearch',\r\n templateUrl: './ucsearch.component.html',\r\n styleUrls: ['./ucsearch.component.css'],\r\n providers: [ExcelService, DatePipe],\r\n animations: [\r\n trigger('changeDivSize', [\r\n state('initial', style({\r\n height: '*',\r\n opacity: '1',\r\n })),\r\n state('final', style({\r\n height: '0px',\r\n opacity: '0',\r\n overflow: 'hidden',\r\n })),\r\n transition('initial=>final', animate('300ms')),\r\n transition('final=>initial', animate('300ms'))\r\n ]),\r\n ]\r\n})\r\nexport class UCSearchComponent implements OnInit {\r\n // trus nad, bisa ga kalo misalkan gw mau bikin\r\n // kalo login di cabang IsSelectOne: true\r\n // kalo login di HO, IsSelectOne: false\r\n @ViewChild('enjiForm') set content(content: NgForm) {\r\n if (content) { // initially setter gets called with undefined\r\n this.searchForm = content;\r\n }\r\n }\r\n\r\n @ViewChild('formIdSearch') myForm: ElementRef;\r\n @Input() searchInput: InputSearchObj = new InputSearchObj();\r\n @Input() pageSize: number = 10;\r\n @Input() isReport: boolean = false;\r\n @Output() result: EventEmitter<any> = new EventEmitter();\r\n @Output() genRpt: EventEmitter<{ ExportType: number, ElRef: ElementRef }> = new EventEmitter<{ ExportType: number, ElRef: ElementRef }>();\r\n ExportTypeList: Array<KeyValueReportObj> = [\r\n {\r\n key: ExportTypeConstant.EXP_TYPE_PDF,\r\n value: \"PDF\"\r\n },\r\n {\r\n key: ExportTypeConstant.EXP_TYPE_XLS,\r\n value: \"Excel 2003\"\r\n },\r\n {\r\n key: ExportTypeConstant.EXP_TYPE_XLSX,\r\n value: \"Excel 2007\"\r\n },\r\n {\r\n key: ExportTypeConstant.EXP_TYPE_DOC,\r\n value: \"Document\"\r\n },\r\n {\r\n key: ExportTypeConstant.EXP_TYPE_DOCX,\r\n value: \"Document XML\"\r\n },\r\n ];\r\n\r\n ExportType: number = 0;\r\n\r\n pageNow: any = 1;\r\n configuration: any;\r\n exportData: any;\r\n ExcelData: any;\r\n isDataLoaded: boolean = false;\r\n isHidden: boolean = false;\r\n BisDt: string;\r\n dateWrong: boolean = false;\r\n\r\n currentState = 'initial';\r\n\r\n form: FormGroup;\r\n countForm = 0;\r\n formattedAmount = '';\r\n amount = 0;\r\n apiUrl: string;\r\n arrCrit: any;\r\n searchForm: NgForm;\r\n\r\n constructor(private http: HttpClient, private excelService: ExcelService, private _renderer2: Renderer2,\r\n @Inject(DOCUMENT) private _document, public toastr: ToastrService, private cookieService: CookieService,\r\n private datePipe: DatePipe) {\r\n }\r\n\r\n changeState() {\r\n this.currentState = this.currentState === 'initial' ? 'final' : 'initial';\r\n this.isHidden = this.isHidden === false ? true : false;\r\n }\r\n\r\n ngOnInit() {\r\n console.log(\"ucsearch\");\r\n this.apiUrl = this.searchInput.enviromentUrl + this.searchInput.apiQryPaging;\r\n this.arrCrit = this.searchInput.arrCritObj;\r\n let js = this._renderer2.createElement('script');\r\n js.text = `\r\n $(document).ready(function(){\r\n $(\"#flip\").click(function(){\r\n $(\"#panel\").slideToggle(\"slow\");\r\n });\r\n });\r\n `;\r\n this._renderer2.appendChild(this._document.body, js);\r\n\r\n let value = this.cookieService.get('BusinessDateRaw');\r\n this.BisDt = this.DecryptString(value, \"AdInsFOU12345678\");\r\n this.initiateForm();\r\n }\r\n\r\n initiateForm() {\r\n this.getJSON(this.searchInput._url).subscribe(data => {\r\n this.configuration = data;\r\n this.exportData = data.exportExcel;\r\n if (data.exportTypeList != undefined && data.exportTypeList.length != 0) {\r\n this.ExportTypeList = data.exportTypeList;\r\n this.ExportType = this.ExportTypeList[0].key;\r\n }\r\n\r\n this.countForm = data.component.length;\r\n this.isDataLoaded = true;\r\n\r\n if (this.searchInput.title != undefined && this.searchInput.title != \"\") {\r\n this.configuration.title = this.searchInput.title;\r\n }\r\n\r\n for (var i = 0; i < this.countForm; i++) {\r\n //ini kalau datanya di load dari URL\r\n if (data.component[i].isFromURL == true) {\r\n var request = new RequestCriteriaObj();\r\n var arrayCrit = new Array();\r\n var criteriaObject = new CriteriaObj();\r\n criteriaObject.DataType = \"text\";\r\n criteriaObject.propName = data.component[i].criteriaPropName;\r\n criteriaObject.value = data.component[i].criteriaPropValue;\r\n criteriaObject.restriction = \"eq\";\r\n arrayCrit.push(criteriaObject);\r\n request.criteria = arrayCrit;\r\n request[data.component[i].criteriaPropName] = data.component[i].criteriaPropValue;\r\n\r\n // Pengecekan penggunaan url atau path\r\n if (data.component[i].path != undefined && data.component[i].path != \"\") {\r\n if (this.searchInput.ddlEnvironments != undefined && this.searchInput.ddlEnvironments.length != 0) {\r\n for (let y = 0; y < this.searchInput.ddlEnvironments.length; y++) {\r\n if (data.component[i].name == this.searchInput.ddlEnvironments[y].name) {\r\n data.component[i].fullpath = this.searchInput.ddlEnvironments[y].environment + data.component[i].path;\r\n break;\r\n }\r\n }\r\n } else if (this.searchInput.listEnvironments != undefined && this.searchInput.listEnvironments.length != 0) {\r\n for (let y = 0; y < this.searchInput.listEnvironments.length; y++) {\r\n if (data.component[i].environment == this.searchInput.listEnvironments[y].environment) {\r\n data.component[i].fullpath = this.searchInput.listEnvironments[y].url + data.component[i].path;\r\n break;\r\n }\r\n }\r\n } else {\r\n data.component[i].fullpath = data.component[i].url;\r\n }\r\n\r\n } else {\r\n data.component[i].fullpath = data.component[i].url;\r\n }\r\n //lempar objectnya sekalian sama urlnya, nnti di bind di dalem karena masalah di asyncnya\r\n //biar tiap function ada state2nya sendiri\r\n this.resolveObject(data.component[i], data.component[i].fullpath, request);\r\n }\r\n\r\n if (data.component[i].type == \"numeric\") {\r\n data.component[i].value = parseFloat(data.component[i].value).toLocaleString('en');\r\n }\r\n\r\n //pengecekan tanggal\r\n if (data.component[i].type == \"datepicker\") {\r\n if (data.component[i].value.includes(\"BD\")) {\r\n let businessDate = new Date();\r\n if (this.BisDt != null) {\r\n businessDate = new Date(this.BisDt);\r\n }\r\n var operator = data.component[i].value.charAt(2);\r\n var dateShow = new Date();\r\n if (operator == \"-\") {\r\n var tempMinus = data.component[i].value.split(\"-\", 2);\r\n var numDay = parseInt(tempMinus[1]);\r\n businessDate.setDate(businessDate.getDate() - numDay);\r\n }\r\n else if (operator == \"+\") {\r\n var tempMinus = data.component[i].value.split(\"+\", 2);\r\n var numDay = parseInt(tempMinus[1]);\r\n businessDate.setDate(businessDate.getDate() + numDay);\r\n }\r\n dateShow = businessDate;\r\n var dateText = formatDate(dateShow, 'yyyy-MM-dd', 'en-US')\r\n data.component[i].value = dateText;\r\n }\r\n\r\n if (data.component[i].restriction.toUpperCase() == \"GT\") {\r\n let minDate = new Date(this.datePipe.transform(data.component[i].minDate, 'yyyy-MM-dd'));\r\n minDate.setDate(minDate.getDate() + 1);\r\n data.component[i].minDate = minDate;\r\n } else if (data.component[i].restriction.toUpperCase() == \"LT\") {\r\n let maxDate = new Date(this.datePipe.transform(data.component[i].maxDate, 'yyyy-MM-dd'));\r\n maxDate.setDate(maxDate.getDate() - 1);\r\n data.component[i].maxDate = maxDate;\r\n }\r\n }\r\n }\r\n\r\n setTimeout(() => {\r\n for (let j = 0; j < this.countForm; j++) {\r\n if (data.component[j].isEvent == true && this.configuration.component[j].itemsUrl.length == 1) {\r\n this.onChangeEvent(data.component[j].itemsUrl[0].Key, data.component[j]);\r\n }\r\n }\r\n }, 1000);\r\n });\r\n }\r\n\r\n public getJSON(url: string): Observable<any> {\r\n return this.http.get(url);\r\n }\r\n\r\n public postJSON(url: string, criteria: any = null): Observable<any> {\r\n return this.http.post(url, criteria);\r\n }\r\n\r\n searchClick() {\r\n // for(let i=0;i<this.countForm;i++){\r\n // if(this.configuration.component[i].type == \"datepicker\"){\r\n // if ((i != (this.countForm-1)) && (this.configuration.component[i].name != this.configuration.component[i+1].name)){\r\n // this.checkInputDate(this.configuration.component[i]);\r\n // }\r\n // }\r\n // }\r\n // if(this.dateWrong) return;\r\n\r\n let order = null;\r\n if (this.configuration.orderby != null) {\r\n order = {\r\n key: this.configuration.orderby.key,\r\n value: this.configuration.orderby.value\r\n }\r\n }\r\n this.pageNow = 1;\r\n this.search(this.apiUrl, this.pageNow, this.pageSize, order, this.arrCrit);\r\n }\r\n\r\n reset() {\r\n this.searchForm.resetForm();\r\n this.ExportType = this.ExportTypeList[0].key;\r\n this.initiateForm();\r\n }\r\n\r\n search(apiUrl: string, pageNo: number, rowPerPage: number, orderBy: any, addCrit: CriteriaObj[] = new Array()) {\r\n let request = new RequestCriteriaObj();\r\n let arrCrit = new Array();\r\n let IsQueryIn = false;\r\n let IsBreak = false;\r\n\r\n // Inject whereQuery for where criteria\r\n if (this.searchInput.whereValue != undefined && this.searchInput.whereValue.length != 0) {\r\n this.configuration.querystring.whereQuery = new Array<any>();\r\n for (let x = 0; x < this.searchInput.whereValue.length; x++) {\r\n this.configuration.querystring.whereQuery.push(this.searchInput.whereValue[x].value);\r\n }\r\n }\r\n request.pageNo = pageNo;\r\n request.rowPerPage = rowPerPage;\r\n request.orderBy = orderBy;\r\n request.queryString = this.configuration.querystring;\r\n\r\n for (let i = 0; i < this.countForm; i++) {\r\n let critObj = new CriteriaObj();\r\n let component = this.myForm.nativeElement[i];\r\n\r\n // // popup message if required\r\n // if (component.getAttribute('data-required') != null && component.getAttribute('data-required') == \"true\") {\r\n // let val = component.value.trim();\r\n // if (val == \"\") {\r\n // IsBreak = true;\r\n // let label = component.getAttribute('label');\r\n // this.toastr.warning(\"Please input \" + label);\r\n // break;\r\n // }\r\n // }\r\n\r\n critObj.DataType = component.getAttribute('data-type');\r\n //Ini khusus kalau dari Drop Down\r\n if (component.getAttribute('query-in') != null && component.getAttribute('query-in') == \"true\") {\r\n IsQueryIn = true;\r\n }\r\n else {\r\n IsQueryIn = false;\r\n }\r\n if (component.value != \"\") {\r\n if (component.nodeName == 'SELECT') {\r\n let ddl = component.options;\r\n let text = ddl[ddl.selectedIndex].value.trim();\r\n if (text == \"one\") {\r\n IsBreak = true;\r\n let label = component.getAttribute('label');\r\n this.toastr.warning(\"Please select \" + label);\r\n break;\r\n }\r\n if (text != \"all\" && text != \"one\") {\r\n //Kalau Dari Dropdown udah pasti pake Eq\r\n critObj.restriction = AdInsConstant.RestrictionEq;\r\n critObj.propName = component.name;\r\n critObj.value = text;\r\n arrCrit.push(critObj);\r\n } else if (text == \"all\" && IsQueryIn == true && component.options.length != 0) {\r\n let ddlList = new Array();\r\n for (let x = 0; x < component.options.length; x++) {\r\n if (x != 0) {\r\n ddlList.push(component.options[x].value);\r\n }\r\n }\r\n if (ddlList.length != 0) {\r\n critObj.restriction = AdInsConstant.RestrictionIn;\r\n critObj.propName = component.name;\r\n critObj.listValue = ddlList;\r\n arrCrit.push(critObj);\r\n }\r\n }\r\n }\r\n else {\r\n //Kalau ada Percent maka yang dipake nnti adalah Restrictions Like\r\n if (component.name != \"\") {\r\n critObj.propName = component.name;\r\n } else {\r\n critObj.propName = component.getAttribute('data-name');\r\n }\r\n critObj.value = component.value.trim();\r\n if (component.value.includes(\"%\")) {\r\n critObj.restriction = AdInsConstant.RestrictionLike;\r\n }\r\n //kalau componentnya Date, restrictionsnya lgsg ambil dari property JSONnya\r\n else if (component.getAttribute('data-restriction') != \"\" && component.getAttribute('data-restriction') != null) {\r\n critObj.restriction = component.getAttribute('data-restriction');\r\n if (component.getAttribute('data-type') == 'numeric') {\r\n critObj.value = parseFloat(component.value.replace(/,/g, '')).toString();\r\n }\r\n if (critObj.restriction.toUpperCase() == \"LIKE\") {\r\n critObj.value = \"%\" + component.value.trim() + \"%\";\r\n critObj.restriction = AdInsConstant.RestrictionLike\r\n }\r\n }\r\n else {\r\n critObj.restriction = AdInsConstant.RestrictionEq\r\n }\r\n arrCrit.push(critObj);\r\n }\r\n }\r\n }\r\n\r\n if (IsBreak) {\r\n return;\r\n }\r\n\r\n if (addCrit != null && addCrit != undefined) {\r\n if (addCrit.length != 0) {\r\n for (var i = 0; i < addCrit.length; i++) {\r\n arrCrit.push(addCrit[i]);\r\n }\r\n } else if (this.searchInput.addCritInput != null || this.searchInput.addCritInput != undefined) {\r\n for (var i = 0; i < this.searchInput.addCritInput.length; i++) {\r\n arrCrit.push(this.searchInput.addCritInput[i]);\r\n }\r\n }\r\n }\r\n else if (this.searchInput.addCritInput != null || this.searchInput.addCritInput != undefined) {\r\n for (var i = 0; i < this.searchInput.addCritInput.length; i++) {\r\n arrCrit.push(this.searchInput.addCritInput[i]);\r\n }\r\n }\r\n\r\n request.criteria = arrCrit;\r\n\r\n if (!this.searchInput.isJoinExAPI) {\r\n request.integrationObj = null;\r\n } else {\r\n request.integrationObj = this.searchInput.integrationObj;\r\n }\r\n\r\n this.http.post(apiUrl, request).subscribe((response) => {\r\n let qryPaging = {\r\n response: response,\r\n pageNow: pageNo\r\n }\r\n console.log(qryPaging);\r\n this.result.emit(qryPaging);\r\n return response;\r\n });\r\n }\r\n\r\n GenerateReport() {\r\n this.genRpt.emit({ ExportType: this.ExportType, ElRef: this.myForm });\r\n }\r\n\r\n lessThanFour(): boolean {\r\n if (this.countForm > 3) {\r\n return false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n\r\n resolveObject(obj: any, url: string, crit: RequestCriteriaObj = null) {\r\n const val = this.postJSON(url, crit);\r\n val.subscribe(tempData => {\r\n obj.itemsUrl = new Array();\r\n obj.itemsUrl = tempData.ReturnObject;\r\n });\r\n }\r\n\r\n transformAmount(element: any) {\r\n this.formattedAmount = parseFloat(element.target.value).toLocaleString('en');\r\n // to show the formatted amount in the textbox.\r\n element.target.value = this.formattedAmount;\r\n }\r\n\r\n transformToDecimal(element: any) {\r\n element.target.value = parseFloat(element.target.value.toString().replace(/,/g, ''));\r\n }\r\n\r\n exportAsXLSX(): void {\r\n var request = new RequestCriteriaObj();\r\n request.pageNo = 1;\r\n request.rowPerPage = 9999;\r\n request.orderBy = null;\r\n request.criteria = [];\r\n request.queryString = this.configuration.querystring;\r\n if (!this.searchInput.isJoinExAPI) {\r\n request.integrationObj = null;\r\n } else {\r\n request.integrationObj = this.searchInput.integrationObj;\r\n }\r\n\r\n this.http.post(this.apiUrl, request).subscribe(\r\n response => {\r\n this.ExcelData = response[\"Data\"];\r\n this.excelService.exportAsExcelFile(this.ExcelData, 'sample');\r\n },\r\n (error) => {\r\n console.log(error);\r\n });\r\n }\r\n\r\n onChangeEvent(optValue, afFilter) {\r\n var jsonComp = this.configuration.component;\r\n\r\n for (var i = 0; i < afFilter.affectedFilter.length; i++) {\r\n for (var j = 0; j < jsonComp.length; j++) {\r\n if (jsonComp[j].name == afFilter.affectedFilter[i]) {\r\n var request = new RequestCriteriaObj();\r\n var arrayCrit = new Array();\r\n\r\n if (optValue != \"all\" && optValue != \"one\") {\r\n var critObj = new CriteriaObj();\r\n critObj.DataType = afFilter.datatype;\r\n if (afFilter.filterPropName != undefined || afFilter.filterPropName != \"\") {\r\n request[afFilter.filterPropName] = optValue;\r\n critObj.propName = afFilter.filterPropName;\r\n } else {\r\n critObj.propName = afFilter.name;\r\n request[afFilter.name] = optValue;\r\n }\r\n critObj.value = optValue;\r\n critObj.restriction = AdInsConstant.RestrictionEq;\r\n arrayCrit.push(critObj);\r\n }\r\n request.criteria = arrayCrit;\r\n if (jsonComp[j].path != undefined && jsonComp[j].path != \"\") {\r\n if (this.searchInput.ddlEnvironments != undefined && this.searchInput.ddlEnvironments.length != 0) {\r\n for (let y = 0; y < this.searchInput.ddlEnvironments.length; y++) {\r\n if (jsonComp[j].name == this.searchInput.ddlEnvironments[y].name) {\r\n jsonComp[j].fullpath = this.searchInput.ddlEnvironments[y].environment + jsonComp[j].path;\r\n break;\r\n }\r\n }\r\n } else if (this.searchInput.listEnvironments != undefined && this.searchInput.listEnvironments.length != 0) {\r\n for (let y = 0; y < this.searchInput.listEnvironments.length; y++) {\r\n if (jsonComp.component[j].environment == this.searchInput.listEnvironments[y].environment) {\r\n jsonComp.component[j].fullpath = this.searchInput.listEnvironments[y].url + jsonComp.component[j].path;\r\n break;\r\n }\r\n }\r\n } else {\r\n jsonComp[j].fullpath = jsonComp[j].url;\r\n }\r\n\r\n } else {\r\n jsonComp[j].fullpath = jsonComp[j].url;\r\n }\r\n this.resolveObject(jsonComp[j], jsonComp[j].fullpath, request);\r\n }\r\n }\r\n }\r\n }\r\n\r\n switchCase(condList) {\r\n var condition = false;\r\n\r\n for (var i = 0; i < condList.conditions.length; i++) {\r\n var idx = this.searchInput.switchValue.findIndex(x => x.property == condList.conditions[i].property);\r\n if (condList.conditions[i].restriction == \"EQ\") {\r\n if (condList.conditions[i].isUser != true) {\r\n if (this.searchInput.switchValue[idx].value == condList.conditions[i].value) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n } else {\r\n var username = localStorage.getItem(\"Username\");\r\n if (this.searchInput.switchValue[idx].value == username) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n }\r\n } else if (condList.conditions[i].restriction == \"NEQ\") {\r\n if (condList.conditions[i].isUser != true) {\r\n if (this.searchInput.switchValue[idx].value != condList.conditions[i].value) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n } else {\r\n var username = localStorage.getItem(\"Username\");\r\n if (this.searchInput.switchValue[idx].value != username) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n }\r\n } else if (condList.conditions[i].restriction == \"GT\") {\r\n if (condList.conditions[i].isUser != true) {\r\n if (this.searchInput.switchValue[idx].value > condList.conditions[i].value) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n } else {\r\n var username = localStorage.getItem(\"Username\");\r\n if (this.searchInput.switchValue[idx].value > username) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n }\r\n } else if (condList.conditions[i].restriction == \"GTE\") {\r\n if (condList.conditions[i].isUser != true) {\r\n if (this.searchInput.switchValue[idx].value >= condList.conditions[i].value) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n } else {\r\n var username = localStorage.getItem(\"Username\");\r\n if (this.searchInput.switchValue[idx].value >= username) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n }\r\n } else if (condList.conditions[i].restriction == \"LT\") {\r\n if (condList.conditions[i].isUser != true) {\r\n if (this.searchInput.switchValue[idx].value < condList.conditions[i].value) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n } else {\r\n var username = localStorage.getItem(\"Username\");\r\n if (this.searchInput.switchValue[idx].value < username) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n }\r\n } else if (condList.conditions[i].restriction == \"LTE\") {\r\n if (condList.conditions[i].isUser != true) {\r\n if (this.searchInput.switchValue[idx].value <= condList.conditions[i].value) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n } else {\r\n var username = localStorage.getItem(\"Username\");\r\n if (this.searchInput.switchValue[idx].value <= username) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n return condition;\r\n\r\n }\r\n\r\n private DecryptString(chipperText: string, chipperKey: string) {\r\n if (\r\n chipperKey == undefined || chipperKey.trim() == '' ||\r\n chipperText == undefined || chipperText.trim() == ''\r\n ) return chipperText;\r\n var chipperKeyArr = CryptoJS.enc.Utf8.parse(chipperKey);\r\n var iv = CryptoJS.lib.WordArray.create([0x00, 0x00, 0x00, 0x00]);\r\n var decrypted = CryptoJS.AES.decrypt(chipperText, chipperKeyArr, { iv: iv });\r\n var plainText = decrypted.toString(CryptoJS.enc.Utf8);\r\n return plainText;\r\n }\r\n\r\n checkInputDate(component: any) {\r\n let minDateVal;\r\n let maxDateVal;\r\n let label;\r\n let errorMessage = new Array<string>();\r\n\r\n let MinComponent = this.configuration.component.find(x => x.name == component.name && (x.restriction.toUpperCase() == \"GTE\")) == undefined ? this.configuration.component.find(x => x.name == component.name && (x.restriction.toUpperCase() == \"GT\")) : this.configuration.component.find(x => x.name == component.name && (x.restriction.toUpperCase() == \"GTE\"));\r\n if (MinComponent != undefined) {\r\n minDateVal = new Date(this.myForm.nativeElement[MinComponent.id].min);\r\n label = MinComponent.label.split(\">\", 2);\r\n if (MinComponent.restriction.toUpperCase() == \"GT\") {\r\n minDateVal.setDate(minDateVal.getDate() - 1);\r\n errorMessage.push(\" must be greater than \");\r\n } else if (MinComponent.restriction.toUpperCase() == \"GTE\") {\r\n errorMessage.push(\" must be greater than or equals to \");\r\n }\r\n }\r\n\r\n let MaxComponent = this.configuration.component.find(x => x.name == component.name && (x.restriction.toUpperCase() == \"LTE\")) == undefined ? this.configuration.component.find(x => x.name == component.name && (x.restriction.toUpperCase() == \"LT\")) : this.configuration.component.find(x => x.name == component.name && (x.restriction.toUpperCase() == \"LTE\"));\r\n if (MaxComponent != undefined) {\r\n maxDateVal = new Date(this.myForm.nativeElement[MaxComponent.id].max);\r\n label = MaxComponent.label.split(\"<\", 2);\r\n if (MaxComponent.restriction.toUpperCase() == \"LT\") {\r\n maxDateVal.setDate(maxDateVal.getDate() + 1);\r\n errorMessage.push(\" must be less than \");\r\n } else if (MaxComponent.restriction.toUpperCase() == \"LTE\") {\r\n errorMessage.push(\" must be less than or equals to \");\r\n }\r\n }\r\n\r\n if (MinComponent != undefined && MaxComponent == undefined && this.myForm.nativeElement[MinComponent.id].value < minDateVal) {\r\n this.toastr.warning(label[0] + errorMessage[0] + formatDate(minDateVal, 'dd MMMM yyyy', 'en-US') + \".\")\r\n this.dateWrong = true;\r\n } else if (MaxComponent != undefined && MinComponent == undefined && this.myForm.nativeElement[MaxComponent.id].value > maxDateVal) {\r\n this.toastr.warning(label[0] + errorMessage[0] + maxDateVal + \".\")\r\n this.dateWrong = true;\r\n } else if (MinComponent != undefined && MaxComponent != undefined) {\r\n if (new Date(this.myForm.nativeElement[MaxComponent.id].value) > maxDateVal || new Date(this.myForm.nativeElement[MinComponent.id].value) < minDateVal) {\r\n this.toastr.warning(label[0] + errorMessage[0] + formatDate(minDateVal, 'dd MMMM yyyy', 'en-US') + \" and\" + errorMessage[1] + formatDate(maxDateVal, 'dd MMMM yyyy', 'en-US') + \".\")\r\n this.dateWrong = true;\r\n } else {\r\n this.dateWrong = false;\r\n }\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { UCSearchComponent } from './ucsearch.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CurrencyMaskInputMode, NgxCurrencyModule } from 'ngx-currency';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { UcShowErrorsModule } from '@adins/uc-show-errors';\r\n\r\nexport const customCurrencyMaskConfig = { \r\n align: \"right\",\r\n allowNegative: false,\r\n allowZero: true,\r\n decimal: \".\",\r\n precision: 2,\r\n prefix: \"\",\r\n suffix: \"\",\r\n thousands: \",\",\r\n nullable: false,\r\n inputMode: CurrencyMaskInputMode.NATURAL };\r\n\r\n@NgModule({\r\n declarations: [UCSearchComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n UcShowErrorsModule,\r\n NgxCurrencyModule.forRoot(customCurrencyMaskConfig),\r\n TranslateModule.forChild()\r\n ],\r\n exports: [UCSearchComponent]\r\n})\r\nexport class UCSearchModule { }\r\n"]}
|
|
1
|
+
{"version":3,"sources":["ng://@adins/ucsearch/lib/ucsearch.service.ts","ng://@adins/ucsearch/lib/model/AdInstConstant.ts","ng://@adins/ucsearch/lib/model/IntegrationObj.model.ts","ng://@adins/ucsearch/lib/model/InputSearchObj.Model.ts","ng://@adins/ucsearch/lib/model/CriteriaObj.model.ts","ng://@adins/ucsearch/lib/model/RequestCriteriaObj.model.ts","ng://@adins/ucsearch/lib/services/excel-service/excel-service.ts","ng://@adins/ucsearch/lib/model/KeyValueReport.model.ts","ng://@adins/ucsearch/lib/ucsearch.component.ts","ng://@adins/ucsearch/lib/ucsearch.module.ts"],"names":["UCSearchService","Injectable","args","providedIn","AdInsConstant","RestrictionBetween","RestrictionLike","RestrictionEq","RestrictionNeq","RestrictionGt","RestrictionGte","RestrictionLt","RestrictionLte","RestrictionIn","RestrictionNotIn","RestrictionOr","RestrictionOrNeq","RestrictionIsNull","RestrictionIsNotNull","RestrictionGTE","RestrictionLTE","showData","JoinTypeInner","JoinTypeLeft","IntegrationObj","this","baseUrl","apiPath","requestObj","Object","leftColumnToJoin","rightColumnToJoin","joinType","InputSearchObj","_url","enviromentUrl","title","apiQryPaging","arrCritObj","addCritInput","Array","ddlEnvironments","listEnvironments","whereValue","switchValue","integrationObj","isJoinExAPI","CriteriaObj","low","high","DataType","RequestCriteriaObj","includeCount","includeData","isLoading","queryString","rowVersion","ExcelService","prototype","exportAsExcelFile","json","excelFileName","worksheet","XLSX.utils","json_to_sheet","console","log","workbook","Sheets","data","SheetNames","excelBuffer","XLSX.write","bookType","type","saveAsExcelFile","buffer","fileName","Blob","FileSaver.saveAs","Date","getTime","ExportTypeConstant","EXP_TYPE_PDF","EXP_TYPE_XLS","EXP_TYPE_XLSX","EXP_TYPE_DOC","EXP_TYPE_DOCX","UCSearchComponent","defineProperty","content","searchForm","changeState","currentState","isHidden","ngOnInit","apiUrl","searchInput","arrCrit","js","_renderer2","createElement","text","appendChild","_document","body","value","cookieService","get","BisDt","DecryptString","initiateForm","_this","getJSON","subscribe","configuration","exportData","exportExcel","exportTypeList","undefined","length","ExportTypeList","ExportType","key","countForm","component","isDataLoaded","i","isFromURL","request","arrayCrit","criteriaObject","propName","criteriaPropName","criteriaPropValue","restriction","push","criteria","path","y","name","fullpath","environment","url","resolveObject","parseFloat","toLocaleString","includes","businessDate","operator","charAt","dateShow","tempMinus","split","numDay","parseInt","setDate","getDate","dateText","formatDate","toUpperCase","minDate","datePipe","transform","maxDate","setTimeout","j","isEvent","itemsUrl","onChangeEvent","Key","http","postJSON","post","searchClick","order","orderby","pageNow","search","pageSize","reset","resetForm","pageNo","rowPerPage","orderBy","addCrit","IsQueryIn","IsBreak","querystring","whereQuery","x","i_1","critObj","myForm","nativeElement","getAttribute","nodeName","ddl","options","selectedIndex","trim","label","toastr","warning","ddlList","listValue","replace","toString","response","qryPaging","result","emit","GenerateReport","genRpt","ElRef","lessThanFour","obj","crit","tempData","ReturnObject","transformAmount","element","formattedAmount","target","transformToDecimal","exportAsXLSX","ExcelData","excelService","error","optValue","afFilter","jsonComp","affectedFilter","datatype","filterPropName","switchCase","condList","condition","conditions","idx","findIndex","property","isUser","username","localStorage","getItem","chipperText","chipperKey","chipperKeyArr","CryptoJS.enc","Utf8","parse","iv","CryptoJS.lib","WordArray","create","CryptoJS.AES","decrypt","checkInputDate","minDateVal","maxDateVal","errorMessage","MinComponent","find","id","min","MaxComponent","max","dateWrong","Component","selector","template","providers","DatePipe","animations","trigger","state","style","height","opacity","overflow","transition","animate","HttpClient","Renderer2","Inject","DOCUMENT","ToastrService","CookieService","ViewChild","Input","Output","isReport","EventEmitter","amount","customCurrencyMaskConfig","align","allowNegative","allowZero","decimal","precision","prefix","suffix","thousands","nullable","inputMode","CurrencyMaskInputMode","NATURAL","UCSearchModule","NgModule","declarations","imports","CommonModule","FormsModule","UcShowErrorsModule","NgxCurrencyModule","forRoot","TranslateModule","forChild","exports"],"mappings":"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","sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UCSearchService {\r\n\r\n constructor() { }\r\n}\r\n","import { formatDate } from \"@angular/common\";\r\n\r\nexport class AdInsConstant {\r\n public static RestrictionBetween = \"Between\"\r\n public static RestrictionLike = \"Like\";\r\n public static RestrictionEq = \"Eq\";\r\n public static RestrictionNeq = \"NEQ\";\r\n public static RestrictionGt = \"GT\";\r\n public static RestrictionGte = \"GTE\";\r\n public static RestrictionLt = \"LT\";\r\n public static RestrictionLte = \"LTE\";\r\n public static RestrictionIn = \"IN\";\r\n public static RestrictionNotIn = \"NotIn\";\r\n public static RestrictionOr = \"Or\"; //pastikan ada 1 criteria sebelumnya\r\n public static RestrictionOrNeq = \"OrNeq\"; //pastikan ada 1 criteria sebelumnya\r\n public static RestrictionIsNull = \"isnull\";\r\n public static RestrictionIsNotNull = \"isnotnull\";\r\n public static RestrictionGTE = \"GTE\";\r\n public static RestrictionLTE = \"LTE\";\r\n public static showData = \"10,50,100\";\r\n public static JoinTypeInner = \"INNER\";\r\n public static JoinTypeLeft = \"LEFT\";\r\n}\r\n","import { AdInsConstant } from \"./AdInstConstant\";\r\nexport class IntegrationObj {\r\n baseUrl: string;\r\n apiPath: string;\r\n requestObj: Object;\r\n leftColumnToJoin: string;\r\n rightColumnToJoin: string;\r\n joinType: string;\r\n \r\n constructor() {\r\n this.baseUrl = \"\";\r\n this.apiPath = \"\";\r\n this.requestObj = new Object();\r\n this.leftColumnToJoin = \"\";\r\n this.rightColumnToJoin = \"\";\r\n this.joinType = AdInsConstant.JoinTypeInner;\r\n }\r\n}","import { CriteriaObj } from \"./CriteriaObj.model\";\r\nimport { IntegrationObj } from \"./IntegrationObj.model\";\r\n \r\nexport class InputSearchObj {\r\n _url: string;\r\n enviromentUrl: string;\r\n title: string;\r\n apiQryPaging: string;\r\n arrCritObj: any;\r\n addCritInput: Array<CriteriaObj>;\r\n ddlEnvironments: Array<EnviObj>;\r\n listEnvironments: Array<EnvisObj>;\r\n whereValue: Array<WhereValueObj>;\r\n switchValue: Array<SwitchValueObj>;\r\n integrationObj: IntegrationObj;\r\n isJoinExAPI: boolean;\r\n \r\n constructor() {\r\n this._url = \"\";\r\n this.enviromentUrl = \"\";\r\n this.title = \"\";\r\n this.apiQryPaging = \"\";\r\n this.arrCritObj = null;\r\n this.addCritInput = new Array<CriteriaObj>();\r\n this.ddlEnvironments = new Array<EnviObj>();\r\n this.listEnvironments = new Array<EnvisObj>();\r\n this.whereValue = new Array<WhereValueObj>();\r\n this.switchValue = new Array<SwitchValueObj>();\r\n this.integrationObj = new IntegrationObj();\r\n this.isJoinExAPI = false;\r\n }\r\n}\r\n\r\nexport class EnviObj {\r\n name: string;\r\n environment: string;\r\n\r\n constructor() {\r\n this.name = \"\";\r\n this.environment = \"\";\r\n }\r\n}\r\n\r\nexport class WhereValueObj {\r\n property: string;\r\n value: any;\r\n\r\n constructor() {\r\n this.property = \"\";\r\n }\r\n}\r\n\r\nexport class SwitchValueObj {\r\n property: string;\r\n value: any;\r\n\r\n constructor() {\r\n this.property = \"\";\r\n }\r\n}\r\n\r\nexport class EnvisObj {\r\n environment: string;\r\n url: string;\r\n\r\n constructor() {\r\n this.environment = \"\";\r\n this.url = \"\";\r\n }\r\n}","export class CriteriaObj { \r\n propName: string;\r\n restriction: string;\r\n value: string;\r\n low: number;\r\n high: number;\r\n DataType: string;\r\n listValue: Array<any>;\r\n\r\n constructor() {\r\n this.low = 0;\r\n this.high = 0;\r\n this.DataType = 'Text';\r\n }\r\n\r\n}","import { AdInsConstant } from \"./AdInstConstant\";\r\nimport { CriteriaObj } from \"./CriteriaObj.model\";\r\nimport { IntegrationObj } from \"./IntegrationObj.model\";\r\n \r\nexport class RequestCriteriaObj{\r\n includeCount:boolean;\r\n includeData:boolean;\r\n pageNo:number;\r\n rowPerPage:number;\r\n orderBy:any;\r\n criteria:CriteriaObj[];\r\n isLoading : boolean;\r\n queryString: any;\r\n rowVersion: any;\r\n integrationObj: IntegrationObj;\r\n joinType: string;\r\n\r\n constructor()\r\n {\r\n this.includeCount=true;\r\n this.includeData=true;\r\n this.isLoading = true;\r\n this.queryString = '';\r\n this.rowVersion = '';\r\n this.integrationObj = new IntegrationObj();\r\n this.joinType = AdInsConstant.JoinTypeInner;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport * as FileSaver from 'file-saver';\r\nimport * as XLSX from 'xlsx';\r\n\r\nconst EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\r\nconst EXCEL_EXTENSION = '.xlsx';\r\n\r\n@Injectable()\r\nexport class ExcelService {\r\n\r\n constructor() { }\r\n\r\n public exportAsExcelFile(json: any[], excelFileName: string): void {\r\n \r\n const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(json);\r\n console.log('worksheet',worksheet);\r\n const workbook: XLSX.WorkBook = { Sheets: { 'data': worksheet }, SheetNames: ['data'] };\r\n const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });\r\n //const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'buffer' });\r\n this.saveAsExcelFile(excelBuffer, excelFileName);\r\n }\r\n\r\n private saveAsExcelFile(buffer: any, fileName: string): void {\r\n const data: Blob = new Blob([buffer], {\r\n type: EXCEL_TYPE\r\n });\r\n FileSaver.saveAs(data, fileName + '_export_' + new Date().getTime() + EXCEL_EXTENSION);\r\n }\r\n\r\n}","export class KeyValueReportObj {\r\n key: number;\r\n value: string;\r\n\r\n constructor() {\r\n this.key = 0;\r\n this.value = \"\";\r\n }\r\n}\r\n\r\nexport class ExportTypeConstant {\r\n public static EXP_TYPE_PDF = 0;\r\n public static EXP_TYPE_XLS = 1;\r\n public static EXP_TYPE_XLSX = 2;\r\n public static EXP_TYPE_DOC = 3;\r\n public static EXP_TYPE_DOCX = 4;\r\n}","import { Component, OnInit, Input, ViewChild, ElementRef, Inject, Renderer2, EventEmitter, Output } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { FormGroup, NgForm } from '@angular/forms';\r\nimport { DatePipe, formatDate } from '@angular/common';\r\nimport { InputSearchObj } from './model/InputSearchObj.Model';\r\nimport { CriteriaObj } from './model/CriteriaObj.model';\r\nimport { RequestCriteriaObj } from './model/RequestCriteriaObj.model';\r\nimport { AdInsConstant } from './model/AdInstConstant';\r\nimport { DOCUMENT } from '@angular/platform-browser';\r\nimport { ExcelService } from './services/excel-service/excel-service';\r\nimport { trigger, transition, style, animate, state } from '@angular/animations';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ExportTypeConstant, KeyValueReportObj } from './model/KeyValueReport.model';\r\nimport { CookieService } from 'ngx-cookie';\r\nimport * as CryptoJS from 'crypto-js';\r\n\r\n@Component({\r\n selector: 'lib-UCSearch',\r\n templateUrl: './ucsearch.component.html',\r\n styleUrls: ['./ucsearch.component.css'],\r\n providers: [ExcelService, DatePipe],\r\n animations: [\r\n trigger('changeDivSize', [\r\n state('initial', style({\r\n height: '*',\r\n opacity: '1',\r\n })),\r\n state('final', style({\r\n height: '0px',\r\n opacity: '0',\r\n overflow: 'hidden',\r\n })),\r\n transition('initial=>final', animate('300ms')),\r\n transition('final=>initial', animate('300ms'))\r\n ]),\r\n ]\r\n})\r\nexport class UCSearchComponent implements OnInit {\r\n // trus nad, bisa ga kalo misalkan gw mau bikin\r\n // kalo login di cabang IsSelectOne: true\r\n // kalo login di HO, IsSelectOne: false\r\n @ViewChild('enjiForm') set content(content: NgForm) {\r\n if (content) { // initially setter gets called with undefined\r\n this.searchForm = content;\r\n }\r\n }\r\n\r\n @ViewChild('formIdSearch') myForm: ElementRef;\r\n @Input() searchInput: InputSearchObj = new InputSearchObj();\r\n @Input() pageSize: number = 10;\r\n @Input() isReport: boolean = false;\r\n @Output() result: EventEmitter<any> = new EventEmitter();\r\n @Output() genRpt: EventEmitter<{ ExportType: number, ElRef: ElementRef }> = new EventEmitter<{ ExportType: number, ElRef: ElementRef }>();\r\n ExportTypeList: Array<KeyValueReportObj> = [\r\n {\r\n key: ExportTypeConstant.EXP_TYPE_PDF,\r\n value: \"PDF\"\r\n },\r\n {\r\n key: ExportTypeConstant.EXP_TYPE_XLS,\r\n value: \"Excel 2003\"\r\n },\r\n {\r\n key: ExportTypeConstant.EXP_TYPE_XLSX,\r\n value: \"Excel 2007\"\r\n },\r\n {\r\n key: ExportTypeConstant.EXP_TYPE_DOC,\r\n value: \"Document\"\r\n },\r\n {\r\n key: ExportTypeConstant.EXP_TYPE_DOCX,\r\n value: \"Document XML\"\r\n },\r\n ];\r\n\r\n ExportType: number = 0;\r\n\r\n pageNow: any = 1;\r\n configuration: any;\r\n exportData: any;\r\n ExcelData: any;\r\n isDataLoaded: boolean = false;\r\n isHidden: boolean = false;\r\n BisDt: string;\r\n dateWrong: boolean = false;\r\n\r\n currentState = 'initial';\r\n\r\n form: FormGroup;\r\n countForm = 0;\r\n formattedAmount = '';\r\n amount = 0;\r\n apiUrl: string;\r\n arrCrit: any;\r\n searchForm: NgForm;\r\n\r\n constructor(private http: HttpClient, private excelService: ExcelService, private _renderer2: Renderer2,\r\n @Inject(DOCUMENT) private _document, public toastr: ToastrService, private cookieService: CookieService,\r\n private datePipe: DatePipe) {\r\n }\r\n\r\n changeState() {\r\n this.currentState = this.currentState === 'initial' ? 'final' : 'initial';\r\n this.isHidden = this.isHidden === false ? true : false;\r\n }\r\n\r\n ngOnInit() {\r\n console.log(\"ucsearch\");\r\n this.apiUrl = this.searchInput.enviromentUrl + this.searchInput.apiQryPaging;\r\n this.arrCrit = this.searchInput.arrCritObj;\r\n let js = this._renderer2.createElement('script');\r\n js.text = `\r\n $(document).ready(function(){\r\n $(\"#flip\").click(function(){\r\n $(\"#panel\").slideToggle(\"slow\");\r\n });\r\n });\r\n `;\r\n this._renderer2.appendChild(this._document.body, js);\r\n\r\n let value = this.cookieService.get('BusinessDateRaw');\r\n this.BisDt = this.DecryptString(value, \"AdInsFOU12345678\");\r\n this.initiateForm();\r\n }\r\n\r\n initiateForm() {\r\n this.getJSON(this.searchInput._url).subscribe(data => {\r\n this.configuration = data;\r\n this.exportData = data.exportExcel;\r\n if (data.exportTypeList != undefined && data.exportTypeList.length != 0) {\r\n this.ExportTypeList = data.exportTypeList;\r\n this.ExportType = this.ExportTypeList[0].key;\r\n }\r\n\r\n this.countForm = data.component.length;\r\n this.isDataLoaded = true;\r\n\r\n if (this.searchInput.title != undefined && this.searchInput.title != \"\") {\r\n this.configuration.title = this.searchInput.title;\r\n }\r\n\r\n for (var i = 0; i < this.countForm; i++) {\r\n //ini kalau datanya di load dari URL\r\n if (data.component[i].isFromURL == true) {\r\n var request = new RequestCriteriaObj();\r\n var arrayCrit = new Array();\r\n var criteriaObject = new CriteriaObj();\r\n criteriaObject.DataType = \"text\";\r\n criteriaObject.propName = data.component[i].criteriaPropName;\r\n criteriaObject.value = data.component[i].criteriaPropValue;\r\n criteriaObject.restriction = \"eq\";\r\n arrayCrit.push(criteriaObject);\r\n request.criteria = arrayCrit;\r\n request[data.component[i].criteriaPropName] = data.component[i].criteriaPropValue;\r\n\r\n // Pengecekan penggunaan url atau path\r\n if (data.component[i].path != undefined && data.component[i].path != \"\") {\r\n if (this.searchInput.ddlEnvironments != undefined && this.searchInput.ddlEnvironments.length != 0) {\r\n for (let y = 0; y < this.searchInput.ddlEnvironments.length; y++) {\r\n if (data.component[i].name == this.searchInput.ddlEnvironments[y].name) {\r\n data.component[i].fullpath = this.searchInput.ddlEnvironments[y].environment + data.component[i].path;\r\n break;\r\n }\r\n }\r\n } else if (this.searchInput.listEnvironments != undefined && this.searchInput.listEnvironments.length != 0) {\r\n for (let y = 0; y < this.searchInput.listEnvironments.length; y++) {\r\n if (data.component[i].environment == this.searchInput.listEnvironments[y].environment) {\r\n data.component[i].fullpath = this.searchInput.listEnvironments[y].url + data.component[i].path;\r\n break;\r\n }\r\n }\r\n } else {\r\n data.component[i].fullpath = data.component[i].url;\r\n }\r\n\r\n } else {\r\n data.component[i].fullpath = data.component[i].url;\r\n }\r\n //lempar objectnya sekalian sama urlnya, nnti di bind di dalem karena masalah di asyncnya\r\n //biar tiap function ada state2nya sendiri\r\n this.resolveObject(data.component[i], data.component[i].fullpath, request);\r\n }\r\n\r\n if (data.component[i].type == \"numeric\") {\r\n data.component[i].value = parseFloat(data.component[i].value).toLocaleString('en');\r\n }\r\n\r\n //pengecekan tanggal\r\n if (data.component[i].type == \"datepicker\") {\r\n if (data.component[i].value.includes(\"BD\")) {\r\n let businessDate = new Date();\r\n if (this.BisDt != null) {\r\n businessDate = new Date(this.BisDt);\r\n }\r\n var operator = data.component[i].value.charAt(2);\r\n var dateShow = new Date();\r\n if (operator == \"-\") {\r\n var tempMinus = data.component[i].value.split(\"-\", 2);\r\n var numDay = parseInt(tempMinus[1]);\r\n businessDate.setDate(businessDate.getDate() - numDay);\r\n }\r\n else if (operator == \"+\") {\r\n var tempMinus = data.component[i].value.split(\"+\", 2);\r\n var numDay = parseInt(tempMinus[1]);\r\n businessDate.setDate(businessDate.getDate() + numDay);\r\n }\r\n dateShow = businessDate;\r\n var dateText = formatDate(dateShow, 'yyyy-MM-dd', 'en-US')\r\n data.component[i].value = dateText;\r\n }\r\n\r\n if(data.component[i].restriction != undefined && data.component[i].restriction != \"\"){\r\n if (data.component[i].restriction.toUpperCase() == \"GT\") {\r\n let minDate = new Date(this.datePipe.transform(data.component[i].minDate, 'yyyy-MM-dd'));\r\n minDate.setDate(minDate.getDate() + 1);\r\n data.component[i].minDate = minDate;\r\n } else if (data.component[i].restriction.toUpperCase() == \"LT\") {\r\n let maxDate = new Date(this.datePipe.transform(data.component[i].maxDate, 'yyyy-MM-dd'));\r\n maxDate.setDate(maxDate.getDate() - 1);\r\n data.component[i].maxDate = maxDate;\r\n }\r\n }\r\n }\r\n }\r\n\r\n setTimeout(() => {\r\n for (let j = 0; j < this.countForm; j++) {\r\n if (data.component[j].isEvent == true && this.configuration.component[j].itemsUrl.length == 1) {\r\n this.onChangeEvent(data.component[j].itemsUrl[0].Key, data.component[j]);\r\n }\r\n }\r\n }, 1000);\r\n });\r\n }\r\n\r\n public getJSON(url: string): Observable<any> {\r\n return this.http.get(url);\r\n }\r\n\r\n public postJSON(url: string, criteria: any = null): Observable<any> {\r\n return this.http.post(url, criteria);\r\n }\r\n\r\n searchClick() {\r\n // for(let i=0;i<this.countForm;i++){\r\n // if(this.configuration.component[i].type == \"datepicker\"){\r\n // if ((i != (this.countForm-1)) && (this.configuration.component[i].name != this.configuration.component[i+1].name)){\r\n // this.checkInputDate(this.configuration.component[i]);\r\n // }\r\n // }\r\n // }\r\n // if(this.dateWrong) return;\r\n\r\n let order = null;\r\n if (this.configuration.orderby != null) {\r\n order = {\r\n key: this.configuration.orderby.key,\r\n value: this.configuration.orderby.value\r\n }\r\n }\r\n this.pageNow = 1;\r\n this.search(this.apiUrl, this.pageNow, this.pageSize, order, this.arrCrit);\r\n }\r\n\r\n reset() {\r\n this.searchForm.resetForm();\r\n this.ExportType = this.ExportTypeList[0].key;\r\n this.initiateForm();\r\n }\r\n\r\n search(apiUrl: string, pageNo: number, rowPerPage: number, orderBy: any, addCrit: CriteriaObj[] = new Array()) {\r\n let request = new RequestCriteriaObj();\r\n let arrCrit = new Array();\r\n let IsQueryIn = false;\r\n let IsBreak = false;\r\n\r\n // Inject whereQuery for where criteria\r\n if (this.searchInput.whereValue != undefined && this.searchInput.whereValue.length != 0) {\r\n this.configuration.querystring.whereQuery = new Array<any>();\r\n for (let x = 0; x < this.searchInput.whereValue.length; x++) {\r\n this.configuration.querystring.whereQuery.push(this.searchInput.whereValue[x].value);\r\n }\r\n }\r\n request.pageNo = pageNo;\r\n request.rowPerPage = rowPerPage;\r\n request.orderBy = orderBy;\r\n request.queryString = this.configuration.querystring;\r\n\r\n for (let i = 0; i < this.countForm; i++) {\r\n let critObj = new CriteriaObj();\r\n let component = this.myForm.nativeElement[i];\r\n\r\n // // popup message if required\r\n // if (component.getAttribute('data-required') != null && component.getAttribute('data-required') == \"true\") {\r\n // let val = component.value.trim();\r\n // if (val == \"\") {\r\n // IsBreak = true;\r\n // let label = component.getAttribute('label');\r\n // this.toastr.warning(\"Please input \" + label);\r\n // break;\r\n // }\r\n // }\r\n\r\n critObj.DataType = component.getAttribute('data-type');\r\n //Ini khusus kalau dari Drop Down\r\n if (component.getAttribute('query-in') != null && component.getAttribute('query-in') == \"true\") {\r\n IsQueryIn = true;\r\n }\r\n else {\r\n IsQueryIn = false;\r\n }\r\n if (component.value != \"\") {\r\n if (component.nodeName == 'SELECT') {\r\n let ddl = component.options;\r\n let text = ddl[ddl.selectedIndex].value.trim();\r\n if (text == \"one\") {\r\n IsBreak = true;\r\n let label = component.getAttribute('label');\r\n this.toastr.warning(\"Please select \" + label);\r\n break;\r\n }\r\n if (text != \"all\" && text != \"one\") {\r\n //Kalau Dari Dropdown udah pasti pake Eq\r\n critObj.restriction = AdInsConstant.RestrictionEq;\r\n critObj.propName = component.name;\r\n critObj.value = text;\r\n arrCrit.push(critObj);\r\n } else if (text == \"all\" && IsQueryIn == true && component.options.length != 0) {\r\n let ddlList = new Array();\r\n for (let x = 0; x < component.options.length; x++) {\r\n if (x != 0) {\r\n ddlList.push(component.options[x].value);\r\n }\r\n }\r\n if (ddlList.length != 0) {\r\n critObj.restriction = AdInsConstant.RestrictionIn;\r\n critObj.propName = component.name;\r\n critObj.listValue = ddlList;\r\n arrCrit.push(critObj);\r\n }\r\n }\r\n }\r\n else {\r\n //Kalau ada Percent maka yang dipake nnti adalah Restrictions Like\r\n if (component.name != \"\") {\r\n critObj.propName = component.name;\r\n } else {\r\n critObj.propName = component.getAttribute('data-name');\r\n }\r\n critObj.value = component.value.trim();\r\n if (component.value.includes(\"%\")) {\r\n critObj.restriction = AdInsConstant.RestrictionLike;\r\n }\r\n //kalau componentnya Date, restrictionsnya lgsg ambil dari property JSONnya\r\n else if (component.getAttribute('data-restriction') != \"\" && component.getAttribute('data-restriction') != null) {\r\n critObj.restriction = component.getAttribute('data-restriction');\r\n if (component.getAttribute('data-type') == 'numeric') {\r\n critObj.value = parseFloat(component.value.replace(/,/g, '')).toString();\r\n }\r\n if (critObj.restriction.toUpperCase() == \"LIKE\") {\r\n critObj.value = \"%\" + component.value.trim() + \"%\";\r\n critObj.restriction = AdInsConstant.RestrictionLike\r\n }\r\n }\r\n else {\r\n critObj.restriction = AdInsConstant.RestrictionEq\r\n }\r\n arrCrit.push(critObj);\r\n }\r\n }\r\n }\r\n\r\n if (IsBreak) {\r\n return;\r\n }\r\n\r\n if (addCrit != null && addCrit != undefined) {\r\n if (addCrit.length != 0) {\r\n for (var i = 0; i < addCrit.length; i++) {\r\n arrCrit.push(addCrit[i]);\r\n }\r\n } else if (this.searchInput.addCritInput != null || this.searchInput.addCritInput != undefined) {\r\n for (var i = 0; i < this.searchInput.addCritInput.length; i++) {\r\n arrCrit.push(this.searchInput.addCritInput[i]);\r\n }\r\n }\r\n }\r\n else if (this.searchInput.addCritInput != null || this.searchInput.addCritInput != undefined) {\r\n for (var i = 0; i < this.searchInput.addCritInput.length; i++) {\r\n arrCrit.push(this.searchInput.addCritInput[i]);\r\n }\r\n }\r\n\r\n request.criteria = arrCrit;\r\n\r\n if (!this.searchInput.isJoinExAPI) {\r\n request.integrationObj = null;\r\n } else {\r\n request.integrationObj = this.searchInput.integrationObj;\r\n }\r\n\r\n this.http.post(apiUrl, request).subscribe((response) => {\r\n let qryPaging = {\r\n response: response,\r\n pageNow: pageNo\r\n }\r\n console.log(qryPaging);\r\n this.result.emit(qryPaging);\r\n return response;\r\n });\r\n }\r\n\r\n GenerateReport() {\r\n this.genRpt.emit({ ExportType: this.ExportType, ElRef: this.myForm });\r\n }\r\n\r\n lessThanFour(): boolean {\r\n if (this.countForm > 3) {\r\n return false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n\r\n resolveObject(obj: any, url: string, crit: RequestCriteriaObj = null) {\r\n const val = this.postJSON(url, crit);\r\n val.subscribe(tempData => {\r\n obj.itemsUrl = new Array();\r\n obj.itemsUrl = tempData.ReturnObject;\r\n });\r\n }\r\n\r\n transformAmount(element: any) {\r\n this.formattedAmount = parseFloat(element.target.value).toLocaleString('en');\r\n // to show the formatted amount in the textbox.\r\n element.target.value = this.formattedAmount;\r\n }\r\n\r\n transformToDecimal(element: any) {\r\n element.target.value = parseFloat(element.target.value.toString().replace(/,/g, ''));\r\n }\r\n\r\n exportAsXLSX(): void {\r\n var request = new RequestCriteriaObj();\r\n request.pageNo = 1;\r\n request.rowPerPage = 9999;\r\n request.orderBy = null;\r\n request.criteria = [];\r\n request.queryString = this.configuration.querystring;\r\n if (!this.searchInput.isJoinExAPI) {\r\n request.integrationObj = null;\r\n } else {\r\n request.integrationObj = this.searchInput.integrationObj;\r\n }\r\n\r\n this.http.post(this.apiUrl, request).subscribe(\r\n response => {\r\n this.ExcelData = response[\"Data\"];\r\n this.excelService.exportAsExcelFile(this.ExcelData, 'sample');\r\n },\r\n (error) => {\r\n console.log(error);\r\n });\r\n }\r\n\r\n onChangeEvent(optValue, afFilter) {\r\n var jsonComp = this.configuration.component;\r\n\r\n for (var i = 0; i < afFilter.affectedFilter.length; i++) {\r\n for (var j = 0; j < jsonComp.length; j++) {\r\n if (jsonComp[j].name == afFilter.affectedFilter[i]) {\r\n var request = new RequestCriteriaObj();\r\n var arrayCrit = new Array();\r\n\r\n if (optValue != \"all\" && optValue != \"one\") {\r\n var critObj = new CriteriaObj();\r\n critObj.DataType = afFilter.datatype;\r\n if (afFilter.filterPropName != undefined || afFilter.filterPropName != \"\") {\r\n request[afFilter.filterPropName] = optValue;\r\n critObj.propName = afFilter.filterPropName;\r\n } else {\r\n critObj.propName = afFilter.name;\r\n request[afFilter.name] = optValue;\r\n }\r\n critObj.value = optValue;\r\n critObj.restriction = AdInsConstant.RestrictionEq;\r\n arrayCrit.push(critObj);\r\n }\r\n request.criteria = arrayCrit;\r\n if (jsonComp[j].path != undefined && jsonComp[j].path != \"\") {\r\n if (this.searchInput.ddlEnvironments != undefined && this.searchInput.ddlEnvironments.length != 0) {\r\n for (let y = 0; y < this.searchInput.ddlEnvironments.length; y++) {\r\n if (jsonComp[j].name == this.searchInput.ddlEnvironments[y].name) {\r\n jsonComp[j].fullpath = this.searchInput.ddlEnvironments[y].environment + jsonComp[j].path;\r\n break;\r\n }\r\n }\r\n } else if (this.searchInput.listEnvironments != undefined && this.searchInput.listEnvironments.length != 0) {\r\n for (let y = 0; y < this.searchInput.listEnvironments.length; y++) {\r\n if (jsonComp.component[j].environment == this.searchInput.listEnvironments[y].environment) {\r\n jsonComp.component[j].fullpath = this.searchInput.listEnvironments[y].url + jsonComp.component[j].path;\r\n break;\r\n }\r\n }\r\n } else {\r\n jsonComp[j].fullpath = jsonComp[j].url;\r\n }\r\n\r\n } else {\r\n jsonComp[j].fullpath = jsonComp[j].url;\r\n }\r\n this.resolveObject(jsonComp[j], jsonComp[j].fullpath, request);\r\n }\r\n }\r\n }\r\n }\r\n\r\n switchCase(condList) {\r\n var condition = false;\r\n\r\n for (var i = 0; i < condList.conditions.length; i++) {\r\n var idx = this.searchInput.switchValue.findIndex(x => x.property == condList.conditions[i].property);\r\n if (condList.conditions[i].restriction == \"EQ\") {\r\n if (condList.conditions[i].isUser != true) {\r\n if (this.searchInput.switchValue[idx].value == condList.conditions[i].value) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n } else {\r\n var username = localStorage.getItem(\"Username\");\r\n if (this.searchInput.switchValue[idx].value == username) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n }\r\n } else if (condList.conditions[i].restriction == \"NEQ\") {\r\n if (condList.conditions[i].isUser != true) {\r\n if (this.searchInput.switchValue[idx].value != condList.conditions[i].value) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n } else {\r\n var username = localStorage.getItem(\"Username\");\r\n if (this.searchInput.switchValue[idx].value != username) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n }\r\n } else if (condList.conditions[i].restriction == \"GT\") {\r\n if (condList.conditions[i].isUser != true) {\r\n if (this.searchInput.switchValue[idx].value > condList.conditions[i].value) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n } else {\r\n var username = localStorage.getItem(\"Username\");\r\n if (this.searchInput.switchValue[idx].value > username) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n }\r\n } else if (condList.conditions[i].restriction == \"GTE\") {\r\n if (condList.conditions[i].isUser != true) {\r\n if (this.searchInput.switchValue[idx].value >= condList.conditions[i].value) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n } else {\r\n var username = localStorage.getItem(\"Username\");\r\n if (this.searchInput.switchValue[idx].value >= username) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n }\r\n } else if (condList.conditions[i].restriction == \"LT\") {\r\n if (condList.conditions[i].isUser != true) {\r\n if (this.searchInput.switchValue[idx].value < condList.conditions[i].value) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n } else {\r\n var username = localStorage.getItem(\"Username\");\r\n if (this.searchInput.switchValue[idx].value < username) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n }\r\n } else if (condList.conditions[i].restriction == \"LTE\") {\r\n if (condList.conditions[i].isUser != true) {\r\n if (this.searchInput.switchValue[idx].value <= condList.conditions[i].value) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n } else {\r\n var username = localStorage.getItem(\"Username\");\r\n if (this.searchInput.switchValue[idx].value <= username) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n return condition;\r\n\r\n }\r\n\r\n private DecryptString(chipperText: string, chipperKey: string) {\r\n if (\r\n chipperKey == undefined || chipperKey.trim() == '' ||\r\n chipperText == undefined || chipperText.trim() == ''\r\n ) return chipperText;\r\n var chipperKeyArr = CryptoJS.enc.Utf8.parse(chipperKey);\r\n var iv = CryptoJS.lib.WordArray.create([0x00, 0x00, 0x00, 0x00]);\r\n var decrypted = CryptoJS.AES.decrypt(chipperText, chipperKeyArr, { iv: iv });\r\n var plainText = decrypted.toString(CryptoJS.enc.Utf8);\r\n return plainText;\r\n }\r\n\r\n checkInputDate(component: any) {\r\n let minDateVal;\r\n let maxDateVal;\r\n let label;\r\n let errorMessage = new Array<string>();\r\n\r\n let MinComponent = this.configuration.component.find(x => x.name == component.name && (x.restriction.toUpperCase() == \"GTE\")) == undefined ? this.configuration.component.find(x => x.name == component.name && (x.restriction.toUpperCase() == \"GT\")) : this.configuration.component.find(x => x.name == component.name && (x.restriction.toUpperCase() == \"GTE\"));\r\n if (MinComponent != undefined) {\r\n minDateVal = this.myForm.nativeElement[MinComponent.id].min == \"\" ? null : new Date(this.myForm.nativeElement[MinComponent.id].min);\r\n label = MinComponent.label.split(\">\", 2);\r\n if(minDateVal != null){\r\n if (MinComponent.restriction.toUpperCase() == \"GT\") {\r\n minDateVal.setDate(minDateVal.getDate() - 1);\r\n errorMessage.push(\" must be greater than \");\r\n } else if (MinComponent.restriction.toUpperCase() == \"GTE\") {\r\n errorMessage.push(\" must be greater than or equals to \");\r\n }\r\n }\r\n }\r\n\r\n let MaxComponent = this.configuration.component.find(x => x.name == component.name && (x.restriction.toUpperCase() == \"LTE\")) == undefined ? this.configuration.component.find(x => x.name == component.name && (x.restriction.toUpperCase() == \"LT\")) : this.configuration.component.find(x => x.name == component.name && (x.restriction.toUpperCase() == \"LTE\"));\r\n if (MaxComponent != undefined) {\r\n maxDateVal = this.myForm.nativeElement[MaxComponent.id].max == \"\" ? null : new Date(this.myForm.nativeElement[MaxComponent.id].max);\r\n label = MaxComponent.label.split(\"<\", 2);\r\n if(maxDateVal != null){\r\n if (MaxComponent.restriction.toUpperCase() == \"LT\") {\r\n maxDateVal.setDate(maxDateVal.getDate() + 1);\r\n errorMessage.push(\" must be less than \");\r\n } else if (MaxComponent.restriction.toUpperCase() == \"LTE\") {\r\n errorMessage.push(\" must be less than or equals to \");\r\n }\r\n }\r\n }\r\n\r\n if (minDateVal != null && maxDateVal == null && new Date(this.myForm.nativeElement[MinComponent.id].value) < minDateVal) {\r\n this.toastr.warning(label[0] + errorMessage[0] + formatDate(minDateVal, 'dd MMMM yyyy', 'en-US') + \".\")\r\n this.dateWrong = true;\r\n } else if (maxDateVal != null && minDateVal == null && new Date(this.myForm.nativeElement[MaxComponent.id].value) > maxDateVal) {\r\n this.toastr.warning(label[0] + errorMessage[0] + formatDate(maxDateVal, 'dd MMMM yyyy', 'en-US') + \".\")\r\n this.dateWrong = true;\r\n } else if (minDateVal != null && maxDateVal != null) {\r\n if (new Date(this.myForm.nativeElement[MaxComponent.id].value) > maxDateVal || new Date(this.myForm.nativeElement[MinComponent.id].value) < minDateVal) {\r\n this.toastr.warning(label[0] + errorMessage[0] + formatDate(minDateVal, 'dd MMMM yyyy', 'en-US') + \" and\" + errorMessage[1] + formatDate(maxDateVal, 'dd MMMM yyyy', 'en-US') + \".\")\r\n this.dateWrong = true;\r\n } else {\r\n this.dateWrong = false;\r\n }\r\n } else {\r\n this.dateWrong = false;\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { UCSearchComponent } from './ucsearch.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CurrencyMaskInputMode, NgxCurrencyModule } from 'ngx-currency';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { UcShowErrorsModule } from '@adins/uc-show-errors';\r\n\r\nexport const customCurrencyMaskConfig = { \r\n align: \"right\",\r\n allowNegative: false,\r\n allowZero: true,\r\n decimal: \".\",\r\n precision: 2,\r\n prefix: \"\",\r\n suffix: \"\",\r\n thousands: \",\",\r\n nullable: false,\r\n inputMode: CurrencyMaskInputMode.NATURAL };\r\n\r\n@NgModule({\r\n declarations: [UCSearchComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n UcShowErrorsModule,\r\n NgxCurrencyModule.forRoot(customCurrencyMaskConfig),\r\n TranslateModule.forChild()\r\n ],\r\n exports: [UCSearchComponent]\r\n})\r\nexport class UCSearchModule { }\r\n"]}
|