Knockout Support
Hi there,
Is there any knockout3 support for your javascript controls?
I find that the knockout 2 implementations are extremely old, no other control sets I use, devextreme etc use knockout 2?
If this is the case are there any third party devs working on ko3 binders to your javascript controls?
Regards
Jason
SIGN IN To post a reply.
12 Replies
SI
Silambarasan I
Syncfusion Team
March 29, 2017 12:42 PM UTC
Hi Jason,
Thank you for using Syncfusion products.
We have checked your query and we would like to let you know that, our Syncfusion JavaScript components are supported and compatible with Knockout 3.0 version.
Regards,
Silambarasan
JA
Jason
March 29, 2017 06:46 PM UTC
The version of Knockout that comes with syncfusion, i.e. in the ..\assets\external\knockout.min.js file is version 2 of knockout.If I use knockout 3.4.2 for the kanban board in my view like so...... ...and in the viewmodel like so... self.columns = ko.observable([]); self.ejKanban_options = { columns: ko.pureComputed(function () { return self.columns() }), };self.init = function(data){ var a = []; $.each(data.Board.Columns, function (i, column) { a.push({ headerText: column.Name, key: column.BoardColumnId }); }); self.columns(a);}I get error.... Failed to execute 'replaceChild' on Node: parameter 2 is not of type 'Node'So what is wrong with this very basic method of creating custom columns using an observable.
SK
Shanmugaraja K
Syncfusion Team
March 30, 2017 12:36 PM UTC
Hi Jason,
We have checked your query. The issue was not reproduced with knockout 3.4.2 version in our end. Please check the below sample.
Sample Link: http://www.syncfusion.com/downloads/support/forum/129693/ze/knockout_kanban_sample1825810346
If still reproduce the same issue in the above sample, please get back to us with more information. So that we can work on this and provide you a better solution quickly.
Regards,
Shanmugaraja K
JA
Jason
March 30, 2017 07:28 PM UTC
OK if the columns observablearray is empty i.e. columns = observableArray([]); then you set the array with the columns needed I get the replaceChild error.
I can workaround this at my end I think, but I wonder if this is still a bug?
The idea is that the form is empty, i.e. has no columns, until data has been loaded via ajax with the board configuration
JA
Jason
March 31, 2017 12:14 AM UTC
There seems to be some issue with using knockout with the data and columns.....
I have an object in my viewmodel...
self.ejKanban_options = {
dataSource: self.tasks,
columns: self.columns,
fields: {
content: "Subject",
primaryKey: "TaskId"
},
keyField: "BoardColumnId"
};
and I add columns and tasks using an Ajax.Get...
function fillBoard (board){
var a = [];
var kb = $('.kanbanboard').data('ejKanban');
//Set the columns observable array
$.each(board.Board.Columns, function (i, column) {
a.push({ headerText: column.Name, key: column.BoardColumnId });
});
self.columns(a);
//Set the Task Data
var kb = $('.kanbanboard').data('ejKanban');
var dataManager = new ej.DataManager(board.Tasks);
self.tasks(dataManager);
}
Now this will in fact show the columns as it should, however the tasks are not showing up in the columns, but they are in the internal array of the ejKanban board.
Now after much testing, I find that if I set the columns observable with some data first
self.columns = ko.observableArray([{ headerText: "test", key: "45064E8E-6F88-459D-BA74-B8721F1E15C8" }, { headerText: 'Planned', key: 'EBED51D0-FA68-49C6-830D-EE72B30E7BA0' }]);
the task data is populated into the two columns I have pre added to the board before my ajax event, these two columns are in fact removed and new columns are added, but the two columns with the keys that were set in the initialization of the kanban control work, however the other columns with new keys do not work. As its if there is an internal array of ids being used to filter the tasks that isn't being refreshed when the columns are updated?
I could not get the
JA
Jason
March 31, 2017 12:31 AM UTC
It appears after looking at the kanban object through console, that two objects are not being updated, one is keyPredicates, if I remove an object from the initial columns object this relects what is in the initial columns object.
Also the _cloneQuery.queries[1] object has the same predicate objects in it.
JA
Jason
March 31, 2017 01:57 AM UTC
if I do this....
this will remove the queries (Predicates)
kb.model.query.queries = [];
this doesn't do anything, I was hoping it would help
kb.refresh();
but if I then move a card from one of the columns I hacked to get visible using the methods mentioned earlier, i.e. set the init of the columns to a column with an actual key needed all the cards appear.
Now clearly this is a hack and should be needed?
RK
Rajesh Kumar Anburajan
Syncfusion Team
March 31, 2017 05:45 PM UTC
Hi Jason,
We have analyses your reported query “Knockout Support”. It’s some defaulty for finding some items. We will update you on (3/4/2017).
Regards,
Rajesh kumar.A
JA
Jason
April 3, 2017 08:00 PM UTC
I can't log into the direct trac incident report, it isn't visible under my profile.
BS
Buvana Sathasivam
Syncfusion Team
April 4, 2017 04:38 AM UTC
Hi Jason,
Thanks for your update.
We are sorry to inform that new incident was not created for this forum. The reported issue will be fixed in the upcoming Volume 2 SP 1, 2017 release which is expected to be roll out by the month of May, 2017.
Regards,
Buvana S.
JA
Jason
April 4, 2017 05:04 AM UTC
This is pretty bad, I have tried two controls so far, sfListView and sfKanban, both in a Xamarin app and in javascript and I am getting problems that are blocking both of my dev paths, and each one is taking well over two months to fix, until then I am stuck and can't go any further with your controls, very frustrating?!
RK
Rajesh Kumar Anburajan
Syncfusion Team
April 5, 2017 05:19 PM UTC
Hi Jason,
Direct trac incident is created in your account for the reported query in this forum. Please log on to our support website to check for further updates.
Regards,
Rajesh Kumar.A
SIGN IN To post a reply.
- 12 Replies
- 5 Participants
-
JA Jason
- Mar 28, 2017 08:09 PM UTC
- Apr 5, 2017 05:19 PM UTC