@adins/ucsearch 2.9.22 → 2.10.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.
- package/README.md +2 -81
- package/adins-ucsearch.d.ts +1 -1
- package/adins-ucsearch.metadata.json +1 -0
- package/bundles/adins-ucsearch.umd.js +1536 -0
- package/bundles/adins-ucsearch.umd.js.map +1 -0
- package/bundles/adins-ucsearch.umd.min.js +2 -0
- package/bundles/adins-ucsearch.umd.min.js.map +1 -0
- package/esm2015/adins-ucsearch.js +10 -0
- package/esm2015/lib/model/adins-constant.js +68 -0
- package/esm2015/lib/model/criteria-obj.model.js +31 -0
- package/esm2015/lib/model/input-search-obj.model.js +105 -0
- package/esm2015/lib/model/integration-obj.model.js +30 -0
- package/esm2015/lib/model/key-value-report.model.js +36 -0
- package/esm2015/lib/model/key-value-uc-search.model.js +54 -0
- package/esm2015/lib/model/request-criteria-obj.model.js +42 -0
- package/esm2015/lib/services/excel-service/excel-service.js +49 -0
- package/esm2015/lib/ucsearch.component.js +1255 -0
- package/esm2015/lib/ucsearch.module.js +42 -0
- package/esm2015/lib/ucsearch.service.js +18 -0
- package/esm2015/public-api.js +11 -0
- package/esm5/adins-ucsearch.js +10 -0
- package/esm5/lib/model/adins-constant.js +72 -0
- package/esm5/lib/model/criteria-obj.model.js +33 -0
- package/esm5/lib/model/input-search-obj.model.js +117 -0
- package/esm5/lib/model/integration-obj.model.js +32 -0
- package/esm5/lib/model/key-value-report.model.js +42 -0
- package/esm5/lib/model/key-value-uc-search.model.js +58 -0
- package/esm5/lib/model/request-criteria-obj.model.js +44 -0
- package/esm5/lib/services/excel-service/excel-service.js +63 -0
- package/esm5/lib/ucsearch.component.js +1362 -0
- package/esm5/lib/ucsearch.module.js +46 -0
- package/esm5/lib/ucsearch.service.js +21 -0
- package/esm5/public-api.js +11 -0
- package/fesm2015/adins-ucsearch.js +1411 -0
- package/fesm2015/adins-ucsearch.js.map +1 -0
- package/fesm5/adins-ucsearch.js +1546 -0
- package/fesm5/adins-ucsearch.js.map +1 -0
- package/lib/model/adins-constant.d.ts +0 -21
- package/lib/model/key-value-report.model.d.ts +0 -1
- package/lib/services/excel-service/excel-service.d.ts +5 -0
- package/lib/ucsearch.component.d.ts +12 -28
- package/lib/ucsearch.module.d.ts +0 -12
- package/lib/ucsearch.service.d.ts +0 -3
- package/package.json +13 -24
- package/esm2020/adins-ucsearch.mjs +0 -5
- package/esm2020/lib/model/adins-constant.mjs +0 -52
- package/esm2020/lib/model/criteria-obj.model.mjs +0 -9
- package/esm2020/lib/model/input-search-obj.model.mjs +0 -45
- package/esm2020/lib/model/integration-obj.model.mjs +0 -12
- package/esm2020/lib/model/key-value-report.model.mjs +0 -15
- package/esm2020/lib/model/key-value-uc-search.model.mjs +0 -38
- package/esm2020/lib/model/request-criteria-obj.model.mjs +0 -14
- package/esm2020/lib/pipe/text-search.pipe.mjs +0 -24
- package/esm2020/lib/services/export-file.service.mjs +0 -61
- package/esm2020/lib/ucsearch.component.mjs +0 -1043
- package/esm2020/lib/ucsearch.module.mjs +0 -55
- package/esm2020/lib/ucsearch.service.mjs +0 -14
- package/esm2020/public-api.mjs +0 -7
- package/fesm2015/adins-ucsearch.mjs +0 -1371
- package/fesm2015/adins-ucsearch.mjs.map +0 -1
- package/fesm2020/adins-ucsearch.mjs +0 -1360
- package/fesm2020/adins-ucsearch.mjs.map +0 -1
- package/lib/pipe/text-search.pipe.d.ts +0 -7
- package/lib/services/export-file.service.d.ts +0 -12
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adins-ucsearch.umd.js.map","sources":["ng://@adins/ucsearch/lib/ucsearch.service.ts","ng://@adins/ucsearch/lib/model/adins-constant.ts","ng://@adins/ucsearch/lib/model/integration-obj.model.ts","ng://@adins/ucsearch/lib/model/input-search-obj.model.ts","ng://@adins/ucsearch/lib/model/criteria-obj.model.ts","ng://@adins/ucsearch/lib/model/request-criteria-obj.model.ts","ng://@adins/ucsearch/lib/services/excel-service/excel-service.ts","ng://@adins/ucsearch/lib/model/key-value-report.model.ts","ng://@adins/ucsearch/lib/model/key-value-uc-search.model.ts","ng://@adins/ucsearch/lib/ucsearch.component.ts","ng://@adins/ucsearch/lib/ucsearch.module.ts"],"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 \"./adins-constant\";\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 \"./criteria-obj.model\";\r\nimport { IntegrationObj } from \"./integration-obj.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 listEnvironments: Array<EnvisObj>;\r\n whereValue: Array<WhereValueObj>;\r\n fromValue: Array<FromValueObj>;\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.listEnvironments = new Array<EnvisObj>();\r\n this.whereValue = new Array<WhereValueObj>();\r\n this.fromValue = new Array<FromValueObj>();\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 FromValueObj {\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 isCriteriaDataTable: boolean;\r\n\r\n constructor() {\r\n this.low = 0;\r\n this.high = 0;\r\n this.DataType = 'Text';\r\n this.isCriteriaDataTable = false;\r\n }\r\n\r\n}","import { AdInsConstant } from \"./adins-constant\";\r\nimport { CriteriaObj } from \"./criteria-obj.model\";\r\nimport { IntegrationObj } from \"./integration-obj.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}","export class KeyValueUCSearchObj {\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 ListKeyValueMonth {\r\n ListOfMonth: Array<KeyValueUCSearchObj>;\r\n DictOfMonth: { [month: number]: string } = {};\r\n constructor() {\r\n this.ListOfMonth = new Array<KeyValueUCSearchObj>();\r\n this.DictOfMonth = {}\r\n this.ListOfMonth.push({ key: 1, value: \"January\" });\r\n this.DictOfMonth[1]= \"January\";\r\n this.ListOfMonth.push({ key: 2, value: \"February\" });\r\n this.DictOfMonth[2]= \"February\";\r\n this.ListOfMonth.push({ key: 3, value: \"March\" });\r\n this.DictOfMonth[3]= \"March\";\r\n this.ListOfMonth.push({ key: 4, value: \"April\" });\r\n this.DictOfMonth[4]= \"April\";\r\n this.ListOfMonth.push({ key: 5, value: \"May\" });\r\n this.DictOfMonth[5]= \"May\";\r\n this.ListOfMonth.push({ key: 6, value: \"June\" });\r\n this.DictOfMonth[6]= \"June\";\r\n this.ListOfMonth.push({ key: 7, value: \"July\" });\r\n this.DictOfMonth[7]= \"July\";\r\n this.ListOfMonth.push({ key: 8, value: \"August\" });\r\n this.DictOfMonth[8]= \"August\";\r\n this.ListOfMonth.push({ key: 9, value: \"September\" });\r\n this.DictOfMonth[9]= \"September\";\r\n this.ListOfMonth.push({ key: 10, value: \"October\" });\r\n this.DictOfMonth[10]= \"October\";\r\n this.ListOfMonth.push({ key: 11, value: \"November\" });\r\n this.DictOfMonth[11]= \"November\";\r\n this.ListOfMonth.push({ key: 12, value: \"December\" });\r\n this.DictOfMonth[12]= \"December\";\r\n }\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/input-search-obj.model';\r\nimport { CriteriaObj } from './model/criteria-obj.model';\r\nimport { RequestCriteriaObj } from './model/request-criteria-obj.model';\r\nimport { AdInsConstant } from './model/adins-constant';\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/key-value-report.model';\r\nimport { CookieService } from 'ngx-cookie';\r\nimport * as CryptoJS from 'crypto-js';\r\nimport { KeyValueUCSearchObj, ListKeyValueMonth } from './model/key-value-uc-search.model';\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 @Output() reqGetAllData: EventEmitter<any> = new EventEmitter();\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 ListOfMonth: ListKeyValueMonth = new ListKeyValueMonth();\r\n ListOfYear: Array<KeyValueUCSearchObj> = new Array<KeyValueUCSearchObj>();\r\n ClaimList: Array<any> = [\r\n {\r\n Key: AdInsConstant.RestrictionIsNotNull,\r\n Value: \"CLAIMED\"\r\n },\r\n {\r\n Key: AdInsConstant.RestrictionIsNull,\r\n Value: \"UNCLAIMED\"\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 BusinessDt: Date = new Date();\r\n dateWrong: boolean = false;\r\n readonly: 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.BusinessDt = new Date(this.BisDt);\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 (let 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 let request = new RequestCriteriaObj();\r\n let arrayCrit = new Array();\r\n let 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.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 ddl\r\n if (data.component[i].type == \"dropdown\") {\r\n if (data.component[i].dtmType != undefined) {\r\n if (data.component[i].dtmType.includes(\"month\")) {\r\n if (data.component[i].value != undefined && data.component[i].value.includes(\"BD\")) {\r\n data.component[i].value = this.setDefaultValueMonth(data.component[i].value);\r\n }\r\n data.component[i].items = this.setMonthDDL(data.component[i].dtmType);\r\n }\r\n if (data.component[i].dtmType.includes(\"year\")) {\r\n if (data.component[i].value != undefined && data.component[i].value.includes(\"BD\")) {\r\n data.component[i].value = this.setDefaultValueYear(data.component[i].value);\r\n }\r\n data.component[i].items = this.setYearDDL(data.component[i].dtmType);\r\n }\r\n }\r\n }\r\n if (!data.component[i].value) {\r\n data.component[i].value = \"\";\r\n if (data.component[i].ddlType == 'all') data.component[i].value = \"all\";\r\n if (data.component[i].ddlType == 'one') data.component[i].value = \"one\";\r\n }\r\n //pengecekan tanggal\r\n if (data.component[i].type == \"datepicker\") {\r\n this.readonly = data.component[i].readonly\r\n\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 let operator = data.component[i].value.charAt(2);\r\n let dateShow = new Date();\r\n if (operator == \"-\") {\r\n let tempMinus = data.component[i].value.split(\"-\", 2);\r\n let numDay = parseInt(tempMinus[1]);\r\n businessDate.setDate(businessDate.getDate() - numDay);\r\n }\r\n else if (operator == \"+\") {\r\n let tempMinus = data.component[i].value.split(\"+\", 2);\r\n let numDay = parseInt(tempMinus[1]);\r\n businessDate.setDate(businessDate.getDate() + numDay);\r\n }\r\n dateShow = businessDate;\r\n let dateText = formatDate(dateShow, 'yyyy-MM-dd', 'en-US')\r\n data.component[i].value = dateText;\r\n }\r\n\r\n if (this.readonly = false){\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\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 if (data.component[j].type == \"officeRoleCodes\" && this.configuration.component[j].itemsUrl.length > 0) {\r\n this.SetRoleOfficeCodes(j);\r\n }\r\n }\r\n }, 1000);\r\n });\r\n }\r\n\r\n SetRoleOfficeCodes(i: number) {\r\n let value: string = this.cookieService.get(\"UserAccess\");\r\n let userAccess: string = JSON.parse(this.DecryptString(value, \"AdInsFOU12345678\"));\r\n let roleCode: string = userAccess[\"RoleCode\"];\r\n let listOfficeRoleCodes: Array<string> = new Array();\r\n listOfficeRoleCodes.push(roleCode);\r\n let component = this.myForm.nativeElement[i];\r\n let ddl = component.options;\r\n let text = ddl[ddl.selectedIndex].value.trim();\r\n if (this.configuration.component[i].itemsUrl.length == 1 || (this.configuration.component[i].ddlType == 'all' && text == 'all')) {\r\n for (let index = 0; index < this.configuration.component[i].itemsUrl.length; index++) {\r\n const element = this.configuration.component[i].itemsUrl[index];\r\n listOfficeRoleCodes.push(element.Key);\r\n listOfficeRoleCodes.push(roleCode + \"-\" + element.Key);\r\n }\r\n } else {\r\n listOfficeRoleCodes.push(text);\r\n listOfficeRoleCodes.push(roleCode + \"-\" + text);\r\n }\r\n\r\n this.searchInput.integrationObj.requestObj[\"OfficeRoleCodes\"] = listOfficeRoleCodes;\r\n }\r\n\r\n setDefaultValueMonth(value) {\r\n let businessDate = new Date(this.BusinessDt);\r\n let operator = value.charAt(2);\r\n let tempValue = value.split(operator, 2);\r\n let numMonth = parseInt(tempValue[1]);\r\n if (!numMonth) numMonth = 1;\r\n if (operator == \"-\") {\r\n businessDate.setMonth(businessDate.getMonth() - numMonth);\r\n }\r\n else if (operator == \"+\") {\r\n businessDate.setMonth(businessDate.getMonth() + numMonth);\r\n }\r\n return businessDate.getMonth();\r\n }\r\n setMonthDDL(month) {\r\n let ListOfMonth: Array<KeyValueUCSearchObj>;\r\n let equation = month.match(\"[\\\\/+][-]|[-][\\\\/+]|\\\\/+|-\");\r\n let toMin: number = this.BusinessDt.getMonth();\r\n let toMax: number = this.BusinessDt.getMonth();\r\n let tempEquation = equation[0];\r\n let minMax: number = parseInt(month.substring(equation.index + equation[0].length));\r\n if (minMax >= 12) return this.ListOfMonth.ListOfMonth;\r\n if ((tempEquation == \"+-\" || tempEquation == \"-+\") && minMax >= 6) return this.ListOfMonth.ListOfMonth;\r\n let dictOfMonth: { [month: number]: string } = this.ListOfMonth.DictOfMonth;\r\n ListOfMonth.push({ key: toMin, value: dictOfMonth[toMin] });\r\n\r\n for (let q = 0; q < minMax; q++) {\r\n if (tempEquation.includes(\"-\")) {\r\n toMin--;\r\n if (toMin == 0) toMin = 12;\r\n ListOfMonth.push({ key: toMin, value: dictOfMonth[toMin] });\r\n }\r\n if (tempEquation.includes(\"+\")) {\r\n toMax++;\r\n if (toMax == 13) toMax = 1;\r\n ListOfMonth.push({ key: toMax, value: dictOfMonth[toMax] });\r\n }\r\n }\r\n ListOfMonth.sort((a, b) => {\r\n return a.key - b.key;\r\n });\r\n return ListOfMonth;\r\n }\r\n\r\n setDefaultValueYear(value) {\r\n let businessDate = new Date(this.BusinessDt);\r\n let operator = value.charAt(2);\r\n let tempValue = value.split(operator, 2);\r\n let numYear = parseInt(tempValue[1]);\r\n if (!numYear) numYear = 1;\r\n if (operator == \"-\") {\r\n businessDate.setFullYear(businessDate.getFullYear() - numYear);\r\n }\r\n else if (operator == \"+\") {\r\n businessDate.setFullYear(businessDate.getFullYear() + numYear);\r\n }\r\n return businessDate.getFullYear();\r\n }\r\n setYearDDL(year) {\r\n this.ListOfYear = new Array<KeyValueUCSearchObj>();\r\n let equation = year.match(\"[\\\\/+][-]|[-][\\\\/+]|\\\\/+|-\");\r\n let toMin: number = this.BusinessDt.getFullYear();\r\n let toMax: number = this.BusinessDt.getFullYear();\r\n let minMax: number = parseInt(year.substring(equation.index + equation[0].length));\r\n this.ListOfYear.push({ key: this.BusinessDt.getFullYear(), value: this.BusinessDt.getFullYear().toString() });\r\n\r\n for (let q = 0; q < minMax; q++) {\r\n if (equation[0] == \"-+\" || equation[0] == \"+-\") {\r\n toMin--;\r\n toMax++;\r\n this.ListOfYear.push({ key: toMin, value: toMin.toString() }, { key: toMax, value: toMax.toString() });\r\n } else if (equation[0] == \"-\") {\r\n toMin--;\r\n this.ListOfYear.push({ key: toMin, value: toMin.toString() });\r\n } else if (equation[0] == \"+\") {\r\n toMax++;\r\n this.ListOfYear.push({ key: toMax, value: toMax.toString() });\r\n }\r\n }\r\n this.ListOfYear.sort((a, b) => {\r\n return a.key - b.key;\r\n });\r\n return this.ListOfYear;\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 ExportType: this.ExportTypeList[0].key\r\n });\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 if (this.searchInput.fromValue != undefined && this.searchInput.fromValue.length != 0) {\r\n this.configuration.querystring.fromQuery = new Array<any>();\r\n for (let x = 0; x < this.searchInput.fromValue.length; x++) {\r\n this.configuration.querystring.fromQuery.push(this.searchInput.fromValue[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\r\n if (component.getAttribute('data-crit-datatable') != \"\" && component.getAttribute('data-crit-datatable') != null) {\r\n critObj.isCriteriaDataTable = component.getAttribute('data-crit-datatable');\r\n }\r\n \r\n if (this.configuration.component[i].type == \"taskDefinitionKey\" || \r\n this.configuration.component[i].type == \"processKey\") \r\n continue;\r\n\r\n if (this.configuration.component[i].type == \"claim\") {\r\n critObj.propName = component.getAttribute('data-name');\r\n critObj.restriction = text;\r\n critObj.value = null;\r\n arrCrit.push(critObj);\r\n } else {\r\n if (text != \"all\" && text != \"one\") {\r\n //Kalau Dari Dropdown udah pasti pake Eq\r\n critObj.restriction = AdInsConstant.RestrictionEq;\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 = 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 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.listValue = ddlList;\r\n arrCrit.push(critObj);\r\n }\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 if (component.getAttribute('data-crit-datatable') != \"\" && component.getAttribute('data-crit-datatable') != null) {\r\n critObj.isCriteriaDataTable = component.getAttribute('data-crit-datatable');\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 (let 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 (let 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 (let 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 this.reqGetAllData.emit(request);\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 if(obj.exclude != undefined && obj.exclude != \"\"){\r\n obj.itemsUrl = obj.itemsUrl.filter((value) => !obj.exclude.includes(value.Key));\r\n }\r\n\r\n if(obj.affectedFilter && obj.itemsUrl.length == 1){\r\n this.onChangeEvent(obj.itemsUrl[0].Key, obj);\r\n }\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 let 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 let jsonComp = this.configuration.component;\r\n\r\n for (let i = 0; i < afFilter.affectedFilter.length; i++) {\r\n for (let j = 0; j < jsonComp.length; j++) {\r\n if (jsonComp[j].name == afFilter.affectedFilter[i]) {\r\n let request = new RequestCriteriaObj();\r\n let arrayCrit = new Array();\r\n\r\n if (optValue != \"all\" && optValue != \"one\") {\r\n let 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.listEnvironments != undefined && this.searchInput.listEnvironments.length != 0) {\r\n for (let y = 0; y < this.searchInput.listEnvironments.length; y++) {\r\n if (jsonComp[j].environment == this.searchInput.listEnvironments[y].environment) {\r\n jsonComp[j].fullpath = this.searchInput.listEnvironments[y].url + jsonComp[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 SetProcessKey(idx: number,wfKeyFilter: string) {\r\n let component = this.myForm.nativeElement[idx];\r\n let ddl = component.options;\r\n let text = ddl[ddl.selectedIndex].value.trim();\r\n if (text) {\r\n this.searchInput.integrationObj.requestObj[wfKeyFilter] = text;\r\n }\r\n }\r\n\r\n switchCase(condList) {\r\n let condition = false;\r\n\r\n for (let i = 0; i < condList.conditions.length; i++) {\r\n let 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 let 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 let 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 let 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 let 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 let 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 let 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 let chipperKeyArr = CryptoJS.enc.Utf8.parse(chipperKey);\r\n let iv = CryptoJS.lib.WordArray.create([0x00, 0x00, 0x00, 0x00]);\r\n let decrypted = CryptoJS.AES.decrypt(chipperText, chipperKeyArr, { iv: iv });\r\n let 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\nimport { UcDirectiveUpperCaseModule } from '@adins/uc-directive-upper-case';\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 UcDirectiveUpperCaseModule,\r\n NgxCurrencyModule.forRoot(customCurrencyMaskConfig),\r\n TranslateModule.forChild()\r\n ],\r\n exports: [UCSearchComponent]\r\n})\r\nexport class UCSearchModule { }\r\n"],"names":["Injectable","XLSX.utils","XLSX.write","FileSaver.saveAs","http","EventEmitter","formatDate","CryptoJS.enc","CryptoJS.lib","CryptoJS.AES","Component","DatePipe","trigger","state","style","transition","animate","HttpClient","Renderer2","Inject","DOCUMENT","ToastrService","CookieService","ViewChild","Input","Output","CurrencyMaskInputMode","NgModule","CommonModule","FormsModule","UcShowErrorsModule","UcDirectiveUpperCaseModule","NgxCurrencyModule","TranslateModule"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/common/http"),require("@angular/platform-browser"),require("file-saver"),require("xlsx"),require("@angular/animations"),require("ngx-toastr"),require("ngx-cookie"),require("crypto-js"),require("@angular/core"),require("@angular/common"),require("@angular/forms"),require("ngx-currency"),require("@ngx-translate/core"),require("@adins/uc-show-errors"),require("@adins/uc-directive-upper-case")):"function"==typeof define&&define.amd?define("@adins/ucsearch",["exports","@angular/common/http","@angular/platform-browser","file-saver","xlsx","@angular/animations","ngx-toastr","ngx-cookie","crypto-js","@angular/core","@angular/common","@angular/forms","ngx-currency","@ngx-translate/core","@adins/uc-show-errors","@adins/uc-directive-upper-case"],t):t((e.adins=e.adins||{},e.adins.ucsearch={}),e.ng.common.http,e.ng.platformBrowser,e.FileSaver,e.XLSX,e.ng.animations,e.ngxToastr,e.ngxCookie,e.CryptoJS,e.ng.core,e.ng.common,e.ng.forms,e.ngxCurrency,e.core,e.ucShowErrors,e.ucDirectiveUpperCase)}(this,function(e,t,n,i,o,r,a,s,u,l,f,c,p,d,m,h){"use strict";var y=(g.decorators=[{type:l.Injectable,args:[{providedIn:"root"}]}],g.ctorParameters=function(){return[]},g.ngInjectableDef=l.defineInjectable({factory:function(){return new g},token:g,providedIn:"root"}),g);function g(){}var v=(q.RestrictionBetween="Between",q.RestrictionLike="Like",q.RestrictionEq="Eq",q.RestrictionNeq="NEQ",q.RestrictionGt="GT",q.RestrictionGte="GTE",q.RestrictionLt="LT",q.RestrictionLte="LTE",q.RestrictionIn="IN",q.RestrictionNotIn="NotIn",q.RestrictionOr="Or",q.RestrictionOrNeq="OrNeq",q.RestrictionIsNull="ISNULL",q.RestrictionIsNotNull="ISNOTNULL",q.RestrictionGTE="GTE",q.RestrictionLTE="LTE",q.showData="10,50,100",q.JoinTypeInner="INNER",q.JoinTypeLeft="LEFT",q);function q(){}var b=function U(){this.baseUrl="",this.apiPath="",this.requestObj=new Object,this.leftColumnToJoin="",this.rightColumnToJoin="",this.joinType=v.JoinTypeInner},I=function R(){this._url="",this.enviromentUrl="",this.title="",this.apiQryPaging="",this.arrCritObj=null,this.addCritInput=new Array,this.listEnvironments=new Array,this.whereValue=new Array,this.fromValue=new Array,this.switchValue=new Array,this.integrationObj=new b,this.isJoinExAPI=!1},D=function j(){this.low=0,this.high=0,this.DataType="Text",this.isCriteriaDataTable=!1},w=function A(){this.includeCount=!0,this.includeData=!0,this.isLoading=!0,this.queryString="",this.rowVersion="",this.integrationObj=new b,this.joinType=v.JoinTypeInner},E=(F.prototype.exportAsExcelFile=function(e,t){var n=o.utils.json_to_sheet(e);console.log("worksheet",n);var i={Sheets:{data:n},SheetNames:["data"]},r=o.write(i,{bookType:"xlsx",type:"array"});this.saveAsExcelFile(r,t)},F.prototype.saveAsExcelFile=function(e,t){var n=new Blob([e],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8"});i.saveAs(n,t+"_export_"+(new Date).getTime()+".xlsx")},F.decorators=[{type:l.Injectable}],F.ctorParameters=function(){return[]},F);function F(){}var x=(T.EXP_TYPE_PDF=0,T.EXP_TYPE_XLS=1,T.EXP_TYPE_XLSX=2,T.EXP_TYPE_DOC=3,T.EXP_TYPE_DOCX=4,T);function T(){}var C=function N(){this.DictOfMonth={},this.ListOfMonth=new Array,this.DictOfMonth={},this.ListOfMonth.push({key:1,value:"January"}),this.DictOfMonth[1]="January",this.ListOfMonth.push({key:2,value:"February"}),this.DictOfMonth[2]="February",this.ListOfMonth.push({key:3,value:"March"}),this.DictOfMonth[3]="March",this.ListOfMonth.push({key:4,value:"April"}),this.DictOfMonth[4]="April",this.ListOfMonth.push({key:5,value:"May"}),this.DictOfMonth[5]="May",this.ListOfMonth.push({key:6,value:"June"}),this.DictOfMonth[6]="June",this.ListOfMonth.push({key:7,value:"July"}),this.DictOfMonth[7]="July",this.ListOfMonth.push({key:8,value:"August"}),this.DictOfMonth[8]="August",this.ListOfMonth.push({key:9,value:"September"}),this.DictOfMonth[9]="September",this.ListOfMonth.push({key:10,value:"October"}),this.DictOfMonth[10]="October",this.ListOfMonth.push({key:11,value:"November"}),this.DictOfMonth[11]="November",this.ListOfMonth.push({key:12,value:"December"}),this.DictOfMonth[12]="December"},M=(Object.defineProperty(k.prototype,"content",{set:function(e){e&&(this.searchForm=e)},enumerable:!0,configurable:!0}),k.prototype.changeState=function(){this.currentState="initial"===this.currentState?"final":"initial",this.isHidden=!1===this.isHidden},k.prototype.ngOnInit=function(){console.log("ucsearch"),this.apiUrl=this.searchInput.enviromentUrl+this.searchInput.apiQryPaging,this.arrCrit=this.searchInput.arrCritObj;var e=this._renderer2.createElement("script");e.text='\n $(document).ready(function(){\n $("#flip").click(function(){\n $("#panel").slideToggle("slow");\n });\n });\n ',this._renderer2.appendChild(this._document.body,e);var t=this.cookieService.get("BusinessDateRaw");this.BisDt=this.DecryptString(t,"AdInsFOU12345678"),this.BusinessDt=new Date(this.BisDt),this.initiateForm()},k.prototype.initiateForm=function(){var h=this;this.getJSON(this.searchInput._url).subscribe(function(t){h.configuration=t,h.exportData=t.exportExcel,t.exportTypeList!=undefined&&0!=t.exportTypeList.length&&(h.ExportTypeList=t.exportTypeList,h.ExportType=h.ExportTypeList[0].key),h.countForm=t.component.length,h.isDataLoaded=!0,h.searchInput.title!=undefined&&""!=h.searchInput.title&&(h.configuration.title=h.searchInput.title);for(var e=0;e<h.countForm;e++){if(1==t.component[e].isFromURL){var n=new w,i=new Array,r=new D;if(r.DataType="text",r.propName=t.component[e].criteriaPropName,r.value=t.component[e].criteriaPropValue,r.restriction="eq",i.push(r),n.criteria=i,n[t.component[e].criteriaPropName]=t.component[e].criteriaPropValue,t.component[e].path!=undefined&&""!=t.component[e].path)if(h.searchInput.listEnvironments!=undefined&&0!=h.searchInput.listEnvironments.length){for(var o=0;o<h.searchInput.listEnvironments.length;o++)if(t.component[e].environment==h.searchInput.listEnvironments[o].environment){t.component[e].fullpath=h.searchInput.listEnvironments[o].url+t.component[e].path;break}}else t.component[e].fullpath=t.component[e].url;else t.component[e].fullpath=t.component[e].url;h.resolveObject(t.component[e],t.component[e].fullpath,n)}if("numeric"==t.component[e].type&&(t.component[e].value=parseFloat(t.component[e].value).toLocaleString("en")),"dropdown"==t.component[e].type&&t.component[e].dtmType!=undefined&&(t.component[e].dtmType.includes("month")&&(t.component[e].value!=undefined&&t.component[e].value.includes("BD")&&(t.component[e].value=h.setDefaultValueMonth(t.component[e].value)),t.component[e].items=h.setMonthDDL(t.component[e].dtmType)),t.component[e].dtmType.includes("year")&&(t.component[e].value!=undefined&&t.component[e].value.includes("BD")&&(t.component[e].value=h.setDefaultValueYear(t.component[e].value)),t.component[e].items=h.setYearDDL(t.component[e].dtmType))),t.component[e].value||(t.component[e].value="","all"==t.component[e].ddlType&&(t.component[e].value="all"),"one"==t.component[e].ddlType&&(t.component[e].value="one")),"datepicker"==t.component[e].type){if(h.readonly=t.component[e].readonly,t.component[e].value.includes("BD")){var a=new Date;null!=h.BisDt&&(a=new Date(h.BisDt));var s=t.component[e].value.charAt(2),u=new Date;if("-"==s){var l=t.component[e].value.split("-",2),c=parseInt(l[1]);a.setDate(a.getDate()-c)}else"+"==s&&(l=t.component[e].value.split("+",2),c=parseInt(l[1]),a.setDate(a.getDate()+c));u=a;var p=f.formatDate(u,"yyyy-MM-dd","en-US");t.component[e].value=p}if((h.readonly=!1)&&t.component[e].restriction!=undefined&&""!=t.component[e].restriction)if("GT"==t.component[e].restriction.toUpperCase()){var d=new Date(h.datePipe.transform(t.component[e].minDate,"yyyy-MM-dd"));d.setDate(d.getDate()+1),t.component[e].minDate=d}else if("LT"==t.component[e].restriction.toUpperCase()){var m=new Date(h.datePipe.transform(t.component[e].maxDate,"yyyy-MM-dd"));m.setDate(m.getDate()-1),t.component[e].maxDate=m}}}setTimeout(function(){for(var e=0;e<h.countForm;e++)1==t.component[e].isEvent&&1==h.configuration.component[e].itemsUrl.length&&h.onChangeEvent(t.component[e].itemsUrl[0].Key,t.component[e]),"officeRoleCodes"==t.component[e].type&&0<h.configuration.component[e].itemsUrl.length&&h.SetRoleOfficeCodes(e)},1e3)})},k.prototype.SetRoleOfficeCodes=function(e){var t=this.cookieService.get("UserAccess"),n=JSON.parse(this.DecryptString(t,"AdInsFOU12345678")).RoleCode,i=new Array;i.push(n);var r=this.myForm.nativeElement[e].options,o=r[r.selectedIndex].value.trim();if(1==this.configuration.component[e].itemsUrl.length||"all"==this.configuration.component[e].ddlType&&"all"==o)for(var a=0;a<this.configuration.component[e].itemsUrl.length;a++){var s=this.configuration.component[e].itemsUrl[a];i.push(s.Key),i.push(n+"-"+s.Key)}else i.push(o),i.push(n+"-"+o);this.searchInput.integrationObj.requestObj.OfficeRoleCodes=i},k.prototype.setDefaultValueMonth=function(e){var t=new Date(this.BusinessDt),n=e.charAt(2),i=e.split(n,2),r=parseInt(i[1]);return r||(r=1),"-"==n?t.setMonth(t.getMonth()-r):"+"==n&&t.setMonth(t.getMonth()+r),t.getMonth()},k.prototype.setMonthDDL=function(e){var t,n=e.match("[\\/+][-]|[-][\\/+]|\\/+|-"),i=this.BusinessDt.getMonth(),r=this.BusinessDt.getMonth(),o=n[0],a=parseInt(e.substring(n.index+n[0].length));if(12<=a)return this.ListOfMonth.ListOfMonth;if(("+-"==o||"-+"==o)&&6<=a)return this.ListOfMonth.ListOfMonth;var s=this.ListOfMonth.DictOfMonth;t.push({key:i,value:s[i]});for(var u=0;u<a;u++)o.includes("-")&&(0==--i&&(i=12),t.push({key:i,value:s[i]})),o.includes("+")&&(13==++r&&(r=1),t.push({key:r,value:s[r]}));return t.sort(function(e,t){return e.key-t.key}),t},k.prototype.setDefaultValueYear=function(e){var t=new Date(this.BusinessDt),n=e.charAt(2),i=e.split(n,2),r=parseInt(i[1]);return r||(r=1),"-"==n?t.setFullYear(t.getFullYear()-r):"+"==n&&t.setFullYear(t.getFullYear()+r),t.getFullYear()},k.prototype.setYearDDL=function(e){this.ListOfYear=new Array;var t=e.match("[\\/+][-]|[-][\\/+]|\\/+|-"),n=this.BusinessDt.getFullYear(),i=this.BusinessDt.getFullYear(),r=parseInt(e.substring(t.index+t[0].length));this.ListOfYear.push({key:this.BusinessDt.getFullYear(),value:this.BusinessDt.getFullYear().toString()});for(var o=0;o<r;o++)"-+"==t[0]||"+-"==t[0]?(n--,i++,this.ListOfYear.push({key:n,value:n.toString()},{key:i,value:i.toString()})):"-"==t[0]?(n--,this.ListOfYear.push({key:n,value:n.toString()})):"+"==t[0]&&(i++,this.ListOfYear.push({key:i,value:i.toString()}));return this.ListOfYear.sort(function(e,t){return e.key-t.key}),this.ListOfYear},k.prototype.getJSON=function(e){return this.http.get(e)},k.prototype.postJSON=function(e,t){return void 0===t&&(t=null),this.http.post(e,t)},k.prototype.searchClick=function(){var e=null;null!=this.configuration.orderby&&(e={key:this.configuration.orderby.key,value:this.configuration.orderby.value}),this.pageNow=1,this.search(this.apiUrl,this.pageNow,this.pageSize,e,this.arrCrit)},k.prototype.reset=function(){this.searchForm.resetForm({ExportType:this.ExportTypeList[0].key}),this.initiateForm()},k.prototype.search=function(e,n,t,i,r){var o=this;void 0===r&&(r=new Array);var a=new w,s=new Array,u=!1,l=!1;if(this.searchInput.whereValue!=undefined&&0!=this.searchInput.whereValue.length){this.configuration.querystring.whereQuery=new Array;for(var c=0;c<this.searchInput.whereValue.length;c++)this.configuration.querystring.whereQuery.push(this.searchInput.whereValue[c].value)}if(this.searchInput.fromValue!=undefined&&0!=this.searchInput.fromValue.length)for(this.configuration.querystring.fromQuery=new Array,c=0;c<this.searchInput.fromValue.length;c++)this.configuration.querystring.fromQuery.push(this.searchInput.fromValue[c].value);a.pageNo=n,a.rowPerPage=t,a.orderBy=i,a.queryString=this.configuration.querystring;for(var p=0;p<this.countForm;p++){var d=new D,m=this.myForm.nativeElement[p];if(d.DataType=m.getAttribute("data-type"),u=null!=m.getAttribute("query-in")&&"true"==m.getAttribute("query-in"),""!=m.value)if("SELECT"==m.nodeName){var h=m.options,f=h[h.selectedIndex].value.trim();if("one"==f){l=!0;var y=m.getAttribute("label");this.toastr.warning("Please select "+y);break}if(""!=m.getAttribute("data-crit-datatable")&&null!=m.getAttribute("data-crit-datatable")&&(d.isCriteriaDataTable=m.getAttribute("data-crit-datatable")),"taskDefinitionKey"==this.configuration.component[p].type||"processKey"==this.configuration.component[p].type)continue;if("claim"==this.configuration.component[p].type)d.propName=m.getAttribute("data-name"),d.restriction=f,d.value=null,s.push(d);else if("all"!=f&&"one"!=f)d.restriction=v.RestrictionEq,""!=m.name?d.propName=m.name:d.propName=m.getAttribute("data-name"),d.value=f,s.push(d);else if("all"==f&&1==u&&0!=m.options.length){var g=new Array;for(c=0;c<m.options.length;c++)0!=c&&g.push(m.options[c].value);0!=g.length&&(d.restriction=v.RestrictionIn,""!=m.name?d.propName=m.name:d.propName=m.getAttribute("data-name"),d.listValue=g,s.push(d))}}else""!=m.name?d.propName=m.name:d.propName=m.getAttribute("data-name"),d.value=m.value.trim(),m.value.includes("%")?d.restriction=v.RestrictionLike:""!=m.getAttribute("data-restriction")&&null!=m.getAttribute("data-restriction")?(d.restriction=m.getAttribute("data-restriction"),"numeric"==m.getAttribute("data-type")&&(d.value=parseFloat(m.value.replace(/,/g,"")).toString()),"LIKE"==d.restriction.toUpperCase()&&(d.value="%"+m.value.trim()+"%",d.restriction=v.RestrictionLike)):d.restriction=v.RestrictionEq,""!=m.getAttribute("data-crit-datatable")&&null!=m.getAttribute("data-crit-datatable")&&(d.isCriteriaDataTable=m.getAttribute("data-crit-datatable")),s.push(d)}if(!l){if(null!=r&&r!=undefined){if(0!=r.length)for(p=0;p<r.length;p++)s.push(r[p]);else if(null!=this.searchInput.addCritInput||this.searchInput.addCritInput!=undefined)for(p=0;p<this.searchInput.addCritInput.length;p++)s.push(this.searchInput.addCritInput[p])}else if(null!=this.searchInput.addCritInput||this.searchInput.addCritInput!=undefined)for(p=0;p<this.searchInput.addCritInput.length;p++)s.push(this.searchInput.addCritInput[p]);a.criteria=s,this.searchInput.isJoinExAPI?a.integrationObj=this.searchInput.integrationObj:a.integrationObj=null,this.http.post(e,a).subscribe(function(e){var t={response:e,pageNow:n};return console.log(t),o.result.emit(t),o.reqGetAllData.emit(a),e})}},k.prototype.GenerateReport=function(){this.genRpt.emit({ExportType:this.ExportType,ElRef:this.myForm})},k.prototype.lessThanFour=function(){return!(3<this.countForm)},k.prototype.resolveObject=function(t,e,n){var i=this;void 0===n&&(n=null),this.postJSON(e,n).subscribe(function(e){t.itemsUrl=new Array,t.itemsUrl=e.ReturnObject,t.exclude!=undefined&&""!=t.exclude&&(t.itemsUrl=t.itemsUrl.filter(function(e){return!t.exclude.includes(e.Key)})),t.affectedFilter&&1==t.itemsUrl.length&&i.onChangeEvent(t.itemsUrl[0].Key,t)})},k.prototype.transformAmount=function(e){this.formattedAmount=parseFloat(e.target.value).toLocaleString("en"),e.target.value=this.formattedAmount},k.prototype.transformToDecimal=function(e){e.target.value=parseFloat(e.target.value.toString().replace(/,/g,""))},k.prototype.exportAsXLSX=function(){var t=this,e=new w;e.pageNo=1,e.rowPerPage=9999,e.orderBy=null,e.criteria=[],e.queryString=this.configuration.querystring,this.searchInput.isJoinExAPI?e.integrationObj=this.searchInput.integrationObj:e.integrationObj=null,this.http.post(this.apiUrl,e).subscribe(function(e){t.ExcelData=e.Data,t.excelService.exportAsExcelFile(t.ExcelData,"sample")},function(e){console.log(e)})},k.prototype.onChangeEvent=function(e,t){for(var n=this.configuration.component,i=0;i<t.affectedFilter.length;i++)for(var r=0;r<n.length;r++)if(n[r].name==t.affectedFilter[i]){var o=new w,a=new Array;if("all"!=e&&"one"!=e){var s=new D;s.DataType=t.datatype,t.filterPropName!=undefined||""!=t.filterPropName?(o[t.filterPropName]=e,s.propName=t.filterPropName):(s.propName=t.name,o[t.name]=e),s.value=e,s.restriction=v.RestrictionEq,a.push(s)}if(o.criteria=a,n[r].path!=undefined&&""!=n[r].path)if(this.searchInput.listEnvironments!=undefined&&0!=this.searchInput.listEnvironments.length){for(var u=0;u<this.searchInput.listEnvironments.length;u++)if(n[r].environment==this.searchInput.listEnvironments[u].environment){n[r].fullpath=this.searchInput.listEnvironments[u].url+n[r].path;break}}else n[r].fullpath=n[r].url;else n[r].fullpath=n[r].url;this.resolveObject(n[r],n[r].fullpath,o)}},k.prototype.SetProcessKey=function(e,t){var n=this.myForm.nativeElement[e].options,i=n[n.selectedIndex].value.trim();i&&(this.searchInput.integrationObj.requestObj[t]=i)},k.prototype.switchCase=function(i){for(var r=!1,e=function(t){var e=o.searchInput.switchValue.findIndex(function(e){return e.property==i.conditions[t].property});if("EQ"==i.conditions[t].restriction)if(1!=i.conditions[t].isUser){if(o.searchInput.switchValue[e].value!=i.conditions[t].value)return r=!1,"break";r=!0}else{var n=localStorage.getItem("Username");if(o.searchInput.switchValue[e].value!=n)return r=!1,"break";r=!0}else if("NEQ"==i.conditions[t].restriction)if(1!=i.conditions[t].isUser){if(o.searchInput.switchValue[e].value==i.conditions[t].value)return r=!1,"break";r=!0}else{if(n=localStorage.getItem("Username"),o.searchInput.switchValue[e].value==n)return r=!1,"break";r=!0}else if("GT"==i.conditions[t].restriction)if(1!=i.conditions[t].isUser){if(!(o.searchInput.switchValue[e].value>i.conditions[t].value))return r=!1,"break";r=!0}else{if(n=localStorage.getItem("Username"),!(o.searchInput.switchValue[e].value>n))return r=!1,"break";r=!0}else if("GTE"==i.conditions[t].restriction)if(1!=i.conditions[t].isUser){if(!(o.searchInput.switchValue[e].value>=i.conditions[t].value))return r=!1,"break";r=!0}else{if(n=localStorage.getItem("Username"),!(o.searchInput.switchValue[e].value>=n))return r=!1,"break";r=!0}else if("LT"==i.conditions[t].restriction)if(1!=i.conditions[t].isUser){if(!(o.searchInput.switchValue[e].value<i.conditions[t].value))return r=!1,"break";r=!0}else{if(n=localStorage.getItem("Username"),!(o.searchInput.switchValue[e].value<n))return r=!1,"break";r=!0}else if("LTE"==i.conditions[t].restriction)if(1!=i.conditions[t].isUser){if(!(o.searchInput.switchValue[e].value<=i.conditions[t].value))return r=!1,"break";r=!0}else{if(n=localStorage.getItem("Username"),!(o.searchInput.switchValue[e].value<=n))return r=!1,"break";r=!0}},o=this,t=0;t<i.conditions.length&&"break"!==e(t);t++);return r},k.prototype.DecryptString=function(e,t){if(t==undefined||""==t.trim()||e==undefined||""==e.trim())return e;var n=u.enc.Utf8.parse(t),i=u.lib.WordArray.create([0,0,0,0]);return u.AES.decrypt(e,n,{iv:i}).toString(u.enc.Utf8)},k.prototype.checkInputDate=function(t){var e,n,i,r=new Array,o=this.configuration.component.find(function(e){return e.name==t.name&&"GTE"==e.restriction.toUpperCase()})==undefined?this.configuration.component.find(function(e){return e.name==t.name&&"GT"==e.restriction.toUpperCase()}):this.configuration.component.find(function(e){return e.name==t.name&&"GTE"==e.restriction.toUpperCase()});o!=undefined&&(e=""==this.myForm.nativeElement[o.id].min?null:new Date(this.myForm.nativeElement[o.id].min),i=o.label.split(">",2),null!=e&&("GT"==o.restriction.toUpperCase()?(e.setDate(e.getDate()-1),r.push(" must be greater than ")):"GTE"==o.restriction.toUpperCase()&&r.push(" must be greater than or equals to ")));var a=this.configuration.component.find(function(e){return e.name==t.name&&"LTE"==e.restriction.toUpperCase()})==undefined?this.configuration.component.find(function(e){return e.name==t.name&&"LT"==e.restriction.toUpperCase()}):this.configuration.component.find(function(e){return e.name==t.name&&"LTE"==e.restriction.toUpperCase()});a!=undefined&&(n=""==this.myForm.nativeElement[a.id].max?null:new Date(this.myForm.nativeElement[a.id].max),i=a.label.split("<",2),null!=n&&("LT"==a.restriction.toUpperCase()?(n.setDate(n.getDate()+1),r.push(" must be less than ")):"LTE"==a.restriction.toUpperCase()&&r.push(" must be less than or equals to "))),null!=e&&null==n&&new Date(this.myForm.nativeElement[o.id].value)<e?(this.toastr.warning(i[0]+r[0]+f.formatDate(e,"dd MMMM yyyy","en-US")+"."),this.dateWrong=!0):null!=n&&null==e&&new Date(this.myForm.nativeElement[a.id].value)>n?(this.toastr.warning(i[0]+r[0]+f.formatDate(n,"dd MMMM yyyy","en-US")+"."),this.dateWrong=!0):null!=e&&null!=n&&(new Date(this.myForm.nativeElement[a.id].value)>n||new Date(this.myForm.nativeElement[o.id].value)<e)?(this.toastr.warning(i[0]+r[0]+f.formatDate(e,"dd MMMM yyyy","en-US")+" and"+r[1]+f.formatDate(n,"dd MMMM yyyy","en-US")+"."),this.dateWrong=!0):this.dateWrong=!1},k.decorators=[{type:l.Component,args:[{selector:"lib-UCSearch",template:'\x3c!-- Basic form layout section start --\x3e\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 \x3c!-- Ini Digunakan untuk Generate Dynamic Component --\x3e\r\n \x3c!-- [hidden]="isHidden" --\x3e\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.data-numericpair = "{{question.numericPair}}" attr.data-crit-datatable="{{question.isCriteriaDataTable}}"\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 \x3c!-- End Hardcode Lookup didalem--\x3e\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}}" [readonly]="question.readonly"\r\n attr.data-type="{{question.datatype}}" attr.data-name="{{question.name}}"\r\n attr.data-datepickerpair = "{{question.datepickerPair}}" 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)="question.restriction != undefined && 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 == \'processKey\' || 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\' || question.type == \'processKey\') ? SetProcessKey(i,question.wfKeyFilter) : 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> <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> <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> <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> <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\x3c!-- // Basic form layout section end --\x3e',providers:[E,f.DatePipe],animations:[r.trigger("changeDivSize",[r.state("initial",r.style({height:"*",opacity:"1"})),r.state("final",r.style({height:"0px",opacity:"0",overflow:"hidden"})),r.transition("initial=>final",r.animate("300ms")),r.transition("final=>initial",r.animate("300ms"))])],styles:[".ucSearch-title{margin:3px}"]}]}],k.ctorParameters=function(){return[{type:t.HttpClient},{type:E},{type:l.Renderer2},{type:undefined,decorators:[{type:l.Inject,args:[n.DOCUMENT]}]},{type:a.ToastrService},{type:s.CookieService},{type:f.DatePipe}]},k.propDecorators={content:[{type:l.ViewChild,args:["enjiForm"]}],myForm:[{type:l.ViewChild,args:["formIdSearch"]}],searchInput:[{type:l.Input}],pageSize:[{type:l.Input}],isReport:[{type:l.Input}],result:[{type:l.Output}],genRpt:[{type:l.Output}],reqGetAllData:[{type:l.Output}]},k);function k(e,t,n,i,r,o,a){this.http=e,this.excelService=t,this._renderer2=n,this._document=i,this.toastr=r,this.cookieService=o,this.datePipe=a,this.searchInput=new I,this.pageSize=10,this.isReport=!1,this.result=new l.EventEmitter,this.genRpt=new l.EventEmitter,this.reqGetAllData=new l.EventEmitter,this.ExportTypeList=[{key:x.EXP_TYPE_PDF,value:"PDF"},{key:x.EXP_TYPE_XLS,value:"Excel 2003"},{key:x.EXP_TYPE_XLSX,value:"Excel 2007"},{key:x.EXP_TYPE_DOC,value:"Document"},{key:x.EXP_TYPE_DOCX,value:"Document XML"}],this.ListOfMonth=new C,this.ListOfYear=new Array,this.ClaimList=[{Key:v.RestrictionIsNotNull,Value:"CLAIMED"},{Key:v.RestrictionIsNull,Value:"UNCLAIMED"}],this.ExportType=0,this.pageNow=1,this.isDataLoaded=!1,this.isHidden=!1,this.BusinessDt=new Date,this.dateWrong=!1,this.readonly=!1,this.currentState="initial",this.countForm=0,this.formattedAmount="",this.amount=0}var L={align:"right",allowNegative:!1,allowZero:!0,decimal:".",precision:2,prefix:"",suffix:"",thousands:",",nullable:!1,inputMode:p.CurrencyMaskInputMode.NATURAL},O=(S.decorators=[{type:l.NgModule,args:[{declarations:[M],imports:[f.CommonModule,c.FormsModule,m.UcShowErrorsModule,h.UcDirectiveUpperCaseModule,p.NgxCurrencyModule.forRoot(L),d.TranslateModule.forChild()],exports:[M]}]}],S);function S(){}e.UCSearchService=y,e.UCSearchComponent=M,e.customCurrencyMaskConfig=L,e.UCSearchModule=O,e.ɵa=E,Object.defineProperty(e,"__esModule",{value:!0})});
|
|
2
|
+
//# sourceMappingURL=adins-ucsearch.umd.min.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["ng://@adins/ucsearch/lib/ucsearch.service.ts","ng://@adins/ucsearch/lib/model/adins-constant.ts","ng://@adins/ucsearch/lib/model/integration-obj.model.ts","ng://@adins/ucsearch/lib/model/input-search-obj.model.ts","ng://@adins/ucsearch/lib/model/criteria-obj.model.ts","ng://@adins/ucsearch/lib/model/request-criteria-obj.model.ts","ng://@adins/ucsearch/lib/services/excel-service/excel-service.ts","ng://@adins/ucsearch/lib/model/key-value-report.model.ts","ng://@adins/ucsearch/lib/model/key-value-uc-search.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","listEnvironments","whereValue","fromValue","switchValue","integrationObj","isJoinExAPI","CriteriaObj","low","high","DataType","isCriteriaDataTable","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","ListKeyValueMonth","DictOfMonth","ListOfMonth","push","key","value","UCSearchComponent","defineProperty","content","searchForm","changeState","currentState","isHidden","ngOnInit","apiUrl","searchInput","arrCrit","js","_renderer2","createElement","text","appendChild","_document","body","cookieService","get","BisDt","DecryptString","BusinessDt","initiateForm","_this","getJSON","subscribe","configuration","exportData","exportExcel","exportTypeList","undefined","length","ExportTypeList","ExportType","countForm","component","isDataLoaded","i","isFromURL","request","arrayCrit","criteriaObject","propName","criteriaPropName","criteriaPropValue","restriction","criteria","path","y","environment","fullpath","url","resolveObject","parseFloat","toLocaleString","dtmType","includes","setDefaultValueMonth","items","setMonthDDL","setDefaultValueYear","setYearDDL","ddlType","readonly","businessDate","operator","charAt","dateShow","tempMinus","split","numDay","parseInt","setDate","getDate","dateText","formatDate","toUpperCase","minDate","datePipe","transform","maxDate","setTimeout","j","isEvent","itemsUrl","onChangeEvent","Key","SetRoleOfficeCodes","roleCode","JSON","parse","listOfficeRoleCodes","ddl","myForm","nativeElement","options","selectedIndex","trim","index","element","tempValue","numMonth","setMonth","getMonth","month","equation","match","toMin","toMax","tempEquation","minMax","substring","dictOfMonth","q","sort","a","b","numYear","setFullYear","getFullYear","year","ListOfYear","toString","http","postJSON","post","searchClick","order","orderby","pageNow","search","pageSize","reset","resetForm","pageNo","rowPerPage","orderBy","addCrit","IsQueryIn","IsBreak","querystring","whereQuery","x","fromQuery","critObj","getAttribute","nodeName","label","toastr","warning","name","ddlList","listValue","replace","response","qryPaging","result","emit","reqGetAllData","GenerateReport","genRpt","ElRef","lessThanFour","obj","crit","tempData","ReturnObject","exclude","filter","affectedFilter","transformAmount","formattedAmount","target","transformToDecimal","exportAsXLSX","ExcelData","excelService","error","optValue","afFilter","jsonComp","datatype","filterPropName","SetProcessKey","idx","wfKeyFilter","switchCase","condList","condition","this_1","findIndex","property","conditions","isUser","username","localStorage","getItem","chipperText","chipperKey","chipperKeyArr","CryptoJS.enc","Utf8","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","ClaimList","Value","amount","customCurrencyMaskConfig","align","allowNegative","allowZero","decimal","precision","prefix","suffix","thousands","nullable","inputMode","CurrencyMaskInputMode","NATURAL","UCSearchModule","NgModule","declarations","imports","CommonModule","FormsModule","UcShowErrorsModule","UcDirectiveUpperCaseModule","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 \"./adins-constant\";\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 \"./criteria-obj.model\";\r\nimport { IntegrationObj } from \"./integration-obj.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 listEnvironments: Array<EnvisObj>;\r\n whereValue: Array<WhereValueObj>;\r\n fromValue: Array<FromValueObj>;\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.listEnvironments = new Array<EnvisObj>();\r\n this.whereValue = new Array<WhereValueObj>();\r\n this.fromValue = new Array<FromValueObj>();\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 FromValueObj {\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 isCriteriaDataTable: boolean;\r\n\r\n constructor() {\r\n this.low = 0;\r\n this.high = 0;\r\n this.DataType = 'Text';\r\n this.isCriteriaDataTable = false;\r\n }\r\n\r\n}","import { AdInsConstant } from \"./adins-constant\";\r\nimport { CriteriaObj } from \"./criteria-obj.model\";\r\nimport { IntegrationObj } from \"./integration-obj.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}","export class KeyValueUCSearchObj {\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 ListKeyValueMonth {\r\n ListOfMonth: Array<KeyValueUCSearchObj>;\r\n DictOfMonth: { [month: number]: string } = {};\r\n constructor() {\r\n this.ListOfMonth = new Array<KeyValueUCSearchObj>();\r\n this.DictOfMonth = {}\r\n this.ListOfMonth.push({ key: 1, value: \"January\" });\r\n this.DictOfMonth[1]= \"January\";\r\n this.ListOfMonth.push({ key: 2, value: \"February\" });\r\n this.DictOfMonth[2]= \"February\";\r\n this.ListOfMonth.push({ key: 3, value: \"March\" });\r\n this.DictOfMonth[3]= \"March\";\r\n this.ListOfMonth.push({ key: 4, value: \"April\" });\r\n this.DictOfMonth[4]= \"April\";\r\n this.ListOfMonth.push({ key: 5, value: \"May\" });\r\n this.DictOfMonth[5]= \"May\";\r\n this.ListOfMonth.push({ key: 6, value: \"June\" });\r\n this.DictOfMonth[6]= \"June\";\r\n this.ListOfMonth.push({ key: 7, value: \"July\" });\r\n this.DictOfMonth[7]= \"July\";\r\n this.ListOfMonth.push({ key: 8, value: \"August\" });\r\n this.DictOfMonth[8]= \"August\";\r\n this.ListOfMonth.push({ key: 9, value: \"September\" });\r\n this.DictOfMonth[9]= \"September\";\r\n this.ListOfMonth.push({ key: 10, value: \"October\" });\r\n this.DictOfMonth[10]= \"October\";\r\n this.ListOfMonth.push({ key: 11, value: \"November\" });\r\n this.DictOfMonth[11]= \"November\";\r\n this.ListOfMonth.push({ key: 12, value: \"December\" });\r\n this.DictOfMonth[12]= \"December\";\r\n }\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/input-search-obj.model';\r\nimport { CriteriaObj } from './model/criteria-obj.model';\r\nimport { RequestCriteriaObj } from './model/request-criteria-obj.model';\r\nimport { AdInsConstant } from './model/adins-constant';\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/key-value-report.model';\r\nimport { CookieService } from 'ngx-cookie';\r\nimport * as CryptoJS from 'crypto-js';\r\nimport { KeyValueUCSearchObj, ListKeyValueMonth } from './model/key-value-uc-search.model';\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 @Output() reqGetAllData: EventEmitter<any> = new EventEmitter();\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 ListOfMonth: ListKeyValueMonth = new ListKeyValueMonth();\r\n ListOfYear: Array<KeyValueUCSearchObj> = new Array<KeyValueUCSearchObj>();\r\n ClaimList: Array<any> = [\r\n {\r\n Key: AdInsConstant.RestrictionIsNotNull,\r\n Value: \"CLAIMED\"\r\n },\r\n {\r\n Key: AdInsConstant.RestrictionIsNull,\r\n Value: \"UNCLAIMED\"\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 BusinessDt: Date = new Date();\r\n dateWrong: boolean = false;\r\n readonly: 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.BusinessDt = new Date(this.BisDt);\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 (let 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 let request = new RequestCriteriaObj();\r\n let arrayCrit = new Array();\r\n let 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.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 ddl\r\n if (data.component[i].type == \"dropdown\") {\r\n if (data.component[i].dtmType != undefined) {\r\n if (data.component[i].dtmType.includes(\"month\")) {\r\n if (data.component[i].value != undefined && data.component[i].value.includes(\"BD\")) {\r\n data.component[i].value = this.setDefaultValueMonth(data.component[i].value);\r\n }\r\n data.component[i].items = this.setMonthDDL(data.component[i].dtmType);\r\n }\r\n if (data.component[i].dtmType.includes(\"year\")) {\r\n if (data.component[i].value != undefined && data.component[i].value.includes(\"BD\")) {\r\n data.component[i].value = this.setDefaultValueYear(data.component[i].value);\r\n }\r\n data.component[i].items = this.setYearDDL(data.component[i].dtmType);\r\n }\r\n }\r\n }\r\n if (!data.component[i].value) {\r\n data.component[i].value = \"\";\r\n if (data.component[i].ddlType == 'all') data.component[i].value = \"all\";\r\n if (data.component[i].ddlType == 'one') data.component[i].value = \"one\";\r\n }\r\n //pengecekan tanggal\r\n if (data.component[i].type == \"datepicker\") {\r\n this.readonly = data.component[i].readonly\r\n\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 let operator = data.component[i].value.charAt(2);\r\n let dateShow = new Date();\r\n if (operator == \"-\") {\r\n let tempMinus = data.component[i].value.split(\"-\", 2);\r\n let numDay = parseInt(tempMinus[1]);\r\n businessDate.setDate(businessDate.getDate() - numDay);\r\n }\r\n else if (operator == \"+\") {\r\n let tempMinus = data.component[i].value.split(\"+\", 2);\r\n let numDay = parseInt(tempMinus[1]);\r\n businessDate.setDate(businessDate.getDate() + numDay);\r\n }\r\n dateShow = businessDate;\r\n let dateText = formatDate(dateShow, 'yyyy-MM-dd', 'en-US')\r\n data.component[i].value = dateText;\r\n }\r\n\r\n if (this.readonly = false){\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\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 if (data.component[j].type == \"officeRoleCodes\" && this.configuration.component[j].itemsUrl.length > 0) {\r\n this.SetRoleOfficeCodes(j);\r\n }\r\n }\r\n }, 1000);\r\n });\r\n }\r\n\r\n SetRoleOfficeCodes(i: number) {\r\n let value: string = this.cookieService.get(\"UserAccess\");\r\n let userAccess: string = JSON.parse(this.DecryptString(value, \"AdInsFOU12345678\"));\r\n let roleCode: string = userAccess[\"RoleCode\"];\r\n let listOfficeRoleCodes: Array<string> = new Array();\r\n listOfficeRoleCodes.push(roleCode);\r\n let component = this.myForm.nativeElement[i];\r\n let ddl = component.options;\r\n let text = ddl[ddl.selectedIndex].value.trim();\r\n if (this.configuration.component[i].itemsUrl.length == 1 || (this.configuration.component[i].ddlType == 'all' && text == 'all')) {\r\n for (let index = 0; index < this.configuration.component[i].itemsUrl.length; index++) {\r\n const element = this.configuration.component[i].itemsUrl[index];\r\n listOfficeRoleCodes.push(element.Key);\r\n listOfficeRoleCodes.push(roleCode + \"-\" + element.Key);\r\n }\r\n } else {\r\n listOfficeRoleCodes.push(text);\r\n listOfficeRoleCodes.push(roleCode + \"-\" + text);\r\n }\r\n\r\n this.searchInput.integrationObj.requestObj[\"OfficeRoleCodes\"] = listOfficeRoleCodes;\r\n }\r\n\r\n setDefaultValueMonth(value) {\r\n let businessDate = new Date(this.BusinessDt);\r\n let operator = value.charAt(2);\r\n let tempValue = value.split(operator, 2);\r\n let numMonth = parseInt(tempValue[1]);\r\n if (!numMonth) numMonth = 1;\r\n if (operator == \"-\") {\r\n businessDate.setMonth(businessDate.getMonth() - numMonth);\r\n }\r\n else if (operator == \"+\") {\r\n businessDate.setMonth(businessDate.getMonth() + numMonth);\r\n }\r\n return businessDate.getMonth();\r\n }\r\n setMonthDDL(month) {\r\n let ListOfMonth: Array<KeyValueUCSearchObj>;\r\n let equation = month.match(\"[\\\\/+][-]|[-][\\\\/+]|\\\\/+|-\");\r\n let toMin: number = this.BusinessDt.getMonth();\r\n let toMax: number = this.BusinessDt.getMonth();\r\n let tempEquation = equation[0];\r\n let minMax: number = parseInt(month.substring(equation.index + equation[0].length));\r\n if (minMax >= 12) return this.ListOfMonth.ListOfMonth;\r\n if ((tempEquation == \"+-\" || tempEquation == \"-+\") && minMax >= 6) return this.ListOfMonth.ListOfMonth;\r\n let dictOfMonth: { [month: number]: string } = this.ListOfMonth.DictOfMonth;\r\n ListOfMonth.push({ key: toMin, value: dictOfMonth[toMin] });\r\n\r\n for (let q = 0; q < minMax; q++) {\r\n if (tempEquation.includes(\"-\")) {\r\n toMin--;\r\n if (toMin == 0) toMin = 12;\r\n ListOfMonth.push({ key: toMin, value: dictOfMonth[toMin] });\r\n }\r\n if (tempEquation.includes(\"+\")) {\r\n toMax++;\r\n if (toMax == 13) toMax = 1;\r\n ListOfMonth.push({ key: toMax, value: dictOfMonth[toMax] });\r\n }\r\n }\r\n ListOfMonth.sort((a, b) => {\r\n return a.key - b.key;\r\n });\r\n return ListOfMonth;\r\n }\r\n\r\n setDefaultValueYear(value) {\r\n let businessDate = new Date(this.BusinessDt);\r\n let operator = value.charAt(2);\r\n let tempValue = value.split(operator, 2);\r\n let numYear = parseInt(tempValue[1]);\r\n if (!numYear) numYear = 1;\r\n if (operator == \"-\") {\r\n businessDate.setFullYear(businessDate.getFullYear() - numYear);\r\n }\r\n else if (operator == \"+\") {\r\n businessDate.setFullYear(businessDate.getFullYear() + numYear);\r\n }\r\n return businessDate.getFullYear();\r\n }\r\n setYearDDL(year) {\r\n this.ListOfYear = new Array<KeyValueUCSearchObj>();\r\n let equation = year.match(\"[\\\\/+][-]|[-][\\\\/+]|\\\\/+|-\");\r\n let toMin: number = this.BusinessDt.getFullYear();\r\n let toMax: number = this.BusinessDt.getFullYear();\r\n let minMax: number = parseInt(year.substring(equation.index + equation[0].length));\r\n this.ListOfYear.push({ key: this.BusinessDt.getFullYear(), value: this.BusinessDt.getFullYear().toString() });\r\n\r\n for (let q = 0; q < minMax; q++) {\r\n if (equation[0] == \"-+\" || equation[0] == \"+-\") {\r\n toMin--;\r\n toMax++;\r\n this.ListOfYear.push({ key: toMin, value: toMin.toString() }, { key: toMax, value: toMax.toString() });\r\n } else if (equation[0] == \"-\") {\r\n toMin--;\r\n this.ListOfYear.push({ key: toMin, value: toMin.toString() });\r\n } else if (equation[0] == \"+\") {\r\n toMax++;\r\n this.ListOfYear.push({ key: toMax, value: toMax.toString() });\r\n }\r\n }\r\n this.ListOfYear.sort((a, b) => {\r\n return a.key - b.key;\r\n });\r\n return this.ListOfYear;\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 ExportType: this.ExportTypeList[0].key\r\n });\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 if (this.searchInput.fromValue != undefined && this.searchInput.fromValue.length != 0) {\r\n this.configuration.querystring.fromQuery = new Array<any>();\r\n for (let x = 0; x < this.searchInput.fromValue.length; x++) {\r\n this.configuration.querystring.fromQuery.push(this.searchInput.fromValue[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\r\n if (component.getAttribute('data-crit-datatable') != \"\" && component.getAttribute('data-crit-datatable') != null) {\r\n critObj.isCriteriaDataTable = component.getAttribute('data-crit-datatable');\r\n }\r\n \r\n if (this.configuration.component[i].type == \"taskDefinitionKey\" || \r\n this.configuration.component[i].type == \"processKey\") \r\n continue;\r\n\r\n if (this.configuration.component[i].type == \"claim\") {\r\n critObj.propName = component.getAttribute('data-name');\r\n critObj.restriction = text;\r\n critObj.value = null;\r\n arrCrit.push(critObj);\r\n } else {\r\n if (text != \"all\" && text != \"one\") {\r\n //Kalau Dari Dropdown udah pasti pake Eq\r\n critObj.restriction = AdInsConstant.RestrictionEq;\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 = 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 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.listValue = ddlList;\r\n arrCrit.push(critObj);\r\n }\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 if (component.getAttribute('data-crit-datatable') != \"\" && component.getAttribute('data-crit-datatable') != null) {\r\n critObj.isCriteriaDataTable = component.getAttribute('data-crit-datatable');\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 (let 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 (let 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 (let 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 this.reqGetAllData.emit(request);\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 if(obj.exclude != undefined && obj.exclude != \"\"){\r\n obj.itemsUrl = obj.itemsUrl.filter((value) => !obj.exclude.includes(value.Key));\r\n }\r\n\r\n if(obj.affectedFilter && obj.itemsUrl.length == 1){\r\n this.onChangeEvent(obj.itemsUrl[0].Key, obj);\r\n }\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 let 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 let jsonComp = this.configuration.component;\r\n\r\n for (let i = 0; i < afFilter.affectedFilter.length; i++) {\r\n for (let j = 0; j < jsonComp.length; j++) {\r\n if (jsonComp[j].name == afFilter.affectedFilter[i]) {\r\n let request = new RequestCriteriaObj();\r\n let arrayCrit = new Array();\r\n\r\n if (optValue != \"all\" && optValue != \"one\") {\r\n let 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.listEnvironments != undefined && this.searchInput.listEnvironments.length != 0) {\r\n for (let y = 0; y < this.searchInput.listEnvironments.length; y++) {\r\n if (jsonComp[j].environment == this.searchInput.listEnvironments[y].environment) {\r\n jsonComp[j].fullpath = this.searchInput.listEnvironments[y].url + jsonComp[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 SetProcessKey(idx: number,wfKeyFilter: string) {\r\n let component = this.myForm.nativeElement[idx];\r\n let ddl = component.options;\r\n let text = ddl[ddl.selectedIndex].value.trim();\r\n if (text) {\r\n this.searchInput.integrationObj.requestObj[wfKeyFilter] = text;\r\n }\r\n }\r\n\r\n switchCase(condList) {\r\n let condition = false;\r\n\r\n for (let i = 0; i < condList.conditions.length; i++) {\r\n let 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 let 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 let 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 let 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 let 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 let 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 let 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 let chipperKeyArr = CryptoJS.enc.Utf8.parse(chipperKey);\r\n let iv = CryptoJS.lib.WordArray.create([0x00, 0x00, 0x00, 0x00]);\r\n let decrypted = CryptoJS.AES.decrypt(chipperText, chipperKeyArr, { iv: iv });\r\n let 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\nimport { UcDirectiveUpperCaseModule } from '@adins/uc-directive-upper-case';\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 UcDirectiveUpperCaseModule,\r\n NgxCurrencyModule.forRoot(customCurrencyMaskConfig),\r\n TranslateModule.forChild()\r\n ],\r\n exports: [UCSearchComponent]\r\n})\r\nexport class UCSearchModule { }\r\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Generated bundle index. Do not edit.
|
|
7
|
+
*/
|
|
8
|
+
export { UCSearchService, UCSearchComponent, customCurrencyMaskConfig, UCSearchModule } from './public-api';
|
|
9
|
+
export { ExcelService as ɵa } from './lib/services/excel-service/excel-service';
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRpbnMtdWNzZWFyY2guanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWRpbnMvdWNzZWFyY2gvIiwic291cmNlcyI6WyJhZGlucy11Y3NlYXJjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsNkZBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxZQUFZLElBQUksRUFBRSxFQUFDLE1BQU0sNENBQTRDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7RXhjZWxTZXJ2aWNlIGFzIMm1YX0gZnJvbSAnLi9saWIvc2VydmljZXMvZXhjZWwtc2VydmljZS9leGNlbC1zZXJ2aWNlJzsiXX0=
|