{"__symbolic":"module","version":4,"metadata":{"ContenteditableModelDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[fndyContenteditableModel]"}]}],"members":{"fndyContenteditableModel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":6,"character":5}}]}],"fndyContenteditableModelChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":9,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":12,"character":31}]}],"onBlur":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":14,"character":5},"arguments":["blur"]}]}],"onKeyDown":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":20,"character":5},"arguments":["keydown",["$event"]]}]}]}},"DirectivesModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":8,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ContenteditableModelDirective"},{"__symbolic":"reference","name":"IntegersOnlyDirective"},{"__symbolic":"reference","name":"LetDirective"},{"__symbolic":"reference","name":"NoWhitespaceDirective"},{"__symbolic":"reference","name":"PositiveNumbersOnlyDirective"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":16,"character":14}],"exports":[{"__symbolic":"reference","name":"ContenteditableModelDirective"},{"__symbolic":"reference","name":"IntegersOnlyDirective"},{"__symbolic":"reference","name":"LetDirective"},{"__symbolic":"reference","name":"NoWhitespaceDirective"},{"__symbolic":"reference","name":"PositiveNumbersOnlyDirective"}],"providers":[]}]}],"members":{}},"IntegersOnlyDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[fndyIntegersOnly]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":13,"character":28}]}],"onKeyDown":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":15,"character":5},"arguments":["keydown",["$event"]]}]}]}},"LetDirective":{"__symbolic":"class","arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":6,"character":1},"arguments":[{"selector":"[fndyLet]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":12,"character":32},{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"reference","name":"any","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":12,"character":88,"context":{"typeName":"T"},"module":"./directives/let.directive"}]}]}]}],"fndyLet":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":5}}]}]}},"NoWhitespaceDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":3,"character":1},"arguments":[{"selector":"[fndyNoWhitespace][formControlName],[fndyNoWhitespace][formControl],[fndyNoWhitespace][ngModel]","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALIDATORS","line":7,"character":21},"useExisting":{"__symbolic":"reference","name":"NoWhitespaceDirective"},"multi":true}]}]}],"members":{"validate":[{"__symbolic":"method"}]}},"PositiveNumbersOnlyDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[fndyPositiveNumbersOnly]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":13,"character":28}]}],"onKeyDown":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":15,"character":5},"arguments":["keydown",["$event"]]}]}]}},"BetterMultiSelectComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"fndy-better-multi-select","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":11,"character":21},"useExisting":{"__symbolic":"reference","name":"BetterMultiSelectComponent"},"multi":true}],"template":"<div class=\"mb-2\">\n    <fndy-picker-search\n        [data]=\"unselectedItems\"\n        [displayKey]=\"displayKey\"\n        [compareKey]=\"compareKey\"\n        [formControl]=\"selectControl\"\n    ></fndy-picker-search>\n</div>\n<span class=\"btn btn-primary btn-sm selected mr-1\" *ngFor=\"let item of selectedItems; let i = index\">\n    {{ resultFormatter(item) }}\n    <span *ngIf=\"!item.unhidable\" class=\"close-selected\" (click)=\"close(item, i)\">&nbsp;x</span>\n</span>\n"}]}],"members":{"compareKey":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":5}}]}],"displayKey":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":5}}]}],"allItems":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":5}}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"processItems":[{"__symbolic":"method"}],"findIndexOf":[{"__symbolic":"method"}]}},"BetterMultiSelectModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":6,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"BetterMultiSelectComponent"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":8,"character":14},{"__symbolic":"reference","name":"PickerSearchModule"},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":8,"character":48}],"exports":[{"__symbolic":"reference","name":"BetterMultiSelectComponent"}]}]}],"members":{}},"ConfirmDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":6,"character":1},"arguments":[{"selector":"[fndyConfirm]"}]}],"members":{"confirmationMessage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":5}}]}],"action":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":13,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbModal","line":16,"character":38}]}],"onclick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":18,"character":5},"arguments":["click"]}]}]}},"ConfirmationComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"fndy-confirmation","template":"<h3 class=\"modal-header\">Confirmation</h3>\n<div class=\"modal-body\">{{ confirmationMessage }}</div>\n<div class=\"modal-footer\">\n    <div class=\"btn-group\">\n        <button type=\"button\" class=\"btn btn-outline-primary\" (click)=\"activeModal.close(false)\">Cancel</button>\n        <button type=\"button\" class=\"btn btn-primary\" (click)=\"activeModal.close(true)\">Confirm</button>\n    </div>\n</div>\n"}]}],"members":{"confirmationMessage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbActiveModal","line":11,"character":36}]}]}},"ConfirmationModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":6,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ConfirmDirective"},{"__symbolic":"reference","name":"ConfirmationComponent"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":8,"character":14},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbModalModule","line":8,"character":28}],"exports":[{"__symbolic":"reference","name":"ConfirmDirective"},{"__symbolic":"reference","name":"ConfirmationComponent"}],"entryComponents":[{"__symbolic":"reference","name":"ConfirmationComponent"}]}]}],"members":{}},"MultiSelectComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"fndy-multi-select","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":10,"character":21},"useExisting":{"__symbolic":"reference","name":"MultiSelectComponent"},"multi":true}],"template":"<div class=\"mb-2\">\n    <fndy-picker-search\n        [data]=\"unselectedItems\"\n        [displayKey]=\"displayKey\"\n        [valueKey]=\"valueKey\"\n        [formControl]=\"selectControl\"\n    ></fndy-picker-search>\n</div>\n<span class=\"btn btn-primary btn-sm selected mr-1\" *ngFor=\"let item of selectedItems\">\n    {{ resultFormatter(item) }}\n    <span *ngIf=\"!item.unhidable\" class=\"close-selected\" (click)=\"close(item)\">&nbsp;x</span>\n</span>\n"}]}],"members":{"displayKey":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":5}}]}],"valueKey":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":5}}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}]}},"MultiSelectModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":6,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"MultiSelectComponent"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":8,"character":14},{"__symbolic":"reference","name":"PickerSearchModule"},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":8,"character":48}],"exports":[{"__symbolic":"reference","name":"MultiSelectComponent"}],"providers":[]}]}],"members":{}},"PickerSearchComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":21,"character":1},"arguments":[{"selector":"fndy-picker-search","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":26,"character":21},"useExisting":{"__symbolic":"reference","name":"PickerSearchComponent"},"multi":true},{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALIDATORS","line":31,"character":21},"useExisting":{"__symbolic":"reference","name":"PickerSearchComponent"},"multi":true}],"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":36,"character":21},"member":"OnPush"},"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":37,"character":19},"member":"None"},"template":"<div class=\"input-group d-flex\">\n    <ng-select\n        [items]=\"sortedData\"\n        class=\"flex-grow-1\"\n        [clearable]=\"clearable\"\n        [bindLabel]=\"displayKey\"\n        [bindValue]=\"valueKey\"\n        [virtualScroll]=\"true\"\n        [loading]=\"dataIsLoading\"\n        [formControl]=\"pickedValue\"\n        [placeholder]=\"placeholder\"\n    >\n        <ng-template ng-label-tmp let-item=\"item\">\n            {{ item[displayKey] || item[valueKey] }}\n        </ng-template>\n        <ng-template ng-option-tmp let-item=\"item\">\n            {{ item[displayKey] }} <br />\n            <small *ngIf=\"valueKey; else compareText\">{{ item[valueKey] }}</small>\n            <ng-template #compareText>\n                <small *ngIf=\"compareKey\">{{ item[compareKey] }}</small>\n            </ng-template>\n        </ng-template>\n    </ng-select>\n    <div class=\"input-group-append\">\n        <ng-content></ng-content>\n    </div>\n</div>\n","styles":[".ng-select.ng-select-single .ng-select-container{height:100%}"]}]}],"members":{"displayKey":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":41,"character":5}}]}],"valueKey":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":44,"character":5}}]}],"placeholder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":47,"character":5}}]}],"clearable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":5}}]}],"compareKey":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":53,"character":5}}]}],"dataIsLoading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":56,"character":5}}]}],"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":70,"character":5}}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"setDisabledState":[{"__symbolic":"method"}],"validate":[{"__symbolic":"method"}],"isObject":[{"__symbolic":"method"}]}},"PickerSearchModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":8,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"PickerSearchComponent"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":10,"character":14},{"__symbolic":"reference","module":"@fortawesome/angular-fontawesome","name":"FontAwesomeModule","line":10,"character":28},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":10,"character":47},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbTypeaheadModule","line":10,"character":68},{"__symbolic":"reference","module":"@ng-select/ng-select","name":"NgSelectModule","line":10,"character":88}],"exports":[{"__symbolic":"reference","name":"PickerSearchComponent"}],"providers":[]}]}],"members":{}},"ColumnPickerComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"template":"<div class=\"modal-header\">\n    <h4 class=\"modal-title\">Change Columns</h4>\n</div>\n<div class=\"modal-body\">\n    <fndy-better-multi-select\n        [allItems]=\"columns\"\n        displayKey=\"label\"\n        [formControl]=\"selectedColumnsControl\"\n    ></fndy-better-multi-select>\n</div>\n<div class=\"modal-footer\">\n    <div class=\"btn-group\">\n        <button type=\"button\" class=\"btn btn-outline-primary\" (click)=\"addAll()\">Add All</button>\n        <button type=\"button\" class=\"btn btn-outline-primary\" (click)=\"removeAll()\">Remove All</button>\n        <button type=\"button\" class=\"btn btn-outline-primary\" (click)=\"activeModal.close(null)\">Cancel</button>\n        <button type=\"button\" class=\"btn btn-primary\" (click)=\"save()\" [disabled]=\"!selectedItems.length\">Save</button>\n    </div>\n</div>\n"}]}],"members":{"columns":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbActiveModal","line":22,"character":36}]}],"ngOnInit":[{"__symbolic":"method"}],"addAll":[{"__symbolic":"method"}],"removeAll":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}]}},"INgxSearchPageModel":{"__symbolic":"interface"},"ISearchTableColumnModel":{"__symbolic":"interface"},"SearchTableFooterDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"ng-template[fndySearchTableFooter]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"reference","name":"any"}]}]}]}},"SearchTableHeaderDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"ng-template[fndySearchTableHeader]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"reference","name":"any"}]}]}]}},"SearchTableComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":31,"character":1},"arguments":[{"selector":"fndy-search-table","template":"<div class=\"card\">\n    <div\n        class=\"card-header\"\n        *ngIf=\"showSearch || showColumnPicker || headerTemplate || showLimitPicker || showSummaryRow\"\n    >\n        <form [formGroup]=\"headerGroup\">\n            <div class=\"form-row align-items-center\">\n                <div class=\"col-auto\" *ngIf=\"showColumnPicker\">\n                    <button class=\"btn btn-outline-secondary\" [disabled]=\"loadingIndicator\" (click)=\"openColumnModal()\">\n                        <fa-icon [icon]=\"faColumns\"></fa-icon>\n                    </button>\n                </div>\n                <div class=\"col-1\" *ngIf=\"showLimitPicker\">\n                    <input\n                        class=\"form-control\"\n                        [formControlName]=\"'limit'\"\n                        type=\"number\"\n                        min=\"0\"\n                        fndySearchPositiveNumbersOnly\n                    />\n                </div>\n                <div class=\"col-auto\" *ngIf=\"showSearch && !paging\">\n                    <div class=\"custom-control custom-checkbox\">\n                        <input\n                            type=\"checkbox\"\n                            class=\"custom-control-input\"\n                            [id]=\"checkboxId\"\n                            [formControlName]=\"'columnFilterEnabled'\"\n                        />\n                        <label class=\"custom-control-label\" [for]=\"checkboxId\">Column Search </label>\n                    </div>\n                </div>\n                <div class=\"col-auto\" *ngIf=\"showSummaryRow\">\n                    <div class=\"custom-control custom-checkbox\">\n                        <input\n                            type=\"checkbox\"\n                            class=\"custom-control-input\"\n                            [id]=\"summaryRowId\"\n                            [formControlName]=\"'summaryRowEnabled'\"\n                        />\n                        <label class=\"custom-control-label\" [for]=\"summaryRowId\">Summary Row </label>\n                    </div>\n                </div>\n                <div class=\"ml-auto col-auto\" *ngIf=\"headerTemplate\">\n                    <ng-template [ngTemplateOutlet]=\"headerTemplate.templateRef\"></ng-template>\n                </div>\n            </div>\n        </form>\n    </div>\n    <div class=\"p-2\">\n        <div class=\"input-group mb-2\" *ngIf=\"!columnFilterIsSelected && showSearch\">\n            <input class=\"form-control\" type=\"search\" placeholder=\"Search Table\" [formControl]=\"filterControl\" />\n            <span class=\"input-group-append\">\n                <fa-icon class=\"input-group-text\" [icon]=\"faSearch\"></fa-icon>\n            </span>\n        </div>\n        <ng-container *ngIf=\"paging; then pagingTable; else nonPagingTable\"> </ng-container>\n    </div>\n    <div class=\"card-footer d-flex justify-content-center\" *ngIf=\"footerTemplate\">\n        <ng-template\n            [ngTemplateOutlet]=\"footerTemplate.templateRef\"\n            [ngTemplateOutletContext]=\"footerOutletContext\"\n        ></ng-template>\n    </div>\n</div>\n\n<ng-template #cellTemplate let-row=\"row\" let-value=\"value\" let-i=\"index\" let-column=\"column\">\n    <ng-container *ngIf=\"column.identifier\">\n        <ng-container [ngSwitch]=\"identifierType\">\n            <ng-container *ngSwitchCase=\"'link'\">\n                <a [routerLink]=\"column.fndyLink + row[column.fndyLinkId]\" (click)=\"identifierClick.emit(row)\">\n                    {{ row[column['labelId']] || value }}\n                </a>\n            </ng-container>\n            <ng-container *ngSwitchCase=\"'button'\">\n                <button class=\"btn btn-link p-0 text-left\" (click)=\"column.handler(row)\">\n                    {{ row[column['labelId']] || value }}\n                </button>\n            </ng-container>\n            <ng-container *ngSwitchCase=\"'emit'\">\n                <button class=\"btn btn-link p-0 text-left\" (click)=\"identifierClick.emit(row)\">\n                    {{ row[column['labelId']] || value }}\n                </button>\n            </ng-container>\n            <ng-container *ngSwitchDefault>\n                {{ row[column['labelId']] || value }}\n            </ng-container>\n            <ng-container *ngIf=\"row.isParent && displayHierarchy\">\n                <a href=\"javascript:void(0)\">\n                    <fa-icon\n                        [icon]=\"faArrowRight\"\n                        [fixedWidth]=\"true\"\n                        class=\"ml-2\"\n                        (click)=\"parentClick.emit(row)\"\n                    ></fa-icon>\n                </a>\n            </ng-container>\n        </ng-container>\n    </ng-container>\n    <ng-container *ngIf=\"!column.identifier\">\n        <ng-container [ngSwitch]=\"column.multipleTypes ? row.type : column.type\">\n            <ng-container *ngSwitchCase=\"'link'\">\n                <a [routerLink]=\"(column.multipleTypes ? row.fndyLink : column.fndyLink) + row[column.fndyLinkId]\">\n                    {{ row[column['labelId']] || value }}\n                </a>\n            </ng-container>\n            <ng-container *ngSwitchCase=\"'customTemplate'\">\n                <ng-container\n                    *ngTemplateOutlet=\"\n                        getTemplate(column.multipleTypes, column, row);\n                        context: { column: column, row: row }\n                    \"\n                >\n                </ng-container>\n            </ng-container>\n            <ng-container *ngSwitchCase=\"'button'\">\n                <button class=\"btn btn-link p-0 text-left\" (click)=\"column.handler(row)\">\n                    {{ row[column['labelId']] || value }}\n                </button>\n            </ng-container>\n            <ng-container *ngSwitchCase=\"'emit'\">\n                <button class=\"btn btn-link p-0 text-left\" (click)=\"valueClick.emit(row)\">\n                    {{ row[column['labelId']] || value }}\n                </button>\n            </ng-container>\n            <ng-container *ngSwitchCase=\"'image'\">\n                <img width=\"100\" alt=\"Inline Icon Image\" [src]=\"value\" />\n            </ng-container>\n            <ng-container *ngSwitchCase=\"'file'\">\n                <a [href]=\"value\" target=\"_blank\">\n                    {{ row[column['labelId']] || value }}\n                </a>\n            </ng-container>\n            <ng-container *ngSwitchCase=\"'audio'\">\n                <audio controls>\n                    <source [src]=\"value\" type=\"audio/mp3\" />\n                    Your browser does not support the audio element.\n                </audio>\n            </ng-container>\n            <ng-container *ngSwitchCase=\"'number'\">\n                {{ row[column['labelId']] || value | number }}\n            </ng-container>\n            <ng-container *ngSwitchCase=\"'date'\">\n                {{ row[column['labelId']] || value | date: 'shortDate' }}\n            </ng-container>\n            <ng-container *ngSwitchCase=\"'datetime'\">\n                {{ row[column['labelId']] || value | date: 'short' }}\n            </ng-container>\n            <ng-container *ngSwitchCase=\"'currency'\">\n                {{ row[column['labelId']] || value | currency }}\n            </ng-container>\n            <ng-container *ngSwitchCase=\"'rich-text'\">\n                <quill-view [content]=\"value\"></quill-view>\n            </ng-container>\n            <ng-container *ngSwitchDefault>\n                {{ row[column['labelId']] || value }}\n            </ng-container>\n        </ng-container>\n    </ng-container>\n    <ng-template #nonClickable>\n        {{ row[column['labelId']] || value }}\n    </ng-template>\n</ng-template>\n\n<ng-template #cellHeaderTemplate let-column=\"column\" let-sort=\"sortFn\" ngx-datatable-header-template>\n    <span class=\"datatable-header-cell-wrapper\">\n        <span class=\"datatable-header-cell-label draggable\" (click)=\"sort()\">\n            {{ column.name }}\n        </span>\n    </span>\n    <div class=\"name-container\" *ngIf=\"columnFilterIsSelected && showSearch\">\n        <input\n            type=\"text\"\n            [attr.placeholder]=\"'Search ' + column.name\"\n            [attr.data-target]=\"column['id']\"\n            (input)=\"updateColumnFilter($event)\"\n            class=\"form-control\"\n        />\n    </div>\n</ng-template>\n\n<ng-template #nonPagingTable>\n    <ngx-datatable\n        class=\"material\"\n        [loadingIndicator]=\"loadingIndicator\"\n        [headerHeight]=\"headerHeight\"\n        [rows]=\"filteredRows\"\n        [scrollbarH]=\"true\"\n        [columns]=\"openColumns\"\n        [summaryRow]=\"showSummaryRow && headerGroup.controls.summaryRowEnabled.value && rows.length\"\n        [summaryHeight]=\"55\"\n        [summaryPosition]=\"'bottom'\"\n        [footerHeight]=\"footerHeight\"\n        [limit]=\"limit\"\n        rowHeight=\"auto\"\n        trackByProp=\"id\"\n        columnMode=\"force\"\n        [selected]=\"selected\"\n        [selectionType]=\"selectionType\"\n        [sorts]=\"sorts\"\n        [reorderable]=\"reorderable\"\n        (sort)=\"sorted($event)\"\n        (select)=\"selectChanged($event)\"\n        (reorder)=\"reordered($event)\"\n    >\n    </ngx-datatable>\n</ng-template>\n\n<ng-template #pagingTable>\n    <ngx-datatable\n        class=\"material\"\n        [loadingIndicator]=\"loadingIndicator\"\n        [virtualization]=\"false\"\n        [headerHeight]=\"headerHeight\"\n        [rows]=\"filteredRows\"\n        [scrollbarH]=\"true\"\n        [columns]=\"openColumns\"\n        [footerHeight]=\"footerHeight\"\n        [externalPaging]=\"true\"\n        [count]=\"page.count\"\n        [offset]=\"page.offset\"\n        [limit]=\"limit\"\n        [reorderable]=\"reorderable\"\n        rowHeight=\"auto\"\n        trackByProp=\"id\"\n        columnMode=\"force\"\n        [selected]=\"selected\"\n        [selectionType]=\"selectionType\"\n        (select)=\"selectChanged($event)\"\n        (sort)=\"sorted($event)\"\n        (page)=\"setPage($event)\"\n        (reorder)=\"reordered($event)\"\n    >\n    </ngx-datatable>\n</ng-template>\n"}]}],"members":{"columnTemplates":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":36,"character":5},"arguments":[{"__symbolic":"reference","name":"ɵa"}]}]}],"rows":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":5}}]}],"page":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":55,"character":5}}]}],"columns":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":63,"character":5}}]}],"checkColumnsAfterInit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":66,"character":5}}]}],"showLimitPicker":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":69,"character":5}}]}],"showSearch":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":72,"character":5}}]}],"showColumnPicker":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":75,"character":5}}]}],"limit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":78,"character":5}}]}],"displayHierarchy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":81,"character":5}}]}],"selectionType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":84,"character":5}}]}],"checkboxable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":87,"character":5}}]}],"identifierType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":90,"character":5}}]}],"paging":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":93,"character":5}}]}],"loadingIndicator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":96,"character":5}}]}],"showSummaryRow":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":99,"character":5}}]}],"summaryRow":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":102,"character":5}}]}],"reorderable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":105,"character":5}}]}],"selectChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":108,"character":5}}]}],"identifierClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":111,"character":5}}]}],"parentClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":114,"character":5}}]}],"valueClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":117,"character":5}}]}],"sort":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":120,"character":5}}]}],"filterChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":123,"character":5}}]}],"columnsChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":126,"character":5}}]}],"columnOrderChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":129,"character":5}}]}],"pageChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":132,"character":5}}]}],"limitChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":135,"character":5}}]}],"summaryRowChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":138,"character":5}}]}],"cellTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":141,"character":5},"arguments":["cellTemplate",{"static":true}]}]}],"cellHeaderTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":144,"character":5},"arguments":["cellHeaderTemplate",{"static":true}]}]}],"footerTemplates":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":147,"character":5},"arguments":[{"__symbolic":"reference","name":"SearchTableFooterDirective"},{"descendants":false}]}]}],"headerTemplates":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":152,"character":5},"arguments":[{"__symbolic":"reference","name":"SearchTableHeaderDirective"},{"descendants":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbModal","line":211,"character":38},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":211,"character":60}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"ngAfterContentChecked":[{"__symbolic":"method"}],"watchFilterChanges":[{"__symbolic":"method"}],"watchHeaderGroupChanges":[{"__symbolic":"method"}],"updateFilter":[{"__symbolic":"method"}],"setPage":[{"__symbolic":"method"}],"openColumnModal":[{"__symbolic":"method"}],"updateColumnFilter":[{"__symbolic":"method"}],"selectChanged":[{"__symbolic":"method"}],"sorted":[{"__symbolic":"method"}],"getTemplate":[{"__symbolic":"method"}],"reordered":[{"__symbolic":"method"}],"getDomColumnTemplate":[{"__symbolic":"method"}],"initOpenColumns":[{"__symbolic":"method"}],"filterDataFromFilteredData":[{"__symbolic":"method"}]}},"SearchTableModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":16,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"SearchTableComponent"},{"__symbolic":"reference","name":"ColumnPickerComponent"},{"__symbolic":"reference","name":"SearchTableFooterDirective"},{"__symbolic":"reference","name":"SearchTableHeaderDirective"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵa"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":26,"character":8},{"__symbolic":"reference","module":"@fortawesome/angular-fontawesome","name":"FontAwesomeModule","line":27,"character":8},{"__symbolic":"reference","module":"@swimlane/ngx-datatable","name":"NgxDatatableModule","line":28,"character":8},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":29,"character":8},{"__symbolic":"reference","name":"BetterMultiSelectModule"},{"__symbolic":"reference","name":"PickerSearchModule"},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":32,"character":8},{"__symbolic":"reference","module":"ngx-quill","name":"QuillModule","line":33,"character":8}],"exports":[{"__symbolic":"reference","name":"SearchTableComponent"},{"__symbolic":"reference","name":"SearchTableFooterDirective"},{"__symbolic":"reference","name":"SearchTableHeaderDirective"},{"__symbolic":"reference","name":"ɵa"}],"providers":[],"entryComponents":[{"__symbolic":"reference","name":"ColumnPickerComponent"}]}]}],"members":{}},"LibSharedModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":26,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":13,"character":24},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":13,"character":37},{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":13,"character":58},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbModule","line":15,"character":23},{"__symbolic":"reference","module":"@fortawesome/angular-fontawesome","name":"FontAwesomeModule","line":15,"character":34},{"__symbolic":"reference","module":"ng2-dragula","name":"DragulaModule","line":15,"character":53},{"__symbolic":"reference","name":"SearchTableModule"},{"__symbolic":"reference","name":"MultiSelectModule"},{"__symbolic":"reference","name":"ConfirmationModule"},{"__symbolic":"reference","name":"PickerSearchModule"},{"__symbolic":"reference","name":"BetterMultiSelectModule"},{"__symbolic":"reference","name":"DirectivesModule"}],"exports":[{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":13,"character":24},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":13,"character":37},{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":13,"character":58},{"__symbolic":"reference","module":"@ng-bootstrap/ng-bootstrap","name":"NgbModule","line":15,"character":23},{"__symbolic":"reference","module":"@fortawesome/angular-fontawesome","name":"FontAwesomeModule","line":15,"character":34},{"__symbolic":"reference","module":"ng2-dragula","name":"DragulaModule","line":15,"character":53},{"__symbolic":"reference","name":"SearchTableModule"},{"__symbolic":"reference","name":"MultiSelectModule"},{"__symbolic":"reference","name":"ConfirmationModule"},{"__symbolic":"reference","name":"PickerSearchModule"},{"__symbolic":"reference","name":"BetterMultiSelectModule"},{"__symbolic":"reference","name":"DirectivesModule"}],"providers":[{"__symbolic":"reference","module":"ng2-dragula","name":"DragulaService","line":29,"character":16}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[fndyTableColumn]"}]}],"members":{"fndyTableColumn":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":6,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"reference","name":"any"}]}]}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[fndySearchPositiveNumbersOnly]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":13,"character":28}]}],"onKeyDown":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":15,"character":5},"arguments":["keydown",["$event"]]}]}]}}},"origins":{"ContenteditableModelDirective":"./directives/content-editable-model.directive","DirectivesModule":"./directives/directives.module","IntegersOnlyDirective":"./directives/integers-only.directive","LetDirective":"./directives/let.directive","NoWhitespaceDirective":"./directives/no-whitespace.directive","PositiveNumbersOnlyDirective":"./directives/positive-numbers-only.directive","BetterMultiSelectComponent":"./general/better-multi-select/better-multi-select.component","BetterMultiSelectModule":"./general/better-multi-select/better-multi-select.module","ConfirmDirective":"./general/confirmation/confirm.directive","ConfirmationComponent":"./general/confirmation/confirmation.component","ConfirmationModule":"./general/confirmation/confirmation.module","MultiSelectComponent":"./general/multi-select/multi-select.component","MultiSelectModule":"./general/multi-select/multi-select.module","PickerSearchComponent":"./general/picker-search/picker-search.component","PickerSearchModule":"./general/picker-search/picker-search.module","ColumnPickerComponent":"./general/search-table/column-picker/column-picker.component","INgxSearchPageModel":"./general/search-table/ngx-search-page.model","ISearchTableColumnModel":"./general/search-table/search-table-column.model","SearchTableFooterDirective":"./general/search-table/search-table-footer.directive","SearchTableHeaderDirective":"./general/search-table/search-table-header.directive","SearchTableComponent":"./general/search-table/search-table.component","SearchTableModule":"./general/search-table/search-table.module","LibSharedModule":"./shared.module","ɵa":"./general/search-table/table-column.directive","ɵb":"./general/search-table/positive-numbers-only.directive"},"importAs":"@thinglogix/ngx-foundry-ui"}