diff --git a/package.json b/package.json index d0b74706..6e8bcc79 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@soramitsu/soramitsu-js-ui", - "version": "0.8.8", + "version": "0.8.9", "private": false, "publishConfig": { "registry": "https://nexus.iroha.tech/repository/npm-soramitsu/" diff --git a/src/components/Pagination/SPagination.vue b/src/components/Pagination/SPagination.vue index bb06f139..3ffd34a1 100644 --- a/src/components/Pagination/SPagination.vue +++ b/src/components/Pagination/SPagination.vue @@ -107,6 +107,18 @@ export default class SPagination extends Mixins(BorderRadiusMixin) { * `false` by default */ @Prop({ default: false, type: Boolean }) readonly hideOnSinglePage!: boolean + /** + * Text for 'Rows per page' text + * + * `Per page text` by default + */ + @Prop({ default: 'Rows per page', type: String }) readonly perPageText!: string + /** + * Text for 'Total' text + * + * `Total` by default + */ + @Prop({ default: 'Total', type: String }) readonly totalText!: string @Ref('pagination') pagination!: any @@ -134,13 +146,17 @@ export default class SPagination extends Mixins(BorderRadiusMixin) { } private renderPaginationItems (): void { - if (this.totalItem && this.total) { - const upperNumber = this.pageSizeModel * this.currentPageModel - this.totalItem.textContent = `${upperNumber - this.pageSizeModel + 1}—${upperNumber > this.total ? this.total : upperNumber} of ${this.total}` + if (this.totalItem) { + if (this.total) { + const upperNumber = this.pageSizeModel * this.currentPageModel + this.totalItem.textContent = `${upperNumber - this.pageSizeModel + 1}—${upperNumber > this.total ? this.total : upperNumber} of ${this.total}` + } else { + this.totalItem.textContent = `${this.totalText} ${this.total}` + } } if (this.sizesItem && !this.sizesLabelItem) { const itemsPerPageText = document.createElement('span') - itemsPerPageText.textContent = 'Rows per page' + itemsPerPageText.textContent = this.perPageText itemsPerPageText.classList.add('per-page-text') this.pagination.$el.insertBefore(itemsPerPageText, this.sizesItem) } diff --git a/src/components/Table/SHierarchicalTable.vue b/src/components/Table/SHierarchicalTable.vue index e0af3c06..b9a6c6e1 100644 --- a/src/components/Table/SHierarchicalTable.vue +++ b/src/components/Table/SHierarchicalTable.vue @@ -15,6 +15,7 @@ @select-all="handleSelectAll" @selection-change="handleSelectionChange" @row-click="row => $emit('row-click', row, level)" + :empty-text="emptyText" > [], type: Array }) readonly path!: Array + /** + * A message for an empty data array. + * + * By default it's set to `"No data"` + */ + @Prop({ default: 'No data', type: String }) readonly emptyText!: string handleSelect (selection: Array, row: any): void { this.$emit('select', selection, row)