{"version":3,"file":"corpdesk-naz.mjs","sources":["../../../projects/naz/src/lib/naz.service.ts","../../../projects/naz/src/lib/naz.component.ts","../../../projects/naz/src/lib/naz.module.ts","../../../projects/naz/src/lib/ui/pagetitle.component.ts","../../../projects/naz/src/lib/ui/pagetitle.component.html","../../../projects/naz/src/lib/ui/card.component.ts","../../../projects/naz/src/lib/ui/card.component.html","../../../projects/naz/src/lib/ui/ui.module.ts","../../../projects/naz/src/lib/ui/page.service.ts","../../../projects/naz/src/lib/naz-table/naz-table.service.ts","../../../projects/naz/src/lib/naz-table/naz-table.component.ts","../../../projects/naz/src/lib/naz-table/naz-table.component.html","../../../projects/naz/src/lib/naz-select/select-demo.component.ts","../../../projects/naz/src/lib/naz-select/select-demo.component.html","../../../projects/naz/src/lib/naz-select/naz-select.module.ts","../../../projects/naz/src/lib/naz-ddl-countries/ddl-countries.component.ts","../../../projects/naz/src/lib/naz-ddl-countries/ddl-countries.component.html","../../../projects/naz/src/lib/naz-ddl-countries/ddl-countries.module.ts","../../../projects/naz/src/lib/naz-table/naz-table.module.ts","../../../projects/naz/src/lib/naz-ddl-icons/ddl-icons.service.ts","../../../projects/naz/src/lib/naz-ddl-icons/ddl-icons.component.ts","../../../projects/naz/src/lib/naz-ddl-icons/ddl-icons.component.html","../../../projects/naz/src/lib/naz-ddl-icons/ddl-icons.module.ts","../../../projects/naz/src/lib/naz-ddl-notifications/ddl-notifications.component.ts","../../../projects/naz/src/lib/naz-ddl-notifications/ddl-notifications.component.html","../../../projects/naz/src/lib/naz-ddl-searchable/ddl-searchable.service.ts","../../../projects/naz/src/lib/naz-ddl-searchable/ddl-searchable.component.ts","../../../projects/naz/src/lib/naz-ddl-searchable/ddl-searchable.component.html","../../../projects/naz/src/lib/naz-create/create.component.ts","../../../projects/naz/src/lib/naz-create/create.component.html","../../../projects/naz/src/lib/naz-create/create.service.ts","../../../projects/naz/src/lib/naz-ddl-notifications/ddl-notifications.module.ts","../../../projects/naz/src/lib/naz-ddl-searchable/ddl-searchable.module.ts","../../../projects/naz/src/lib/naz-create/naz-create.module.ts","../../../projects/naz/src/lib/naz-edit/edit.component.ts","../../../projects/naz/src/lib/naz-edit/edit.component.html","../../../projects/naz/src/lib/naz-edit/naz-edit.module.ts","../../../projects/naz/src/lib/naz-delete/delete.component.ts","../../../projects/naz/src/lib/naz-delete/delete.component.html","../../../projects/naz/src/lib/naz-delete/naz-delete.module.ts","../../../projects/naz/src/public-api.ts","../../../projects/naz/src/corpdesk-naz.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class NazService {\n\n  constructor() { }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n  selector: 'corpdesk-naz',\n  template: `\n    <p>\n      naz works!\n    </p>\n  `,\n  styles: [\n  ]\n})\nexport class NazComponent {\n\n}\n","import { NgModule } from '@angular/core';\nimport { NazComponent } from './naz.component';\n\n\n\n@NgModule({\n  declarations: [\n    NazComponent\n  ],\n  imports: [\n  ],\n  exports: [\n    NazComponent\n  ]\n})\nexport class NazModule { }\n","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n  selector: 'app-pagetitle',\n  templateUrl: './pagetitle.component.html',\n  styleUrls: ['./pagetitle.component.scss']\n})\nexport class PagetitleComponent implements OnInit {\n\n  @Input() breadcrumbItems: any;\n  @Input() title: string;\n\n  constructor() { \n    // console.log('naz-lib/PagetitleComponent::constructor()/01')\n  }\n\n  ngOnInit(): void {\n    // console.log('naz-lib/PagetitleComponent::ngOnInit()/01')\n  }\n\n}\n","<div class=\"row\">\n  <div class=\"col-12\">\n    <div class=\"page-title-box d-flex align-items-center justify-content-between\">\n      <h4 class=\"mb-0\">{{ title }}</h4>\n      <div class=\"page-title-right\">\n        <ol class=\"breadcrumb m-0\">\n          <ng-container *ngFor=\"let item of breadcrumbItems\">\n            <li class=\"breadcrumb-item\" *ngIf=\"!item.active\"><a href=\"javascript: void(0);\">{{ item.label }}</a>\n            </li>\n            <li class=\"breadcrumb-item active\" *ngIf=\"item.active\">{{ item.label }}\n            </li>\n          </ng-container>\n        </ol>\n      </div>\n    </div>\n  </div>\n</div>\n","import { Component, OnInit, AfterViewInit, Input, ViewChild, ElementRef, Output, EventEmitter } from '@angular/core';\nimport { FormsService } from '@corpdesk/core';\n// import { fromEvent } from 'rxjs';\n// import { debounceTime, distinctUntilChanged, filter, map } from 'rxjs/operators';\n\n@Component({\n    selector: 'naz-card',\n    templateUrl: './card.component.html',\n    styleUrls: ['./card.component.scss']\n})\nexport class CardComponent implements OnInit, AfterViewInit {\n    // @ViewChild('searchInput', { static: true }) searchInput: ElementRef;\n    term: any;\n    @Output() searchOutput = new EventEmitter<string>();\n    @Input() cardTitle: string;\n    @Input() searchInputId = 'searchInput';\n    @Input() cardBodyId: string;\n    ddId = 'ddId_'; // dropdown id\n    ddMenuId = 'ddIdMenu_'; // dropdown menu id\n\n    constructor(private svForm: FormsService) {\n        console.log('naz-lib/CardComponent::constructor()/01')\n     }\n\n    ngOnInit(): void {\n        console.log('naz-lib/CardComponent::ngOnInit()/01')\n        this.ddId = `ddId_${this.cardBodyId}`;\n        console.log('naz-lib/CardComponent::ngOnInit()/02')\n        this.ddMenuId = `ddMenuId_${this.cardBodyId}`;\n        console.log('naz-lib/CardComponent::ngOnInit()/03')\n        console.log('CardComponent::ngOnInit()/searchInputId:', this.searchInputId)\n        \n    }\n\n    ngAfterViewInit(){\n        console.log('CardComponent::ngAfterViewInit()/searchInputId:', this.searchInputId)\n        const elemInput = document.getElementById(this.searchInputId) as HTMLInputElement;\n        if(elemInput){\n            this.svForm.debounceInput$(elemInput)\n            .subscribe((text: string) => {\n                console.log('naz-lib/CardComponent::ngOnInit()/04')\n                console.log('ngOnInit()/text:', text);\n                this.searchOutput.emit(text);\n            });\n        } else {\n            console.log('there was and error reading the element');\n        }\n    }\n\n    // debounceInput$(sInput: ElementRef<any>) {\n    //     console.log('starting CardComponent::debounceInput$()')\n    //     // return fromEvent(this.searchInput.nativeElement, 'keyup')\n    //     return fromEvent(sInput.nativeElement, 'keyup')\n    //         .pipe(\n    //             // get value\n    //             map((event: any) => {\n    //                 console.log('CardComponent::debounceInput$()/event.target.value:', event.target.value)\n    //                 return event.target.value;\n    //             })\n    //             // if character length greater then 2\n    //             , filter(res => res.length > 2 || res.length === 0)\n    //             // , filter(res => res.length > 2)\n    //             // Time in milliseconds between key events\n    //             , debounceTime(1000)\n    //             // If previous query is diffent from current   \n    //             , distinctUntilChanged()\n    //             // subscription for response\n    //         )\n    // }\n\n}\n","<div class=\"card\">\n  <div class=\"card-body\">\n    <div [id]=\"ddId\" class=\"dropdown float-right\" ngbDropdown>\n      <a href=\"javascript: void(0);\" class=\"dropdown-toggle arrow-none card-drop\" ngbDropdownToggle\n        data-toggle=\"dropdown\" aria-expanded=\"false\">\n        <i class=\"mdi mdi-dots-vertical\"></i>\n      </a>\n      <div [id]=\"ddMenuId\" class=\"dropdown-menu dropdown-menu-right\" ngbDropdownMenu>\n        <a href=\"javascript:void(0);\" class=\"dropdown-item\">Sales Report</a>\n        <a href=\"javascript:void(0);\" class=\"dropdown-item\">Export Report</a>\n        <a href=\"javascript:void(0);\" class=\"dropdown-item\">Profit</a>\n        <a href=\"javascript:void(0);\" class=\"dropdown-item\">Action</a>\n      </div>\n    </div>\n    <h4 class=\"card-title mb-4\">{{cardTitle}}</h4>\n    <div class=\"row\">\n      <div class=\"col-sm-12 col-md-12\">\n        <div id=\"tickets-table_filter\" class=\"dataTables_filter text-md-right\">\n          <label class=\"d-inline-flex align-items-center\">\n            Search:\n            <input [id]=\"searchInputId\" type=\"text\" name=\"searchTerm\" class=\"form-control form-control-sm ml-2\" aria-controls=\"tickets-table\"\n              [(ngModel)]=\"term\" />\n          </label>\n        </div>\n      </div>\n    </div>\n    <!-- start table -->\n    <div [id]=\"cardBodyId\"></div>\n    <!-- end table -->\n  </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { NgbNavModule, NgbDropdownModule, NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap';\n// import { Ng2SearchPipeModule } from 'ng2-search-filter';\n// import { FilterPipeModule } from 'ngx-filter-pipe';\n// import { NgPipesModule } from 'ngx-pipes';\n// import { CustomFilterPipe } from '../pipes/custom-filter-pipe';\nimport { PagetitleComponent } from './pagetitle.component';\nimport { CardComponent } from './card.component';\n\n\n\n@NgModule({\n  declarations: [\n    PagetitleComponent, \n    CardComponent, \n    // CustomFilterPipe\n  ],\n  imports: [\n    CommonModule,\n    NgbNavModule, NgbDropdownModule, NgbTooltipModule,\n    // Ng2SearchPipeModule,\n    // FilterPipeModule,\n    // NgPipesModule,\n    FormsModule, \n    ReactiveFormsModule,\n  ],\n  exports: [\n    PagetitleComponent, \n    CardComponent, \n    // CustomFilterPipe\n  ]\n})\nexport class NazUiModule { }\n","import { Injectable } from \"@angular/core\";\n\n@Injectable({\n    providedIn: 'root'\n})\n\nexport class PageService {\n    constructor(\n    ) {\n\n    }\n\n    setBreadCrumbs(controller: string, component: string, guid: string | null = null) {\n        return [{ id: guid, label: controller }, { label: component, active: true }];\n    }\n}","import { Injectable } from '@angular/core';\nimport { AbstractControl, FormGroup, ValidationErrors } from '@angular/forms';\nimport {\n    $, controlFormatt, FieldType, HtmlCtx, IQuery, ISessResp, INIT_CD_RESP,\n    ActionType, DdlData, DsEmittData, FieldAlias, TRenderCtx,\n    TDS, TPD, TRenderMode, FieldInfo, Page, ControlType, ControlFor, FieldFor, FormsService, GuigModule, ValidationError, AWizardStep\n} from \"@corpdesk/core\";\nimport { from, Observable } from \"rxjs\";\nimport { bufferCount, filter, groupBy, map, mergeMap } from \"rxjs/operators\";\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class NazTableService {\n    tpData: TPD;\n    submit = false;\n    constructor(\n        private svForms: FormsService,\n    ) {\n\n    }\n\n    htmlTableInit(instanceNazClient: any) {\n        return `\n        <div class=\"table-responsive\">\n            <table class=\"table table-centered\">\n                <thead id=\"th_${instanceNazClient.cardBodyId}\" class=\"thead-light\">\n                    \n                </thead>\n                <tbody id=\"tb_${instanceNazClient.cardBodyId}\">\n                    \n                </tbody>\n            </table>\n        </div>\n        <row id=\"tp_${instanceNazClient.cardBodyId}\">\n        </row>\n        `;\n    }\n\n    hTHead(dSource: TDS) {\n        let hHead = `<tr>`;\n        dSource.fields.forEach((f) => {\n            if (f.show) {\n                hHead += `<th>${f.title}</th>`;\n            } \n        });\n        hHead += `</tr>`;\n        return hHead;\n    }\n\n    hTBody(dSource: TDS, instanceNazClient: any) {\n        const iField: FieldInfo = this.getIndexField(instanceNazClient);\n        let hR = ``;\n        dSource.data.forEach((rD: any) => {\n            hR += `<tr>`;\n            console.log(\"NazTableService::htBody/dSource.fields:\", dSource.fields)\n            dSource.fields.forEach((f: FieldInfo) => {\n                if (f.show) {\n                    if (f.type === FieldType.string) {\n                        hR += `<td>${rD[f.name]}</td>`;\n                    }\n                    if (f.type === FieldType.boolean) {\n                        if (rD[f.name] === true || Number(rD[f.name]) === 1) {\n                            hR += `<td><div class=\"badge font-size-12 badge-soft-success\">Yes</div></td>`;\n                        } else {\n                            hR += `<td><div class=\"badge font-size-12 badge-soft-danger\">No</div></td>`;\n                        }\n                    }\n                    if (f.type === FieldType.enum) {\n                        hR += `<td><div class=\"badge font-size-12 ${rD[f.name].class}\">${rD[f.name].value}</div></td>`;\n                    }\n                    if (f.type === FieldType.action) {\n                        hR += `<td>\n                                    <a id=\"t_edit_${instanceNazClient.cardBodyId}_${rD[iField.name]}\" href=\"javascript:void(0);\" ngbtooltip=\"Edit\" class=\"mr-3 text-primary\"\n                                        ng-reflect-ngb-tooltip=\"Edit\"><i class=\"mdi mdi-pencil font-size-18\"></i></a>\n                                    <a id=\"t_delete_${instanceNazClient.cardBodyId}_${rD[iField.name]}\" href=\"javascript:void(0);\" ngbtooltip=\"Delete\" class=\"text-danger\"\n                                        ng-reflect-ngb-tooltip=\"Delete\"><i class=\"mdi mdi-trash-can font-size-18\"></i></a>\n                                </td>`;\n                    }\n\n                }\n\n            });\n            hR += `</tr>`;\n        });\n        return hR;\n    }\n\n    hTPagination(tpData: TPD, instanceNazClient: any): Promise<string> {\n        return new Promise(resolve => {\n            this.setPages(tpData)\n                .subscribe((pages: Page[]) => {\n                    pages = this.setDisplayPages(tpData, pages);\n                    let hPg = `\n                        <div class=\"d-flex justify-content-between p-2\">\n                            <ngb-pagination role=\"navigation\">\n                                <ul class=\"pagination\">`;\n\n                    hPg += `\n                                            <li id=\"tp_li_prev_${instanceNazClient.cardBodyId}\" class=\"page-item\">\n                                                <a id=\"tp_prev_${instanceNazClient.cardBodyId}\" aria-label=\"Previous\" href=\"javascript:void(0);\" class=\"page-link\" tabindex=\"-1\" aria-disabled=\"true\">\n                                                    <span aria-hidden=\"true\">«</span>\n                                                </a>\n                                            </li>\n                                    `;\n                    for (let page of pages) {\n                        if (page.isActive && page.displayPage === true) {\n                            hPg += `\n                                                <li id=\"tp_li_${page.thisPage}_${instanceNazClient.cardBodyId}\" class=\"page-item active\" aria-current=\"page\">\n                                                    <a id=\"tp_pg_${page.thisPage}_${instanceNazClient.cardBodyId}\" href=\"javascript:void(0);\" class=\"page-link\"> ${page.thisPage} <span class=\"sr-only\">(current)</span>\n                                    \n                                                    </a>\n                                                </li>\n                                            `;\n                        } else if (page.displayPage === true) {\n                            hPg += `\n                                                <li id=\"tp_li_${page.thisPage}_${instanceNazClient.cardBodyId}\" class=\"page-item\">\n                                                    <a id=\"tp_pg_${page.thisPage}_${instanceNazClient.cardBodyId}\" href=\"javascript:void(0);\" class=\"page-link\"> ${page.thisPage}\n                                                    </a>\n                                                </li>\n                                            `;\n                        } if (page.thisPage === tpData.startPage + tpData.maxPages) {\n                            hPg += `\n                                                <li id=\"tp_li_${page.thisPage}_${instanceNazClient.cardBodyId}\" class=\"page-item\">\n                                                    <a id=\"tp_pg_${page.thisPage}_${instanceNazClient.cardBodyId}\" href=\"javascript:void(0);\" class=\"page-link\"> ...\n                                                    </a>\n                                                </li>\n                                            `;\n                        }\n                    }\n                    hPg += `\n                                                <li id=\"tp_li_next_${instanceNazClient.cardBodyId}\" class=\"page-item\">\n                                                        <a id=\"tp_next_${instanceNazClient.cardBodyId}\" aria-label=\"Next\" href=\"javascript:void(0);\" class=\"page-link\"><span aria-hidden=\"true\">»</span>\n                                                        </a>\n                                                    </li>\n                                                </ul>\n                                            </ngb-pagination>\n                                            <select class=\"custom-select ng-untouched ng-pristine ng-valid\" style=\"width: auto;\">\n                                                <option value=\"0: 2\">2 items per page</option>\n                                                <option value=\"1: 4\">4 items per page</option>\n                                                <option value=\"2: 6\">6 items per page</option>\n                                            </select>\n                                        </div>\n                                        `;\n                    resolve(hPg);\n                });\n        });\n\n    }\n\n\n    setPages(tpData: TPD): Observable<any> {\n        tpData = this.setTotalPages(tpData);\n        const arr = Array.from(Array(tpData.totalRows).keys());\n        return from(arr)\n            .pipe(\n                map((n: number) => n),\n                bufferCount(tpData.pageRows),\n                mergeMap((m, i) => {\n                    return [{ thisPage: i }, { items: m }];\n                }),\n                bufferCount(2),\n                map((a) => {\n                    a[0].thisPage = a[0].thisPage! + 1;\n                    if (a[0].thisPage === tpData.activePage) {\n                        const page: Page = {\n                            thisPage: a[0].thisPage,\n                            items: a[1].items!,\n                            isActive: true,\n                            displayPage: null,\n                        };\n                        return page;\n                    } else {\n                        const page: Page = {\n                            thisPage: a[0].thisPage,\n                            items: a[1].items!,\n                            isActive: false,\n                            displayPage: null,\n                        };\n                        return page;\n                    }\n                }),\n                bufferCount(tpData.totalPages!),\n            )\n\n    }\n\n    setTotalPages(tpData: TPD): TPD {\n        let quotient = Math.floor(tpData.totalRows / tpData.pageRows);\n        const remainder = tpData.totalRows % tpData.pageRows;\n        if (remainder > 0) {\n            quotient++;\n        }\n        tpData.totalPages = quotient;\n        return tpData;\n    }\n\n    setDisplayPages(tpData: TPD, pages: Page[]) {\n        return pages.map((p) => {\n            if (p.thisPage >= tpData.startPage && p.thisPage <= tpData.startPage + (tpData.maxPages - 1)) {\n                p.displayPage = true;\n                return p;\n            } else {\n                return p;\n            }\n        })\n    }\n\n    async renderPagination(tpData: TPD, htmlCtx: HtmlCtx, instanceNazClient: any): Promise<boolean> {\n        htmlCtx.srtHtml = await this.hTPagination(tpData, instanceNazClient);\n        return await $.html(htmlCtx);\n    }\n\n    /**\n     * after the pagination html is set,\n     * go through display pages and activate\n     * the links for fetching appropriate data\n     */\n    activateTLinks(token: string, instanceNazClient: any) {\n        const startPage = this.tpData.startPage;\n        let i = 0;\n        while (i < this.tpData.maxPages) {\n            const elem = document.querySelector(`#tp_pg_${startPage + i}_${instanceNazClient.cardBodyId}`);\n            if (elem) {\n                elem!.addEventListener('click', (e) => {\n                    let pageNumber: number;\n                    const strHead = 'tp_pg_';\n                    const strTail = `_${instanceNazClient.cardBodyId}`;\n                    pageNumber = this.pgFromElem((e.target as HTMLElement).id, strHead, strTail);\n                    const sess = localStorage.getItem(token);\n                    if (sess) {\n                        const jSess = JSON.parse(sess);\n                        this.tpData.activePage = pageNumber;\n                        instanceNazClient.renderNazTable(jSess, this.tpData);\n                    }\n                });\n            }\n            i++;\n        }\n\n        // activate Next\n        const elemNext = document.querySelector(`#tp_next_${instanceNazClient.cardBodyId}`);\n        if (elemNext) {\n            elemNext!.addEventListener('click', (e) => {\n                this.shiftDisplay(TRenderMode.pgNext, instanceNazClient);\n            });\n        }\n\n        // activate Prev\n        const elemPrev = document.querySelector(`#tp_prev_${instanceNazClient.cardBodyId}`);\n        if (elemPrev) {\n            elemPrev!.addEventListener('click', (e) => {\n                this.shiftDisplay(TRenderMode.pgPrev, instanceNazClient);\n            });\n        }\n\n        // get index field\n        const iField: FieldInfo = this.getIndexField(instanceNazClient);\n        instanceNazClient.dSource.data.forEach((rD: any) => {\n            const rowId = rD[iField.name];\n            // activate all edits\n            const elemEdit = document.querySelector(`#t_edit_${instanceNazClient.cardBodyId}_${rowId}`);\n            if (elemEdit) {\n                elemEdit!.addEventListener('click', (e) => {\n                    this.actionEdit(instanceNazClient, rowId, rD);\n                });\n            }\n            // activate all deletes\n            const elemDelete = document.querySelector(`#t_delete_${instanceNazClient.cardBodyId}_${rowId}`);\n            if (elemDelete) {\n                elemDelete!.addEventListener('click', (e) => {\n                    this.actionDelete(instanceNazClient, rowId, rD);\n                });\n            }\n        })\n\n        // set link for dropdown navigation\n        console.log('NazTableService::activateTLinks...before this.setDdl()')\n        this.setDdl(instanceNazClient).then((ret: any) => {\n            console.log('NazTableService::activateTLinks...after this.setDdl()')\n            console.log('NazTableService::activateTLinks/ret:', ret)\n            this.ddlLinks(instanceNazClient)\n        })\n    }\n\n    pgFromElem(id: string, strHead: string, strTail: string): number {\n        id = id.replace(strHead, '')\n        id = id.replace(strTail, '')\n        const pageNumber: number = Number(id);\n        return pageNumber;\n    }\n\n    shiftDisplay(renderMode: TRenderMode, instanceNazClient: any) {\n        const diplayPages: number[] = [];\n        if (renderMode === TRenderMode.pgNext && this.tpData.startPage < this.tpData.maxPages) {\n            this.tpData.startPage++;\n        }\n        if (renderMode === TRenderMode.pgPrev && this.tpData.startPage > 0) {\n            this.tpData.startPage--;\n        }\n\n        let htmlCtx: HtmlCtx = {\n            elementRef: instanceNazClient.elementRef,\n            position: 'beforeend',\n            selector: `#tp_${instanceNazClient.cardBodyId}`,\n            srtHtml: ''\n        }\n        this.renderPagination(this.tpData, htmlCtx, instanceNazClient).then((ret) => {\n            if (ret) {\n                // const instanceNazClient = this;\n                this.activateTLinks(instanceNazClient.baseModel.token, instanceNazClient);\n            } else {\n                console.log('something must have gone wrong');\n            }\n        });\n    }\n\n    getIndexField(instanceNazClient: any): FieldInfo {\n        const indexFields: FieldInfo[] = instanceNazClient.baseModel.data.fields.filter((f: any) => f.index);\n        let iField: FieldInfo = {\n            name: '',\n            title: '',\n            type: FieldType.any,\n            controls: []\n        };\n        if (indexFields.length > 0) {\n            iField = indexFields[0];\n        }\n        return iField;\n    }\n\n    actionEdit(instanceNazClient: any, rowId: number, rowData: any) {\n        instanceNazClient.navigateEditPage(rowId, rowData, instanceNazClient.baseModel.data.fields);\n    }\n\n    actionDelete(instanceNazClient: any, rowId: number, rowData: any) {\n        instanceNazClient.navigateDeletePage(rowId, rowData, instanceNazClient.baseModel.data.fields);\n    }\n\n    initTable(res: any, tpData: TPD, instanceNazClient: any) {\n        if (res.app_state.success) {\n            console.log(\"NazTableService::initTable()/res.data:\", res.data)\n            const data = res.data.items.map((m: any) => {\n                console.log(\"NazTableService::initTable()/m:\", m)\n                m.action = '';\n                return m\n            })\n            console.log(\"NazTableService::initTable()/data:\", data)\n            const renderCtx: TRenderCtx = {\n                renderMode: TRenderMode.pgInit,\n                startPage: 1\n            }\n            console.log(\"NazTableService::initTable()/instanceNazClient.baseModel.data:\", instanceNazClient.baseModel.data)\n            console.log(\"NazTableService::initTable()/res.data.count:\", res.data.count)\n            console.log(\"NazTableService::initTable()/instanceNazClient.baseModel.data.fields:\", instanceNazClient.baseModel.data.fields)\n            instanceNazClient.dSource.fields = instanceNazClient.baseModel.data.fields;\n            instanceNazClient.dSource.data = data;\n            tpData.totalRows = res.data.count;\n            instanceNazClient.setTable(instanceNazClient.dSource, tpData).then(() => {\n            });\n        } else {\n            console.log('NazTableComponent::renderNazTable(): Error fetching data')\n            console.log(`Error:${JSON.stringify(res.app_state.info)}`)\n        }\n    }\n\n    initForm(instanceNazClient: any, frm: FormGroup) {\n        for (const field in frm.controls) {\n            const elemControl = document.querySelector(`#${field}`) as HTMLInputElement;\n            if (elemControl) {\n                elemControl.value = instanceNazClient.baseModel.data.rowData[field];\n            }\n        }\n    }\n\n    async getFormData(instanceNazClient: any) {\n        const formData: any = {};\n        instanceNazClient.baseModel.data.fields.forEach((field: any) => {\n            const elemControl = document.querySelector(`#${field.name}`) as HTMLInputElement;\n            if (elemControl) {\n                const replacement: FieldAlias[] = this.fieldToReplace(field.name, instanceNazClient);\n                if (replacement.length > 0) {\n                    delete formData[field.name];\n                    formData[replacement[0].replaceWith] = elemControl.value;\n                } else {\n                    formData[field.name] = elemControl.value;\n                }\n            }\n        });\n        return await formData;\n    }\n\n    fieldToReplace(fieldName: string, instanceNazClient: any): FieldAlias[] {\n        console.log('starting fieldToReplace()')\n        const fa: FieldAlias[] = instanceNazClient.baseModel.data.fieldsAlias!;\n        console.log('NazTableService::fieldToReplace()/01')\n        let ret: any = [];\n        if (fa) {\n            console.log('NazTableService::fieldToReplace()/02')\n            ret = fa.filter((f) => f.toReplace === fieldName);\n        }\n        return ret;\n    }\n\n    getFormat(f: string) {\n        let ret;\n        switch (f) {\n            case 'alphanum':\n                ret = controlFormatt.alphanum;\n                break;\n            case 'confirmpwd':\n                ret = controlFormatt.confirmpwd;\n                break;\n            case 'digits':\n                ret = controlFormatt.digits;\n                break;\n            case 'email':\n                ret = controlFormatt.email;\n                break;\n            case 'number':\n                ret = controlFormatt.number;\n                break;\n            case 'password':\n                ret = controlFormatt.password;\n                break;\n            case 'text':\n                ret = controlFormatt.text;\n                break;\n            case 'textarea':\n                ret = controlFormatt.textarea;\n                break;\n            case 'url':\n                ret = controlFormatt.url;\n                break;\n        }\n        return ret;\n    }\n\n    initSQuery(iClient: any) {\n        console.log('nazLib::NazTableService::initSQuery()/iClient:', iClient)\n        return {\n            select: iClient.getSelect(),\n            where: iClient.filter,\n            take: iClient.tpData.pageRows,\n            skip: (iClient.tpData.activePage - 1) * iClient.tpData.pageRows\n        }\n    }\n\n    initEmittData(iClient: any) {\n        console.log('nazLib::NazTableService::initEmittData()/iClient:', iClient)\n        return {\n            sQuery: iClient.sQuery,\n            ctx: 0,\n            tpData: {\n                totalRows: 0,\n                totalPages: null,\n                pageRows: 5,\n                maxPages: 4,\n                startPage: 1,\n                pages: [],\n                activePage: 1,\n            }\n        }\n    }\n\n    execQuery(dsEmittData: DsEmittData, get$: Observable<any>, iClient: any) {\n        console.log('naz-table/NazTableService::execQuery()/01')\n        iClient.sQuery = dsEmittData.sQuery;\n        if (dsEmittData.ctx > 0) {\n            console.log('naz-table/NazTableService::execQuery()/02')\n            //   this.svModule.getModules$(this.sQuery, this.sess.cd_token!)\n            get$\n                .subscribe((res) => {\n                    //   this.nazTable.initTable(res, dsEmittData.tpData);\n                    console.log('naz-table/NazTableService::execQuery()/03')\n                    console.log('naz-table/NazTableService::execQuery()/dsEmittData.tpData:', dsEmittData.tpData)\n                    console.log('naz-table/NazTableService::execQuery()/res:', res)\n                    iClient.nazTable.initTable(res, dsEmittData.tpData);\n                })\n        } else {\n            console.log('naz-table/NazTableService::execQuery()/04')\n            iClient.nazTable.initTable(INIT_CD_RESP, dsEmittData.tpData);\n        }\n    }\n\n    async update(instanceNazClient: any) {\n        const iField: FieldInfo = this.getIndexField(instanceNazClient);\n        const updateData = await this.getFormData(instanceNazClient);\n        const filter: any = {};\n        filter[iField.name] = instanceNazClient.baseModel.data.rowId;\n        instanceNazClient.updateQuery\n            .emit({\n                update: updateData,\n                where: filter\n            })\n    }\n\n    async deleteItem(instanceNazClient: any) {\n        const iField: FieldInfo = this.getIndexField(this);\n        const filter: any = {};\n        filter[iField.name] = instanceNazClient.baseModel.data.rowId;\n        instanceNazClient.deleteQuery\n            .emit({\n                where: filter\n            })\n    }\n\n    /////////////////\n    hDdl(iClient: any) {\n        const ddlData: DdlData[] = iClient.ddlData;\n        let h = ``;\n        ddlData.forEach((d) => {\n            h += `<a id=\"${d.menuGuid}\"  href=\"javascript:void(0);\" class=\"dropdown-item\">${d.menuName}</a>`;\n        });\n        return h;\n    }\n    async setDdl(iClient: any) {\n        console.log('starting setDdl()')\n        let htmlCtx: HtmlCtx = {\n            elementRef: iClient.elementRef,\n            position: 'beforeend',\n            selector: `#ddMenuId_${iClient.cardBodyId}`,\n            srtHtml: this.hDdl(iClient)\n        }\n        console.log('setDdl()/htmlCtx:', htmlCtx)\n        const ret = await iClient.svHtml.html(htmlCtx);\n    }\n\n    async ddlLinks(iClient: any) {\n        console.log('starting ddlLinks()')\n        const ddlData: DdlData[] = iClient.ddlData;\n        ddlData.forEach((d) => {\n            const elem = document.querySelector(`#${d.menuGuid}`);\n            if (elem) {\n                console.log(`${d.menuGuid} element is available`)\n                elem!.addEventListener('click', (e) => {\n                    if (d.actionType === ActionType.navigate) {\n                        console.log(`${d.menuGuid}: setting navigation`)\n                        iClient.svNav.sNavigate(iClient, d.navLocation)\n                    }\n                    if (d.actionType === ActionType.execFn) {\n                        if (d.fn) {\n                            iClient[d.fn]();\n                        }\n                    }\n                });\n            }\n        });\n    }\n\n    hasErrors(controlName: string, step: AWizardStep) {\n        return step.formGroup!.controls[controlName].invalid;\n    }\n\n    showError(controlName: string, step: AWizardStep, associateName: string | null = null): string {\n        const result: ValidationError[] = this.svForms.getFormValidationErrors(step.formGroup!);\n        let resFilter: ValidationError[];\n        if (associateName) {\n            resFilter = result.filter((e) => e.control === controlName || e.control === associateName)\n        } else {\n            resFilter = result.filter((e) => e.control === controlName)\n        }\n        return resFilter\n            .map((e) => `${e.control} has error @${e.error}`)\n            .join('; ');\n    }\n\n}","import { Component, OnInit, ElementRef, Input, Output, EventEmitter, AfterViewInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { ISessResp, IQuery, NavService, \n  TDS, TPD, FieldInfo,DsEmittData, DdlData, DEFAULT_TPD,\n  BaseModel,\n} from '@corpdesk/core';\nimport { NazTableService } from './naz-table.service';\nimport { HtmlElemService, HtmlCtx, $ } from '@corpdesk/core';\nimport { Observable } from 'rxjs';\n\n@Component({\n  selector: 'naz-table',\n  templateUrl: './naz-table.component.html',\n  styleUrls: ['./naz-table.component.scss']\n})\nexport class NazTableComponent implements OnInit, AfterViewInit {\n  \n  dSource: TDS = { fields: [], data: [] };\n  isSearching: boolean;\n  dsEmittData: DsEmittData = {\n    ctx: 0,\n    sQuery: {\n      select: [],\n      where: {},\n      take: 5,\n      skip: 0\n    },\n    tpData: {\n      totalRows: 0,\n      totalPages: null,\n      pageRows: 5,\n      maxPages: 4,\n      startPage: 1,\n      pages: [],\n      activePage: 1,\n    }\n  };\n  // dsSubscription$: Subscription;\n  @Input() baseModel: BaseModel;\n  @Input() cardTitle = 'Card Title';\n  @Input() cardBodyId = 'compId';\n  @Input() searchInputId = 'searchInputId';\n  @Input() editRoute: string = '/';\n  @Input() deleteRoute: string = '/';\n  @Input() filter: object | any[] = {};\n  @Input() ds$: Observable<any>;\n  @Output() searchQuery = new EventEmitter<DsEmittData>();\n  @Output() deleteQuery = new EventEmitter<IQuery>();\n  @Input() deleteFx$: Observable<any>;\n  @Input() tpData: TPD = DEFAULT_TPD;\n  @Input() ddlData: DdlData[] = [];\n\n  constructor(\n    private router: Router,\n    private elementRef: ElementRef,\n    private svHtml: HtmlElemService,\n    private svNazTbl: NazTableService,\n    public svNav: NavService,\n  ) {\n    this.isSearching = false;\n  }\n\n  ngOnInit(): void {\n    console.log('naz/naz-table/NazTableComponent::ngOnInit()/searchInputId:', this.searchInputId)\n  }\n\n  ngAfterViewInit() {\n    console.log('naz/naz-table/NazTableComponent::ngAfterViewInit()/searchInputId:', this.searchInputId)\n    this.init();\n  }\n\n  init() {\n    console.log('naz/naz-table/NazTableComponent::ngAfterViewInit()/this.baseModel:', this.baseModel)\n    console.log('naz/naz-table/NazTableComponent::ngAfterViewInit()/this.tpData:', this.tpData)\n    console.log('naz/naz-table/NazTableComponent::ngAfterViewInit()/this.editRoute:', this.editRoute)\n    this.svNazTbl.tpData = this.tpData;\n    this.dsEmittData.ctx = 1;\n    this.renderNazTable(this.baseModel.sess, this.tpData);\n    this.dsEmittData.ctx = 0;\n  }\n\n  async setTable(ds: TDS, tpData: TPD) {\n    let htmlCtx: HtmlCtx = {\n      elementRef: this.elementRef,\n      position: 'beforeend',\n      selector: `#${this.cardBodyId}`,\n      srtHtml: this.svNazTbl.htmlTableInit(this)\n    }\n    const ret = await this.svHtml.html(htmlCtx);\n    if (ret) {\n      htmlCtx.selector = `#th_${this.cardBodyId}`;\n      htmlCtx.srtHtml = this.svNazTbl.hTHead(ds);\n      await $.append(htmlCtx);\n      htmlCtx.selector = `#tb_${this.cardBodyId}`;\n      htmlCtx.srtHtml = this.svNazTbl.hTBody(ds, this);\n      await $.append(htmlCtx);\n      htmlCtx.selector = `#tp_${this.cardBodyId}`;\n      this.svNazTbl.renderPagination(tpData, htmlCtx, this).then((ret) => {\n        if (ret) {\n          const instanceNazClient = this;\n          this.svNazTbl.activateTLinks(this.baseModel.token, instanceNazClient);\n        } else {\n          console.log('something must have gone wrong');\n        }\n      });\n    }\n  }\n\n  renderNazTable(sess: ISessResp, tpData: TPD) {\n    const q: IQuery = {\n      select: this.getSelect(),\n      where: this.filter,\n      take: tpData.pageRows,\n      skip: (tpData.activePage - 1) * tpData.pageRows\n    };\n    this.dsEmittData.sQuery = q;\n    this.dsEmittData.ctx = 2;\n    this.dsEmittData.tpData = tpData\n    this.searchQuery.emit(this.dsEmittData);\n    this.isSearching = false;\n  }\n\n  initTable(res: any, tpData: TPD) {\n    this.svNazTbl.initTable(res, tpData, this);\n  }\n\n  setSess(token: string) {\n    this.baseModel.token = token;\n  }\n\n  getSess() {\n    return this.baseModel.token;\n  }\n\n  search(term: string) {\n    let sFilter: any = null;\n    if (term.length > 0) {\n      sFilter = this.getFilter(term);\n    } else {\n      sFilter = {};\n    }\n    console.log('nazLib::NaxTableComonent::search()/sFilter:', sFilter)\n    this.filter = sFilter;\n    this.isSearching = true;\n    this.svNazTbl.tpData = this.tpData;\n    this.renderNazTable(this.baseModel.sess, this.tpData);\n  }\n\n  getFilter(term: string) {\n    console.log('nazLib::NaxTableComonent::getFilter()/01')\n    const searchFilter: any = [];\n    let searchFStr = '';\n    const sFields = this.baseModel.data.fields\n      .filter(f => f.searchable)\n      .map(f => f.name);\n    sFields.forEach((field, i) => {\n      const fItem: any = {};\n      if (i === 0) {\n        searchFStr += `[ { \"${field}\": \"Like('%${term}%')\" }`;\n      } else {\n        searchFStr += ` , { \"${field}\": \"Like('%${term}%')\" }`;\n      }\n    })\n    searchFStr+=\"]\"\n    console.log('nazLib::NaxTableComonent::getFilter()/searchFStr:', searchFStr)\n    const searchFObj = JSON.parse(searchFStr);\n    return searchFObj;\n  }\n\n  getSelect() {\n    return this.baseModel.data.fields.filter(f => f.fetchable).map(f => f.name)\n  }\n\n  navigateEditPage(rId: number, rData: any, fArr: FieldInfo[]) {\n    const params = {\n      queryParams: {\n        ctx: 'edit',\n        token: this.baseModel.sess.cd_token,\n        rowId: rId,\n        rowData: JSON.stringify(rData),\n        fields: JSON.stringify(fArr),\n      },\n      skipLocationChange: true,\n      replaceUrl: false\n    };\n    console.log('NazTableComponent::navigateEditPage()/params:', params)\n    console.log('NazTableComponent::navigateEditPage()/this.editRoute:', this.editRoute)\n    this.router.navigate([this.editRoute], params);\n  }\n\n  navigateDeletePage(rId: number, rData: any, fArr: FieldInfo[]) {\n    const params = {\n      queryParams: {\n        ctx: 'delete',\n        token: this.baseModel.sess.cd_token,\n        rowId: rId,\n        rowData: JSON.stringify(rData),\n        fields: JSON.stringify(fArr),\n      },\n      skipLocationChange: true,\n      replaceUrl: false\n    };\n    this.router.navigate([this.deleteRoute], params);\n  }\n\n  async getFormData() {\n    const formData: any = {};\n    this.baseModel.data.fields.forEach((field) => {\n      const elemControl = document.querySelector(`#${field.name}`) as HTMLInputElement;\n      if (elemControl) {\n        formData[field.name] = elemControl.value;\n      }\n    });\n    return await formData;\n  }\n}\n","<div class=\"container-fluid\">\n  <app-pagetitle [title]=\"baseModel.data.title\" [breadcrumbItems]=\"baseModel.breadCrumbItems\"></app-pagetitle>\n  <naz-card [cardTitle]=\"cardTitle\" [cardBodyId]=\"cardBodyId\" [searchInputId]=\"searchInputId\" (searchOutput)=\"search($event)\"></naz-card>\n</div>\n","import { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\n\n@Component({\n    selector: 'ng-select-demo',\n    templateUrl: './select-demo.component.html',\n    styleUrls: ['./select-demo.component.scss']\n})\nexport class SelectDemoComponent implements OnInit {\n\n    heroForm: FormGroup;\n    isCitiesControlVisible = true;\n    cities: any[] = [\n        { id: 1, name: 'Vilnius' },\n        { id: 2, name: 'Kaunas' },\n        { id: 3, name: 'Pavilnys (Disabled)', disabled: true },\n        { id: 4, name: 'Pabradė' },\n    ];\n\n    constructor(private fb: FormBuilder) {\n    }\n\n    ngOnInit() {\n        this.heroForm = this.fb.group({\n            selectedCitiesIds: []\n        });\n    }\n\n    toggleCitiesControl() {\n        this.isCitiesControlVisible = !this.isCitiesControlVisible;\n    }\n\n    clearCities() {\n        this.heroForm.get('selectedCitiesIds')!.patchValue([]);\n    }\n}","<form [formGroup]=\"heroForm\">\n    <div class=\"form-group\">\n        <label for=\"state\">City</label>\n        <ng-select *ngIf=\"isCitiesControlVisible\"\n                   [items]=\"cities\"\n                   bindLabel=\"name\"\n                   bindValue=\"id\"\n                   labelForId=\"state\"\n                   [multiple]=\"true\"\n                   placeholder=\"Select cities\"\n                   clearAllText=\"Clear\"\n                   formControlName=\"selectedCitiesIds\">\n        </ng-select>\n        <br>\n        <button (click)=\"toggleCitiesControl()\" class=\"btn btn-sm btn-secondary\">Show/Hide</button>\n        <button (click)=\"clearCities()\" class=\"btn btn-sm btn-secondary\">Clear</button>\n    </div>\n</form>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SelectDemoComponent } from './select-demo.component';\nimport { NazUiModule } from '../ui';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgbNavModule, NgbDropdownModule, NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgSelectModule } from '@ng-select/ng-select';\n\n@NgModule({\n  declarations: [\n    SelectDemoComponent,\n  ],\n  imports: [\n    CommonModule,\n    NgbNavModule, NgbDropdownModule, NgbTooltipModule,\n    NgSelectModule,\n    FormsModule, \n    ReactiveFormsModule,\n    NazUiModule\n  ],\n  exports:[\n    SelectDemoComponent,\n  ]\n})\nexport class NazSelectModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\n\n@Component({\n    selector: 'naz-ddl-countries',\n    templateUrl: './ddl-countries.component.html',\n    styleUrls: ['./ddl-countries.component.scss']\n})\nexport class DdlCountriesComponent implements OnInit {\n    cookieValue: any;\n    flagvalue: any;\n    countryName: any;\n    valueset: string;\n\n    listLang = [\n        { text: 'English', flag: 'assets/images/flags/us.jpg', lang: 'en' },\n        { text: 'Spanish', flag: 'assets/images/flags/spain.jpg', lang: 'es' },\n        { text: 'German', flag: 'assets/images/flags/germany.jpg', lang: 'de' },\n        { text: 'Italian', flag: 'assets/images/flags/italy.jpg', lang: 'it' },\n        { text: 'Russian', flag: 'assets/images/flags/russia.jpg', lang: 'ru' },\n    ];\n\n    constructor(private fb: FormBuilder) {\n      this.setLanguage('English', 'en', 'assets/images/flags/us.jpg')\n    }\n\n    ngOnInit() {\n\n    }\n\n    toggleCitiesControl() {\n\n    }\n\n    /**\n   * Translate language\n   */\n  setLanguage(text: string, lang: string, flag: string) {\n    this.countryName = text;\n    this.flagvalue = flag;\n    this.cookieValue = lang;\n    // this.languageService.setLanguage(lang);\n  }\n}","<div class=\"dropdown d-inline-block\" ngbDropdown>\n    <button type=\"button\" class=\"btn header-item\" id=\"page-header-user-dropdown\" ngbDropdownToggle>\n      <img *ngIf=\"flagvalue !== undefined\" src=\"{{flagvalue}}\" alt=\"Header Language\" height=\"16\"> <span\n        class=\"ml-1\">{{countryName}}</span>\n      <img *ngIf=\"flagvalue === undefined\" src=\"{{valueset}}\" alt=\"Header Language\" height=\"16\">\n      <span *ngIf=\"flagvalue === undefined\" class=\"ml-1\">English</span>\n    </button>\n    <div class=\"dropdown-menu dropdown-menu-right\" ngbDropdownMenu>\n      <!-- item-->\n      <a href=\"javascript:void(0);\" class=\"dropdown-item notify-item\" *ngFor=\"let item of listLang\"\n        (click)=\"setLanguage(item.text, item.lang, item.flag)\" [ngClass]=\"{'active': cookieValue === item.lang}\">\n        <img src=\"{{item.flag}}\" alt=\"user-image\" class=\"mr-1\" height=\"12\"> <span\n          class=\"align-middle\">{{item.text}}</span>\n      </a>\n      <!-- item-->\n    </div>\n  </div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DdlCountriesComponent } from './ddl-countries.component';\nimport { NazUiModule } from '../ui';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgbNavModule, NgbDropdownModule, NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap';\n\n@NgModule({\n  declarations: [\n    DdlCountriesComponent,\n  ],\n  imports: [\n    CommonModule,\n    NgbNavModule, NgbDropdownModule, NgbTooltipModule,\n    FormsModule, \n    ReactiveFormsModule,\n    NazUiModule\n  ],\n  exports:[\n    DdlCountriesComponent,\n  ]\n})\nexport class NazDdlCountriesModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NazTableComponent } from './naz-table.component';\nimport { NazUiModule } from '../ui';\nimport { NazSelectModule } from '../naz-select';\nimport { NazDdlCountriesModule } from '../naz-ddl-countries';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgbNavModule, NgbDropdownModule, NgbTooltipModule, NgbAccordionModule } from '@ng-bootstrap/ng-bootstrap';\n// import { Ng2SearchPipeModule } from 'ng2-search-filter';\n// import { FilterPipeModule } from 'ngx-filter-pipe';\n// import { NgPipesModule } from 'ngx-pipes';\n// import { CustomFilterPipe } from '../pipes/custom-filter-pipe';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { ArchwizardModule } from 'angular-archwizard';\nimport { NgToggleModule } from 'ng-toggle-button';\n// import { NazCreateModule } from '../naz-create';\n\n\n\n\n@NgModule({\n  declarations: [\n    NazTableComponent,\n  ],\n  imports: [\n    CommonModule,\n    NgbNavModule, NgbDropdownModule, NgbTooltipModule,NgbAccordionModule,\n    // Ng2SearchPipeModule,\n    // FilterPipeModule,\n    // NgPipesModule,\n    NgSelectModule,\n    ArchwizardModule,\n    NgToggleModule,\n    FormsModule, \n    ReactiveFormsModule,\n    NazUiModule,\n    NazSelectModule,\n    NazDdlCountriesModule,\n  ],\n  exports:[\n    NazTableComponent,\n  ]\n})\nexport class NazTableModule { }\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class DdlIconsService {\n    selectedIconCls = 'fas fa-at';\n    constructor(){\n        \n    }\n\n    showList(elemId: string) {\n        const ddlElement = document.getElementById(elemId) as HTMLElement;\n        if (ddlElement) {\n            ddlElement.classList.add('show')\n        }\n    }\n\n    hideList(elemId: string) {\n        const ddlElement = document.getElementById(elemId) as HTMLElement;\n        if (ddlElement) {\n            ddlElement.classList.remove('show')\n        }\n    }\n\n    listToggle(elemId: string) {\n        const ddlElement = document.getElementById(elemId) as HTMLElement;\n        if (ddlElement) {\n            ddlElement.classList.toggle('show')\n        }\n    }\n\n}","import { Component, OnInit, AfterViewInit, AfterContentChecked, Output, EventEmitter, Input } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { adaptFaData, AWizardStep, EmittedDdlSelection, FieldInfo, FormsService } from '@corpdesk/core';\nimport { DdlIconsService } from './ddl-icons.service';\nimport FuzzySearch from 'fuzzy-search';\n\ninterface DdlIconItem {\n  cls: string;\n  action?: any;\n  numericLabel?: number;\n  icon: { cls: string; },\n  text: string;\n  id?: number;\n}\n\n@Component({\n  selector: 'naz-ddl-icons',\n  templateUrl: './ddl-icons.component.html',\n  styleUrls: ['./ddl-icons.component.scss']\n})\nexport class DdlIconsComponent implements OnInit, AfterViewInit {\n  @Input() step: AWizardStep;\n  @Input() controlName: string = '';\n  @Input() controlTitle: string;\n  @Input() iconDdlId = 'iconDdlId';\n  @Input() searchInputId = 'searchInputId';\n  @Input() searchInputName = 'searchInputName';\n  @Input() iconButtonId = 'iconButton'\n  @Output() emitIconSelection = new EventEmitter<EmittedDdlSelection>();\n  filteredIcons: DdlIconItem[];\n  iconData: DdlIconItem[];\n  emittedDdlSelection: EmittedDdlSelection = {step:null,controlName: '' };\n\n  constructor(\n    private fb: FormBuilder,\n    public svForm: FormsService,\n    public svDdlIcons: DdlIconsService,\n  ) {\n    this.iconData = adaptFaData();\n  }\n\n  ngOnInit() {\n\n  }\n\n  ngAfterViewInit() {\n    const elemInput = document.getElementById(this.searchInputId) as HTMLInputElement;\n    if (elemInput) {\n      this.svForm.debounceInput$(elemInput)\n        .subscribe((text: string) => {\n          const searcher = new FuzzySearch(this.iconData, ['text', 'tags'], {\n            caseSensitive: false,\n          });\n          const result = searcher.search(text);\n          this.filteredIcons = result;\n          if (text.length > 2) {\n            this.svDdlIcons.showList(this.iconDdlId)\n          } else {\n            this.svDdlIcons.hideList(this.iconDdlId)\n          }\n        });\n    } else {\n      console.log('elem is not ready!!');\n    }\n\n    // this.emittedDdlSelection.step = this.step;\n    // this.emittedDdlSelection.controlName = this.controlName;\n  }\n\n  itemAction(id: number): void {\n    const item: DdlIconItem[] = this.filteredIcons.filter(i => i.id === id)\n    console.log('selected item:', item[0]);\n    this.svDdlIcons.selectedIconCls = item[0].icon.cls;\n    console.log('this.step.formGroup!.controls:', this.step.formGroup!.controls)\n    console.log('this.controlName:', this.controlName)\n    const fieldArr = this.step.fields.map((f: FieldInfo, i: number) => {\n      if (f.name === this.controlName) {\n        this.step.fields[i].ddlInfo!.selectedValue = item[0].icon.cls;\n        return f;\n      } else {\n        return null;\n      }\n    })\n    console.log('this.step.fields:', this.step.fields);\n    this.emittedDdlSelection.step = this.step;\n    this.emittedDdlSelection.controlName = this.controlName;\n    this.emitIconSelection.emit(this.emittedDdlSelection);\n    // this.step.formGroup!.controls[this.controlName].setValue(item[0].icon.cls);\n    console.log('this.step.formGroup!.controls:', this.step.formGroup!.controls);\n    this.svDdlIcons.hideList(this.iconDdlId);\n  }\n\n}","<div [formGroup]=\"step.formGroup!\" class=\"form-group\">\n  <label [for]=\"controlName\"> {{controlTitle}} </label>\n  <input \n    [id]=\"searchInputId\"\n    type=\"text\" \n    [name]=\"searchInputName\" \n    formControlName=\"iconSearch\"\n    class=\"form-control form-control-sm ml-2\" \n    aria-controls=\"tickets-table\"\n     />\n     <div class=\"dropdown d-inline-block user-dropdown\" ngbDropdown>\n      <button type=\"button\" (click)=\"svDdlIcons.listToggle(iconDdlId)\" ngbDropdownToggle class=\"btn btn-primary btn-rounded btn-lg\" [id]=\"iconButtonId\"\n        data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\n        <!-- <img class=\"rounded-circle header-profile-user\" src=\"assets/images/users/avatar-2.jpg\" alt=\"Header Avatar\"> -->\n        <!-- <span class=\"d-none d-xl-inline-block ml-1\">Kevin</span> -->\n        <!-- <i class=\"mdi mdi-chevron-down d-none d-xl-inline-block\"></i> -->\n        <i [class]=\"svDdlIcons.selectedIconCls\"></i>\n      </button>\n      <div [id]=\"iconDdlId\" class=\"dropdown-menu dropdown-menu-left\" ngbDropdownMenu>\n        <ng-container *ngFor=\"let item of filteredIcons\">\n          <!-- actionable link -->\n          <a [class]=\"item.cls\" href=\"javascript: void(0);\" (click)=\"itemAction(item.id!)\">\n            <!-- numeric lablel -->\n            <span *ngIf=\"item.numericLabel\" class=\"badge badge-success float-right mt-1\"> {{item.numericLabel}} </span>\n            <!-- colorable icon -->\n            <i [class]=\"item.icon.cls\"></i>\n            {{item.text}}\n          </a>\n        </ng-container>\n      </div>\n    </div>\n  \n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DdlIconsComponent } from './ddl-icons.component';\nimport { NazUiModule } from '../ui';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgbNavModule, NgbDropdownModule, NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap';\n\n@NgModule({\n  declarations: [\n    DdlIconsComponent,\n  ],\n  imports: [\n    CommonModule,\n    NgbNavModule, NgbDropdownModule, NgbTooltipModule,\n    FormsModule, \n    ReactiveFormsModule,\n    NazUiModule,\n  ],\n  exports:[\n    DdlIconsComponent,\n  ]\n})\nexport class NazDdlIconsModule { }\n","import { Time } from '@angular/common';\nimport { Component, OnInit, Input } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { DdlInfo } from '@corpdesk/core';\n// interface DdlData{\n//   config: {suppressScrollX: boolean; wheelSpeed: any};\n//   header: {\n//     title: { lable: string; cls: string; action: any },\n//     sideLink: { lable: string; cls: string; action: any },\n//   };\n//   footer: { label: string; icon: string; action:any; };\n//   data: DataItem[];\n// }\n\n// interface DataItem{\n//   label: string;\n//   description: string;\n//   time: string;\n// }\n@Component({\n  selector: 'naz-ddl-notifications',\n  templateUrl: './ddl-notifications.component.html',\n  styleUrls: ['./ddl-notifications.component.scss']\n})\nexport class DdlNotificationsComponent implements OnInit {\n\n  configData: any;\n\n  // @Input() ddlData:DdlData;\n  @Input() ddlData: DdlInfo;\n\n  constructor(\n    private fb: FormBuilder) {\n    this.configData = {\n      suppressScrollX: true,\n      wheelSpeed: 0.3\n    };\n  }\n\n  ngOnInit() {\n\n  }\n\n  toggleCitiesControl() {\n\n  }\n\n}","<div class=\"dropdown d-inline-block\" ngbDropdown>\n  <button type=\"button\" ngbDropdownToggle class=\"btn header-item noti-icon waves-effect\"\n    id=\"page-header-notifications-dropdown\" data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\n    <i class=\"ri-notification-3-line\"></i>\n    <span class=\"noti-dot\"></span>\n  </button>\n  <div class=\"dropdown-menu dropdown-menu-lg dropdown-menu-left p-0\" ngbDropdownMenu\n    aria-labelledby=\"page-header-notifications-dropdown\">\n    <div class=\"p-3\">\n      <div class=\"row align-items-center\">\n        <div class=\"col\">\n          <h6 class=\"m-0\">{{ddlData.header!.title.lable}} </h6>\n        </div>\n        <div class=\"col-auto\">\n          <a href=\"javascript: void(0);\" class=\"small\">{{ddlData.header!.sideLink.lable}}</a>\n        </div>\n      </div>\n    </div>\n    <perfect-scrollbar style=\"position: relative; height: 230px;\" [config]=\"ddlData.config\">\n      <ng-container *ngFor=\"let item of ddlData.selData$|async\">\n        <a href=\"\" class=\"text-reset notification-item\">\n          <div class=\"media\">\n            <div class=\"avatar-xs mr-3\">\n              <span class=\"avatar-title bg-primary rounded-circle font-size-16\">\n                <i class=\"ri-shopping-cart-line\"></i>\n              </span>\n            </div>\n            <div class=\"media-body\">\n              <h6 class=\"mt-0 mb-1\">{{item.label}}</h6>\n              <div class=\"font-size-12 text-muted\">\n                <p class=\"mb-1\">{{item.description}}</p>\n                <p class=\"mb-0\"><i class=\"mdi mdi-clock-outline\"></i>\n                  {{item.time}}</p>\n              </div>\n            </div>\n          </div>\n        </a>\n      </ng-container>\n        \n      \n      \n      <!-- <a href=\"\" class=\"text-reset notification-item\">\n        <div class=\"media\">\n          <div class=\"avatar-xs mr-3\">\n            <span class=\"avatar-title bg-primary rounded-circle font-size-16\">\n              <i class=\"ri-shopping-cart-line\"></i>\n            </span>\n          </div>\n          <div class=\"media-body\">\n            <h6 class=\"mt-0 mb-1\">{{ 'HEADER.NOTIFICATIONS.FIRST.TITLE' | translate}}</h6>\n            <div class=\"font-size-12 text-muted\">\n              <p class=\"mb-1\">{{ 'HEADER.NOTIFICATIONS.FIRST.TEXT' | translate}}</p>\n              <p class=\"mb-0\"><i class=\"mdi mdi-clock-outline\"></i>\n                {{ 'HEADER.NOTIFICATIONS.FIRST.TIME' | translate}}</p>\n            </div>\n          </div>\n        </div>\n      </a>\n      <a href=\"\" class=\"text-reset notification-item\">\n        <div class=\"media\">\n          <img src=\"assets/images/users/avatar-3.jpg\" class=\"mr-3 rounded-circle avatar-xs\" alt=\"user-pic\">\n          <div class=\"media-body\">\n            <h6 class=\"mt-0 mb-1\">{{ 'HEADER.NOTIFICATIONS.SECOND.TITLE' | translate}}</h6>\n            <div class=\"font-size-12 text-muted\">\n              <p class=\"mb-1\">{{ 'HEADER.NOTIFICATIONS.SECOND.TEXT' | translate}}</p>\n              <p class=\"mb-0\"><i\n                  class=\"mdi mdi-clock-outline\"></i>{{ 'HEADER.NOTIFICATIONS.SECOND.TIME' | translate}}</p>\n            </div>\n          </div>\n        </div>\n      </a>\n      <a href=\"\" class=\"text-reset notification-item\">\n        <div class=\"media\">\n          <div class=\"avatar-xs mr-3\">\n            <span class=\"avatar-title bg-success rounded-circle font-size-16\">\n              <i class=\"ri-checkbox-circle-line\"></i>\n            </span>\n          </div>\n          <div class=\"media-body\">\n            <h6 class=\"mt-0 mb-1\">{{ 'HEADER.NOTIFICATIONS.THIRD.TITLE' | translate}}</h6>\n            <div class=\"font-size-12 text-muted\">\n              <p class=\"mb-1\">{{ 'HEADER.NOTIFICATIONS.THIRD.TEXT' | translate}}</p>\n              <p class=\"mb-0\"><i\n                  class=\"mdi mdi-clock-outline\"></i>{{ 'HEADER.NOTIFICATIONS.THIRD.TIME' | translate}}</p>\n            </div>\n          </div>\n        </div>\n      </a>\n      <a href=\"\" class=\"text-reset notification-item\">\n        <div class=\"media\">\n          <img src=\"assets/images/users/avatar-4.jpg\" class=\"mr-3 rounded-circle avatar-xs\" alt=\"user-pic\">\n          <div class=\"media-body\">\n            <h6 class=\"mt-0 mb-1\">{{ 'HEADER.NOTIFICATIONS.FOUR.TITLE' | translate}}</h6>\n            <div class=\"font-size-12 text-muted\">\n              <p class=\"mb-1\">{{ 'HEADER.NOTIFICATIONS.FOUR.TEXT' | translate}}</p>\n              <p class=\"mb-0\"><i\n                  class=\"mdi mdi-clock-outline\"></i>{{ 'HEADER.NOTIFICATIONS.FOUR.TIME' | translate}}</p>\n            </div>\n          </div>\n        </div>\n      </a> -->\n    </perfect-scrollbar>\n    <div class=\"p-2 border-top\">\n      <a class=\"btn btn-sm btn-link font-size-14 btn-block text-center\" href=\"javascript:void(0)\">\n        <i class=\"mdi mdi-arrow-right-circle mr-1\"></i> {{ ddlData.footer!.label}}\n      </a>\n    </div>\n  </div>\n</div>","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable, of } from 'rxjs';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class DdlSearchableService {\n  private items$: BehaviorSubject<any[]> = new BehaviorSubject<any[]>([]);\n  private totalItems = 1000; // Total number of items you expect to have\n  private itemsPerPage = 30; // Number of items to load per request\n\n  constructor() {}\n\n  // Method to load data (mock implementation)\n  loadData(skip: number, limit: number): Observable<any[]> {\n    // Replace this with actual API call or data retrieval logic\n    const data = []; // Generate or fetch data based on skip and limit\n    return of(data);\n  }\n\n  loadInitialItems(): Observable<any[]> {\n    // Load the initial set of items\n    const initialItems = this.loadItems(0, this.itemsPerPage);\n    this.items$.next(initialItems);\n    return this.items$.asObservable();\n  }\n\n  loadMoreItems(startIndex: number, endIndex: number): void {\n    // Load more items as the user scrolls\n    const moreItems = this.loadItems(startIndex, endIndex);\n    const currentItems = this.items$.getValue();\n    this.items$.next([...currentItems, ...moreItems]);\n  }\n\n  clearItemsBeforeIndex(index: number): void {\n    const currentItems = this.items$.getValue();\n    this.items$.next(currentItems.slice(index));\n  }\n\n  private loadItems(startIndex: number, endIndex: number): any[] {\n    // Simulate fetching data from an API or a large collection\n    const items = [];\n    for (let i = startIndex; i < endIndex; i++) {\n      if (i >= this.totalItems) break;\n      items.push({ id: i, name: `Item ${i}` });\n    }\n    return items;\n  }\n}\n","import { Component, OnInit, Input } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { AWizardModel, AWizardStep, DdlInfo, FieldInfo, FormsService } from '@corpdesk/core';\nimport { NazTableService } from '../naz-table';\nimport { DdlSearchableService } from './ddl-searchable.service';\n\n\n@Component({\n  selector: 'naz-ddl-searchable',\n  templateUrl: './ddl-searchable.component.html',\n  styleUrls: ['./ddl-searchable.component.scss']\n})\nexport class DdlSearchableComponent implements OnInit {\n\n  // Existing @Input properties\n  loadedData: any[] = []; // To store loaded data\n  pageSize = 30; // Number of items to load per scroll\n\n  @Input() step: AWizardStep;\n  @Input() ddlLabel: string;\n  @Input() selData$: any;\n  @Input() selValueField: string;\n  @Input() selIndex: string;\n  @Input() selPlaceholder: string;\n  @Input() controlName: string;\n  @Input() wizardModel: AWizardModel;\n  @Input() stepIndex: number;\n  @Input() control: FieldInfo;\n  selectedItem: string;\n\n  constructor(\n    private fb: FormBuilder,\n    public svForm: FormsService,\n    private svDdlService: DdlSearchableService,\n    public svNazTable: NazTableService,\n  ) {\n  }\n\n  ngOnInit() {\n    // Initial data load\n    this.loadData(0, this.pageSize);\n  }\n\n  // Method to load data\n  loadData(skip: number, limit: number) {\n    this.svDdlService.loadData(skip, limit).subscribe(data => {\n      this.loadedData = [...this.loadedData, ...data]; // Append new data to loadedData\n      this.selData$ = this.loadedData; // Update the dropdown data\n    });\n  }\n\n  // Handler for when the user scrolls to the end of the dropdown\n  onScrollToEnd() {\n    // this.loadData(this.loadedData.length, this.pageSize);\n  }\n\n  // Handler for when the user scrolls to the start of the dropdown\n  onScrollToStart() {\n    // Implement logic if you need to load data in the reverse direction or clear old data\n  }\n\n}","<!-- <div [formGroup]=\"step.formGroup!\" class=\"form-group\">\n  <label class=\"control-label\">{{ddlLabel}}</label>\n  <ng-select \n    [items]=\"selData$\"\n    [bindLabel]=\"selValueField\" \n    [bindValue]=\"selIndex\"\n    [placeholder]=\"selPlaceholder\" \n    [(ngModel)]=\"selectedItem\"\n    [formControlName]=\"controlName\"\n    >\n  </ng-select>\n  <div *ngIf=\"svNazTable.submit && wizardModel.steps[stepIndex].formGroup!.controls[control.name].errors\"\n                          class=\"invalid-feedback\">\n                          <span\n                            *ngIf=\"svNazTable.hasErrors(control.name,step)\">{{svNazTable.showError(control.name, step,control.primaryField)}}</span>\n                        </div>\n</div> -->\n\n<!-- <div [formGroup]=\"step.formGroup!\" class=\"form-group\">\n  <label class=\"control-label\">{{ddlLabel}}</label>\n  <ng-select \n    [items]=\"selData$\"\n    [bindLabel]=\"selValueField\" \n    [bindValue]=\"selIndex\"\n    [placeholder]=\"selPlaceholder\" \n    [(ngModel)]=\"selectedItem\"\n    [formControlName]=\"controlName\"\n    (scrollToEnd)=\"onScrollToEnd()\"  \n    (scrollToStart)=\"onScrollToStart()\"\n    > \n  </ng-select>\n  <div *ngIf=\"svNazTable.submit && wizardModel.steps[stepIndex].formGroup!.controls[control.name].errors\"\n                          class=\"invalid-feedback\">\n                          <span\n                            *ngIf=\"svNazTable.hasErrors(control.name,step)\">{{svNazTable.showError(control.name, step,control.primaryField)}}</span>\n                        </div>\n</div> -->\n\n<div [formGroup]=\"step.formGroup!\" class=\"form-group\">\n  <label class=\"control-label\">{{ddlLabel}}</label>\n  <ng-select \n    [items]=\"selData$\"\n    [bindLabel]=\"selValueField\" \n    [bindValue]=\"selIndex\"\n    [placeholder]=\"selPlaceholder\" \n    [(ngModel)]=\"selectedItem\"\n    [formControlName]=\"controlName\"\n    (scrollToEnd)=\"onScrollToEnd()\" \n    (scrollToStart)=\"onScrollToStart()\"> \n  </ng-select>\n  <div *ngIf=\"svNazTable.submit && wizardModel.steps[stepIndex].formGroup!.controls[control.name].errors\"\n                          class=\"invalid-feedback\">\n                          <span\n                            *ngIf=\"svNazTable.hasErrors(control.name,step)\">{{svNazTable.showError(control.name, step,control.primaryField)}}</span>\n                        </div>\n</div>\n\n","import {\n  Component, OnInit, AfterViewInit, Input, Output,\n  EventEmitter, ViewChild, ElementRef\n} from '@angular/core';\nimport { Router } from '@angular/router';\nimport {\n  FormsService, AWizardModel, AWizardStep, IAppState, ISessResp,\n  FieldInfo, EmittedDdlSelection, BaseModel, NavService,\n  FieldFor\n} from '@corpdesk/core';\nimport { DdlIconsService } from '../naz-ddl-icons';\nimport { NazTableService } from '../naz-table';\nimport { AbstractControl, FormGroup } from '@angular/forms';\n\n// interface DdlData {\n//   config: { suppressScrollX: boolean; wheelSpeed: any };\n//   header: {\n//     title: { lable: string; cls: string; action: any },\n//     sideLink: { lable: string; cls: string; action: any },\n//   };\n//   footer: { label: string; icon: string; action: any; };\n//   data: DataItem[];\n// }\n\n\n// interface DataItem {\n//   label: string;\n//   description: string;\n//   time: string;\n// }\n\ninterface ScopeItems {\n  [key: string]: boolean;\n}\n\n@Component({\n  selector: 'naz-table-create',\n  templateUrl: './create.component.html',\n  styleUrls: ['./create.component.scss']\n})\nexport class CreateComponent implements OnInit, AfterViewInit {\n  @ViewChild('inputIconSearch', { static: true }) inputIconSearch: ElementRef;\n  @ViewChild('myLabel', { static: true }) myLabel: ElementRef;\n  term: any;\n  @Input() baseModel: BaseModel;\n  @Input() token: string;\n  @Input() jAppState: IAppState;\n  @Input() sess: ISessResp;\n  @Input() fields: FieldInfo[];\n  @Input() title = \"Title\"\n  @Input() breadCrumbItems: Array<{}>;\n  scope: ScopeItems = { isSys: false, isApp: false };\n  @Input() wizardModel: AWizardModel;\n  @Output() toggleEmitter = new EventEmitter<HTMLInputElement>();\n  @Output() saveEmitter = new EventEmitter<AWizardStep>();\n  @Output() relaySelIconEmitter = new EventEmitter<EmittedDdlSelection>();\n\n  filterWizardModel: AWizardModel;\n\n  constructor(\n    public router: Router, // do not remove, used for navigate\n    public svForm: FormsService,\n    private svDdlIcons: DdlIconsService,\n    public svNazTable: NazTableService,\n    private svNav: NavService,\n  ) {\n    console.log(\"naz/naz-crate/CreateComponent::constructor()/wizardModel.steps:\", JSON.stringify(this.wizardModel, this.getCircularReplacer()))\n  }\n\n  ngOnInit() {\n    console.log(\"naz/naz-crate/CreateComponent::ngOnInit()/wizardModel.steps:\", JSON.stringify(this.wizardModel, this.getCircularReplacer()))\n    this.filterWizardModel = this.filterWizardModelForCreateForm(this.wizardModel)\n  }\n\n  ngAfterViewInit() {\n    console.log(\"naz/naz-crate/CreateComponent::ngAfterViewInit()/wizardModel.steps:\", JSON.stringify(this.wizardModel, this.getCircularReplacer()))\n  }\n\n  getCircularReplacer() {\n    const seen = new WeakSet();\n    return (key: string, value: any) => {\n      if (typeof value === \"object\" && value !== null) {\n        if (seen.has(value)) {\n          return; // Skip circular reference\n        }\n        seen.add(value);\n      }\n      return value;\n    };\n  }\n\n  textChanged() {\n    this.svNazTable.submit = false;\n  }\n\n  selectionChanged(changeData: any) {\n  }\n\n  toggleScope(e: Event) {\n    this.svNazTable.submit = false;\n    let elem = (e.target as HTMLInputElement);\n    this.toggleEmitter.emit(elem)\n  }\n\n  relaySelectedIcon(emittedDdlSelection: EmittedDdlSelection) {\n    this.relaySelIconEmitter.emit(emittedDdlSelection);\n  }\n\n  save(step: AWizardStep) {\n    // console.log('this.svDdlIcons.selectedIconCls:', this.svDdlIcons.selectedIconCls)\n    console.log('nazlib/naz-create/CreateComponent::save()/step:', step)\n    this.svNazTable.submit = true;\n    this.saveEmitter.emit(step);\n  }\n\n  cancel(): void {\n    console.log('naz/CreateComponent::this.baseModel.controllerRoutes:', this.baseModel.controllerRoutes)\n    this.svNav.sNavigate(this, this.baseModel.controllerRoutes.listRoute)\n  }\n\n  finishFunction() {\n    console.log('finishing!!');\n  }\n\n  // Extracts control keys safely\n  controlKeys(controls: any): string[] {\n    return controls ? Object.keys(controls) : [];\n  }\n\n  // Log an error for controls that failed to generate\n  logMissingControl(controlName: string): void {\n    console.error(`Control \"${controlName}\" could not be generated.`);\n  }\n\n  /**\n   * Advanced: Checking for Specific Properties in Controls\n   * To detect specific null fields that might be causing issues, \n   * you could add a check in the component to flag problematic controls, such as missing _rawValidators or ddlInfo.data.\n   * @param control \n   * @returns \n   */\n  hasValidationIssues(control: any): boolean {\n    return control?._rawValidators?.some((validator: any) => validator === null) ||\n      control?.ddlInfo?.data === null;\n  }\n\n  filterWizardModelForCreateForm(wizardModel: AWizardModel): AWizardModel {\n    // Clone the wizard model to avoid mutating the original data\n    const filteredModel: AWizardModel = {\n      ...wizardModel,\n      steps: wizardModel.steps.map((step) => ({\n        ...step,\n        fields: step.fields.filter(field =>\n          // Keep only fields with a control for createForm (fieldFor: 0)\n          field.controls.some(control => control.fieldFor === FieldFor.createForm)\n        ).map(field => ({\n          ...field,\n          // Filter controls within each field to include only those for createForm\n          controls: field.controls.filter(control => control.fieldFor === FieldFor.createForm)\n        })),\n        // Filter form controls in the FormGroup for createForm\n        formGroup: step.formGroup ? this.filterFormGroupControls(step.formGroup) : null\n      }))\n    };\n\n    return filteredModel;\n  }\n\n  // Helper function to filter FormGroup controls based on fieldFor\n  filterFormGroupControls(formGroup: FormGroup): FormGroup {\n    // Create a new form group with only controls flagged for createForm\n    const filteredFormGroup = new FormGroup({});\n\n    Object.keys(formGroup.controls).forEach(controlName => {\n      const control = formGroup.controls[controlName];\n\n      // If control is relevant for createForm, add it to the new form group\n      if (control && (control['fieldFor'] === FieldFor.createForm || control['fieldFor'] === undefined)) {\n        filteredFormGroup.addControl(controlName, control);\n      }\n    });\n\n    return filteredFormGroup;\n  }\n\n  getControlErrors(controlName: string, stepIndex: number): any {\n    const formGroup = this.filterWizardModel.steps[stepIndex].formGroup;\n    const control = formGroup?.controls[controlName] as AbstractControl | null;\n    return control?.errors || null;\n  }\n\n}\n","<div class=\"container-fluid\">\n  <app-pagetitle [title]=\"title\" [breadcrumbItems]=\"breadCrumbItems\"></app-pagetitle>\n  <div class=\"row\">\n    <div class=\"col-lg-12\">\n      <div class=\"card\">\n        <div class=\"card-body\">\n          <aw-wizard *ngIf=\"filterWizardModel?.steps\">\n            <ng-container *ngFor=\"let step of filterWizardModel.steps; let i = index\">\n              <aw-wizard-step [stepTitle]=\"step.stepTitle\">\n                <div class=\"tab-pane\" [id]=\"filterWizardModel.steps[i]?.tabPaneId\">\n                  <h4 class=\"card-title\">{{ filterWizardModel.steps[i]?.cardTitle || 'Untitled Card' }}</h4>\n                  <p class=\"card-title-desc\">{{ filterWizardModel.steps[i]?.cardTitleDesc || 'Description unavailable'\n                    }}</p>\n\n                  <form [formGroup]=\"filterWizardModel.steps[i]?.formGroup\">\n                    <ng-container *ngFor=\"let control of filterWizardModel.steps[i]?.fields;\">\n\n                      <!-- Check for missing or invalid controls -->\n                        <ng-container *ngIf=\"(filterWizardModel.steps[i].formGroup?.controls[control.name] && control.name !== 'action') as formControl; else missingControl\">\n\n                        \n                        <div *ngIf=\"svForm.useText(control.controls)\" class=\"form-group\">\n                          <label [for]=\"control.name\">{{ control.title || 'Untitled Field' }}</label>\n                          <input [id]=\"control.name\" [formControlName]=\"control.name\" [type]=\"control.type\"\n                                 class=\"form-control\"\n                                 [ngClass]=\"{'is-invalid': svNazTable.submit && getControlErrors(control.name, i)}\">\n                                 \n                          <div *ngIf=\"svNazTable.submit && getControlErrors(control.name, i)\" class=\"invalid-feedback\">\n                            <span *ngIf=\"svNazTable.hasErrors(control.name, step)\">\n                              {{ svNazTable.showError(control.name, step, control.primaryField) }}\n                            </span>\n                          </div>\n                        </div>\n\n                        <!-- Example for a Toggle Switch Control with Error Handling -->\n                        <div *ngIf=\"svForm.useToggleSwitch(control.controls)\" class=\"custom-control custom-switch\"\n                          dir=\"ltr\">\n                          <input type=\"checkbox\" [formControlName]=\"control.name\" [id]=\"control.name\"\n                            class=\"custom-control-input\" [checked]=\"true\"\n                            [ngClass]=\"{'is-invalid': svNazTable.submit && getControlErrors(control.name, i)}\">\n                          <label class=\"custom-control-label\" [for]=\"control.name\">{{ control.title || 'Toggle Option'\n                            }}</label>\n                          <div *ngIf=\"svNazTable.submit && getControlErrors(control.name, i)\" class=\"invalid-feedback\">\n                            <span *ngIf=\"svNazTable.hasErrors(control.name, step)\">\n                              {{ svNazTable.showError(control.name, step, control.primaryField) }}\n                            </span>\n                          </div>\n                        </div>\n\n\n\n                        <!-- ng-toggle is yet to be set properly at the ts file -->\n                        <div *ngIf=\"svForm.useNgToggle(control.controls)\" class=\"custom-control custom-switch\"\n                          dir=\"ltr\">\n                          <ng-toggle (change)=\"toggleScope($event)\" [formControlName]=\"control.name\" [id]=\"control.name\"\n                            [value]=\"scope[control.name]\" [color]=\"{unchecked: '#939da2',checked: '#f62d51'}\">\n                          </ng-toggle>\n                          <div\n                            *ngIf=\"svNazTable.submit && filterWizardModel.steps[i].formGroup!.controls[control.primaryField!].errors\"\n                            class=\"invalid-feedback\">\n                            <span\n                              *ngIf=\"svNazTable.hasErrors(control.primaryField!,step)\">{{svNazTable.showError(control.name,\n                              step, control.primaryField!)}}</span>\n                          </div>\n                        </div>\n\n                        <!-- yet to be tested fully at the ts file -->\n                        <div *ngIf=\"svForm.useDualRadio(control.controls)\" class=\"custom-control custom-radio\"\n                          dir=\"ltr\">\n                          <div class=\"custom-control custom-radio mb-3\">\n                            <input type=\"radio\" [formControlName]=\"control.name\" [id]=\"control.name\"\n                              class=\"custom-control-input\">\n                            <label class=\"custom-control-label\" for=\"customRadio1\">Toggle this custom radio</label>\n                          </div>\n                          <div class=\"custom-control custom-radio custom-control-right\">\n                            <input type=\"radio\" id=\"customRadio2\" name=\"customRadio\" class=\"custom-control-input\"\n                              checked>\n                            <label class=\"custom-control-label\" for=\"customRadio2\">Or toggle this Right custom\n                              radio</label>\n                          </div>\n                        </div>\n\n                        <!-- yet to be tested fully at the ts file -->\n                        <div *ngIf=\"svForm.useDualSwitch(control.controls)\" class=\"custom-control custom-switch\"\n                          dir=\"ltr\">\n                          <div class=\"custom-control custom-radio mb-3\">\n                            <input type=\"radio\" id=\"customRadio1\" name=\"moduleScope\" class=\"custom-control-input\">\n                            <label class=\"custom-control-label\" for=\"customRadio1\">System Module</label>\n                          </div>\n                          <div class=\"custom-control custom-switch custom-control\">\n                            <input type=\"radio\" id=\"customRadio2\" name=\"moduleScope\" class=\"custom-control-input\"\n                              checked>\n                            <label class=\"custom-control-label\" for=\"customRadio2\">App Module</label>\n                          </div>\n                        </div>\n\n\n                        <!-- old select -->\n                        <!-- <div *ngIf=\"svForm.useSelect(control.controls)\" class=\"form-group\">\n                          <label class=\"control-label\">{{control.title}}</label>\n\n                          <ng-select [items]=\"control.ddlInfo!.selData$|async\"\n                            [bindLabel]=\"control.ddlInfo!.selValueField\" [bindValue]=\"control.ddlInfo!.selIndex\"\n                            [placeholder]=\"control.ddlInfo!.selPlaceholder!\" [formControlName]=\"control.name\">\n                          </ng-select>\n                        </div> -->\n\n                        <!-- Select Input Example with DDL Info Null Check -->\n                        <div *ngIf=\"svForm.useSelect(control.controls)\" class=\"form-group\">\n                          <label class=\"control-label\">{{ control.title || 'Select Option' }}</label>\n                          <ng-select *ngIf=\"control.ddlInfo?.selData$ as selData\" [items]=\"selData | async\"\n                            [bindLabel]=\"control.ddlInfo.selValueField\" [bindValue]=\"control.ddlInfo.selIndex\"\n                            [placeholder]=\"control.ddlInfo.selPlaceholder || 'Select...'\"\n                            [formControlName]=\"control.name\">\n                          </ng-select>\n                          <ng-container *ngIf=\"!control.ddlInfo?.selData$\">\n                            <div style=\"color: red;\">Error: Data source for \"{{ control.title }}\" is unavailable.</div>\n                          </ng-container>\n                        </div>\n\n\n\n                        <naz-ddl-searchable *ngIf=\"svForm.useSearchDropDown(control.controls)\" [step]=\"step\"\n                          [ddlLabel]=\"control.title\" [selValueField]=\"control.ddlInfo!.selValueField\"\n                          [selIndex]=\"control.ddlInfo!.selIndex\" [selPlaceholder]=\"control.ddlInfo!.selPlaceholder!\"\n                          [controlName]=\"control.name\" [selData$]=\"control.ddlInfo!.selData$|async\"\n                          [wizardModel]=\"filterWizardModel\" [stepIndex]=\"i\" [control]=\"control\"\n                          [ngClass]=\"{'is-invalid': svNazTable.submit && filterWizardModel.steps[i].formGroup!.controls[control.name].errors}\">\n                        </naz-ddl-searchable>\n\n\n                        <div *ngIf=\"svForm.useSelectMultiple(control.controls)\" class=\"form-group\">\n                          <label class=\"control-label\">Features</label>\n\n                          <ng-select [items]=\"control.ddlInfo!.selData$|async\" bindLabel=\"name\" bindValue=\"id\"\n                            placeholder=\"Select items\" [formControlName]=\"control.name\" [multiple]=\"true\">\n                          </ng-select>\n                        </div>\n\n                        <div *ngIf=\"svForm.useDdlCountries(control.controls)\" class=\"form-group\">\n                          <label [for]=\"control.name\">{{control.title}}</label>\n                          <naz-ddl-countries></naz-ddl-countries>\n                        </div>\n\n                        <div *ngIf=\"svForm.useDdlNotifications(control.controls)\" class=\"form-group\">\n                          <label [for]=\"control.name\">{{control.title}}</label>\n                          <naz-ddl-notifications [ddlData]=\"control.ddlInfo!.selData$|async\"></naz-ddl-notifications>\n                        </div>\n\n                        <naz-ddl-icons *ngIf=\"svForm.useDdlIcons(control.controls)\" [step]=\"step!\"\n                          [controlName]=\"control.name\" [controlTitle]=\"control.title\"\n                          [iconDdlId]=\"control.ddlInfo!.ddlIconId!\" [searchInputId]=\"control.ddlInfo!.searchInputId!\"\n                          [searchInputName]=\"control.ddlInfo!.searchInputName!\"\n                          (emitIconSelection)=\"relaySelectedIcon($event)\">\n                        </naz-ddl-icons>\n\n\n\n                        <div *ngIf=\"svForm.useTextArea(control.controls)\" class=\"form-group\">\n                          <label [for]=\"control.name\"> {{control.title}} </label>\n                          <textarea [formControlName]=\"control.name\" class=\"form-control\" id=\"productdesc\"\n                            rows=\"5\"></textarea>\n                        </div>\n                        <p></p>\n                        <!-- <div *ngIf=\"svForm.useAction(control.controls)\">\n                          <div class=\"valid-feedback\">\n                            <span>Error</span>\n                          </div>\n                          <button [id]=\"control.name\" (click)=\"save(step)\" class=\"btn btn-primary\"\n                            type=\"submit\">Save</button>\n                          <button id=\"createCancel\" (click)=\"cancel()\" class=\"btn btn-primary\"\n                            type=\"submit\">Cancel</button>\n                        </div>\n                        <p></p> -->\n                      </ng-container>\n\n                      <!-- exempt 'action' from controler validation -->\n                      <div *ngIf=\"svForm.useAction(control.controls)\">\n                        <div class=\"valid-feedback\">\n                          <span>Error</span>\n                        </div>\n                        <button [id]=\"control.name\" (click)=\"save(step)\" class=\"btn btn-primary\"\n                          type=\"submit\">Save</button>\n                        <button id=\"createCancel\" (click)=\"cancel()\" class=\"btn btn-primary\"\n                          type=\"submit\">Cancel</button>\n                      </div>\n                      <p></p>\n\n                      <!-- Template for Missing Control -->\n                      <ng-template #missingControl>\n                        <div *ngIf=\"control.name !== 'action'\" style=\"color: red;\">\n                          Error: Control \"{{ control.name }}\" could not be generated.\n                        </div>\n                      </ng-template>\n                    </ng-container>\n                  </form>\n\n                  <form *ngIf=\"svForm.useUpload(filterWizardModel.steps[i].fields[0].controls)\" action=\"/\" method=\"post\"\n                    class=\"dropzone\">\n                    <div class=\"fallback\">\n                      <input [formControlName]=\"filterWizardModel.steps[i].fields[0].name\" name=\"file\" type=\"file\"\n                        multiple />\n                    </div>\n\n                    <div class=\"dz-message needsclick\">\n                      <div class=\"mb-3\">\n                        <i class=\"display-4 text-muted ri-upload-cloud-2-line\"></i>\n                      </div>\n                      <h4>Drop files here or click to upload.</h4>\n                    </div>\n                  </form>\n\n                </div>\n                <button [id]=\"step.stepItems.prevButtonId\" *ngIf=\"svForm.canStepBack(i,step)\" type=\"button\"\n                  awPreviousStep class=\"btn btn-primary\">Go to previous step</button>\n                <button [id]=\"step.stepItems.nextButtonId\" *ngIf=\"svForm.canStepFoward(i,filterWizardModel.steps)\"\n                  type=\"button\" awNextStep [disabled]=\"true\" class=\"btn btn-primary\">Next Step</button>\n                <button [id]=\"step.stepItems.lastButtonId\" *ngIf=\"svForm.isLastStep(i,filterWizardModel.steps)\"\n                  type=\"button\" [disabled]=\"true\" class=\"btn btn-primary\">Finish</button>\n              </aw-wizard-step>\n            </ng-container>\n          </aw-wizard>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>","import { Injectable } from '@angular/core';\nimport { AWizardStep, BaseModel, CdObjService, FieldInfo, FormsService, ModuleService, ValidationError } from '@corpdesk/core';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class CreateService {\n    // submit = false;\n    constructor(\n        \n    ) {\n\n    }\n\n    \n\n\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DdlNotificationsComponent } from './ddl-notifications.component';\nimport { NazUiModule } from '../ui';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgbNavModule, NgbDropdownModule, NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\n@NgModule({\n  declarations: [\n    DdlNotificationsComponent,\n  ],\n  imports: [\n    CommonModule,\n    NgbNavModule, NgbDropdownModule, NgbTooltipModule,\n    FormsModule, \n    ReactiveFormsModule,\n    NazUiModule,\n    PerfectScrollbarModule,\n  ],\n  exports:[\n    DdlNotificationsComponent,\n  ]\n})\nexport class NazDdlNotificationsModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DdlSearchableComponent } from './ddl-searchable.component';\nimport { NazUiModule } from '../ui';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgbNavModule, NgbDropdownModule, NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\nimport { NgSelectModule } from '@ng-select/ng-select';\n\n@NgModule({\n  declarations: [\n    DdlSearchableComponent,\n  ],\n  imports: [\n    CommonModule,\n    NgbNavModule, NgbDropdownModule, NgbTooltipModule,\n    FormsModule, \n    ReactiveFormsModule,\n    NazUiModule,\n    PerfectScrollbarModule,\n    NgSelectModule,\n  ],\n  exports:[\n    DdlSearchableComponent,\n  ]\n})\nexport class NazDdlSearchableModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CreateComponent } from './create.component';\nimport { NazUiModule } from '../ui';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgbNavModule, NgbDropdownModule, NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ArchwizardModule } from 'angular-archwizard';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { NazDdlCountriesModule } from '../naz-ddl-countries';\nimport { NgToggleModule } from 'ng-toggle-button';\nimport { NazDdlNotificationsModule } from '../naz-ddl-notifications';\nimport { NazDdlIconsModule } from '../naz-ddl-icons';\nimport { NazDdlSearchableModule } from '../naz-ddl-searchable';\n\n@NgModule({\n  declarations: [\n    CreateComponent,\n  ],\n  imports: [\n    CommonModule,\n    NgbNavModule, NgbDropdownModule, NgbTooltipModule,\n    FormsModule, \n    ReactiveFormsModule,\n    ArchwizardModule,\n    NazUiModule,\n    NgSelectModule,\n    NazDdlCountriesModule,\n    NgToggleModule,\n    NazDdlNotificationsModule,\n    NazDdlIconsModule,\n    NazDdlSearchableModule,\n  ],\n  exports:[\n    CreateComponent,\n  ]\n})\nexport class NazCreateModule { }\n","import { Component, OnInit, AfterViewInit, Input, Output, EventEmitter } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { IQuery, NavService, FieldInfo, FieldAlias, FormsService, FieldFor, BaseModel } from '@corpdesk/core';\nimport bsCustomFileInput from 'bs-custom-file-input';\nimport { Observable } from 'rxjs';\nimport { NazTableService } from '../naz-table';\n\n@Component({\n  selector: 'naz-table-edit',\n  templateUrl: './edit.component.html',\n  styleUrls: ['./edit.component.scss']\n})\nexport class EditComponent implements OnInit, AfterViewInit {\n  FFor = FieldFor;\n  editForm: FormGroup; // type validation form\n  typesubmit: boolean;\n  @Input() baseModel: BaseModel;\n  @Input() formConfig: any = {};\n  @Input() fieldsAlias: FieldAlias[];\n  // @Input() backRoute: string;\n  @Output() updateQuery = new EventEmitter<IQuery>();\n  @Input() updateFx$: Observable<any>;\n\n  constructor(\n    public router: Router,\n    public formBuilder: FormBuilder,\n    public svNazTable: NazTableService,\n    private svNav: NavService,\n    public svForm: FormsService,\n  ) {\n    \n  }\n\n  ngOnInit() {\n    this.baseModel.data.fields = this.baseModel.data.fields.filter(f => f.updateable);\n    this.initForms();\n    bsCustomFileInput.init();\n  }\n\n  ngAfterViewInit() {\n    this.svNazTable.initForm(this, this.editForm);\n  }\n\n  initForms() {\n    this.baseModel.data.fields.forEach((f: FieldInfo) => {\n      if (f.formatt) {\n        this.formConfig[f.name] = this.svNazTable.getFormat(f.formatt);\n      }\n    })\n    this.editForm = this.formBuilder.group(\n      this.formConfig\n    );\n  }\n\n  back(): void {\n    this.svNav.sNavigate(this, this.baseModel.controllerRoutes.listRoute)\n  }\n\n  get formControls() {\n    return this.editForm.controls;\n  }\n\n  update() {\n    this.svNazTable.update(this);\n  }\n  \n}\n","<div class=\"container-fluid\">\n  <!-- start page title -->\n  <app-pagetitle [title]=\"baseModel.data.title\" [breadcrumbItems]=\"baseModel.breadCrumbItems\"></app-pagetitle>\n  <!-- end page title -->\n  <div class=\"row\">\n    <div class=\"col-lg-6\">\n      <div class=\"card\">\n        <div class=\"card-body\">\n          <h4 class=\"card-title\">{{baseModel.data.title}}</h4>\n          <p class=\"card-title-desc\">\n            {{baseModel.data.subTitle}}\n          </p>\n          <form (ngSubmit)=\"update()\" [formGroup]=\"editForm\">\n            <ng-container *ngFor=\"let field of baseModel.data.fields\">\n              <div *ngIf=\"field.fetchable\" class=\"form-group\">\n                <label>{{field.title}}</label>\n                <input [id]=\"field.name\" [type]=\"svForm.filterControlsByFieldFor(field.controls,FFor.editForm)\" [attr.disabled]=\"field.disabled\"\n                  class=\"form-control\" [value]=\"baseModel.data && baseModel.data.rowData ? baseModel.data.rowData[field.name] : ''\" [formControlName]=\"field.name\"\n                  [ngClass]=\"{'is-invalid': typesubmit && formControls[field.name].errors}\"\n                  [placeholder]=\"field.title\" />\n                <div *ngIf=\"typesubmit && formControls[field.name].errors\" class=\"invalid-feedback\">\n                  <span *ngIf=\"formControls[field.name].errors!['required']\">This value is required.</span>\n                </div>\n              </div>\n            </ng-container>\n            <!-- submit/cancel -->\n            <div class=\"form-group mb-0\">\n              <div>\n                <button type=\"submit\" class=\"btn btn-primary mr-1\">\n                  Update\n                </button>\n                <button (click)=\"back()\" type=\"reset\" class=\"btn btn-secondary\">\n                  Back\n                </button>\n              </div>\n            </div>\n          </form>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EditComponent } from './edit.component';\nimport { NazUiModule } from '../ui';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgbNavModule, NgbDropdownModule, NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap';\n\n@NgModule({\n  declarations: [\n    EditComponent,\n  ],\n  imports: [\n    CommonModule,\n    NgbNavModule, NgbDropdownModule, NgbTooltipModule,\n    FormsModule, \n    ReactiveFormsModule,\n    NazUiModule\n  ],\n  exports:[\n    EditComponent,\n  ]\n})\nexport class NazEditModule { }\n","import { Component, OnInit, AfterViewInit, Input, Output, EventEmitter } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { BaseModel, FieldFor, FieldInfo, FormsService, IAppState, IQuery, ISessResp, NavService } from '@corpdesk/core';\nimport bsCustomFileInput from 'bs-custom-file-input';\nimport { Observable } from 'rxjs';\nimport { NazTableService } from '../naz-table';\n\n@Component({\n  selector: 'naz-table-delete',\n  templateUrl: './delete.component.html',\n  styleUrls: ['./delete.component.scss']\n})\nexport class DeleteComponent implements OnInit, AfterViewInit {\n  FFor = FieldFor;\n  token: string;\n  jAppState: IAppState;\n  deleteForm: FormGroup; // type validation form\n  typesubmit: boolean;\n  @Input() baseModel: BaseModel;\n  @Input() formConfig: any = {};\n  @Output() deleteQuery = new EventEmitter<IQuery>();\n  @Input() deleteFx$: Observable<any>;\n\n  constructor(\n    public router: Router,\n    public formBuilder: FormBuilder,\n    private svNazTable: NazTableService,\n    private svNav: NavService,\n    public svForm: FormsService,\n  ) {\n\n  }\n\n  ngOnInit() {\n    this.initForms();\n    bsCustomFileInput.init();\n  }\n\n  ngAfterViewInit() {\n    this.svNazTable.initForm(this, this.deleteForm);\n  }\n\n  initForms() {\n    this.baseModel.data.fields.forEach((f: FieldInfo) => {\n      if (f.formatt) {\n        this.formConfig[f.name] = this.svNazTable.getFormat(f.formatt);\n      }\n    })\n    this.deleteForm = this.formBuilder.group(\n      this.formConfig\n    );\n  }\n\n  back(): void {\n    this.svNav.sNavigate(this, this.baseModel.controllerRoutes.listRoute)\n  }\n\n  get formControls() {\n    return this.deleteForm.controls;\n  }\n\n  async deleteItem() {\n    this.svNazTable.deleteItem(this);\n  }\n}\n","<div class=\"container-fluid\">\n  <!-- start page title -->\n  <app-pagetitle [title]=\"baseModel.data.title\" [breadcrumbItems]=\"baseModel.breadCrumbItems\"></app-pagetitle>\n  <!-- end page title -->\n  <div class=\"row\">\n    <div class=\"col-lg-6\">\n      <div class=\"card\">\n        <div class=\"card-body\">\n          <h4 class=\"card-title\">{{baseModel.data.title}}</h4>\n          <p class=\"card-title-desc\">\n            {{baseModel.data.subTitle}}\n          </p>\n          <form (ngSubmit)=\"deleteItem()\" [formGroup]=\"deleteForm\">\n            <ng-container *ngFor=\"let field of baseModel.data.fields\">\n              <div *ngIf=\"field.fetchable\" class=\"form-group\">\n                <label>{{field.title}}</label>\n                <input [id]=\"field.name\" [type]=\"svForm.filterControlsByFieldFor(field.controls,FFor.editForm)\" [attr.disabled]=\"field.disabled\"\n                  class=\"form-control\" [value]=\"baseModel.data && baseModel.data.rowData ? baseModel.data.rowData[field.name] : ''\" [formControlName]=\"field.name\"\n                  [ngClass]=\"{'is-invalid': typesubmit && formControls[field.name].errors}\"\n                  [placeholder]=\"field.title\" />\n                <div *ngIf=\"typesubmit && formControls[field.name].errors\" class=\"invalid-feedback\">\n                  <span *ngIf=\"formControls[field.name].errors!['required']\">This value is required.</span>\n                </div>\n              </div>\n            </ng-container>\n            <!-- submit/cancel -->\n            <div class=\"form-group mb-0\">\n              <div>\n                <button type=\"submit\" class=\"btn btn-primary mr-1\">\n                  Delete\n                </button>\n                <button (click)=\"back()\" type=\"reset\" class=\"btn btn-secondary\">\n                  Back\n                </button>\n              </div>\n            </div>\n          </form>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DeleteComponent } from './delete.component';\nimport { NazUiModule } from '../ui';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgbNavModule, NgbDropdownModule, NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap';\n\n@NgModule({\n  declarations: [\n    DeleteComponent\n  ],\n  imports: [\n    CommonModule,\n    NgbNavModule, NgbDropdownModule, NgbTooltipModule,\n    FormsModule, \n    ReactiveFormsModule,\n    NazUiModule\n  ],\n  exports:[\n    DeleteComponent,\n  ]\n})\nexport class NazDeleteModule { }\n","/*\n * Public API Surface of naz\n */\n\nexport * from './lib/naz.service';\nexport * from './lib/naz.component';\nexport * from './lib/naz.module';\n\nexport * from './lib/ui';\nexport * from './lib/naz-table';\nexport * from './lib/naz-create';\nexport * from './lib/naz-edit';\nexport * from './lib/naz-delete';\nexport * from './lib/naz-ddl-countries';\nexport * from './lib/naz-ddl-notifications';\nexport * from './lib/naz-ddl-icons';\nexport * from './lib/naz-ddl-searchable';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3","i3.NazTableService","i4.PagetitleComponent","i5.CardComponent","i3.DdlIconsService","i4","i5","i3.DdlSearchableService","i4.NazTableService","i6","i8.PagetitleComponent","i9","i10.DdlCountriesComponent","i12.DdlNotificationsComponent","i13.DdlIconsComponent","i14.DdlSearchableComponent","i6.PagetitleComponent"],"mappings":"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"}