import { Component } from '@angular/core';
import moment from 'moment';
import * as i0 from "@angular/core";
import * as i1 from "@angular/forms";
import * as i2 from "../../modules/shared/services/shared.service";
import * as i3 from "@angular/material/snack-bar";
import * as i4 from "@angular/router";
import * as i5 from "@angular/common";
import * as i6 from "@angular/material/legacy-card";
import * as i7 from "@angular/material/legacy-form-field";
import * as i8 from "@angular/material/legacy-input";
import * as i9 from "@angular/material/icon";
import * as i10 from "@angular/material/legacy-select";
import * as i11 from "@angular/material/legacy-core";
import * as i12 from "ngx-daterangepicker-material";
export class DashboardComponent {
    constructor(fb, sharedService, snackBar, router) {
        this.fb = fb;
        this.sharedService = sharedService;
        this.snackBar = snackBar;
        this.router = router;
        this.isSuperAdmin = false;
        this.selected = {
            startDate: moment().subtract(3, 'month'),
            endDate: moment()
        };
        this.ministriesList = [
            { id: 1, name: 'Ministry A' },
            { id: 2, name: 'Ministry B' },
            { id: 3, name: 'Ministry C' }
        ];
        this.departmentsList = [
            { id: 1, name: 'Dept X' },
            { id: 2, name: 'Dept Y' },
            { id: 3, name: 'Dept Z' }
        ];
        this.selectedMinistryType = 'ministry';
        this.selectedMinistryId = '';
        this.panelOpen = false;
        this.departmentPanelOpen = false;
        this.filteredList = [];
        this.filteredDepartmentList = [];
        this.ministryData = [];
        this.ministryFullData = [];
        this.departmentData = [];
        this.selectedMinistryObj = {};
        this.apiLoading = false;
        this.loginUserOrgIds = [];
        this.dashboardResponseObj = {};
        this.cbpFinalObj = {};
    }
    ngOnInit() {
        this.userProfile = JSON.parse(localStorage.getItem('userProfile') || '{}');
        this.isSuperAdmin = this.userProfile?.role_info?.role_name === 'Super Admin'
            && this.userProfile?.role_info?.is_active;
        this.loginUserOrgIds = this.userProfile?.organization_ids;
        this.cbpFinalObj = this.sharedService.getCBPPlanLocalStorage();
        console.log('this.cbpFinalObj--', this.cbpFinalObj);
        // Initialize the form without disabling anything
        this.filtersForm = this.fb.group({
            centreState: [''],
            ministries: [[]],
            departments: [[]],
            dateRange: [{ startDate: moment().subtract(3, 'month'), endDate: moment() }]
        });
        if (this.cbpFinalObj) {
            let event = { value: this.cbpFinalObj?.ministry?.sbOrgType };
            let ministryEvent = { value: this.cbpFinalObj?.ministry?.identifier };
            this.onMinistryTypeChange(event);
            this.onMinistryChange(ministryEvent);
            setTimeout(() => {
                this.filtersForm.patchValue({
                    centreState: this.selectedMinistryType,
                    ministries: [this.cbpFinalObj?.ministry?.identifier],
                    departments: [this.cbpFinalObj?.departments]
                });
            }, 1000);
        }
        // Dynamically enable controls if super admin
        if (this.isSuperAdmin) {
            this.filtersForm.get('centreState')?.enable();
            this.filtersForm.get('ministries')?.enable();
            this.filtersForm.get('departments')?.enable();
        }
        else {
            // optionally disable for non-super-admin
            this.filtersForm.get('centreState')?.disable();
            this.filtersForm.get('ministries')?.disable();
            this.filtersForm.get('departments')?.disable();
        }
        // Trigger API call on filter change
        this.filtersForm.valueChanges.subscribe(val => {
            this.getDashboardData(val);
        });
    }
    getDashboardData(val) {
        console.log('val', val);
        let dateRangePayload = null;
        if (val.dateRange && val.dateRange.startDate && val.dateRange.endDate) {
            dateRangePayload = {
                from: moment(val.dateRange.startDate).format('YYYY-MM-DD'),
                to: moment(val.dateRange.endDate).format('YYYY-MM-DD')
            };
        }
        let payload = {
            ministries: val?.ministries,
            date_range: dateRangePayload
        };
        if (val?.departments?.length) {
            payload['departments'] = val?.departments;
        }
        if (this.isSuperAdmin) {
            this.dashboardData = {};
            this.sharedService.getDashboardAdmin(payload).subscribe((res) => {
                console.log('res from admin', res);
                Object.assign(this.dashboardData, res); // merge data
                console.log('this.dashboardData after admin', this.dashboardData);
            });
            this.sharedService.getDashboardGapAnalysisAdmin(payload).subscribe((res) => {
                console.log('res from gap analysis', res);
                Object.assign(this.dashboardData, res); // merge data
                console.log('this.dashboardData after gap analysis', this.dashboardData);
            });
        }
        else {
            this.dashboardData = {};
            this.sharedService.getDashboardPublic(payload).subscribe((res) => {
                Object.assign(this.dashboardData, res);
            });
            this.sharedService.getDashboardGapAnalysisPublic(payload).subscribe((res) => {
                Object.assign(this.dashboardData, res);
            });
        }
        console.log('this.dashboardData', this.dashboardData);
    }
    onOpened(opened) {
        this.panelOpen = opened;
    }
    onOpenedDepartment(opened) {
        this.departmentPanelOpen = opened;
    }
    filterData(event) {
        if (event && event.target && event.target.value) {
            const s = event.target.value.toLowerCase();
            this.filteredList = this.ministryData.filter(x => x.orgName.toLowerCase().includes(s));
        }
        else {
            this.filteredList = this.ministryData;
        }
    }
    filterDepartmentData(event) {
        if (event && event.target && event.target.value) {
            const s = event.target.value.toLowerCase();
            this.filteredDepartmentList = this.departmentData.filter(x => x.orgName.toLowerCase().includes(s));
        }
        else {
            this.filteredDepartmentList = this.departmentData;
        }
    }
    onMinistryChange(event) {
        const selectedMinistryId = event.value;
        console.log('Selected Ministry ID:', selectedMinistryId);
        this.departmentData = [];
        // You can access the selected object if needed
        const selectedMinistry = this.ministryData.find(item => item.identifier === selectedMinistryId);
        this.selectedMinistryObj = selectedMinistry;
        if (selectedMinistryId && this.selectedMinistryType === 'state') {
            this.sharedService.getDepartmentList(selectedMinistryId).subscribe((res) => {
                this.departmentData = res;
                this.filteredDepartmentList = res;
            });
        }
        if (selectedMinistryId && this.selectedMinistryType === 'ministry') {
            this.sharedService.getCenterBasedDepartment(selectedMinistryId).subscribe((res) => {
                if (res?.length) {
                    this.departmentData = res;
                    this.filteredDepartmentList = res;
                }
                else {
                    this.snackBar.open('No Department Found for Selected Ministry', 'X', {
                        duration: 3000,
                        panelClass: ['snackbar-error']
                    });
                }
            });
        }
    }
    onDepartmentChange() {
        const formData = this.filtersForm.value;
        const selectedMinistry = this.ministryData.find(item => item.identifier === formData.ministry);
        this.sharedService.cbpPlanFinalObj['ministry'] = selectedMinistry;
        const departmentName = this.departmentData.find(u => u.identifier === formData.departments);
        this.sharedService.cbpPlanFinalObj['department_name'] = departmentName?.orgName;
    }
    async onMinistryTypeChange(event) {
        console.log('event', event);
        this.selectedMinistryType = event.value;
        await this.getMinistryData();
        this.ministryData = [];
        if (event?.value === 'state') {
            this.filtersForm.patchValue({
                centreState: this.selectedMinistryType,
                ministries: [],
                departments: []
            });
            this.ministryFullData.forEach((item) => {
                if (item?.type === 'state') {
                    this.ministryData.push(item);
                }
            });
        }
        else if (event?.value === 'ministry') {
            this.ministryFullData.forEach((item) => {
                if (item?.type === 'central') {
                    this.ministryData.push(item);
                }
            });
        }
        this.filtersForm.patchValue({
            centreState: this.selectedMinistryType,
            ministries: [],
            departments: []
        });
    }
    getMinistryData() {
        this.apiLoading = true;
        this.sharedService.getMinistryData(this.selectedMinistryType).subscribe((data) => {
            console.log('data--', data);
            this.ministryFullData = data;
            this.apiLoading = false;
            this.ministryData = [];
            let filteredMinistryData = [];
            this.ministryFullData.map((item) => {
                if (this.loginUserOrgIds.indexOf(item?.identifier) > -1) {
                    filteredMinistryData.push(item);
                }
                this.filteredList = filteredMinistryData;
            });
            if (this.selectedMinistryType === 'ministry') {
                data.forEach((item) => {
                    if (item?.sbOrgType === 'ministry') {
                        this.ministryData.push(item);
                    }
                });
            }
            else if (this.selectedMinistryType === 'state') {
                data.forEach((item) => {
                    if (item?.sbOrgType === 'state') {
                        this.ministryData.push(item);
                    }
                });
            }
        });
    }
    routeToInitial() {
        this.router.navigate(['/ai/initial']);
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DashboardComponent, deps: [{ token: i1.FormBuilder }, { token: i2.SharedService }, { token: i3.MatSnackBar }, { token: i4.Router }], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DashboardComponent, selector: "app-dashboard", ngImport: i0, template: "<div class=\"dashboard-wrapper\">\n    <div class=\"header\">\n        <div class=\"sub-heading mt-10 mb-10 cursor-pointer\">\n            <p (click)=\"routeToInitial()\"><mat-icon style=\"vertical-align: middle;\">arrow_back</mat-icon><span\n                    class=\"pl-10\">Back to Role Mapping Generation</span></p>\n        </div>\n\n    </div>\n    <div class=\"dashboard-container\">\n\n        <!-- FILTERS SECTION -->\n        <form [formGroup]=\"filtersForm\" class=\"filters-form\">\n\n            <mat-card class=\"filters-card\">\n                <div class=\"filters-header\">\n                    <mat-icon>filter_list</mat-icon>\n                    <span>Filters</span>\n                </div>\n\n                <div class=\"filters-row\">\n                    <div>\n                        <label>Centre / State </label>\n                        <!-- Centre / State -->\n                        <mat-form-field appearance=\"fill\"\n                            style=\"background: white; border-radius: 25px; padding: 0 12px; border: 1px solid #ccc;width: 100%;\">\n\n                            <mat-select formControlName=\"centreState\" [disabled]=\"!isSuperAdmin\"\n                                (selectionChange)=\"onMinistryTypeChange($event)\">\n                                <mat-option value=\"\">Select Center/State</mat-option>\n                                <mat-option value=\"ministry\">Center</mat-option>\n                                <mat-option value=\"state\">State</mat-option>\n                            </mat-select>\n                        </mat-form-field>\n                    </div>\n                    <div>\n                        <label>{{selectedMinistryType === 'ministry' ? 'Ministry':'State'}} </label>\n                        <!-- Centre / State -->\n                        <mat-form-field appearance=\"fill\"\n                            style=\"background: white; border-radius: 25px; padding: 0 12px; border: 1px solid #ccc;width: 100%;\">\n                            <mat-select panelClass=\"select-with-search\" [disabled]=\"!isSuperAdmin\" multiple\n                                [placeholder]=\"selectedMinistryType === 'ministry' ? 'Select Ministry/ Department':'Select State'\"\n                                (selectionChange)=\"onMinistryChange($event)\" formControlName=\"ministries\"\n                                style=\"border-radius: 25px; background: white; width:100%\"\n                                (openedChange)=\"onOpened($event)\">\n                                <div class=\"search-wrapper\" *ngIf=\"panelOpen\">\n                                    <input type=\"text\" placeholder=\"Search...\" (input)=\"filterData($event)\"\n                                        class=\"search-input\" (keydown.space)=\"$event.stopPropagation()\"\n                                        (keydown)=\"$event.stopPropagation()\">\n                                </div>\n                                <!-- [selected]=\"selectedMinistryId === item?.identifier\" -->\n                                <mat-option [value]=\"item?.identifier\" *ngFor=\"let item of filteredList\"\n                                    >{{item?.orgName}}</mat-option>\n                            </mat-select>\n                        </mat-form-field>\n                    </div>\n                    <div>\n                        <label>Department</label>\n                        <!-- Centre / State -->\n                        <mat-form-field appearance=\"fill\"\n                            style=\"background: white; border-radius: 25px; padding: 0 12px;border: 1px solid #ccc;\">\n                            <mat-select panelClass=\"select-with-search\" placeholder=\"Select Department\"\n                                [disabled]=\"!isSuperAdmin\" multiple formControlName=\"departments\"\n                                style=\"border-radius: 25px; background: white;\" (selectionChange)=\"onDepartmentChange()\"\n                                (openedChange)=\"onOpenedDepartment($event)\">\n                                <div class=\"search-wrapper\" *ngIf=\"departmentPanelOpen\">\n                                    <input type=\"text\" placeholder=\"Search...\" (input)=\"filterDepartmentData($event)\"\n                                        class=\"search-input\" (keydown.space)=\"$event.stopPropagation()\"\n                                        (keydown)=\"$event.stopPropagation()\">\n                                </div>\n                                <mat-option [value]=\"item?.identifier\"\n                                    *ngFor=\"let item of filteredDepartmentList\">{{item?.orgName}}</mat-option>\n\n                            </mat-select>\n                        </mat-form-field>\n                    </div>\n\n                    <!-- Date Range -->\n                    <div>\n                        <label>Date Range </label>\n                        <mat-form-field appearance=\"outline\">\n\n                            <input matInput ngxDaterangepickerMd formControlName=\"dateRange\" style=\"margin:10px\"\n                                placeholder=\"Select date range\" [autoApply]=\"true\" [linkedCalendars]=\"true\"\n                                [locale]=\"{ format: 'DD MMM YYYY' }\" />\n                        </mat-form-field>\n                    </div>\n\n\n                </div>\n            </mat-card>\n        </form>\n\n        <!-- OVERVIEW METRICS -->\n        <h2 class=\"section-title\">\n            <mat-icon>dashboard</mat-icon>\n            Overview Metrics\n        </h2>\n\n        <div class=\"card-grid\">\n\n            <mat-card class=\"metric-card\">\n                <div class=\"card-content\">\n                    <div>\n                        <p class=\"card-title\">States/Ministries which generated Role Mapping</p>\n                        <h2>{{this.dashboardData?.ministry_count}}</h2>\n                        <!-- <p class=\"card-subtitle\">At least 1 designation/role mapping</p> -->\n                    </div>\n                    <mat-icon class=\"icon primary\">public</mat-icon>\n                </div>\n            </mat-card>\n\n            <mat-card class=\"metric-card\">\n                <div class=\"card-content\">\n                    <div>\n                        <p class=\"card-title\">Departments which generated Role Mapping</p>\n                        <h2>{{this.dashboardData?.department_count}}</h2>\n                        <!-- <p class=\"card-subtitle\">At least 1 designation/role mapping</p> -->\n                    </div>\n                    <mat-icon class=\"icon teal\">apartment</mat-icon>\n                </div>\n            </mat-card>\n\n            <mat-card class=\"metric-card\">\n                <div class=\"card-content\">\n                    <div>\n                        <p class=\"card-title\">Total Capacity Building Plans Created</p>\n                        <h2>{{this.dashboardData?.total_cbp_plan_count}}</h2>\n                    </div>\n                    <mat-icon class=\"icon green\">description</mat-icon>\n                </div>\n            </mat-card>\n\n        </div>\n\n        <!-- COMPETENCIES -->\n        <h2 class=\"section-title\">\n            <mat-icon>psychology</mat-icon>\n            Competencies Recommended\n        </h2>\n\n        <div class=\"card-grid\">\n\n            <mat-card class=\"metric-card\">\n                <div class=\"card-content\">\n                    <div>\n                        <p class=\"card-title\">Behavioral Competencies</p>\n                        <h2>{{this.dashboardData?.behavioral_competencies_count}}</h2>\n                    </div>\n                    <mat-icon class=\"icon purple\">psychology</mat-icon>\n                </div>\n            </mat-card>\n\n            <mat-card class=\"metric-card\">\n                <div class=\"card-content\">\n                    <div>\n                        <p class=\"card-title\">Functional Competencies</p>\n                        <h2>{{this.dashboardData?.functional_competencies_count}}</h2>\n                    </div>\n                    <mat-icon class=\"icon teal\">settings</mat-icon>\n                </div>\n            </mat-card>\n\n            <mat-card class=\"metric-card\">\n                <div class=\"card-content\">\n                    <div>\n                        <p class=\"card-title\">Domain Competencies</p>\n                        <h2>{{this.dashboardData?.domain_competencies_count}}</h2>\n                    </div>\n                    <mat-icon class=\"icon orange\">tune</mat-icon>\n                </div>\n            </mat-card>\n\n        </div>\n\n        <!-- DOCUMENTS -->\n        <h2 class=\"section-title\">\n            <mat-icon>menu_book</mat-icon>\n            Documents & Course Recommendations\n        </h2>\n\n        <div class=\"card-grid\">\n\n            <mat-card class=\"metric-card\">\n                <div class=\"card-content\">\n                    <div>\n                        <p class=\"card-title\">Total Documents Uploaded</p>\n                        <h2>{{this.dashboardData?.total_documents}}</h2>\n                        <!-- <p class=\"card-subtitle\">Min 1, Max 10 per role mapping</p> -->\n                    </div>\n                    <mat-icon class=\"icon amber\">upload_file</mat-icon>\n                </div>\n            </mat-card>\n\n            <mat-card class=\"metric-card\">\n                <div class=\"card-content\">\n                    <div>\n                        <p class=\"card-title\">Role Mappings with Course Recommendations</p>\n                        <h2>{{this.dashboardData?.role_mappings_with_recommendations}}</h2>\n                        <!-- <p class=\"card-subtitle\">8500 of 50,000 role mappings</p> -->\n                    </div>\n                    <mat-icon class=\"icon green\">menu_book</mat-icon>\n                </div>\n            </mat-card>\n\n            <mat-card class=\"metric-card\">\n                <div class=\"card-content\">\n                    <div>\n                        <p class=\"card-title\">Course Recommendations Saved</p>\n                        <h2>{{this.dashboardData?.saved_recommended_courses_count}}</h2>\n                        <!-- <p class=\"card-subtitle\">{{this.dashboardData?.saved_recommended_courses_count}} of 8500\n                            recommendations</p> -->\n                    </div>\n                    <mat-icon class=\"icon teal\">save</mat-icon>\n                </div>\n            </mat-card>\n\n        </div>\n\n        <!-- GAP ANALYSIS -->\n        <div class=\"gap-section\">\n            <h2 class=\"section-title warning\">\n                <mat-icon>warning</mat-icon>\n                Gap Analysis\n            </h2>\n\n            <div class=\"card-grid-alone\">\n\n                <mat-card class=\"metric-card warning-bg\">\n                    <div class=\"card-content\">\n                        <div>\n                            <p class=\"card-title\">Competencies Without Courses</p>\n                            <h2>{{this.dashboardData?.competencies_without_courses}}</h2>\n                            <p class=\"card-subtitle\">Unique competencies with no identified courses</p>\n                        </div>\n                        <mat-icon class=\"icon red\">cancel</mat-icon>\n                    </div>\n                </mat-card>\n\n                <!-- <mat-card class=\"metric-card\">\n                    <div class=\"card-content\">\n                        <div>\n                            <p class=\"card-title\">Manually Added Courses</p>\n                            <h2>-</h2>\n                            <p class=\"card-subtitle\">Competencies with user-added courses</p>\n                        </div>\n                        <mat-icon class=\"icon green\">add_circle</mat-icon>\n                    </div>\n                </mat-card> -->\n\n            </div>\n\n            <div class=\"card-grid mt-2\">\n\n                <mat-card class=\"metric-card warning-bg\">\n                    <div class=\"card-content\">\n                        <div>\n                            <p class=\"card-title\">Behavioral Competencies Without Courses</p>\n                            <h2>{{this.dashboardData?.behavioral_without_courses}}</h2>\n                        </div>\n                        <mat-icon class=\"icon red\">cancel</mat-icon>\n                    </div>\n                </mat-card>\n\n                <mat-card class=\"metric-card\">\n                    <div class=\"card-content\">\n                        <div>\n                            <p class=\"card-title\">Functional Competencies Without Courses</p>\n                            <h2>{{this.dashboardData?.functional_without_courses}}</h2>\n                        </div>\n                        <mat-icon class=\"icon red\">cancel</mat-icon>\n                    </div>\n                </mat-card>\n\n                <mat-card class=\"metric-card\">\n                    <div class=\"card-content\">\n                        <div>\n                            <p class=\"card-title\">Domain Competencies Without Courses</p>\n                            <h2>{{this.dashboardData?.domain_without_courses}}</h2>\n                        </div>\n                        <mat-icon class=\"icon red\">cancel</mat-icon>\n                    </div>\n                </mat-card>\n\n            </div>\n        </div>\n\n        <!-- OVERVIEW METRICS -->\n        <h2 class=\"section-title\">\n            <mat-icon>dashboard</mat-icon>\n            Users and Role Mapping Metrics\n        </h2>\n\n        <div class=\"card-grid\">\n\n            <mat-card class=\"metric-card\" *ngIf=\"!isSuperAdmin\">\n                <div class=\"card-content\">\n                    <div>\n                        <p class=\"card-title\">Unique Users (Credentials)</p>\n                        <h2>{{this.dashboardData?.total_users}}</h2>\n                    </div>\n                    <mat-icon class=\"icon primary\">public</mat-icon>\n                </div>\n            </mat-card>\n\n            <mat-card class=\"metric-card\" *ngIf=\"!isSuperAdmin\">\n                <div class=\"card-content\">\n                    <div>\n                        <p class=\"card-title\">Unique Users with Role Mappings</p>\n                        <h2>{{this.dashboardData?.users_with_role_mappings}}</h2>\n                        <!-- <p class=\"card-subtitle\">Generated atleast 1 role mapping</p> -->\n                    </div>\n                    <mat-icon class=\"icon teal\">apartment</mat-icon>\n                </div>\n            </mat-card>\n\n            <mat-card class=\"metric-card\">\n                <div class=\"card-content\">\n                    <div>\n                        <p class=\"card-title\">Total Designation/Role Mappings Generated</p>\n                        <h2>{{this.dashboardData?.total_role_mappings}}</h2>\n                    </div>\n                    <mat-icon class=\"icon green\">description</mat-icon>\n                </div>\n            </mat-card>\n\n            <mat-card class=\"metric-card\">\n                <div class=\"card-content\">\n                    <div>\n                        <p class=\"card-title\">Unique Role Mappings</p>\n                        <h2>{{this.dashboardData?.unique_role_mappings}}</h2>\n                        <!-- <p class=\"card-subtitle\">10,000 unique of 50,000 total</p> -->\n                    </div>\n                    <mat-icon class=\"icon teal\">apartment</mat-icon>\n                </div>\n            </mat-card>\n\n        </div>\n    </div>\n</div>", styles: [".dashboard-wrapper{background:transparent;min-height:100vh;padding:24px 10px;margin:0 30px 0 60px}.dashboard-container{max-width:auto;margin:0 auto}.section-title{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:600;color:#000;margin:20px 0}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.card-grid-alone{display:grid;grid-template-columns:repeat(1,1fr);gap:32px}.metric-card{padding:24px;border-radius:12px;box-shadow:none;border:1px solid #e5e7eb}.card-content{display:flex;justify-content:space-between;align-items:center}.card-title{font-size:14px;color:#6b7280;margin-bottom:6px}.metric-card h2{font-size:28px;font-weight:700;color:#000;margin:0}.card-subtitle{font-size:12px;color:#9ca3af;margin-top:6px}.icon{font-size:28px;width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center}.primary{color:#2563eb}.teal{color:#059669}.green{color:#16a34a}.purple{color:#9333ea}.orange{color:#f97316}.amber{color:#f59e0b}.red,.section-title.warning{color:#dc2626}.warning-card{background:#fdeaea;border:1px solid #f5c2c7}.filters-card{padding:20px 24px;border-radius:12px;border:1px solid #e5e7eb;box-shadow:none}.filters-header{display:flex;align-items:center;gap:8px;font-weight:600;margin-bottom:16px}.filters-row{display:flex;gap:24px;flex-wrap:wrap}.filters-row mat-form-field{flex:1;min-width:220px}:host ::ng-deep .mat-form-field-appearance-outline .mat-form-field-outline{color:#ccc}:host ::ng-deep .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#1b4ca1;border-color:#1b4ca1!important}::ng-deep .select-search-panel .mat-option.mat-selected:not(.mat-option-disabled){background-color:#1b4ca1!important;color:#fff!important}:host ::ng-deep .mat-form-field-appearance-outline{border-radius:25px;border:1px solid #ccc}:host ::ng-deep .mat-form-field-focused .mat-form-field-appearance-outline{border-color:#1b4ca1!important}:host ::ng-deep .mat-form-field-appearance-outline .mat-form-field-outline-start{border-radius:25px 0 0 25px;border:none!important}:host ::ng-deep .mat-form-field-appearance-outline .mat-form-field-outline-end{border-right:none!important;border:none!important;border-radius:0 25px 25px 0}:host ::ng-deep .mat-form-field-appearance-outline .mat-form-field-outline-gap{border:none!important;border-radius:25px}:host::ng-deep .mat-form-field-appearance-outline .mat-form-field-infix{background-color:transparent!important}.dashboard-container .mat-card{background-color:#fff}.gap-title{color:#b91c1c}.gap-section{background-color:#d926621a;padding:10px;border-radius:12px;border:1px solid #f5c2c7;margin:16px 0}.gap-card{background-color:#d926621a;border:1px solid #f8d7da}.gap-card h2{color:#dc2626}@media (max-width: 1200px){.card-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.card-grid{grid-template-columns:1fr}}.mat-select-panel .search-wrapper{width:100%!important;box-sizing:border-box;padding:8px;position:sticky;top:0;z-index:2;background:#fff}.search-input{width:100%;padding:6px 10px;border:1px solid #ccc;border-radius:6px;outline:none;box-sizing:border-box}.mat-select-panel mat-option{padding-top:10px}::ng-deep .mat-select-panel-wrap{overflow:visible!important;padding:0;margin-top:42px}::ng-deep .mat-select-panel{border:1px solid #ccc!important;box-sizing:border-box;max-height:250px}::ng-deep .select-with-search.mat-select-panel{padding-top:0;overflow:auto}::ng-deep .select-with-search .search-wrapper{position:sticky;top:0;z-index:10;background:#fff;padding:8px;border-bottom:1px solid #e0e0e0}::ng-deep .select-with-search .search-input{width:100%;padding:6px 10px;border:1px solid #ccc;border-radius:6px;outline:none;box-sizing:border-box}::ng-deep .select-with-search mat-option:first-of-type{margin-top:4px}::ng-deep .md-drppicker.ltr{min-width:500px!important}.sub-heading p{color:#000;font-family:Montserrat;font-size:18px;font-style:normal;font-weight:600;line-height:normal}.mb-10{margin-bottom:10px}.cursor-pointer{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.MatLegacyCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i7.MatLegacyFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatLegacyInput, selector: "input[matInput], textarea[matInput], select[matNativeControl],      input[matNativeControl], textarea[matNativeControl]", exportAs: ["matInput"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.MatLegacySelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i11.MatLegacyOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i12.DaterangepickerDirective, selector: "input[ngxDaterangepickerMd]", inputs: ["minDate", "maxDate", "autoApply", "alwaysShowCalendars", "showCustomRangeLabel", "linkedCalendars", "dateLimit", "singleDatePicker", "showWeekNumbers", "showISOWeekNumbers", "showDropdowns", "isInvalidDate", "isCustomDate", "isTooltipDate", "showClearButton", "customRangeDirection", "ranges", "opens", "drops", "firstMonthDayClass", "lastMonthDayClass", "emptyWeekRowClass", "emptyWeekColumnClass", "firstDayOfNextMonthClass", "lastDayOfPreviousMonthClass", "keepCalendarOpeningWithRange", "showRangeLabelOnInput", "showCancel", "lockStartDate", "timePicker", "timePicker24Hour", "timePickerIncrement", "timePickerSeconds", "closeOnAutoApply", "endKeyHolder", "startKey", "locale", "endKey"], outputs: ["change", "rangeClicked", "datesUpdated", "startDateChanged", "endDateChanged", "clearClicked"] }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DashboardComponent, decorators: [{
            type: Component,
            args: [{ selector: 'app-dashboard', template: "<div class=\"dashboard-wrapper\">\n    <div class=\"header\">\n        <div class=\"sub-heading mt-10 mb-10 cursor-pointer\">\n            <p (click)=\"routeToInitial()\"><mat-icon style=\"vertical-align: middle;\">arrow_back</mat-icon><span\n                    class=\"pl-10\">Back to Role Mapping Generation</span></p>\n        </div>\n\n    </div>\n    <div class=\"dashboard-container\">\n\n        <!-- FILTERS SECTION -->\n        <form [formGroup]=\"filtersForm\" class=\"filters-form\">\n\n            <mat-card class=\"filters-card\">\n                <div class=\"filters-header\">\n                    <mat-icon>filter_list</mat-icon>\n                    <span>Filters</span>\n                </div>\n\n                <div class=\"filters-row\">\n                    <div>\n                        <label>Centre / State </label>\n                        <!-- Centre / State -->\n                        <mat-form-field appearance=\"fill\"\n                            style=\"background: white; border-radius: 25px; padding: 0 12px; border: 1px solid #ccc;width: 100%;\">\n\n                            <mat-select formControlName=\"centreState\" [disabled]=\"!isSuperAdmin\"\n                                (selectionChange)=\"onMinistryTypeChange($event)\">\n                                <mat-option value=\"\">Select Center/State</mat-option>\n                                <mat-option value=\"ministry\">Center</mat-option>\n                                <mat-option value=\"state\">State</mat-option>\n                            </mat-select>\n                        </mat-form-field>\n                    </div>\n                    <div>\n                        <label>{{selectedMinistryType === 'ministry' ? 'Ministry':'State'}} </label>\n                        <!-- Centre / State -->\n                        <mat-form-field appearance=\"fill\"\n                            style=\"background: white; border-radius: 25px; padding: 0 12px; border: 1px solid #ccc;width: 100%;\">\n                            <mat-select panelClass=\"select-with-search\" [disabled]=\"!isSuperAdmin\" multiple\n                                [placeholder]=\"selectedMinistryType === 'ministry' ? 'Select Ministry/ Department':'Select State'\"\n                                (selectionChange)=\"onMinistryChange($event)\" formControlName=\"ministries\"\n                                style=\"border-radius: 25px; background: white; width:100%\"\n                                (openedChange)=\"onOpened($event)\">\n                                <div class=\"search-wrapper\" *ngIf=\"panelOpen\">\n                                    <input type=\"text\" placeholder=\"Search...\" (input)=\"filterData($event)\"\n                                        class=\"search-input\" (keydown.space)=\"$event.stopPropagation()\"\n                                        (keydown)=\"$event.stopPropagation()\">\n                                </div>\n                                <!-- [selected]=\"selectedMinistryId === item?.identifier\" -->\n                                <mat-option [value]=\"item?.identifier\" *ngFor=\"let item of filteredList\"\n                                    >{{item?.orgName}}</mat-option>\n                            </mat-select>\n                        </mat-form-field>\n                    </div>\n                    <div>\n                        <label>Department</label>\n                        <!-- Centre / State -->\n                        <mat-form-field appearance=\"fill\"\n                            style=\"background: white; border-radius: 25px; padding: 0 12px;border: 1px solid #ccc;\">\n                            <mat-select panelClass=\"select-with-search\" placeholder=\"Select Department\"\n                                [disabled]=\"!isSuperAdmin\" multiple formControlName=\"departments\"\n                                style=\"border-radius: 25px; background: white;\" (selectionChange)=\"onDepartmentChange()\"\n                                (openedChange)=\"onOpenedDepartment($event)\">\n                                <div class=\"search-wrapper\" *ngIf=\"departmentPanelOpen\">\n                                    <input type=\"text\" placeholder=\"Search...\" (input)=\"filterDepartmentData($event)\"\n                                        class=\"search-input\" (keydown.space)=\"$event.stopPropagation()\"\n                                        (keydown)=\"$event.stopPropagation()\">\n                                </div>\n                                <mat-option [value]=\"item?.identifier\"\n                                    *ngFor=\"let item of filteredDepartmentList\">{{item?.orgName}}</mat-option>\n\n                            </mat-select>\n                        </mat-form-field>\n                    </div>\n\n                    <!-- Date Range -->\n                    <div>\n                        <label>Date Range </label>\n                        <mat-form-field appearance=\"outline\">\n\n                            <input matInput ngxDaterangepickerMd formControlName=\"dateRange\" style=\"margin:10px\"\n                                placeholder=\"Select date range\" [autoApply]=\"true\" [linkedCalendars]=\"true\"\n                                [locale]=\"{ format: 'DD MMM YYYY' }\" />\n                        </mat-form-field>\n                    </div>\n\n\n                </div>\n            </mat-card>\n        </form>\n\n        <!-- OVERVIEW METRICS -->\n        <h2 class=\"section-title\">\n            <mat-icon>dashboard</mat-icon>\n            Overview Metrics\n        </h2>\n\n        <div class=\"card-grid\">\n\n            <mat-card class=\"metric-card\">\n                <div class=\"card-content\">\n                    <div>\n                        <p class=\"card-title\">States/Ministries which generated Role Mapping</p>\n                        <h2>{{this.dashboardData?.ministry_count}}</h2>\n                        <!-- <p class=\"card-subtitle\">At least 1 designation/role mapping</p> -->\n                    </div>\n                    <mat-icon class=\"icon primary\">public</mat-icon>\n                </div>\n            </mat-card>\n\n            <mat-card class=\"metric-card\">\n                <div class=\"card-content\">\n                    <div>\n                        <p class=\"card-title\">Departments which generated Role Mapping</p>\n                        <h2>{{this.dashboardData?.department_count}}</h2>\n                        <!-- <p class=\"card-subtitle\">At least 1 designation/role mapping</p> -->\n                    </div>\n                    <mat-icon class=\"icon teal\">apartment</mat-icon>\n                </div>\n            </mat-card>\n\n            <mat-card class=\"metric-card\">\n                <div class=\"card-content\">\n                    <div>\n                        <p class=\"card-title\">Total Capacity Building Plans Created</p>\n                        <h2>{{this.dashboardData?.total_cbp_plan_count}}</h2>\n                    </div>\n                    <mat-icon class=\"icon green\">description</mat-icon>\n                </div>\n            </mat-card>\n\n        </div>\n\n        <!-- COMPETENCIES -->\n        <h2 class=\"section-title\">\n            <mat-icon>psychology</mat-icon>\n            Competencies Recommended\n        </h2>\n\n        <div class=\"card-grid\">\n\n            <mat-card class=\"metric-card\">\n                <div class=\"card-content\">\n                    <div>\n                        <p class=\"card-title\">Behavioral Competencies</p>\n                        <h2>{{this.dashboardData?.behavioral_competencies_count}}</h2>\n                    </div>\n                    <mat-icon class=\"icon purple\">psychology</mat-icon>\n                </div>\n            </mat-card>\n\n            <mat-card class=\"metric-card\">\n                <div class=\"card-content\">\n                    <div>\n                        <p class=\"card-title\">Functional Competencies</p>\n                        <h2>{{this.dashboardData?.functional_competencies_count}}</h2>\n                    </div>\n                    <mat-icon class=\"icon teal\">settings</mat-icon>\n                </div>\n            </mat-card>\n\n            <mat-card class=\"metric-card\">\n                <div class=\"card-content\">\n                    <div>\n                        <p class=\"card-title\">Domain Competencies</p>\n                        <h2>{{this.dashboardData?.domain_competencies_count}}</h2>\n                    </div>\n                    <mat-icon class=\"icon orange\">tune</mat-icon>\n                </div>\n            </mat-card>\n\n        </div>\n\n        <!-- DOCUMENTS -->\n        <h2 class=\"section-title\">\n            <mat-icon>menu_book</mat-icon>\n            Documents & Course Recommendations\n        </h2>\n\n        <div class=\"card-grid\">\n\n            <mat-card class=\"metric-card\">\n                <div class=\"card-content\">\n                    <div>\n                        <p class=\"card-title\">Total Documents Uploaded</p>\n                        <h2>{{this.dashboardData?.total_documents}}</h2>\n                        <!-- <p class=\"card-subtitle\">Min 1, Max 10 per role mapping</p> -->\n                    </div>\n                    <mat-icon class=\"icon amber\">upload_file</mat-icon>\n                </div>\n            </mat-card>\n\n            <mat-card class=\"metric-card\">\n                <div class=\"card-content\">\n                    <div>\n                        <p class=\"card-title\">Role Mappings with Course Recommendations</p>\n                        <h2>{{this.dashboardData?.role_mappings_with_recommendations}}</h2>\n                        <!-- <p class=\"card-subtitle\">8500 of 50,000 role mappings</p> -->\n                    </div>\n                    <mat-icon class=\"icon green\">menu_book</mat-icon>\n                </div>\n            </mat-card>\n\n            <mat-card class=\"metric-card\">\n                <div class=\"card-content\">\n                    <div>\n                        <p class=\"card-title\">Course Recommendations Saved</p>\n                        <h2>{{this.dashboardData?.saved_recommended_courses_count}}</h2>\n                        <!-- <p class=\"card-subtitle\">{{this.dashboardData?.saved_recommended_courses_count}} of 8500\n                            recommendations</p> -->\n                    </div>\n                    <mat-icon class=\"icon teal\">save</mat-icon>\n                </div>\n            </mat-card>\n\n        </div>\n\n        <!-- GAP ANALYSIS -->\n        <div class=\"gap-section\">\n            <h2 class=\"section-title warning\">\n                <mat-icon>warning</mat-icon>\n                Gap Analysis\n            </h2>\n\n            <div class=\"card-grid-alone\">\n\n                <mat-card class=\"metric-card warning-bg\">\n                    <div class=\"card-content\">\n                        <div>\n                            <p class=\"card-title\">Competencies Without Courses</p>\n                            <h2>{{this.dashboardData?.competencies_without_courses}}</h2>\n                            <p class=\"card-subtitle\">Unique competencies with no identified courses</p>\n                        </div>\n                        <mat-icon class=\"icon red\">cancel</mat-icon>\n                    </div>\n                </mat-card>\n\n                <!-- <mat-card class=\"metric-card\">\n                    <div class=\"card-content\">\n                        <div>\n                            <p class=\"card-title\">Manually Added Courses</p>\n                            <h2>-</h2>\n                            <p class=\"card-subtitle\">Competencies with user-added courses</p>\n                        </div>\n                        <mat-icon class=\"icon green\">add_circle</mat-icon>\n                    </div>\n                </mat-card> -->\n\n            </div>\n\n            <div class=\"card-grid mt-2\">\n\n                <mat-card class=\"metric-card warning-bg\">\n                    <div class=\"card-content\">\n                        <div>\n                            <p class=\"card-title\">Behavioral Competencies Without Courses</p>\n                            <h2>{{this.dashboardData?.behavioral_without_courses}}</h2>\n                        </div>\n                        <mat-icon class=\"icon red\">cancel</mat-icon>\n                    </div>\n                </mat-card>\n\n                <mat-card class=\"metric-card\">\n                    <div class=\"card-content\">\n                        <div>\n                            <p class=\"card-title\">Functional Competencies Without Courses</p>\n                            <h2>{{this.dashboardData?.functional_without_courses}}</h2>\n                        </div>\n                        <mat-icon class=\"icon red\">cancel</mat-icon>\n                    </div>\n                </mat-card>\n\n                <mat-card class=\"metric-card\">\n                    <div class=\"card-content\">\n                        <div>\n                            <p class=\"card-title\">Domain Competencies Without Courses</p>\n                            <h2>{{this.dashboardData?.domain_without_courses}}</h2>\n                        </div>\n                        <mat-icon class=\"icon red\">cancel</mat-icon>\n                    </div>\n                </mat-card>\n\n            </div>\n        </div>\n\n        <!-- OVERVIEW METRICS -->\n        <h2 class=\"section-title\">\n            <mat-icon>dashboard</mat-icon>\n            Users and Role Mapping Metrics\n        </h2>\n\n        <div class=\"card-grid\">\n\n            <mat-card class=\"metric-card\" *ngIf=\"!isSuperAdmin\">\n                <div class=\"card-content\">\n                    <div>\n                        <p class=\"card-title\">Unique Users (Credentials)</p>\n                        <h2>{{this.dashboardData?.total_users}}</h2>\n                    </div>\n                    <mat-icon class=\"icon primary\">public</mat-icon>\n                </div>\n            </mat-card>\n\n            <mat-card class=\"metric-card\" *ngIf=\"!isSuperAdmin\">\n                <div class=\"card-content\">\n                    <div>\n                        <p class=\"card-title\">Unique Users with Role Mappings</p>\n                        <h2>{{this.dashboardData?.users_with_role_mappings}}</h2>\n                        <!-- <p class=\"card-subtitle\">Generated atleast 1 role mapping</p> -->\n                    </div>\n                    <mat-icon class=\"icon teal\">apartment</mat-icon>\n                </div>\n            </mat-card>\n\n            <mat-card class=\"metric-card\">\n                <div class=\"card-content\">\n                    <div>\n                        <p class=\"card-title\">Total Designation/Role Mappings Generated</p>\n                        <h2>{{this.dashboardData?.total_role_mappings}}</h2>\n                    </div>\n                    <mat-icon class=\"icon green\">description</mat-icon>\n                </div>\n            </mat-card>\n\n            <mat-card class=\"metric-card\">\n                <div class=\"card-content\">\n                    <div>\n                        <p class=\"card-title\">Unique Role Mappings</p>\n                        <h2>{{this.dashboardData?.unique_role_mappings}}</h2>\n                        <!-- <p class=\"card-subtitle\">10,000 unique of 50,000 total</p> -->\n                    </div>\n                    <mat-icon class=\"icon teal\">apartment</mat-icon>\n                </div>\n            </mat-card>\n\n        </div>\n    </div>\n</div>", styles: [".dashboard-wrapper{background:transparent;min-height:100vh;padding:24px 10px;margin:0 30px 0 60px}.dashboard-container{max-width:auto;margin:0 auto}.section-title{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:600;color:#000;margin:20px 0}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.card-grid-alone{display:grid;grid-template-columns:repeat(1,1fr);gap:32px}.metric-card{padding:24px;border-radius:12px;box-shadow:none;border:1px solid #e5e7eb}.card-content{display:flex;justify-content:space-between;align-items:center}.card-title{font-size:14px;color:#6b7280;margin-bottom:6px}.metric-card h2{font-size:28px;font-weight:700;color:#000;margin:0}.card-subtitle{font-size:12px;color:#9ca3af;margin-top:6px}.icon{font-size:28px;width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center}.primary{color:#2563eb}.teal{color:#059669}.green{color:#16a34a}.purple{color:#9333ea}.orange{color:#f97316}.amber{color:#f59e0b}.red,.section-title.warning{color:#dc2626}.warning-card{background:#fdeaea;border:1px solid #f5c2c7}.filters-card{padding:20px 24px;border-radius:12px;border:1px solid #e5e7eb;box-shadow:none}.filters-header{display:flex;align-items:center;gap:8px;font-weight:600;margin-bottom:16px}.filters-row{display:flex;gap:24px;flex-wrap:wrap}.filters-row mat-form-field{flex:1;min-width:220px}:host ::ng-deep .mat-form-field-appearance-outline .mat-form-field-outline{color:#ccc}:host ::ng-deep .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#1b4ca1;border-color:#1b4ca1!important}::ng-deep .select-search-panel .mat-option.mat-selected:not(.mat-option-disabled){background-color:#1b4ca1!important;color:#fff!important}:host ::ng-deep .mat-form-field-appearance-outline{border-radius:25px;border:1px solid #ccc}:host ::ng-deep .mat-form-field-focused .mat-form-field-appearance-outline{border-color:#1b4ca1!important}:host ::ng-deep .mat-form-field-appearance-outline .mat-form-field-outline-start{border-radius:25px 0 0 25px;border:none!important}:host ::ng-deep .mat-form-field-appearance-outline .mat-form-field-outline-end{border-right:none!important;border:none!important;border-radius:0 25px 25px 0}:host ::ng-deep .mat-form-field-appearance-outline .mat-form-field-outline-gap{border:none!important;border-radius:25px}:host::ng-deep .mat-form-field-appearance-outline .mat-form-field-infix{background-color:transparent!important}.dashboard-container .mat-card{background-color:#fff}.gap-title{color:#b91c1c}.gap-section{background-color:#d926621a;padding:10px;border-radius:12px;border:1px solid #f5c2c7;margin:16px 0}.gap-card{background-color:#d926621a;border:1px solid #f8d7da}.gap-card h2{color:#dc2626}@media (max-width: 1200px){.card-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.card-grid{grid-template-columns:1fr}}.mat-select-panel .search-wrapper{width:100%!important;box-sizing:border-box;padding:8px;position:sticky;top:0;z-index:2;background:#fff}.search-input{width:100%;padding:6px 10px;border:1px solid #ccc;border-radius:6px;outline:none;box-sizing:border-box}.mat-select-panel mat-option{padding-top:10px}::ng-deep .mat-select-panel-wrap{overflow:visible!important;padding:0;margin-top:42px}::ng-deep .mat-select-panel{border:1px solid #ccc!important;box-sizing:border-box;max-height:250px}::ng-deep .select-with-search.mat-select-panel{padding-top:0;overflow:auto}::ng-deep .select-with-search .search-wrapper{position:sticky;top:0;z-index:10;background:#fff;padding:8px;border-bottom:1px solid #e0e0e0}::ng-deep .select-with-search .search-input{width:100%;padding:6px 10px;border:1px solid #ccc;border-radius:6px;outline:none;box-sizing:border-box}::ng-deep .select-with-search mat-option:first-of-type{margin-top:4px}::ng-deep .md-drppicker.ltr{min-width:500px!important}.sub-heading p{color:#000;font-family:Montserrat;font-size:18px;font-style:normal;font-weight:600;line-height:normal}.mb-10{margin-bottom:10px}.cursor-pointer{cursor:pointer}\n"] }]
        }], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.SharedService }, { type: i3.MatSnackBar }, { type: i4.Router }]; } });
//# sourceMappingURL=data:application/json;base64, 