[AAE-1564][DW-1654] improved datatable schema (#5408)

* improved datatable schema

* collect all runtime columns
This commit is contained in:
Denys Vuika
2020-01-28 14:08:18 +00:00
committed by GitHub
parent 1754baa111
commit d09373501f
3 changed files with 110 additions and 55 deletions

View File

@@ -356,7 +356,9 @@ export class DataTableComponent implements AfterContentInit, OnChanges, DoCheck,
}
private initTable() {
this.data = new ObjectDataTableAdapter(this.rows, this.columns);
const runtimeColumns = this.getRuntimeColumns();
this.data = new ObjectDataTableAdapter(this.rows, runtimeColumns);
this.setTableSorting(this.sorting);
this.resetSelection();
this.rowMenuCache = {};
@@ -373,18 +375,18 @@ export class DataTableComponent implements AfterContentInit, OnChanges, DoCheck,
}
}
private setTableSchema() {
let schema = [];
if (!this.columns || this.columns.length === 0) {
schema = this.getSchemaFromHtml();
} else {
schema = this.columns.concat(this.getSchemaFromHtml());
private getRuntimeColumns(): any[] {
return [
...(this.columns || []),
...this.getSchemaFromHtml()
];
}
this.columns = schema;
private setTableSchema() {
const columns = this.getRuntimeColumns();
if (this.data && this.columns && this.columns.length > 0) {
this.data.setColumns(this.columns);
if (this.data && columns.length > 0) {
this.data.setColumns(columns);
}
}

139
package-lock.json generated
View File

@@ -5,9 +5,9 @@
"requires": true,
"dependencies": {
"@alfresco/adf-cli": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/@alfresco/adf-cli/-/adf-cli-3.6.0.tgz",
"integrity": "sha512-HewDSVxz+BGqSTlooOj2jgnX5g5lNSXwsI8K+eqr55s12ku7AeX0JRFxrvVz20v/2efGMnwHHXGfF8tbdCChnA==",
"version": "3.7.0-beta6",
"resolved": "https://registry.npmjs.org/@alfresco/adf-cli/-/adf-cli-3.7.0-beta6.tgz",
"integrity": "sha512-WT017HhsUNMUO2ojzonI2DX3oJGezdUQifuwABIb3cnnW7QXiOd+mWXnZ1gOt2ziS+4ImRNI8P2c7LK8k+fQWA==",
"requires": {
"@angular-devkit/core": "^7.2.15",
"commander": "^4.0.0",
@@ -20,69 +20,69 @@
}
},
"@alfresco/adf-content-services": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/@alfresco/adf-content-services/-/adf-content-services-3.6.0.tgz",
"integrity": "sha512-npEPJ4eAIalIWd4lmTltYiS3XyLdagzfqDUfC9oHwFz8QfX7y8mUtaSDBVYqTGRm3lZ7vElczfsbuKlknLaxog==",
"version": "3.7.0-beta6",
"resolved": "https://registry.npmjs.org/@alfresco/adf-content-services/-/adf-content-services-3.7.0-beta6.tgz",
"integrity": "sha512-7gaU1GbIt0iboneXFyyT8UONHro1Gt6x5bcmo0iXNUzfbo3bFwieLOp8fs3JwuWDYZbsOrkqVC0mVnWTZvG5SA==",
"requires": {
"tslib": "^1.9.0"
}
},
"@alfresco/adf-core": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/@alfresco/adf-core/-/adf-core-3.6.0.tgz",
"integrity": "sha512-WlYvxuBpJ6sug5iPfJprdWDZcDtJ7Y6/SFzEchEhan30O4Efb/MgWY+3s1nCsIwX0eYhyv8pj9NHQjHNjPotLw==",
"version": "3.7.0-beta6",
"resolved": "https://registry.npmjs.org/@alfresco/adf-core/-/adf-core-3.7.0-beta6.tgz",
"integrity": "sha512-TGm3HWU6KEgAwhIOVSp7LsHzxFL30FEt6cFjp7RCDxcBn6yFO3RYUihbIrihd4QWpbIjLwxDdqCCzFneQyBQ1Q==",
"requires": {
"tslib": "^1.9.0"
}
},
"@alfresco/adf-extensions": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/@alfresco/adf-extensions/-/adf-extensions-3.6.0.tgz",
"integrity": "sha512-/B2+TKrjQswXsTkkuU7qgK9Ud8Wn02bZRgRuKZiPwUxIo8s4wSMZpgWkfrIw58WDNDiL/MDgDeNiCrpxxrzdow==",
"version": "3.7.0-beta6",
"resolved": "https://registry.npmjs.org/@alfresco/adf-extensions/-/adf-extensions-3.7.0-beta6.tgz",
"integrity": "sha512-/F5GiUDQUEscS0hRG0979LG5DbVbyTZIEkg+l43dzASSydLde+ThXXDSEo1GfOZCK+ddeb26nflBlitC0/UU3A==",
"requires": {
"tslib": "^1.9.0"
}
},
"@alfresco/adf-insights": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/@alfresco/adf-insights/-/adf-insights-3.6.0.tgz",
"integrity": "sha512-MnrunA1KpM+B5NBRhY1yxcm/51l331JhEn5+5F3UEw4X+MjYLpAdgwTmYLdmO5LHkG76NjLiLDLlzJxMV7ITjA==",
"version": "3.7.0-beta6",
"resolved": "https://registry.npmjs.org/@alfresco/adf-insights/-/adf-insights-3.7.0-beta6.tgz",
"integrity": "sha512-DUgZpacpcenfvaoHU2KhcC27QPTPYt3O2TZXUfENrJ3WCeBqrc0DYjMaUGXnXPaufnS6+zSe6T6MJqn+S7XUUg==",
"requires": {
"tslib": "^1.9.0"
}
},
"@alfresco/adf-process-services": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/@alfresco/adf-process-services/-/adf-process-services-3.6.0.tgz",
"integrity": "sha512-Q57YvCpWlLmcKd4Mjrd9oRqSEImO/lDDDMxT9JpIueGq9xgsYOApN6C6fKxzy/+VFYiFEuBNCICmNkK51wUz/A==",
"version": "3.7.0-beta6",
"resolved": "https://registry.npmjs.org/@alfresco/adf-process-services/-/adf-process-services-3.7.0-beta6.tgz",
"integrity": "sha512-vq13EM06RS0lJXQ8RzbGC6iBcPJEQugUYLP/JVAAPrTUugbGMrMF/kbuIclLDbzOUjfbGREQLinryhfL+y1WQw==",
"requires": {
"tslib": "^1.9.0"
}
},
"@alfresco/adf-process-services-cloud": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/@alfresco/adf-process-services-cloud/-/adf-process-services-cloud-3.6.0.tgz",
"integrity": "sha512-AZJMrWxH0ldT5QBTl/5eObQX94j7ydJvaWxrXs0p9WDZdzl5A7VTds7zYueveQV2lDSO3cBo6wq2/lgrhZPnJw==",
"version": "3.7.0-beta6",
"resolved": "https://registry.npmjs.org/@alfresco/adf-process-services-cloud/-/adf-process-services-cloud-3.7.0-beta6.tgz",
"integrity": "sha512-FNfTITThu3+bSM96Q15cjNIOWMDt5aQTgykaNkFRuL6vFpInPZdJ49S4BCK3dAOxe/T7MqxpEgAfopZvxR1DOw==",
"requires": {
"tslib": "^1.9.0"
}
},
"@alfresco/adf-testing": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/@alfresco/adf-testing/-/adf-testing-3.6.0.tgz",
"integrity": "sha512-9m/EZCi2sQbxbl1HAmgW8ZKfaLPLOhhHOaklToWcJLmyWeREmln10Y5jemUvU8FfBsQ0C+5lTZ35J/Q46XKFpA==",
"version": "3.7.0-beta6",
"resolved": "https://registry.npmjs.org/@alfresco/adf-testing/-/adf-testing-3.7.0-beta6.tgz",
"integrity": "sha512-DU2B8qxVBoEXe/ZajFhgh2AmqFYDls7rsw2E3gzqz70hCmSITXnUU3oymdb5FUR9tkfBwrVp31iLrPg8xTwbZA==",
"requires": {
"tslib": "^1.9.0"
}
},
"@alfresco/js-api": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/@alfresco/js-api/-/js-api-3.6.0.tgz",
"integrity": "sha512-aXc4twC3jDTZqyyhrlQX5DvyuSAnsfmZ7LT03itm/II9EqFEHcpXGWzyOA2VyZSyfuYz5e13KuM6v1VqBZxCwQ==",
"version": "3.7.0-ea98d9e6f1c7110805b9f4a4cb2d05821a0bd5e6",
"resolved": "https://registry.npmjs.org/@alfresco/js-api/-/js-api-3.7.0-ea98d9e6f1c7110805b9f4a4cb2d05821a0bd5e6.tgz",
"integrity": "sha512-XCn3ikVi9YwKhh5bcJ8JKvStLz0sOPFMYnzALtCzyBe0nKhRB0Qvis0WyW52Bb1H0JoUeIlByvpsnGdgDrqMiw==",
"requires": {
"event-emitter": "^0.3.5",
"minimatch": "3.0.4",
"superagent": "^3.8.2"
"superagent": "^5.1.2"
}
},
"@angular-devkit/architect": {
@@ -6264,6 +6264,11 @@
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
"integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc="
},
"fast-safe-stringify": {
"version": "2.0.7",
"resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz",
"integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA=="
},
"fastparse": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz",
@@ -10716,7 +10721,8 @@
"mime": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
"integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
"integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
"dev": true
},
"mime-db": {
"version": "1.40.0",
@@ -13624,7 +13630,8 @@
"qs": {
"version": "6.7.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
"integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ=="
"integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==",
"dev": true
},
"querystring": {
"version": "0.2.0",
@@ -16795,20 +16802,66 @@
}
},
"superagent": {
"version": "3.8.3",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.3.tgz",
"integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==",
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-5.2.1.tgz",
"integrity": "sha512-46b4Lkwnlz7Ebdv2FBbfuqb3kVkG1jV/SK3EW6NnwL9a3T4h5hHtegNEQfbXvTFbDoUZXId4W3dMgap2f6ic1g==",
"requires": {
"component-emitter": "^1.2.0",
"cookiejar": "^2.1.0",
"debug": "^3.1.0",
"extend": "^3.0.0",
"form-data": "^2.3.1",
"formidable": "^1.2.0",
"methods": "^1.1.1",
"mime": "^1.4.1",
"qs": "^6.5.1",
"readable-stream": "^2.3.5"
"component-emitter": "^1.3.0",
"cookiejar": "^2.1.2",
"debug": "^4.1.1",
"fast-safe-stringify": "^2.0.7",
"form-data": "^3.0.0",
"formidable": "^1.2.1",
"methods": "^1.1.2",
"mime": "^2.4.4",
"qs": "^6.9.1",
"readable-stream": "^3.4.0",
"semver": "^6.3.0"
},
"dependencies": {
"debug": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
"integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
"requires": {
"ms": "^2.1.1"
}
},
"form-data": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz",
"integrity": "sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==",
"requires": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
"mime-types": "^2.1.12"
}
},
"mime": {
"version": "2.4.4",
"resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz",
"integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA=="
},
"qs": {
"version": "6.9.1",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.9.1.tgz",
"integrity": "sha512-Cxm7/SS/y/Z3MHWSxXb8lIFqgqBowP5JMlTUFyJN88y0SGQhVmZnqFK/PeuMX9LzUyWsqqhNxIyg0jlzq946yA=="
},
"readable-stream": {
"version": "3.5.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.5.0.tgz",
"integrity": "sha512-gSz026xs2LfxBPudDuI41V1lka8cxg64E66SGe78zJlsUofOg/yqwezdIcdfwik6B4h8LFmWPA9ef9X3FiNFLA==",
"requires": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
"util-deprecate": "^1.0.1"
}
},
"semver": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
}
}
},
"supports-color": {

View File

@@ -84,7 +84,7 @@
"@alfresco/adf-process-services": "3.7.0-beta6",
"@alfresco/adf-process-services-cloud": "3.7.0-beta6",
"@alfresco/adf-testing": "3.7.0-beta6",
"@alfresco/js-api": "3.7.0-beta6",
"@alfresco/js-api": "3.7.0-ea98d9e6f1c7110805b9f4a4cb2d05821a0bd5e6",
"@angular/animations": "^7.2.15",
"@angular/cdk": "7.3.7",
"@angular/common": "^7.2.15",