annotate src/app/query-result-table.component.js @ 58:3b4046e0cc02 default

Merge from ng2-table branch. d7c947909ab888c013171b8c037e4f9fab30fe57
author casties
date Wed, 29 Mar 2017 17:19:12 +0200
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
58
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
1 "use strict";
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
2 var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
3 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
4 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
5 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
6 return c > 3 && r && Object.defineProperty(target, key, r), r;
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
7 };
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
8 var __metadata = (this && this.__metadata) || function (k, v) {
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
9 if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
10 };
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
11 var core_1 = require('@angular/core');
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
12 var QueryResultTableComponent = (function () {
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
13 function QueryResultTableComponent() {
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
14 this.showTable = false;
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
15 this.currentPage = 1;
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
16 this.itemsPerPage = 10;
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
17 this.maxSize = 5;
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
18 this.numPages = 1;
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
19 this.length = 0;
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
20 this.config = {
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
21 paging: true,
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
22 sorting: { 'columns': this.columns },
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
23 };
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
24 }
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
25 QueryResultTableComponent.prototype.ngOnChanges = function (changes) {
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
26 console.debug("result table changed! changes=", changes);
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
27 this.data = this.queryState.results;
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
28 if (this.data.length > 0) {
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
29 this.allColumns = this.queryState.resultColumns;
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
30 this.columns = this.allColumns.filter(function (c) { return c.show; });
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
31 this.config.sorting = this.columns;
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
32 this.config.paging = { 'page': this.currentPage, 'itemsPerPage': this.itemsPerPage };
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
33 this.showTable = (this.data.length < 1000);
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
34 this.onChangeTable(this.config);
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
35 }
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
36 };
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
37 QueryResultTableComponent.prototype.ngOnInit = function () {
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
38 console.debug("result table init!");
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
39 };
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
40 QueryResultTableComponent.prototype.onSelectNumItems = function (event) {
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
41 var selected = event.target.value;
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
42 console.debug("selected number of items:", selected);
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
43 var num = parseInt(selected);
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
44 if (num == 0) {
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
45 this.itemsPerPage = this.length;
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
46 }
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
47 else {
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
48 this.itemsPerPage = num;
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
49 }
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
50 // update something
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
51 this.config.paging = { 'page': this.currentPage, 'itemsPerPage': this.itemsPerPage };
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
52 this.onChangeTable(this.config);
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
53 };
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
54 QueryResultTableComponent.prototype.onSelectCols = function (event) {
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
55 console.debug("select cols:", this.allColumns);
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
56 this.columns = this.allColumns.filter(function (c) { return c.show; });
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
57 this.config.sorting = this.columns;
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
58 };
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
59 QueryResultTableComponent.prototype.changePage = function (page, data) {
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
60 if (data === void 0) { data = this.data; }
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
61 var start = (page.page - 1) * page.itemsPerPage;
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
62 var end = page.itemsPerPage > -1 ? (start + page.itemsPerPage) : data.length;
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
63 return data.slice(start, end);
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
64 };
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
65 QueryResultTableComponent.prototype.changeSort = function (data, config) {
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
66 if (!config.sorting) {
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
67 return data;
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
68 }
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
69 var columns = this.columns.filter(function (c) { return c.sort; });
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
70 // simple sorting
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
71 var sorted = data.sort(function (previous, current) {
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
72 for (var i = 0; i < columns.length; i++) {
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
73 var sort = columns[i].sort;
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
74 var columnName = columns[i].name;
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
75 if (previous[columnName] > current[columnName]) {
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
76 return sort === 'desc' ? -1 : 1;
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
77 }
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
78 else if (previous[columnName] < current[columnName]) {
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
79 return sort === 'asc' ? -1 : 1;
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
80 }
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
81 }
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
82 return 0;
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
83 });
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
84 return sorted;
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
85 };
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
86 QueryResultTableComponent.prototype.changeFilter = function (data, config) {
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
87 var _this = this;
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
88 if (!config.filtering) {
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
89 return data;
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
90 }
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
91 var filteredData = data.filter(function (item) {
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
92 return item[config.filtering.columnName].match(_this.config.filtering.filterString);
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
93 });
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
94 return filteredData;
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
95 };
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
96 QueryResultTableComponent.prototype.onChangeTable = function (config, page) {
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
97 if (page === void 0) { page = config.paging; }
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
98 console.debug("onChangeTable config=", config, " page=", page);
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
99 if (config.filtering) {
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
100 Object.assign(this.config.filtering, config.filtering);
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
101 }
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
102 if (config.sorting) {
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
103 Object.assign(this.config.sorting, config.sorting);
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
104 // changing sorting resets page
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
105 if (page == null) {
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
106 this.currentPage = 1;
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
107 page = { 'page': this.currentPage, 'itemsPerPage': this.itemsPerPage };
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
108 }
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
109 }
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
110 //let filteredData = this.changeFilter(this.data, this.config);
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
111 //let sortedData = this.changeSort(filteredData, this.config);
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
112 var sortedData = this.changeSort(this.data, this.config);
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
113 this.rows = (page && this.config.paging) ? this.changePage(page, sortedData) : sortedData;
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
114 this.length = sortedData.length;
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
115 };
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
116 QueryResultTableComponent = __decorate([
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
117 core_1.Component({
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
118 selector: 'query-result',
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
119 template: "\n <div *ngIf=\"queryState?.numResults > 0\">\n <span>Cypher query:</span>\n <pre>{{queryState.getQueryText()}}</pre>\n <h2>Query result</h2>\n <pre>{{resultInfo}}</pre>\n <div *ngIf=\"showTable\"><button (click)=\"showTable=false\">hide results</button></div>\n <div *ngIf=\"!showTable\"><button (click)=\"showTable=true\">show results</button></div>\n <div *ngIf=\"showTable\">\n <div>Show \n <select name=\"numItems\" (change)=\"onSelectNumItems($event)\">\n <option value=\"10\">10</option>\n <option value=\"100\">100</option>\n <option value=\"0\">all</option>\n </select>\n results per page.\n </div>\n <div>\n <form (ngSubmit)=\"onSelectCols($event)\">\n Columns:\n <span *ngFor=\"let col of allColumns\">\n <input type=\"checkbox\" name=\"col{{col.name}}\" value=\"{{col.name}}\" [(ngModel)]=\"col.show\">{{col.name}}\n </span> \n <button type=\"submit\">change columns</button>\n </form>\n </div>\n <pagination *ngIf=\"config.paging\" class=\"pagination-sm\"\n [(ngModel)]=\"currentPage\"\n [totalItems]=\"length\"\n [itemsPerPage]=\"itemsPerPage\"\n [maxSize]=\"maxSize\"\n [boundaryLinks]=\"true\"\n [rotate]=\"false\"\n (pageChanged)=\"onChangeTable(config, $event)\"\n (numPages)=\"numPages = $event\">\n </pagination>\n <ng-table \n [config]=\"config\"\n (tableChanged)=\"onChangeTable($event)\"\n [rows]=\"rows\" [columns]=\"columns\">\n </ng-table>\n </div>\n </div>\n <div *ngIf=\"!(queryState?.numResults > 0)\">\n <h2>No results found</h2>\n </div>\n ",
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
120 inputs: ['queryState', 'resultInfo']
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
121 }),
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
122 __metadata('design:paramtypes', [])
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
123 ], QueryResultTableComponent);
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
124 return QueryResultTableComponent;
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
125 }());
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
126 exports.QueryResultTableComponent = QueryResultTableComponent;
3b4046e0cc02 Merge from ng2-table branch.
casties
parents:
diff changeset
127 //# sourceMappingURL=query-result-table.component.js.map