@adins/ucsearch 2.0.16 → 2.0.18

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 CHANGED
@@ -4,7 +4,13 @@ This library was generated with [Angular CLI](https://github.com/angular/angular
4
4
 
5
5
  ## Version
6
6
 
7
- Version 2.0.14
7
+ Version 2.0.18
8
+ 1. #UCSearchClick buat panggil click
9
+
10
+ Version 2.0.17
11
+ 1. dropdown bentuk path dan environment dalam object ddlEnvironments
12
+
13
+ Version 2.0.16
8
14
  1. tambah kondisi dropwdown isQueryIn, jika select all criteria nya dari list dropdown
9
15
 
10
16
  Version 2.0.14
@@ -91,8 +97,14 @@ Version 1.0.2
91
97
  Version 1.0.1
92
98
  1. Added ReadMe
93
99
 
94
- ## Input
100
+ ## Dependency Module
101
+ import this module :
102
+ - FormsModule
95
103
 
104
+ ## Selector
105
+ lib-ucsearch
106
+
107
+ ## Input
96
108
  1. searchInput : InputSearchObj (object) *mandatory
97
109
 
98
110
  ## Output
@@ -101,8 +113,18 @@ Version 1.0.1
101
113
  ## Object property & JSON property
102
114
  InputSearchObj :
103
115
  - _url : search.json
104
- - enviromentUrl : enviroment path (foundation, setting, vendor)
116
+ - enviromentUrl : environment path (foundation, setting, vendor)
105
117
  - apiQryPaging : search paging API path
118
+ - ddlEnvironments : [
119
+ {
120
+ name: "A.MR_OFFICE_TYPE_CODE", // which dropdown use this environment, check by name
121
+ environment: environment.FoundationR3Url
122
+ },
123
+ {
124
+ name: "A.MR_OFFICE_CLASS_CODE",
125
+ environment: environment.FoundationR3Url
126
+ }
127
+ ]
106
128
 
107
129
  search.json :
108
130
  ``` javascript
@@ -183,15 +205,19 @@ search.json :
183
205
  "isEvent" : "true", // boolean: true|false, if true dropdown criteria affect other dropdown criteria
184
206
  "affectedFilter" : ["dropdownId", "searchId"], // affected filter check by name
185
207
  "isFromURL" : "true",
186
- "url" : "",
208
+ "url" : "", // full path url api
209
+ "path": "", // path api
210
+ "criteriaPropName": "", // criteria property name
211
+ "criteriaPropValue": "", // criteria value
187
212
  "itemsUrl" : [],
188
213
  }
189
214
  ],
190
215
  "querystring": { // query data by sql
191
- "select": "", // ex: "SELECT APP_ID AS appId, IS_ACTIVE AS isActive" *must use alias
192
- "from": "" // ex: "FROM APP WITH(NOLOCK)" *don't forget WITH(NOLOCK)
216
+ "select": "", // ex: "SELECT APP_ID AS appId, IS_ACTIVE AS isActive" *must use alias, field to select first must be the first row of grid
217
+ "from": "" // ex: "FROM dbo.APP WITH(NOLOCK)" *don't forget WITH(NOLOCK)
193
218
  }
194
219
  }
220
+ }
195
221
  ```
196
222
  ## Code scaffolding
197
223
 
@@ -234,9 +234,26 @@
234
234
  arrayCrit.push(criteriaObject);
235
235
  request.criteria = arrayCrit;
236
236
  request[data.component[i].criteriaPropName] = data.component[i].criteriaPropValue;
237
+ // Pengecekan penggunaan url atau path
238
+ if (data.component[i].path != undefined && data.component[i].path != "") {
239
+ if (_this.searchInput.ddlEnvironments != undefined && _this.searchInput.ddlEnvironments.length != 0) {
240
+ for (var y = 0; y < _this.searchInput.ddlEnvironments.length; y++) {
241
+ if (data.component[i].name == _this.searchInput.ddlEnvironments[y].name) {
242
+ data.component[i].fullpath = _this.searchInput.ddlEnvironments[y].environment + data.component[i].path;
243
+ break;
244
+ }
245
+ }
246
+ }
247
+ else {
248
+ data.component[i].fullpath = data.component[i].url;
249
+ }
250
+ }
251
+ else {
252
+ data.component[i].fullpath = data.component[i].url;
253
+ }
237
254
  //lempar objectnya sekalian sama urlnya, nnti di bind di dalem karena masalah di asyncnya
238
255
  //biar tiap function ada state2nya sendiri
239
- _this.resolveObject(data.component[i], data.component[i].url, request);
256
+ _this.resolveObject(data.component[i], data.component[i].fullpath, request);
240
257
  }
241
258
  if (data.component[i].type == "numeric") {
242
259
  data.component[i].value = parseFloat(data.component[i].value).toLocaleString('en');
@@ -480,6 +497,7 @@
480
497
  * @param {?} tempData
481
498
  * @return {?}
482
499
  */function (tempData) {
500
+ obj.itemsUrl = new Array();
483
501
  obj.itemsUrl = tempData.ReturnObject;
484
502
  }));
485
503
  };
@@ -565,6 +583,22 @@
565
583
  arrayCrit.push(critObj);
566
584
  }
567
585
  request.criteria = arrayCrit;
586
+ if (jsonComp[j].path != undefined && jsonComp[j].path != "") {
587
+ if (this.searchInput.ddlEnvironments != undefined && this.searchInput.ddlEnvironments.length != 0) {
588
+ for (var y = 0; y < this.searchInput.ddlEnvironments.length; y++) {
589
+ if (jsonComp[j].name == this.searchInput.ddlEnvironments[y].name) {
590
+ jsonComp[j].fullpath = this.searchInput.ddlEnvironments[y].environment + jsonComp[j].path;
591
+ break;
592
+ }
593
+ }
594
+ }
595
+ else {
596
+ jsonComp[j].fullpath = jsonComp[j].url;
597
+ }
598
+ }
599
+ else {
600
+ jsonComp[j].fullpath = jsonComp[j].url;
601
+ }
568
602
  this.resolveObject(jsonComp[j], jsonComp[j].url, request);
569
603
  }
570
604
  }
@@ -573,7 +607,7 @@
573
607
  UCSearchComponent.decorators = [
574
608
  { type: i0.Component, args: [{
575
609
  selector: 'lib-UCSearch',
576
- template: "<!-- Basic form layout section start -->\r\n<section id=\"horizontal-form-layouts\">\r\n <div class=\"row text-left\">\r\n <div class=\"col-md-12\">\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <div class=\"px-3\">\r\n <form class=\"form form-horizontal\" id=\"formSearch\" #formIdSearch>\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 {{configuration?.title}}\r\n </h4>\r\n <!-- Ini Digunakan untuk Generate Dynamic Component -->\r\n <!-- [hidden]=\"isHidden\" -->\r\n <div class=\"panel-active\" [@changeDivSize]=currentState>\r\n <div class=\"row\">\r\n <div class=\"col-md-6 form-group\" *ngFor=\"let question of configuration?.component\">\r\n <div class=\"col-md-12\">\r\n <div class=\"row\">\r\n <label class=\"col-md-5 no-padding\" for=\"{{question.id}}\" 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 name=\"{{question.name}}\" value=\"{{question.value}}\"\r\n attr.data-type=\"{{question.datatype}}\" attr.data-restriction=\"{{question.restriction}}\">\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 name=\"{{question.name}}\" attr.data-type=\"{{question.datatype}}\"\r\n value=\"{{question.value}}\"></textarea>\r\n </div>\r\n <div *ngIf=\"question.type=='numeric'\">\r\n <input type=\"text\" id=\"{{question.id}}\" (focus)=\"transformToDecimal($event)\"\r\n (blur)=\"transformAmount($event)\" class=\"form-control search-form-control\"\r\n name=\"{{question.name}}\" value=\"{{question.value}}\"\r\n attr.data-restriction=\"{{question.restriction}}\" attr.data-type=\"{{question.datatype}}\">\r\n </div>\r\n\r\n <!-- End Hardcode Lookup didalem-->\r\n <div *ngIf=\"question.type=='datepicker'\">\r\n <input type=\"date\" id=\"{{question.id}}\"\r\n class=\"form-control search-form-control btn-lookup\" name=\"{{question.name}}\"\r\n value=\"{{question.value}}\" attr.data-type=\"{{question.datatype}}\"\r\n attr.data-restriction=\"{{question.restriction}}\">\r\n </div>\r\n <div *ngIf=\"question.type=='dropdown'\">\r\n <!-- Ini kalau datanya tidak di load dari URL -->\r\n <div *ngIf=\"!question.isFromURL\">\r\n <select name=\"{{question.name}}\" class=\"form-control search-form-control\"\r\n attr.query-in=\"{{question.isQueryIn}}\" attr.data-type=\"{{question.datatype}}\">\r\n <option *ngIf=\"!question.isSelectOne\" value=\"All\">\r\n All\r\n </option>\r\n <option *ngFor=\"let item of question?.items\" value=\"{{item.key}}\">\r\n {{item.value}}\r\n </option>\r\n </select>\r\n </div>\r\n <!-- Ini kalau datanya di load dari URL -->\r\n <div *ngIf=\"question.isFromURL\">\r\n <div *ngIf=\"question.isEvent\">\r\n <select name=\"{{question.name}}\"\r\n (change)=\"onChangeEvent($event.target.value, question)\"\r\n class=\"form-control search-form-control\" attr.query-in=\"{{question.isQueryIn}}\"\r\n attr.data-type=\"{{question.datatype}}\">\r\n <option *ngIf=\"!question.isSelectOne\" value=\"All\">\r\n All\r\n </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 </div>\r\n <div *ngIf=\"!question.isEvent\">\r\n <select name=\"{{question.name}}\" class=\"form-control search-form-control\"\r\n attr.query-in=\"{{question.isQueryIn}}\" attr.data-type=\"{{question.datatype}}\">\r\n <option *ngIf=\"!question.isSelectOne\" value=\"All\">\r\n All\r\n </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 </div>\r\n </div>\r\n </div>\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 <form>\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> Export Excel\r\n </button>\r\n <button type=\"button\" (click)=\"reset()\" class=\"btn btn-raised btn-warning mr-1\" translate>\r\n <i class=\"ft-x\"></i> Reset\r\n </button>\r\n <button type=\"button\" (click)=\"searchClick()\" class=\"btn btn-raised btn-primary\" translate>\r\n <i class=\"fa fa-search\"></i> Search\r\n </button>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n<br>\r\n<!-- // Basic form layout section end -->",
610
+ template: "<!-- Basic form layout section start -->\r\n<section id=\"horizontal-form-layouts\">\r\n <div class=\"row text-left\">\r\n <div class=\"col-md-12\">\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <div class=\"px-3\">\r\n <form class=\"form form-horizontal\" id=\"formSearch\" #formIdSearch>\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;\" [ngClass]=\"isHidden ? 'fa-chevron-right' : 'fa-chevron-down'\"></i>\r\n </div>\r\n {{configuration?.title}} \r\n </h4>\r\n <!-- Ini Digunakan untuk Generate Dynamic Component -->\r\n <!-- [hidden]=\"isHidden\" -->\r\n <div class=\"panel-active\" [@changeDivSize]=currentState>\r\n <div class=\"row\">\r\n <div class=\"col-md-6 form-group\"\r\n *ngFor=\"let question of configuration?.component\">\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 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 name=\"{{question.name}}\" value=\"{{question.value}}\"\r\n attr.data-type=\"{{question.datatype}}\" attr.data-restriction=\"{{question.restriction}}\" >\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 name=\"{{question.name}}\" attr.data-type=\"{{question.datatype}}\"\r\n value=\"{{question.value}}\"></textarea>\r\n </div>\r\n <div *ngIf=\"question.type=='numeric'\">\r\n <input type=\"text\" id=\"{{question.id}}\" (focus)=\"transformToDecimal($event)\"\r\n (blur)=\"transformAmount($event)\" class=\"form-control search-form-control\"\r\n name=\"{{question.name}}\" value=\"{{question.value}}\"\r\n attr.data-restriction=\"{{question.restriction}}\" attr.data-type=\"{{question.datatype}}\">\r\n </div>\r\n \r\n <!-- End Hardcode Lookup didalem-->\r\n <div *ngIf=\"question.type=='datepicker'\">\r\n <input type=\"date\" id=\"{{question.id}}\" class=\"form-control search-form-control btn-lookup\"\r\n name=\"{{question.name}}\" value=\"{{question.value}}\" attr.data-type=\"{{question.datatype}}\"\r\n attr.data-restriction=\"{{question.restriction}}\">\r\n </div>\r\n <div *ngIf=\"question.type=='dropdown'\">\r\n <!-- Ini kalau datanya tidak di load dari URL -->\r\n <div *ngIf=\"!question.isFromURL\">\r\n <select name=\"{{question.name}}\"\r\n class=\"form-control search-form-control\" attr.query-in=\"{{question.isQueryIn}}\" attr.data-type=\"{{question.datatype}}\">\r\n <option *ngIf=\"!question.isSelectOne\" value=\"All\">\r\n All\r\n </option>\r\n <option *ngFor=\"let item of question?.items\" value=\"{{item.key}}\">\r\n {{item.value}}\r\n </option>\r\n </select>\r\n </div>\r\n <!-- Ini kalau datanya di load dari URL -->\r\n <div *ngIf=\"question.isFromURL\">\r\n <div *ngIf=\"question.isEvent\">\r\n <select name=\"{{question.name}}\" (change)=\"onChangeEvent($event.target.value, question)\"\r\n class=\"form-control search-form-control\" attr.query-in=\"{{question.isQueryIn}}\" attr.data-type=\"{{question.datatype}}\">\r\n <option *ngIf=\"!question.isSelectOne\" value=\"All\">\r\n All\r\n </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 </div>\r\n <div *ngIf=\"!question.isEvent\">\r\n <select name=\"{{question.name}}\"\r\n class=\"form-control search-form-control\" attr.query-in=\"{{question.isQueryIn}}\" attr.data-type=\"{{question.datatype}}\">\r\n <option *ngIf=\"!question.isSelectOne\" value=\"All\">\r\n All\r\n </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 </div>\r\n </div>\r\n </div>\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 <form>\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> Export Excel\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> Reset\r\n </button>\r\n <button type=\"button\" (click)=\"searchClick()\" class=\"btn btn-raised btn-primary\" #UCSearchClick translate>\r\n <i class=\"fa fa-search\"></i> Search\r\n </button>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n<br>\r\n<!-- // Basic form layout section end -->",
577
611
  providers: [ExcelService],
578
612
  animations: [
579
613
  animations.trigger('changeDivSize', [
@@ -1 +1 @@
1
- {"version":3,"file":"ucsearch.umd.js.map","sources":["ng://ucsearch/lib/ucsearch.service.ts","ng://ucsearch/lib/model/CriteriaObj.Model.ts","ng://ucsearch/lib/model/RequestCriteriaObj.model.ts","ng://ucsearch/lib/model/AdInstConstant.ts","ng://ucsearch/lib/services/excel-service/excel-service.ts","ng://ucsearch/lib/ucsearch.component.ts","ng://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","export class CriteriaObj{\r\n propName:string;\r\n restriction:string;\r\n value:string;\r\n low:number;\r\n high:number;\r\n DataType:string;\r\n listValue : Array<any>;\r\n\r\n constructor()\r\n {\r\n this.low=0;\r\n this.high=0;\r\n this.DataType='Text';\r\n }\r\n\r\n}","import { CriteriaObj } from \"../model/CriteriaObj.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\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 }\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}\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}","import { Component, OnInit, Input, ViewChild, ElementRef, Inject, Renderer2, EventEmitter, Output, ViewEncapsulation } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { formatDate } from '@angular/common';\r\nimport { CriteriaObj } from './model/CriteriaObj.Model';\r\nimport { RequestCriteriaObj } from './model/RequestCriteriaObj.model';\r\nimport { AdInsConstant } from './model/AdInstConstant';\r\nimport { DOCUMENT } from '@angular/platform-browser';\r\nimport { ExcelService } from './services/excel-service/excel-service';\r\nimport { trigger, transition, style, animate, state } from '@angular/animations';\r\n\r\n@Component({\r\n selector: 'lib-UCSearch',\r\n templateUrl: './ucsearch.component.html',\r\n styles: [],\r\n providers: [ExcelService],\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\r\n @ViewChild('formIdSearch') myForm: ElementRef;\r\n @Input() searchInput: any;\r\n @Output() result: EventEmitter<any> = new EventEmitter();\r\n pageSize: any = 10;\r\n pageNow: any = 1;\r\n orderByKey: any;\r\n orderByValue: any;\r\n urlGet: string;\r\n configuration: any;\r\n itemUrl: any;\r\n exportData: any;\r\n ExcelData: any;\r\n isDataLoaded: boolean = false;\r\n isHidden: boolean = false;\r\n\r\n currentState = 'initial';\r\n\r\n form: FormGroup;\r\n payLoad = '';\r\n countForm = 0;\r\n formattedAmount = '';\r\n amount = 0;\r\n apiUrl: string;\r\n arrCrit: any;\r\n constructor(private http: HttpClient, private excelService: ExcelService, private _renderer2: Renderer2, @Inject(DOCUMENT) private _document) {\r\n }\r\n\r\n // hide(obj:any){\r\n // var target =event.srcElement;\r\n // // var idAttr = target.attributes.id;\r\n // // var value = idAttr.nodeValue;\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 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 this.initiateForm();\r\n }\r\n\r\n initiateForm() {\r\n this.getJSON(this.searchInput._url).subscribe(data => {\r\n console.log(data);\r\n this.configuration = data;\r\n this.urlGet = data.url;\r\n this.exportData = data.exportExcel;\r\n this.countForm = data.component.length;\r\n this.isDataLoaded = true;\r\n\r\n for (var i = 0; i < this.countForm; i++) {\r\n //ini kalau datanya di load dari URL\r\n if (data.component[i].isFromURL == true) {\r\n var request = new RequestCriteriaObj();\r\n var arrayCrit = new Array();\r\n var criteriaObject = new CriteriaObj();\r\n criteriaObject.DataType = \"text\";\r\n criteriaObject.propName = data.component[i].criteriaPropName;\r\n criteriaObject.value = data.component[i].criteriaPropValue;\r\n criteriaObject.restriction = \"eq\";\r\n arrayCrit.push(criteriaObject);\r\n request.criteria = arrayCrit;\r\n request[data.component[i].criteriaPropName] = data.component[i].criteriaPropValue;\r\n\r\n //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].url, request);\r\n }\r\n\r\n if (data.component[i].type == \"numeric\") {\r\n data.component[i].value = parseFloat(data.component[i].value).toLocaleString('en');\r\n }\r\n\r\n //pengecekan tanggal\r\n if (data.component[i].type == \"datepicker\") {\r\n if (data.component[i].value.includes(\"BD\")) {\r\n let businessDate = new Date(JSON.parse(localStorage.getItem(\"UserContext\")).BusinessDate);\r\n var operator = data.component[i].value.charAt(2);\r\n var dateShow = new Date();\r\n if (operator == \"-\") {\r\n var tempMinus = data.component[i].value.split(\"-\", 2);\r\n var numDay = parseInt(tempMinus[1]);\r\n dateShow.setDate(businessDate.getDate() - numDay);\r\n }\r\n else if (operator == \"+\") {\r\n var tempMinus = data.component[i].value.split(\"+\", 2);\r\n var numDay = parseInt(tempMinus[1]);\r\n dateShow.setDate(businessDate.getDate() + numDay);\r\n }\r\n var dateText = formatDate(dateShow, 'yyyy-MM-dd', 'en-US')\r\n data.component[i].value = dateText;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n public getJSON(url: string): Observable<any> {\r\n return this.http.get(url);\r\n }\r\n\r\n public postJSON(url: string, criteria: any = null): Observable<any> {\r\n return this.http.post(url, criteria);\r\n }\r\n\r\n searchClick() {\r\n this.orderByKey = null\r\n this.orderByValue = true\r\n this.pageNow = 1;\r\n this.search(this.apiUrl, this.pageNow, this.pageSize, null, this.arrCrit);\r\n }\r\n\r\n reset() {\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 var request = new RequestCriteriaObj();\r\n var arrCrit = new Array();\r\n var IsQueryIn = false;\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 (var i = 0; i < this.countForm; i++) {\r\n var critObj = new CriteriaObj();\r\n var component = this.myForm.nativeElement[i];\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 var ddl = component.options;\r\n var text = ddl[ddl.selectedIndex].value;\r\n if (text != \"All\") {\r\n //Kalau Dari Dropdown udah pasti pake Eq\r\n critObj.restriction = AdInsConstant.RestrictionEq;\r\n critObj.propName = component.name;\r\n critObj.value = text;\r\n arrCrit.push(critObj);\r\n } else if (text == \"All\" && IsQueryIn == true && component.options.length != 0) {\r\n var 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 critObj.restriction = AdInsConstant.RestrictionIn;\r\n critObj.propName = component.name;\r\n critObj.listValue = ddlList;\r\n arrCrit.push(critObj);\r\n }\r\n }\r\n else {\r\n //Kalau ada Percent maka yang dipake nnti adalah Restrictions Like\r\n critObj.propName = component.name;\r\n critObj.value = component.value;\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 component.value = parseFloat(component.value.replace(/,/g, ''));\r\n }\r\n }\r\n else {\r\n critObj.restriction = AdInsConstant.RestrictionEq\r\n }\r\n arrCrit.push(critObj);\r\n }\r\n }\r\n }\r\n\r\n if (addCrit != null && addCrit != undefined) {\r\n if (addCrit.length != 0) {\r\n for (var i = 0; i < addCrit.length; i++) {\r\n arrCrit.push(addCrit[i]);\r\n }\r\n } else if (this.searchInput.addCritInput != null || this.searchInput.addCritInput != undefined) {\r\n for (var i = 0; i < this.searchInput.addCritInput.length; i++) {\r\n arrCrit.push(this.searchInput.addCritInput[i]);\r\n }\r\n }\r\n }\r\n else if (this.searchInput.addCritInput != null || this.searchInput.addCritInput != undefined) {\r\n for (var i = 0; i < this.searchInput.addCritInput.length; i++) {\r\n arrCrit.push(this.searchInput.addCritInput[i]);\r\n }\r\n }\r\n\r\n request.criteria = arrCrit;\r\n this.http.post(apiUrl, request).subscribe((response) => {\r\n var qryPaging = {\r\n response: response,\r\n pageNow: pageNo\r\n }\r\n console.log(qryPaging);\r\n this.result.emit(qryPaging);\r\n return response;\r\n });\r\n }\r\n\r\n 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 = tempData.ReturnObject;\r\n });\r\n }\r\n\r\n transformAmount(element: any) {\r\n this.formattedAmount = parseFloat(element.target.value).toLocaleString('en');\r\n // to show the formatted amount in the textbox.\r\n element.target.value = this.formattedAmount;\r\n }\r\n\r\n transformToDecimal(element: any) {\r\n element.target.value = parseFloat(element.target.value.toString().replace(/,/g, ''));\r\n }\r\n\r\n exportAsXLSX(): void {\r\n var request = new RequestCriteriaObj();\r\n request.pageNo = 1;\r\n request.rowPerPage = 9999;\r\n request.orderBy = null;\r\n request.criteria = [];\r\n request.queryString = this.configuration.querystring;\r\n\r\n this.http.post(this.apiUrl, request).subscribe(\r\n response => {\r\n this.ExcelData = response[\"Data\"];\r\n this.excelService.exportAsExcelFile(this.ExcelData, 'sample');\r\n },\r\n (error) => {\r\n console.log(error);\r\n });\r\n }\r\n\r\n onChangeEvent(optValue, afFilter) {\r\n var jsonComp = this.configuration.component;\r\n\r\n for (var i = 0; i < afFilter.affectedFilter.length; i++) {\r\n for (var j = 0; j < jsonComp.length; j++) {\r\n if (jsonComp[j].name == afFilter.affectedFilter[i]) {\r\n var request = new RequestCriteriaObj();\r\n var arrayCrit = new Array();\r\n\r\n if (optValue != \"All\") {\r\n var critObj = new CriteriaObj();\r\n critObj.DataType = afFilter.datatype;\r\n critObj.propName = afFilter.name;\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 this.resolveObject(jsonComp[j], jsonComp[j].url, request);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { UCSearchComponent } from './ucsearch.component';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@NgModule({\r\n declarations: [UCSearchComponent],\r\n imports: [\r\n CommonModule\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","Component","trigger","state","style","transition","animate","HttpClient","Renderer2","Inject","DOCUMENT","ViewChild","Input","Output","NgModule","CommonModule"],"mappings":"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"}
1
+ {"version":3,"file":"ucsearch.umd.js.map","sources":["ng://ucsearch/lib/ucsearch.service.ts","ng://ucsearch/lib/model/CriteriaObj.Model.ts","ng://ucsearch/lib/model/RequestCriteriaObj.model.ts","ng://ucsearch/lib/model/AdInstConstant.ts","ng://ucsearch/lib/services/excel-service/excel-service.ts","ng://ucsearch/lib/ucsearch.component.ts","ng://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","export class CriteriaObj{\r\n propName:string;\r\n restriction:string;\r\n value:string;\r\n low:number;\r\n high:number;\r\n DataType:string;\r\n listValue : Array<any>;\r\n\r\n constructor()\r\n {\r\n this.low=0;\r\n this.high=0;\r\n this.DataType='Text';\r\n }\r\n\r\n}","import { CriteriaObj } from \"../model/CriteriaObj.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\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 }\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}\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}","import { Component, OnInit, Input, ViewChild, ElementRef, Inject, Renderer2, EventEmitter, Output, ViewEncapsulation } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { formatDate } from '@angular/common';\r\nimport { CriteriaObj } from './model/CriteriaObj.Model';\r\nimport { RequestCriteriaObj } from './model/RequestCriteriaObj.model';\r\nimport { AdInsConstant } from './model/AdInstConstant';\r\nimport { DOCUMENT } from '@angular/platform-browser';\r\nimport { ExcelService } from './services/excel-service/excel-service';\r\nimport { trigger, transition, style, animate, state } from '@angular/animations';\r\n\r\n@Component({\r\n selector: 'lib-UCSearch',\r\n templateUrl: './ucsearch.component.html',\r\n styles: [],\r\n providers: [ExcelService],\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\r\n @ViewChild('formIdSearch') myForm: ElementRef;\r\n @Input() searchInput: any;\r\n @Output() result: EventEmitter<any> = new EventEmitter();\r\n pageSize: any = 10;\r\n pageNow: any = 1;\r\n orderByKey: any;\r\n orderByValue: any;\r\n tempUrl: string;\r\n urlGet: string;\r\n server: any;\r\n configuration: any;\r\n itemUrl: any;\r\n exportData: any;\r\n ExcelData: any;\r\n isDataLoaded: boolean = false;\r\n isHidden: boolean = false;\r\n\r\n currentState = 'initial';\r\n\r\n form: FormGroup;\r\n payLoad = '';\r\n countForm = 0;\r\n formattedAmount = '';\r\n amount = 0;\r\n apiUrl: string;\r\n arrCrit: any;\r\n constructor(private http: HttpClient, private excelService: ExcelService, private _renderer2: Renderer2, @Inject(DOCUMENT) private _document) {\r\n }\r\n // hide(obj:any){\r\n // var target =event.srcElement;\r\n // // var idAttr = target.attributes.id;\r\n // // var value = idAttr.nodeValue;\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 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 this.initiateForm();\r\n }\r\n\r\n initiateForm() {\r\n this.getJSON(this.searchInput._url).subscribe(data => {\r\n console.log(data);\r\n this.configuration = data;\r\n this.urlGet = data.url;\r\n this.exportData = data.exportExcel;\r\n this.countForm = data.component.length;\r\n this.isDataLoaded = true;\r\n\r\n for (var i = 0; i < this.countForm; i++) {\r\n //ini kalau datanya di load dari URL\r\n if (data.component[i].isFromURL == true) {\r\n var request = new RequestCriteriaObj();\r\n var arrayCrit = new Array();\r\n var criteriaObject = new CriteriaObj();\r\n criteriaObject.DataType = \"text\";\r\n criteriaObject.propName = data.component[i].criteriaPropName;\r\n criteriaObject.value = data.component[i].criteriaPropValue;\r\n criteriaObject.restriction = \"eq\";\r\n arrayCrit.push(criteriaObject);\r\n request.criteria = arrayCrit;\r\n request[data.component[i].criteriaPropName] = data.component[i].criteriaPropValue;\r\n\r\n // Pengecekan penggunaan url atau path\r\n if (data.component[i].path != undefined && data.component[i].path != \"\") {\r\n if (this.searchInput.ddlEnvironments != undefined && this.searchInput.ddlEnvironments.length != 0) {\r\n for (let y = 0; y < this.searchInput.ddlEnvironments.length; y++) {\r\n if (data.component[i].name == this.searchInput.ddlEnvironments[y].name) {\r\n data.component[i].fullpath = this.searchInput.ddlEnvironments[y].environment + data.component[i].path;\r\n break;\r\n }\r\n }\r\n } else {\r\n data.component[i].fullpath = data.component[i].url;\r\n }\r\n\r\n } else {\r\n data.component[i].fullpath = data.component[i].url;\r\n }\r\n //lempar objectnya sekalian sama urlnya, nnti di bind di dalem karena masalah di asyncnya\r\n //biar tiap function ada state2nya sendiri\r\n this.resolveObject(data.component[i], data.component[i].fullpath, request);\r\n }\r\n\r\n if (data.component[i].type == \"numeric\") {\r\n data.component[i].value = parseFloat(data.component[i].value).toLocaleString('en');\r\n }\r\n\r\n //pengecekan tanggal\r\n if (data.component[i].type == \"datepicker\") {\r\n if (data.component[i].value.includes(\"BD\")) {\r\n let businessDate = new Date(JSON.parse(localStorage.getItem(\"UserContext\")).BusinessDate);\r\n var operator = data.component[i].value.charAt(2);\r\n var dateShow = new Date();\r\n if (operator == \"-\") {\r\n var tempMinus = data.component[i].value.split(\"-\", 2);\r\n var numDay = parseInt(tempMinus[1]);\r\n dateShow.setDate(businessDate.getDate() - numDay);\r\n }\r\n else if (operator == \"+\") {\r\n var tempMinus = data.component[i].value.split(\"+\", 2);\r\n var numDay = parseInt(tempMinus[1]);\r\n dateShow.setDate(businessDate.getDate() + numDay);\r\n }\r\n var dateText = formatDate(dateShow, 'yyyy-MM-dd', 'en-US')\r\n data.component[i].value = dateText;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n public getJSON(url: string): Observable<any> {\r\n return this.http.get(url);\r\n }\r\n\r\n public postJSON(url: string, criteria: any = null): Observable<any> {\r\n return this.http.post(url, criteria);\r\n }\r\n\r\n searchClick() {\r\n this.orderByKey = null\r\n this.orderByValue = true\r\n this.pageNow = 1;\r\n this.search(this.apiUrl, this.pageNow, this.pageSize, null, this.arrCrit);\r\n }\r\n\r\n reset() {\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 var request = new RequestCriteriaObj();\r\n var arrCrit = new Array();\r\n var IsQueryIn = false;\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 (var i = 0; i < this.countForm; i++) {\r\n var critObj = new CriteriaObj();\r\n var component = this.myForm.nativeElement[i];\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 var ddl = component.options;\r\n var text = ddl[ddl.selectedIndex].value;\r\n if (text != \"All\") {\r\n //Kalau Dari Dropdown udah pasti pake Eq\r\n critObj.restriction = AdInsConstant.RestrictionEq;\r\n critObj.propName = component.name;\r\n critObj.value = text;\r\n arrCrit.push(critObj);\r\n } else if (text == \"All\" && IsQueryIn == true && component.options.length != 0) {\r\n var 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 critObj.restriction = AdInsConstant.RestrictionIn;\r\n critObj.propName = component.name;\r\n critObj.listValue = ddlList;\r\n arrCrit.push(critObj);\r\n }\r\n }\r\n else {\r\n //Kalau ada Percent maka yang dipake nnti adalah Restrictions Like\r\n critObj.propName = component.name;\r\n critObj.value = component.value;\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 component.value = parseFloat(component.value.replace(/,/g, ''));\r\n }\r\n }\r\n else {\r\n critObj.restriction = AdInsConstant.RestrictionEq\r\n }\r\n arrCrit.push(critObj);\r\n }\r\n }\r\n }\r\n\r\n if (addCrit != null && addCrit != undefined) {\r\n if (addCrit.length != 0) {\r\n for (var i = 0; i < addCrit.length; i++) {\r\n arrCrit.push(addCrit[i]);\r\n }\r\n } else if (this.searchInput.addCritInput != null || this.searchInput.addCritInput != undefined) {\r\n for (var i = 0; i < this.searchInput.addCritInput.length; i++) {\r\n arrCrit.push(this.searchInput.addCritInput[i]);\r\n }\r\n }\r\n }\r\n else if (this.searchInput.addCritInput != null || this.searchInput.addCritInput != undefined) {\r\n for (var i = 0; i < this.searchInput.addCritInput.length; i++) {\r\n arrCrit.push(this.searchInput.addCritInput[i]);\r\n }\r\n }\r\n\r\n request.criteria = arrCrit;\r\n this.http.post(apiUrl, request).subscribe((response) => {\r\n var qryPaging = {\r\n response: response,\r\n pageNow: pageNo\r\n }\r\n console.log(qryPaging);\r\n this.result.emit(qryPaging);\r\n return response;\r\n });\r\n }\r\n\r\n lessThanFour(): boolean {\r\n if (this.countForm > 3) {\r\n return false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n\r\n resolveObject(obj: any, url: string, crit: RequestCriteriaObj = null) {\r\n const val = this.postJSON(url, crit);\r\n val.subscribe(tempData => {\r\n obj.itemsUrl = new Array();\r\n obj.itemsUrl = tempData.ReturnObject;\r\n });\r\n }\r\n\r\n transformAmount(element: any) {\r\n this.formattedAmount = parseFloat(element.target.value).toLocaleString('en');\r\n // to show the formatted amount in the textbox.\r\n element.target.value = this.formattedAmount;\r\n }\r\n\r\n transformToDecimal(element: any) {\r\n element.target.value = parseFloat(element.target.value.toString().replace(/,/g, ''));\r\n }\r\n\r\n exportAsXLSX(): void {\r\n var request = new RequestCriteriaObj();\r\n request.pageNo = 1;\r\n request.rowPerPage = 9999;\r\n request.orderBy = null;\r\n request.criteria = [];\r\n request.queryString = this.configuration.querystring;\r\n\r\n this.http.post(this.apiUrl, request).subscribe(\r\n response => {\r\n this.ExcelData = response[\"Data\"];\r\n this.excelService.exportAsExcelFile(this.ExcelData, 'sample');\r\n },\r\n (error) => {\r\n console.log(error);\r\n });\r\n }\r\n\r\n onChangeEvent(optValue, afFilter) {\r\n var jsonComp = this.configuration.component;\r\n\r\n for (var i = 0; i < afFilter.affectedFilter.length; i++) {\r\n for (var j = 0; j < jsonComp.length; j++) {\r\n if (jsonComp[j].name == afFilter.affectedFilter[i]) {\r\n var request = new RequestCriteriaObj();\r\n var arrayCrit = new Array();\r\n\r\n if (optValue != \"All\") {\r\n var critObj = new CriteriaObj();\r\n critObj.DataType = afFilter.datatype;\r\n critObj.propName = afFilter.name;\r\n critObj.value = optValue;\r\n critObj.restriction = AdInsConstant.RestrictionEq;\r\n arrayCrit.push(critObj);\r\n }\r\n request.criteria = arrayCrit;\r\n if (jsonComp[j].path != undefined && jsonComp[j].path != \"\") {\r\n if (this.searchInput.ddlEnvironments != undefined && this.searchInput.ddlEnvironments.length != 0) {\r\n for (let y = 0; y < this.searchInput.ddlEnvironments.length; y++) {\r\n if (jsonComp[j].name == this.searchInput.ddlEnvironments[y].name) {\r\n jsonComp[j].fullpath = this.searchInput.ddlEnvironments[y].environment + jsonComp[j].path;\r\n break;\r\n }\r\n }\r\n } else {\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].url, request);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { UCSearchComponent } from './ucsearch.component';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@NgModule({\r\n declarations: [UCSearchComponent],\r\n imports: [\r\n CommonModule\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","Component","trigger","state","style","transition","animate","HttpClient","Renderer2","Inject","DOCUMENT","ViewChild","Input","Output","NgModule","CommonModule"],"mappings":";;;;;;;;;;AAAA;QAOE;SAAiB;;oBALlBA,aAAU,SAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;;;8BAJD;KAEA;;;;;;ICFA;QASI;YAEI,IAAI,CAAC,GAAG,GAAC,CAAC,CAAC;YACX,IAAI,CAAC,IAAI,GAAC,CAAC,CAAC;YACZ,IAAI,CAAC,QAAQ,GAAC,MAAM,CAAC;SACxB;QAEL,kBAAC;IAAD,CAAC,IAAA;;;;;;ICdD;QAWI;YAEI,IAAI,CAAC,YAAY,GAAC,IAAI,CAAC;YACvB,IAAI,CAAC,WAAW,GAAC,IAAI,CAAC;YACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;SACxB;QACL,yBAAC;IAAD,CAAC,IAAA;;;;;;ICnBD;QAAA;SAkBC;QAjBiB,gCAAkB,GAAG,SAAS,CAAA;QAC9B,6BAAe,GAAG,MAAM,CAAC;QACzB,2BAAa,GAAG,IAAI,CAAC;QACrB,4BAAc,GAAG,KAAK,CAAC;QACvB,2BAAa,GAAG,IAAI,CAAC;QACrB,4BAAc,GAAG,KAAK,CAAC;QACvB,2BAAa,GAAG,IAAI,CAAC;QACrB,4BAAc,GAAG,KAAK,CAAC;QACvB,2BAAa,GAAG,IAAI,CAAC;QACrB,8BAAgB,GAAG,OAAO,CAAC;QAC3B,2BAAa,GAAG,IAAI,CAAC;;QACrB,8BAAgB,GAAG,OAAO,CAAC;;QAC3B,+BAAiB,GAAG,QAAQ,CAAC;QAC7B,kCAAoB,GAAG,WAAW,CAAC;QACnC,4BAAc,GAAG,KAAK,CAAC;QACvB,4BAAc,GAAG,KAAK,CAAC;QACvB,sBAAQ,GAAG,WAAW,CAAC;QACzC,oBAAC;KAlBD,IAkBC;;;;;;ACpBD;QAIM,UAAU,GAAG,iFAAiF;;QAC9F,eAAe,GAAG,OAAO;AAE/B;QAGE;SAAiB;;;;;;QAEV,wCAAiB;;;;;YAAxB,UAAyB,IAAW,EAAE,aAAqB;;oBAEnD,SAAS,GAAmBC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC;gBAChE,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,SAAS,CAAC,CAAC;;oBAC7B,QAAQ,GAAkB,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE;;oBACjF,WAAW,GAAQC,UAAU,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;;gBAElF,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;aAClD;;;;;;;QAEO,sCAAe;;;;;;YAAvB,UAAwB,MAAW,EAAE,QAAgB;;oBAC7C,IAAI,GAAS,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE;oBACpC,IAAI,EAAE,UAAU;iBACjB,CAAC;gBACFC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,eAAe,CAAC,CAAC;aACxF;;oBApBFH,aAAU;;;;QAsBX,mBAAC;KAtBD;;;;;;ACPA;QA6DE,2BAAoBI,OAAgB,EAAU,YAA0B,EAAU,UAAqB,EAA4B,SAAS;YAAxH,SAAI,GAAJA,OAAI,CAAY;YAAU,iBAAY,GAAZ,YAAY,CAAc;YAAU,eAAU,GAAV,UAAU,CAAW;YAA4B,cAAS,GAAT,SAAS,CAAA;YAxBlI,WAAM,GAAsB,IAAIC,eAAY,EAAE,CAAC;YACzD,aAAQ,GAAQ,EAAE,CAAC;YACnB,YAAO,GAAQ,CAAC,CAAC;YAUjB,iBAAY,GAAY,KAAK,CAAC;YAC9B,aAAQ,GAAY,KAAK,CAAC;YAE1B,iBAAY,GAAG,SAAS,CAAC;YAGzB,YAAO,GAAG,EAAE,CAAC;YACb,cAAS,GAAG,CAAC,CAAC;YACd,oBAAe,GAAG,EAAE,CAAC;YACrB,WAAM,GAAG,CAAC,CAAC;SAIV;;;;;;;;;;;;;;QAOD,uCAAW;;;;;;;;;YAAX;gBACE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,KAAK,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;gBAC1E,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,KAAK,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;aACxD;;;;QAED,oCAAQ;;;YAAR;gBACE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC;gBAC7E,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;;oBACvC,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC;gBAChD,EAAE,CAAC,IAAI,GAAG,qLAML,CAAC;gBACN,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACrD,IAAI,CAAC,YAAY,EAAE,CAAC;aACrB;;;;QAED,wCAAY;;;YAAZ;gBAAA,iBAsEC;gBArEC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS;;;mBAAC,UAAA,IAAI;oBAChD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAClB,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;oBAC1B,KAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC;oBACvB,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;oBACnC,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;oBACvC,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;oBAEzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE;;wBAEvC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,EAAE;;gCACnC,OAAO,GAAG,IAAI,kBAAkB,EAAE;;gCAClC,SAAS,GAAG,IAAI,KAAK,EAAE;;gCACvB,cAAc,GAAG,IAAI,WAAW,EAAE;4BACtC,cAAc,CAAC,QAAQ,GAAG,MAAM,CAAC;4BACjC,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;4BAC7D,cAAc,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;4BAC3D,cAAc,CAAC,WAAW,GAAG,IAAI,CAAC;4BAClC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;4BAC/B,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;4BAC7B,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;;4BAGlF,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE;gCACvE,IAAI,KAAI,CAAC,WAAW,CAAC,eAAe,IAAI,SAAS,IAAI,KAAI,CAAC,WAAW,CAAC,eAAe,CAAC,MAAM,IAAI,CAAC,EAAE;oCACjG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wCAChE,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,KAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;4CACtE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;4CACtG,MAAM;yCACP;qCACF;iCACF;qCAAM;oCACL,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;iCACpD;6BAEF;iCAAM;gCACL,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;6BACpD;;;4BAGD,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;yBAC5E;wBAED,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,SAAS,EAAE;4BACvC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;yBACpF;;wBAGD,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,YAAY,EAAE;4BAC1C,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;;oCACtC,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC;;oCACrF,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;;oCAC5C,QAAQ,GAAG,IAAI,IAAI,EAAE;gCACzB,IAAI,QAAQ,IAAI,GAAG,EAAE;;wCACf,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;;wCACjD,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;oCACnC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC;iCACnD;qCACI,IAAI,QAAQ,IAAI,GAAG,EAAE;;wCACpB,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;;wCACjD,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;oCACnC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC;iCACnD;;oCACG,QAAQ,GAAGC,iBAAU,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC;gCAC1D,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC;6BACpC;yBACF;qBACF;iBACF,EAAC,CAAC;aACJ;;;;;QAEM,mCAAO;;;;YAAd,UAAe,GAAW;gBACxB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAC3B;;;;;;QAEM,oCAAQ;;;;;YAAf,UAAgB,GAAW,EAAE,QAAoB;gBAApB,yBAAA;oBAAA,eAAoB;;gBAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;aACtC;;;;QAED,uCAAW;;;YAAX;gBACE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;gBACtB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;gBACxB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;gBACjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;aAC3E;;;;QAED,iCAAK;;;YAAL;gBACE,IAAI,CAAC,YAAY,EAAE,CAAC;aACrB;;;;;;;;;QAED,kCAAM;;;;;;;;YAAN,UAAO,MAAc,EAAE,MAAc,EAAE,UAAkB,EAAE,OAAY,EAAE,OAAoC;gBAA7G,iBA6FC;gBA7FwE,wBAAA;oBAAA,cAA6B,KAAK,EAAE;;;oBACvG,OAAO,GAAG,IAAI,kBAAkB,EAAE;;oBAClC,OAAO,GAAG,IAAI,KAAK,EAAE;;oBACrB,SAAS,GAAG,KAAK;gBAErB,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;gBACxB,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;gBAChC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;gBAC1B,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;gBAErD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE;;wBACnC,OAAO,GAAG,IAAI,WAAW,EAAE;;wBAC3B,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;oBAC5C,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;;oBAEvD,IAAI,SAAS,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,IAAI,IAAI,SAAS,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,MAAM,EAAE;wBAC9F,SAAS,GAAG,IAAI,CAAC;qBAClB;yBACI;wBACH,SAAS,GAAG,KAAK,CAAC;qBACnB;oBACD,IAAI,SAAS,CAAC,KAAK,IAAI,EAAE,EAAE;wBACzB,IAAI,SAAS,CAAC,QAAQ,IAAI,QAAQ,EAAE;;gCAC9B,GAAG,GAAG,SAAS,CAAC,OAAO;;gCACvB,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK;4BACvC,IAAI,IAAI,IAAI,KAAK,EAAE;;gCAEjB,OAAO,CAAC,WAAW,GAAG,aAAa,CAAC,aAAa,CAAC;gCAClD,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC;gCAClC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;gCACrB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;6BACvB;iCAAM,IAAI,IAAI,IAAI,KAAK,IAAI,SAAS,IAAI,IAAI,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE;;oCAC1E,OAAO,GAAG,IAAI,KAAK,EAAE;gCACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACjD,IAAI,CAAC,IAAI,CAAC,EAAE;wCACV,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;qCAC1C;iCACF;gCACD,OAAO,CAAC,WAAW,GAAG,aAAa,CAAC,aAAa,CAAC;gCAClD,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC;gCAClC,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC;gCAC5B,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;6BACvB;yBACF;6BACI;;4BAEH,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC;4BAClC,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;4BAChC,IAAI,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gCACjC,OAAO,CAAC,WAAW,GAAG,aAAa,CAAC,eAAe,CAAC;6BACrD;;iCAEI,IAAI,SAAS,CAAC,YAAY,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC,YAAY,CAAC,kBAAkB,CAAC,IAAI,IAAI,EAAE;gCAC/G,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;gCACjE,IAAI,SAAS,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,SAAS,EAAE;oCACpD,SAAS,CAAC,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;iCACjE;6BACF;iCACI;gCACH,OAAO,CAAC,WAAW,GAAG,aAAa,CAAC,aAAa,CAAA;6BAClD;4BACD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;yBACvB;qBACF;iBACF;gBAED,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,IAAI,SAAS,EAAE;oBAC3C,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE;wBACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACvC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;yBAC1B;qBACF;yBAAM,IAAI,IAAI,CAAC,WAAW,CAAC,YAAY,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,YAAY,IAAI,SAAS,EAAE;wBAC9F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BAC7D,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;yBAChD;qBACF;iBACF;qBACI,IAAI,IAAI,CAAC,WAAW,CAAC,YAAY,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,YAAY,IAAI,SAAS,EAAE;oBAC5F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC7D,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;qBAChD;iBACF;gBAED,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC;gBAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS;;;mBAAC,UAAC,QAAQ;;wBAC7C,SAAS,GAAG;wBACd,QAAQ,EAAE,QAAQ;wBAClB,OAAO,EAAE,MAAM;qBAChB;oBACD,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBACvB,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC5B,OAAO,QAAQ,CAAC;iBACjB,EAAC,CAAC;aACJ;;;;QAED,wCAAY;;;YAAZ;gBACE,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE;oBACtB,OAAO,KAAK,CAAC;iBACd;qBACI;oBACH,OAAO,IAAI,CAAC;iBACb;aACF;;;;;;;QAED,yCAAa;;;;;;YAAb,UAAc,GAAQ,EAAE,GAAW,EAAE,IAA+B;gBAA/B,qBAAA;oBAAA,WAA+B;;;oBAC5D,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;gBACpC,GAAG,CAAC,SAAS;;;mBAAC,UAAA,QAAQ;oBACpB,GAAG,CAAC,QAAQ,GAAG,IAAI,KAAK,EAAE,CAAC;oBAC3B,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC;iBACtC,EAAC,CAAC;aACJ;;;;;QAED,2CAAe;;;;YAAf,UAAgB,OAAY;gBAC1B,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;;gBAE7E,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC;aAC7C;;;;;QAED,8CAAkB;;;;YAAlB,UAAmB,OAAY;gBAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;aACtF;;;;QAED,wCAAY;;;YAAZ;gBAAA,iBAgBC;;oBAfK,OAAO,GAAG,IAAI,kBAAkB,EAAE;gBACtC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;gBACnB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;gBAC1B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;gBACvB,OAAO,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACtB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;gBAErD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS;;;mBAC5C,UAAA,QAAQ;oBACN,KAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;oBAClC,KAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;iBAC/D;;;mBACD,UAAC,KAAK;oBACJ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;iBACpB,EAAC,CAAC;aACN;;;;;;QAED,yCAAa;;;;;YAAb,UAAc,QAAQ,EAAE,QAAQ;;oBAC1B,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS;gBAE3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACxC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;;gCAC9C,OAAO,GAAG,IAAI,kBAAkB,EAAE;;gCAClC,SAAS,GAAG,IAAI,KAAK,EAAE;4BAE3B,IAAI,QAAQ,IAAI,KAAK,EAAE;;oCACjB,OAAO,GAAG,IAAI,WAAW,EAAE;gCAC/B,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;gCACrC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;gCACjC,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC;gCACzB,OAAO,CAAC,WAAW,GAAG,aAAa,CAAC,aAAa,CAAC;gCAClD,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;6BACzB;4BACD,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;4BAC7B,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,SAAS,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE;gCAC3D,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,IAAI,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,MAAM,IAAI,CAAC,EAAE;oCACjG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wCAChE,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;4CAChE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;4CAC1F,MAAM;yCACP;qCACF;iCACF;qCAAM;oCACL,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;iCACxC;6BAEF;iCAAM;gCACL,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;6BACxC;4BACD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;yBAC3D;qBACF;iBACF;aACF;;oBAzVFC,YAAS,SAAC;wBACT,QAAQ,EAAE,cAAc;wBACxB,u+OAAwC;wBAExC,SAAS,EAAE,CAAC,YAAY,CAAC;wBACzB,UAAU,EAAE;4BACVC,kBAAO,CAAC,eAAe,EAAE;gCACvBC,gBAAK,CAAC,SAAS,EAAEC,gBAAK,CAAC;oCACrB,MAAM,EAAE,GAAG;oCACX,OAAO,EAAE,GAAG;iCACb,CAAC,CAAC;gCACHD,gBAAK,CAAC,OAAO,EAAEC,gBAAK,CAAC;oCACnB,MAAM,EAAE,KAAK;oCACb,OAAO,EAAE,GAAG;oCACZ,QAAQ,EAAE,QAAQ;iCACnB,CAAC,CAAC;gCACHC,qBAAU,CAAC,gBAAgB,EAAEC,kBAAO,CAAC,OAAO,CAAC,CAAC;gCAC9CD,qBAAU,CAAC,gBAAgB,EAAEC,kBAAO,CAAC,OAAO,CAAC,CAAC;6BAC/C,CAAC;yBACH;qBACF;;;;;wBA9BQC,eAAU;wBAOV,YAAY;wBAT6CC,YAAS;wDA6DiCC,SAAM,SAACC,wBAAQ;;;;6BA1BxHC,YAAS,SAAC,cAAc;kCACxBC,QAAK;6BACLC,SAAM;;QAiUT,wBAAC;KA1VD;;;;;;ACZA;QAIA;SAO+B;;oBAP9BC,WAAQ,SAAC;wBACR,YAAY,EAAE,CAAC,iBAAiB,CAAC;wBACjC,OAAO,EAAE;4BACPC,mBAAY;yBACb;wBACD,OAAO,EAAE,CAAC,iBAAiB,CAAC;qBAC7B;;QAC6B,qBAAC;KAP/B;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/common/http"),require("@angular/platform-browser"),require("file-saver"),require("xlsx"),require("@angular/animations"),require("@angular/core"),require("@angular/common")):"function"==typeof define&&define.amd?define("ucsearch",["exports","@angular/common/http","@angular/platform-browser","file-saver","xlsx","@angular/animations","@angular/core","@angular/common"],e):e(t.ucsearch={},t.ng.common.http,t.ng.platformBrowser,t.FileSaver,t.XLSX,t.ng.animations,t.ng.core,t.ng.common)}(this,function(t,e,n,r,o,i,a,d){"use strict";var s=(c.decorators=[{type:a.Injectable,args:[{providedIn:"root"}]}],c.ctorParameters=function(){return[]},c.ngInjectableDef=a.defineInjectable({factory:function(){return new c},token:c,providedIn:"root"}),c);function c(){}var v=function x(){this.low=0,this.high=0,this.DataType="Text"},g=function I(){this.includeCount=!0,this.includeData=!0,this.isLoading=!0,this.queryString="",this.rowVersion=""},y=(l.RestrictionBetween="Between",l.RestrictionLike="Like",l.RestrictionEq="Eq",l.RestrictionNeq="NEQ",l.RestrictionGt="GT",l.RestrictionGte="GTE",l.RestrictionLt="LT",l.RestrictionLte="LTE",l.RestrictionIn="IN",l.RestrictionNotIn="NotIn",l.RestrictionOr="Or",l.RestrictionOrNeq="OrNeq",l.RestrictionIsNull="isnull",l.RestrictionIsNotNull="isnotnull",l.RestrictionGTE="GTE",l.RestrictionLTE="LTE",l.showData="10,50,100",l);function l(){}var u=(p.prototype.exportAsExcelFile=function(t,e){var n=o.utils.json_to_sheet(t);console.log("worksheet",n);var r={Sheets:{data:n},SheetNames:["data"]},i=o.write(r,{bookType:"xlsx",type:"array"});this.saveAsExcelFile(i,e)},p.prototype.saveAsExcelFile=function(t,e){var n=new Blob([t],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8"});r.saveAs(n,e+"_export_"+(new Date).getTime()+".xlsx")},p.decorators=[{type:a.Injectable}],p.ctorParameters=function(){return[]},p);function p(){}var m=(h.prototype.changeState=function(){this.currentState="initial"===this.currentState?"final":"initial",this.isHidden=!1===this.isHidden},h.prototype.ngOnInit=function(){this.apiUrl=this.searchInput.enviromentUrl+this.searchInput.apiQryPaging,this.arrCrit=this.searchInput.arrCritObj;var t=this._renderer2.createElement("script");t.text='\n $(document).ready(function(){\n $("#flip").click(function(){\n $("#panel").slideToggle("slow");\n });\n });\n ',this._renderer2.appendChild(this._document.body,t),this.initiateForm()},h.prototype.initiateForm=function(){var p=this;this.getJSON(this.searchInput._url).subscribe(function(t){console.log(t),p.configuration=t,p.urlGet=t.url,p.exportData=t.exportExcel,p.countForm=t.component.length,p.isDataLoaded=!0;for(var e=0;e<p.countForm;e++){if(1==t.component[e].isFromURL){var n=new g,r=new Array,i=new v;i.DataType="text",i.propName=t.component[e].criteriaPropName,i.value=t.component[e].criteriaPropValue,i.restriction="eq",r.push(i),n.criteria=r,n[t.component[e].criteriaPropName]=t.component[e].criteriaPropValue,p.resolveObject(t.component[e],t.component[e].url,n)}if("numeric"==t.component[e].type&&(t.component[e].value=parseFloat(t.component[e].value).toLocaleString("en")),"datepicker"==t.component[e].type&&t.component[e].value.includes("BD")){var o=new Date(JSON.parse(localStorage.getItem("UserContext")).BusinessDate),a=t.component[e].value.charAt(2),s=new Date;if("-"==a){var c=t.component[e].value.split("-",2),l=parseInt(c[1]);s.setDate(o.getDate()-l)}else"+"==a&&(c=t.component[e].value.split("+",2),l=parseInt(c[1]),s.setDate(o.getDate()+l));var u=d.formatDate(s,"yyyy-MM-dd","en-US");t.component[e].value=u}}})},h.prototype.getJSON=function(t){return this.http.get(t)},h.prototype.postJSON=function(t,e){return void 0===e&&(e=null),this.http.post(t,e)},h.prototype.searchClick=function(){this.orderByKey=null,this.orderByValue=!0,this.pageNow=1,this.search(this.apiUrl,this.pageNow,this.pageSize,null,this.arrCrit)},h.prototype.reset=function(){this.initiateForm()},h.prototype.search=function(t,n,e,r,i){var o=this;void 0===i&&(i=new Array);var a=new g,s=new Array,c=!1;a.pageNo=n,a.rowPerPage=e,a.orderBy=r,a.queryString=this.configuration.querystring;for(var l=0;l<this.countForm;l++){var u=new v,p=this.myForm.nativeElement[l];if(u.DataType=p.getAttribute("data-type"),c=null!=p.getAttribute("query-in")&&"true"==p.getAttribute("query-in"),""!=p.value)if("SELECT"==p.nodeName){var d=p.options,m=d[d.selectedIndex].value;if("All"!=m)u.restriction=y.RestrictionEq,u.propName=p.name,u.value=m,s.push(u);else if("All"==m&&1==c&&0!=p.options.length){for(var h=new Array,f=0;f<p.options.length;f++)0!=f&&h.push(p.options[f].value);u.restriction=y.RestrictionIn,u.propName=p.name,u.listValue=h,s.push(u)}}else u.propName=p.name,u.value=p.value,p.value.includes("%")?u.restriction=y.RestrictionLike:""!=p.getAttribute("data-restriction")&&null!=p.getAttribute("data-restriction")?(u.restriction=p.getAttribute("data-restriction"),"numeric"==p.getAttribute("data-type")&&(p.value=parseFloat(p.value.replace(/,/g,"")))):u.restriction=y.RestrictionEq,s.push(u)}if(null!=i&&i!=undefined){if(0!=i.length)for(l=0;l<i.length;l++)s.push(i[l]);else if(null!=this.searchInput.addCritInput||this.searchInput.addCritInput!=undefined)for(l=0;l<this.searchInput.addCritInput.length;l++)s.push(this.searchInput.addCritInput[l])}else if(null!=this.searchInput.addCritInput||this.searchInput.addCritInput!=undefined)for(l=0;l<this.searchInput.addCritInput.length;l++)s.push(this.searchInput.addCritInput[l]);a.criteria=s,this.http.post(t,a).subscribe(function(t){var e={response:t,pageNow:n};return console.log(e),o.result.emit(e),t})},h.prototype.lessThanFour=function(){return!(3<this.countForm)},h.prototype.resolveObject=function(e,t,n){void 0===n&&(n=null),this.postJSON(t,n).subscribe(function(t){e.itemsUrl=t.ReturnObject})},h.prototype.transformAmount=function(t){this.formattedAmount=parseFloat(t.target.value).toLocaleString("en"),t.target.value=this.formattedAmount},h.prototype.transformToDecimal=function(t){t.target.value=parseFloat(t.target.value.toString().replace(/,/g,""))},h.prototype.exportAsXLSX=function(){var e=this,t=new g;t.pageNo=1,t.rowPerPage=9999,t.orderBy=null,t.criteria=[],t.queryString=this.configuration.querystring,this.http.post(this.apiUrl,t).subscribe(function(t){e.ExcelData=t.Data,e.excelService.exportAsExcelFile(e.ExcelData,"sample")},function(t){console.log(t)})},h.prototype.onChangeEvent=function(t,e){for(var n=this.configuration.component,r=0;r<e.affectedFilter.length;r++)for(var i=0;i<n.length;i++)if(n[i].name==e.affectedFilter[r]){var o=new g,a=new Array;if("All"!=t){var s=new v;s.DataType=e.datatype,s.propName=e.name,s.value=t,s.restriction=y.RestrictionEq,a.push(s)}o.criteria=a,this.resolveObject(n[i],n[i].url,o)}},h.decorators=[{type:a.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="card-body">\r\n <div class="px-3">\r\n <form class="form form-horizontal" id="formSearch" #formIdSearch>\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 {{configuration?.title}}\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">\r\n <div class="col-md-12">\r\n <div class="row">\r\n <label class="col-md-5 no-padding" for="{{question.id}}" 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 name="{{question.name}}" value="{{question.value}}"\r\n attr.data-type="{{question.datatype}}" attr.data-restriction="{{question.restriction}}">\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 name="{{question.name}}" attr.data-type="{{question.datatype}}"\r\n value="{{question.value}}"></textarea>\r\n </div>\r\n <div *ngIf="question.type==\'numeric\'">\r\n <input type="text" id="{{question.id}}" (focus)="transformToDecimal($event)"\r\n (blur)="transformAmount($event)" class="form-control search-form-control"\r\n name="{{question.name}}" value="{{question.value}}"\r\n attr.data-restriction="{{question.restriction}}" attr.data-type="{{question.datatype}}">\r\n </div>\r\n\r\n \x3c!-- End Hardcode Lookup didalem--\x3e\r\n <div *ngIf="question.type==\'datepicker\'">\r\n <input type="date" id="{{question.id}}"\r\n class="form-control search-form-control btn-lookup" name="{{question.name}}"\r\n value="{{question.value}}" attr.data-type="{{question.datatype}}"\r\n attr.data-restriction="{{question.restriction}}">\r\n </div>\r\n <div *ngIf="question.type==\'dropdown\'">\r\n \x3c!-- Ini kalau datanya tidak di load dari URL --\x3e\r\n <div *ngIf="!question.isFromURL">\r\n <select name="{{question.name}}" class="form-control search-form-control"\r\n attr.query-in="{{question.isQueryIn}}" attr.data-type="{{question.datatype}}">\r\n <option *ngIf="!question.isSelectOne" value="All">\r\n All\r\n </option>\r\n <option *ngFor="let item of question?.items" value="{{item.key}}">\r\n {{item.value}}\r\n </option>\r\n </select>\r\n </div>\r\n \x3c!-- Ini kalau datanya di load dari URL --\x3e\r\n <div *ngIf="question.isFromURL">\r\n <div *ngIf="question.isEvent">\r\n <select name="{{question.name}}"\r\n (change)="onChangeEvent($event.target.value, question)"\r\n class="form-control search-form-control" attr.query-in="{{question.isQueryIn}}"\r\n attr.data-type="{{question.datatype}}">\r\n <option *ngIf="!question.isSelectOne" value="All">\r\n All\r\n </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 </div>\r\n <div *ngIf="!question.isEvent">\r\n <select name="{{question.name}}" class="form-control search-form-control"\r\n attr.query-in="{{question.isQueryIn}}" attr.data-type="{{question.datatype}}">\r\n <option *ngIf="!question.isSelectOne" value="All">\r\n All\r\n </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 </div>\r\n </div>\r\n </div>\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 <form>\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> Export Excel\r\n </button>\r\n <button type="button" (click)="reset()" class="btn btn-raised btn-warning mr-1" translate>\r\n <i class="ft-x"></i> Reset\r\n </button>\r\n <button type="button" (click)="searchClick()" class="btn btn-raised btn-primary" translate>\r\n <i class="fa fa-search"></i> Search\r\n </button>\r\n </div>\r\n </form>\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:[u],animations:[i.trigger("changeDivSize",[i.state("initial",i.style({height:"*",opacity:"1"})),i.state("final",i.style({height:"0px",opacity:"0",overflow:"hidden"})),i.transition("initial=>final",i.animate("300ms")),i.transition("final=>initial",i.animate("300ms"))])]}]}],h.ctorParameters=function(){return[{type:e.HttpClient},{type:u},{type:a.Renderer2},{type:undefined,decorators:[{type:a.Inject,args:[n.DOCUMENT]}]}]},h.propDecorators={myForm:[{type:a.ViewChild,args:["formIdSearch"]}],searchInput:[{type:a.Input}],result:[{type:a.Output}]},h);function h(t,e,n,r){this.http=t,this.excelService=e,this._renderer2=n,this._document=r,this.result=new a.EventEmitter,this.pageSize=10,this.pageNow=1,this.isDataLoaded=!1,this.isHidden=!1,this.currentState="initial",this.payLoad="",this.countForm=0,this.formattedAmount="",this.amount=0}var f=(q.decorators=[{type:a.NgModule,args:[{declarations:[m],imports:[d.CommonModule],exports:[m]}]}],q);function q(){}t.UCSearchService=s,t.UCSearchComponent=m,t.UCSearchModule=f,t.ɵa=u,Object.defineProperty(t,"__esModule",{value:!0})});
1
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/common/http"),require("@angular/platform-browser"),require("file-saver"),require("xlsx"),require("@angular/animations"),require("@angular/core"),require("@angular/common")):"function"==typeof define&&define.amd?define("ucsearch",["exports","@angular/common/http","@angular/platform-browser","file-saver","xlsx","@angular/animations","@angular/core","@angular/common"],e):e(t.ucsearch={},t.ng.common.http,t.ng.platformBrowser,t.FileSaver,t.XLSX,t.ng.animations,t.ng.core,t.ng.common)}(this,function(t,e,n,r,o,i,a,m){"use strict";var s=(l.decorators=[{type:a.Injectable,args:[{providedIn:"root"}]}],l.ctorParameters=function(){return[]},l.ngInjectableDef=a.defineInjectable({factory:function(){return new l},token:l,providedIn:"root"}),l);function l(){}var v=function I(){this.low=0,this.high=0,this.DataType="Text"},g=function x(){this.includeCount=!0,this.includeData=!0,this.isLoading=!0,this.queryString="",this.rowVersion=""},y=(c.RestrictionBetween="Between",c.RestrictionLike="Like",c.RestrictionEq="Eq",c.RestrictionNeq="NEQ",c.RestrictionGt="GT",c.RestrictionGte="GTE",c.RestrictionLt="LT",c.RestrictionLte="LTE",c.RestrictionIn="IN",c.RestrictionNotIn="NotIn",c.RestrictionOr="Or",c.RestrictionOrNeq="OrNeq",c.RestrictionIsNull="isnull",c.RestrictionIsNotNull="isnotnull",c.RestrictionGTE="GTE",c.RestrictionLTE="LTE",c.showData="10,50,100",c);function c(){}var u=(p.prototype.exportAsExcelFile=function(t,e){var n=o.utils.json_to_sheet(t);console.log("worksheet",n);var r={Sheets:{data:n},SheetNames:["data"]},i=o.write(r,{bookType:"xlsx",type:"array"});this.saveAsExcelFile(i,e)},p.prototype.saveAsExcelFile=function(t,e){var n=new Blob([t],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8"});r.saveAs(n,e+"_export_"+(new Date).getTime()+".xlsx")},p.decorators=[{type:a.Injectable}],p.ctorParameters=function(){return[]},p);function p(){}var d=(h.prototype.changeState=function(){this.currentState="initial"===this.currentState?"final":"initial",this.isHidden=!1===this.isHidden},h.prototype.ngOnInit=function(){this.apiUrl=this.searchInput.enviromentUrl+this.searchInput.apiQryPaging,this.arrCrit=this.searchInput.arrCritObj;var t=this._renderer2.createElement("script");t.text='\n $(document).ready(function(){\n $("#flip").click(function(){\n $("#panel").slideToggle("slow");\n });\n });\n ',this._renderer2.appendChild(this._document.body,t),this.initiateForm()},h.prototype.initiateForm=function(){var d=this;this.getJSON(this.searchInput._url).subscribe(function(t){console.log(t),d.configuration=t,d.urlGet=t.url,d.exportData=t.exportExcel,d.countForm=t.component.length,d.isDataLoaded=!0;for(var e=0;e<d.countForm;e++){if(1==t.component[e].isFromURL){var n=new g,r=new Array,i=new v;if(i.DataType="text",i.propName=t.component[e].criteriaPropName,i.value=t.component[e].criteriaPropValue,i.restriction="eq",r.push(i),n.criteria=r,n[t.component[e].criteriaPropName]=t.component[e].criteriaPropValue,t.component[e].path!=undefined&&""!=t.component[e].path)if(d.searchInput.ddlEnvironments!=undefined&&0!=d.searchInput.ddlEnvironments.length){for(var o=0;o<d.searchInput.ddlEnvironments.length;o++)if(t.component[e].name==d.searchInput.ddlEnvironments[o].name){t.component[e].fullpath=d.searchInput.ddlEnvironments[o].environment+t.component[e].path;break}}else t.component[e].fullpath=t.component[e].url;else t.component[e].fullpath=t.component[e].url;d.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")),"datepicker"==t.component[e].type&&t.component[e].value.includes("BD")){var a=new Date(JSON.parse(localStorage.getItem("UserContext")).BusinessDate),s=t.component[e].value.charAt(2),l=new Date;if("-"==s){var c=t.component[e].value.split("-",2),u=parseInt(c[1]);l.setDate(a.getDate()-u)}else"+"==s&&(c=t.component[e].value.split("+",2),u=parseInt(c[1]),l.setDate(a.getDate()+u));var p=m.formatDate(l,"yyyy-MM-dd","en-US");t.component[e].value=p}}})},h.prototype.getJSON=function(t){return this.http.get(t)},h.prototype.postJSON=function(t,e){return void 0===e&&(e=null),this.http.post(t,e)},h.prototype.searchClick=function(){this.orderByKey=null,this.orderByValue=!0,this.pageNow=1,this.search(this.apiUrl,this.pageNow,this.pageSize,null,this.arrCrit)},h.prototype.reset=function(){this.initiateForm()},h.prototype.search=function(t,n,e,r,i){var o=this;void 0===i&&(i=new Array);var a=new g,s=new Array,l=!1;a.pageNo=n,a.rowPerPage=e,a.orderBy=r,a.queryString=this.configuration.querystring;for(var c=0;c<this.countForm;c++){var u=new v,p=this.myForm.nativeElement[c];if(u.DataType=p.getAttribute("data-type"),l=null!=p.getAttribute("query-in")&&"true"==p.getAttribute("query-in"),""!=p.value)if("SELECT"==p.nodeName){var d=p.options,m=d[d.selectedIndex].value;if("All"!=m)u.restriction=y.RestrictionEq,u.propName=p.name,u.value=m,s.push(u);else if("All"==m&&1==l&&0!=p.options.length){for(var h=new Array,f=0;f<p.options.length;f++)0!=f&&h.push(p.options[f].value);u.restriction=y.RestrictionIn,u.propName=p.name,u.listValue=h,s.push(u)}}else u.propName=p.name,u.value=p.value,p.value.includes("%")?u.restriction=y.RestrictionLike:""!=p.getAttribute("data-restriction")&&null!=p.getAttribute("data-restriction")?(u.restriction=p.getAttribute("data-restriction"),"numeric"==p.getAttribute("data-type")&&(p.value=parseFloat(p.value.replace(/,/g,"")))):u.restriction=y.RestrictionEq,s.push(u)}if(null!=i&&i!=undefined){if(0!=i.length)for(c=0;c<i.length;c++)s.push(i[c]);else if(null!=this.searchInput.addCritInput||this.searchInput.addCritInput!=undefined)for(c=0;c<this.searchInput.addCritInput.length;c++)s.push(this.searchInput.addCritInput[c])}else if(null!=this.searchInput.addCritInput||this.searchInput.addCritInput!=undefined)for(c=0;c<this.searchInput.addCritInput.length;c++)s.push(this.searchInput.addCritInput[c]);a.criteria=s,this.http.post(t,a).subscribe(function(t){var e={response:t,pageNow:n};return console.log(e),o.result.emit(e),t})},h.prototype.lessThanFour=function(){return!(3<this.countForm)},h.prototype.resolveObject=function(e,t,n){void 0===n&&(n=null),this.postJSON(t,n).subscribe(function(t){e.itemsUrl=new Array,e.itemsUrl=t.ReturnObject})},h.prototype.transformAmount=function(t){this.formattedAmount=parseFloat(t.target.value).toLocaleString("en"),t.target.value=this.formattedAmount},h.prototype.transformToDecimal=function(t){t.target.value=parseFloat(t.target.value.toString().replace(/,/g,""))},h.prototype.exportAsXLSX=function(){var e=this,t=new g;t.pageNo=1,t.rowPerPage=9999,t.orderBy=null,t.criteria=[],t.queryString=this.configuration.querystring,this.http.post(this.apiUrl,t).subscribe(function(t){e.ExcelData=t.Data,e.excelService.exportAsExcelFile(e.ExcelData,"sample")},function(t){console.log(t)})},h.prototype.onChangeEvent=function(t,e){for(var n=this.configuration.component,r=0;r<e.affectedFilter.length;r++)for(var i=0;i<n.length;i++)if(n[i].name==e.affectedFilter[r]){var o=new g,a=new Array;if("All"!=t){var s=new v;s.DataType=e.datatype,s.propName=e.name,s.value=t,s.restriction=y.RestrictionEq,a.push(s)}if(o.criteria=a,n[i].path!=undefined&&""!=n[i].path)if(this.searchInput.ddlEnvironments!=undefined&&0!=this.searchInput.ddlEnvironments.length){for(var l=0;l<this.searchInput.ddlEnvironments.length;l++)if(n[i].name==this.searchInput.ddlEnvironments[l].name){n[i].fullpath=this.searchInput.ddlEnvironments[l].environment+n[i].path;break}}else n[i].fullpath=n[i].url;else n[i].fullpath=n[i].url;this.resolveObject(n[i],n[i].url,o)}},h.decorators=[{type:a.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="card-body">\r\n <div class="px-3">\r\n <form class="form form-horizontal" id="formSearch" #formIdSearch>\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;" [ngClass]="isHidden ? \'fa-chevron-right\' : \'fa-chevron-down\'"></i>\r\n </div>\r\n {{configuration?.title}} \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"\r\n *ngFor="let question of configuration?.component">\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 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 name="{{question.name}}" value="{{question.value}}"\r\n attr.data-type="{{question.datatype}}" attr.data-restriction="{{question.restriction}}" >\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 name="{{question.name}}" attr.data-type="{{question.datatype}}"\r\n value="{{question.value}}"></textarea>\r\n </div>\r\n <div *ngIf="question.type==\'numeric\'">\r\n <input type="text" id="{{question.id}}" (focus)="transformToDecimal($event)"\r\n (blur)="transformAmount($event)" class="form-control search-form-control"\r\n name="{{question.name}}" value="{{question.value}}"\r\n attr.data-restriction="{{question.restriction}}" attr.data-type="{{question.datatype}}">\r\n </div>\r\n \r\n \x3c!-- End Hardcode Lookup didalem--\x3e\r\n <div *ngIf="question.type==\'datepicker\'">\r\n <input type="date" id="{{question.id}}" class="form-control search-form-control btn-lookup"\r\n name="{{question.name}}" value="{{question.value}}" attr.data-type="{{question.datatype}}"\r\n attr.data-restriction="{{question.restriction}}">\r\n </div>\r\n <div *ngIf="question.type==\'dropdown\'">\r\n \x3c!-- Ini kalau datanya tidak di load dari URL --\x3e\r\n <div *ngIf="!question.isFromURL">\r\n <select name="{{question.name}}"\r\n class="form-control search-form-control" attr.query-in="{{question.isQueryIn}}" attr.data-type="{{question.datatype}}">\r\n <option *ngIf="!question.isSelectOne" value="All">\r\n All\r\n </option>\r\n <option *ngFor="let item of question?.items" value="{{item.key}}">\r\n {{item.value}}\r\n </option>\r\n </select>\r\n </div>\r\n \x3c!-- Ini kalau datanya di load dari URL --\x3e\r\n <div *ngIf="question.isFromURL">\r\n <div *ngIf="question.isEvent">\r\n <select name="{{question.name}}" (change)="onChangeEvent($event.target.value, question)"\r\n class="form-control search-form-control" attr.query-in="{{question.isQueryIn}}" attr.data-type="{{question.datatype}}">\r\n <option *ngIf="!question.isSelectOne" value="All">\r\n All\r\n </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 </div>\r\n <div *ngIf="!question.isEvent">\r\n <select name="{{question.name}}"\r\n class="form-control search-form-control" attr.query-in="{{question.isQueryIn}}" attr.data-type="{{question.datatype}}">\r\n <option *ngIf="!question.isSelectOne" value="All">\r\n All\r\n </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 </div>\r\n </div>\r\n </div>\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 <form>\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> Export Excel\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> Reset\r\n </button>\r\n <button type="button" (click)="searchClick()" class="btn btn-raised btn-primary" #UCSearchClick translate>\r\n <i class="fa fa-search"></i> Search\r\n </button>\r\n </div>\r\n </form>\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:[u],animations:[i.trigger("changeDivSize",[i.state("initial",i.style({height:"*",opacity:"1"})),i.state("final",i.style({height:"0px",opacity:"0",overflow:"hidden"})),i.transition("initial=>final",i.animate("300ms")),i.transition("final=>initial",i.animate("300ms"))])]}]}],h.ctorParameters=function(){return[{type:e.HttpClient},{type:u},{type:a.Renderer2},{type:undefined,decorators:[{type:a.Inject,args:[n.DOCUMENT]}]}]},h.propDecorators={myForm:[{type:a.ViewChild,args:["formIdSearch"]}],searchInput:[{type:a.Input}],result:[{type:a.Output}]},h);function h(t,e,n,r){this.http=t,this.excelService=e,this._renderer2=n,this._document=r,this.result=new a.EventEmitter,this.pageSize=10,this.pageNow=1,this.isDataLoaded=!1,this.isHidden=!1,this.currentState="initial",this.payLoad="",this.countForm=0,this.formattedAmount="",this.amount=0}var f=(q.decorators=[{type:a.NgModule,args:[{declarations:[d],imports:[m.CommonModule],exports:[d]}]}],q);function q(){}t.UCSearchService=s,t.UCSearchComponent=d,t.UCSearchModule=f,t.ɵa=u,Object.defineProperty(t,"__esModule",{value:!0})});
2
2
  //# sourceMappingURL=ucsearch.umd.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["ng://ucsearch/lib/ucsearch.service.ts","ng://ucsearch/lib/model/CriteriaObj.Model.ts","ng://ucsearch/lib/model/RequestCriteriaObj.model.ts","ng://ucsearch/lib/model/AdInstConstant.ts","ng://ucsearch/lib/services/excel-service/excel-service.ts","ng://ucsearch/lib/ucsearch.component.ts","ng://ucsearch/lib/ucsearch.module.ts"],"names":["UCSearchService","Injectable","args","providedIn","CriteriaObj","this","low","high","DataType","RequestCriteriaObj","includeCount","includeData","isLoading","queryString","rowVersion","AdInsConstant","RestrictionBetween","RestrictionLike","RestrictionEq","RestrictionNeq","RestrictionGt","RestrictionGte","RestrictionLt","RestrictionLte","RestrictionIn","RestrictionNotIn","RestrictionOr","RestrictionOrNeq","RestrictionIsNull","RestrictionIsNotNull","RestrictionGTE","RestrictionLTE","showData","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","UCSearchComponent","changeState","currentState","isHidden","ngOnInit","apiUrl","searchInput","enviromentUrl","apiQryPaging","arrCrit","arrCritObj","js","_renderer2","createElement","text","appendChild","_document","body","initiateForm","_this","getJSON","_url","subscribe","configuration","urlGet","url","exportData","exportExcel","countForm","component","length","isDataLoaded","i","isFromURL","request","arrayCrit","Array","criteriaObject","propName","criteriaPropName","value","criteriaPropValue","restriction","push","criteria","resolveObject","parseFloat","toLocaleString","includes","businessDate","JSON","parse","localStorage","getItem","BusinessDate","operator","charAt","dateShow","tempMinus","split","numDay","parseInt","setDate","getDate","dateText","formatDate","http","get","postJSON","post","searchClick","orderByKey","orderByValue","pageNow","search","pageSize","reset","pageNo","rowPerPage","orderBy","addCrit","IsQueryIn","querystring","critObj","myForm","nativeElement","getAttribute","nodeName","ddl","options","selectedIndex","name","ddlList","x","listValue","replace","undefined","addCritInput","response","qryPaging","result","emit","lessThanFour","obj","crit","tempData","itemsUrl","ReturnObject","transformAmount","element","formattedAmount","target","transformToDecimal","toString","exportAsXLSX","ExcelData","excelService","error","onChangeEvent","optValue","afFilter","jsonComp","affectedFilter","j","datatype","Component","selector","template","providers","animations","trigger","state","style","height","opacity","overflow","transition","animate","HttpClient","Renderer2","Inject","DOCUMENT","ViewChild","Input","Output","EventEmitter","payLoad","amount","UCSearchModule","NgModule","declarations","imports","CommonModule","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","export class CriteriaObj{\r\n propName:string;\r\n restriction:string;\r\n value:string;\r\n low:number;\r\n high:number;\r\n DataType:string;\r\n listValue : Array<any>;\r\n\r\n constructor()\r\n {\r\n this.low=0;\r\n this.high=0;\r\n this.DataType='Text';\r\n }\r\n\r\n}","import { CriteriaObj } from \"../model/CriteriaObj.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\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 }\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}\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}","import { Component, OnInit, Input, ViewChild, ElementRef, Inject, Renderer2, EventEmitter, Output, ViewEncapsulation } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { formatDate } from '@angular/common';\r\nimport { CriteriaObj } from './model/CriteriaObj.Model';\r\nimport { RequestCriteriaObj } from './model/RequestCriteriaObj.model';\r\nimport { AdInsConstant } from './model/AdInstConstant';\r\nimport { DOCUMENT } from '@angular/platform-browser';\r\nimport { ExcelService } from './services/excel-service/excel-service';\r\nimport { trigger, transition, style, animate, state } from '@angular/animations';\r\n\r\n@Component({\r\n selector: 'lib-UCSearch',\r\n templateUrl: './ucsearch.component.html',\r\n styles: [],\r\n providers: [ExcelService],\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\r\n @ViewChild('formIdSearch') myForm: ElementRef;\r\n @Input() searchInput: any;\r\n @Output() result: EventEmitter<any> = new EventEmitter();\r\n pageSize: any = 10;\r\n pageNow: any = 1;\r\n orderByKey: any;\r\n orderByValue: any;\r\n urlGet: string;\r\n configuration: any;\r\n itemUrl: any;\r\n exportData: any;\r\n ExcelData: any;\r\n isDataLoaded: boolean = false;\r\n isHidden: boolean = false;\r\n\r\n currentState = 'initial';\r\n\r\n form: FormGroup;\r\n payLoad = '';\r\n countForm = 0;\r\n formattedAmount = '';\r\n amount = 0;\r\n apiUrl: string;\r\n arrCrit: any;\r\n constructor(private http: HttpClient, private excelService: ExcelService, private _renderer2: Renderer2, @Inject(DOCUMENT) private _document) {\r\n }\r\n\r\n // hide(obj:any){\r\n // var target =event.srcElement;\r\n // // var idAttr = target.attributes.id;\r\n // // var value = idAttr.nodeValue;\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 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 this.initiateForm();\r\n }\r\n\r\n initiateForm() {\r\n this.getJSON(this.searchInput._url).subscribe(data => {\r\n console.log(data);\r\n this.configuration = data;\r\n this.urlGet = data.url;\r\n this.exportData = data.exportExcel;\r\n this.countForm = data.component.length;\r\n this.isDataLoaded = true;\r\n\r\n for (var i = 0; i < this.countForm; i++) {\r\n //ini kalau datanya di load dari URL\r\n if (data.component[i].isFromURL == true) {\r\n var request = new RequestCriteriaObj();\r\n var arrayCrit = new Array();\r\n var criteriaObject = new CriteriaObj();\r\n criteriaObject.DataType = \"text\";\r\n criteriaObject.propName = data.component[i].criteriaPropName;\r\n criteriaObject.value = data.component[i].criteriaPropValue;\r\n criteriaObject.restriction = \"eq\";\r\n arrayCrit.push(criteriaObject);\r\n request.criteria = arrayCrit;\r\n request[data.component[i].criteriaPropName] = data.component[i].criteriaPropValue;\r\n\r\n //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].url, request);\r\n }\r\n\r\n if (data.component[i].type == \"numeric\") {\r\n data.component[i].value = parseFloat(data.component[i].value).toLocaleString('en');\r\n }\r\n\r\n //pengecekan tanggal\r\n if (data.component[i].type == \"datepicker\") {\r\n if (data.component[i].value.includes(\"BD\")) {\r\n let businessDate = new Date(JSON.parse(localStorage.getItem(\"UserContext\")).BusinessDate);\r\n var operator = data.component[i].value.charAt(2);\r\n var dateShow = new Date();\r\n if (operator == \"-\") {\r\n var tempMinus = data.component[i].value.split(\"-\", 2);\r\n var numDay = parseInt(tempMinus[1]);\r\n dateShow.setDate(businessDate.getDate() - numDay);\r\n }\r\n else if (operator == \"+\") {\r\n var tempMinus = data.component[i].value.split(\"+\", 2);\r\n var numDay = parseInt(tempMinus[1]);\r\n dateShow.setDate(businessDate.getDate() + numDay);\r\n }\r\n var dateText = formatDate(dateShow, 'yyyy-MM-dd', 'en-US')\r\n data.component[i].value = dateText;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n public getJSON(url: string): Observable<any> {\r\n return this.http.get(url);\r\n }\r\n\r\n public postJSON(url: string, criteria: any = null): Observable<any> {\r\n return this.http.post(url, criteria);\r\n }\r\n\r\n searchClick() {\r\n this.orderByKey = null\r\n this.orderByValue = true\r\n this.pageNow = 1;\r\n this.search(this.apiUrl, this.pageNow, this.pageSize, null, this.arrCrit);\r\n }\r\n\r\n reset() {\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 var request = new RequestCriteriaObj();\r\n var arrCrit = new Array();\r\n var IsQueryIn = false;\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 (var i = 0; i < this.countForm; i++) {\r\n var critObj = new CriteriaObj();\r\n var component = this.myForm.nativeElement[i];\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 var ddl = component.options;\r\n var text = ddl[ddl.selectedIndex].value;\r\n if (text != \"All\") {\r\n //Kalau Dari Dropdown udah pasti pake Eq\r\n critObj.restriction = AdInsConstant.RestrictionEq;\r\n critObj.propName = component.name;\r\n critObj.value = text;\r\n arrCrit.push(critObj);\r\n } else if (text == \"All\" && IsQueryIn == true && component.options.length != 0) {\r\n var 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 critObj.restriction = AdInsConstant.RestrictionIn;\r\n critObj.propName = component.name;\r\n critObj.listValue = ddlList;\r\n arrCrit.push(critObj);\r\n }\r\n }\r\n else {\r\n //Kalau ada Percent maka yang dipake nnti adalah Restrictions Like\r\n critObj.propName = component.name;\r\n critObj.value = component.value;\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 component.value = parseFloat(component.value.replace(/,/g, ''));\r\n }\r\n }\r\n else {\r\n critObj.restriction = AdInsConstant.RestrictionEq\r\n }\r\n arrCrit.push(critObj);\r\n }\r\n }\r\n }\r\n\r\n if (addCrit != null && addCrit != undefined) {\r\n if (addCrit.length != 0) {\r\n for (var i = 0; i < addCrit.length; i++) {\r\n arrCrit.push(addCrit[i]);\r\n }\r\n } else if (this.searchInput.addCritInput != null || this.searchInput.addCritInput != undefined) {\r\n for (var i = 0; i < this.searchInput.addCritInput.length; i++) {\r\n arrCrit.push(this.searchInput.addCritInput[i]);\r\n }\r\n }\r\n }\r\n else if (this.searchInput.addCritInput != null || this.searchInput.addCritInput != undefined) {\r\n for (var i = 0; i < this.searchInput.addCritInput.length; i++) {\r\n arrCrit.push(this.searchInput.addCritInput[i]);\r\n }\r\n }\r\n\r\n request.criteria = arrCrit;\r\n this.http.post(apiUrl, request).subscribe((response) => {\r\n var qryPaging = {\r\n response: response,\r\n pageNow: pageNo\r\n }\r\n console.log(qryPaging);\r\n this.result.emit(qryPaging);\r\n return response;\r\n });\r\n }\r\n\r\n 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 = tempData.ReturnObject;\r\n });\r\n }\r\n\r\n transformAmount(element: any) {\r\n this.formattedAmount = parseFloat(element.target.value).toLocaleString('en');\r\n // to show the formatted amount in the textbox.\r\n element.target.value = this.formattedAmount;\r\n }\r\n\r\n transformToDecimal(element: any) {\r\n element.target.value = parseFloat(element.target.value.toString().replace(/,/g, ''));\r\n }\r\n\r\n exportAsXLSX(): void {\r\n var request = new RequestCriteriaObj();\r\n request.pageNo = 1;\r\n request.rowPerPage = 9999;\r\n request.orderBy = null;\r\n request.criteria = [];\r\n request.queryString = this.configuration.querystring;\r\n\r\n this.http.post(this.apiUrl, request).subscribe(\r\n response => {\r\n this.ExcelData = response[\"Data\"];\r\n this.excelService.exportAsExcelFile(this.ExcelData, 'sample');\r\n },\r\n (error) => {\r\n console.log(error);\r\n });\r\n }\r\n\r\n onChangeEvent(optValue, afFilter) {\r\n var jsonComp = this.configuration.component;\r\n\r\n for (var i = 0; i < afFilter.affectedFilter.length; i++) {\r\n for (var j = 0; j < jsonComp.length; j++) {\r\n if (jsonComp[j].name == afFilter.affectedFilter[i]) {\r\n var request = new RequestCriteriaObj();\r\n var arrayCrit = new Array();\r\n\r\n if (optValue != \"All\") {\r\n var critObj = new CriteriaObj();\r\n critObj.DataType = afFilter.datatype;\r\n critObj.propName = afFilter.name;\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 this.resolveObject(jsonComp[j], jsonComp[j].url, request);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { UCSearchComponent } from './ucsearch.component';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@NgModule({\r\n declarations: [UCSearchComponent],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [UCSearchComponent]\r\n})\r\nexport class UCSearchModule { }\r\n"]}
1
+ {"version":3,"sources":["ng://ucsearch/lib/ucsearch.service.ts","ng://ucsearch/lib/model/CriteriaObj.Model.ts","ng://ucsearch/lib/model/RequestCriteriaObj.model.ts","ng://ucsearch/lib/model/AdInstConstant.ts","ng://ucsearch/lib/services/excel-service/excel-service.ts","ng://ucsearch/lib/ucsearch.component.ts","ng://ucsearch/lib/ucsearch.module.ts"],"names":["UCSearchService","Injectable","args","providedIn","CriteriaObj","this","low","high","DataType","RequestCriteriaObj","includeCount","includeData","isLoading","queryString","rowVersion","AdInsConstant","RestrictionBetween","RestrictionLike","RestrictionEq","RestrictionNeq","RestrictionGt","RestrictionGte","RestrictionLt","RestrictionLte","RestrictionIn","RestrictionNotIn","RestrictionOr","RestrictionOrNeq","RestrictionIsNull","RestrictionIsNotNull","RestrictionGTE","RestrictionLTE","showData","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","UCSearchComponent","changeState","currentState","isHidden","ngOnInit","apiUrl","searchInput","enviromentUrl","apiQryPaging","arrCrit","arrCritObj","js","_renderer2","createElement","text","appendChild","_document","body","initiateForm","_this","getJSON","_url","subscribe","configuration","urlGet","url","exportData","exportExcel","countForm","component","length","isDataLoaded","i","isFromURL","request","arrayCrit","Array","criteriaObject","propName","criteriaPropName","value","criteriaPropValue","restriction","push","criteria","path","undefined","ddlEnvironments","y","name","fullpath","environment","resolveObject","parseFloat","toLocaleString","includes","businessDate","JSON","parse","localStorage","getItem","BusinessDate","operator","charAt","dateShow","tempMinus","split","numDay","parseInt","setDate","getDate","dateText","formatDate","http","get","postJSON","post","searchClick","orderByKey","orderByValue","pageNow","search","pageSize","reset","pageNo","rowPerPage","orderBy","addCrit","IsQueryIn","querystring","critObj","myForm","nativeElement","getAttribute","nodeName","ddl","options","selectedIndex","ddlList","x","listValue","replace","addCritInput","response","qryPaging","result","emit","lessThanFour","obj","crit","tempData","itemsUrl","ReturnObject","transformAmount","element","formattedAmount","target","transformToDecimal","toString","exportAsXLSX","ExcelData","excelService","error","onChangeEvent","optValue","afFilter","jsonComp","affectedFilter","j","datatype","Component","selector","template","providers","animations","trigger","state","style","height","opacity","overflow","transition","animate","HttpClient","Renderer2","Inject","DOCUMENT","ViewChild","Input","Output","EventEmitter","payLoad","amount","UCSearchModule","NgModule","declarations","imports","CommonModule","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","export class CriteriaObj{\r\n propName:string;\r\n restriction:string;\r\n value:string;\r\n low:number;\r\n high:number;\r\n DataType:string;\r\n listValue : Array<any>;\r\n\r\n constructor()\r\n {\r\n this.low=0;\r\n this.high=0;\r\n this.DataType='Text';\r\n }\r\n\r\n}","import { CriteriaObj } from \"../model/CriteriaObj.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\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 }\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}\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}","import { Component, OnInit, Input, ViewChild, ElementRef, Inject, Renderer2, EventEmitter, Output, ViewEncapsulation } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { formatDate } from '@angular/common';\r\nimport { CriteriaObj } from './model/CriteriaObj.Model';\r\nimport { RequestCriteriaObj } from './model/RequestCriteriaObj.model';\r\nimport { AdInsConstant } from './model/AdInstConstant';\r\nimport { DOCUMENT } from '@angular/platform-browser';\r\nimport { ExcelService } from './services/excel-service/excel-service';\r\nimport { trigger, transition, style, animate, state } from '@angular/animations';\r\n\r\n@Component({\r\n selector: 'lib-UCSearch',\r\n templateUrl: './ucsearch.component.html',\r\n styles: [],\r\n providers: [ExcelService],\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\r\n @ViewChild('formIdSearch') myForm: ElementRef;\r\n @Input() searchInput: any;\r\n @Output() result: EventEmitter<any> = new EventEmitter();\r\n pageSize: any = 10;\r\n pageNow: any = 1;\r\n orderByKey: any;\r\n orderByValue: any;\r\n tempUrl: string;\r\n urlGet: string;\r\n server: any;\r\n configuration: any;\r\n itemUrl: any;\r\n exportData: any;\r\n ExcelData: any;\r\n isDataLoaded: boolean = false;\r\n isHidden: boolean = false;\r\n\r\n currentState = 'initial';\r\n\r\n form: FormGroup;\r\n payLoad = '';\r\n countForm = 0;\r\n formattedAmount = '';\r\n amount = 0;\r\n apiUrl: string;\r\n arrCrit: any;\r\n constructor(private http: HttpClient, private excelService: ExcelService, private _renderer2: Renderer2, @Inject(DOCUMENT) private _document) {\r\n }\r\n // hide(obj:any){\r\n // var target =event.srcElement;\r\n // // var idAttr = target.attributes.id;\r\n // // var value = idAttr.nodeValue;\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 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 this.initiateForm();\r\n }\r\n\r\n initiateForm() {\r\n this.getJSON(this.searchInput._url).subscribe(data => {\r\n console.log(data);\r\n this.configuration = data;\r\n this.urlGet = data.url;\r\n this.exportData = data.exportExcel;\r\n this.countForm = data.component.length;\r\n this.isDataLoaded = true;\r\n\r\n for (var i = 0; i < this.countForm; i++) {\r\n //ini kalau datanya di load dari URL\r\n if (data.component[i].isFromURL == true) {\r\n var request = new RequestCriteriaObj();\r\n var arrayCrit = new Array();\r\n var criteriaObject = new CriteriaObj();\r\n criteriaObject.DataType = \"text\";\r\n criteriaObject.propName = data.component[i].criteriaPropName;\r\n criteriaObject.value = data.component[i].criteriaPropValue;\r\n criteriaObject.restriction = \"eq\";\r\n arrayCrit.push(criteriaObject);\r\n request.criteria = arrayCrit;\r\n request[data.component[i].criteriaPropName] = data.component[i].criteriaPropValue;\r\n\r\n // Pengecekan penggunaan url atau path\r\n if (data.component[i].path != undefined && data.component[i].path != \"\") {\r\n if (this.searchInput.ddlEnvironments != undefined && this.searchInput.ddlEnvironments.length != 0) {\r\n for (let y = 0; y < this.searchInput.ddlEnvironments.length; y++) {\r\n if (data.component[i].name == this.searchInput.ddlEnvironments[y].name) {\r\n data.component[i].fullpath = this.searchInput.ddlEnvironments[y].environment + data.component[i].path;\r\n break;\r\n }\r\n }\r\n } else {\r\n data.component[i].fullpath = data.component[i].url;\r\n }\r\n\r\n } else {\r\n data.component[i].fullpath = data.component[i].url;\r\n }\r\n //lempar objectnya sekalian sama urlnya, nnti di bind di dalem karena masalah di asyncnya\r\n //biar tiap function ada state2nya sendiri\r\n this.resolveObject(data.component[i], data.component[i].fullpath, request);\r\n }\r\n\r\n if (data.component[i].type == \"numeric\") {\r\n data.component[i].value = parseFloat(data.component[i].value).toLocaleString('en');\r\n }\r\n\r\n //pengecekan tanggal\r\n if (data.component[i].type == \"datepicker\") {\r\n if (data.component[i].value.includes(\"BD\")) {\r\n let businessDate = new Date(JSON.parse(localStorage.getItem(\"UserContext\")).BusinessDate);\r\n var operator = data.component[i].value.charAt(2);\r\n var dateShow = new Date();\r\n if (operator == \"-\") {\r\n var tempMinus = data.component[i].value.split(\"-\", 2);\r\n var numDay = parseInt(tempMinus[1]);\r\n dateShow.setDate(businessDate.getDate() - numDay);\r\n }\r\n else if (operator == \"+\") {\r\n var tempMinus = data.component[i].value.split(\"+\", 2);\r\n var numDay = parseInt(tempMinus[1]);\r\n dateShow.setDate(businessDate.getDate() + numDay);\r\n }\r\n var dateText = formatDate(dateShow, 'yyyy-MM-dd', 'en-US')\r\n data.component[i].value = dateText;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n public getJSON(url: string): Observable<any> {\r\n return this.http.get(url);\r\n }\r\n\r\n public postJSON(url: string, criteria: any = null): Observable<any> {\r\n return this.http.post(url, criteria);\r\n }\r\n\r\n searchClick() {\r\n this.orderByKey = null\r\n this.orderByValue = true\r\n this.pageNow = 1;\r\n this.search(this.apiUrl, this.pageNow, this.pageSize, null, this.arrCrit);\r\n }\r\n\r\n reset() {\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 var request = new RequestCriteriaObj();\r\n var arrCrit = new Array();\r\n var IsQueryIn = false;\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 (var i = 0; i < this.countForm; i++) {\r\n var critObj = new CriteriaObj();\r\n var component = this.myForm.nativeElement[i];\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 var ddl = component.options;\r\n var text = ddl[ddl.selectedIndex].value;\r\n if (text != \"All\") {\r\n //Kalau Dari Dropdown udah pasti pake Eq\r\n critObj.restriction = AdInsConstant.RestrictionEq;\r\n critObj.propName = component.name;\r\n critObj.value = text;\r\n arrCrit.push(critObj);\r\n } else if (text == \"All\" && IsQueryIn == true && component.options.length != 0) {\r\n var 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 critObj.restriction = AdInsConstant.RestrictionIn;\r\n critObj.propName = component.name;\r\n critObj.listValue = ddlList;\r\n arrCrit.push(critObj);\r\n }\r\n }\r\n else {\r\n //Kalau ada Percent maka yang dipake nnti adalah Restrictions Like\r\n critObj.propName = component.name;\r\n critObj.value = component.value;\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 component.value = parseFloat(component.value.replace(/,/g, ''));\r\n }\r\n }\r\n else {\r\n critObj.restriction = AdInsConstant.RestrictionEq\r\n }\r\n arrCrit.push(critObj);\r\n }\r\n }\r\n }\r\n\r\n if (addCrit != null && addCrit != undefined) {\r\n if (addCrit.length != 0) {\r\n for (var i = 0; i < addCrit.length; i++) {\r\n arrCrit.push(addCrit[i]);\r\n }\r\n } else if (this.searchInput.addCritInput != null || this.searchInput.addCritInput != undefined) {\r\n for (var i = 0; i < this.searchInput.addCritInput.length; i++) {\r\n arrCrit.push(this.searchInput.addCritInput[i]);\r\n }\r\n }\r\n }\r\n else if (this.searchInput.addCritInput != null || this.searchInput.addCritInput != undefined) {\r\n for (var i = 0; i < this.searchInput.addCritInput.length; i++) {\r\n arrCrit.push(this.searchInput.addCritInput[i]);\r\n }\r\n }\r\n\r\n request.criteria = arrCrit;\r\n this.http.post(apiUrl, request).subscribe((response) => {\r\n var qryPaging = {\r\n response: response,\r\n pageNow: pageNo\r\n }\r\n console.log(qryPaging);\r\n this.result.emit(qryPaging);\r\n return response;\r\n });\r\n }\r\n\r\n lessThanFour(): boolean {\r\n if (this.countForm > 3) {\r\n return false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n\r\n resolveObject(obj: any, url: string, crit: RequestCriteriaObj = null) {\r\n const val = this.postJSON(url, crit);\r\n val.subscribe(tempData => {\r\n obj.itemsUrl = new Array();\r\n obj.itemsUrl = tempData.ReturnObject;\r\n });\r\n }\r\n\r\n transformAmount(element: any) {\r\n this.formattedAmount = parseFloat(element.target.value).toLocaleString('en');\r\n // to show the formatted amount in the textbox.\r\n element.target.value = this.formattedAmount;\r\n }\r\n\r\n transformToDecimal(element: any) {\r\n element.target.value = parseFloat(element.target.value.toString().replace(/,/g, ''));\r\n }\r\n\r\n exportAsXLSX(): void {\r\n var request = new RequestCriteriaObj();\r\n request.pageNo = 1;\r\n request.rowPerPage = 9999;\r\n request.orderBy = null;\r\n request.criteria = [];\r\n request.queryString = this.configuration.querystring;\r\n\r\n this.http.post(this.apiUrl, request).subscribe(\r\n response => {\r\n this.ExcelData = response[\"Data\"];\r\n this.excelService.exportAsExcelFile(this.ExcelData, 'sample');\r\n },\r\n (error) => {\r\n console.log(error);\r\n });\r\n }\r\n\r\n onChangeEvent(optValue, afFilter) {\r\n var jsonComp = this.configuration.component;\r\n\r\n for (var i = 0; i < afFilter.affectedFilter.length; i++) {\r\n for (var j = 0; j < jsonComp.length; j++) {\r\n if (jsonComp[j].name == afFilter.affectedFilter[i]) {\r\n var request = new RequestCriteriaObj();\r\n var arrayCrit = new Array();\r\n\r\n if (optValue != \"All\") {\r\n var critObj = new CriteriaObj();\r\n critObj.DataType = afFilter.datatype;\r\n critObj.propName = afFilter.name;\r\n critObj.value = optValue;\r\n critObj.restriction = AdInsConstant.RestrictionEq;\r\n arrayCrit.push(critObj);\r\n }\r\n request.criteria = arrayCrit;\r\n if (jsonComp[j].path != undefined && jsonComp[j].path != \"\") {\r\n if (this.searchInput.ddlEnvironments != undefined && this.searchInput.ddlEnvironments.length != 0) {\r\n for (let y = 0; y < this.searchInput.ddlEnvironments.length; y++) {\r\n if (jsonComp[j].name == this.searchInput.ddlEnvironments[y].name) {\r\n jsonComp[j].fullpath = this.searchInput.ddlEnvironments[y].environment + jsonComp[j].path;\r\n break;\r\n }\r\n }\r\n } else {\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].url, request);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { UCSearchComponent } from './ucsearch.component';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@NgModule({\r\n declarations: [UCSearchComponent],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [UCSearchComponent]\r\n})\r\nexport class UCSearchModule { }\r\n"]}