I have a kendo wrapper grid with local datasource pointing to vue state.
There is a button "Update" which will update the state so that the grid will be updated as well and it works.
But, if I firstly click the button "Test" (just only a same value assignment to state) and then click "Update", strangely it does not work so the grid has no change.
I finally found out the reason is that after clicked "Test" then "Update", the vue state updated BUT the kendo grid datasource won't (out of sync unexpectedly)
So the temp solution is I have to manually assign the state to the datasource so that the grid will be updated.
Repo: https://stackblitz.com/edit/dqsbeo
My question is why, after clicked 'Test', the kendo grid datasource became cached and out of sync with the vue state?
If I don't click 'Test', they do sync always.
Problem occur only when "same value assignment" to the state. If "different value assignment", no problem.
<div id="vueapp">
<kendo-datasource ref="dsDS" :data="localDataSource"></kendo-datasource>
<kendo-grid :data-source-ref="'dsDS'">
<kendo-grid-column :field="'ProductID'"
:title="'ID'"
:width="40"></kendo-grid-column>
<kendo-grid-column :field="'ProductName'"></kendo-grid-column>
<kendo-grid-column :field="'UnitPrice'"
:title="'Unit Price'"
:width="120"
:format="'{0:c}'"></kendo-grid-column>
<kendo-grid-column :field="'UnitsInStock'"
:title="'Units In Stock'"
:width="120"></kendo-grid-column>
<kendo-grid-column :field="'Discontinued'" :width="120"></kendo-grid-column>
</kendo-grid>
<input type="button" value="Test" @click="test" />
<input type="button" value="Update" @click="update" />
</div>
new Vue({
el: '#vueapp',
data: {
localDataSource: [{
"ProductID": 1,
"ProductName": "Chai",
"UnitPrice": 18,
"UnitsInStock": 39,
"Discontinued": false,
},
{
"ProductID": 2,
"ProductName": "Chang",
"UnitPrice": 17,
"UnitsInStock": 40,
"Discontinued": false,
},
{
"ProductID": 3,
"ProductName": "Aniseed Syrup",
"UnitPrice": 10,
"UnitsInStock": 13,
"Discontinued": false,
}
]
},
methods: {
test: function(e) {
this.localDataSource = JSON.parse(JSON.stringify(this.localDataSource)); //same value assignment
console.log('test');
},
update: function(e) {
this.localDataSource.splice(0, 1, this.localDataSource[1]); //replace the first object with second object
},
}
})
When you sort a column in the spreadsheet, enter data, and then trigger the data source's sync method, the data source will send incorrect data to it's transport function. It acts as if you entered data and the columns haven't been sorted yet.
The data source should take into account column sorting for keeping track of changes.
Apologies if I have misunderstood how the data source is suppose to work.
Thanks
Hi. I would like to share my experience and thought of Kendo for Vue.
I still like and am using Kendo for Vue but here is my feedback :)
I reviewed the Kendo Vue version and made a purchase.
However, as a result of evaluating, there are some areas that are a bit disappointing.
It seemed that there were most of the templates that could be used in jQuery.
Checking with the Vue version, most of the examples and event handling are not written, and there are much information that I have to go and check with jQuery version.
If it is enough description and information about Direct code that can use examples and event handling in Vue version
in detail on the site, it would be much easier to use.
Thank you.
The Kendo UI for Vue Scheduler Wrapper doesn't support year view which is available in the jQuery suite.
To reproduce the issue follow the below steps:
Expected behavior
The "Year" view should be available in the Kendo UI for Vue Scheduler Wrapper
Hi,
Please consider adding a better, native, way to handle the case as described in my post here.
hhttps://stackblitz.com/edit/kgeavu?file=src/main.vue
the console.log is observed even when selecting other tabs.
Any roadmap on creating the dock layout like this? I found the similar function for Telerik WPF component
The Native NumericTextBox doesn't have the 'k-state-focused' class applied to it, once the component is focused.
For comparison, the Angular and React versions of the same component get this class applied.
React: https://www.telerik.com/kendo-react-ui/components/inputs/numerictextbox/
Angular: https://www.telerik.com/kendo-angular-ui/components/inputs/numerictextbox/
Currently in Vue we don't provide the ability to share with the customers the source code before the compilation but just the already compiled code.
We need to provide the ability to fork the repository and build components from the Vue repository similarly to the way it is done in Angular and React.
Bug report:
https://stackblitz.com/edit/bbuqh1?file=src/main.vue
Steps:
Focus the input, type some text and blur -
Current:
an warning is observed in the console and the types string is passed to the change event.
Expected:
an warning is observed in the console and the types string SHOULD NOT BE passed to the change event.
In a scenario when a mouse is connected to an iPad, using the mouse, we cannot switch the states of the Switch component.
If the screen is touched, the Switch is correctly switching position.
Here is a video demonstrating the issue:
kendoswitch-rpreplay-final1635815724-mp4.zip
Describe the bug
When defining a custom editor Template for the Scheduler(wrapper) component we define the value passed to the editable-template property as follows:
editorTemplate(data: any): any {
return {
template: EditEventTemplateComponent,
templateArgs: Object.assign({}, data, {
parentComponent: schedulerRef.value,
}),
};
}
With the above definition, in the EditEventTemplateComponent, the templateArgs cannot be accessed inside the setup function, when the Composition API is used. In the mean time, the templateArgs are accessible in the template of the EditEventTemplateComponent.
To Reproduce
Expected behavior
The templateArgs should be accessible inside the setup function when using Composition API.
When using the Drawer component in Kendo UI for Vue, it expands from the wrong side the first time is it toggled if expanded: false and overlay:true
This can be reproduced on the Display Modes example by clicking Edit in StackBlitz, changing the initial value of expanded from true to false (line 92), and toggling the drawer in overlay mode.
After it has been toggled once, it then expands in the correct direction.
It does work correctly if I use "rtl" direction instead of "ltr".
https://stackblitz.com/edit/gv4uwk?file=src/main.vue
Focus the initial input then press tab
the stepper is focused yet it does not change visually so we know it
expected:
There is a visual initial representation of the focused component
Describe the bug
When the Localization and Intl Providers are used in Vue 2 with Composition API, there is an error in the browser's console that appears initially, before any user interaction. The error is "[Vue warn]: Error in data(): "TypeError: ref is not a function"". After this error appears, no matter what values are passed to both the Localization and Intl components, the are not functioning.
To Reproduce
Expected behavior
The Localization and Intl Providers should work correctly in both options and composition API contexts