@firestitch/filter
Version:
1 lines • 43.5 kB
JSON
{"__symbolic":"module","version":4,"metadata":{"FsFilterModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":42,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":44,"character":4},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":45,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":46,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatIconModule","line":47,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatInputModule","line":48,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatSelectModule","line":49,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatChipsModule","line":50,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatCheckboxModule","line":51,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatAutocompleteModule","line":52,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatButtonModule","line":53,"character":4},{"__symbolic":"reference","module":"@angular/flex-layout","name":"FlexLayoutModule","line":54,"character":4},{"__symbolic":"reference","module":"@firestitch/chip","name":"FsChipModule","line":55,"character":4},{"__symbolic":"reference","module":"@firestitch/common","name":"FsCommonModule","line":56,"character":4},{"__symbolic":"reference","module":"@firestitch/store","name":"FsStoreModule","line":57,"character":4},{"__symbolic":"reference","module":"@firestitch/datepicker","name":"FsDatePickerModule","line":58,"character":4},{"__symbolic":"reference","module":"@firestitch/label","name":"FsLabelModule","line":59,"character":4}],"declarations":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"FilterComponent"},{"__symbolic":"reference","name":"FiltersListComponent"},{"__symbolic":"reference","name":"FilterItemComponent"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵj"},{"__symbolic":"reference","name":"ɵk"},{"__symbolic":"reference","name":"ɵl"},{"__symbolic":"reference","name":"ɵm"},{"__symbolic":"reference","name":"ɵn"}],"providers":[{"__symbolic":"reference","module":"@firestitch/store","name":"FsStore","line":83,"character":4},{"provide":{"__symbolic":"reference","module":"@angular/material","name":"MAT_LABEL_GLOBAL_OPTIONS","line":84,"character":15},"useValue":{"float":"never"}}],"exports":[{"__symbolic":"reference","name":"FilterComponent"}]}]}],"members":{}},"FilterComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":26,"character":1},"arguments":[{"selector":"fs-filter","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":30,"character":17},"member":"None"},"template":"<div class=\"fs-filter\"\n *ngIf=\"config?.items?.length\"\n [ngClass]=\"{\n 'filters-open': showFilterMenu,\n 'no-input': !showFilterInput\n }\">\n <div fxLayou=\"row\" fxLayoutAlign=\"start center\" class=\"menu-filter\" fxFlex=\"1 1 0\">\n <div class=\"menu-filter-input\" fxFlex=\"grow\">\n <div class=\"main-filter-bar\" fxLayout=\"row\" fxLayoutAlign=\"start center\">\n <form autocomplete=\"off\" role=\"presentation\">\n <mat-form-field\n class=\"filter-input-field\"\n (click)=\"changeVisibility(true)\"\n floatLabel=\"never\">\n <span matPrefix><mat-icon matPrefix>search</mat-icon></span>\n\n <input matInput\n [(ngModel)]=\"searchText\"\n name=\"filter-input\"\n #searchTextInput\n (keydown)=\"filterInputClick($event)\"\n class=\"filter-input\"\n (ngModelChange)=\"modelChange(searchText)\">\n\n <mat-placeholder>Search</mat-placeholder>\n <a matSuffix\n *ngIf=\"searchText && showFilterInput\"\n (click)=\"clear($event)\"\n href=\"javascript:void(0)\"\n class=\"clear\">\n <mat-icon>clear</mat-icon>\n </a>\n <a matSuffix\n (click)=\"reload($event)\"\n href=\"javascript:void(0)\"\n class=\"reload\"\n *ngIf=\"config.reload\">\n <mat-icon>refresh</mat-icon>\n </a>\n <a (click)=\"switchFilterVisibility($event)\"\n matSuffix\n href=\"javascript:void(0)\"\n class=\"filter\"\n *ngIf=\"!config.chips && config.singleTextFilter === false\">\n <mat-icon>filter_list</mat-icon>\n </a>\n <span class=\"active-filters-counter\"\n matSuffix\n (click)=\"switchFilterVisibility($event)\"\n *ngIf=\"!config.chips && activeFiltersCount > 0\">\n {{ activeFiltersCount }}\n </span>\n <span class=\"active-filters-counter\"\n matSuffix\n (click)=\"switchFilterVisibility($event)\"\n *ngIf=\"!config.chips && activeFiltersWithInputCount > 0\">\n {{ activeFiltersWithInputCount }}\n </span>\n </mat-form-field>\n </form>\n <filters-list\n [items]=\"config.items\"\n [showSortBy]=\"showSortBy\"\n [sortBy]=\"config.sortByItem\"\n [sortDirection]=\"config.sortDirectionItem\"\n (filterChanged)=\"filterChange($event)\"\n (search)=\"search()\"\n (done)=\"done()\"\n (clear)=\"clear()\"\n >\n </filters-list>\n </div>\n <div class=\"backdrop\" *ngIf=\"showFilterMenu\" (click)=\"backdropClick($event)\"></div>\n </div>\n </div>\n <fs-filter-chips class=\"filter-chips\"\n *ngIf=\"config.chips\"\n [filters]=\"changedFilters\"\n (remove)=\"resetFilter($event)\">\n </fs-filter-chips>\n</div>\n","styles":["@-webkit-keyframes slideInRight{from{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInRight{from{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.fs-filter{flex-direction:column;box-sizing:border-box;place-content:stretch flex-start;align-items:stretch;max-width:100%;position:relative;margin-bottom:20px}.fs-filter .title{display:none}.fs-filter.no-input .filter-input-field .mat-input-infix,.fs-filter.no-input .filter-input-field .mat-input-prefix,.fs-filter.no-input .filter-input-field .mat-input-underline{display:none!important}.fs-filter .results{min-height:90px;position:relative;overflow-x:auto;overflow-y:hidden}.fs-filter .status{position:relative}.fs-filter .status .progress-infinite{position:absolute;top:0;width:100%}.fs-filter .full-search .filter.filter-date>span{display:inline-block}.fs-filter .filter-chips{display:block}.fs-filter .filter-by{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:10px 0 15px}.fs-filter .filter-by .text{font-weight:400;font-size:19px}.fs-filter .filter-actions{display:flex;width:100%;height:55px;background:#fff;left:0;box-sizing:border-box;padding-left:5px;flex-direction:row;align-items:center}.fs-filter .filter-actions button{margin-right:6px;text-transform:uppercase}.fs-filter .filter-actions button:last-child{margin-right:0}.fs-filter .menu-filter{position:relative}.fs-filter .menu-filter .search{top:8px;position:absolute;margin-left:1px;left:0}.fs-filter .menu-filter .search mat-icon{-webkit-transform:scale(.9);transform:scale(.9)}.fs-filter .menu-filter .backdrop{position:fixed;top:0;bottom:0;left:0;right:0;z-index:69;outline:0}.fs-filter .menu-filter .menu-filter-input mat-form-field{width:100%}.fs-filter .menu-filter .menu-filter-input .main-filter-bar{height:40px}.fs-filter .menu-filter .menu-filter-input .main-filter-bar .mat-input-infix{padding-bottom:.3em}.fs-filter .menu-filter .menu-filter-input .main-filter-bar .mat-form-field-prefix,.fs-filter .menu-filter .menu-filter-input .main-filter-bar .mat-form-field-suffix{align-self:flex-end;display:flex;align-items:center;white-space:nowrap}.fs-filter .menu-filter .menu-filter-input .main-filter-bar .mat-form-field-prefix a,.fs-filter .menu-filter .menu-filter-input .main-filter-bar .mat-form-field-prefix mat-icon,.fs-filter .menu-filter .menu-filter-input .main-filter-bar .mat-form-field-suffix a,.fs-filter .menu-filter .menu-filter-input .main-filter-bar .mat-form-field-suffix mat-icon{cursor:pointer;color:initial}.fs-filter .menu-filter .menu-filter-input .main-filter-bar .mat-form-field-prefix a:hover,.fs-filter .menu-filter .menu-filter-input .main-filter-bar .mat-form-field-prefix mat-icon:hover,.fs-filter .menu-filter .menu-filter-input .main-filter-bar .mat-form-field-suffix a:hover,.fs-filter .menu-filter .menu-filter-input .main-filter-bar .mat-form-field-suffix mat-icon:hover{color:inherit}.fs-filter .menu-filter .menu-filter-input .filters{position:absolute;min-width:400px;width:100%;display:block;visibility:hidden;left:0;margin-top:15px}.fs-filter .menu-filter .menu-filter-input .filters .filters-wrap{-webkit-animation:.3s slideInRight;animation:.3s slideInRight;background:#fff;box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);position:fixed;width:75vw;max-width:350px;top:0;bottom:0;right:0;z-index:999}.fs-filter .menu-filter .menu-filter-input .filters .filters-wrap .filter-items{max-height:calc(100% - 55px);overflow-y:auto;padding:10px 20px 0;box-sizing:border-box}.fs-filter .menu-filter .menu-filter-input .filters .filter-group{margin:10px 0 0}.fs-filter .menu-filter .menu-filter-input .filters .filter-group:first-child{margin:0}.fs-filter .menu-filter .menu-filter-input .filters .filter.filter-checkbox{padding-bottom:1.25em;padding-top:7px}.fs-filter .menu-filter .menu-filter-input .filters .filter.filter-autocompletechips .mat-form-field{overflow:hidden}.fs-filter .menu-filter .menu-filter-input .filters .filter .interface.interface-range,.fs-filter .menu-filter .menu-filter-input .filters .filter .interface.interface-range .mat-input-wrapper,.fs-filter .menu-filter .menu-filter-input .filters .filter .interface.interface-range input{text-align:center}.fs-filter .menu-filter .menu-filter-input .filters .filter .interface.interface-datetime fs-datetime.has-time .md-input{width:100%}.fs-filter .menu-filter .menu-filter-input .filters .filter .interface fs-datetime-range input{text-align:center}.fs-filter .menu-filter .menu-filter-input .filters .filter .filter-label{width:1%;white-space:nowrap;vertical-align:middle;padding-right:15px}.fs-filter .menu-filter .menu-filter-input .filters md-autocomplete-container md-input-container{margin:0}.fs-filter .menu-filter .menu-filter-input .filters .isolate{margin-top:-12px}.fs-filter .menu-filter .menu-filter-input .filters .isolate .interface{line-height:20px;padding-bottom:1.25em}.fs-filter .menu-filter .menu-filter-input .filters .isolate md-checkbox{margin:0 0 0 2px}.fs-filter .filter label{white-space:nowrap;color:rgba(0,0,0,.54)}.fs-filter .filter.filter-range mat-form-field{min-width:initial;width:50px}.fs-filter .filter.filter-range mat-form-field.filter-range-min{margin-right:5px}.fs-filter .infinite-records{color:#999;font-size:13px;margin-left:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.fs-filter .infinite-records .order-toggle{cursor:pointer;padding-left:4px}.fs-filter .md-datepicker-calendar-pane{margin-left:-10px}.fs-filter.filters-open .main-filter-bar md-input-container input,.fs-filter.filters-open .menu-filter-input .filters{visibility:visible}.fs-filter.filters-open .filter-chips,.fs-filter.filters-open .filter-input-field{z-index:998;position:relative}.main-filter-bar{overflow:hidden}.main-filter-bar form{width:100%}.main-filter-bar .filter-input-field .mat-form-field-underline{bottom:auto}.main-filter-bar .filter-input-field .mat-form-field-infix{border-top:0}.main-filter-bar .filter-input-field .mat-form-field-wrapper{padding-bottom:0}.main-filter-bar .filter-input-field .mat-form-field-flex{align-items:center}.active-filters-counter{min-width:22px;line-height:22px;height:22px;-webkit-transform:scale(.65);transform:scale(.65);font-size:116%;margin-left:-2px;background:#ccc;border-radius:50%;text-align:center;padding:3px;color:#fff;cursor:pointer}.active-filters-counter.with-input{display:none}body.fs-filter-open{overflow:hidden!important}body.fs-filter-open .mat-drawer-container,body.fs-filter-open .mat-drawer-content{z-index:auto!important}@media screen and (max-width:600px){.fs-filter .reload{display:none}}"]}]}],"members":{"filter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":3}}]}],"sortUpdate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":3}}]}],"showSortBy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":3}}]}],"showFilterInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":37,"character":3}}]}],"keyEvent":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":39,"character":3},"arguments":["window:keyup",["$event"]]}]}],"searchTextInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":47,"character":3},"arguments":["searchTextInput"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@firestitch/store","name":"FsStore","line":66,"character":30},{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":67,"character":29},{"__symbolic":"reference","module":"@angular/common","name":"Location","line":68,"character":32}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"updateValues":[{"__symbolic":"method"}],"watchSearchInput":[{"__symbolic":"method"}],"modelChange":[{"__symbolic":"method"}],"backdropClick":[{"__symbolic":"method"}],"done":[{"__symbolic":"method"}],"switchFilterVisibility":[{"__symbolic":"method"}],"filterInputClick":[{"__symbolic":"method"}],"changeVisibility":[{"__symbolic":"method"}],"clear":[{"__symbolic":"method"}],"search":[{"__symbolic":"method"}],"change":[{"__symbolic":"method"}],"updateFilledCounter":[{"__symbolic":"method"}],"filterChange":[{"__symbolic":"method"}],"reload":[{"__symbolic":"method"}],"restorePersistValues":[{"__symbolic":"method"}],"storePersistValues":[{"__symbolic":"method"}],"resetFilter":[{"__symbolic":"method"}],"updateSearchText":[{"__symbolic":"method"}]}},"FilterItemComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"filter-item","template":"<ng-template ngIf=\"!item.disabled\">\n <div class=\"filter filter-{{ item.type }}\">\n\n <ng-container [ngSwitch]=\"item.type\">\n <filter-item-text class=\"interface\"\n *ngSwitchCase=\"itemType.Text\"\n [item]=\"item\"\n (itemChanged)=\"itemChange($event)\">\n </filter-item-text>\n <filter-item-select class=\"interface\"\n *ngSwitchCase=\"itemType.Select\"\n [item]=\"item\"\n (itemChanged)=\"itemChange($event)\">\n </filter-item-select>\n <filter-item-chips class=\"interface\"\n *ngSwitchCase=\"itemType.Chips\"\n [item]=\"item\"\n (itemChanged)=\"itemChange($event)\">\n </filter-item-chips>\n <filter-item-range class=\"interface interface-range\"\n *ngSwitchCase=\"itemType.Range\"\n [item]=\"item\"\n (itemChanged)=\"itemChange($event)\">\n </filter-item-range>\n <filter-item-autocomplete class=\"interface\"\n *ngSwitchCase=\"itemType.AutoComplete\"\n [item]=\"item\"\n (itemChanged)=\"itemChange($event)\">\n </filter-item-autocomplete>\n <filter-item-autocompletechips class=\"interface\"\n *ngSwitchCase=\"itemType.AutoCompleteChips\"\n [item]=\"item\"\n (itemChanged)=\"itemChange($event)\">\n </filter-item-autocompletechips>\n <filter-item-date class=\"interface interface-date\"\n *ngSwitchCase=\"itemType.Date\"\n [item]=\"item\"\n (itemChanged)=\"itemChange($event)\">\n </filter-item-date>\n <filter-item-checkbox class=\"interface interface-checkbox\"\n *ngSwitchCase=\"itemType.Checkbox\"\n [item]=\"item\"\n (itemChanged)=\"itemChange($event)\">\n </filter-item-checkbox>\n </ng-container>\n\n </div>\n\n <div *ngIf=\"item.isolate\" class=\"filter isolate\">\n <div class=\"interface\">\n <mat-checkbox (change)=\"isolateChange(item)\" [(ngModel)]=\"item.isolate.enabled\">\n <span class=\"checkbox-label\">{{ item.isolate.label }}</span>\n </mat-checkbox>\n </div>\n </div>\n</ng-template>\n"}]}],"members":{"item":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"inline":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"itemChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":13,"character":3}}]}],"isolateChange":[{"__symbolic":"method"}],"itemChange":[{"__symbolic":"method"}]}},"FiltersListComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"filters-list","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":14,"character":19},"member":"OnPush"},"template":"<div class=\"filters\">\n <div class=\"filters-wrap\">\n <div class=\"filter-items\">\n <!-- @TODO\n Mobal version of filters\n fs-heading\n heading-actions\n -->\n <div class=\"filter-by\">\n <mat-icon>filter_list</mat-icon>\n <span class=\"text\">Filter By</span>\n </div>\n\n <filter-item *ngFor=\"let filterItem of items\"\n class=\"filter-group\"\n [item]=\"filterItem\"\n (itemChanged)=\"filterChange($event)\">\n </filter-item>\n\n <ng-container *ngIf=\"sortBy && sortBy.values && sortBy.values.length > 0 && showSortBy\">\n <filter-item class=\"filter-group sort\"\n [item]=\"sortBy\"\n (itemChanged)=\"filterChange($event)\">\n </filter-item>\n <filter-item class=\"filter-group sort\"\n [item]=\"sortDirection\"\n (itemChanged)=\"filterChange($event)\">\n </filter-item>\n </ng-container>\n </div>\n\n <div class=\"filter-actions\">\n <button type=\"button\" mat-button color=\"primary\" (click)=\"doneClick()\">Done</button>\n <button type=\"button\" mat-button (click)=\"clearAll()\">Clear</button>\n </div>\n </div>\n</div>\n"}]}],"members":{"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"showSortBy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"sortBy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"sortDirection":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"inline":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"filterChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":23,"character":3}}]}],"search":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":24,"character":3}}]}],"clear":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":25,"character":3}}]}],"done":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"IterableDiffers","line":30,"character":34},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":30,"character":66}]}],"ngDoCheck":[{"__symbolic":"method"}],"doSearch":[{"__symbolic":"method"}],"clearAll":[{"__symbolic":"method"}],"doneClick":[{"__symbolic":"method"}],"filterChange":[{"__symbolic":"method"}]}},"IFilterConfigItem":{"__symbolic":"interface"},"FilterConfig":{"__symbolic":"interface"},"SortItem":{"__symbolic":"interface"},"ChangeFn":{"__symbolic":"interface"},"FilterSort":{"__symbolic":"interface"},"Sort":{"__symbolic":"interface"},"ItemType":{"Text":"text","Select":"select","Range":"range","Date":"date","DateTime":"datetime","DateRange":"daterange","DateTimeRange":"datetimerange","AutoComplete":"autocomplete","AutoCompleteChips":"autocompletechips","Checkbox":"checkbox","Chips":"chips"},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":15,"character":1},"arguments":[{"selector":"base-item","template":"","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":18,"character":19},"member":"OnPush"}}]}],"members":{"item":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"inline":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"itemChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":28,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"KeyValueDiffers","line":34,"character":26},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":35,"character":19}]}],"ngDoCheck":[{"__symbolic":"method"}],"itemChange":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"fs-filter-chips","template":"<fs-chips [(ngModel)]=\"chips\">\n <fs-chip\n *ngFor=\"let item of filters\"\n [value]=\"item\"\n [selectable]=\"false\"\n [removable]=\"true\"\n size=\"small\"\n (removed)=\"removeItem(item)\">\n <ng-container *ngIf=\"!item.hasPendingValues && !item.initialLoading; else lodaingValues\">\n {{ item.model | fsItemToChip:item }}\n </ng-container>\n\n <ng-template #lodaingValues>\n loading...\n </ng-template>\n </fs-chip>\n</fs-chips>\n\n\n","styles":[""]}]}],"members":{"filters":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"remove":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":11,"character":3}}]}],"removeItem":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵa"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":13,"character":1},"arguments":[{"selector":"filter-item-select","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":16,"character":19},"member":"OnPush"},"template":"<ng-template [ngIf]=\"item.values?.length\">\n <ng-container *ngIf=\"item.multiple && !item.children\">\n <filter-item-select-multiple [item]=\"item\" (change)=\"selectChange()\" #selectItem>\n </filter-item-select-multiple>\n </ng-container>\n\n <ng-container *ngIf=\"!item.multiple && !item.children\">\n <filter-item-select-simple [item]=\"item\" (change)=\"selectChange()\" #selectItem>\n </filter-item-select-simple>\n </ng-container>\n\n <ng-container *ngIf=\"item.children\">\n <filter-item-select-groups [item]=\"item\" (change)=\"selectChange()\" #selectItem>\n </filter-item-select-groups>\n </ng-container>\n</ng-template>\n\n<ng-template [ngIf]=\"item.initialLoading\">{{ item.label }} loading...</ng-template>\n"}]}],"members":{"selectedItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":20,"character":3},"arguments":["selectItem"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"KeyValueDiffers","line":27,"character":26},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":28,"character":19}]}],"selectChange":[{"__symbolic":"method"}],"ngDoCheck":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"filter-item-select-groups","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":12,"character":19},"member":"OnPush"},"template":"<mat-form-field floatLabel=\"auto\">\n <mat-label>{{item.label}}</mat-label>\n <mat-select [(ngModel)]=\"item.tmpModel\" (ngModelChange)=\"changed($event)\">\n <ng-container *ngFor=\"let selectItem of item.values\">\n <ng-container *ngIf=\"selectItem[item.children]; else simpleOption\">\n <mat-optgroup [label]=\"selectItem.name\">\n <mat-option *ngFor=\"let subItem of selectItem[item.children]\"\n [value]=\"subItem.value\"\n [ngStyle]=\"selectItem.style\">\n {{ subItem.name }}\n </mat-option>\n </mat-optgroup>\n </ng-container>\n\n <ng-template #simpleOption>\n <mat-option [value]=\"selectItem.value\" [ngStyle]=\"selectItem.style\">\n {{ selectItem.name }}\n </mat-option>\n </ng-template>\n </ng-container>\n </mat-select>\n</mat-form-field>\n"}]}],"members":{"item":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"change":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":17,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":19,"character":25}]}],"changed":[{"__symbolic":"method"}]}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"filter-item-select-simple","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":12,"character":19},"member":"OnPush"},"template":"<mat-form-field floatLabel=\"auto\">\n <mat-label>{{item.label}}</mat-label>\n <mat-select [(ngModel)]=\"item.tmpModel\" (ngModelChange)=\"changed($event)\">\n <mat-option *ngFor=\"let item of item.values\" [value]=\"item.value\" [ngStyle]=\"item.style\">\n {{ item.name }}\n </mat-option>\n </mat-select>\n <!--<mat-placeholder *ngIf=\"inline\">{{ item.label }}</mat-placeholder>-->\n</mat-form-field>\n"}]}],"members":{"item":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"change":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":17,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":19,"character":25}]}],"changed":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"filter-item-select-multiple","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":12,"character":19},"member":"OnPush"},"template":"<mat-form-field floatLabel=\"auto\">\n <mat-label>{{item.label}}</mat-label>\n <mat-select [(ngModel)]=\"item.tmpModel\"\n [multiple]=\"item.multiple\"\n (openedChange)=\"changed($event)\">\n <mat-option *ngFor=\"let item of item.values\"\n [value]=\"item.value\"\n [ngStyle]=\"item.style\">\n {{ item.name }}\n </mat-option>\n </mat-select>\n <!--<mat-placeholder *ngIf=\"inline\">{{ item.label }}</mat-placeholder>-->\n</mat-form-field>\n"}]}],"members":{"item":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"change":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":17,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":19,"character":25}]}],"changed":[{"__symbolic":"method"}]}},"ɵg":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵa"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"filter-item-chips","template":"<ng-template [ngIf]=\"item.values?.length\">\n <fs-label-field>\n <fs-label>{{item.label}}</fs-label>\n <fs-chips [(ngModel)]=\"item.model\"\n [compare]=\"compareFn\"\n [multiple]=\"item.multiple\"\n (ngModelChange)=\"modelChange()\">\n <fs-chip *ngFor=\"let value of item.values\"\n [value]=\"value\"\n [selectable]=\"true\">\n {{ value.name }}\n </fs-chip>\n </fs-chips>\n </fs-label-field>\n</ng-template>\n\n<ng-template [ngIf]=\"item.initialLoading\">{{ item.label }} loading...</ng-template>\n","styles":["fs-chip{line-height:40px}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"KeyValueDiffers","line":12,"character":26},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":13,"character":19}]}],"modelChange":[{"__symbolic":"method"}],"compareFn":[{"__symbolic":"method"}]}},"ɵh":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵa"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"selector":"filter-item-text","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":15,"character":19},"member":"OnPush"},"template":"<mat-form-field floatLabel=\"auto\">\n <mat-label>{{item.label}}</mat-label>\n <input matInput\n [(ngModel)]=\"item.model\"\n (ngModelChange)=\"inputChange$.next(item.model)\"/>\n</mat-form-field>\n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"KeyValueDiffers","line":23,"character":26},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":24,"character":19}]}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵi":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵa"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"filter-item-range","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":12,"character":19},"member":"OnPush"},"template":"<span fxLayout=\"row\">\n <mat-form-field class=\"filter-range-min\" floatLabel=\"auto\">\n <mat-label>{{item.placeholder[0]}}</mat-label>\n <input matInput\n [(ngModel)]=\"item.model.min\"\n (ngModelChange)=\"itemChange()\">\n </mat-form-field>\n <mat-form-field class=\"filter-range-max\" floatLabel=\"auto\">\n <mat-label>{{item.placeholder[1]}}</mat-label>\n <input matInput\n [(ngModel)]=\"item.model.max\"\n (ngModelChange)=\"itemChange()\">\n </mat-form-field>\n</span>\n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"KeyValueDiffers","line":17,"character":26},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":18,"character":19}]}]}},"ɵj":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵa"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"filter-item-autocomplete","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":13,"character":19},"member":"OnPush"},"template":"<mat-form-field floatLabel=\"auto\">\n <mat-label>{{item.label}}</mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"item.model\"\n (ngModelChange)=\"onAutocompleteChange()\" name=\"{{ item.name }}\"\n [matAutocomplete]=\"autocompleteInput\">\n <mat-autocomplete #autocompleteInput=\"matAutocomplete\" [displayWith]=\"displayAutocomplete\">\n <mat-option *ngFor=\"let item of item.values$ | async\" [value]=\"item\">{{ item.name }}\n </mat-option>\n </mat-autocomplete>\n <mat-placeholder *ngIf=\"inline\">{{ item.label }}</mat-placeholder>\n</mat-form-field>\n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"KeyValueDiffers","line":18,"character":26},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":19,"character":19}]}],"onAutocompleteChange":[{"__symbolic":"method"}],"displayAutocomplete":[{"__symbolic":"method"}]}},"ɵk":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵa"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":17,"character":1},"arguments":[{"selector":"filter-item-autocompletechips","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":20,"character":19},"member":"OnPush"},"template":"<mat-form-field floatLabel=\"auto\">\n <mat-label>{{item.label}}</mat-label>\n <mat-chip-list #chipList>\n <mat-chip *ngFor=\"let item of item.model\"\n (removed)=\"removeAutocompleteChipItem(item)\">\n {{ item.name }}\n <mat-icon matChipRemove>cancel</mat-icon>\n </mat-chip>\n\n <input #chipsInput matInput [(ngModel)]=\"item.selectedValue\"\n (ngModelChange)=\"onAutocompleteChipsChange(chipsInput)\" type=\"text\"\n name=\"{{ item.name }}\"\n [matChipInputFor]=\"chipList\"\n [matAutocomplete]=\"autocompleteChipsInput\">\n </mat-chip-list>\n\n <mat-autocomplete #autocompleteChipsInput=\"matAutocomplete\"\n (optionSelected)=\"addAutocompleteChipItem( $event)\">\n <mat-option *ngFor=\"let item of item.values$ | async\" [value]=\"item\">\n {{ item.name }}\n </mat-option>\n </mat-autocomplete>\n <mat-placeholder *ngIf=\"inline\">{{ item.label }}</mat-placeholder>\n</mat-form-field>\n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"KeyValueDiffers","line":25,"character":26},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":26,"character":19}]}],"onAutocompleteChipsChange":[{"__symbolic":"method"}],"addAutocompleteChipItem":[{"__symbolic":"method"}],"removeAutocompleteChipItem":[{"__symbolic":"method"}]}},"ɵl":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵa"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"filter-item-date","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":12,"character":19},"member":"OnPush"},"template":"<mat-form-field floatLabel=\"auto\">\n <mat-label>{{item.label}}</mat-label>\n <input matInput\n fsDatePicker\n [(ngModel)]=\"item.model\"\n (change)=\"itemChange()\"\n [name]=\"item.name\">\n <mat-placeholder *ngIf=\"inline\">{{ item.label }}</mat-placeholder>\n</mat-form-field>\n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"KeyValueDiffers","line":16,"character":26},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":17,"character":19}]}]}},"ɵm":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵa"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"filter-item-checkbox","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":13,"character":19},"member":"OnPush"},"template":"<fs-label-field>\n <fs-label>\n {{item.label}}\n </fs-label>\n <mat-checkbox (change)=\"itemChange()\" [(ngModel)]=\"item.model\">\n <span class=\"checkbox-label\"></span>\n </mat-checkbox>\n</fs-label-field>","styles":["fs-label-field{margin:0}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"KeyValueDiffers","line":18,"character":26},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":19,"character":19}]}],"onFilterChange":[{"__symbolic":"method"}]}},"ɵn":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":6,"character":1},"arguments":[{"name":"fsItemToChip"}]}],"members":{"transform":[{"__symbolic":"method"}]}}},"origins":{"FsFilterModule":"./app/fs-filter.module","FilterComponent":"./app/components/filter/filter.component","FilterItemComponent":"./app/components/filters-item/filter-item.component","FiltersListComponent":"./app/components/filters-list/filters-list.component","IFilterConfigItem":"./app/interfaces/item-config.interface","FilterConfig":"./app/interfaces/config.interface","SortItem":"./app/interfaces/config.interface","ChangeFn":"./app/interfaces/config.interface","FilterSort":"./app/interfaces/config.interface","Sort":"./app/interfaces/config.interface","ItemType":"./app/models/filter-item","ɵa":"./app/components/filters-item/base-item/base-item.component","ɵb":"./app/components/filter-chips/filter-chips.component","ɵc":"./app/components/filters-item/select/select.component","ɵd":"./app/components/filters-item/select/groups/groups.component","ɵe":"./app/components/filters-item/select/simple/simple.component","ɵf":"./app/components/filters-item/select/multiple/multiple.component","ɵg":"./app/components/filters-item/chips/chips.component","ɵh":"./app/components/filters-item/text/text.component","ɵi":"./app/components/filters-item/range/range.component","ɵj":"./app/components/filters-item/autocomplete/autocomplete.component","ɵk":"./app/components/filters-item/autocompletechips/autocompletechips.component","ɵl":"./app/components/filters-item/date/date.component","ɵm":"./app/components/filters-item/checkbox/checkbox.component","ɵn":"./app/filters/item-to-chip.filter"},"importAs":"@firestitch/filter"}