{"__symbolic":"module","version":4,"metadata":{"PaginatorComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@angular/material","name":"MatPaginator","line":9,"character":40},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"fast-paginator","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":7,"character":19},"member":"OnPush"},"template":"<div class=\"fast-paginator-container\">\n  <div\n    *ngIf=\"showRangeTop\"\n    class=\"fast-paginator-range\"\n  >\n    {{ _intl.getRangeLabel(pageIndex, pageSize, length) }}\n  </div>\n  <div class=\"fast-paginator\">\n    <fast-icon-button\n      *ngIf=\"showFirstLastButtons\"\n      icon=\"mdi-chevron-double-left\"\n      size=\"24px\"\n      hoverClass=\"info\"\n      [tooltip]=\"_intl.firstPageLabel\"\n      [tooltipDisabled]=\"_previousButtonsDisabled()\"\n      [disabled]=\"_previousButtonsDisabled()\"\n      (click)=\"firstPage()\"\n    >\n    </fast-icon-button>\n\n    <fast-icon-button\n      icon=\"mdi-chevron-left\"\n      size=\"24px\"\n      hoverClass=\"info\"\n      [tooltip]=\"_intl.previousPageLabel\"\n      [tooltipDisabled]=\"_previousButtonsDisabled()\"\n      [disabled]=\"_previousButtonsDisabled()\"\n      (click)=\"previousPage()\"\n    >\n    </fast-icon-button>\n\n    <div class=\"fast-paginator-pages\">\n      <div\n        class=\"fast-paginator-page\"\n        [ngClass]=\"{ active: pageIndex === page }\"\n        *ngFor=\"let page of getPageLabels()\"\n        (click)=\"indexPage(page)\"\n      >\n        <span>{{ page + 1 }}</span>\n      </div>\n    </div>\n\n    <fast-icon-button\n      icon=\"mdi-chevron-right\"\n      size=\"24px\"\n      hoverClass=\"info\"\n      [tooltip]=\"_intl.nextPageLabel\"\n      [tooltipDisabled]=\"_nextButtonsDisabled()\"\n      [disabled]=\"_nextButtonsDisabled()\"\n      (click)=\"nextPage()\"\n    >\n    </fast-icon-button>\n\n    <fast-icon-button\n      *ngIf=\"showFirstLastButtons\"\n      icon=\"mdi-chevron-double-right\"\n      size=\"24px\"\n      hoverClass=\"info\"\n      [tooltip]=\"_intl.lastPageLabel\"\n      [tooltipDisabled]=\"_nextButtonsDisabled()\"\n      [disabled]=\"_nextButtonsDisabled()\"\n      (click)=\"lastPage()\"\n    >\n    </fast-icon-button>\n  </div>\n\n  <div\n    *ngIf=\"!showRangeTop\"\n    class=\"fast-paginator-range\"\n  >\n    {{ _intl.getRangeLabel(pageIndex, pageSize, length) }}\n  </div>\n</div>\n","styles":[".fast-paginator-container{display:flex;flex-direction:column;margin-top:20px;padding:10px;font-family:Rubik,Arial,Helvetica,sans-serif}.fast-paginator{display:flex;align-content:center;justify-content:center;text-align:center}.fast-paginator .fast-paginator-pages{display:flex}.fast-paginator .fast-paginator-pages .fast-paginator-page{margin:0 5px;width:48px;height:48px;border-radius:100%;color:#707070;font-size:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fast-paginator .fast-paginator-pages .fast-paginator-page:hover{background-color:rgba(0,123,199,.2);color:#007bc7}.fast-paginator .fast-paginator-pages .fast-paginator-page.active{background-color:#007bc7;color:#fff}.fast-paginator .fast-paginator-pages .fast-paginator-page span{margin:auto;line-height:2.9}.fast-paginator-range{margin-top:4px;color:#707070;text-align:center;font-size:14px}"]}]}],"members":{"showRangeTop":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/material","name":"MatPaginatorIntl","line":13,"character":20},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":13,"character":43}]}],"getPageLabels":[{"__symbolic":"method"}],"indexPage":[{"__symbolic":"method"}],"setPageIndex":[{"__symbolic":"method"}],"emitPageEvent":[{"__symbolic":"method"}]}},"TableComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"fast-table","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":10,"character":19},"member":"OnPush"},"template":"<div\n  class=\"fast-table-container\"\n  [style.max-height]=\"maxHeight\"\n>\n  <table\n    class=\"fast-table\"\n    mat-table\n    matSort\n    [matSortActive]=\"sorted\"\n    [matSortDirection]=\"direction\"\n    [dataSource]=\"rows\"\n    (matSortChange)=\"sort.emit($event)\"\n  >\n    <ng-container\n      *ngFor=\"let column of columns\"\n      [matColumnDef]=\"column.label\"\n    >\n      <ng-container *ngIf=\"column.sortable\">\n        <th\n          mat-header-cell\n          mat-sort-header\n          *matHeaderCellDef\n        >\n          {{ column.displayName }}\n        </th>\n      </ng-container>\n\n      <ng-container *ngIf=\"!column.sortable\">\n        <th\n          mat-header-cell\n          *matHeaderCellDef\n        >\n          {{ column.displayName }}\n        </th>\n      </ng-container>\n\n      <td\n        mat-cell\n        *matCellDef=\"let entity\"\n      >\n        <ng-container *ngTemplateOutlet=\"template; context: { entity: entity, column: column.label }\"></ng-container>\n      </td>\n    </ng-container>\n\n    <tr\n      class=\"fast-table-header\"\n      mat-header-row\n      *matHeaderRowDef=\"columnNames; sticky: sticky\"\n    ></tr>\n    <tr\n      class=\"fast-table-row\"\n      [ngClass]=\"{ odd: (i % 2 !== 0) && striped }\"\n      mat-row\n      *matRowDef=\"let row; columns: columnNames; let i = index;\"\n    ></tr>\n  </table>\n</div>\n\n<fast-paginator\n  *ngIf=\"paging\"\n  class=\"fast-paginator\"\n  showFirstLastButtons\n  [length]=\"length || rows.length\"\n  [pageSize]=\"pageSize\"\n  (page)=\"page.emit($event)\"\n>\n</fast-paginator>\n","styles":[".fast-table-container{overflow:auto}.fast-table-container table.fast-table{width:100%;font-size:14px;font-family:Rubik,Arial,Helvetica,sans-serif}.fast-table-container table.fast-table .fast-table-header{background-color:#f7f7f7}.fast-table-container table.fast-table .fast-table-header th{border-top:1px solid rgba(0,0,0,.12);color:#707070;text-transform:uppercase;font-weight:700;font-size:12px}.fast-table-container table.fast-table .fast-table-header th>>>button{text-transform:uppercase}.fast-table-container table.fast-table .fast-table-row.odd{background-color:#f7f7f7}.fast-table-container table.fast-table td{padding-top:20px;padding-bottom:20px;max-width:100px;border-bottom:none;color:#4a4a4a;vertical-align:top;line-height:1.29}.fast-table-container table.fast-table td>>>.muted{color:#707070}.fast-table-container table.fast-table td>>>.bold{font-weight:500}.fast-table-container table.fast-table td>>>.small{font-size:12px}.fast-table-container table.fast-table td>>>.fast-table-link{color:#007bc7;text-decoration:none;cursor:pointer}.fast-table-container table.fast-table td>>>.fast-table-link.bold{font-weight:500}.fast-table-container table.fast-table td>>>.fast-table-link:hover{color:#333}.fast-table-container table.fast-table td>>>.fast-table-icon{font-size:24px;transform:translateY(-3px)}.fast-paginator{font-family:Rubik,Arial,Helvetica,sans-serif}"]}]}],"members":{"columns":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"rows":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"template":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"maxHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"sticky":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"striped":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"paging":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"pageSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"length":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"sorted":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"direction":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"page":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":25,"character":3}}]}],"sort":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"paginator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":28,"character":3},"arguments":[{"__symbolic":"reference","name":"PaginatorComponent"},{"static":false}]}]}]}},"IColumn":{"__symbolic":"interface"},"TableModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":10,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"TableComponent"},{"__symbolic":"reference","name":"PaginatorComponent"}],"exports":[{"__symbolic":"reference","name":"TableComponent"},{"__symbolic":"reference","name":"PaginatorComponent"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":13,"character":12},{"__symbolic":"reference","module":"fast-shared-client/icon-button","name":"IconButtonModule","line":13,"character":26},{"__symbolic":"reference","module":"@angular/material","name":"MatTableModule","line":13,"character":44},{"__symbolic":"reference","module":"@angular/material","name":"MatPaginatorModule","line":13,"character":60},{"__symbolic":"reference","module":"@angular/material","name":"MatSortModule","line":13,"character":80}]}]}],"members":{}}},"origins":{"PaginatorComponent":"./components/paginator/paginator.component","TableComponent":"./components/table/table.component","IColumn":"./models/column.model","TableModule":"./table.module"},"importAs":"fast-shared-client/table"}