This is an automated email from the ASF dual-hosted git repository. xxyu pushed a commit to branch kylin5 in repository https://gitbox.apache.org/repos/asf/kylin.git
commit 24e0d25b7e4b8ada9eaad09eb9fa2a65b41d70e1 Author: Qian Xia <lauraxiaq...@gmail.com> AuthorDate: Wed Jul 5 15:15:48 2023 +0800 KYLIN-5593 hide column data when has not data permission --- .../StudioSource/TableSamples/TableSamples.vue | 22 +++++++++++++++++----- .../studio/StudioSource/TableSamples/locales.js | 3 ++- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/kystudio/src/components/studio/StudioSource/TableSamples/TableSamples.vue b/kystudio/src/components/studio/StudioSource/TableSamples/TableSamples.vue index ab7a4580d0..9ed87b54ec 100644 --- a/kystudio/src/components/studio/StudioSource/TableSamples/TableSamples.vue +++ b/kystudio/src/components/studio/StudioSource/TableSamples/TableSamples.vue @@ -1,6 +1,6 @@ <template> <div class="table-sample"> - <div v-if="table.last_build_job_id || pagedColumns.length"> + <div v-if="(table.last_build_job_id || pagedColumns.length) && extPermissions"> <div class="columns-header"> <div class="left font-medium"> {{$t('version')}}{{table.create_time | toGMTDate}} @@ -25,15 +25,22 @@ </el-table-column> </el-table> </div> - <kylin-empty-data v-if="!table.last_build_job_id&&!pagedColumns.length" :content="$t('noSampling')"> - </kylin-empty-data> - <kylin-nodata v-if="(table.last_build_job_id || pagedColumns.length)&&!headers.length&&this.filterText" :content="$t('kylinLang.common.noResults')"></kylin-nodata> - </div> + <template v-if="extPermissions"> + <kylin-empty-data v-if="!table.last_build_job_id&&!pagedColumns.length" :content="$t('noSampling')"> + </kylin-empty-data> + <kylin-nodata v-if="(table.last_build_job_id || pagedColumns.length)&&!headers.length&&this.filterText" :content="$t('kylinLang.common.noResults')"></kylin-nodata> + </template> + <template v-else> + <kylin-empty-data v-if="table.last_build_job_id" :content="$t('noExtPermissions')" /> + <kylin-empty-data v-else :content="$t('noSampling')" /> + </template> + </div> </template> <script> import Vue from 'vue' import { Component } from 'vue-property-decorator' +import { mapState } from 'vuex' import locales from './locales' @@ -43,6 +50,11 @@ import locales from './locales' type: Object } }, + computed: { + ...mapState({ + extPermissions: state => state.user.ext_permissions + }) + }, locales }) export default class TableSamples extends Vue { diff --git a/kystudio/src/components/studio/StudioSource/TableSamples/locales.js b/kystudio/src/components/studio/StudioSource/TableSamples/locales.js index 8235093203..003c28780e 100644 --- a/kystudio/src/components/studio/StudioSource/TableSamples/locales.js +++ b/kystudio/src/components/studio/StudioSource/TableSamples/locales.js @@ -4,6 +4,7 @@ export default { filterColumns: 'Search columns', pageRange: 'Columns {pageRange}', noSampling: 'The table hasn\'t been sampled yet. Statistical information (cardinality, sample data, etc.) gathered by sampling could help design the model. ', - noSamplingData: 'No sampling results' + noSamplingData: 'No sampling results', + noExtPermissions: 'The table has been sampled. The current user does not have data permissions, so sampled data is not displayed.' } }