UNPKG

kwikid-agent-dashboard

Version:

KwikID's EKYC Agent Map View Module.

82 lines 16.2 kB
import { __awaiter } from "tslib"; import { Component, EventEmitter, Input, Output } from "@angular/core"; import { isNotEmptyValue, getObjectValueFromPath, checkObjectPathExists } from "kwikid-toolkit"; import * as i0 from "@angular/core"; import * as i1 from "kwikui"; import * as i2 from "../task-item-status/task-item-status.component"; import * as i3 from "@angular/common"; export class TaskDetailComponent { constructor() { this.config = {}; this.taskDetail = {}; this.data = []; this.title = undefined; this.taskId = undefined; this.status = undefined; this.labelValuePairConfig = {}; this.labelValuePairData = []; this.onClickCloseTaskDetail = new EventEmitter(); } ngOnInit() { return __awaiter(this, void 0, void 0, function* () { this.parseData(); this.parseTaskId(); this.parseSessionStatus(); }); } ngOnChanges(changes) { } parseData() { var _a, _b, _c, _d, _e, _f, _g, _h; if (checkObjectPathExists(this.config, "taskUI.details.data") && isNotEmptyValue(this.config.taskUI.details.data) && Array.isArray(this.config.taskUI.details.data) && this.config.taskUI.details.data.length > 0) { const data = []; this.config.taskUI.details.data.map((field) => { const value = getObjectValueFromPath(this.taskDetail.data, field.path); data.push({ label: field.label, value }); }); this.labelValuePairData = data; this.labelValuePairConfig = (_d = (_c = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.taskUI) === null || _b === void 0 ? void 0 : _b.details) === null || _c === void 0 ? void 0 : _c.config) !== null && _d !== void 0 ? _d : {}; this.title = (_h = (_g = (_f = (_e = this.config) === null || _e === void 0 ? void 0 : _e.taskUI) === null || _f === void 0 ? void 0 : _f.details) === null || _g === void 0 ? void 0 : _g.header) === null || _h === void 0 ? void 0 : _h.title; } } parseSessionStatus() { var _a, _b, _c, _d, _e, _f, _g; if (((_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.utilityFlags) === null || _b === void 0 ? void 0 : _b.isShowTaskStatus) && checkObjectPathExists(this.config, "taskUI.details.header.taskStatus.path") && isNotEmptyValue(this.config.taskUI.details.header.taskStatus.path)) { this.status = getObjectValueFromPath(this.taskDetail.data, (_g = (_f = (_e = (_d = (_c = this.config) === null || _c === void 0 ? void 0 : _c.taskUI) === null || _d === void 0 ? void 0 : _d.details) === null || _e === void 0 ? void 0 : _e.header) === null || _f === void 0 ? void 0 : _f.taskStatus) === null || _g === void 0 ? void 0 : _g.path); } } parseTaskId() { var _a, _b, _c, _d, _e; if (checkObjectPathExists(this.config, "taskUI.details.header.taskId.path") && isNotEmptyValue(this.config.taskUI.details.header.taskId.path)) { this.taskId = getObjectValueFromPath(this.taskDetail.data, (_e = (_d = (_c = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.taskUI) === null || _b === void 0 ? void 0 : _b.details) === null || _c === void 0 ? void 0 : _c.header) === null || _d === void 0 ? void 0 : _d.taskId) === null || _e === void 0 ? void 0 : _e.path); } } handleOnClickClose(e) { this.onClickCloseTaskDetail.emit(e); } handleOnClickPerformAction(e) { alert(`${e.id}, Action yet to be added`); } } /** @nocollapse */ TaskDetailComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TaskDetailComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); /** @nocollapse */ TaskDetailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TaskDetailComponent, selector: "task-detail", inputs: { config: "config", taskDetail: "taskDetail" }, outputs: { onClickCloseTaskDetail: "onClickCloseTaskDetail" }, usesOnChanges: true, ngImport: i0, template: "<div id=\"task-detail-container\">\n <kwikui-button\n appearance=\"primary\"\n icon=\"tuiIconChevronLeft\"\n label=\"Back\"\n size=\"s\"\n shape=\"rounded\"\n (onClick)=\"handleOnClickClose($event)\"\n ></kwikui-button>\n\n <div id=\"task-details-title\">{{ title }}</div>\n <div id=\"task-detail-header\">\n <div>{{ taskId }}</div>\n <task-item-status\n *ngIf=\"status\"\n [config]=\"config?.taskUI?.details?.header?.taskStatus\"\n [status]=\"status\"\n ></task-item-status>\n </div>\n\n <div id=\"task-details-container\">\n <kwikui-label-value-pair\n [config]=\"labelValuePairConfig\"\n [data]=\"labelValuePairData\"\n ></kwikui-label-value-pair>\n </div>\n\n <div\n id=\"task-detail-footer\"\n *ngIf=\"\n config?.taskUI?.details?.action &&\n config?.taskUI?.details?.action?.length > 0\n \"\n >\n <ng-container *ngFor=\"let action of config?.taskUI?.details?.action\">\n <kwikui-button\n [label]=\"action.label\"\n appearance=\"primary\"\n size=\"s\"\n shape=\"rounded\"\n (onClick)=\"handleOnClickPerformAction(action)\"\n ></kwikui-button>\n </ng-container>\n </div>\n</div>\n", styles: ["#task-detail-container{padding:1rem;font-size:1rem;display:flex;flex-direction:column;grid-gap:.5rem;gap:.5rem}#task-details-title{font-weight:600;font-size:1.5rem;margin:.5rem 0}#task-detail-header{display:flex;flex-direction:row;grid-gap:.5rem;gap:.5rem}#task-detail-footer{display:flex;flex-direction:row;grid-gap:.5rem;gap:.5rem}\n"], components: [{ type: i1.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["appearance", "class", "disabled", "icon", "iconRight", "id", "label", "shape", "showLoader", "size", "styles", "type", "pseudoHover"], outputs: ["onClick"] }, { type: i2.TaskItemStatusComponent, selector: "task-item-status", inputs: ["config", "status"] }, { type: i1.KwikUILabelValuePairComponent, selector: "kwikui-label-value-pair", inputs: ["config", "data", "id"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TaskDetailComponent, decorators: [{ type: Component, args: [{ selector: "task-detail", templateUrl: "./task-detail.component.html", styleUrls: ["./task-detail.component.scss"] }] }], ctorParameters: function () { return []; }, propDecorators: { config: [{ type: Input }], taskDetail: [{ type: Input }], onClickCloseTaskDetail: [{ type: Output }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1kZXRhaWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3dpa2lkLWFnZW50LWRhc2hib2FyZC9zcmMvbGliL3YyL2NvbXBvbmVudHMvdGFzay1kZXRhaWwvdGFzay1kZXRhaWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3dpa2lkLWFnZW50LWRhc2hib2FyZC9zcmMvbGliL3YyL2NvbXBvbmVudHMvdGFzay1kZXRhaWwvdGFzay1kZXRhaWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBRVAsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNMLGVBQWUsRUFDZixzQkFBc0IsRUFDdEIscUJBQXFCLEVBQ3RCLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBT3hCLE1BQU0sT0FBTyxtQkFBbUI7SUFzQjlCO1FBcEJBLFdBQU0sR0FBUSxFQUFFLENBQUM7UUFHakIsZUFBVSxHQUFRLEVBQUUsQ0FBQztRQUVyQixTQUFJLEdBQVEsRUFBRSxDQUFDO1FBRWYsVUFBSyxHQUFXLFNBQVMsQ0FBQztRQUUxQixXQUFNLEdBQVcsU0FBUyxDQUFDO1FBRTNCLFdBQU0sR0FBVyxTQUFTLENBQUM7UUFFM0IseUJBQW9CLEdBQVEsRUFBRSxDQUFDO1FBRS9CLHVCQUFrQixHQUFRLEVBQUUsQ0FBQztRQUc3QiwyQkFBc0IsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUVyRCxDQUFDO0lBRVYsUUFBUTs7WUFDWixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzVCLENBQUM7S0FBQTtJQUVELFdBQVcsQ0FBQyxP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QztJQUMzQyxDQUFDOztvSUFwRlUsbUJBQW1CO3dIQUFuQixtQkFBbUIsK0xDcEJoQyxzc0NBNkNBOzRGRHpCYSxtQkFBbUI7a0JBTC9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFdBQVcsRUFBRSw4QkFBOEI7b0JBQzNDLFNBQVMsRUFBRSxDQUFDLDhCQUE4QixDQUFDO2lCQUM1QzswRUFHQyxNQUFNO3NCQURMLEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQWdCTixzQkFBc0I7c0JBRHJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmltcG9ydCB7XG4gIGlzTm90RW1wdHlWYWx1ZSxcbiAgZ2V0T2JqZWN0VmFsdWVGcm9tUGF0aCxcbiAgY2hlY2tPYmplY3RQYXRoRXhpc3RzXG59IGZyb20gXCJrd2lraWQtdG9vbGtpdFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwidGFzay1kZXRhaWxcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi90YXNrLWRldGFpbC5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vdGFzay1kZXRhaWwuY29tcG9uZW50LnNjc3NcIl1cbn0pXG5leHBvcnQgY2xhc3MgVGFza0RldGFpbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIGNvbmZpZzogYW55ID0ge307XG5cbiAgQElucHV0KClcbiAgdGFza0RldGFpbDogYW55ID0ge307XG5cbiAgZGF0YTogYW55ID0gW107XG5cbiAgdGl0bGU6IHN0cmluZyA9IHVuZGVmaW5lZDtcblxuICB0YXNrSWQ6IHN0cmluZyA9IHVuZGVmaW5lZDtcblxuICBzdGF0dXM6IHN0cmluZyA9IHVuZGVmaW5lZDtcblxuICBsYWJlbFZhbHVlUGFpckNvbmZpZzogYW55ID0ge307XG5cbiAgbGFiZWxWYWx1ZVBhaXJEYXRhOiBhbnkgPSBbXTtcblxuICBAT3V0cHV0KClcbiAgb25DbGlja0Nsb3NlVGFza0RldGFpbDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5wYXJzZURhdGEoKTtcbiAgICB0aGlzLnBhcnNlVGFza0lkKCk7XG4gICAgdGhpcy5wYXJzZVNlc3Npb25TdGF0dXMoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHt9XG5cbiAgcGFyc2VEYXRhKCkge1xuICAgIGlmIChcbiAgICAgIGNoZWNrT2JqZWN0UGF0aEV4aXN0cyh0aGlzLmNvbmZpZywgXCJ0YXNrVUkuZGV0YWlscy5kYXRhXCIpICYmXG4gICAgICBpc05vdEVtcHR5VmFsdWUodGhpcy5jb25maWcudGFza1VJLmRldGFpbHMuZGF0YSkgJiZcbiAgICAgIEFycmF5LmlzQXJyYXkodGhpcy5jb25maWcudGFza1VJLmRldGFpbHMuZGF0YSkgJiZcbiAgICAgIHRoaXMuY29uZmlnLnRhc2tVSS5kZXRhaWxzLmRhdGEubGVuZ3RoID4gMFxuICAgICkge1xuICAgICAgY29uc3QgZGF0YSA9IFtdO1xuICAgICAgdGhpcy5jb25maWcudGFza1VJLmRldGFpbHMuZGF0YS5tYXAoKGZpZWxkKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gZ2V0T2JqZWN0VmFsdWVGcm9tUGF0aCh0aGlzLnRhc2tEZXRhaWwuZGF0YSwgZmllbGQucGF0aCk7XG4gICAgICAgIGRhdGEucHVzaCh7IGxhYmVsOiBmaWVsZC5sYWJlbCwgdmFsdWUgfSk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMubGFiZWxWYWx1ZVBhaXJEYXRhID0gZGF0YTtcbiAgICAgIHRoaXMubGFiZWxWYWx1ZVBhaXJDb25maWcgPSB0aGlzLmNvbmZpZz8udGFza1VJPy5kZXRhaWxzPy5jb25maWcgPz8ge307XG4gICAgICB0aGlzLnRpdGxlID0gdGhpcy5jb25maWc/LnRhc2tVST8uZGV0YWlscz8uaGVhZGVyPy50aXRsZTtcbiAgICB9XG4gIH1cblxuICBwYXJzZVNlc3Npb25TdGF0dXMoKSB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5jb25maWc/LnV0aWxpdHlGbGFncz8uaXNTaG93VGFza1N0YXR1cyAmJlxuICAgICAgY2hlY2tPYmplY3RQYXRoRXhpc3RzKFxuICAgICAgICB0aGlzLmNvbmZpZyxcbiAgICAgICAgXCJ0YXNrVUkuZGV0YWlscy5oZWFkZXIudGFza1N0YXR1cy5wYXRoXCJcbiAgICAgICkgJiZcbiAgICAgIGlzTm90RW1wdHlWYWx1ZSh0aGlzLmNvbmZpZy50YXNrVUkuZGV0YWlscy5oZWFkZXIudGFza1N0YXR1cy5wYXRoKVxuICAgICkge1xuICAgICAgdGhpcy5zdGF0dXMgPSBnZXRPYmplY3RWYWx1ZUZyb21QYXRoKFxuICAgICAgICB0aGlzLnRhc2tEZXRhaWwuZGF0YSxcbiAgICAgICAgdGhpcy5jb25maWc/LnRhc2tVST8uZGV0YWlscz8uaGVhZGVyPy50YXNrU3RhdHVzPy5wYXRoXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHBhcnNlVGFza0lkKCkge1xuICAgIGlmIChcbiAgICAgIGNoZWNrT2JqZWN0UGF0aEV4aXN0cyh0aGlzLmNvbmZpZywgXCJ0YXNrVUkuZGV0YWlscy5oZWFkZXIudGFza0lkLnBhdGhcIikgJiZcbiAgICAgIGlzTm90RW1wdHlWYWx1ZSh0aGlzLmNvbmZpZy50YXNrVUkuZGV0YWlscy5oZWFkZXIudGFza0lkLnBhdGgpXG4gICAgKSB7XG4gICAgICB0aGlzLnRhc2tJZCA9IGdldE9iamVjdFZhbHVlRnJvbVBhdGgoXG4gICAgICAgIHRoaXMudGFza0RldGFpbC5kYXRhLFxuICAgICAgICB0aGlzLmNvbmZpZz8udGFza1VJPy5kZXRhaWxzPy5oZWFkZXI/LnRhc2tJZD8ucGF0aFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVPbkNsaWNrQ2xvc2UoZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNsaWNrQ2xvc2VUYXNrRGV0YWlsLmVtaXQoZSk7XG4gIH1cblxuICBoYW5kbGVPbkNsaWNrUGVyZm9ybUFjdGlvbihlOiBhbnkpIHtcbiAgICBhbGVydChgJHtlLmlkfSwgQWN0aW9uIHlldCB0byBiZSBhZGRlZGApO1xuICB9XG59XG4iLCI8ZGl2IGlkPVwidGFzay1kZXRhaWwtY29udGFpbmVyXCI+XG4gIDxrd2lrdWktYnV0dG9uXG4gICAgYXBwZWFyYW5jZT1cInByaW1hcnlcIlxuICAgIGljb249XCJ0dWlJY29uQ2hldnJvbkxlZnRcIlxuICAgIGxhYmVsPVwiQmFja1wiXG4gICAgc2l6ZT1cInNcIlxuICAgIHNoYXBlPVwicm91bmRlZFwiXG4gICAgKG9uQ2xpY2spPVwiaGFuZGxlT25DbGlja0Nsb3NlKCRldmVudClcIlxuICA+PC9rd2lrdWktYnV0dG9uPlxuXG4gIDxkaXYgaWQ9XCJ0YXNrLWRldGFpbHMtdGl0bGVcIj57eyB0aXRsZSB9fTwvZGl2PlxuICA8ZGl2IGlkPVwidGFzay1kZXRhaWwtaGVhZGVyXCI+XG4gICAgPGRpdj57eyB0YXNrSWQgfX08L2Rpdj5cbiAgICA8dGFzay1pdGVtLXN0YXR1c1xuICAgICAgKm5nSWY9XCJzdGF0dXNcIlxuICAgICAgW2NvbmZpZ109XCJjb25maWc/LnRhc2tVST8uZGV0YWlscz8uaGVhZGVyPy50YXNrU3RhdHVzXCJcbiAgICAgIFtzdGF0dXNdPVwic3RhdHVzXCJcbiAgICA+PC90YXNrLWl0ZW0tc3RhdHVzPlxuICA8L2Rpdj5cblxuICA8ZGl2IGlkPVwidGFzay1kZXRhaWxzLWNvbnRhaW5lclwiPlxuICAgIDxrd2lrdWktbGFiZWwtdmFsdWUtcGFpclxuICAgICAgW2NvbmZpZ109XCJsYWJlbFZhbHVlUGFpckNvbmZpZ1wiXG4gICAgICBbZGF0YV09XCJsYWJlbFZhbHVlUGFpckRhdGFcIlxuICAgID48L2t3aWt1aS1sYWJlbC12YWx1ZS1wYWlyPlxuICA8L2Rpdj5cblxuICA8ZGl2XG4gICAgaWQ9XCJ0YXNrLWRldGFpbC1mb290ZXJcIlxuICAgICpuZ0lmPVwiXG4gICAgICBjb25maWc/LnRhc2tVST8uZGV0YWlscz8uYWN0aW9uICYmXG4gICAgICBjb25maWc/LnRhc2tVST8uZGV0YWlscz8uYWN0aW9uPy5sZW5ndGggPiAwXG4gICAgXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBjb25maWc/LnRhc2tVST8uZGV0YWlscz8uYWN0aW9uXCI+XG4gICAgICA8a3dpa3VpLWJ1dHRvblxuICAgICAgICBbbGFiZWxdPVwiYWN0aW9uLmxhYmVsXCJcbiAgICAgICAgYXBwZWFyYW5jZT1cInByaW1hcnlcIlxuICAgICAgICBzaXplPVwic1wiXG4gICAgICAgIHNoYXBlPVwicm91bmRlZFwiXG4gICAgICAgIChvbkNsaWNrKT1cImhhbmRsZU9uQ2xpY2tQZXJmb3JtQWN0aW9uKGFjdGlvbilcIlxuICAgICAgPjwva3dpa3VpLWJ1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==