@sachin9822/reports-lib 0.0.7 → 0.0.8

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.
@@ -1,60 +1,98 @@
1
1
  import { Component } from '@angular/core';
2
+ import Decimal from 'decimal.js';
3
+ import { formatDate } from '@angular/common';
2
4
  import * as i0 from "@angular/core";
3
5
  import * as i1 from "../../services/report.service";
4
- import * as i2 from "@angular/common";
6
+ import * as i2 from "ag-grid-angular";
7
+ import * as i3 from "@angular/common";
8
+ import * as i4 from "@angular/forms";
5
9
  export class AccGlDetailsEnquiryReportComponent {
6
10
  constructor(reportService) {
7
11
  this.reportService = reportService;
12
+ this.dateTypeFilter = 1;
13
+ this.defaultColDef = {
14
+ resizable: true,
15
+ sortable: true,
16
+ filter: true,
17
+ cellStyle: { userSelect: 'text' }
18
+ };
8
19
  this.columnDefs = [
9
- {
10
- headerName: 'Sr. No',
11
- valueGetter: 'node.rowIndex + 1',
12
- width: 100
13
- },
14
- { headerName: 'Name', field: 'name', sortable: true, filter: true },
15
- { headerName: 'Email', field: 'email', sortable: true, filter: true },
16
- { headerName: 'Salary', field: 'salary', sortable: true, filter: true, width: 170 },
17
- { headerName: 'Name', field: 'name', sortable: true, filter: true },
18
- { headerName: 'Email', field: 'email', sortable: true, filter: true },
19
- { headerName: 'Salary', field: 'salary', sortable: true, filter: true, width: 170 }
20
- ];
21
- this.rowData = [
22
- { name: 'John Doe', email: 'john@example.com', salary: 50000 },
23
- { name: 'Jane Smith', email: 'jane@example.com', salary: 60000 },
24
- { name: 'Bill Murray', email: 'bill@example.com', salary: 70000 },
25
- { name: 'John Doe', email: 'john@example.com', salary: 50000 },
26
- { name: 'Jane Smith', email: 'jane@example.com', salary: 60000 },
27
- { name: 'Bill Murray', email: 'bill@example.com', salary: 70000 },
28
- { name: 'John Doe', email: 'john@example.com', salary: 50000 },
29
- { name: 'Jane Smith', email: 'jane@example.com', salary: 60000 },
30
- { name: 'Bill Murray', email: 'bill@example.com', salary: 70000 },
31
- { name: 'John Doe', email: 'john@example.com', salary: 50000 },
32
- { name: 'Jane Smith', email: 'jane@example.com', salary: 60000 },
33
- { name: 'John Doe', email: 'john@example.com', salary: 50000 },
34
- { name: 'Jane Smith', email: 'jane@example.com', salary: 60000 },
35
- { name: 'Bill Murray', email: 'bill@example.com', salary: 70000 },
36
- { name: 'John Doe', email: 'john@example.com', salary: 50000 },
37
- { name: 'Jane Smith', email: 'jane@example.com', salary: 60000 },
20
+ { headerName: 'Sr. No', valueGetter: 'node.rowIndex + 1', },
21
+ { headerName: 'Journal ID', field: 'journalID' },
22
+ { headerName: 'Trans No', field: 'transactionNo' },
23
+ { headerName: 'Trans Code', field: 'transactionCode', },
24
+ { headerName: 'Journal Type', field: 'journalType' },
25
+ { headerName: 'Posting Date', field: 'postingDate', valueFormatter: this.formatDate },
26
+ { headerName: 'Value Date', field: 'valueDate', valueFormatter: this.formatDate },
27
+ { headerName: 'Description', field: 'description', width: 385 },
28
+ { headerName: 'Account Code', field: 'accountCode', },
29
+ { headerName: 'Currency', field: 'currency', },
30
+ { headerName: 'Rate', field: 'rate', },
31
+ { headerName: 'FxDebit', field: 'forexDebit', },
32
+ { headerName: 'Local Debit', field: 'localDebit', },
33
+ { headerName: 'FxCredit', field: 'forexCredit', },
34
+ { headerName: 'Local Credit', field: 'localCredit', },
38
35
  ];
36
+ this.rowData = [];
37
+ this.gridOptions = {
38
+ enableRangeSelection: true,
39
+ getContextMenuItems: () => [
40
+ 'copy',
41
+ 'copyWithHeaders'
42
+ ]
43
+ };
39
44
  this.accGlDetailsEnquiryReportModel = undefined;
40
45
  }
41
46
  ngOnInit() {
47
+ const today = new Date();
48
+ this.date = today.toISOString().substring(0, 10); // yyyy-MM-dd format
42
49
  }
43
- getAccGLDetailsReport(date, dateType, sysCompanyCode, sysUserId, companyName) {
50
+ getAccGLDetailsReport() {
51
+ // '2025-02-06','VD','BH','sachin.kamble@xpressmoney.tech','xpress money'
44
52
  debugger;
45
- this.reportService.getAccGLDetailsReport(new Date(date), dateType, sysCompanyCode, sysUserId, companyName)
53
+ this.sysCompanyCode = 'BH';
54
+ this.sysUserId = 'sachin.kamble@xpressmoney.tech';
55
+ this.companyName = "Xpress Money";
56
+ if (this.dateTypeFilter == 1) {
57
+ this.dateType = 'VD';
58
+ }
59
+ else {
60
+ this.dateType = 'PD';
61
+ }
62
+ this.reportService.getAccGLDetailsReport(new Date(this.date), this.dateType, this.sysCompanyCode, this.sysUserId, this.companyName)
46
63
  .subscribe(data => {
47
- // console.log(data)
48
- console.log(" in getAccGLDetailsReport()...");
49
64
  this.accGlDetailsEnquiryReportModel = data;
50
- console.log(this.accGlDetailsEnquiryReportModel);
65
+ if (this.accGlDetailsEnquiryReportModel != undefined || this.accGlDetailsEnquiryReportModel != null) {
66
+ if (this.accGlDetailsEnquiryReportModel) {
67
+ this.rowData = this.accGlDetailsEnquiryReportModel.journalVoucherEntries.map(entry => {
68
+ return {
69
+ ...entry,
70
+ rate: new Decimal(entry.rate).toFixed(15),
71
+ forexDebit: new Decimal(entry.forexDebit).toFixed(15),
72
+ localDebit: new Decimal(entry.localDebit).toFixed(15),
73
+ forexCredit: new Decimal(entry.forexCredit).toFixed(15),
74
+ localCredit: new Decimal(entry.localCredit).toFixed(15)
75
+ };
76
+ });
77
+ this.companyName = this.accGlDetailsEnquiryReportModel.companyName;
78
+ const userName = this.accGlDetailsEnquiryReportModel.reportUser;
79
+ this.reportUser = userName.toLowerCase();
80
+ const rawDate = this.accGlDetailsEnquiryReportModel.reportTime;
81
+ this.reportTime = formatDate(rawDate, 'dd/MM/yyyy HH:mm', 'en-US');
82
+ this.formattedDate = formatDate(new Date(this.date), 'dd/MM/yyyy', 'en-US');
83
+ }
84
+ console.log(this.accGlDetailsEnquiryReportModel);
85
+ }
51
86
  }, error => { console.log(error); });
52
87
  }
88
+ formatDate(params) {
89
+ return formatDate(new Date(params.value), 'dd/MM/yyyy', 'en-US');
90
+ }
53
91
  }
54
92
  AccGlDetailsEnquiryReportComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AccGlDetailsEnquiryReportComponent, deps: [{ token: i1.ReportService }], target: i0.ɵɵFactoryTarget.Component });
55
- AccGlDetailsEnquiryReportComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: AccGlDetailsEnquiryReportComponent, selector: "lib-acc-gl-details-enquiry-report", ngImport: i0, template: "\n<!-- <div>\n\n<div></div>\n\n<ag-grid-angular\nclass=\"ag-theme-alpine\"\nstyle=\"height: 400px; width: 100%;\"\n[rowData]=\"rowData\"\n[columnDefs]=\"columnDefs\"\n>\n</ag-grid-angular>\n\n\n</div> -->\n\n<p>acc-gl-details-enquiry-report works!</p>\n<button (click)=\"getAccGLDetailsReport('2025-02-06','VD','BH','sachin.kamble@xpressmoney.tech','xpress money')\" \n>get acc-gl-details-enquiry-report </button>\n\n\n<div *ngIf=\"accGlDetailsEnquiryReportModel!=undefined\" >\n\n<table style=\"border: 2px solid black;\" >\n <thead style=\"color:black ; background-color: #f5f5f5; \" >\n<th >Sr No</th>\n<th >JournalID</th>\n<th >TransactionNo</th>\n<th>JournalType</th>\n<th>PostingDate</th>\n<th>ValueDate</th>\n<th>Description</th>\n<th>AccountCode</th>\n<th>Currency</th>\n<th>Rate</th>\n<th>ForexDebit</th>\n<th>LocalDebit</th>\n<th>ForexCredit</th>\n<th>LocalCredit</th>\n<th>Id</th>\n<th>RateDecimal</th>\n<th></th>\n </thead>\n <tbody>\n <tr *ngFor=\"let jve of accGlDetailsEnquiryReportModel.journalVoucherEntries index as i\" >\n\n <td>{{i+1}}</td>\n <td>{{jve.journalID}}</td>\n <td>{{jve.transactionNo}}</td>\n <td>{{jve.journalType}}</td>\n <td>{{jve.postingDate}}</td>\n <td>{{jve.valueDate}}</td>\n <td>{{jve.description}}</td>\n <td>{{jve.accountCode}}</td>\n <td>{{jve.currency}}</td>\n <td>{{jve.rate}}</td>\n <td>{{jve.forexDebit}}</td>\n <td>{{jve.localDebit}}</td>\n <td>{{jve.forexCredit}}</td>\n <td>{{jve.localCredit}}</td>\n <td>{{jve.id}}</td>\n <td>{{jve.rateDecimal}}</td>\n <td>{{jve.journalID}}</td>\n </tr>\n\n </tbody>\n</table>\n</div>\n\n<div style=\"margin-left: 3px;\" *ngIf=\"accGlDetailsEnquiryReportModel==undefined\" >\n No data found for this search.\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
93
+ AccGlDetailsEnquiryReportComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: AccGlDetailsEnquiryReportComponent, selector: "lib-acc-gl-details-enquiry-report", ngImport: i0, template: "<div style=\"display: flex; flex-direction: column; width: 100%; padding: 10px; box-sizing: border-box;\">\n\n\n <div style=\"display: flex; flex-wrap: wrap; gap: 10px; align-items: center;\">\n\n <form class=\"d-flex flex-wrap gap-3 align-items-center w-100\">\n\n\n <!-- <div class=\"d-flex align-items-center gap-2\">\n <label for=\"dateTypeFilter\" style=\"font-weight: 500;\" class=\"mb-0 \">Date Type</label>\n <select class=\"form-control\" name=\"dateTypeFilter\" [(ngModel)]=\"dateTypeFilter\" id=\"dateTypeFilter\"\n style=\"width: 140px;\">\n <option [ngValue]=\"1\">Value Date</option>\n <option [ngValue]=\"2\">Posting Date</option>\n </select>\n </div>\n\n\n <div class=\"d-flex align-items-center gap-2\">\n <label for=\"date\" style=\"font-weight: 500;\" class=\"mb-0\">Date</label>\n <input type=\"date\" class=\"form-control\" name=\"date\" [(ngModel)]=\"date\" id=\"date\" style=\"width: 150px;\">\n </div> -->\n\n<!-- ----------------------------------------------------- -->\n<div class=\"d-flex align-items-center gap-2\">\n <label for=\"dateTypeFilter\" style=\"font-weight: 500;\" class=\"mb-0\">Date Type</label>\n <div class=\"required-box\">\n <select class=\"form-control\" name=\"dateTypeFilter\" [(ngModel)]=\"dateTypeFilter\" id=\"dateTypeFilter\">\n <option [ngValue]=\"1\">Value Date</option>\n <option [ngValue]=\"2\">Posting Date</option>\n </select>\n </div>\n</div>\n\n<div class=\"d-flex align-items-center gap-2\">\n <label for=\"date\" style=\"font-weight: 500;\" class=\"mb-0\">Date</label>\n <div class=\"required-box\">\n <input type=\"date\" class=\"form-control\" name=\"date\" [(ngModel)]=\"date\" id=\"date\">\n </div>\n</div>\n\n<!-- -------------- -->\n\n <div>\n <button type=\"button\" style=\"border: 2px solid rgb(13, 110, 253);\" class=\"btn btn-primary\" (click)=\"getAccGLDetailsReport()\">\n View Report\n </button>\n </div>\n\n </form>\n\n\n\n\n\n </div>\n\n\n <hr style=\"margin: 15px 0;\" />\n\n<!-- -------------------------------------------------------------------------------- -->\n <div style=\"border: 1px solid #ccc; padding: 10px; overflow: auto;\">\n\n<!-- *ngIf=\"accGlDetailsEnquiryReportModel != undefined\" -->\n <div style=\"flex:1; overflow-y: auto;\" *ngIf=\"accGlDetailsEnquiryReportModel != undefined\" >\n\n <label style=\"font-size: 21.333px; font-weight: bold; color: black; \">{{companyName}} - General Ledger Account Details Enquiry</label>\n\n <!-- <div class=\"d-flex align-items-center gap-2\">\n <label style=\"font-weight: bold; font-size: 21.333px; color:#004494 ;\" class=\"mb-0\">{{companyName}}</label>\n <label class=\"mb-0\" style=\"font-weight: bold; font-size: 21.333px; color:black ;\"> - General Ledger Account Details Enquiry</label>\n </div> -->\n\n <div class=\"d-flex align-items-center gap-2 mt-4\">\n <label for=\"date\" style=\"font-weight: 500; font-size: 13px;\" class=\"mb-0\">Report User :</label>\n <label class=\"mb-0\" style=\"font-size: 13px;\">{{reportUser}}</label>\n </div>\n\n <div class=\"d-flex align-items-center gap-2 mt-2\">\n <label for=\"date\" style=\"font-weight: 500; font-size: 13px;\" class=\"mb-0\">Report Time :</label>\n <label class=\"mb-0\" style=\"font-size: 13px;\">{{reportTime}}</label>\n </div>\n\n <label style=\"font-weight: bold; font-size: 16px; text-decoration: underline;\" class=\"mt-2\" >Search Criteria</label>\n\n <div class=\"d-flex align-items-center gap-2 mt-2 mb-2\">\n <label for=\"date\" style=\"font-weight: 500; font-size: 13px;\" class=\"mb-0\">Date :</label>\n <label class=\"mb-0\" style=\"font-size: 13px;\">{{formattedDate}}</label>\n </div>\n\n\n\n\n <ag-grid-angular style=\"width: 100%; height: 500px;\" class=\"ag-theme-alpine ag-small-grid\" [rowData]=\"rowData\"\n [columnDefs]=\"columnDefs\" [defaultColDef]=\"defaultColDef\" [enableRangeSelection]=\"true\"\n [enableBrowserTooltips]=\"true\" [gridOptions]=\"gridOptions\" [animateRows]=\"true\" \n [rowHeight]=\"27\" [headerHeight]=\"35\">\n\n </ag-grid-angular>\n\n\n <div class=\"d-flex align-items-center gap-2 mt-2\">\n <label for=\"date\" style=\"font-weight: 500; font-size: 13px;\" class=\"mb-0\">Report User And Time :</label>\n <label class=\"mb-0\" style=\"font-size: 13px;\">{{reportUser}} @ {{reportTime}}</label>\n </div>\n\n\n </div>\n\n\n\n\n\n\n </div>\n</div>", styles: [".ag-theme-alpine{-webkit-user-select:text!important;user-select:text!important}.ag-small-grid .ag-cell,.ag-small-grid .ag-header-cell{font-size:11px;padding:2px 4px}::ng-deep .ag-theme-alpine .ag-cell{border-right:1px solid #ccc}::ng-deep .ag-theme-alpine .ag-row .ag-cell:last-child{border-right:none}::ng-deep .ag-theme-alpine .ag-header-cell{border-right:1px solid #ccc}::ng-deep .ag-theme-alpine .ag-header-row .ag-header-cell:last-child{border-right:none}::ng-deep .ag-theme-alpine .ag-pinned-left-cols-container .ag-cell{border-right:1px solid #ccc!important}::ng-deep .ag-theme-alpine .ag-pinned-left-header .ag-header-cell{border-right:1px solid #ccc!important}.required-box{position:relative;display:inline-block}.required-box .form-control{border:2px solid #C3007D;padding-right:15px;height:38px}.required-box:after{content:\"*\";color:#c3007d;position:absolute;top:1px;right:5px;font-size:16px;pointer-events:none;font-size:22px;font-weight:700}\n"], dependencies: [{ kind: "component", type: i2.AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "suppressMenuHide", "enableBrowserTooltips", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "maintainColumnOrder", "suppressFieldDotNotation", "deltaColumnMode", "applyColumnDefOrder", "immutableColumns", "suppressSetColumnStateEvents", "suppressColumnStateEvents", "colWidth", "minColWidth", "maxColWidth", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressDragLeaveHidesColumns", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "components", "frameworkComponents", "editType", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterMovesDown", "enterMovesDownAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "stopEditingWhenGridLosesFocus", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "defaultExportParams", "quickFilterText", "cacheQuickFilter", "excludeChildrenWhenTreeDataFiltering", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "enableChartToolPanelsButton", "chartToolPanelsDef", "loadingCellRenderer", "loadingCellRendererFramework", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererFramework", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressParentsInRowNodes", "suppressTouch", "suppressFocusAfterRefresh", "suppressAsyncEvents", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentFramework", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentFramework", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "suppressAggAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "enableCellChangeFlash", "cellFlashDelay", "cellFadeDelay", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "fullWidthCellRenderer", "fullWidthCellRendererFramework", "fullWidthCellRendererParams", "embedFullWidthRows", "deprecatedEmbedFullWidthRows", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupAggFiltering", "groupIncludeFooter", "groupIncludeTotalFooter", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererFramework", "groupRowRendererParams", "suppressMakeColumnVisibleAfterUnGroup", "treeData", "rowGroupPanelSuppressSort", "groupRowsSticky", "groupRowInnerRenderer", "groupRowInnerRendererFramework", "groupMultiAutoColumn", "groupUseEntireRow", "groupSuppressAutoColumn", "rememberGroupStateWhenNewData", "pinnedTopRowData", "pinnedBottomRowData", "rowModelType", "rowData", "immutableData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "deltaRowDataMode", "batchUpdateWaitMillis", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "serverSideStoreType", "serverSideInfiniteScroll", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideFilterAllLevels", "serverSideSortOnServer", "serverSideFilterOnServer", "serverSideSortingAlwaysResets", "serverSideFilteringAlwaysResets", "suppressEnterpriseResetOnNewColumns", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellSelection", "suppressCellFocus", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "deltaSort", "treeDataDisplayType", "angularCompileRows", "angularCompileFilters", "functionsPassive", "enableGroupEdit", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "suppressKeyboardEvent", "localeTextFunc", "getLocaleText", "getDocument", "paginationNumberFormatter", "groupRowAggNodes", "getGroupRowAgg", "isGroupOpenByDefault", "initialGroupOrderComparator", "defaultGroupOrderComparator", "processSecondaryColDef", "processSecondaryColGroupDef", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "defaultGroupSortComparator", "getChildCount", "getServerSideGroupLevelParams", "getServerSideStoreParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowNodeId", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSort", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthCell", "isFullWidthRow"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "filterOpened", "filterChanged", "filterModified", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "cellKeyPress", "gridReady", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pinnedRowDataChanged", "rowDataChanged", "rowDataUpdated", "asyncTransactionsFlushed", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "sortChanged", "columnRowGroupChangeRequest", "columnPivotChangeRequest", "columnValueChangeRequest", "columnAggFuncChangeRequest"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] });
56
94
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AccGlDetailsEnquiryReportComponent, decorators: [{
57
95
  type: Component,
58
- args: [{ selector: 'lib-acc-gl-details-enquiry-report', template: "\n<!-- <div>\n\n<div></div>\n\n<ag-grid-angular\nclass=\"ag-theme-alpine\"\nstyle=\"height: 400px; width: 100%;\"\n[rowData]=\"rowData\"\n[columnDefs]=\"columnDefs\"\n>\n</ag-grid-angular>\n\n\n</div> -->\n\n<p>acc-gl-details-enquiry-report works!</p>\n<button (click)=\"getAccGLDetailsReport('2025-02-06','VD','BH','sachin.kamble@xpressmoney.tech','xpress money')\" \n>get acc-gl-details-enquiry-report </button>\n\n\n<div *ngIf=\"accGlDetailsEnquiryReportModel!=undefined\" >\n\n<table style=\"border: 2px solid black;\" >\n <thead style=\"color:black ; background-color: #f5f5f5; \" >\n<th >Sr No</th>\n<th >JournalID</th>\n<th >TransactionNo</th>\n<th>JournalType</th>\n<th>PostingDate</th>\n<th>ValueDate</th>\n<th>Description</th>\n<th>AccountCode</th>\n<th>Currency</th>\n<th>Rate</th>\n<th>ForexDebit</th>\n<th>LocalDebit</th>\n<th>ForexCredit</th>\n<th>LocalCredit</th>\n<th>Id</th>\n<th>RateDecimal</th>\n<th></th>\n </thead>\n <tbody>\n <tr *ngFor=\"let jve of accGlDetailsEnquiryReportModel.journalVoucherEntries index as i\" >\n\n <td>{{i+1}}</td>\n <td>{{jve.journalID}}</td>\n <td>{{jve.transactionNo}}</td>\n <td>{{jve.journalType}}</td>\n <td>{{jve.postingDate}}</td>\n <td>{{jve.valueDate}}</td>\n <td>{{jve.description}}</td>\n <td>{{jve.accountCode}}</td>\n <td>{{jve.currency}}</td>\n <td>{{jve.rate}}</td>\n <td>{{jve.forexDebit}}</td>\n <td>{{jve.localDebit}}</td>\n <td>{{jve.forexCredit}}</td>\n <td>{{jve.localCredit}}</td>\n <td>{{jve.id}}</td>\n <td>{{jve.rateDecimal}}</td>\n <td>{{jve.journalID}}</td>\n </tr>\n\n </tbody>\n</table>\n</div>\n\n<div style=\"margin-left: 3px;\" *ngIf=\"accGlDetailsEnquiryReportModel==undefined\" >\n No data found for this search.\n</div>" }]
96
+ args: [{ selector: 'lib-acc-gl-details-enquiry-report', template: "<div style=\"display: flex; flex-direction: column; width: 100%; padding: 10px; box-sizing: border-box;\">\n\n\n <div style=\"display: flex; flex-wrap: wrap; gap: 10px; align-items: center;\">\n\n <form class=\"d-flex flex-wrap gap-3 align-items-center w-100\">\n\n\n <!-- <div class=\"d-flex align-items-center gap-2\">\n <label for=\"dateTypeFilter\" style=\"font-weight: 500;\" class=\"mb-0 \">Date Type</label>\n <select class=\"form-control\" name=\"dateTypeFilter\" [(ngModel)]=\"dateTypeFilter\" id=\"dateTypeFilter\"\n style=\"width: 140px;\">\n <option [ngValue]=\"1\">Value Date</option>\n <option [ngValue]=\"2\">Posting Date</option>\n </select>\n </div>\n\n\n <div class=\"d-flex align-items-center gap-2\">\n <label for=\"date\" style=\"font-weight: 500;\" class=\"mb-0\">Date</label>\n <input type=\"date\" class=\"form-control\" name=\"date\" [(ngModel)]=\"date\" id=\"date\" style=\"width: 150px;\">\n </div> -->\n\n<!-- ----------------------------------------------------- -->\n<div class=\"d-flex align-items-center gap-2\">\n <label for=\"dateTypeFilter\" style=\"font-weight: 500;\" class=\"mb-0\">Date Type</label>\n <div class=\"required-box\">\n <select class=\"form-control\" name=\"dateTypeFilter\" [(ngModel)]=\"dateTypeFilter\" id=\"dateTypeFilter\">\n <option [ngValue]=\"1\">Value Date</option>\n <option [ngValue]=\"2\">Posting Date</option>\n </select>\n </div>\n</div>\n\n<div class=\"d-flex align-items-center gap-2\">\n <label for=\"date\" style=\"font-weight: 500;\" class=\"mb-0\">Date</label>\n <div class=\"required-box\">\n <input type=\"date\" class=\"form-control\" name=\"date\" [(ngModel)]=\"date\" id=\"date\">\n </div>\n</div>\n\n<!-- -------------- -->\n\n <div>\n <button type=\"button\" style=\"border: 2px solid rgb(13, 110, 253);\" class=\"btn btn-primary\" (click)=\"getAccGLDetailsReport()\">\n View Report\n </button>\n </div>\n\n </form>\n\n\n\n\n\n </div>\n\n\n <hr style=\"margin: 15px 0;\" />\n\n<!-- -------------------------------------------------------------------------------- -->\n <div style=\"border: 1px solid #ccc; padding: 10px; overflow: auto;\">\n\n<!-- *ngIf=\"accGlDetailsEnquiryReportModel != undefined\" -->\n <div style=\"flex:1; overflow-y: auto;\" *ngIf=\"accGlDetailsEnquiryReportModel != undefined\" >\n\n <label style=\"font-size: 21.333px; font-weight: bold; color: black; \">{{companyName}} - General Ledger Account Details Enquiry</label>\n\n <!-- <div class=\"d-flex align-items-center gap-2\">\n <label style=\"font-weight: bold; font-size: 21.333px; color:#004494 ;\" class=\"mb-0\">{{companyName}}</label>\n <label class=\"mb-0\" style=\"font-weight: bold; font-size: 21.333px; color:black ;\"> - General Ledger Account Details Enquiry</label>\n </div> -->\n\n <div class=\"d-flex align-items-center gap-2 mt-4\">\n <label for=\"date\" style=\"font-weight: 500; font-size: 13px;\" class=\"mb-0\">Report User :</label>\n <label class=\"mb-0\" style=\"font-size: 13px;\">{{reportUser}}</label>\n </div>\n\n <div class=\"d-flex align-items-center gap-2 mt-2\">\n <label for=\"date\" style=\"font-weight: 500; font-size: 13px;\" class=\"mb-0\">Report Time :</label>\n <label class=\"mb-0\" style=\"font-size: 13px;\">{{reportTime}}</label>\n </div>\n\n <label style=\"font-weight: bold; font-size: 16px; text-decoration: underline;\" class=\"mt-2\" >Search Criteria</label>\n\n <div class=\"d-flex align-items-center gap-2 mt-2 mb-2\">\n <label for=\"date\" style=\"font-weight: 500; font-size: 13px;\" class=\"mb-0\">Date :</label>\n <label class=\"mb-0\" style=\"font-size: 13px;\">{{formattedDate}}</label>\n </div>\n\n\n\n\n <ag-grid-angular style=\"width: 100%; height: 500px;\" class=\"ag-theme-alpine ag-small-grid\" [rowData]=\"rowData\"\n [columnDefs]=\"columnDefs\" [defaultColDef]=\"defaultColDef\" [enableRangeSelection]=\"true\"\n [enableBrowserTooltips]=\"true\" [gridOptions]=\"gridOptions\" [animateRows]=\"true\" \n [rowHeight]=\"27\" [headerHeight]=\"35\">\n\n </ag-grid-angular>\n\n\n <div class=\"d-flex align-items-center gap-2 mt-2\">\n <label for=\"date\" style=\"font-weight: 500; font-size: 13px;\" class=\"mb-0\">Report User And Time :</label>\n <label class=\"mb-0\" style=\"font-size: 13px;\">{{reportUser}} @ {{reportTime}}</label>\n </div>\n\n\n </div>\n\n\n\n\n\n\n </div>\n</div>", styles: [".ag-theme-alpine{-webkit-user-select:text!important;user-select:text!important}.ag-small-grid .ag-cell,.ag-small-grid .ag-header-cell{font-size:11px;padding:2px 4px}::ng-deep .ag-theme-alpine .ag-cell{border-right:1px solid #ccc}::ng-deep .ag-theme-alpine .ag-row .ag-cell:last-child{border-right:none}::ng-deep .ag-theme-alpine .ag-header-cell{border-right:1px solid #ccc}::ng-deep .ag-theme-alpine .ag-header-row .ag-header-cell:last-child{border-right:none}::ng-deep .ag-theme-alpine .ag-pinned-left-cols-container .ag-cell{border-right:1px solid #ccc!important}::ng-deep .ag-theme-alpine .ag-pinned-left-header .ag-header-cell{border-right:1px solid #ccc!important}.required-box{position:relative;display:inline-block}.required-box .form-control{border:2px solid #C3007D;padding-right:15px;height:38px}.required-box:after{content:\"*\";color:#c3007d;position:absolute;top:1px;right:5px;font-size:16px;pointer-events:none;font-size:22px;font-weight:700}\n"] }]
59
97
  }], ctorParameters: function () { return [{ type: i1.ReportService }]; } });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjLWdsLWRldGFpbHMtZW5xdWlyeS1yZXBvcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcmVwb3J0cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2FjYy1nbC1kZXRhaWxzLWVucXVpcnktcmVwb3J0L2FjYy1nbC1kZXRhaWxzLWVucXVpcnktcmVwb3J0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3JlcG9ydHMtbGliL3NyYy9saWIvY29tcG9uZW50cy9hY2MtZ2wtZGV0YWlscy1lbnF1aXJ5LXJlcG9ydC9hY2MtZ2wtZGV0YWlscy1lbnF1aXJ5LXJlcG9ydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7O0FBU2xELE1BQU0sT0FBTyxrQ0FBa0M7SUF3QzdDLFlBQW9CLGFBQTJCO1FBQTNCLGtCQUFhLEdBQWIsYUFBYSxDQUFjO1FBckM3QyxlQUFVLEdBQUc7WUFDWDtnQkFDRixVQUFVLEVBQUUsUUFBUTtnQkFDcEIsV0FBVyxFQUFFLG1CQUFtQjtnQkFDaEMsS0FBSyxFQUFFLEdBQUc7YUFDWDtZQUNDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtZQUNuRSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7WUFDckUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFDLEtBQUssRUFBRSxHQUFHLEVBQUU7WUFDakYsRUFBRSxVQUFVLEVB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Q0FBQyxnQ0FBZ0MsQ0FBQyxDQUFBO1lBQy9DLElBQUksQ0FBQyw4QkFBOEIsR0FBQyxJQUFJLENBQUM7WUFDekMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsOEJBQThCLENBQUMsQ0FBQTtRQUNoRCxDQUFDLEVBQUMsS0FBSyxDQUFBLEVBQUUsR0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFDLENBQUM7SUFDbkMsQ0FBQzs7K0hBM0RVLGtDQUFrQzttSEFBbEMsa0NBQWtDLHlFQ1QvQyxvZ0VBdUVNOzJGRDlETyxrQ0FBa0M7a0JBTDlDLFNBQVM7K0JBQ0UsbUNBQW1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlcG9ydFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9yZXBvcnQuc2VydmljZSc7XG5pbXBvcnQgeyBBY2NHbERldGFpbHNFbnF1aXJ5UmVwb3J0TW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvYWNjZ2wtZGV0YWlscy1lbnF1aXJ5LXJlcG9ydG1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWFjYy1nbC1kZXRhaWxzLWVucXVpcnktcmVwb3J0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjYy1nbC1kZXRhaWxzLWVucXVpcnktcmVwb3J0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWNjLWdsLWRldGFpbHMtZW5xdWlyeS1yZXBvcnQuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFjY0dsRGV0YWlsc0VucXVpcnlSZXBvcnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIFxuICAgIGNvbHVtbkRlZnMgPSBbXG4gICAgICB7XG4gICAgaGVhZGVyTmFtZTogJ1NyLiBObycsXG4gICAgdmFsdWVHZXR0ZXI6ICdub2RlLnJvd0luZGV4ICsgMScsXG4gICAgd2lkdGg6IDEwMFxuICB9LFxuICAgIHsgaGVhZGVyTmFtZTogJ05hbWUnLCBmaWVsZDogJ25hbWUnLCBzb3J0YWJsZTogdHJ1ZSwgZmlsdGVyOiB0cnVlIH0sXG4gICAgeyBoZWFkZXJOYW1lOiAnRW1haWwnLCBmaWVsZDogJ2VtYWlsJywgc29ydGFibGU6IHRydWUsIGZpbHRlcjogdHJ1ZSB9LFxuICAgIHsgaGVhZGVyTmFtZTogJ1NhbGFyeScsIGZpZWxkOiAnc2FsYXJ5Jywgc29ydGFibGU6IHRydWUsIGZpbHRlcjogdHJ1ZSx3aWR0aDogMTcwIH0sXG4gICAgIHsgaGVhZGVyTmFtZTogJ05hbWUnLCBmaWVsZDogJ25hbWUnLCBzb3J0YWJsZTogdHJ1ZSwgZmlsdGVyOiB0cnVlIH0sXG4gICAgeyBoZWFkZXJOYW1lOiAnRW1haWwnLCBmaWVsZDogJ2VtYWlsJywgc29ydGFibGU6IHRydWUsIGZpbHRlcjogdHJ1ZSB9LFxuICAgIHsgaGVhZGVyTmFtZTogJ1NhbGFyeScsIGZpZWxkOiAnc2FsYXJ5Jywgc29ydGFibGU6IHRydWUsIGZpbHRlcjogdHJ1ZSAsd2lkdGg6IDE3MH1cbiAgXTtcblxuICByb3dEYXRhID0gW1xuICAgIHsgbmFtZTogJ0pvaG4gRG9lJywgZW1haWw6ICdqb2huQGV4YW1wbGUuY29tJywgc2FsYXJ5OiA1MDAwMCB9LFxuICAgIHsgbmFtZTogJ0phbmUgU21pdGgnLCBlbWFpbDogJ2phbmVAZXhhbXBsZS5jb20nLCBzYWxhcnk6IDYwMDAwIH0sXG4gICAgeyBuYW1lOiAnQmlsbCBNdXJyYXknLCBlbWFpbDogJ2JpbGxAZXhhbXBsZS5jb20nLCBzYWxhcnk6IDcwMDAwIH0sXG4gICAgICAgeyBuYW1lOiAnSm9obiBEb2UnLCBlbWFpbDogJ2pvaG5AZXhhbXBsZS5jb20nLCBzYWxhcnk6IDUwMDAwIH0sXG4gICAgeyBuYW1lOiAnSmFuZSBTbWl0aCcsIGVtYWlsOiAnamFuZUBleGFtcGxlLmNvbScsIHNhbGFyeTogNjAwMDAgfSxcbiAgICB7IG5hbWU6ICdCaWxsIE11cnJheScsIGVtYWlsOiAnYmlsbEBleGFtcGxlLmNvbScsIHNhbGFyeTogNzAwMDAgfSxcbiAgICAgeyBuYW1lOiAnSm9obiBEb2UnLCBlbWFpbDogJ2pvaG5AZXhhbXBsZS5jb20nLCBzYWxhcnk6IDUwMDAwIH0sXG4gICAgeyBuYW1lOiAnSmFuZSBTbWl0aCcsIGVtYWlsOiAnamFuZUBleGFtcGxlLmNvbScsIHNhbGFyeTogNjAwMDAgfSxcbiAgICB7IG5hbWU6ICdCaWxsIE11cnJheScsIGVtYWlsOiAnYmlsbEBleGFtcGxlLmNvbScsIHNhbGFyeTogNzAwMDAgfSxcbiAgICAgICB7IG5hbWU6ICdKb2huIERvZScsIGVtYWlsOiAnam9obkBleGFtcGxlLmNvbScsIHNhbGFyeTogNTAwMDAgfSxcbiAgICB7IG5hbWU6ICdKYW5lIFNtaXRoJywgZW1haWw6ICdqYW5lQGV4YW1wbGUuY29tJywgc2FsYXJ5OiA2MDAwMCB9LFxuICAgICB7IG5hbWU6ICdKb2huIERvZScsIGVtYWlsOiAnam9obkBleGFtcGxlLmNvbScsIHNhbGFyeTogNTAwMDAgfSxcbiAgICB7IG5hbWU6ICdKYW5lIFNtaXRoJywgZW1haWw6ICdqYW5lQGV4YW1wbGUuY29tJywgc2FsYXJ5OiA2MDAwMCB9LFxuICAgIHsgbmFtZTogJ0JpbGwgTXVycmF5JywgZW1haWw6ICdiaWxsQGV4YW1wbGUuY29tJywgc2FsYXJ5OiA3MDAwMCB9LFxuICAgICAgIHsgbmFtZTogJ0pvaG4gRG9lJywgZW1haWw6ICdqb2huQGV4YW1wbGUuY29tJywgc2FsYXJ5OiA1MDAwMCB9LFxuICAgIHsgbmFtZTogJ0phbmUgU21pdGgnLCBlbWFpbDogJ2phbmVAZXhhbXBsZS5jb20nLCBzYWxhcnk6IDYwMDAwIH0sXG4gIF07XG4gIFxuICBcbiAgXG4gIGFjY0dsRGV0YWlsc0VucXVpcnlSZXBvcnRNb2RlbDpBY2NHbERldGFpbHNFbnF1aXJ5UmVwb3J0TW9kZWw7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZXBvcnRTZXJ2aWNlOlJlcG9ydFNlcnZpY2UgKSBcbiAgeyBcbiAgICB0aGlzLmFjY0dsRGV0YWlsc0VucXVpcnlSZXBvcnRNb2RlbD11bmRlZmluZWQ7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIFxuICB7XG4gIH1cblxuIHB1YmxpYyBnZXRBY2NHTERldGFpbHNSZXBvcnQoZGF0ZTogc3RyaW5nLGRhdGVUeXBlOiBzdHJpbmcsc3lzQ29tcGFueUNvZGU6IHN0cmluZyxzeXNVc2VySWQ6IHN0cmluZyxjb21wYW55TmFtZTogc3RyaW5nICkgXG4gIHtcbiAgICBkZWJ1Z2dlclxuICAgICAgdGhpcy5yZXBvcnRTZXJ2aWNlLmdldEFjY0dMRGV0YWlsc1JlcG9ydChuZXcgRGF0ZShkYXRlKSxkYXRlVHlwZSxzeXNDb21wYW55Q29kZSxzeXNVc2VySWQsY29tcGFueU5hbWUpXG4gICAgICAuc3Vic2NyaWJlKGRhdGE9PntcbiAgICAgICAgLy8gY29uc29sZS5sb2coZGF0YSlcbiAgICAgICAgY29uc29sZS5sb2coXCIgaW4gZ2V0QWNjR0xEZXRhaWxzUmVwb3J0KCkuLi5cIilcbiAgICAgIHRoaXMuYWNjR2xEZXRhaWxzRW5xdWlyeVJlcG9ydE1vZGVsPWRhdGE7XG4gICAgICBjb25zb2xlLmxvZyh0aGlzLmFjY0dsRGV0YWlsc0VucXVpcnlSZXBvcnRNb2RlbClcbiAgICAgIH0sZXJyb3I9Pntjb25zb2xlLmxvZyhlcnJvcil9KTtcbiAgfVxuXG59XG4iLCJcbjwhLS0gPGRpdj5cblxuPGRpdj48L2Rpdj5cblxuPGFnLWdyaWQtYW5ndWxhclxuY2xhc3M9XCJhZy10aGVtZS1hbHBpbmVcIlxuc3R5bGU9XCJoZWlnaHQ6IDQwMHB4OyB3aWR0aDogMTAwJTtcIlxuW3Jvd0RhdGFdPVwicm93RGF0YVwiXG5bY29sdW1uRGVmc109XCJjb2x1bW5EZWZzXCJcbj5cbjwvYWctZ3JpZC1hbmd1bGFyPlxuXG5cbjwvZGl2PiAtLT5cblxuPHA+YWNjLWdsLWRldGFpbHMtZW5xdWlyeS1yZXBvcnQgd29ya3MhPC9wPlxuPGJ1dHRvbiAgKGNsaWNrKT1cImdldEFjY0dMRGV0YWlsc1JlcG9ydCgnMjAyNS0wMi0wNicsJ1ZEJywnQkgnLCdzYWNoaW4ua2FtYmxlQHhwcmVzc21vbmV5LnRlY2gnLCd4cHJlc3MgbW9uZXknKVwiIFxuPmdldCBhY2MtZ2wtZGV0YWlscy1lbnF1aXJ5LXJlcG9ydCA8L2J1dHRvbj5cblxuXG48ZGl2ICpuZ0lmPVwiYWNjR2xEZXRhaWxzRW5xdWlyeVJlcG9ydE1vZGVsIT11bmRlZmluZWRcIiA+XG5cbjx0YWJsZSAgc3R5bGU9XCJib3JkZXI6IDJweCBzb2xpZCBibGFjaztcIiA+XG4gICAgPHRoZWFkICAgc3R5bGU9XCJjb2xvcjpibGFjayA7ICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1OyBcIiAgPlxuPHRoID5TciBObzwvdGg+XG48dGggPkpvdXJuYWxJRDwvdGg+XG48dGggPlRyYW5zYWN0aW9uTm88L3RoPlxuPHRoPkpvdXJuYWxUeXBlPC90aD5cbjx0aD5Qb3N0aW5nRGF0ZTwvdGg+XG48dGg+VmFsdWVEYXRlPC90aD5cbjx0aD5EZXNjcmlwdGlvbjwvdGg+XG48dGg+QWNjb3VudENvZGU8L3RoPlxuPHRoPkN1cnJlbmN5PC90aD5cbjx0aD5SYXRlPC90aD5cbjx0aD5Gb3JleERlYml0PC90aD5cbjx0aD5Mb2NhbERlYml0PC90aD5cbjx0aD5Gb3JleENyZWRpdDwvdGg+XG48dGg+TG9jYWxDcmVkaXQ8L3RoPlxuPHRoPklkPC90aD5cbjx0aD5SYXRlRGVjaW1hbDwvdGg+XG48dGg+PC90aD5cbiAgICA8L3RoZWFkPlxuICAgIDx0Ym9keT5cbiAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBqdmUgb2YgYWNjR2xEZXRhaWxzRW5xdWlyeVJlcG9ydE1vZGVsLmpvdXJuYWxWb3VjaGVyRW50cmllcyBpbmRleCBhcyBpXCIgPlxuXG4gICAgICAgICAgICA8dGQ+e3tpKzF9fTwvdGQ+XG4gICAgICAgICAgICAgPHRkPnt7anZlLmpvdXJuYWxJRH19PC90ZD5cbiAgICAgICAgICAgICAgPHRkPnt7anZlLnRyYW5zYWN0aW9uTm99fTwvdGQ+XG4gICAgICAgICAgICAgICA8dGQ+e3tqdmUuam91cm5hbFR5cGV9fTwvdGQ+XG4gICAgICAgICAgICAgICAgPHRkPnt7anZlLnBvc3RpbmdEYXRlfX08L3RkPlxuICAgICAgICAgICAgICAgICA8dGQ+e3tqdmUudmFsdWVEYXRlfX08L3RkPlxuICAgICAgICAgICAgICAgICAgPHRkPnt7anZlLmRlc2NyaXB0aW9ufX08L3RkPlxuICAgICAgICAgICAgICAgICAgIDx0ZD57e2p2ZS5hY2NvdW50Q29kZX19PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgPHRkPnt7anZlLmN1cnJlbmN5fX08L3RkPlxuICAgICAgICAgICAgICAgICAgICAgPHRkPnt7anZlLnJhdGV9fTwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgPHRkPnt7anZlLmZvcmV4RGViaXR9fTwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2p2ZS5sb2NhbERlYml0fX08L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7anZlLmZvcmV4Q3JlZGl0fX08L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7anZlLmxvY2FsQ3JlZGl0fX08L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7anZlLmlkfX08L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7anZlLnJhdGVEZWNpbWFsfX08L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7anZlLmpvdXJuYWxJRH19PC90ZD5cbiAgICAgICAgPC90cj5cblxuICAgIDwvdGJvZHk+XG48L3RhYmxlPlxuPC9kaXY+XG5cbjxkaXYgIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDNweDtcIiAqbmdJZj1cImFjY0dsRGV0YWlsc0VucXVpcnlSZXBvcnRNb2RlbD09dW5kZWZpbmVkXCIgPlxuICAgIE5vIGRhdGEgZm91bmQgZm9yIHRoaXMgc2VhcmNoLlxuPC9kaXY+Il19
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjLWdsLWRldGFpbHMtZW5xdWlyeS1yZXBvcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcmVwb3J0cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2FjYy1nbC1kZXRhaWxzLWVucXVpcnktcmVwb3J0L2FjYy1nbC1kZXRhaWxzLWVucXVpcnktcmVwb3J0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3JlcG9ydHMtbGliL3NyYy9saWIvY29tcG9uZW50cy9hY2MtZ2wtZGV0YWlscy1lbnF1aXJ5LXJlcG9ydC9hY2MtZ2wtZGV0YWlscy1lbnF1aXJ5LXJlcG9ydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBSWxELE9BQU8sT0FBTyxNQUFNLFlBQVksQ0FBQztBQUNqQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7OztBQU83QyxNQUFNLE9BQU8sa0NBQWtDO0lBc0R6QyxZQUFvQixhQUEyQjtRQUEzQixrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQW5EaEQsbUJBQWMsR0FBUSxDQUFDLENBQUM7UUFXekIsa0JBQWEsR0FBVTtZQUNyQixTQUFTLEVBQUUsSUFBSTtZQUNmLFFBQVEsRUFBRSxJQUFJO1lBQ2QsTUFBTSxFQUFFLElBQUk7WUFDWixTQUFTLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFO1NBQ2xDLENBQUM7UUFFRyxlQUFVLEdBQVk7WUFDckIsRUFBQyxVQUFVLEVBQUUsUUFBUSxFQUFDLFdBQVcsRUFBRSxtQkFBbUIsR0FBRTtZQUMxRCxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRztZQUNqRCxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRTtZ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QUFHLENBQUMsS0FBSyxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBS0ksVUFBVSxDQUFDLE1BQVc7UUFDM0IsT0FBTyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNuRSxDQUFDOzsrSEEvSFEsa0NBQWtDO21IQUFsQyxrQ0FBa0MseUVDWi9DLGloSkFtSE07MkZEdkdPLGtDQUFrQztrQkFMOUMsU0FBUzsrQkFDRSxtQ0FBbUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVwb3J0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3JlcG9ydC5zZXJ2aWNlJztcbmltcG9ydCB7IEFjY0dsRGV0YWlsc0VucXVpcnlSZXBvcnRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9hY2NnbC1kZXRhaWxzLWVucXVpcnktcmVwb3J0bW9kZWwnO1xuaW1wb3J0IHsgQ29sRGVmLCBHcmlkT3B0aW9ucyB9IGZyb20gJ2FnLWdyaWQtY29tbXVuaXR5JztcbmltcG9ydCBEZWNpbWFsIGZyb20gJ2RlY2ltYWwuanMnO1xuaW1wb3J0IHsgZm9ybWF0RGF0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1hY2MtZ2wtZGV0YWlscy1lbnF1aXJ5LXJlcG9ydCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hY2MtZ2wtZGV0YWlscy1lbnF1aXJ5LXJlcG9ydC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FjYy1nbC1kZXRhaWxzLWVucXVpcnktcmVwb3J0LmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBY2NHbERldGFpbHNFbnF1aXJ5UmVwb3J0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBcbiAgICAgZGF0ZVR5cGVGaWx0ZXI6bnVtYmVyPTE7XG4gICAgXG4gICAgICBkYXRlVHlwZTphbnk7XG4gICAgIHN5c0NvbXBhbnlDb2RlOmFueTtcbiAgICAgc3lzVXNlcklkOmFueTtcbiAgICAgY29tcGFueU5hbWUgOmFueTtcbiAgICAgcmVwb3J0VXNlciA6YW55O1xuICAgICByZXBvcnRUaW1lOiBhbnkgO1xuICAgICBkYXRlIDogYW55O1xuICAgICBmb3JtYXR0ZWREYXRlOmFueVxuICAgIFxuICAgIGRlZmF1bHRDb2xEZWY6Q29sRGVmID0ge1xuICAgICAgcmVzaXphYmxlOiB0cnVlLFxuICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICBmaWx0ZXI6IHRydWUsXG4gICAgICBjZWxsU3R5bGU6IHsgdXNlclNlbGVjdDogJ3RleHQnIH0gXG4gICAgfTtcbiAgICBcbiAgICAgICAgIGNvbHVtbkRlZnM6Q29sRGVmW10gPSBbXG4gICAgICAgICAge2hlYWRlck5hbWU6ICdTci4gTm8nLHZhbHVlR2V0dGVyOiAnbm9kZS5yb3dJbmRleCArIDEnLH0sXG4gICAgICAgIHsgaGVhZGVyTmFtZTogJ0pvdXJuYWwgSUQnLCBmaWVsZDogJ2pvdXJuYWxJRCcgIH0sXG4gICAgICAgIHsgaGVhZGVyTmFtZTogJ1RyYW5zIE5vJywgZmllbGQ6ICd0cmFuc2FjdGlvbk5vJyB9LFxuICAgICAgICB7IGhlYWRlck5hbWU6ICdUcmFucyBDb2RlJywgZmllbGQ6ICd0cmFuc2FjdGlvbkNvZGUnLCAgfSxcbiAgICAgICAgIHsgaGVhZGVyTmFtZTogJ0pvdXJuYWwgVHlwZScsIGZpZWxkOiAnam91cm5hbFR5cGUnIH0sXG4gICAgICAgIHsgaGVhZGVyTmFtZTogJ1Bvc3RpbmcgRGF0ZScsIGZpZWxkOiAncG9zdGluZ0RhdGUnLHZhbHVlRm9ybWF0dGVyOiB0aGlzLmZvcm1hdERhdGUgIH0sXG4gICAgICAgIHsgaGVhZGVyTmFtZTogJ1ZhbHVlIERhdGUnLCBmaWVsZDogJ3ZhbHVlRGF0ZScgLHZhbHVlRm9ybWF0dGVyOiB0aGlzLmZvcm1hdERhdGUgIH0sXG4gICAgICAgICB7IGhlYWRlck5hbWU6ICdEZXNjcmlwdGlvbicsIGZpZWxkOiAnZGVzY3JpcHRpb24nLCB3aWR0aDozODV9LFxuICAgICAgICAgIHsgaGVhZGVyTmFtZTogJ0FjY291bnQgQ29kZScsIGZpZWxkOiAnYWNjb3VudENvZGUnLCAgfSxcbiAgICAgICAgICAgeyBoZWFkZXJOYW1lOiAnQ3VycmVuY3knLCBmaWVsZDogJ2N1cnJlbmN5JywgIH0sXG4gICAgICAgICAgICB7IGhlYWRlck5hbWU6ICdSYXRlJywgZmllbGQ6ICdyYXRlJywgIH0sXG4gICAgICAgICAgICAgeyBoZWFkZXJOYW1lOiAnRnhEZWJpdCcsIGZpZWxkOiAnZm9yZXhEZWJpdCcsIH0sXG4gICAgICAgICAgICAgIHsgaGVhZGVyTmFtZTogJ0xvY2FsIERlYml0JywgZmllbGQ6ICdsb2NhbERlYml0JywgfSxcbiAgICAgICAgICAgICAgIHsgaGVhZGVyTmFtZTogJ0Z4Q3JlZGl0JywgZmllbGQ6ICdmb3JleENyZWRpdCcsIH0sXG4gICAgICAgICAgICAgICAgeyBoZWFkZXJOYW1lOiAnTG9jYWwgQ3JlZGl0JywgZmllbGQ6ICdsb2NhbENyZWRpdCcsIH0sXG4gICAgICAgICAgICBcbiAgICBcbiAgICAgIF07XG4gICAgXG4gICAgICByb3dEYXRhID0gW107XG4gICAgXG4gICAgZ3JpZE9wdGlvbnM6IEdyaWRPcHRpb25zID0ge1xuICAgICAgZW5hYmxlUmFuZ2VTZWxlY3Rpb246IHRydWUsXG4gICAgICBnZXRDb250ZXh0TWVudUl0ZW1zOiAoKSA9PiBbIFxuICAgICAgICAnY29weScsXG4gICAgICAgICdjb3B5V2l0aEhlYWRlcnMnXG4gICAgICBdXG4gICAgfTtcbiAgICBcbiAgICBcbiAgICAgIGFjY0dsRGV0YWlsc0VucXVpcnlSZXBvcnRNb2RlbDpBY2NHbERldGFpbHNFbnF1aXJ5UmVwb3J0TW9kZWw7XG4gICAgXG4gICAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlcG9ydFNlcnZpY2U6UmVwb3J0U2VydmljZSApIFxuICAgICAgeyBcbiAgICBcbiAgICBcbiAgICAgICAgdGhpcy5hY2NHbERldGFpbHNFbnF1aXJ5UmVwb3J0TW9kZWw9dW5kZWZpbmVkO1xuICAgICAgfVxuICAgIFxuICAgICAgbmdPbkluaXQoKTogdm9pZCBcbiAgICAgIHtcbiAgICAgICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpO1xuICAgICAgICB0aGlzLmRhdGUgPSB0b2RheS50b0lTT1N0cmluZygpLnN1YnN0cmluZygwLCAxMCk7IC8vIHl5eXktTU0tZGQgZm9ybWF0XG4gICAgICB9XG4gICAgXG4gICAgIHB1YmxpYyBnZXRBY2NHTERldGFpbHNSZXBvcnQoICkgXG4gICAgICB7XG4gICAgICAgIC8vICcyMDI1LTAyLTA2JywnVkQnLCdCSCcsJ3NhY2hpbi5rYW1ibGVAeHByZXNzbW9uZXkudGVjaCcsJ3hwcmVzcyBtb25leSdcbiAgICBcbiAgICAgICAgZGVidWdnZXI7XG4gICAgICAgICB0aGlzLnN5c0NvbXBhbnlDb2RlPSdCSCc7XG4gICAgICAgICB0aGlzLnN5c1VzZXJJZD0nc2FjaGluLmthbWJsZUB4cHJlc3Ntb25leS50ZWNoJztcbiAgICAgICAgIHRoaXMuY29tcGFueU5hbWU9XCJYcHJlc3MgTW9uZXlcIlxuICAgICAgICAgXG4gICAgICAgICBpZih0aGlzLmRhdGVUeXBlRmlsdGVyPT0xKVxuICAgICAgICAge1xuICAgICAgICAgICAgdGhpcy5kYXRlVHlwZT0nVkQnO1xuICAgICAgICAgfWVsc2VcbiAgICAgICAgIHtcbiAgICB0aGlzLmRhdGVUeXBlPSdQRCc7XG4gICAgICAgICB9XG4gICAgICAgIFxuICAgIFxuICAgIFxuICAgICAgICAgIHRoaXMucmVwb3J0U2VydmljZS5nZXRBY2NHTERldGFpbHNSZXBvcnQobmV3IERhdGUodGhpcy5kYXRlKSx0aGlzLmRhdGVUeXBlLHRoaXMuc3lzQ29tcGFueUNvZGUsdGhpcy5zeXNVc2VySWQsdGhpcy5jb21wYW55TmFtZSlcbiAgICAgICAgICAuc3Vic2NyaWJlKGRhdGE9PntcbiAgICBcbiAgICBcbiAgICAgICAgICB0aGlzLmFjY0dsRGV0YWlsc0VucXVpcnlSZXBvcnRNb2RlbD1kYXRhO1xuICAgICAgICAgIGlmKHRoaXMuYWNjR2xEZXRhaWxzRW5xdWlyeVJlcG9ydE1vZGVsIT11bmRlZmluZWQgfHwgdGhpcy5hY2NHbERldGFpbHNFbnF1aXJ5UmVwb3J0TW9kZWwhPW51bGwpXG4gICAgICAgICAge1xuICAgICAgICAgICAgICBpZiAodGhpcy5hY2NHbERldGFpbHNFbnF1aXJ5UmVwb3J0TW9kZWwpIHtcbiAgICAgICAgIFxuICAgICAgICAgIHRoaXMucm93RGF0YSA9IHRoaXMuYWNjR2xEZXRhaWxzRW5xdWlyeVJlcG9ydE1vZGVsLmpvdXJuYWxWb3VjaGVyRW50cmllcy5tYXAoZW50cnkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgLi4uZW50cnksXG4gICAgICAgICAgICAgIHJhdGU6IG5ldyBEZWNpbWFsKGVudHJ5LnJhdGUpLnRvRml4ZWQoMTUpLFxuICAgICAgICAgICAgICBmb3JleERlYml0OiBuZXcgRGVjaW1hbChlbnRyeS5mb3JleERlYml0KS50b0ZpeGVkKDE1KSxcbiAgICAgICAgICAgICAgbG9jYWxEZWJpdDogbmV3IERlY2ltYWwoZW50cnkubG9jYWxEZWJpdCkudG9GaXhlZCgxNSksXG4gICAgICAgICAgICAgIGZvcmV4Q3JlZGl0OiBuZXcgRGVjaW1hbChlbnRyeS5mb3JleENyZWRpdCkudG9GaXhlZCgxNSksXG4gICAgICAgICAgICAgIGxvY2FsQ3JlZGl0OiBuZXcgRGVjaW1hbChlbnRyeS5sb2NhbENyZWRpdCkudG9GaXhlZCgxNSlcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgXG4gICAgICAgICAgXG4gICAgICAgICAgdGhpcy5jb21wYW55TmFtZT10aGlzLmFjY0dsRGV0YWlsc0VucXVpcnlSZXBvcnRNb2RlbC5jb21wYW55TmFtZTtcbiAgICAgICAgXG4gICAgICAgIFxuICAgICAgICAgIGNvbnN0IHVzZXJOYW1lPXRoaXMuYWNjR2xEZXRhaWxzRW5xdWlyeVJlcG9ydE1vZGVsLnJlcG9ydFVzZXI7XG4gICAgICAgICAgICB0aGlzLnJlcG9ydFVzZXI9dXNlck5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICBcbiAgICAgICAgICBjb25zdCByYXdEYXRlPXRoaXMuYWNjR2xEZXRhaWxzRW5xdWlyeVJlcG9ydE1vZGVsLnJlcG9ydFRpbWU7XG4gICAgICAgICAgdGhpcy5yZXBvcnRUaW1lPSBmb3JtYXREYXRlKHJhd0RhdGUsICdkZC9NTS95eXl5IEhIOm1tJywgJ2VuLVVTJyk7XG4gICAgICAgICAgdGhpcy5mb3JtYXR0ZWREYXRlPWZvcm1hdERhdGUobmV3IERhdGUodGhpcy5kYXRlKSwnZGQvTU0veXl5eScsICdlbi1VUycpXG4gICAgICAgICAgfVxuICAgICAgICAgIFxuICAgICAgICAgIGNvbnNvbGUubG9nKHRoaXMuYWNjR2xEZXRhaWxzRW5xdWlyeVJlcG9ydE1vZGVsKX1cbiAgICAgICAgICB9LGVycm9yPT57Y29uc29sZS5sb2coZXJyb3IpfSk7XG4gICAgICB9XG4gICAgXG4gICAgXG4gICAgXG4gICAgXG4gICAgcHVibGljIGZvcm1hdERhdGUocGFyYW1zOiBhbnkpOnN0cmluZyB7XG4gICAgICByZXR1cm4gZm9ybWF0RGF0ZShuZXcgRGF0ZShwYXJhbXMudmFsdWUpLCAnZGQvTU0veXl5eScsICdlbi1VUycpO1xuICAgIH1cblxufVxuIiwiPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IHdpZHRoOiAxMDAlOyBwYWRkaW5nOiAxMHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94O1wiPlxuXG5cbiAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGZsZXgtd3JhcDogd3JhcDsgZ2FwOiAxMHB4OyBhbGlnbi1pdGVtczogY2VudGVyO1wiPlxuXG4gICAgPGZvcm0gY2xhc3M9XCJkLWZsZXggZmxleC13cmFwIGdhcC0zIGFsaWduLWl0ZW1zLWNlbnRlciB3LTEwMFwiPlxuXG5cbiAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgICAgPGxhYmVsIGZvcj1cImRhdGVUeXBlRmlsdGVyXCIgc3R5bGU9XCJmb250LXdlaWdodDogNTAwO1wiIGNsYXNzPVwibWItMCBcIj5EYXRlIFR5cGU8L2xhYmVsPlxuICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgbmFtZT1cImRhdGVUeXBlRmlsdGVyXCIgWyhuZ01vZGVsKV09XCJkYXRlVHlwZUZpbHRlclwiIGlkPVwiZGF0ZVR5cGVGaWx0ZXJcIlxuICAgICAgICAgIHN0eWxlPVwid2lkdGg6IDE0MHB4O1wiPlxuICAgICAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwiMVwiPlZhbHVlIERhdGU8L29wdGlvbj5cbiAgICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cIjJcIj5Qb3N0aW5nIERhdGU8L29wdGlvbj5cbiAgICAgICAgPC9zZWxlY3Q+XG4gICAgICA8L2Rpdj5cblxuXG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICAgICAgICA8bGFiZWwgZm9yPVwiZGF0ZVwiIHN0eWxlPVwiZm9udC13ZWlnaHQ6IDUwMDtcIiBjbGFzcz1cIm1iLTBcIj5EYXRlPC9sYWJlbD5cbiAgICAgICAgPGlucHV0IHR5cGU9XCJkYXRlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBuYW1lPVwiZGF0ZVwiIFsobmdNb2RlbCldPVwiZGF0ZVwiIGlkPVwiZGF0ZVwiIHN0eWxlPVwid2lkdGg6IDE1MHB4O1wiPlxuICAgICAgPC9kaXY+IC0tPlxuXG48IS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tPlxuPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgPGxhYmVsIGZvcj1cImRhdGVUeXBlRmlsdGVyXCIgc3R5bGU9XCJmb250LXdlaWdodDogNTAwO1wiIGNsYXNzPVwibWItMFwiPkRhdGUgVHlwZTwvbGFiZWw+XG4gIDxkaXYgY2xhc3M9XCJyZXF1aXJlZC1ib3hcIj5cbiAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgbmFtZT1cImRhdGVUeXBlRmlsdGVyXCIgWyhuZ01vZGVsKV09XCJkYXRlVHlwZUZpbHRlclwiIGlkPVwiZGF0ZVR5cGVGaWx0ZXJcIj5cbiAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwiMVwiPlZhbHVlIERhdGU8L29wdGlvbj5cbiAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwiMlwiPlBvc3RpbmcgRGF0ZTwvb3B0aW9uPlxuICAgIDwvc2VsZWN0PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICA8bGFiZWwgZm9yPVwiZGF0ZVwiIHN0eWxlPVwiZm9udC13ZWlnaHQ6IDUwMDtcIiBjbGFzcz1cIm1iLTBcIj5EYXRlPC9sYWJlbD5cbiAgPGRpdiBjbGFzcz1cInJlcXVpcmVkLWJveFwiPlxuICAgIDxpbnB1dCB0eXBlPVwiZGF0ZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgbmFtZT1cImRhdGVcIiBbKG5nTW9kZWwpXT1cImRhdGVcIiBpZD1cImRhdGVcIj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPCEtLSAtLS0tLS0tLS0tLS0tLSAtLT5cblxuICAgICAgPGRpdj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgIHN0eWxlPVwiYm9yZGVyOiAycHggc29saWQgcmdiKDEzLCAxMTAsIDI1Myk7XCIgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgKGNsaWNrKT1cImdldEFjY0dMRGV0YWlsc1JlcG9ydCgpXCI+XG4gICAgICAgICAgVmlldyBSZXBvcnRcbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cblxuICAgIDwvZm9ybT5cblxuXG5cblxuXG4gIDwvZGl2PlxuXG5cbiAgPGhyIHN0eWxlPVwibWFyZ2luOiAxNXB4IDA7XCIgLz5cblxuPCEtLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLT5cbiAgPGRpdiBzdHlsZT1cImJvcmRlcjogMXB4IHNvbGlkICNjY2M7IHBhZGRpbmc6IDEwcHg7IG92ZXJmbG93OiBhdXRvO1wiPlxuXG48IS0tICpuZ0lmPVwiYWNjR2xEZXRhaWxzRW5xdWlyeVJlcG9ydE1vZGVsICE9IHVuZGVmaW5lZFwiIC0tPlxuICAgIDxkaXYgc3R5bGU9XCJmbGV4OjE7IG92ZXJmbG93LXk6IGF1dG87XCIgICpuZ0lmPVwiYWNjR2xEZXRhaWxzRW5xdWlyeVJlcG9ydE1vZGVsICE9IHVuZGVmaW5lZFwiID5cblxuICAgICAgPGxhYmVsIHN0eWxlPVwiZm9udC1zaXplOiAyMS4zMzNweDsgZm9udC13ZWlnaHQ6IGJvbGQ7ICBjb2xvcjogYmxhY2s7IFwiPnt7Y29tcGFueU5hbWV9fSAtIEdlbmVyYWwgTGVkZ2VyIEFjY291bnQgRGV0YWlscyBFbnF1aXJ5PC9sYWJlbD5cblxuICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICAgICAgICA8bGFiZWwgIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7IGZvbnQtc2l6ZTogMjEuMzMzcHg7IGNvbG9yOiMwMDQ0OTQgO1wiIGNsYXNzPVwibWItMFwiPnt7Y29tcGFueU5hbWV9fTwvbGFiZWw+XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cIm1iLTBcIiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkOyBmb250LXNpemU6IDIxLjMzM3B4OyBjb2xvcjpibGFjayA7XCI+IC0gR2VuZXJhbCBMZWRnZXIgQWNjb3VudCBEZXRhaWxzIEVucXVpcnk8L2xhYmVsPlxuICAgICAgPC9kaXY+IC0tPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMiBtdC00XCI+XG4gICAgICAgIDxsYWJlbCBmb3I9XCJkYXRlXCIgc3R5bGU9XCJmb250LXdlaWdodDogNTAwOyBmb250LXNpemU6IDEzcHg7XCIgY2xhc3M9XCJtYi0wXCI+UmVwb3J0IFVzZXIgOjwvbGFiZWw+XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cIm1iLTBcIiBzdHlsZT1cImZvbnQtc2l6ZTogMTNweDtcIj57e3JlcG9ydFVzZXJ9fTwvbGFiZWw+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgbXQtMlwiPlxuICAgICAgICA8bGFiZWwgZm9yPVwiZGF0ZVwiIHN0eWxlPVwiZm9udC13ZWlnaHQ6IDUwMDsgZm9udC1zaXplOiAxM3B4O1wiIGNsYXNzPVwibWItMFwiPlJlcG9ydCBUaW1lIDo8L2xhYmVsPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJtYi0wXCIgc3R5bGU9XCJmb250LXNpemU6IDEzcHg7XCI+e3tyZXBvcnRUaW1lfX08L2xhYmVsPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxsYWJlbCAgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDsgIGZvbnQtc2l6ZTogMTZweDsgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1wiIGNsYXNzPVwibXQtMlwiID5TZWFyY2ggQ3JpdGVyaWE8L2xhYmVsPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMiBtdC0yIG1iLTJcIj5cbiAgICAgICAgPGxhYmVsIGZvcj1cImRhdGVcIiBzdHlsZT1cImZvbnQtd2VpZ2h0OiA1MDA7IGZvbnQtc2l6ZTogMTNweDtcIiBjbGFzcz1cIm1iLTBcIj5EYXRlIDo8L2xhYmVsPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJtYi0wXCIgc3R5bGU9XCJmb250LXNpemU6IDEzcHg7XCI+e3tmb3JtYXR0ZWREYXRlfX08L2xhYmVsPlxuICAgICAgPC9kaXY+XG5cblxuXG5cbiAgICAgIDxhZy1ncmlkLWFuZ3VsYXIgc3R5bGU9XCJ3aWR0aDogMTAwJTsgaGVpZ2h0OiA1MDBweDtcIiBjbGFzcz1cImFnLXRoZW1lLWFscGluZSAgYWctc21hbGwtZ3JpZFwiIFtyb3dEYXRhXT1cInJvd0RhdGFcIlxuICAgICAgICBbY29sdW1uRGVmc109XCJjb2x1bW5EZWZzXCIgW2RlZmF1bHRDb2xEZWZdPVwiZGVmYXVsdENvbERlZlwiIFtlbmFibGVSYW5nZVNlbGVjdGlvbl09XCJ0cnVlXCJcbiAgICAgICAgW2VuYWJsZUJyb3dzZXJUb29sdGlwc109XCJ0cnVlXCIgW2dyaWRPcHRpb25zXT1cImdyaWRPcHRpb25zXCIgW2FuaW1hdGVSb3dzXT1cInRydWVcIiBcbiAgICAgICAgW3Jvd0hlaWdodF09XCIyN1wiIFtoZWFkZXJIZWlnaHRdPVwiMzVcIj5cblxuICAgICAgPC9hZy1ncmlkLWFuZ3VsYXI+XG5cblxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgbXQtMlwiPlxuICAgICAgICA8bGFiZWwgZm9yPVwiZGF0ZVwiIHN0eWxlPVwiZm9udC13ZWlnaHQ6IDUwMDsgZm9udC1zaXplOiAxM3B4O1wiIGNsYXNzPVwibWItMFwiPlJlcG9ydCBVc2VyIEFuZCBUaW1lIDo8L2xhYmVsPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJtYi0wXCIgc3R5bGU9XCJmb250LXNpemU6IDEzcHg7XCI+e3tyZXBvcnRVc2VyfX0gQCB7e3JlcG9ydFRpbWV9fTwvbGFiZWw+XG4gICAgICA8L2Rpdj5cblxuXG4gICAgPC9kaXY+XG5cblxuXG5cblxuXG4gIDwvZGl2PlxuPC9kaXY+Il19
@@ -10,6 +10,7 @@ import { ActiveXService } from './services/active-x.service';
10
10
  import { SessionService } from './services/session.service';
11
11
  import { NgIdleModule } from '@ng-idle/core';
12
12
  import { CommonModule } from '@angular/common';
13
+ import { FormsModule } from '@angular/forms';
13
14
  import * as i0 from "@angular/core";
14
15
  import * as i1 from "@ng-idle/core";
15
16
  import * as i2 from "angular-oauth2-oidc";
@@ -21,7 +22,7 @@ ReportsLibModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versio
21
22
  AgGridModule,
22
23
  ReportsLibRoutingModule,
23
24
  CommonModule,
24
- HttpClientModule, i1.NgIdleModule, i2.OAuthModule], exports: [ReportsLibComponent,
25
+ HttpClientModule, i1.NgIdleModule, i2.OAuthModule, FormsModule], exports: [ReportsLibComponent,
25
26
  AccGlDetailsEnquiryReportComponent] });
26
27
  ReportsLibModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ReportsLibModule, providers: [
27
28
  ActiveXService,
@@ -38,7 +39,8 @@ ReportsLibModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", versio
38
39
  CommonModule,
39
40
  HttpClientModule,
40
41
  NgIdleModule.forRoot(),
41
- OAuthModule.forRoot()] });
42
+ OAuthModule.forRoot(),
43
+ FormsModule] });
42
44
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ReportsLibModule, decorators: [{
43
45
  type: NgModule,
44
46
  args: [{
@@ -54,6 +56,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
54
56
  HttpClientModule,
55
57
  NgIdleModule.forRoot(),
56
58
  OAuthModule.forRoot(),
59
+ FormsModule
57
60
  ],
58
61
  providers: [
59
62
  ActiveXService,
@@ -71,4 +74,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
71
74
  ]
72
75
  }]
73
76
  }] });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0cy1saWIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcmVwb3J0cy1saWIvc3JjL2xpYi9yZXBvcnRzLWxpYi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxvRkFBb0YsQ0FBQztBQUN4SSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQWdCLE1BQU0scUJBQXFCLENBQUM7QUFDOUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQXNDL0MsTUFBTSxPQUFPLGdCQUFnQjs7NkdBQWhCLGdCQUFnQjs4R0FBaEIsZ0JBQWdCLGlCQTlCekIsbUJBQW1CO1FBRW5CLGtDQUFrQyxhQUdoQyxnQkFBZ0I7UUFDaEIsWUFBWTtRQUNaLHVCQUF1QjtRQUNuQixZQUFZO1FBQ1osZ0JBQWdCLDhDQWlCdEIsbUJBQW1CO1FBQ25CLGtDQUFrQzs4R0FHekIsZ0JBQWdCLGFBZnpCO1FBQ0ssY0FBYztRQUNiLGNBQWM7UUFDaEI7WUFDTSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFFBQVEsRUFBRSxtQkFBbUI7WUFDN0IsSUFBSSxFQUFFLENBQUMsWUFBWSxFQUFFLGNBQWMsRUFBRSxjQUFjLENBQUM7WUFDcEQsS0FBSyxFQUFFLElBQUk7U0FDZDtLQUNOLFlBbkJDLGdCQUFnQjtRQUNoQixZQUFZO1FBQ1osdUJBQXVCO1FBQ25CLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsWUFBWSxDQUFDLE9BQU8sRUFBRTtRQUN6QixXQUFXLENBQUMsT0FBTyxFQUFFOzJGQW1CZixnQkFBZ0I7a0JBaEM1QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixtQkFBbUI7d0JBRW5CLGtDQUFrQztxQkFDbkM7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLGdCQUFnQjt3QkFDaEIsWUFBWTt3QkFDWix1QkFBdUI7d0JBQ25CLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixZQUFZLENBQUMsT0FBTyxFQUFFO3dCQUN6QixXQUFXLENBQUMsT0FBTyxFQUFFO3FCQUV6QjtvQkFDQyxTQUFTLEVBQ1Q7d0JBQ0ssY0FBYzt3QkFDYixjQUFjO3dCQUNoQjs0QkFDTSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixRQUFRLEVBQUUsbUJBQW1COzRCQUM3QixJQUFJLEVBQUUsQ0FBQyxZQUFZLEVBQUUsY0FBYyxFQUFFLGNBQWMsQ0FBQzs0QkFDcEQsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ047b0JBQ0gsT0FBTyxFQUFFO3dCQUNQLG1CQUFtQjt3QkFDbkIsa0NBQWtDO3FCQUNuQztpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJlcG9ydHNMaWJDb21wb25lbnQgfSBmcm9tICcuL3JlcG9ydHMtbGliLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFjY0dsRGV0YWlsc0VucXVpcnlSZXBvcnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWNjLWdsLWRldGFpbHMtZW5xdWlyeS1yZXBvcnQvYWNjLWdsLWRldGFpbHMtZW5xdWlyeS1yZXBvcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSFRUUF9JTlRFUkNFUFRPUlMsIEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEFnR3JpZE1vZHVsZSB9IGZyb20gJ2FnLWdyaWQtYW5ndWxhcic7XHJcbmltcG9ydCB7IFJlcG9ydHNMaWJSb3V0aW5nTW9kdWxlIH0gZnJvbSAnLi9yZXBvcnRzLWxpYi1yb3V0aW5nLm1vZHVsZSc7XHJcbmltcG9ydCB7IE9BdXRoTW9kdWxlLCBPQXV0aFNlcnZpY2UsIE9BdXRoU3RvcmFnZSB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMnO1xyXG5pbXBvcnQgeyBBdXRoSHR0cEludGVyY2VwdG9yIH0gZnJvbSAnLi9pbnRlcmNlcHRvcnMvYXV0aC1odHRwLmludGVyY2VwdG9yJztcclxuaW1wb3J0IHsgQWN0aXZlWFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2FjdGl2ZS14LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQnJvd3Nlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBOZ0lkbGVNb2R1bGUgfSBmcm9tICdAbmctaWRsZS9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcblxyXG5cclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgUmVwb3J0c0xpYkNvbXBvbmVudCxcclxuICAgICBcclxuICAgIEFjY0dsRGV0YWlsc0VucXVpcnlSZXBvcnRDb21wb25lbnRcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgICAgSHR0cENsaWVudE1vZHVsZSxcclxuICAgICAgQWdHcmlkTW9kdWxlLFxyXG4gICAgICBSZXBvcnRzTGliUm91dGluZ01vZHVsZSxcclxuICAgICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICAgIEh0dHBDbGllbnRNb2R1bGUsXHJcbiAgICAgICAgICBOZ0lkbGVNb2R1bGUuZm9yUm9vdCgpLFxyXG4gICAgICAgT0F1dGhNb2R1bGUuZm9yUm9vdCgpLFxyXG4gICAgICBcclxuICBdLFxyXG4gICAgcHJvdmlkZXJzOiBcclxuICAgIFtcclxuICAgICAgICAgQWN0aXZlWFNlcnZpY2UsXHJcbiAgICAgICAgICBTZXNzaW9uU2VydmljZSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgICAgcHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsXHJcbiAgICAgICAgICAgICAgdXNlQ2xhc3M6IEF1dGhIdHRwSW50ZXJjZXB0b3IsXHJcbiAgICAgICAgICAgICAgZGVwczogW09BdXRoU2VydmljZSwgQWN0aXZlWFNlcnZpY2UsIFNlc3Npb25TZXJ2aWNlXSxcclxuICAgICAgICAgICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgICAgICAgfSxcclxuICAgIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgUmVwb3J0c0xpYkNvbXBvbmVudCxcclxuICAgIEFjY0dsRGV0YWlsc0VucXVpcnlSZXBvcnRDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZXBvcnRzTGliTW9kdWxlIHsgfVxyXG4iXX0=
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0cy1saWIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcmVwb3J0cy1saWIvc3JjL2xpYi9yZXBvcnRzLWxpYi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxvRkFBb0YsQ0FBQztBQUN4SSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQWdCLE1BQU0scUJBQXFCLENBQUM7QUFDOUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUF1QzdDLE1BQU0sT0FBTyxnQkFBZ0I7OzZHQUFoQixnQkFBZ0I7OEdBQWhCLGdCQUFnQixpQkEvQnpCLG1CQUFtQjtRQUVuQixrQ0FBa0MsYUFHaEMsZ0JBQWdCO1FBQ2hCLFlBQVk7UUFDWix1QkFBdUI7UUFDbkIsWUFBWTtRQUNaLGdCQUFnQixtQ0FHbkIsV0FBVyxhQWVkLG1CQUFtQjtRQUNuQixrQ0FBa0M7OEdBR3pCLGdCQUFnQixhQWZ6QjtRQUNLLGNBQWM7UUFDYixjQUFjO1FBQ2hCO1lBQ00sT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixRQUFRLEVBQUUsbUJBQW1CO1lBQzdCLElBQUksRUFBRSxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsY0FBYyxDQUFDO1lBQ3BELEtBQUssRUFBRSxJQUFJO1NBQ2Q7S0FDTixZQXBCQyxnQkFBZ0I7UUFDaEIsWUFBWTtRQUNaLHVCQUF1QjtRQUNuQixZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLFlBQVksQ0FBQyxPQUFPLEVBQUU7UUFDekIsV0FBVyxDQUFDLE9BQU8sRUFBRTtRQUNyQixXQUFXOzJGQW1CTCxnQkFBZ0I7a0JBakM1QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixtQkFBbUI7d0JBRW5CLGtDQUFrQztxQkFDbkM7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLGdCQUFnQjt3QkFDaEIsWUFBWTt3QkFDWix1QkFBdUI7d0JBQ25CLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixZQUFZLENBQUMsT0FBTyxFQUFFO3dCQUN6QixXQUFXLENBQUMsT0FBTyxFQUFFO3dCQUNyQixXQUFXO3FCQUVmO29CQUNDLFNBQVMsRUFDVDt3QkFDSyxjQUFjO3dCQUNiLGNBQWM7d0JBQ2hCOzRCQUNNLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFFBQVEsRUFBRSxtQkFBbUI7NEJBQzdCLElBQUksRUFBRSxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsY0FBYyxDQUFDOzRCQUNwRCxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDTjtvQkFDSCxPQUFPLEVBQUU7d0JBQ1AsbUJBQW1CO3dCQUNuQixrQ0FBa0M7cUJBQ25DO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmVwb3J0c0xpYkNvbXBvbmVudCB9IGZyb20gJy4vcmVwb3J0cy1saWIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQWNjR2xEZXRhaWxzRW5xdWlyeVJlcG9ydENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hY2MtZ2wtZGV0YWlscy1lbnF1aXJ5LXJlcG9ydC9hY2MtZ2wtZGV0YWlscy1lbnF1aXJ5LXJlcG9ydC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBIVFRQX0lOVEVSQ0VQVE9SUywgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQWdHcmlkTW9kdWxlIH0gZnJvbSAnYWctZ3JpZC1hbmd1bGFyJztcclxuaW1wb3J0IHsgUmVwb3J0c0xpYlJvdXRpbmdNb2R1bGUgfSBmcm9tICcuL3JlcG9ydHMtbGliLXJvdXRpbmcubW9kdWxlJztcclxuaW1wb3J0IHsgT0F1dGhNb2R1bGUsIE9BdXRoU2VydmljZSwgT0F1dGhTdG9yYWdlIH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYyc7XHJcbmltcG9ydCB7IEF1dGhIdHRwSW50ZXJjZXB0b3IgfSBmcm9tICcuL2ludGVyY2VwdG9ycy9hdXRoLWh0dHAuaW50ZXJjZXB0b3InO1xyXG5pbXBvcnQgeyBBY3RpdmVYU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvYWN0aXZlLXguc2VydmljZSc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCcm93c2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IE5nSWRsZU1vZHVsZSB9IGZyb20gJ0BuZy1pZGxlL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcblxyXG5cclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgUmVwb3J0c0xpYkNvbXBvbmVudCxcclxuICAgICBcclxuICAgIEFjY0dsRGV0YWlsc0VucXVpcnlSZXBvcnRDb21wb25lbnRcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgICAgSHR0cENsaWVudE1vZHVsZSxcclxuICAgICAgQWdHcmlkTW9kdWxlLFxyXG4gICAgICBSZXBvcnRzTGliUm91dGluZ01vZHVsZSxcclxuICAgICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICAgIEh0dHBDbGllbnRNb2R1bGUsXHJcbiAgICAgICAgICBOZ0lkbGVNb2R1bGUuZm9yUm9vdCgpLFxyXG4gICAgICAgT0F1dGhNb2R1bGUuZm9yUm9vdCgpLFxyXG4gICAgICAgRm9ybXNNb2R1bGVcclxuICAgICAgXHJcbiAgXSxcclxuICAgIHByb3ZpZGVyczogXHJcbiAgICBbXHJcbiAgICAgICAgIEFjdGl2ZVhTZXJ2aWNlLFxyXG4gICAgICAgICAgU2Vzc2lvblNlcnZpY2UsXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICAgIHByb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLFxyXG4gICAgICAgICAgICAgIHVzZUNsYXNzOiBBdXRoSHR0cEludGVyY2VwdG9yLFxyXG4gICAgICAgICAgICAgIGRlcHM6IFtPQXV0aFNlcnZpY2UsIEFjdGl2ZVhTZXJ2aWNlLCBTZXNzaW9uU2VydmljZV0sXHJcbiAgICAgICAgICAgICAgbXVsdGk6IHRydWVcclxuICAgICAgICAgIH0sXHJcbiAgICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFJlcG9ydHNMaWJDb21wb25lbnQsXHJcbiAgICBBY2NHbERldGFpbHNFbnF1aXJ5UmVwb3J0Q29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVwb3J0c0xpYk1vZHVsZSB7IH1cclxuIl19
@@ -1,10 +1,14 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Injectable, Component, NgModule, Inject } from '@angular/core';
3
+ import Decimal from 'decimal.js';
4
+ import * as i3 from '@angular/common';
5
+ import { formatDate, CommonModule } from '@angular/common';
3
6
  import * as i1 from '@angular/common/http';
4
7
  import { HttpClient, HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
5
- import * as i2 from '@angular/common';
6
- import { CommonModule } from '@angular/common';
8
+ import * as i2 from 'ag-grid-angular';
7
9
  import { AgGridModule } from 'ag-grid-angular';
10
+ import * as i4 from '@angular/forms';
11
+ import { FormsModule } from '@angular/forms';
8
12
  import * as i1$1 from '@angular/router';
9
13
  import { RouterModule } from '@angular/router';
10
14
  import * as i1$2 from 'angular-oauth2-oidc';
@@ -72,57 +76,84 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
72
76
  class AccGlDetailsEnquiryReportComponent {
73
77
  constructor(reportService) {
74
78
  this.reportService = reportService;
79
+ this.dateTypeFilter = 1;
80
+ this.defaultColDef = {
81
+ resizable: true,
82
+ sortable: true,
83
+ filter: true,
84
+ cellStyle: { userSelect: 'text' }
85
+ };
75
86
  this.columnDefs = [
76
- {
77
- headerName: 'Sr. No',
78
- valueGetter: 'node.rowIndex + 1',
79
- width: 100
80
- },
81
- { headerName: 'Name', field: 'name', sortable: true, filter: true },
82
- { headerName: 'Email', field: 'email', sortable: true, filter: true },
83
- { headerName: 'Salary', field: 'salary', sortable: true, filter: true, width: 170 },
84
- { headerName: 'Name', field: 'name', sortable: true, filter: true },
85
- { headerName: 'Email', field: 'email', sortable: true, filter: true },
86
- { headerName: 'Salary', field: 'salary', sortable: true, filter: true, width: 170 }
87
- ];
88
- this.rowData = [
89
- { name: 'John Doe', email: 'john@example.com', salary: 50000 },
90
- { name: 'Jane Smith', email: 'jane@example.com', salary: 60000 },
91
- { name: 'Bill Murray', email: 'bill@example.com', salary: 70000 },
92
- { name: 'John Doe', email: 'john@example.com', salary: 50000 },
93
- { name: 'Jane Smith', email: 'jane@example.com', salary: 60000 },
94
- { name: 'Bill Murray', email: 'bill@example.com', salary: 70000 },
95
- { name: 'John Doe', email: 'john@example.com', salary: 50000 },
96
- { name: 'Jane Smith', email: 'jane@example.com', salary: 60000 },
97
- { name: 'Bill Murray', email: 'bill@example.com', salary: 70000 },
98
- { name: 'John Doe', email: 'john@example.com', salary: 50000 },
99
- { name: 'Jane Smith', email: 'jane@example.com', salary: 60000 },
100
- { name: 'John Doe', email: 'john@example.com', salary: 50000 },
101
- { name: 'Jane Smith', email: 'jane@example.com', salary: 60000 },
102
- { name: 'Bill Murray', email: 'bill@example.com', salary: 70000 },
103
- { name: 'John Doe', email: 'john@example.com', salary: 50000 },
104
- { name: 'Jane Smith', email: 'jane@example.com', salary: 60000 },
87
+ { headerName: 'Sr. No', valueGetter: 'node.rowIndex + 1', },
88
+ { headerName: 'Journal ID', field: 'journalID' },
89
+ { headerName: 'Trans No', field: 'transactionNo' },
90
+ { headerName: 'Trans Code', field: 'transactionCode', },
91
+ { headerName: 'Journal Type', field: 'journalType' },
92
+ { headerName: 'Posting Date', field: 'postingDate', valueFormatter: this.formatDate },
93
+ { headerName: 'Value Date', field: 'valueDate', valueFormatter: this.formatDate },
94
+ { headerName: 'Description', field: 'description', width: 385 },
95
+ { headerName: 'Account Code', field: 'accountCode', },
96
+ { headerName: 'Currency', field: 'currency', },
97
+ { headerName: 'Rate', field: 'rate', },
98
+ { headerName: 'FxDebit', field: 'forexDebit', },
99
+ { headerName: 'Local Debit', field: 'localDebit', },
100
+ { headerName: 'FxCredit', field: 'forexCredit', },
101
+ { headerName: 'Local Credit', field: 'localCredit', },
105
102
  ];
103
+ this.rowData = [];
104
+ this.gridOptions = {
105
+ enableRangeSelection: true,
106
+ getContextMenuItems: () => [
107
+ 'copy',
108
+ 'copyWithHeaders'
109
+ ]
110
+ };
106
111
  this.accGlDetailsEnquiryReportModel = undefined;
107
112
  }
108
113
  ngOnInit() {
114
+ const today = new Date();
115
+ this.date = today.toISOString().substring(0, 10); // yyyy-MM-dd format
109
116
  }
110
- getAccGLDetailsReport(date, dateType, sysCompanyCode, sysUserId, companyName) {
117
+ getAccGLDetailsReport() {
118
+ // '2025-02-06','VD','BH','sachin.kamble@xpressmoney.tech','xpress money'
111
119
  debugger;
112
- this.reportService.getAccGLDetailsReport(new Date(date), dateType, sysCompanyCode, sysUserId, companyName)
120
+ this.sysCompanyCode = 'BH';
121
+ this.sysUserId = 'sachin.kamble@xpressmoney.tech';
122
+ this.companyName = "Xpress Money";
123
+ if (this.dateTypeFilter == 1) {
124
+ this.dateType = 'VD';
125
+ }
126
+ else {
127
+ this.dateType = 'PD';
128
+ }
129
+ this.reportService.getAccGLDetailsReport(new Date(this.date), this.dateType, this.sysCompanyCode, this.sysUserId, this.companyName)
113
130
  .subscribe(data => {
114
- // console.log(data)
115
- console.log(" in getAccGLDetailsReport()...");
116
131
  this.accGlDetailsEnquiryReportModel = data;
117
- console.log(this.accGlDetailsEnquiryReportModel);
132
+ if (this.accGlDetailsEnquiryReportModel != undefined || this.accGlDetailsEnquiryReportModel != null) {
133
+ if (this.accGlDetailsEnquiryReportModel) {
134
+ this.rowData = this.accGlDetailsEnquiryReportModel.journalVoucherEntries.map(entry => {
135
+ return Object.assign(Object.assign({}, entry), { rate: new Decimal(entry.rate).toFixed(15), forexDebit: new Decimal(entry.forexDebit).toFixed(15), localDebit: new Decimal(entry.localDebit).toFixed(15), forexCredit: new Decimal(entry.forexCredit).toFixed(15), localCredit: new Decimal(entry.localCredit).toFixed(15) });
136
+ });
137
+ this.companyName = this.accGlDetailsEnquiryReportModel.companyName;
138
+ const userName = this.accGlDetailsEnquiryReportModel.reportUser;
139
+ this.reportUser = userName.toLowerCase();
140
+ const rawDate = this.accGlDetailsEnquiryReportModel.reportTime;
141
+ this.reportTime = formatDate(rawDate, 'dd/MM/yyyy HH:mm', 'en-US');
142
+ this.formattedDate = formatDate(new Date(this.date), 'dd/MM/yyyy', 'en-US');
143
+ }
144
+ console.log(this.accGlDetailsEnquiryReportModel);
145
+ }
118
146
  }, error => { console.log(error); });
119
147
  }
148
+ formatDate(params) {
149
+ return formatDate(new Date(params.value), 'dd/MM/yyyy', 'en-US');
150
+ }
120
151
  }
121
152
  AccGlDetailsEnquiryReportComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AccGlDetailsEnquiryReportComponent, deps: [{ token: ReportService }], target: i0.ɵɵFactoryTarget.Component });
122
- AccGlDetailsEnquiryReportComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: AccGlDetailsEnquiryReportComponent, selector: "lib-acc-gl-details-enquiry-report", ngImport: i0, template: "\n<!-- <div>\n\n<div></div>\n\n<ag-grid-angular\nclass=\"ag-theme-alpine\"\nstyle=\"height: 400px; width: 100%;\"\n[rowData]=\"rowData\"\n[columnDefs]=\"columnDefs\"\n>\n</ag-grid-angular>\n\n\n</div> -->\n\n<p>acc-gl-details-enquiry-report works!</p>\n<button (click)=\"getAccGLDetailsReport('2025-02-06','VD','BH','sachin.kamble@xpressmoney.tech','xpress money')\" \n>get acc-gl-details-enquiry-report </button>\n\n\n<div *ngIf=\"accGlDetailsEnquiryReportModel!=undefined\" >\n\n<table style=\"border: 2px solid black;\" >\n <thead style=\"color:black ; background-color: #f5f5f5; \" >\n<th >Sr No</th>\n<th >JournalID</th>\n<th >TransactionNo</th>\n<th>JournalType</th>\n<th>PostingDate</th>\n<th>ValueDate</th>\n<th>Description</th>\n<th>AccountCode</th>\n<th>Currency</th>\n<th>Rate</th>\n<th>ForexDebit</th>\n<th>LocalDebit</th>\n<th>ForexCredit</th>\n<th>LocalCredit</th>\n<th>Id</th>\n<th>RateDecimal</th>\n<th></th>\n </thead>\n <tbody>\n <tr *ngFor=\"let jve of accGlDetailsEnquiryReportModel.journalVoucherEntries index as i\" >\n\n <td>{{i+1}}</td>\n <td>{{jve.journalID}}</td>\n <td>{{jve.transactionNo}}</td>\n <td>{{jve.journalType}}</td>\n <td>{{jve.postingDate}}</td>\n <td>{{jve.valueDate}}</td>\n <td>{{jve.description}}</td>\n <td>{{jve.accountCode}}</td>\n <td>{{jve.currency}}</td>\n <td>{{jve.rate}}</td>\n <td>{{jve.forexDebit}}</td>\n <td>{{jve.localDebit}}</td>\n <td>{{jve.forexCredit}}</td>\n <td>{{jve.localCredit}}</td>\n <td>{{jve.id}}</td>\n <td>{{jve.rateDecimal}}</td>\n <td>{{jve.journalID}}</td>\n </tr>\n\n </tbody>\n</table>\n</div>\n\n<div style=\"margin-left: 3px;\" *ngIf=\"accGlDetailsEnquiryReportModel==undefined\" >\n No data found for this search.\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
153
+ AccGlDetailsEnquiryReportComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: AccGlDetailsEnquiryReportComponent, selector: "lib-acc-gl-details-enquiry-report", ngImport: i0, template: "<div style=\"display: flex; flex-direction: column; width: 100%; padding: 10px; box-sizing: border-box;\">\n\n\n <div style=\"display: flex; flex-wrap: wrap; gap: 10px; align-items: center;\">\n\n <form class=\"d-flex flex-wrap gap-3 align-items-center w-100\">\n\n\n <!-- <div class=\"d-flex align-items-center gap-2\">\n <label for=\"dateTypeFilter\" style=\"font-weight: 500;\" class=\"mb-0 \">Date Type</label>\n <select class=\"form-control\" name=\"dateTypeFilter\" [(ngModel)]=\"dateTypeFilter\" id=\"dateTypeFilter\"\n style=\"width: 140px;\">\n <option [ngValue]=\"1\">Value Date</option>\n <option [ngValue]=\"2\">Posting Date</option>\n </select>\n </div>\n\n\n <div class=\"d-flex align-items-center gap-2\">\n <label for=\"date\" style=\"font-weight: 500;\" class=\"mb-0\">Date</label>\n <input type=\"date\" class=\"form-control\" name=\"date\" [(ngModel)]=\"date\" id=\"date\" style=\"width: 150px;\">\n </div> -->\n\n<!-- ----------------------------------------------------- -->\n<div class=\"d-flex align-items-center gap-2\">\n <label for=\"dateTypeFilter\" style=\"font-weight: 500;\" class=\"mb-0\">Date Type</label>\n <div class=\"required-box\">\n <select class=\"form-control\" name=\"dateTypeFilter\" [(ngModel)]=\"dateTypeFilter\" id=\"dateTypeFilter\">\n <option [ngValue]=\"1\">Value Date</option>\n <option [ngValue]=\"2\">Posting Date</option>\n </select>\n </div>\n</div>\n\n<div class=\"d-flex align-items-center gap-2\">\n <label for=\"date\" style=\"font-weight: 500;\" class=\"mb-0\">Date</label>\n <div class=\"required-box\">\n <input type=\"date\" class=\"form-control\" name=\"date\" [(ngModel)]=\"date\" id=\"date\">\n </div>\n</div>\n\n<!-- -------------- -->\n\n <div>\n <button type=\"button\" style=\"border: 2px solid rgb(13, 110, 253);\" class=\"btn btn-primary\" (click)=\"getAccGLDetailsReport()\">\n View Report\n </button>\n </div>\n\n </form>\n\n\n\n\n\n </div>\n\n\n <hr style=\"margin: 15px 0;\" />\n\n<!-- -------------------------------------------------------------------------------- -->\n <div style=\"border: 1px solid #ccc; padding: 10px; overflow: auto;\">\n\n<!-- *ngIf=\"accGlDetailsEnquiryReportModel != undefined\" -->\n <div style=\"flex:1; overflow-y: auto;\" *ngIf=\"accGlDetailsEnquiryReportModel != undefined\" >\n\n <label style=\"font-size: 21.333px; font-weight: bold; color: black; \">{{companyName}} - General Ledger Account Details Enquiry</label>\n\n <!-- <div class=\"d-flex align-items-center gap-2\">\n <label style=\"font-weight: bold; font-size: 21.333px; color:#004494 ;\" class=\"mb-0\">{{companyName}}</label>\n <label class=\"mb-0\" style=\"font-weight: bold; font-size: 21.333px; color:black ;\"> - General Ledger Account Details Enquiry</label>\n </div> -->\n\n <div class=\"d-flex align-items-center gap-2 mt-4\">\n <label for=\"date\" style=\"font-weight: 500; font-size: 13px;\" class=\"mb-0\">Report User :</label>\n <label class=\"mb-0\" style=\"font-size: 13px;\">{{reportUser}}</label>\n </div>\n\n <div class=\"d-flex align-items-center gap-2 mt-2\">\n <label for=\"date\" style=\"font-weight: 500; font-size: 13px;\" class=\"mb-0\">Report Time :</label>\n <label class=\"mb-0\" style=\"font-size: 13px;\">{{reportTime}}</label>\n </div>\n\n <label style=\"font-weight: bold; font-size: 16px; text-decoration: underline;\" class=\"mt-2\" >Search Criteria</label>\n\n <div class=\"d-flex align-items-center gap-2 mt-2 mb-2\">\n <label for=\"date\" style=\"font-weight: 500; font-size: 13px;\" class=\"mb-0\">Date :</label>\n <label class=\"mb-0\" style=\"font-size: 13px;\">{{formattedDate}}</label>\n </div>\n\n\n\n\n <ag-grid-angular style=\"width: 100%; height: 500px;\" class=\"ag-theme-alpine ag-small-grid\" [rowData]=\"rowData\"\n [columnDefs]=\"columnDefs\" [defaultColDef]=\"defaultColDef\" [enableRangeSelection]=\"true\"\n [enableBrowserTooltips]=\"true\" [gridOptions]=\"gridOptions\" [animateRows]=\"true\" \n [rowHeight]=\"27\" [headerHeight]=\"35\">\n\n </ag-grid-angular>\n\n\n <div class=\"d-flex align-items-center gap-2 mt-2\">\n <label for=\"date\" style=\"font-weight: 500; font-size: 13px;\" class=\"mb-0\">Report User And Time :</label>\n <label class=\"mb-0\" style=\"font-size: 13px;\">{{reportUser}} @ {{reportTime}}</label>\n </div>\n\n\n </div>\n\n\n\n\n\n\n </div>\n</div>", styles: [".ag-theme-alpine{-webkit-user-select:text!important;user-select:text!important}.ag-small-grid .ag-cell,.ag-small-grid .ag-header-cell{font-size:11px;padding:2px 4px}::ng-deep .ag-theme-alpine .ag-cell{border-right:1px solid #ccc}::ng-deep .ag-theme-alpine .ag-row .ag-cell:last-child{border-right:none}::ng-deep .ag-theme-alpine .ag-header-cell{border-right:1px solid #ccc}::ng-deep .ag-theme-alpine .ag-header-row .ag-header-cell:last-child{border-right:none}::ng-deep .ag-theme-alpine .ag-pinned-left-cols-container .ag-cell{border-right:1px solid #ccc!important}::ng-deep .ag-theme-alpine .ag-pinned-left-header .ag-header-cell{border-right:1px solid #ccc!important}.required-box{position:relative;display:inline-block}.required-box .form-control{border:2px solid #C3007D;padding-right:15px;height:38px}.required-box:after{content:\"*\";color:#c3007d;position:absolute;top:1px;right:5px;font-size:16px;pointer-events:none;font-size:22px;font-weight:700}\n"], dependencies: [{ kind: "component", type: i2.AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "suppressMenuHide", "enableBrowserTooltips", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "maintainColumnOrder", "suppressFieldDotNotation", "deltaColumnMode", "applyColumnDefOrder", "immutableColumns", "suppressSetColumnStateEvents", "suppressColumnStateEvents", "colWidth", "minColWidth", "maxColWidth", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressDragLeaveHidesColumns", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "components", "frameworkComponents", "editType", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterMovesDown", "enterMovesDownAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "stopEditingWhenGridLosesFocus", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "defaultExportParams", "quickFilterText", "cacheQuickFilter", "excludeChildrenWhenTreeDataFiltering", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "enableChartToolPanelsButton", "chartToolPanelsDef", "loadingCellRenderer", "loadingCellRendererFramework", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererFramework", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressParentsInRowNodes", "suppressTouch", "suppressFocusAfterRefresh", "suppressAsyncEvents", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentFramework", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentFramework", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "suppressAggAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "enableCellChangeFlash", "cellFlashDelay", "cellFadeDelay", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "fullWidthCellRenderer", "fullWidthCellRendererFramework", "fullWidthCellRendererParams", "embedFullWidthRows", "deprecatedEmbedFullWidthRows", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupAggFiltering", "groupIncludeFooter", "groupIncludeTotalFooter", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererFramework", "groupRowRendererParams", "suppressMakeColumnVisibleAfterUnGroup", "treeData", "rowGroupPanelSuppressSort", "groupRowsSticky", "groupRowInnerRenderer", "groupRowInnerRendererFramework", "groupMultiAutoColumn", "groupUseEntireRow", "groupSuppressAutoColumn", "rememberGroupStateWhenNewData", "pinnedTopRowData", "pinnedBottomRowData", "rowModelType", "rowData", "immutableData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "deltaRowDataMode", "batchUpdateWaitMillis", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "serverSideStoreType", "serverSideInfiniteScroll", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideFilterAllLevels", "serverSideSortOnServer", "serverSideFilterOnServer", "serverSideSortingAlwaysResets", "serverSideFilteringAlwaysResets", "suppressEnterpriseResetOnNewColumns", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellSelection", "suppressCellFocus", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "deltaSort", "treeDataDisplayType", "angularCompileRows", "angularCompileFilters", "functionsPassive", "enableGroupEdit", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "suppressKeyboardEvent", "localeTextFunc", "getLocaleText", "getDocument", "paginationNumberFormatter", "groupRowAggNodes", "getGroupRowAgg", "isGroupOpenByDefault", "initialGroupOrderComparator", "defaultGroupOrderComparator", "processSecondaryColDef", "processSecondaryColGroupDef", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "defaultGroupSortComparator", "getChildCount", "getServerSideGroupLevelParams", "getServerSideStoreParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowNodeId", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSort", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthCell", "isFullWidthRow"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "filterOpened", "filterChanged", "filterModified", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "cellKeyPress", "gridReady", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pinnedRowDataChanged", "rowDataChanged", "rowDataUpdated", "asyncTransactionsFlushed", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "sortChanged", "columnRowGroupChangeRequest", "columnPivotChangeRequest", "columnValueChangeRequest", "columnAggFuncChangeRequest"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] });
123
154
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AccGlDetailsEnquiryReportComponent, decorators: [{
124
155
  type: Component,
125
- args: [{ selector: 'lib-acc-gl-details-enquiry-report', template: "\n<!-- <div>\n\n<div></div>\n\n<ag-grid-angular\nclass=\"ag-theme-alpine\"\nstyle=\"height: 400px; width: 100%;\"\n[rowData]=\"rowData\"\n[columnDefs]=\"columnDefs\"\n>\n</ag-grid-angular>\n\n\n</div> -->\n\n<p>acc-gl-details-enquiry-report works!</p>\n<button (click)=\"getAccGLDetailsReport('2025-02-06','VD','BH','sachin.kamble@xpressmoney.tech','xpress money')\" \n>get acc-gl-details-enquiry-report </button>\n\n\n<div *ngIf=\"accGlDetailsEnquiryReportModel!=undefined\" >\n\n<table style=\"border: 2px solid black;\" >\n <thead style=\"color:black ; background-color: #f5f5f5; \" >\n<th >Sr No</th>\n<th >JournalID</th>\n<th >TransactionNo</th>\n<th>JournalType</th>\n<th>PostingDate</th>\n<th>ValueDate</th>\n<th>Description</th>\n<th>AccountCode</th>\n<th>Currency</th>\n<th>Rate</th>\n<th>ForexDebit</th>\n<th>LocalDebit</th>\n<th>ForexCredit</th>\n<th>LocalCredit</th>\n<th>Id</th>\n<th>RateDecimal</th>\n<th></th>\n </thead>\n <tbody>\n <tr *ngFor=\"let jve of accGlDetailsEnquiryReportModel.journalVoucherEntries index as i\" >\n\n <td>{{i+1}}</td>\n <td>{{jve.journalID}}</td>\n <td>{{jve.transactionNo}}</td>\n <td>{{jve.journalType}}</td>\n <td>{{jve.postingDate}}</td>\n <td>{{jve.valueDate}}</td>\n <td>{{jve.description}}</td>\n <td>{{jve.accountCode}}</td>\n <td>{{jve.currency}}</td>\n <td>{{jve.rate}}</td>\n <td>{{jve.forexDebit}}</td>\n <td>{{jve.localDebit}}</td>\n <td>{{jve.forexCredit}}</td>\n <td>{{jve.localCredit}}</td>\n <td>{{jve.id}}</td>\n <td>{{jve.rateDecimal}}</td>\n <td>{{jve.journalID}}</td>\n </tr>\n\n </tbody>\n</table>\n</div>\n\n<div style=\"margin-left: 3px;\" *ngIf=\"accGlDetailsEnquiryReportModel==undefined\" >\n No data found for this search.\n</div>" }]
156
+ args: [{ selector: 'lib-acc-gl-details-enquiry-report', template: "<div style=\"display: flex; flex-direction: column; width: 100%; padding: 10px; box-sizing: border-box;\">\n\n\n <div style=\"display: flex; flex-wrap: wrap; gap: 10px; align-items: center;\">\n\n <form class=\"d-flex flex-wrap gap-3 align-items-center w-100\">\n\n\n <!-- <div class=\"d-flex align-items-center gap-2\">\n <label for=\"dateTypeFilter\" style=\"font-weight: 500;\" class=\"mb-0 \">Date Type</label>\n <select class=\"form-control\" name=\"dateTypeFilter\" [(ngModel)]=\"dateTypeFilter\" id=\"dateTypeFilter\"\n style=\"width: 140px;\">\n <option [ngValue]=\"1\">Value Date</option>\n <option [ngValue]=\"2\">Posting Date</option>\n </select>\n </div>\n\n\n <div class=\"d-flex align-items-center gap-2\">\n <label for=\"date\" style=\"font-weight: 500;\" class=\"mb-0\">Date</label>\n <input type=\"date\" class=\"form-control\" name=\"date\" [(ngModel)]=\"date\" id=\"date\" style=\"width: 150px;\">\n </div> -->\n\n<!-- ----------------------------------------------------- -->\n<div class=\"d-flex align-items-center gap-2\">\n <label for=\"dateTypeFilter\" style=\"font-weight: 500;\" class=\"mb-0\">Date Type</label>\n <div class=\"required-box\">\n <select class=\"form-control\" name=\"dateTypeFilter\" [(ngModel)]=\"dateTypeFilter\" id=\"dateTypeFilter\">\n <option [ngValue]=\"1\">Value Date</option>\n <option [ngValue]=\"2\">Posting Date</option>\n </select>\n </div>\n</div>\n\n<div class=\"d-flex align-items-center gap-2\">\n <label for=\"date\" style=\"font-weight: 500;\" class=\"mb-0\">Date</label>\n <div class=\"required-box\">\n <input type=\"date\" class=\"form-control\" name=\"date\" [(ngModel)]=\"date\" id=\"date\">\n </div>\n</div>\n\n<!-- -------------- -->\n\n <div>\n <button type=\"button\" style=\"border: 2px solid rgb(13, 110, 253);\" class=\"btn btn-primary\" (click)=\"getAccGLDetailsReport()\">\n View Report\n </button>\n </div>\n\n </form>\n\n\n\n\n\n </div>\n\n\n <hr style=\"margin: 15px 0;\" />\n\n<!-- -------------------------------------------------------------------------------- -->\n <div style=\"border: 1px solid #ccc; padding: 10px; overflow: auto;\">\n\n<!-- *ngIf=\"accGlDetailsEnquiryReportModel != undefined\" -->\n <div style=\"flex:1; overflow-y: auto;\" *ngIf=\"accGlDetailsEnquiryReportModel != undefined\" >\n\n <label style=\"font-size: 21.333px; font-weight: bold; color: black; \">{{companyName}} - General Ledger Account Details Enquiry</label>\n\n <!-- <div class=\"d-flex align-items-center gap-2\">\n <label style=\"font-weight: bold; font-size: 21.333px; color:#004494 ;\" class=\"mb-0\">{{companyName}}</label>\n <label class=\"mb-0\" style=\"font-weight: bold; font-size: 21.333px; color:black ;\"> - General Ledger Account Details Enquiry</label>\n </div> -->\n\n <div class=\"d-flex align-items-center gap-2 mt-4\">\n <label for=\"date\" style=\"font-weight: 500; font-size: 13px;\" class=\"mb-0\">Report User :</label>\n <label class=\"mb-0\" style=\"font-size: 13px;\">{{reportUser}}</label>\n </div>\n\n <div class=\"d-flex align-items-center gap-2 mt-2\">\n <label for=\"date\" style=\"font-weight: 500; font-size: 13px;\" class=\"mb-0\">Report Time :</label>\n <label class=\"mb-0\" style=\"font-size: 13px;\">{{reportTime}}</label>\n </div>\n\n <label style=\"font-weight: bold; font-size: 16px; text-decoration: underline;\" class=\"mt-2\" >Search Criteria</label>\n\n <div class=\"d-flex align-items-center gap-2 mt-2 mb-2\">\n <label for=\"date\" style=\"font-weight: 500; font-size: 13px;\" class=\"mb-0\">Date :</label>\n <label class=\"mb-0\" style=\"font-size: 13px;\">{{formattedDate}}</label>\n </div>\n\n\n\n\n <ag-grid-angular style=\"width: 100%; height: 500px;\" class=\"ag-theme-alpine ag-small-grid\" [rowData]=\"rowData\"\n [columnDefs]=\"columnDefs\" [defaultColDef]=\"defaultColDef\" [enableRangeSelection]=\"true\"\n [enableBrowserTooltips]=\"true\" [gridOptions]=\"gridOptions\" [animateRows]=\"true\" \n [rowHeight]=\"27\" [headerHeight]=\"35\">\n\n </ag-grid-angular>\n\n\n <div class=\"d-flex align-items-center gap-2 mt-2\">\n <label for=\"date\" style=\"font-weight: 500; font-size: 13px;\" class=\"mb-0\">Report User And Time :</label>\n <label class=\"mb-0\" style=\"font-size: 13px;\">{{reportUser}} @ {{reportTime}}</label>\n </div>\n\n\n </div>\n\n\n\n\n\n\n </div>\n</div>", styles: [".ag-theme-alpine{-webkit-user-select:text!important;user-select:text!important}.ag-small-grid .ag-cell,.ag-small-grid .ag-header-cell{font-size:11px;padding:2px 4px}::ng-deep .ag-theme-alpine .ag-cell{border-right:1px solid #ccc}::ng-deep .ag-theme-alpine .ag-row .ag-cell:last-child{border-right:none}::ng-deep .ag-theme-alpine .ag-header-cell{border-right:1px solid #ccc}::ng-deep .ag-theme-alpine .ag-header-row .ag-header-cell:last-child{border-right:none}::ng-deep .ag-theme-alpine .ag-pinned-left-cols-container .ag-cell{border-right:1px solid #ccc!important}::ng-deep .ag-theme-alpine .ag-pinned-left-header .ag-header-cell{border-right:1px solid #ccc!important}.required-box{position:relative;display:inline-block}.required-box .form-control{border:2px solid #C3007D;padding-right:15px;height:38px}.required-box:after{content:\"*\";color:#c3007d;position:absolute;top:1px;right:5px;font-size:16px;pointer-events:none;font-size:22px;font-weight:700}\n"] }]
126
157
  }], ctorParameters: function () { return [{ type: ReportService }]; } });
127
158
 
128
159
  const routes = [
@@ -350,7 +381,7 @@ ReportsLibModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versio
350
381
  AgGridModule,
351
382
  ReportsLibRoutingModule,
352
383
  CommonModule,
353
- HttpClientModule, i1$3.NgIdleModule, i1$2.OAuthModule], exports: [ReportsLibComponent,
384
+ HttpClientModule, i1$3.NgIdleModule, i1$2.OAuthModule, FormsModule], exports: [ReportsLibComponent,
354
385
  AccGlDetailsEnquiryReportComponent] });
355
386
  ReportsLibModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ReportsLibModule, providers: [
356
387
  ActiveXService,
@@ -367,7 +398,8 @@ ReportsLibModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", versio
367
398
  CommonModule,
368
399
  HttpClientModule,
369
400
  NgIdleModule.forRoot(),
370
- OAuthModule.forRoot()] });
401
+ OAuthModule.forRoot(),
402
+ FormsModule] });
371
403
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ReportsLibModule, decorators: [{
372
404
  type: NgModule,
373
405
  args: [{
@@ -383,6 +415,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
383
415
  HttpClientModule,
384
416
  NgIdleModule.forRoot(),
385
417
  OAuthModule.forRoot(),
418
+ FormsModule
386
419
  ],
387
420
  providers: [
388
421
  ActiveXService,