@adins/ucsearch 2.13.2 → 2.13.3
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 +4 -0
- package/adins-ucsearch.metadata.json +1 -1
- package/bundles/adins-ucsearch.umd.js +5 -8
- package/bundles/adins-ucsearch.umd.js.map +1 -1
- package/bundles/adins-ucsearch.umd.min.js +1 -1
- package/bundles/adins-ucsearch.umd.min.js.map +1 -1
- package/esm2015/lib/model/key-value-report.model.js +4 -1
- package/esm2015/lib/ucsearch.component.js +5 -9
- package/esm5/lib/model/key-value-report.model.js +4 -1
- package/esm5/lib/ucsearch.component.js +5 -9
- package/fesm2015/adins-ucsearch.js +6 -9
- package/fesm2015/adins-ucsearch.js.map +1 -1
- package/fesm5/adins-ucsearch.js +5 -8
- package/fesm5/adins-ucsearch.js.map +1 -1
- package/lib/model/key-value-report.model.d.ts +1 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adins-ucsearch.umd.js.map","sources":["ng://@adins/ucsearch/lib/ucsearch.service.ts","node_modules/tslib/tslib.es6.js","ng://@adins/ucsearch/lib/model/adins-constant.ts","ng://@adins/ucsearch/lib/model/integration-obj.model.ts","ng://@adins/ucsearch/lib/model/input-search-obj.model.ts","ng://@adins/ucsearch/lib/model/criteria-obj.model.ts","ng://@adins/ucsearch/lib/model/request-criteria-obj.model.ts","ng://@adins/ucsearch/lib/services/excel-service/excel-service.ts","ng://@adins/ucsearch/lib/model/key-value-report.model.ts","ng://@adins/ucsearch/lib/model/key-value-uc-search.model.ts","ng://@adins/ucsearch/lib/ucsearch.component.ts","ng://@adins/ucsearch/lib/pipe/text-search.pipe.ts","ng://@adins/ucsearch/lib/ucsearch.module.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UCSearchService {\r\n\r\n constructor() { }\r\n}\r\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { formatDate } from \"@angular/common\";\r\n\r\nexport class AdInsConstant {\r\n public static RestrictionBetween = \"Between\"\r\n public static RestrictionLike = \"Like\";\r\n public static RestrictionEq = \"Eq\";\r\n public static RestrictionNeq = \"NEQ\";\r\n public static RestrictionGt = \"GT\";\r\n public static RestrictionGte = \"GTE\";\r\n public static RestrictionLt = \"LT\";\r\n public static RestrictionLte = \"LTE\";\r\n public static RestrictionIn = \"IN\";\r\n public static RestrictionNotIn = \"NotIn\";\r\n public static RestrictionOr = \"Or\"; //pastikan ada 1 criteria sebelumnya\r\n public static RestrictionOrNeq = \"OrNeq\"; //pastikan ada 1 criteria sebelumnya\r\n public static RestrictionIsNull = \"ISNULL\";\r\n public static RestrictionIsNotNull = \"ISNOTNULL\";\r\n public static RestrictionGTE = \"GTE\";\r\n public static RestrictionLTE = \"LTE\";\r\n public static showData = \"10,50,100\";\r\n public static JoinTypeInner = \"INNER\";\r\n public static JoinTypeLeft = \"LEFT\";\r\n}\r\n","import { AdInsConstant } from \"./adins-constant\";\r\nexport class IntegrationObj {\r\n baseUrl: string;\r\n apiPath: string;\r\n requestObj: Object;\r\n leftColumnToJoin: string;\r\n rightColumnToJoin: string;\r\n joinType: string;\r\n \r\n constructor() {\r\n this.baseUrl = \"\";\r\n this.apiPath = \"\";\r\n this.requestObj = new Object();\r\n this.leftColumnToJoin = \"\";\r\n this.rightColumnToJoin = \"\";\r\n this.joinType = AdInsConstant.JoinTypeInner;\r\n }\r\n}","import { CriteriaObj } from \"./criteria-obj.model\";\r\nimport { IntegrationObj } from \"./integration-obj.model\";\r\n \r\nexport class InputSearchObj {\r\n _url: string;\r\n enviromentUrl: string;\r\n title: string;\r\n apiQryPaging: string;\r\n arrCritObj: any;\r\n addCritInput: Array<CriteriaObj>;\r\n listEnvironments: Array<EnvisObj>;\r\n whereValue: Array<WhereValueObj>;\r\n fromValue: Array<FromValueObj>;\r\n switchValue: Array<SwitchValueObj>;\r\n integrationObj: IntegrationObj;\r\n isJoinExAPI: boolean;\r\n \r\n constructor() {\r\n this._url = \"\";\r\n this.enviromentUrl = \"\";\r\n this.title = \"\";\r\n this.apiQryPaging = \"\";\r\n this.arrCritObj = null;\r\n this.addCritInput = new Array<CriteriaObj>();\r\n this.listEnvironments = new Array<EnvisObj>();\r\n this.whereValue = new Array<WhereValueObj>();\r\n this.fromValue = new Array<FromValueObj>();\r\n this.switchValue = new Array<SwitchValueObj>();\r\n this.integrationObj = new IntegrationObj();\r\n this.isJoinExAPI = false;\r\n }\r\n}\r\n\r\nexport class EnviObj {\r\n name: string;\r\n environment: string;\r\n\r\n constructor() {\r\n this.name = \"\";\r\n this.environment = \"\";\r\n }\r\n}\r\n\r\nexport class WhereValueObj {\r\n property: string;\r\n value: any;\r\n\r\n constructor() {\r\n this.property = \"\";\r\n }\r\n}\r\n\r\nexport class FromValueObj {\r\n property: string;\r\n value: any;\r\n\r\n constructor() {\r\n this.property = \"\";\r\n }\r\n}\r\n\r\nexport class SwitchValueObj {\r\n property: string;\r\n value: any;\r\n\r\n constructor() {\r\n this.property = \"\";\r\n }\r\n}\r\n\r\nexport class EnvisObj {\r\n environment: string;\r\n url: string;\r\n\r\n constructor() {\r\n this.environment = \"\";\r\n this.url = \"\";\r\n }\r\n}","export class CriteriaObj { \r\n propName: string;\r\n restriction: string;\r\n value: string;\r\n low: number;\r\n high: number;\r\n DataType: string;\r\n listValue: Array<any>;\r\n isCriteriaDataTable: boolean;\r\n\r\n constructor() {\r\n this.low = 0;\r\n this.high = 0;\r\n this.DataType = 'Text';\r\n this.isCriteriaDataTable = false;\r\n }\r\n\r\n}","import { AdInsConstant } from \"./adins-constant\";\r\nimport { CriteriaObj } from \"./criteria-obj.model\";\r\nimport { IntegrationObj } from \"./integration-obj.model\";\r\n \r\nexport class RequestCriteriaObj{\r\n includeCount:boolean;\r\n includeData:boolean;\r\n pageNo:number;\r\n rowPerPage:number;\r\n orderBy:any;\r\n criteria:CriteriaObj[];\r\n isLoading : boolean;\r\n queryString: any;\r\n rowVersion: any;\r\n integrationObj: IntegrationObj;\r\n joinType: string;\r\n\r\n constructor()\r\n {\r\n this.includeCount=true;\r\n this.includeData=true;\r\n this.isLoading = true;\r\n this.queryString = '';\r\n this.rowVersion = '';\r\n this.integrationObj = new IntegrationObj();\r\n this.joinType = AdInsConstant.JoinTypeInner;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport * as FileSaver from 'file-saver';\r\nimport * as XLSX from 'xlsx';\r\n\r\nconst EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\r\nconst EXCEL_EXTENSION = '.xlsx';\r\n\r\n@Injectable()\r\nexport class ExcelService {\r\n\r\n constructor() { }\r\n\r\n public exportAsExcelFile(json: any[], excelFileName: string): void {\r\n \r\n const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(json);\r\n console.log('worksheet',worksheet);\r\n const workbook: XLSX.WorkBook = { Sheets: { 'data': worksheet }, SheetNames: ['data'] };\r\n const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });\r\n //const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'buffer' });\r\n this.saveAsExcelFile(excelBuffer, excelFileName);\r\n }\r\n\r\n private saveAsExcelFile(buffer: any, fileName: string): void {\r\n const data: Blob = new Blob([buffer], {\r\n type: EXCEL_TYPE\r\n });\r\n FileSaver.saveAs(data, fileName + '_export_' + new Date().getTime() + EXCEL_EXTENSION);\r\n }\r\n\r\n}","export class KeyValueReportObj {\r\n key: number;\r\n value: string;\r\n\r\n constructor() {\r\n this.key = 0;\r\n this.value = \"\";\r\n }\r\n}\r\n\r\nexport class ExportTypeConstant {\r\n public static EXP_TYPE_PDF = 0;\r\n public static EXP_TYPE_XLS = 1;\r\n public static EXP_TYPE_XLSX = 2;\r\n public static EXP_TYPE_DOC = 3;\r\n public static EXP_TYPE_DOCX = 4;\r\n}","export class KeyValueUCSearchObj {\r\n key: number;\r\n value: string;\r\n\r\n constructor() {\r\n this.key = 0;\r\n this.value = \"\";\r\n }\r\n}\r\n\r\nexport class ListKeyValueMonth {\r\n ListOfMonth: Array<KeyValueUCSearchObj>;\r\n DictOfMonth: { [month: number]: string } = {};\r\n constructor() {\r\n this.ListOfMonth = new Array<KeyValueUCSearchObj>();\r\n this.DictOfMonth = {}\r\n this.ListOfMonth.push({ key: 1, value: \"January\" });\r\n this.DictOfMonth[1]= \"January\";\r\n this.ListOfMonth.push({ key: 2, value: \"February\" });\r\n this.DictOfMonth[2]= \"February\";\r\n this.ListOfMonth.push({ key: 3, value: \"March\" });\r\n this.DictOfMonth[3]= \"March\";\r\n this.ListOfMonth.push({ key: 4, value: \"April\" });\r\n this.DictOfMonth[4]= \"April\";\r\n this.ListOfMonth.push({ key: 5, value: \"May\" });\r\n this.DictOfMonth[5]= \"May\";\r\n this.ListOfMonth.push({ key: 6, value: \"June\" });\r\n this.DictOfMonth[6]= \"June\";\r\n this.ListOfMonth.push({ key: 7, value: \"July\" });\r\n this.DictOfMonth[7]= \"July\";\r\n this.ListOfMonth.push({ key: 8, value: \"August\" });\r\n this.DictOfMonth[8]= \"August\";\r\n this.ListOfMonth.push({ key: 9, value: \"September\" });\r\n this.DictOfMonth[9]= \"September\";\r\n this.ListOfMonth.push({ key: 10, value: \"October\" });\r\n this.DictOfMonth[10]= \"October\";\r\n this.ListOfMonth.push({ key: 11, value: \"November\" });\r\n this.DictOfMonth[11]= \"November\";\r\n this.ListOfMonth.push({ key: 12, value: \"December\" });\r\n this.DictOfMonth[12]= \"December\";\r\n }\r\n}","import { Component, OnInit, Input, ViewChild, ElementRef, Inject, Renderer2, EventEmitter, Output, HostListener } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { FormGroup, NgForm } from '@angular/forms';\r\nimport { DatePipe, formatDate } from '@angular/common';\r\nimport { InputSearchObj } from './model/input-search-obj.model';\r\nimport { CriteriaObj } from './model/criteria-obj.model';\r\nimport { RequestCriteriaObj } from './model/request-criteria-obj.model';\r\nimport { AdInsConstant } from './model/adins-constant';\r\nimport { DOCUMENT } from '@angular/platform-browser';\r\nimport { ExcelService } from './services/excel-service/excel-service';\r\nimport { trigger, transition, style, animate, state } from '@angular/animations';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ExportTypeConstant, KeyValueReportObj } from './model/key-value-report.model';\r\nimport { CookieService } from 'ngx-cookie';\r\nimport * as CryptoJS from 'crypto-js';\r\nimport { KeyValueUCSearchObj, ListKeyValueMonth } from './model/key-value-uc-search.model';\r\n\r\n@Component({\r\n selector: 'lib-UCSearch',\r\n templateUrl: './ucsearch.component.html',\r\n styleUrls: ['./ucsearch.component.css'],\r\n providers: [ExcelService, DatePipe],\r\n animations: [\r\n trigger('changeDivSize', [\r\n state('initial', style({\r\n height: '*',\r\n opacity: '1',\r\n })),\r\n state('final', style({\r\n height: '0px',\r\n opacity: '0',\r\n overflow: 'hidden',\r\n })),\r\n transition('initial=>final', animate('300ms')),\r\n transition('final=>initial', animate('300ms'))\r\n ]),\r\n ]\r\n})\r\nexport class UCSearchComponent implements OnInit {\r\n\r\n // isListHide: boolean = true;\r\n // @HostListener('document:click', ['$event'])\r\n // onClick(ev: MouseEvent) {\r\n // const clickInside = this.elemRef.nativeElement.contains(ev.target);\r\n // if (!clickInside) {\r\n // this.isListHide = true;\r\n // }\r\n // }\r\n\r\n @ViewChild('enjiForm') set content(content: NgForm) {\r\n if (content) { // initially setter gets called with undefined\r\n this.searchForm = content;\r\n }\r\n }\r\n\r\n @ViewChild('formIdSearch') myForm: ElementRef;\r\n @Input() searchInput: InputSearchObj = new InputSearchObj();\r\n @Input() pageSize: number = 10;\r\n @Input() isReport: boolean = false;\r\n @Output() result: EventEmitter<any> = new EventEmitter();\r\n @Output() genRpt: EventEmitter<{ ExportType: number, ElRef: ElementRef }> = new EventEmitter<{ ExportType: number, ElRef: ElementRef }>();\r\n @Output() reqGetAllData: EventEmitter<any> = new EventEmitter();\r\n ExportTypeList: Array<KeyValueReportObj> = [\r\n {\r\n key: ExportTypeConstant.EXP_TYPE_PDF,\r\n value: \"PDF\"\r\n },\r\n {\r\n key: ExportTypeConstant.EXP_TYPE_XLS,\r\n value: \"Excel 2003\"\r\n },\r\n {\r\n key: ExportTypeConstant.EXP_TYPE_XLSX,\r\n value: \"Excel 2007\"\r\n },\r\n {\r\n key: ExportTypeConstant.EXP_TYPE_DOC,\r\n value: \"Document\"\r\n },\r\n {\r\n key: ExportTypeConstant.EXP_TYPE_DOCX,\r\n value: \"Document XML\"\r\n },\r\n ];\r\n ListOfMonth: ListKeyValueMonth = new ListKeyValueMonth();\r\n ListOfYear: Array<KeyValueUCSearchObj> = new Array<KeyValueUCSearchObj>();\r\n ClaimList: Array<any> = [\r\n {\r\n Key: AdInsConstant.RestrictionIsNotNull,\r\n Value: \"CLAIMED\"\r\n },\r\n {\r\n Key: AdInsConstant.RestrictionIsNull,\r\n Value: \"UNCLAIMED\"\r\n },\r\n ];\r\n\r\n ExportType: number = 0;\r\n\r\n pageNow: any = 1;\r\n configuration: any;\r\n exportData: any;\r\n ExcelData: any;\r\n isDataLoaded: boolean = false;\r\n isHidden: boolean = false;\r\n BisDt: string;\r\n BusinessDt: Date = new Date();\r\n dateWrong: boolean = false;\r\n readonly: boolean = false;\r\n\r\n currentState = 'initial';\r\n\r\n form: FormGroup;\r\n countForm = 0;\r\n formattedAmount = '';\r\n amount = 0;\r\n apiUrl: string;\r\n arrCrit: any;\r\n searchForm: NgForm;\r\n\r\n constructor(private http: HttpClient, private excelService: ExcelService, private _renderer2: Renderer2,\r\n @Inject(DOCUMENT) private _document, public toastr: ToastrService, private cookieService: CookieService,\r\n private datePipe: DatePipe, private elemRef: ElementRef) {\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 async ngOnInit() {\r\n console.log(\"ucsearch\");\r\n this.apiUrl = this.searchInput.enviromentUrl + this.searchInput.apiQryPaging;\r\n this.arrCrit = this.searchInput.arrCritObj;\r\n let js = this._renderer2.createElement('script');\r\n js.text = `\r\n $(document).ready(function(){\r\n $(\"#flip\").click(function(){\r\n $(\"#panel\").slideToggle(\"slow\");\r\n });\r\n });\r\n `;\r\n this._renderer2.appendChild(this._document.body, js);\r\n\r\n let value = this.cookieService.get('BusinessDateRaw');\r\n this.BisDt = this.DecryptString(value, \"AdInsFOU12345678\");\r\n this.BusinessDt = new Date(this.BisDt);\r\n await this.initiateForm();\r\n }\r\n\r\n async initiateForm() {\r\n await this.getJSON(this.searchInput._url).subscribe(data => {\r\n this.configuration = data;\r\n this.exportData = data.exportExcel;\r\n if (data.exportTypeList != undefined && data.exportTypeList.length != 0) {\r\n this.ExportTypeList = data.exportTypeList;\r\n this.ExportType = this.ExportTypeList[0].key;\r\n }\r\n\r\n this.countForm = data.component.length;\r\n this.isDataLoaded = true;\r\n\r\n if (this.searchInput.title != undefined && this.searchInput.title != \"\") {\r\n this.configuration.title = this.searchInput.title;\r\n }\r\n\r\n for (let i = 0; i < this.countForm; i++) {\r\n //ini kalau datanya di load dari URL\r\n if (data.component[i].isFromURL == true) {\r\n let request = new RequestCriteriaObj();\r\n let arrayCrit = new Array();\r\n let criteriaObject = new CriteriaObj();\r\n criteriaObject.DataType = \"text\";\r\n criteriaObject.propName = data.component[i].criteriaPropName;\r\n criteriaObject.value = data.component[i].criteriaPropValue;\r\n criteriaObject.restriction = \"eq\";\r\n arrayCrit.push(criteriaObject);\r\n request.criteria = arrayCrit;\r\n request[data.component[i].criteriaPropName] = data.component[i].criteriaPropValue;\r\n\r\n // Pengecekan penggunaan url atau path\r\n if (data.component[i].path != undefined && data.component[i].path != \"\") {\r\n if (this.searchInput.listEnvironments != undefined && this.searchInput.listEnvironments.length != 0) {\r\n for (let y = 0; y < this.searchInput.listEnvironments.length; y++) {\r\n if (data.component[i].environment == this.searchInput.listEnvironments[y].environment) {\r\n data.component[i].fullpath = this.searchInput.listEnvironments[y].url + data.component[i].path;\r\n break;\r\n }\r\n }\r\n } else {\r\n data.component[i].fullpath = data.component[i].url;\r\n }\r\n\r\n } else {\r\n data.component[i].fullpath = data.component[i].url;\r\n }\r\n //lempar objectnya sekalian sama urlnya, nnti di bind di dalem karena masalah di asyncnya\r\n //biar tiap function ada state2nya sendiri\r\n this.resolveObject(data.component[i], data.component[i].fullpath, request);\r\n }\r\n\r\n if (data.component[i].type == \"numeric\") {\r\n data.component[i].value = parseFloat(data.component[i].value).toLocaleString('en');\r\n }\r\n\r\n //pengecekan ddl\r\n if (data.component[i].type == \"dropdown\") {\r\n if (data.component[i].dtmType != undefined) {\r\n if (data.component[i].dtmType.includes(\"month\")) {\r\n if (data.component[i].value != undefined && data.component[i].value.includes(\"BD\")) {\r\n data.component[i].value = this.setDefaultValueMonth(data.component[i].value);\r\n }\r\n data.component[i].items = this.setMonthDDL(data.component[i].dtmType);\r\n }\r\n if (data.component[i].dtmType.includes(\"year\")) {\r\n if (data.component[i].value != undefined && data.component[i].value.includes(\"BD\")) {\r\n data.component[i].value = this.setDefaultValueYear(data.component[i].value);\r\n }\r\n data.component[i].items = this.setYearDDL(data.component[i].dtmType);\r\n }\r\n }\r\n }\r\n // if (data.component[i].type == \"dropdownSearch\" && !data.component[i].isFromURL && data.component[i].items?.length != 1) {\r\n // if (data.component[i].ddsType == undefined || data.component[i].ddsType == \"all\") {\r\n // data.component[i].value = \"all\";\r\n // data.component[i].descr = \"All\";\r\n // } else if (data.component[i].ddsType == \"one\") {\r\n // data.component[i].value = \"one\";\r\n // data.component[i].descr = \"Select One\";\r\n // }\r\n // }\r\n if (data.component[i].type == \"dropdownSearch\" && !data.component[i].isFromURL && data.component[i].items.length == 1) {\r\n data.component[i].value = data.component[i].items[0].Key;\r\n data.component[i].descr = data.component[i].items[0].Value;\r\n }\r\n if (data.component[i].type != \"dropdownSearch\" && !data.component[i].value) {\r\n data.component[i].value = \"\";\r\n if (data.component[i].ddlType == 'all') data.component[i].value = \"all\";\r\n if (data.component[i].ddlType == 'one') data.component[i].value = \"one\";\r\n }\r\n //pengecekan tanggal\r\n if (data.component[i].type == \"datepicker\") {\r\n this.readonly = data.component[i].readonly\r\n\r\n if (data.component[i].value.includes(\"BD\")) {\r\n let businessDate = new Date();\r\n if (this.BisDt != null) {\r\n businessDate = new Date(this.BisDt);\r\n }\r\n let operator = data.component[i].value.charAt(2);\r\n let dateShow = new Date();\r\n if (operator == \"-\") {\r\n let tempMinus = data.component[i].value.split(\"-\", 2);\r\n let numDay = parseInt(tempMinus[1]);\r\n businessDate.setDate(businessDate.getDate() - numDay);\r\n }\r\n else if (operator == \"+\") {\r\n let tempMinus = data.component[i].value.split(\"+\", 2);\r\n let numDay = parseInt(tempMinus[1]);\r\n businessDate.setDate(businessDate.getDate() + numDay);\r\n }\r\n dateShow = businessDate;\r\n let dateText = formatDate(dateShow, 'yyyy-MM-dd', 'en-US')\r\n data.component[i].value = dateText;\r\n }\r\n\r\n if (this.readonly = false) {\r\n if (data.component[i].restriction != undefined && data.component[i].restriction != \"\") {\r\n if (data.component[i].restriction.toUpperCase() == \"GT\") {\r\n let minDate = new Date(this.datePipe.transform(data.component[i].minDate, 'yyyy-MM-dd'));\r\n minDate.setDate(minDate.getDate() + 1);\r\n data.component[i].minDate = minDate;\r\n } else if (data.component[i].restriction.toUpperCase() == \"LT\") {\r\n let maxDate = new Date(this.datePipe.transform(data.component[i].maxDate, 'yyyy-MM-dd'));\r\n maxDate.setDate(maxDate.getDate() - 1);\r\n data.component[i].maxDate = maxDate;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n setTimeout(() => {\r\n for (let j = 0; j < this.countForm; j++) {\r\n if (data.component[j].isEvent == true && this.configuration.component[j].itemsUrl.length == 1) {\r\n this.onChangeEvent(data.component[j].itemsUrl[0].Key, data.component[j]);\r\n }\r\n if (data.component[j].type == \"officeRoleCodes\" && this.configuration.component[j].itemsUrl.length > 0) {\r\n this.SetRoleOfficeCodes(j);\r\n }\r\n }\r\n }, 1000);\r\n });\r\n }\r\n\r\n SetRoleOfficeCodes(i: number) {\r\n let value: string = this.cookieService.get(\"UserAccess\");\r\n let userAccess: string = JSON.parse(this.DecryptString(value, \"AdInsFOU12345678\"));\r\n let roleCode: string = userAccess[\"RoleCode\"];\r\n let listOfficeRoleCodes: Array<string> = new Array();\r\n listOfficeRoleCodes.push(roleCode);\r\n let component = this.myForm.nativeElement[i];\r\n let ddl = component.options;\r\n let text = ddl[ddl.selectedIndex].value.trim();\r\n if (this.configuration.component[i].itemsUrl.length == 1 || (this.configuration.component[i].ddlType == 'all' && text == 'all')) {\r\n for (let index = 0; index < this.configuration.component[i].itemsUrl.length; index++) {\r\n const element = this.configuration.component[i].itemsUrl[index];\r\n listOfficeRoleCodes.push(element.Key);\r\n listOfficeRoleCodes.push(roleCode + \"-\" + element.Key);\r\n }\r\n } else {\r\n listOfficeRoleCodes.push(text);\r\n listOfficeRoleCodes.push(roleCode + \"-\" + text);\r\n }\r\n\r\n this.searchInput.integrationObj.requestObj[\"OfficeRoleCodes\"] = listOfficeRoleCodes;\r\n }\r\n\r\n setDefaultValueMonth(value) {\r\n let businessDate = new Date(this.BusinessDt);\r\n let operator = value.charAt(2);\r\n let tempValue = value.split(operator, 2);\r\n let numMonth = parseInt(tempValue[1]);\r\n if (!numMonth) numMonth = 1;\r\n if (operator == \"-\") {\r\n businessDate.setMonth(businessDate.getMonth() - numMonth);\r\n }\r\n else if (operator == \"+\") {\r\n businessDate.setMonth(businessDate.getMonth() + numMonth);\r\n }\r\n return businessDate.getMonth();\r\n }\r\n setMonthDDL(month) {\r\n let ListOfMonth: Array<KeyValueUCSearchObj>;\r\n let equation = month.match(\"[\\\\/+][-]|[-][\\\\/+]|\\\\/+|-\");\r\n let toMin: number = this.BusinessDt.getMonth();\r\n let toMax: number = this.BusinessDt.getMonth();\r\n let tempEquation = equation[0];\r\n let minMax: number = parseInt(month.substring(equation.index + equation[0].length));\r\n if (minMax >= 12) return this.ListOfMonth.ListOfMonth;\r\n if ((tempEquation == \"+-\" || tempEquation == \"-+\") && minMax >= 6) return this.ListOfMonth.ListOfMonth;\r\n let dictOfMonth: { [month: number]: string } = this.ListOfMonth.DictOfMonth;\r\n ListOfMonth.push({ key: toMin, value: dictOfMonth[toMin] });\r\n\r\n for (let q = 0; q < minMax; q++) {\r\n if (tempEquation.includes(\"-\")) {\r\n toMin--;\r\n if (toMin == 0) toMin = 12;\r\n ListOfMonth.push({ key: toMin, value: dictOfMonth[toMin] });\r\n }\r\n if (tempEquation.includes(\"+\")) {\r\n toMax++;\r\n if (toMax == 13) toMax = 1;\r\n ListOfMonth.push({ key: toMax, value: dictOfMonth[toMax] });\r\n }\r\n }\r\n ListOfMonth.sort((a, b) => {\r\n return a.key - b.key;\r\n });\r\n return ListOfMonth;\r\n }\r\n\r\n setDefaultValueYear(value) {\r\n let businessDate = new Date(this.BusinessDt);\r\n let operator = value.charAt(2);\r\n let tempValue = value.split(operator, 2);\r\n let numYear = parseInt(tempValue[1]);\r\n if (!numYear) numYear = 1;\r\n if (operator == \"-\") {\r\n businessDate.setFullYear(businessDate.getFullYear() - numYear);\r\n }\r\n else if (operator == \"+\") {\r\n businessDate.setFullYear(businessDate.getFullYear() + numYear);\r\n }\r\n return businessDate.getFullYear();\r\n }\r\n setYearDDL(year) {\r\n this.ListOfYear = new Array<KeyValueUCSearchObj>();\r\n let equation = year.match(\"[\\\\/+][-]|[-][\\\\/+]|\\\\/+|-\");\r\n let toMin: number = this.BusinessDt.getFullYear();\r\n let toMax: number = this.BusinessDt.getFullYear();\r\n let minMax: number = parseInt(year.substring(equation.index + equation[0].length));\r\n this.ListOfYear.push({ key: this.BusinessDt.getFullYear(), value: this.BusinessDt.getFullYear().toString() });\r\n\r\n for (let q = 0; q < minMax; q++) {\r\n if (equation[0] == \"-+\" || equation[0] == \"+-\") {\r\n toMin--;\r\n toMax++;\r\n this.ListOfYear.push({ key: toMin, value: toMin.toString() }, { key: toMax, value: toMax.toString() });\r\n } else if (equation[0] == \"-\") {\r\n toMin--;\r\n this.ListOfYear.push({ key: toMin, value: toMin.toString() });\r\n } else if (equation[0] == \"+\") {\r\n toMax++;\r\n this.ListOfYear.push({ key: toMax, value: toMax.toString() });\r\n }\r\n }\r\n this.ListOfYear.sort((a, b) => {\r\n return a.key - b.key;\r\n });\r\n return this.ListOfYear;\r\n }\r\n\r\n public getJSON(url: string): Observable<any> {\r\n return this.http.get(url);\r\n }\r\n\r\n public postJSON(url: string, criteria: any = null): Observable<any> {\r\n return this.http.post(url, criteria);\r\n }\r\n\r\n searchClick(IsExportExcel: boolean = false) {\r\n let filtered = this.configuration.component.filter((item, i, arr) =>\r\n arr.findIndex((x) => (x.name === item.name)) === i);\r\n\r\n for (let i = 0; i < filtered.length; i++) {\r\n if (filtered[i].type == \"numeric\") {\r\n if(!this.checkValueGteLte(filtered[i])) return;\r\n }\r\n }\r\n\r\n let order = null;\r\n if (this.configuration.orderby != null) {\r\n order = {\r\n key: this.configuration.orderby.key,\r\n value: this.configuration.orderby.value\r\n }\r\n }\r\n this.pageNow = 1;\r\n let rowPerPage = this.pageSize;\r\n if (IsExportExcel) rowPerPage = 9999;\r\n this.search(this.apiUrl, this.pageNow, rowPerPage, order, this.arrCrit, IsExportExcel);\r\n }\r\n\r\n async reset() {\r\n this.searchForm.resetForm({\r\n ExportType: this.ExportTypeList[0].key\r\n });\r\n await this.initiateForm();\r\n }\r\n\r\n search(apiUrl: string, pageNo: number, rowPerPage: number, orderBy: any, addCrit: CriteriaObj[] = new Array(), IsExportExcel: boolean = false) {\r\n let request = new RequestCriteriaObj();\r\n let arrCrit = new Array();\r\n let IsQueryIn = false;\r\n let IsBreak = false;\r\n\r\n // Inject whereQuery for where criteria\r\n if (this.searchInput.whereValue != undefined && this.searchInput.whereValue.length != 0) {\r\n this.configuration.querystring.whereQuery = new Array<any>();\r\n for (let x = 0; x < this.searchInput.whereValue.length; x++) {\r\n this.configuration.querystring.whereQuery.push(this.searchInput.whereValue[x].value);\r\n }\r\n }\r\n if (this.searchInput.fromValue != undefined && this.searchInput.fromValue.length != 0) {\r\n this.configuration.querystring.fromQuery = new Array<any>();\r\n for (let x = 0; x < this.searchInput.fromValue.length; x++) {\r\n this.configuration.querystring.fromQuery.push(this.searchInput.fromValue[x].value);\r\n }\r\n }\r\n request.pageNo = pageNo;\r\n request.rowPerPage = rowPerPage;\r\n request.orderBy = orderBy;\r\n request.queryString = this.configuration.querystring;\r\n\r\n let formSeq: number = -1;\r\n for (let i = 0; i < this.countForm; i++) {\r\n let critObj = new CriteriaObj();\r\n if (this.configuration.component[i].type == \"dropdownSearch\") {\r\n formSeq += 3;\r\n } else {\r\n formSeq++;\r\n }\r\n let component = this.myForm.nativeElement[formSeq];\r\n\r\n // // popup message if required\r\n // if (component.getAttribute('data-required') != null && component.getAttribute('data-required') == \"true\") {\r\n // let val = component.value.trim();\r\n // if (val == \"\") {\r\n // IsBreak = true;\r\n // let label = component.getAttribute('label');\r\n // this.toastr.warning(\"Please input \" + label);\r\n // break;\r\n // }\r\n // }\r\n\r\n critObj.DataType = component.getAttribute('data-type');\r\n //Ini khusus kalau dari Drop Down\r\n if (component.getAttribute('query-in') != null && component.getAttribute('query-in') == \"true\") {\r\n IsQueryIn = true;\r\n }\r\n else {\r\n IsQueryIn = false;\r\n }\r\n if (component.value != \"\") {\r\n if (component.nodeName == 'SELECT') {\r\n let ddl = component.options;\r\n let text = ddl[ddl.selectedIndex].value.trim();\r\n if (text == \"one\") {\r\n IsBreak = true;\r\n let label = component.getAttribute('label');\r\n this.toastr.warning(\"Please select \" + label);\r\n break;\r\n }\r\n\r\n if (component.getAttribute('data-crit-datatable') != \"\" && component.getAttribute('data-crit-datatable') != null) {\r\n critObj.isCriteriaDataTable = component.getAttribute('data-crit-datatable');\r\n }\r\n\r\n if (this.configuration.component[i].type == \"taskDefinitionKey\" ||\r\n this.configuration.component[i].type == \"processKey\")\r\n continue;\r\n\r\n if (this.configuration.component[i].type == \"claim\") {\r\n critObj.propName = component.getAttribute('data-name');\r\n critObj.restriction = text;\r\n critObj.value = null;\r\n arrCrit.push(critObj);\r\n } else {\r\n if (text != \"all\" && text != \"one\") {\r\n //Kalau Dari Dropdown udah pasti pake Eq\r\n critObj.restriction = AdInsConstant.RestrictionEq;\r\n if (component.name != \"\") {\r\n critObj.propName = component.name;\r\n } else {\r\n critObj.propName = component.getAttribute('data-name');\r\n }\r\n critObj.value = text;\r\n arrCrit.push(critObj);\r\n } else if (text == \"all\" && IsQueryIn == true && component.options.length != 0) {\r\n let ddlList = new Array();\r\n for (let x = 0; x < component.options.length; x++) {\r\n if (x != 0) {\r\n ddlList.push(component.options[x].value);\r\n }\r\n }\r\n if (ddlList.length != 0) {\r\n critObj.restriction = AdInsConstant.RestrictionIn;\r\n if (component.name != \"\") {\r\n critObj.propName = component.name;\r\n } else {\r\n critObj.propName = component.getAttribute('data-name');\r\n }\r\n critObj.listValue = ddlList;\r\n arrCrit.push(critObj);\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n //Kalau ada Percent maka yang dipake nnti adalah Restrictions Like\r\n if (component.name != \"\") {\r\n critObj.propName = component.name;\r\n } else {\r\n critObj.propName = component.getAttribute('data-name');\r\n }\r\n critObj.value = component.value.trim();\r\n if (component.value.includes(\"%\")) {\r\n critObj.restriction = AdInsConstant.RestrictionLike;\r\n }\r\n //kalau componentnya Date, restrictionsnya lgsg ambil dari property JSONnya\r\n else if (component.getAttribute('data-restriction') != \"\" && component.getAttribute('data-restriction') != null) {\r\n critObj.restriction = component.getAttribute('data-restriction');\r\n if (component.getAttribute('data-type') == 'numeric') {\r\n critObj.value = parseFloat(component.value.replace(/,/g, '')).toString();\r\n }\r\n if (critObj.restriction.toUpperCase() == \"LIKE\") {\r\n critObj.value = \"%\" + component.value.trim() + \"%\";\r\n critObj.restriction = AdInsConstant.RestrictionLike\r\n }\r\n }\r\n else {\r\n critObj.restriction = AdInsConstant.RestrictionEq\r\n }\r\n if (component.getAttribute('data-crit-datatable') != \"\" && component.getAttribute('data-crit-datatable') != null) {\r\n critObj.isCriteriaDataTable = component.getAttribute('data-crit-datatable');\r\n }\r\n arrCrit.push(critObj);\r\n }\r\n }\r\n }\r\n\r\n if (IsBreak) {\r\n return;\r\n }\r\n\r\n if (addCrit != null && addCrit != undefined) {\r\n if (addCrit.length != 0) {\r\n for (let i = 0; i < addCrit.length; i++) {\r\n arrCrit.push(addCrit[i]);\r\n }\r\n } else if (this.searchInput.addCritInput != null || this.searchInput.addCritInput != undefined) {\r\n for (let i = 0; i < this.searchInput.addCritInput.length; i++) {\r\n arrCrit.push(this.searchInput.addCritInput[i]);\r\n }\r\n }\r\n }\r\n else if (this.searchInput.addCritInput != null || this.searchInput.addCritInput != undefined) {\r\n for (let i = 0; i < this.searchInput.addCritInput.length; i++) {\r\n arrCrit.push(this.searchInput.addCritInput[i]);\r\n }\r\n }\r\n\r\n request.criteria = arrCrit;\r\n\r\n request.integrationObj = null;\r\n if (this.searchInput.isJoinExAPI) {\r\n request.integrationObj = this.searchInput.integrationObj;\r\n }\r\n\r\n this.http.post(apiUrl, request).subscribe((response) => {\r\n if (IsExportExcel) {\r\n this.ExcelData = response[\"Data\"];\r\n this.excelService.exportAsExcelFile(this.ExcelData, 'sample');\r\n return;\r\n }\r\n let qryPaging = {\r\n response: response,\r\n pageNow: pageNo\r\n }\r\n console.log(qryPaging);\r\n this.result.emit(qryPaging);\r\n this.reqGetAllData.emit(request);\r\n return response;\r\n });\r\n }\r\n\r\n GenerateReport() {\r\n this.genRpt.emit({ ExportType: this.ExportType, ElRef: this.myForm });\r\n }\r\n\r\n lessThanFour(): boolean {\r\n if (this.countForm > 3) {\r\n return false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n\r\n resolveObject(obj: any, url: string, crit: RequestCriteriaObj = null) {\r\n const val = this.postJSON(url, crit);\r\n val.subscribe(tempData => {\r\n obj.itemsUrl = new Array();\r\n obj.itemsUrl = tempData.ReturnObject;\r\n\r\n if (obj.exclude != undefined && obj.exclude != \"\") {\r\n obj.itemsUrl = obj.itemsUrl.filter((value) => !obj.exclude.includes(value.Key));\r\n }\r\n\r\n if (obj.type == \"dropdownSearch\" && obj.itemsUrl.length == 1) {\r\n obj.value = obj.itemsUrl[0].Key;\r\n obj.descr = obj.itemsUrl[0].Value;\r\n }\r\n if (obj.affectedFilter && obj.itemsUrl.length == 1) {\r\n this.onChangeEvent(obj.itemsUrl[0].Key, obj);\r\n }\r\n });\r\n }\r\n\r\n checkValueGteLte(component){\r\n //cek yg pakai restriction gte/lte/gt/lt\r\n let MinComponent = this.configuration.component.find(x => x.name == component.name && (x.restriction.toUpperCase() == \"GTE\")) == undefined ? this.configuration.component.find(x => x.name == component.name && (x.restriction.toUpperCase() == \"GT\")) : this.configuration.component.find(x => x.name == component.name && (x.restriction.toUpperCase() == \"GTE\"));\r\n let MaxComponent = this.configuration.component.find(x => x.name == component.name && (x.restriction.toUpperCase() == \"LTE\")) == undefined ? this.configuration.component.find(x => x.name == component.name && (x.restriction.toUpperCase() == \"LT\")) : this.configuration.component.find(x => x.name == component.name && (x.restriction.toUpperCase() == \"LTE\"));\r\n \r\n if(this.myForm.nativeElement[MinComponent.id].value > this.myForm.nativeElement[MaxComponent.id].value){\r\n this.toastr.warning(MinComponent.label + \" must be less than \" + MaxComponent.label);\r\n return false;\r\n }\r\n\r\n return true;\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 this.searchClick(true);\r\n // let request = new RequestCriteriaObj();\r\n // request.pageNo = 1;\r\n // request.rowPerPage = 9999;\r\n // request.orderBy = null;\r\n // request.criteria = [];\r\n // request.queryString = this.configuration.querystring;\r\n // if (!this.searchInput.isJoinExAPI) {\r\n // request.integrationObj = null;\r\n // } else {\r\n // request.integrationObj = this.searchInput.integrationObj;\r\n // }\r\n\r\n // this.http.post(this.apiUrl, request).subscribe(\r\n // response => {\r\n // this.ExcelData = response[\"Data\"];\r\n // this.excelService.exportAsExcelFile(this.ExcelData, 'sample');\r\n // },\r\n // (error) => {\r\n // console.log(error);\r\n // });\r\n }\r\n\r\n onChangeEvent(optValue, afFilter) {\r\n let jsonComp = this.configuration.component;\r\n\r\n for (let i = 0; i < afFilter.affectedFilter.length; i++) {\r\n for (let j = 0; j < jsonComp.length; j++) {\r\n if (jsonComp[j].name == afFilter.affectedFilter[i]) {\r\n let request = new RequestCriteriaObj();\r\n let arrayCrit = new Array();\r\n\r\n if (optValue != \"all\" && optValue != \"one\") {\r\n let critObj = new CriteriaObj();\r\n critObj.DataType = afFilter.datatype;\r\n if (afFilter.filterPropName != undefined || afFilter.filterPropName != \"\") {\r\n request[afFilter.filterPropName] = optValue;\r\n critObj.propName = afFilter.filterPropName;\r\n } else {\r\n critObj.propName = afFilter.name;\r\n request[afFilter.name] = optValue;\r\n }\r\n critObj.value = optValue;\r\n critObj.restriction = AdInsConstant.RestrictionEq;\r\n arrayCrit.push(critObj);\r\n }\r\n request.criteria = arrayCrit;\r\n if (jsonComp[j].path != undefined && jsonComp[j].path != \"\") {\r\n if (this.searchInput.listEnvironments != undefined && this.searchInput.listEnvironments.length != 0) {\r\n for (let y = 0; y < this.searchInput.listEnvironments.length; y++) {\r\n if (jsonComp[j].environment == this.searchInput.listEnvironments[y].environment) {\r\n jsonComp[j].fullpath = this.searchInput.listEnvironments[y].url + jsonComp[j].path;\r\n break;\r\n }\r\n }\r\n } else {\r\n jsonComp[j].fullpath = jsonComp[j].url;\r\n }\r\n\r\n } else {\r\n jsonComp[j].fullpath = jsonComp[j].url;\r\n }\r\n this.resolveObject(jsonComp[j], jsonComp[j].fullpath, request);\r\n }\r\n }\r\n }\r\n }\r\n\r\n SetProcessKey(idx: number, wfKeyFilter: string) {\r\n let component = this.myForm.nativeElement[idx];\r\n let ddl = component.options;\r\n let text: string = ddl[ddl.selectedIndex].value.trim();\r\n let listValue = text.split(';');\r\n let listWfKey = wfKeyFilter.split(';');\r\n \r\n for (let i = 0; i < listValue.length; i++) {\r\n this.searchInput.integrationObj.requestObj[listWfKey[i]] = listValue[i];\r\n }\r\n \r\n }\r\n\r\n switchCase(condList) {\r\n let condition = false;\r\n\r\n for (let i = 0; i < condList.conditions.length; i++) {\r\n let idx = this.searchInput.switchValue.findIndex(x => x.property == condList.conditions[i].property);\r\n if (condList.conditions[i].restriction == \"EQ\") {\r\n if (condList.conditions[i].isUser != true) {\r\n if (this.searchInput.switchValue[idx].value == condList.conditions[i].value) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n } else {\r\n let username = localStorage.getItem(\"Username\");\r\n if (this.searchInput.switchValue[idx].value == username) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n }\r\n } else if (condList.conditions[i].restriction == \"NEQ\") {\r\n if (condList.conditions[i].isUser != true) {\r\n if (this.searchInput.switchValue[idx].value != condList.conditions[i].value) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n } else {\r\n let username = localStorage.getItem(\"Username\");\r\n if (this.searchInput.switchValue[idx].value != username) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n }\r\n } else if (condList.conditions[i].restriction == \"GT\") {\r\n if (condList.conditions[i].isUser != true) {\r\n if (this.searchInput.switchValue[idx].value > condList.conditions[i].value) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n } else {\r\n let username = localStorage.getItem(\"Username\");\r\n if (this.searchInput.switchValue[idx].value > username) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n }\r\n } else if (condList.conditions[i].restriction == \"GTE\") {\r\n if (condList.conditions[i].isUser != true) {\r\n if (this.searchInput.switchValue[idx].value >= condList.conditions[i].value) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n } else {\r\n let username = localStorage.getItem(\"Username\");\r\n if (this.searchInput.switchValue[idx].value >= username) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n }\r\n } else if (condList.conditions[i].restriction == \"LT\") {\r\n if (condList.conditions[i].isUser != true) {\r\n if (this.searchInput.switchValue[idx].value < condList.conditions[i].value) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n } else {\r\n let username = localStorage.getItem(\"Username\");\r\n if (this.searchInput.switchValue[idx].value < username) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n }\r\n } else if (condList.conditions[i].restriction == \"LTE\") {\r\n if (condList.conditions[i].isUser != true) {\r\n if (this.searchInput.switchValue[idx].value <= condList.conditions[i].value) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n } else {\r\n let username = localStorage.getItem(\"Username\");\r\n if (this.searchInput.switchValue[idx].value <= username) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n return condition;\r\n\r\n }\r\n\r\n private DecryptString(chipperText: string, chipperKey: string) {\r\n if (\r\n chipperKey == undefined || chipperKey.trim() == '' ||\r\n chipperText == undefined || chipperText.trim() == ''\r\n ) return chipperText;\r\n let chipperKeyArr = CryptoJS.enc.Utf8.parse(chipperKey);\r\n let iv = CryptoJS.lib.WordArray.create([0x00, 0x00, 0x00, 0x00]);\r\n let decrypted = CryptoJS.AES.decrypt(chipperText, chipperKeyArr, { iv: iv });\r\n let plainText = decrypted.toString(CryptoJS.enc.Utf8);\r\n return plainText;\r\n }\r\n\r\n checkInputDate(component: any) {\r\n let minDateVal;\r\n let maxDateVal;\r\n let label;\r\n let errorMessage = new Array<string>();\r\n\r\n let MinComponent = this.configuration.component.find(x => x.name == component.name && (x.restriction.toUpperCase() == \"GTE\")) == undefined ? this.configuration.component.find(x => x.name == component.name && (x.restriction.toUpperCase() == \"GT\")) : this.configuration.component.find(x => x.name == component.name && (x.restriction.toUpperCase() == \"GTE\"));\r\n if (MinComponent != undefined) {\r\n minDateVal = this.myForm.nativeElement[MinComponent.id].min == \"\" ? null : new Date(this.myForm.nativeElement[MinComponent.id].min);\r\n label = MinComponent.label.split(\">\", 2);\r\n if (minDateVal != null) {\r\n if (MinComponent.restriction.toUpperCase() == \"GT\") {\r\n minDateVal.setDate(minDateVal.getDate() - 1);\r\n errorMessage.push(\" must be greater than \");\r\n } else if (MinComponent.restriction.toUpperCase() == \"GTE\") {\r\n errorMessage.push(\" must be greater than or equals to \");\r\n }\r\n }\r\n }\r\n\r\n let MaxComponent = this.configuration.component.find(x => x.name == component.name && (x.restriction.toUpperCase() == \"LTE\")) == undefined ? this.configuration.component.find(x => x.name == component.name && (x.restriction.toUpperCase() == \"LT\")) : this.configuration.component.find(x => x.name == component.name && (x.restriction.toUpperCase() == \"LTE\"));\r\n if (MaxComponent != undefined) {\r\n maxDateVal = this.myForm.nativeElement[MaxComponent.id].max == \"\" ? null : new Date(this.myForm.nativeElement[MaxComponent.id].max);\r\n label = MaxComponent.label.split(\"<\", 2);\r\n if (maxDateVal != null) {\r\n if (MaxComponent.restriction.toUpperCase() == \"LT\") {\r\n maxDateVal.setDate(maxDateVal.getDate() + 1);\r\n errorMessage.push(\" must be less than \");\r\n } else if (MaxComponent.restriction.toUpperCase() == \"LTE\") {\r\n errorMessage.push(\" must be less than or equals to \");\r\n }\r\n }\r\n }\r\n\r\n if (minDateVal != null && maxDateVal == null && new Date(this.myForm.nativeElement[MinComponent.id].value) < minDateVal) {\r\n this.toastr.warning(label[0] + errorMessage[0] + formatDate(minDateVal, 'dd MMMM yyyy', 'en-US') + \".\")\r\n this.dateWrong = true;\r\n } else if (maxDateVal != null && minDateVal == null && new Date(this.myForm.nativeElement[MaxComponent.id].value) > maxDateVal) {\r\n this.toastr.warning(label[0] + errorMessage[0] + formatDate(maxDateVal, 'dd MMMM yyyy', 'en-US') + \".\")\r\n this.dateWrong = true;\r\n } else if (minDateVal != null && maxDateVal != null) {\r\n if (new Date(this.myForm.nativeElement[MaxComponent.id].value) > maxDateVal || new Date(this.myForm.nativeElement[MinComponent.id].value) < minDateVal) {\r\n this.toastr.warning(label[0] + errorMessage[0] + formatDate(minDateVal, 'dd MMMM yyyy', 'en-US') + \" and\" + errorMessage[1] + formatDate(maxDateVal, 'dd MMMM yyyy', 'en-US') + \".\")\r\n this.dateWrong = true;\r\n } else {\r\n this.dateWrong = false;\r\n }\r\n } else {\r\n this.dateWrong = false;\r\n }\r\n }\r\n\r\n selectedOption(item: { Key: string, Value: string }, crit: any) {\r\n crit.descr = item.Value;\r\n crit.isListHide = true;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'textSearch'\r\n})\r\nexport class TextSearchPipe implements PipeTransform {\r\n\r\n transform(items: any[], text?: any): any {\r\n if(!text){\r\n return items;\r\n }\r\n return items.filter((item)=>{\r\n if(item.Value && typeof item.Value === 'string'){\r\n return item.Value.toLowerCase().indexOf(text.toLowerCase())> -1;\r\n } \r\n return false;\r\n })\r\n }\r\n\r\n}","import { NgModule } from '@angular/core';\r\nimport { UCSearchComponent } from './ucsearch.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CurrencyMaskInputMode, NgxCurrencyModule } from 'ngx-currency';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { UcShowErrorsModule } from '@adins/uc-show-errors';\r\nimport { UcDirectiveUpperCaseModule } from '@adins/uc-directive-upper-case';\r\nimport { TextSearchPipe } from './pipe/text-search.pipe';\r\n\r\nexport const customCurrencyMaskConfig = { \r\n align: \"right\",\r\n allowNegative: false,\r\n allowZero: true,\r\n decimal: \".\",\r\n precision: 2,\r\n prefix: \"\",\r\n suffix: \"\",\r\n thousands: \",\",\r\n nullable: false,\r\n inputMode: CurrencyMaskInputMode.NATURAL };\r\n\r\n@NgModule({\r\n declarations: [UCSearchComponent,TextSearchPipe],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n UcShowErrorsModule,\r\n UcDirectiveUpperCaseModule,\r\n NgxCurrencyModule.forRoot(customCurrencyMaskConfig),\r\n TranslateModule.forChild()\r\n ],\r\n exports: [UCSearchComponent]\r\n})\r\nexport class UCSearchModule { }\r\n"],"names":["Injectable","XLSX.utils","XLSX.write","FileSaver.saveAs","http","EventEmitter","formatDate","CryptoJS.enc","CryptoJS.lib","CryptoJS.AES","Component","DatePipe","trigger","state","style","transition","animate","HttpClient","Renderer2","Inject","DOCUMENT","ToastrService","CookieService","ElementRef","ViewChild","Input","Output","Pipe","CurrencyMaskInputMode","NgModule","CommonModule","FormsModule","UcShowErrorsModule","UcDirectiveUpperCaseModule","NgxCurrencyModule","TranslateModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adins-ucsearch.umd.js.map","sources":["ng://@adins/ucsearch/lib/ucsearch.service.ts","node_modules/tslib/tslib.es6.js","ng://@adins/ucsearch/lib/model/adins-constant.ts","ng://@adins/ucsearch/lib/model/integration-obj.model.ts","ng://@adins/ucsearch/lib/model/input-search-obj.model.ts","ng://@adins/ucsearch/lib/model/criteria-obj.model.ts","ng://@adins/ucsearch/lib/model/request-criteria-obj.model.ts","ng://@adins/ucsearch/lib/services/excel-service/excel-service.ts","ng://@adins/ucsearch/lib/model/key-value-report.model.ts","ng://@adins/ucsearch/lib/model/key-value-uc-search.model.ts","ng://@adins/ucsearch/lib/ucsearch.component.ts","ng://@adins/ucsearch/lib/pipe/text-search.pipe.ts","ng://@adins/ucsearch/lib/ucsearch.module.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UCSearchService {\r\n\r\n constructor() { }\r\n}\r\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { formatDate } from \"@angular/common\";\r\n\r\nexport class AdInsConstant {\r\n public static RestrictionBetween = \"Between\"\r\n public static RestrictionLike = \"Like\";\r\n public static RestrictionEq = \"Eq\";\r\n public static RestrictionNeq = \"NEQ\";\r\n public static RestrictionGt = \"GT\";\r\n public static RestrictionGte = \"GTE\";\r\n public static RestrictionLt = \"LT\";\r\n public static RestrictionLte = \"LTE\";\r\n public static RestrictionIn = \"IN\";\r\n public static RestrictionNotIn = \"NotIn\";\r\n public static RestrictionOr = \"Or\"; //pastikan ada 1 criteria sebelumnya\r\n public static RestrictionOrNeq = \"OrNeq\"; //pastikan ada 1 criteria sebelumnya\r\n public static RestrictionIsNull = \"ISNULL\";\r\n public static RestrictionIsNotNull = \"ISNOTNULL\";\r\n public static RestrictionGTE = \"GTE\";\r\n public static RestrictionLTE = \"LTE\";\r\n public static showData = \"10,50,100\";\r\n public static JoinTypeInner = \"INNER\";\r\n public static JoinTypeLeft = \"LEFT\";\r\n}\r\n","import { AdInsConstant } from \"./adins-constant\";\r\nexport class IntegrationObj {\r\n baseUrl: string;\r\n apiPath: string;\r\n requestObj: Object;\r\n leftColumnToJoin: string;\r\n rightColumnToJoin: string;\r\n joinType: string;\r\n \r\n constructor() {\r\n this.baseUrl = \"\";\r\n this.apiPath = \"\";\r\n this.requestObj = new Object();\r\n this.leftColumnToJoin = \"\";\r\n this.rightColumnToJoin = \"\";\r\n this.joinType = AdInsConstant.JoinTypeInner;\r\n }\r\n}","import { CriteriaObj } from \"./criteria-obj.model\";\r\nimport { IntegrationObj } from \"./integration-obj.model\";\r\n \r\nexport class InputSearchObj {\r\n _url: string;\r\n enviromentUrl: string;\r\n title: string;\r\n apiQryPaging: string;\r\n arrCritObj: any;\r\n addCritInput: Array<CriteriaObj>;\r\n listEnvironments: Array<EnvisObj>;\r\n whereValue: Array<WhereValueObj>;\r\n fromValue: Array<FromValueObj>;\r\n switchValue: Array<SwitchValueObj>;\r\n integrationObj: IntegrationObj;\r\n isJoinExAPI: boolean;\r\n \r\n constructor() {\r\n this._url = \"\";\r\n this.enviromentUrl = \"\";\r\n this.title = \"\";\r\n this.apiQryPaging = \"\";\r\n this.arrCritObj = null;\r\n this.addCritInput = new Array<CriteriaObj>();\r\n this.listEnvironments = new Array<EnvisObj>();\r\n this.whereValue = new Array<WhereValueObj>();\r\n this.fromValue = new Array<FromValueObj>();\r\n this.switchValue = new Array<SwitchValueObj>();\r\n this.integrationObj = new IntegrationObj();\r\n this.isJoinExAPI = false;\r\n }\r\n}\r\n\r\nexport class EnviObj {\r\n name: string;\r\n environment: string;\r\n\r\n constructor() {\r\n this.name = \"\";\r\n this.environment = \"\";\r\n }\r\n}\r\n\r\nexport class WhereValueObj {\r\n property: string;\r\n value: any;\r\n\r\n constructor() {\r\n this.property = \"\";\r\n }\r\n}\r\n\r\nexport class FromValueObj {\r\n property: string;\r\n value: any;\r\n\r\n constructor() {\r\n this.property = \"\";\r\n }\r\n}\r\n\r\nexport class SwitchValueObj {\r\n property: string;\r\n value: any;\r\n\r\n constructor() {\r\n this.property = \"\";\r\n }\r\n}\r\n\r\nexport class EnvisObj {\r\n environment: string;\r\n url: string;\r\n\r\n constructor() {\r\n this.environment = \"\";\r\n this.url = \"\";\r\n }\r\n}","export class CriteriaObj { \r\n propName: string;\r\n restriction: string;\r\n value: string;\r\n low: number;\r\n high: number;\r\n DataType: string;\r\n listValue: Array<any>;\r\n isCriteriaDataTable: boolean;\r\n\r\n constructor() {\r\n this.low = 0;\r\n this.high = 0;\r\n this.DataType = 'Text';\r\n this.isCriteriaDataTable = false;\r\n }\r\n\r\n}","import { AdInsConstant } from \"./adins-constant\";\r\nimport { CriteriaObj } from \"./criteria-obj.model\";\r\nimport { IntegrationObj } from \"./integration-obj.model\";\r\n \r\nexport class RequestCriteriaObj{\r\n includeCount:boolean;\r\n includeData:boolean;\r\n pageNo:number;\r\n rowPerPage:number;\r\n orderBy:any;\r\n criteria:CriteriaObj[];\r\n isLoading : boolean;\r\n queryString: any;\r\n rowVersion: any;\r\n integrationObj: IntegrationObj;\r\n joinType: string;\r\n\r\n constructor()\r\n {\r\n this.includeCount=true;\r\n this.includeData=true;\r\n this.isLoading = true;\r\n this.queryString = '';\r\n this.rowVersion = '';\r\n this.integrationObj = new IntegrationObj();\r\n this.joinType = AdInsConstant.JoinTypeInner;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport * as FileSaver from 'file-saver';\r\nimport * as XLSX from 'xlsx';\r\n\r\nconst EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\r\nconst EXCEL_EXTENSION = '.xlsx';\r\n\r\n@Injectable()\r\nexport class ExcelService {\r\n\r\n constructor() { }\r\n\r\n public exportAsExcelFile(json: any[], excelFileName: string): void {\r\n \r\n const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(json);\r\n console.log('worksheet',worksheet);\r\n const workbook: XLSX.WorkBook = { Sheets: { 'data': worksheet }, SheetNames: ['data'] };\r\n const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });\r\n //const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'buffer' });\r\n this.saveAsExcelFile(excelBuffer, excelFileName);\r\n }\r\n\r\n private saveAsExcelFile(buffer: any, fileName: string): void {\r\n const data: Blob = new Blob([buffer], {\r\n type: EXCEL_TYPE\r\n });\r\n FileSaver.saveAs(data, fileName + '_export_' + new Date().getTime() + EXCEL_EXTENSION);\r\n }\r\n\r\n}","export class KeyValueReportObj {\r\n key: number;\r\n value: string;\r\n\r\n constructor() {\r\n this.key = 0;\r\n this.value = \"\";\r\n }\r\n}\r\n\r\nexport class ExportTypeConstant {\r\n public static EXP_TYPE_PDF = 0;\r\n public static EXP_TYPE_XLS = 1;\r\n public static EXP_TYPE_XLSX = 2;\r\n public static EXP_TYPE_DOC = 3;\r\n public static EXP_TYPE_DOCX = 4;\r\n public static EXP_TYPE_JPDF = 5;\r\n}","export class KeyValueUCSearchObj {\r\n key: number;\r\n value: string;\r\n\r\n constructor() {\r\n this.key = 0;\r\n this.value = \"\";\r\n }\r\n}\r\n\r\nexport class ListKeyValueMonth {\r\n ListOfMonth: Array<KeyValueUCSearchObj>;\r\n DictOfMonth: { [month: number]: string } = {};\r\n constructor() {\r\n this.ListOfMonth = new Array<KeyValueUCSearchObj>();\r\n this.DictOfMonth = {}\r\n this.ListOfMonth.push({ key: 1, value: \"January\" });\r\n this.DictOfMonth[1]= \"January\";\r\n this.ListOfMonth.push({ key: 2, value: \"February\" });\r\n this.DictOfMonth[2]= \"February\";\r\n this.ListOfMonth.push({ key: 3, value: \"March\" });\r\n this.DictOfMonth[3]= \"March\";\r\n this.ListOfMonth.push({ key: 4, value: \"April\" });\r\n this.DictOfMonth[4]= \"April\";\r\n this.ListOfMonth.push({ key: 5, value: \"May\" });\r\n this.DictOfMonth[5]= \"May\";\r\n this.ListOfMonth.push({ key: 6, value: \"June\" });\r\n this.DictOfMonth[6]= \"June\";\r\n this.ListOfMonth.push({ key: 7, value: \"July\" });\r\n this.DictOfMonth[7]= \"July\";\r\n this.ListOfMonth.push({ key: 8, value: \"August\" });\r\n this.DictOfMonth[8]= \"August\";\r\n this.ListOfMonth.push({ key: 9, value: \"September\" });\r\n this.DictOfMonth[9]= \"September\";\r\n this.ListOfMonth.push({ key: 10, value: \"October\" });\r\n this.DictOfMonth[10]= \"October\";\r\n this.ListOfMonth.push({ key: 11, value: \"November\" });\r\n this.DictOfMonth[11]= \"November\";\r\n this.ListOfMonth.push({ key: 12, value: \"December\" });\r\n this.DictOfMonth[12]= \"December\";\r\n }\r\n}","import { Component, OnInit, Input, ViewChild, ElementRef, Inject, Renderer2, EventEmitter, Output, HostListener } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { FormGroup, NgForm } from '@angular/forms';\r\nimport { DatePipe, formatDate } from '@angular/common';\r\nimport { InputSearchObj } from './model/input-search-obj.model';\r\nimport { CriteriaObj } from './model/criteria-obj.model';\r\nimport { RequestCriteriaObj } from './model/request-criteria-obj.model';\r\nimport { AdInsConstant } from './model/adins-constant';\r\nimport { DOCUMENT } from '@angular/platform-browser';\r\nimport { ExcelService } from './services/excel-service/excel-service';\r\nimport { trigger, transition, style, animate, state } from '@angular/animations';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ExportTypeConstant, KeyValueReportObj } from './model/key-value-report.model';\r\nimport { CookieService } from 'ngx-cookie';\r\nimport * as CryptoJS from 'crypto-js';\r\nimport { KeyValueUCSearchObj, ListKeyValueMonth } from './model/key-value-uc-search.model';\r\n\r\n@Component({\r\n selector: 'lib-UCSearch',\r\n templateUrl: './ucsearch.component.html',\r\n styleUrls: ['./ucsearch.component.css'],\r\n providers: [ExcelService, DatePipe],\r\n animations: [\r\n trigger('changeDivSize', [\r\n state('initial', style({\r\n height: '*',\r\n opacity: '1',\r\n })),\r\n state('final', style({\r\n height: '0px',\r\n opacity: '0',\r\n overflow: 'hidden',\r\n })),\r\n transition('initial=>final', animate('300ms')),\r\n transition('final=>initial', animate('300ms'))\r\n ]),\r\n ]\r\n})\r\nexport class UCSearchComponent implements OnInit {\r\n\r\n // isListHide: boolean = true;\r\n // @HostListener('document:click', ['$event'])\r\n // onClick(ev: MouseEvent) {\r\n // const clickInside = this.elemRef.nativeElement.contains(ev.target);\r\n // if (!clickInside) {\r\n // this.isListHide = true;\r\n // }\r\n // }\r\n\r\n @ViewChild('enjiForm') set content(content: NgForm) {\r\n if (content) { // initially setter gets called with undefined\r\n this.searchForm = content;\r\n }\r\n }\r\n\r\n @ViewChild('formIdSearch') myForm: ElementRef;\r\n @Input() searchInput: InputSearchObj = new InputSearchObj();\r\n @Input() pageSize: number = 10;\r\n @Input() isReport: boolean = false;\r\n @Output() result: EventEmitter<any> = new EventEmitter();\r\n @Output() genRpt: EventEmitter<{ ExportType: number, ElRef: ElementRef }> = new EventEmitter<{ ExportType: number, ElRef: ElementRef }>();\r\n @Output() reqGetAllData: EventEmitter<any> = new EventEmitter();\r\n ExportTypeList: Array<KeyValueReportObj> = [\r\n {\r\n key: ExportTypeConstant.EXP_TYPE_PDF,\r\n value: \"PDF\"\r\n },\r\n {\r\n key: ExportTypeConstant.EXP_TYPE_XLSX,\r\n value: \"Excel 2007\"\r\n },\r\n {\r\n key: ExportTypeConstant.EXP_TYPE_DOCX,\r\n value: \"Document XML\"\r\n },\r\n {\r\n key: ExportTypeConstant.EXP_TYPE_JPDF,\r\n value: \"Justify PDF\"\r\n }\r\n ];\r\n ListOfMonth: ListKeyValueMonth = new ListKeyValueMonth();\r\n ListOfYear: Array<KeyValueUCSearchObj> = new Array<KeyValueUCSearchObj>();\r\n ClaimList: Array<any> = [\r\n {\r\n Key: AdInsConstant.RestrictionIsNotNull,\r\n Value: \"CLAIMED\"\r\n },\r\n {\r\n Key: AdInsConstant.RestrictionIsNull,\r\n Value: \"UNCLAIMED\"\r\n },\r\n ];\r\n\r\n ExportType: number = 0;\r\n\r\n pageNow: any = 1;\r\n configuration: any;\r\n exportData: any;\r\n ExcelData: any;\r\n isDataLoaded: boolean = false;\r\n isHidden: boolean = false;\r\n BisDt: string;\r\n BusinessDt: Date = new Date();\r\n dateWrong: boolean = false;\r\n readonly: boolean = false;\r\n\r\n currentState = 'initial';\r\n\r\n form: FormGroup;\r\n countForm = 0;\r\n formattedAmount = '';\r\n amount = 0;\r\n apiUrl: string;\r\n arrCrit: any;\r\n searchForm: NgForm;\r\n\r\n constructor(private http: HttpClient, private excelService: ExcelService, private _renderer2: Renderer2,\r\n @Inject(DOCUMENT) private _document, public toastr: ToastrService, private cookieService: CookieService,\r\n private datePipe: DatePipe, private elemRef: ElementRef) {\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 async ngOnInit() {\r\n console.log(\"ucsearch\");\r\n this.apiUrl = this.searchInput.enviromentUrl + this.searchInput.apiQryPaging;\r\n this.arrCrit = this.searchInput.arrCritObj;\r\n let js = this._renderer2.createElement('script');\r\n js.text = `\r\n $(document).ready(function(){\r\n $(\"#flip\").click(function(){\r\n $(\"#panel\").slideToggle(\"slow\");\r\n });\r\n });\r\n `;\r\n this._renderer2.appendChild(this._document.body, js);\r\n\r\n let value = this.cookieService.get('BusinessDateRaw');\r\n this.BisDt = this.DecryptString(value, \"AdInsFOU12345678\");\r\n this.BusinessDt = new Date(this.BisDt);\r\n await this.initiateForm();\r\n }\r\n\r\n async initiateForm() {\r\n await this.getJSON(this.searchInput._url).subscribe(data => {\r\n this.configuration = data;\r\n this.exportData = data.exportExcel;\r\n if (data.exportTypeList != undefined && data.exportTypeList.length != 0) {\r\n this.ExportTypeList = data.exportTypeList;\r\n this.ExportType = this.ExportTypeList[0].key;\r\n }\r\n\r\n this.countForm = data.component.length;\r\n this.isDataLoaded = true;\r\n\r\n if (this.searchInput.title != undefined && this.searchInput.title != \"\") {\r\n this.configuration.title = this.searchInput.title;\r\n }\r\n\r\n for (let i = 0; i < this.countForm; i++) {\r\n //ini kalau datanya di load dari URL\r\n if (data.component[i].isFromURL == true) {\r\n let request = new RequestCriteriaObj();\r\n let arrayCrit = new Array();\r\n let criteriaObject = new CriteriaObj();\r\n criteriaObject.DataType = \"text\";\r\n criteriaObject.propName = data.component[i].criteriaPropName;\r\n criteriaObject.value = data.component[i].criteriaPropValue;\r\n criteriaObject.restriction = \"eq\";\r\n arrayCrit.push(criteriaObject);\r\n request.criteria = arrayCrit;\r\n request[data.component[i].criteriaPropName] = data.component[i].criteriaPropValue;\r\n\r\n // Pengecekan penggunaan url atau path\r\n if (data.component[i].path != undefined && data.component[i].path != \"\") {\r\n if (this.searchInput.listEnvironments != undefined && this.searchInput.listEnvironments.length != 0) {\r\n for (let y = 0; y < this.searchInput.listEnvironments.length; y++) {\r\n if (data.component[i].environment == this.searchInput.listEnvironments[y].environment) {\r\n data.component[i].fullpath = this.searchInput.listEnvironments[y].url + data.component[i].path;\r\n break;\r\n }\r\n }\r\n } else {\r\n data.component[i].fullpath = data.component[i].url;\r\n }\r\n\r\n } else {\r\n data.component[i].fullpath = data.component[i].url;\r\n }\r\n //lempar objectnya sekalian sama urlnya, nnti di bind di dalem karena masalah di asyncnya\r\n //biar tiap function ada state2nya sendiri\r\n this.resolveObject(data.component[i], data.component[i].fullpath, request);\r\n }\r\n\r\n if (data.component[i].type == \"numeric\") {\r\n data.component[i].value = parseFloat(data.component[i].value).toLocaleString('en');\r\n }\r\n\r\n //pengecekan ddl\r\n if (data.component[i].type == \"dropdown\") {\r\n if (data.component[i].dtmType != undefined) {\r\n if (data.component[i].dtmType.includes(\"month\")) {\r\n if (data.component[i].value != undefined && data.component[i].value.includes(\"BD\")) {\r\n data.component[i].value = this.setDefaultValueMonth(data.component[i].value);\r\n }\r\n data.component[i].items = this.setMonthDDL(data.component[i].dtmType);\r\n }\r\n if (data.component[i].dtmType.includes(\"year\")) {\r\n if (data.component[i].value != undefined && data.component[i].value.includes(\"BD\")) {\r\n data.component[i].value = this.setDefaultValueYear(data.component[i].value);\r\n }\r\n data.component[i].items = this.setYearDDL(data.component[i].dtmType);\r\n }\r\n }\r\n }\r\n // if (data.component[i].type == \"dropdownSearch\" && !data.component[i].isFromURL && data.component[i].items?.length != 1) {\r\n // if (data.component[i].ddsType == undefined || data.component[i].ddsType == \"all\") {\r\n // data.component[i].value = \"all\";\r\n // data.component[i].descr = \"All\";\r\n // } else if (data.component[i].ddsType == \"one\") {\r\n // data.component[i].value = \"one\";\r\n // data.component[i].descr = \"Select One\";\r\n // }\r\n // }\r\n if (data.component[i].type == \"dropdownSearch\" && !data.component[i].isFromURL && data.component[i].items.length == 1) {\r\n data.component[i].value = data.component[i].items[0].Key;\r\n data.component[i].descr = data.component[i].items[0].Value;\r\n }\r\n if (data.component[i].type != \"dropdownSearch\" && !data.component[i].value) {\r\n data.component[i].value = \"\";\r\n if (data.component[i].ddlType == 'all') data.component[i].value = \"all\";\r\n if (data.component[i].ddlType == 'one') data.component[i].value = \"one\";\r\n }\r\n //pengecekan tanggal\r\n if (data.component[i].type == \"datepicker\") {\r\n this.readonly = data.component[i].readonly\r\n\r\n if (data.component[i].value.includes(\"BD\")) {\r\n let businessDate = new Date();\r\n if (this.BisDt != null) {\r\n businessDate = new Date(this.BisDt);\r\n }\r\n let operator = data.component[i].value.charAt(2);\r\n let dateShow = new Date();\r\n if (operator == \"-\") {\r\n let tempMinus = data.component[i].value.split(\"-\", 2);\r\n let numDay = parseInt(tempMinus[1]);\r\n businessDate.setDate(businessDate.getDate() - numDay);\r\n }\r\n else if (operator == \"+\") {\r\n let tempMinus = data.component[i].value.split(\"+\", 2);\r\n let numDay = parseInt(tempMinus[1]);\r\n businessDate.setDate(businessDate.getDate() + numDay);\r\n }\r\n dateShow = businessDate;\r\n let dateText = formatDate(dateShow, 'yyyy-MM-dd', 'en-US')\r\n data.component[i].value = dateText;\r\n }\r\n\r\n if (this.readonly = false) {\r\n if (data.component[i].restriction != undefined && data.component[i].restriction != \"\") {\r\n if (data.component[i].restriction.toUpperCase() == \"GT\") {\r\n let minDate = new Date(this.datePipe.transform(data.component[i].minDate, 'yyyy-MM-dd'));\r\n minDate.setDate(minDate.getDate() + 1);\r\n data.component[i].minDate = minDate;\r\n } else if (data.component[i].restriction.toUpperCase() == \"LT\") {\r\n let maxDate = new Date(this.datePipe.transform(data.component[i].maxDate, 'yyyy-MM-dd'));\r\n maxDate.setDate(maxDate.getDate() - 1);\r\n data.component[i].maxDate = maxDate;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n setTimeout(() => {\r\n for (let j = 0; j < this.countForm; j++) {\r\n if (data.component[j].isEvent == true && this.configuration.component[j].itemsUrl.length == 1) {\r\n this.onChangeEvent(data.component[j].itemsUrl[0].Key, data.component[j]);\r\n }\r\n if (data.component[j].type == \"officeRoleCodes\" && this.configuration.component[j].itemsUrl.length > 0) {\r\n this.SetRoleOfficeCodes(j);\r\n }\r\n }\r\n }, 1000);\r\n });\r\n }\r\n\r\n SetRoleOfficeCodes(i: number) {\r\n let value: string = this.cookieService.get(\"UserAccess\");\r\n let userAccess: string = JSON.parse(this.DecryptString(value, \"AdInsFOU12345678\"));\r\n let roleCode: string = userAccess[\"RoleCode\"];\r\n let listOfficeRoleCodes: Array<string> = new Array();\r\n listOfficeRoleCodes.push(roleCode);\r\n let component = this.myForm.nativeElement[i];\r\n let ddl = component.options;\r\n let text = ddl[ddl.selectedIndex].value.trim();\r\n if (this.configuration.component[i].itemsUrl.length == 1 || (this.configuration.component[i].ddlType == 'all' && text == 'all')) {\r\n for (let index = 0; index < this.configuration.component[i].itemsUrl.length; index++) {\r\n const element = this.configuration.component[i].itemsUrl[index];\r\n listOfficeRoleCodes.push(element.Key);\r\n listOfficeRoleCodes.push(roleCode + \"-\" + element.Key);\r\n }\r\n } else {\r\n listOfficeRoleCodes.push(text);\r\n listOfficeRoleCodes.push(roleCode + \"-\" + text);\r\n }\r\n\r\n this.searchInput.integrationObj.requestObj[\"OfficeRoleCodes\"] = listOfficeRoleCodes;\r\n }\r\n\r\n setDefaultValueMonth(value) {\r\n let businessDate = new Date(this.BusinessDt);\r\n let operator = value.charAt(2);\r\n let tempValue = value.split(operator, 2);\r\n let numMonth = parseInt(tempValue[1]);\r\n if (!numMonth) numMonth = 1;\r\n if (operator == \"-\") {\r\n businessDate.setMonth(businessDate.getMonth() - numMonth);\r\n }\r\n else if (operator == \"+\") {\r\n businessDate.setMonth(businessDate.getMonth() + numMonth);\r\n }\r\n return businessDate.getMonth();\r\n }\r\n setMonthDDL(month) {\r\n let ListOfMonth: Array<KeyValueUCSearchObj>;\r\n let equation = month.match(\"[\\\\/+][-]|[-][\\\\/+]|\\\\/+|-\");\r\n let toMin: number = this.BusinessDt.getMonth();\r\n let toMax: number = this.BusinessDt.getMonth();\r\n let tempEquation = equation[0];\r\n let minMax: number = parseInt(month.substring(equation.index + equation[0].length));\r\n if (minMax >= 12) return this.ListOfMonth.ListOfMonth;\r\n if ((tempEquation == \"+-\" || tempEquation == \"-+\") && minMax >= 6) return this.ListOfMonth.ListOfMonth;\r\n let dictOfMonth: { [month: number]: string } = this.ListOfMonth.DictOfMonth;\r\n ListOfMonth.push({ key: toMin, value: dictOfMonth[toMin] });\r\n\r\n for (let q = 0; q < minMax; q++) {\r\n if (tempEquation.includes(\"-\")) {\r\n toMin--;\r\n if (toMin == 0) toMin = 12;\r\n ListOfMonth.push({ key: toMin, value: dictOfMonth[toMin] });\r\n }\r\n if (tempEquation.includes(\"+\")) {\r\n toMax++;\r\n if (toMax == 13) toMax = 1;\r\n ListOfMonth.push({ key: toMax, value: dictOfMonth[toMax] });\r\n }\r\n }\r\n ListOfMonth.sort((a, b) => {\r\n return a.key - b.key;\r\n });\r\n return ListOfMonth;\r\n }\r\n\r\n setDefaultValueYear(value) {\r\n let businessDate = new Date(this.BusinessDt);\r\n let operator = value.charAt(2);\r\n let tempValue = value.split(operator, 2);\r\n let numYear = parseInt(tempValue[1]);\r\n if (!numYear) numYear = 1;\r\n if (operator == \"-\") {\r\n businessDate.setFullYear(businessDate.getFullYear() - numYear);\r\n }\r\n else if (operator == \"+\") {\r\n businessDate.setFullYear(businessDate.getFullYear() + numYear);\r\n }\r\n return businessDate.getFullYear();\r\n }\r\n setYearDDL(year) {\r\n this.ListOfYear = new Array<KeyValueUCSearchObj>();\r\n let equation = year.match(\"[\\\\/+][-]|[-][\\\\/+]|\\\\/+|-\");\r\n let toMin: number = this.BusinessDt.getFullYear();\r\n let toMax: number = this.BusinessDt.getFullYear();\r\n let minMax: number = parseInt(year.substring(equation.index + equation[0].length));\r\n this.ListOfYear.push({ key: this.BusinessDt.getFullYear(), value: this.BusinessDt.getFullYear().toString() });\r\n\r\n for (let q = 0; q < minMax; q++) {\r\n if (equation[0] == \"-+\" || equation[0] == \"+-\") {\r\n toMin--;\r\n toMax++;\r\n this.ListOfYear.push({ key: toMin, value: toMin.toString() }, { key: toMax, value: toMax.toString() });\r\n } else if (equation[0] == \"-\") {\r\n toMin--;\r\n this.ListOfYear.push({ key: toMin, value: toMin.toString() });\r\n } else if (equation[0] == \"+\") {\r\n toMax++;\r\n this.ListOfYear.push({ key: toMax, value: toMax.toString() });\r\n }\r\n }\r\n this.ListOfYear.sort((a, b) => {\r\n return a.key - b.key;\r\n });\r\n return this.ListOfYear;\r\n }\r\n\r\n public getJSON(url: string): Observable<any> {\r\n return this.http.get(url);\r\n }\r\n\r\n public postJSON(url: string, criteria: any = null): Observable<any> {\r\n return this.http.post(url, criteria);\r\n }\r\n\r\n searchClick(IsExportExcel: boolean = false) {\r\n let filtered = this.configuration.component.filter((item, i, arr) =>\r\n arr.findIndex((x) => (x.name === item.name)) === i);\r\n\r\n for (let i = 0; i < filtered.length; i++) {\r\n if (filtered[i].type == \"numeric\") {\r\n if(!this.checkValueGteLte(filtered[i])) return;\r\n }\r\n }\r\n\r\n let order = null;\r\n if (this.configuration.orderby != null) {\r\n order = {\r\n key: this.configuration.orderby.key,\r\n value: this.configuration.orderby.value\r\n }\r\n }\r\n this.pageNow = 1;\r\n let rowPerPage = this.pageSize;\r\n if (IsExportExcel) rowPerPage = 9999;\r\n this.search(this.apiUrl, this.pageNow, rowPerPage, order, this.arrCrit, IsExportExcel);\r\n }\r\n\r\n async reset() {\r\n this.searchForm.resetForm({\r\n ExportType: this.ExportTypeList[0].key\r\n });\r\n await this.initiateForm();\r\n }\r\n\r\n search(apiUrl: string, pageNo: number, rowPerPage: number, orderBy: any, addCrit: CriteriaObj[] = new Array(), IsExportExcel: boolean = false) {\r\n let request = new RequestCriteriaObj();\r\n let arrCrit = new Array();\r\n let IsQueryIn = false;\r\n let IsBreak = false;\r\n\r\n // Inject whereQuery for where criteria\r\n if (this.searchInput.whereValue != undefined && this.searchInput.whereValue.length != 0) {\r\n this.configuration.querystring.whereQuery = new Array<any>();\r\n for (let x = 0; x < this.searchInput.whereValue.length; x++) {\r\n this.configuration.querystring.whereQuery.push(this.searchInput.whereValue[x].value);\r\n }\r\n }\r\n if (this.searchInput.fromValue != undefined && this.searchInput.fromValue.length != 0) {\r\n this.configuration.querystring.fromQuery = new Array<any>();\r\n for (let x = 0; x < this.searchInput.fromValue.length; x++) {\r\n this.configuration.querystring.fromQuery.push(this.searchInput.fromValue[x].value);\r\n }\r\n }\r\n request.pageNo = pageNo;\r\n request.rowPerPage = rowPerPage;\r\n request.orderBy = orderBy;\r\n request.queryString = this.configuration.querystring;\r\n\r\n let formSeq: number = -1;\r\n for (let i = 0; i < this.countForm; i++) {\r\n let critObj = new CriteriaObj();\r\n if (this.configuration.component[i].type == \"dropdownSearch\") {\r\n formSeq += 3;\r\n } else {\r\n formSeq++;\r\n }\r\n let component = this.myForm.nativeElement[formSeq];\r\n\r\n // // popup message if required\r\n // if (component.getAttribute('data-required') != null && component.getAttribute('data-required') == \"true\") {\r\n // let val = component.value.trim();\r\n // if (val == \"\") {\r\n // IsBreak = true;\r\n // let label = component.getAttribute('label');\r\n // this.toastr.warning(\"Please input \" + label);\r\n // break;\r\n // }\r\n // }\r\n\r\n critObj.DataType = component.getAttribute('data-type');\r\n //Ini khusus kalau dari Drop Down\r\n if (component.getAttribute('query-in') != null && component.getAttribute('query-in') == \"true\") {\r\n IsQueryIn = true;\r\n }\r\n else {\r\n IsQueryIn = false;\r\n }\r\n if (component.value != \"\") {\r\n if (component.nodeName == 'SELECT') {\r\n let ddl = component.options;\r\n let text = ddl[ddl.selectedIndex].value.trim();\r\n if (text == \"one\") {\r\n IsBreak = true;\r\n let label = component.getAttribute('label');\r\n this.toastr.warning(\"Please select \" + label);\r\n break;\r\n }\r\n\r\n if (component.getAttribute('data-crit-datatable') != \"\" && component.getAttribute('data-crit-datatable') != null) {\r\n critObj.isCriteriaDataTable = component.getAttribute('data-crit-datatable');\r\n }\r\n\r\n if (this.configuration.component[i].type == \"taskDefinitionKey\" ||\r\n this.configuration.component[i].type == \"processKey\")\r\n continue;\r\n\r\n if (this.configuration.component[i].type == \"claim\") {\r\n critObj.propName = component.getAttribute('data-name');\r\n critObj.restriction = text;\r\n critObj.value = null;\r\n arrCrit.push(critObj);\r\n } else {\r\n if (text != \"all\" && text != \"one\") {\r\n //Kalau Dari Dropdown udah pasti pake Eq\r\n critObj.restriction = AdInsConstant.RestrictionEq;\r\n if (component.name != \"\") {\r\n critObj.propName = component.name;\r\n } else {\r\n critObj.propName = component.getAttribute('data-name');\r\n }\r\n critObj.value = text;\r\n arrCrit.push(critObj);\r\n } else if (text == \"all\" && IsQueryIn == true && component.options.length != 0) {\r\n let ddlList = new Array();\r\n for (let x = 0; x < component.options.length; x++) {\r\n if (x != 0) {\r\n ddlList.push(component.options[x].value);\r\n }\r\n }\r\n if (ddlList.length != 0) {\r\n critObj.restriction = AdInsConstant.RestrictionIn;\r\n if (component.name != \"\") {\r\n critObj.propName = component.name;\r\n } else {\r\n critObj.propName = component.getAttribute('data-name');\r\n }\r\n critObj.listValue = ddlList;\r\n arrCrit.push(critObj);\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n //Kalau ada Percent maka yang dipake nnti adalah Restrictions Like\r\n if (component.name != \"\") {\r\n critObj.propName = component.name;\r\n } else {\r\n critObj.propName = component.getAttribute('data-name');\r\n }\r\n critObj.value = component.value.trim();\r\n if (component.value.includes(\"%\")) {\r\n critObj.restriction = AdInsConstant.RestrictionLike;\r\n }\r\n //kalau componentnya Date, restrictionsnya lgsg ambil dari property JSONnya\r\n else if (component.getAttribute('data-restriction') != \"\" && component.getAttribute('data-restriction') != null) {\r\n critObj.restriction = component.getAttribute('data-restriction');\r\n if (component.getAttribute('data-type') == 'numeric') {\r\n critObj.value = parseFloat(component.value.replace(/,/g, '')).toString();\r\n }\r\n if (critObj.restriction.toUpperCase() == \"LIKE\") {\r\n critObj.value = \"%\" + component.value.trim() + \"%\";\r\n critObj.restriction = AdInsConstant.RestrictionLike\r\n }\r\n }\r\n else {\r\n critObj.restriction = AdInsConstant.RestrictionEq\r\n }\r\n if (component.getAttribute('data-crit-datatable') != \"\" && component.getAttribute('data-crit-datatable') != null) {\r\n critObj.isCriteriaDataTable = component.getAttribute('data-crit-datatable');\r\n }\r\n arrCrit.push(critObj);\r\n }\r\n }\r\n }\r\n\r\n if (IsBreak) {\r\n return;\r\n }\r\n\r\n if (addCrit != null && addCrit != undefined) {\r\n if (addCrit.length != 0) {\r\n for (let i = 0; i < addCrit.length; i++) {\r\n arrCrit.push(addCrit[i]);\r\n }\r\n } else if (this.searchInput.addCritInput != null || this.searchInput.addCritInput != undefined) {\r\n for (let i = 0; i < this.searchInput.addCritInput.length; i++) {\r\n arrCrit.push(this.searchInput.addCritInput[i]);\r\n }\r\n }\r\n }\r\n else if (this.searchInput.addCritInput != null || this.searchInput.addCritInput != undefined) {\r\n for (let i = 0; i < this.searchInput.addCritInput.length; i++) {\r\n arrCrit.push(this.searchInput.addCritInput[i]);\r\n }\r\n }\r\n\r\n request.criteria = arrCrit;\r\n\r\n request.integrationObj = null;\r\n if (this.searchInput.isJoinExAPI) {\r\n request.integrationObj = this.searchInput.integrationObj;\r\n }\r\n\r\n this.http.post(apiUrl, request).subscribe((response) => {\r\n if (IsExportExcel) {\r\n this.ExcelData = response[\"Data\"];\r\n this.excelService.exportAsExcelFile(this.ExcelData, 'sample');\r\n return;\r\n }\r\n let qryPaging = {\r\n response: response,\r\n pageNow: pageNo\r\n }\r\n console.log(qryPaging);\r\n this.result.emit(qryPaging);\r\n this.reqGetAllData.emit(request);\r\n return response;\r\n });\r\n }\r\n\r\n GenerateReport() {\r\n this.genRpt.emit({ ExportType: this.ExportType, ElRef: this.myForm });\r\n }\r\n\r\n lessThanFour(): boolean {\r\n if (this.countForm > 3) {\r\n return false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n\r\n resolveObject(obj: any, url: string, crit: RequestCriteriaObj = null) {\r\n const val = this.postJSON(url, crit);\r\n val.subscribe(tempData => {\r\n obj.itemsUrl = new Array();\r\n obj.itemsUrl = tempData.ReturnObject;\r\n\r\n if (obj.exclude != undefined && obj.exclude != \"\") {\r\n obj.itemsUrl = obj.itemsUrl.filter((value) => !obj.exclude.includes(value.Key));\r\n }\r\n\r\n if (obj.type == \"dropdownSearch\" && obj.itemsUrl.length == 1) {\r\n obj.value = obj.itemsUrl[0].Key;\r\n obj.descr = obj.itemsUrl[0].Value;\r\n }\r\n if (obj.affectedFilter && obj.itemsUrl.length == 1) {\r\n this.onChangeEvent(obj.itemsUrl[0].Key, obj);\r\n }\r\n });\r\n }\r\n\r\n checkValueGteLte(component){\r\n //cek yg pakai restriction gte/lte/gt/lt\r\n let MinComponent = this.configuration.component.find(x => x.name == component.name && (x.restriction.toUpperCase() == \"GTE\")) == undefined ? this.configuration.component.find(x => x.name == component.name && (x.restriction.toUpperCase() == \"GT\")) : this.configuration.component.find(x => x.name == component.name && (x.restriction.toUpperCase() == \"GTE\"));\r\n let MaxComponent = this.configuration.component.find(x => x.name == component.name && (x.restriction.toUpperCase() == \"LTE\")) == undefined ? this.configuration.component.find(x => x.name == component.name && (x.restriction.toUpperCase() == \"LT\")) : this.configuration.component.find(x => x.name == component.name && (x.restriction.toUpperCase() == \"LTE\"));\r\n \r\n if(this.myForm.nativeElement[MinComponent.id].value > this.myForm.nativeElement[MaxComponent.id].value){\r\n this.toastr.warning(MinComponent.label + \" must be less than \" + MaxComponent.label);\r\n return false;\r\n }\r\n\r\n return true;\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 this.searchClick(true);\r\n // let request = new RequestCriteriaObj();\r\n // request.pageNo = 1;\r\n // request.rowPerPage = 9999;\r\n // request.orderBy = null;\r\n // request.criteria = [];\r\n // request.queryString = this.configuration.querystring;\r\n // if (!this.searchInput.isJoinExAPI) {\r\n // request.integrationObj = null;\r\n // } else {\r\n // request.integrationObj = this.searchInput.integrationObj;\r\n // }\r\n\r\n // this.http.post(this.apiUrl, request).subscribe(\r\n // response => {\r\n // this.ExcelData = response[\"Data\"];\r\n // this.excelService.exportAsExcelFile(this.ExcelData, 'sample');\r\n // },\r\n // (error) => {\r\n // console.log(error);\r\n // });\r\n }\r\n\r\n onChangeEvent(optValue, afFilter) {\r\n let jsonComp = this.configuration.component;\r\n\r\n for (let i = 0; i < afFilter.affectedFilter.length; i++) {\r\n for (let j = 0; j < jsonComp.length; j++) {\r\n if (jsonComp[j].name == afFilter.affectedFilter[i]) {\r\n let request = new RequestCriteriaObj();\r\n let arrayCrit = new Array();\r\n\r\n if (optValue != \"all\" && optValue != \"one\") {\r\n let critObj = new CriteriaObj();\r\n critObj.DataType = afFilter.datatype;\r\n if (afFilter.filterPropName != undefined || afFilter.filterPropName != \"\") {\r\n request[afFilter.filterPropName] = optValue;\r\n critObj.propName = afFilter.filterPropName;\r\n } else {\r\n critObj.propName = afFilter.name;\r\n request[afFilter.name] = optValue;\r\n }\r\n critObj.value = optValue;\r\n critObj.restriction = AdInsConstant.RestrictionEq;\r\n arrayCrit.push(critObj);\r\n }\r\n request.criteria = arrayCrit;\r\n if (jsonComp[j].path != undefined && jsonComp[j].path != \"\") {\r\n if (this.searchInput.listEnvironments != undefined && this.searchInput.listEnvironments.length != 0) {\r\n for (let y = 0; y < this.searchInput.listEnvironments.length; y++) {\r\n if (jsonComp[j].environment == this.searchInput.listEnvironments[y].environment) {\r\n jsonComp[j].fullpath = this.searchInput.listEnvironments[y].url + jsonComp[j].path;\r\n break;\r\n }\r\n }\r\n } else {\r\n jsonComp[j].fullpath = jsonComp[j].url;\r\n }\r\n\r\n } else {\r\n jsonComp[j].fullpath = jsonComp[j].url;\r\n }\r\n this.resolveObject(jsonComp[j], jsonComp[j].fullpath, request);\r\n }\r\n }\r\n }\r\n }\r\n\r\n SetProcessKey(idx: number, wfKeyFilter: string) {\r\n let component = this.myForm.nativeElement[idx];\r\n let ddl = component.options;\r\n let text: string = ddl[ddl.selectedIndex].value.trim();\r\n let listValue = text.split(';');\r\n let listWfKey = wfKeyFilter.split(';');\r\n \r\n for (let i = 0; i < listValue.length; i++) {\r\n this.searchInput.integrationObj.requestObj[listWfKey[i]] = listValue[i];\r\n }\r\n \r\n }\r\n\r\n switchCase(condList) {\r\n let condition = false;\r\n\r\n for (let i = 0; i < condList.conditions.length; i++) {\r\n let idx = this.searchInput.switchValue.findIndex(x => x.property == condList.conditions[i].property);\r\n if (condList.conditions[i].restriction == \"EQ\") {\r\n if (condList.conditions[i].isUser != true) {\r\n if (this.searchInput.switchValue[idx].value == condList.conditions[i].value) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n } else {\r\n let username = localStorage.getItem(\"Username\");\r\n if (this.searchInput.switchValue[idx].value == username) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n }\r\n } else if (condList.conditions[i].restriction == \"NEQ\") {\r\n if (condList.conditions[i].isUser != true) {\r\n if (this.searchInput.switchValue[idx].value != condList.conditions[i].value) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n } else {\r\n let username = localStorage.getItem(\"Username\");\r\n if (this.searchInput.switchValue[idx].value != username) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n }\r\n } else if (condList.conditions[i].restriction == \"GT\") {\r\n if (condList.conditions[i].isUser != true) {\r\n if (this.searchInput.switchValue[idx].value > condList.conditions[i].value) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n } else {\r\n let username = localStorage.getItem(\"Username\");\r\n if (this.searchInput.switchValue[idx].value > username) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n }\r\n } else if (condList.conditions[i].restriction == \"GTE\") {\r\n if (condList.conditions[i].isUser != true) {\r\n if (this.searchInput.switchValue[idx].value >= condList.conditions[i].value) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n } else {\r\n let username = localStorage.getItem(\"Username\");\r\n if (this.searchInput.switchValue[idx].value >= username) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n }\r\n } else if (condList.conditions[i].restriction == \"LT\") {\r\n if (condList.conditions[i].isUser != true) {\r\n if (this.searchInput.switchValue[idx].value < condList.conditions[i].value) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n } else {\r\n let username = localStorage.getItem(\"Username\");\r\n if (this.searchInput.switchValue[idx].value < username) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n }\r\n } else if (condList.conditions[i].restriction == \"LTE\") {\r\n if (condList.conditions[i].isUser != true) {\r\n if (this.searchInput.switchValue[idx].value <= condList.conditions[i].value) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n } else {\r\n let username = localStorage.getItem(\"Username\");\r\n if (this.searchInput.switchValue[idx].value <= username) {\r\n condition = true;\r\n } else {\r\n condition = false;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n return condition;\r\n\r\n }\r\n\r\n private DecryptString(chipperText: string, chipperKey: string) {\r\n if (\r\n chipperKey == undefined || chipperKey.trim() == '' ||\r\n chipperText == undefined || chipperText.trim() == ''\r\n ) return chipperText;\r\n let chipperKeyArr = CryptoJS.enc.Utf8.parse(chipperKey);\r\n let iv = CryptoJS.lib.WordArray.create([0x00, 0x00, 0x00, 0x00]);\r\n let decrypted = CryptoJS.AES.decrypt(chipperText, chipperKeyArr, { iv: iv });\r\n let plainText = decrypted.toString(CryptoJS.enc.Utf8);\r\n return plainText;\r\n }\r\n\r\n checkInputDate(component: any) {\r\n let minDateVal;\r\n let maxDateVal;\r\n let label;\r\n let errorMessage = new Array<string>();\r\n\r\n let MinComponent = this.configuration.component.find(x => x.name == component.name && (x.restriction.toUpperCase() == \"GTE\")) == undefined ? this.configuration.component.find(x => x.name == component.name && (x.restriction.toUpperCase() == \"GT\")) : this.configuration.component.find(x => x.name == component.name && (x.restriction.toUpperCase() == \"GTE\"));\r\n if (MinComponent != undefined) {\r\n minDateVal = this.myForm.nativeElement[MinComponent.id].min == \"\" ? null : new Date(this.myForm.nativeElement[MinComponent.id].min);\r\n label = MinComponent.label.split(\">\", 2);\r\n if (minDateVal != null) {\r\n if (MinComponent.restriction.toUpperCase() == \"GT\") {\r\n minDateVal.setDate(minDateVal.getDate() - 1);\r\n errorMessage.push(\" must be greater than \");\r\n } else if (MinComponent.restriction.toUpperCase() == \"GTE\") {\r\n errorMessage.push(\" must be greater than or equals to \");\r\n }\r\n }\r\n }\r\n\r\n let MaxComponent = this.configuration.component.find(x => x.name == component.name && (x.restriction.toUpperCase() == \"LTE\")) == undefined ? this.configuration.component.find(x => x.name == component.name && (x.restriction.toUpperCase() == \"LT\")) : this.configuration.component.find(x => x.name == component.name && (x.restriction.toUpperCase() == \"LTE\"));\r\n if (MaxComponent != undefined) {\r\n maxDateVal = this.myForm.nativeElement[MaxComponent.id].max == \"\" ? null : new Date(this.myForm.nativeElement[MaxComponent.id].max);\r\n label = MaxComponent.label.split(\"<\", 2);\r\n if (maxDateVal != null) {\r\n if (MaxComponent.restriction.toUpperCase() == \"LT\") {\r\n maxDateVal.setDate(maxDateVal.getDate() + 1);\r\n errorMessage.push(\" must be less than \");\r\n } else if (MaxComponent.restriction.toUpperCase() == \"LTE\") {\r\n errorMessage.push(\" must be less than or equals to \");\r\n }\r\n }\r\n }\r\n\r\n if (minDateVal != null && maxDateVal == null && new Date(this.myForm.nativeElement[MinComponent.id].value) < minDateVal) {\r\n this.toastr.warning(label[0] + errorMessage[0] + formatDate(minDateVal, 'dd MMMM yyyy', 'en-US') + \".\")\r\n this.dateWrong = true;\r\n } else if (maxDateVal != null && minDateVal == null && new Date(this.myForm.nativeElement[MaxComponent.id].value) > maxDateVal) {\r\n this.toastr.warning(label[0] + errorMessage[0] + formatDate(maxDateVal, 'dd MMMM yyyy', 'en-US') + \".\")\r\n this.dateWrong = true;\r\n } else if (minDateVal != null && maxDateVal != null) {\r\n if (new Date(this.myForm.nativeElement[MaxComponent.id].value) > maxDateVal || new Date(this.myForm.nativeElement[MinComponent.id].value) < minDateVal) {\r\n this.toastr.warning(label[0] + errorMessage[0] + formatDate(minDateVal, 'dd MMMM yyyy', 'en-US') + \" and\" + errorMessage[1] + formatDate(maxDateVal, 'dd MMMM yyyy', 'en-US') + \".\")\r\n this.dateWrong = true;\r\n } else {\r\n this.dateWrong = false;\r\n }\r\n } else {\r\n this.dateWrong = false;\r\n }\r\n }\r\n\r\n selectedOption(item: { Key: string, Value: string }, crit: any) {\r\n crit.descr = item.Value;\r\n crit.isListHide = true;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'textSearch'\r\n})\r\nexport class TextSearchPipe implements PipeTransform {\r\n\r\n transform(items: any[], text?: any): any {\r\n if(!text){\r\n return items;\r\n }\r\n return items.filter((item)=>{\r\n if(item.Value && typeof item.Value === 'string'){\r\n return item.Value.toLowerCase().indexOf(text.toLowerCase())> -1;\r\n } \r\n return false;\r\n })\r\n }\r\n\r\n}","import { NgModule } from '@angular/core';\r\nimport { UCSearchComponent } from './ucsearch.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CurrencyMaskInputMode, NgxCurrencyModule } from 'ngx-currency';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { UcShowErrorsModule } from '@adins/uc-show-errors';\r\nimport { UcDirectiveUpperCaseModule } from '@adins/uc-directive-upper-case';\r\nimport { TextSearchPipe } from './pipe/text-search.pipe';\r\n\r\nexport const customCurrencyMaskConfig = { \r\n align: \"right\",\r\n allowNegative: false,\r\n allowZero: true,\r\n decimal: \".\",\r\n precision: 2,\r\n prefix: \"\",\r\n suffix: \"\",\r\n thousands: \",\",\r\n nullable: false,\r\n inputMode: CurrencyMaskInputMode.NATURAL };\r\n\r\n@NgModule({\r\n declarations: [UCSearchComponent,TextSearchPipe],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n UcShowErrorsModule,\r\n UcDirectiveUpperCaseModule,\r\n NgxCurrencyModule.forRoot(customCurrencyMaskConfig),\r\n TranslateModule.forChild()\r\n ],\r\n exports: [UCSearchComponent]\r\n})\r\nexport class UCSearchModule { }\r\n"],"names":["Injectable","XLSX.utils","XLSX.write","FileSaver.saveAs","http","EventEmitter","formatDate","CryptoJS.enc","CryptoJS.lib","CryptoJS.AES","Component","DatePipe","trigger","state","style","transition","animate","HttpClient","Renderer2","Inject","DOCUMENT","ToastrService","CookieService","ElementRef","ViewChild","Input","Output","Pipe","CurrencyMaskInputMode","NgModule","CommonModule","FormsModule","UcShowErrorsModule","UcDirectiveUpperCaseModule","NgxCurrencyModule","TranslateModule"],"mappings":"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"}
|