ngx-easy-table
Version:
Angular easy table
1 lines • 17.6 kB
JSON
{"__symbolic":"module","version":3,"metadata":{"TableModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵk"},{"__symbolic":"reference","name":"ɵl"},{"__symbolic":"reference","name":"ɵm"}],"imports":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"BrowserModule"},{"__symbolic":"reference","module":"@angular/http","name":"HttpModule"}],"exports":[{"__symbolic":"reference","name":"ɵa"}],"providers":[],"bootstrap":[{"__symbolic":"reference","name":"ɵa"}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"ng2-table","providers":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"}],"template":"\n <global-search\n *ngIf=\"config.globalSearchEnabled\"\n (globalUpdate)=\"globalSearchTerm = $event\">\n </global-search>\n <csv-export *ngIf=\"config.exportEnabled\"></csv-export>\n\n <table class=\"ng2-table__table--striped\">\n <thead>\n <tr>\n <ng-container *ngFor=\"let key of keys;let headerIndex = index\">\n <th [style.display]=\"config.orderEnabled?'':'none' \"\n *ngIf=\"showColumn(key)\"\n (click)=\"orderBy(key)\">\n <div *ngIf=\"isColumnDefined();then customHeader else defaultHeader\"></div>\n <ng-template #customHeader>{{config.columns[headerIndex]}}</ng-template>\n <ng-template #defaultHeader>{{ key }}</ng-template>\n <span *ngIf=\"resource.order[key]==='asc' \"\n class=\"icon-sort-alpha-desc\">\n </span>\n <span *ngIf=\"resource.order[key]==='desc' \"\n class=\"icon-sort-alpha-asc\">\n </span>\n </th>\n </ng-container>\n <ng-container *ngFor=\"let key of keys\">\n <th [style.display]=\"!config.orderEnabled?'':'none' \"\n *ngIf=\"showColumn(key)\">\n {{ key }}\n </th>\n </ng-container>\n <th *ngIf=\"config.editEnabled\">Actions</th>\n </tr>\n <tr *ngIf=\"config.searchEnabled\">\n <ng-container *ngFor=\"let key of keys\">\n <th *ngIf=\"showColumn(key)\">\n <table-header (update)=\"term = $event\" [key]=\"key\"></table-header>\n </th>\n </ng-container>\n <th *ngIf=\"config.editEnabled\"></th>\n </tr>\n </thead>\n <tbody *ngIf=\"data\">\n <ng-container *ngIf=\"tpl\">\n <tr *ngFor=\"let row of data | search : term | global : globalSearchTerm | pagination : range;\n let rowIndex = index\"\n [class.ng2-table__table-row--selected]=\"rowIndex == selectedRow && !config.selectCell\">\n <ng-container [ngTemplateOutlet]=\"tpl\"\n [ngOutletContext]=\"{ $implicit: row }\">\n </ng-container>\n </tr>\n </ng-container>\n <ng-container *ngIf=\"!tpl\">\n <tr *ngFor=\"let row of data | search : term | global : globalSearchTerm | pagination : range;\n let rowIndex = index\"\n [class.ng2-table__table-row--selected]=\"rowIndex == selectedRow && !config.selectCell\">\n <ng-container *ngFor=\"let key of keys; let colIndex = index\">\n <td *ngIf=\"showColumn(key)\"\n (click)=\"clickedCell($event, row, key, colIndex, rowIndex)\"\n [class.ng2-table__table-col--selected]=\"colIndex == selectedCol && !config.selectCell\"\n [class.ng2-table__table-cell--selected]=\"colIndex == selectedCol && rowIndex == selectedRow && !config.selectCol && !config.selectRow\"\n >\n <div>{{ row[key] }}</div>\n </td>\n </ng-container>\n <td *ngIf=\"config.editEnabled\">\n <button class=\"ng2-table__button\">Edit</button>\n </td>\n </tr>\n </ng-container>\n </tbody>\n <tbody *ngIf=\"!data\">\n <tr>\n <td>No results</td>\n </tr>\n </tbody>\n <tfoot *ngIf=\"config.footerEnabled\">\n <tr>\n <td *ngFor=\"let key of keys\"></td>\n <td></td>\n </tr>\n </tfoot>\n </table>\n\n <pagination\n *ngIf=\"config.paginationEnabled\"\n [numberOfItems]=\"numberOfItems\"\n (updateRange)=\"range = $event\">\n </pagination>\n ","styles":["\n @import url(\"../assets/fonts/style.css\");\n @import \"~lato-font\";\n\n * {\n font-family: Lato, serif;\n }\n\n .ng2-table__button, .ng2-table__csv-export-button {\n background: #f0f0f0;\n border: 1px solid #d7d7d7;\n font-size: .8em;\n padding: 6px;\n }\n\n .ng2-table__table, .ng2-table__table--striped {\n border-spacing: 0;\n width: 100%;\n }\n\n .ng2-table__table td,\n .ng2-table__table th, .ng2-table__table--striped td,\n .ng2-table__table--striped th {\n border-color: #f2f2f2;\n border-style: solid;\n border-width: 1px 1px 0 0;\n margin: 0;\n padding: 2px;\n }\n\n .ng2-table__table thead > th, .ng2-table__table--striped thead > th {\n cursor: pointer;\n font-weight: 700;\n text-align: left;\n }\n\n .ng2-table__table tr:last-child th, .ng2-table__table--striped tr:last-child th {\n border-bottom-color: #cacaca;\n }\n\n .ng2-table__table tr:last-child td, .ng2-table__table--striped tr:last-child td {\n border-bottom: 1px solid #f0f0f0;\n }\n\n .ng2-table__table tr td:first-child,\n .ng2-table__table tr th:first-child, .ng2-table__table--striped tr td:first-child,\n .ng2-table__table--striped tr th:first-child {\n border-left: 1px solid #f0f0f0;\n }\n\n .ng2-table__table--striped tbody tr:nth-child(odd) {\n background: #fafafa;\n }\n\n .ng2-table__table-row--selected {\n background: #66c6f0 !important;\n }\n\n .ng2-table__table-col--selected {\n background: #66c6f0 !important;\n }\n\n .ng2-table__table-cell--selected {\n background: #66c6f0 !important;\n }\n "]}]}],"members":{"configuration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"event":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"tpl":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild"},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"orderBy":[{"__symbolic":"method"}],"clickedCell":[{"__symbolic":"method"}],"isColumnDefined":[{"__symbolic":"method"}],"showColumn":[{"__symbolic":"method"}],"toggleColumn":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/http","name":"Http"}]}],"getData":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"update":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"getOrder":[{"__symbolic":"method"}],"sortBy":[{"__symbolic":"method"}],"compare":[{"__symbolic":"method"}]},"statics":{"_pipedDataEmitter":{"__symbolic":"error","message":"Variable not initialized","line":8,"character":17}}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"global-search","template":"\n <label class=\"ng2-table__global-search-label\" for=\"search\">\n <input type=\"text\"\n id=\"search\"\n class=\"ng2-table__input\"\n #input\n (input)=\"globalUpdate.emit({value: input.value})\"\n placeholder=\"Search\"/>\n </label>\n ","styles":["\n .ng2-table__input {\n border: 0;\n font-size: .9em;\n margin: 0;\n padding: 2px;\n width: 99%;\n }\n\n .ng2-table__global-search-label {\n border: 1px solid #f0f0f0;\n display: inline-block;\n margin: 6px 0;\n padding: 2px;\n width: 300px;\n }\n .ng2-table__global-search-label::before {\n color: #cacaca;\n left: 290px;\n position: absolute;\n top: 18px;\n z-index: 1;\n }\n "]}]}],"members":{"globalUpdate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}]}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"csv-export","template":"\n <button class=\"ng2-table__csv-export-button\"\n (click)=\"exportCsv()\">Export to CSV\n </button>","styles":["\n /*TODO move this button to some imports */\n .ng2-table__csv-export-button {\n background: #f0f0f0;\n border: 1px solid #d7d7d7;\n font-size: .8em;\n padding: 6px;\n display: inline-block;\n float: right;\n margin: 6px 0;\n }\n "]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"}]}]}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"table-header","template":"\n <label for=\"search_{{ key }}\">\n <input type=\"text\"\n id=\"search_{{ key }}\"\n aria-label=\"Search\"\n placeholder=\"Search for {{ key }}\"\n class=\"ng2-table__input\"\n #input\n (input)=\"update.emit({value: input.value, key: key})\"\n >\n </label>","styles":["\n .ng2-table__input {\n border: 0;\n font-size: .9em;\n margin: 0;\n padding: 2px;\n width: 99%;\n }\n "]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"key":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"update":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵi":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"pagination","template":"\n <div class=\"ng2-table__pagination-wrapper\">\n <ul class=\"ng2-table__pagination\">\n <li [class.disabled]=\"paginationService.isFirstPage()\"\n (click)=\"paginationService.previousPage($event)\">\n <span class=\"icon-circle-left\"></span>\n </li>\n <li *ngFor=\"let page of paginationService.pageNumbers\"\n (click)=\"paginationService.changePage($event, page)\"\n [class.active]=\"paginationService.isActivePage(page)\">\n <a href=\"#\">{{page}}</a>\n </li>\n <li [class.disabled]=\"paginationService.isLastPage()\"\n (click)=\"paginationService.nextPage($event)\">\n <span class=\"icon-circle-right\"></span>\n </li>\n </ul>\n\n <ul class=\"ng2-table__items-per-page\">\n <li [class.active]=\"paginationService.isActiveRange(range)\"\n (click)=\"paginationService.changeRange($event, range)\"\n *ngFor=\"let range of paginationService.ranges\">\n <a href=\"#\">{{range}}</a>\n </li>\n </ul>\n </div>\n ","styles":["\n @import url(\"../../../assets/fonts/style.css\");\n\n .ng2-table__pagination, .ng2-table__items-per-page {\n display: inline-block;\n float: left;\n list-style-type: none;\n margin: 8px 0;\n padding: 0;\n }\n .ng2-table__pagination li, .ng2-table__items-per-page li {\n border: 1px solid #f0f0f0;\n float: left;\n margin: 0;\n padding: 6px;\n cursor: pointer;\n border-left: 0;\n border-right: 0;\n }\n .ng2-table__pagination li:first-child, .ng2-table__items-per-page li:first-child {\n border-left: 1px solid #f0f0f0;\n }\n .ng2-table__pagination li:last-child, .ng2-table__items-per-page li:last-child {\n border-right: 1px solid #f0f0f0;\n }\n .ng2-table__pagination a, .ng2-table__items-per-page a {\n color: inherit;\n text-decoration: none;\n }\n .ng2-table__pagination .active, .ng2-table__items-per-page .active {\n background: #3e71b4;\n border-color: #3e71b4;\n color: #fff;\n }\n\n .ng2-table__pagination .disabled, .ng2-table__items-per-page .disabled {\n background: #fff;\n border-color: #f0f0f0;\n color: #dddddd;\n cursor: default;\n }\n\n .ng2-table__items-per-page {\n float: right;\n }\n .ng2-table__pagination-wrapper::after {\n clear: both;\n content: '';\n display: block;\n height: 0;\n visibility: hidden;\n }\n "],"providers":[{"__symbolic":"reference","name":"ɵj"}]}]}],"members":{"numberOfItems":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"updateRange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵj"}]}]}},"ɵj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"}]}],"emitPaginationProperties":[{"__symbolic":"method"}],"updateNumberPerPage":[{"__symbolic":"method"}],"updatePagination":[{"__symbolic":"method"}],"isActiveRange":[{"__symbolic":"method"}],"isActivePage":[{"__symbolic":"method"}],"nextPage":[{"__symbolic":"method"}],"previousPage":[{"__symbolic":"method"}],"isLastPage":[{"__symbolic":"method"}],"isFirstPage":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"changeRange":[{"__symbolic":"method"}],"changePage":[{"__symbolic":"method"}]}},"ɵk":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe"},"arguments":[{"name":"search"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"}]}],"transform":[{"__symbolic":"method"}]}},"ɵl":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe"},"arguments":[{"name":"pagination"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵd"}]}],"transform":[{"__symbolic":"method"}]}},"ɵm":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe"},"arguments":[{"name":"global"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵd"}]}],"transform":[{"__symbolic":"method"}]}}},"origins":{"TableModule":"./app/app.module","ɵa":"./app/app.component","ɵb":"./app/services/http-service","ɵc":"./app/services/filters-service","ɵd":"./app/services/resource-service","ɵe":"./app/services/config-service","ɵf":"./app/components/global-search/global-search.component","ɵg":"./app/components/dropdown/csv-export.component","ɵh":"./app/components/header/header.component","ɵi":"./app/components/pagination/pagination.component","ɵj":"./app/services/pagination.service","ɵk":"./app/pipes/header-pipe","ɵl":"./app/pipes/pagination-pipe","ɵm":"./app/pipes/global-search-pipe"},"importAs":"ngx-easy-table"}