New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Problem with table headers and dates moving from 0.9.25 to 0.9.27 #3971
Comments
@Verdoso I think the following PR that I made could have caused the problem. I will do some investigation. |
@Verdoso Could you share the full table markup? |
Hi there,
With this table, the way to see the problem is that the pagination is gone and replaced with an "undefined". Cheers! |
@Verdoso I found that the problem that the pagination control became I will continue the investigation. |
I found the pagination control error likely depended on the Vue template compiler that the bundler of Buefy was using. |
I found the codes generated around the pagination control in the Table component were slightly different. Maybe, vue-template-compiler@2.7.0:
vue-template-compiler@2.6.14:
|
It seems to work both on Vue 2.6.x and 2.7.x if components are built with |
I see, nice work digging it. It would seem that passing a function that returns an array does not work whereas passing the array directly does. Is that an issue with how Buefy constructs things? Or is that a bug in vue-template-compiler? Meaning, is that something that Buefy can solve or will it depend on vue-template-compiler fixing something? Not every component is broken, so maybe there is something in those components (pagination,date picker) that causes the template compiler to work differently. |
@Verdoso I found this comment of a Vue core team member, which also answers your question:
It means Buefy has to stick to |
Cool! |
@Verdoso I am also working on the other issue where column widths were doubly applied. Here is my test component: <template>
<div class="container is-max-desktop">
<b-table
:data="data"
:paginationSimple="true"
:paginated="true"
:pagination-position="'top'"
:per-page="10"
>
<b-table-column
field="code"
label="Code"
width="10%"
sortable
searchable
numeric
>
<template v-slot="props">
{{ props.row.code }}
</template>
</b-table-column>
<b-table-column
field="name"
label="Name"
width="20%"
sortable
searchable
>
<template v-slot="props">
{{ props.row.name }}
</template>
</b-table-column>
<b-table-column field="email" label="Email" sortable searchable>
<template v-slot="props">
{{ props.row.email }}
</template>
</b-table-column>
</b-table>
</div>
</template>
<script>
export default {
data() {
return {
data: [
{ code: 1, name: 'John Doe', email: 'johndoe@example.com' },
{ code: 2, name: 'Jane Doe', email: 'janedoe@example.com' },
{ code: 3, name: 'John Smith', email: 'johnsmith@example.com' },
{ code: 4, name: 'Jane Smith', email: 'janesmith@example.com' },
{ code: 5, name: 'Jack Daniel', email: 'jackdaniel@example.com' }
]
}
}
}
</script> I got this before my fix (v0.9.27): |
- Fixes the issue that the pagination control of `BTable` rendered as "undefined". It seems that some code generated by `vue-template-compiler` v2.7.x does not work on Vue v2.6.x, but that generated by `vue-template-compiler` v2.6.x seems to work both on v2.6.x and v2.7.x. According to the comment of a Vue core team member, we have to use `vue-template-compiler` corresponding to the minimum Vue version we want to support; i.e., v2.6.11 for Buefy. See buefy#3971 (comment) So lowers the version of `vue` and `vue-template-compiler` to 2.6.11. issue buefy#3971
- Fixes the issue that column widths were doubly applied when they were given in percentage ('%'). Interestingly, percentage widths have effect on `<th>` elements in contrast to absolute values; e.g., 200px. So we won't apply the column widths given in percentage to `.th-wrap` elements to prevent widths from being doubly applied. issue buefy#3971
#3971) (#3986) * fix(lib): lower Vue version to 2.6.11 - Fixes the issue that the pagination control of `BTable` rendered as "undefined". It seems that some code generated by `vue-template-compiler` v2.7.x does not work on Vue v2.6.x, but that generated by `vue-template-compiler` v2.6.x seems to work both on v2.6.x and v2.7.x. According to the comment of a Vue core team member, we have to use `vue-template-compiler` corresponding to the minimum Vue version we want to support; i.e., v2.6.11 for Buefy. See #3971 (comment) So lowers the version of `vue` and `vue-template-compiler` to 2.6.11. issue #3971 * fix(lib): percentage width on columns doubly applied - Fixes the issue that column widths were doubly applied when they were given in percentage ('%'). Interestingly, percentage widths have effect on `<th>` elements in contrast to absolute values; e.g., 200px. So we won't apply the column widths given in percentage to `.th-wrap` elements to prevent widths from being doubly applied. issue #3971
#3971) (#3986) * fix(lib): lower Vue version to 2.6.11 - Fixes the issue that the pagination control of `BTable` rendered as "undefined". It seems that some code generated by `vue-template-compiler` v2.7.x does not work on Vue v2.6.x, but that generated by `vue-template-compiler` v2.6.x seems to work both on v2.6.x and v2.7.x. According to the comment of a Vue core team member, we have to use `vue-template-compiler` corresponding to the minimum Vue version we want to support; i.e., v2.6.11 for Buefy. See #3971 (comment) So lowers the version of `vue` and `vue-template-compiler` to 2.6.11. issue #3971 * fix(lib): percentage width on columns doubly applied - Fixes the issue that column widths were doubly applied when they were given in percentage ('%'). Interestingly, percentage widths have effect on `<th>` elements in contrast to absolute values; e.g., 200px. So we won't apply the column widths given in percentage to `.th-wrap` elements to prevent widths from being doubly applied. issue #3971
buefy#3971) (buefy#3986) * fix(lib): percentage width on columns doubly applied - Fixes the issue that column widths were doubly applied when they were given in percentage ('%'). Interestingly, percentage widths have effect on `<th>` elements in contrast to absolute values; e.g., 200px. So we won't apply the column widths given in percentage to `.th-wrap` elements to prevent widths from being doubly applied. issue buefy#3971
buefy#3971) (buefy#3986) * fix(lib): percentage width on columns doubly applied - Fixes the issue that column widths were doubly applied when they were given in percentage ('%'). Interestingly, percentage widths have effect on `<th>` elements in contrast to absolute values; e.g., 200px. So we won't apply the column widths given in percentage to `.th-wrap` elements to prevent widths from being doubly applied. issue buefy#3971
Hi there,
Due to a misconfiguration on my side, I had specified the buefy version starting with ^ so the app "upgraded" automatically, I found out that there is some change in the 0.9.27 version that breaks the UI without any error, log, trace or clue what's going on.
The symptoms I have sees so far are that table header search boxes and data pickers are broken.
For example:
0.9.25
0.9.27
0.9.25
0.9.27
This is just changing "buefy": "0.9.25", to "buefy": "0.9.27".
I can see there are some changes in the DOM in the headers, for example:
0.9.25
0.9.27
The table header itself is defined as follows:
So maybe there are some incompatibilities or other libraries to upgrade that I'm not aware of, I did not see anything about having to upgrade anything else in the changelog.
Anybody has seen this also? Any clue on what might be happening?
Also, a warning for those of you using 0.9.2X and do not specify ONE version, you might run into the same issue so be careful 😄
Cheers!
D.
Buefy version: 0.9.27
Vuejs version: 2.6.12
AFAIK All OS/All browsers:
The text was updated successfully, but these errors were encountered: