From d09373501f950cdba422692298f9f01c96afc256 Mon Sep 17 00:00:00 2001 From: Denys Vuika Date: Tue, 28 Jan 2020 14:08:18 +0000 Subject: [PATCH] [AAE-1564][DW-1654] improved datatable schema (#5408) * improved datatable schema * collect all runtime columns --- .../datatable/datatable.component.ts | 24 +-- package-lock.json | 139 ++++++++++++------ package.json | 2 +- 3 files changed, 110 insertions(+), 55 deletions(-) diff --git a/lib/core/datatable/components/datatable/datatable.component.ts b/lib/core/datatable/components/datatable/datatable.component.ts index 5d7dc7b11b..82ed8108a1 100644 --- a/lib/core/datatable/components/datatable/datatable.component.ts +++ b/lib/core/datatable/components/datatable/datatable.component.ts @@ -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 getRuntimeColumns(): any[] { + return [ + ...(this.columns || []), + ...this.getSchemaFromHtml() + ]; + } + private setTableSchema() { - let schema = []; - if (!this.columns || this.columns.length === 0) { - schema = this.getSchemaFromHtml(); - } else { - schema = this.columns.concat(this.getSchemaFromHtml()); - } + const columns = this.getRuntimeColumns(); - this.columns = schema; - - if (this.data && this.columns && this.columns.length > 0) { - this.data.setColumns(this.columns); + if (this.data && columns.length > 0) { + this.data.setColumns(columns); } } diff --git a/package-lock.json b/package-lock.json index d7195174ad..5c95ed6baf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -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": { diff --git a/package.json b/package.json index 60fb1e3ab4..858f8cd531 100644 --- a/package.json +++ b/package.json @@ -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",