We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy.
Unfortunately, activation email could not send to your email. Please try again.

Knockout Support

Thread ID:

Created:

Updated:

Platform:

Replies:

129693 Mar 28,2017 04:09 PM Apr 5,2017 01:19 PM JavaScript 12
loading
Tags: ejKanban
Jason
Asked On March 28, 2017 04:09 PM

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

Silambarasan I [Syncfusion]
Replied On March 29, 2017 08:42 AM

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 


Jason
Replied On March 29, 2017 02:46 PM

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.

Shanmugaraja K [Syncfusion]
Replied On March 30, 2017 08:36 AM

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.   
 
 
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 


Jason
Replied On March 30, 2017 03:28 PM

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

Jason
Replied On March 30, 2017 08:14 PM

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 

Jason
Replied On March 30, 2017 08:31 PM

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.

Jason
Replied On March 30, 2017 09:57 PM

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?



Rajesh Kumar Anburajan [Syncfusion]
Replied On March 31, 2017 01:45 PM

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 


Jason
Replied On April 3, 2017 04:00 PM

 I can't log into the direct trac incident report, it isn't visible under my profile.


Buvana Sathasivam [Syncfusion]
Replied On April 4, 2017 12:38 AM

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.   
 


Jason
Replied On April 4, 2017 01:04 AM

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?!

Rajesh Kumar Anburajan [Syncfusion]
Replied On April 5, 2017 01:19 PM

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  
 


CONFIRMATION

This post will be permanently deleted. Are you sure you want to continue?

Sorry, An error occured while processing your request. Please try again later.

You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.

;