Skip to content

Found a few bugs when loading via server side ajax #7

@reaua001

Description

@reaua001

Have been having issues trying to get StateRestore to load all states via server side Ajax call

using the function style ajax calls per See Here to control all the server side saving

I have never seen if (data.action === 'load') option ever fire... so I resorted to using the ajax stateRestore option on initial load
as See Here

Everything works until browser refresh and then you can't update any of the existing based on this area in StateRestore.ts (line 751-758)

//If the state is predefined there is no need to save it over ajax or to local storage
if (this.s.isPreDefined) {
	if (passedSuccessCallback) {
		passedSuccessCallback.call(this);
	}
	return;
}

what occurs is all the states are set to isPreDefined: true even for ajax loading

There is also a typo in StateRestoreCollection.ts where you in line 641-647

currState.stateRestore = {
isPredefined: false,
state: id,
tableId: this.s.dt.table().node().id
};

It s/b isPreDefined not isPredefined

I looked at your source code and I don't ever see a callback for the load process, and all the function Ajax examples don't ever load server side.

Your above initialisation/ajax.html example fails the same way

Steps:
1: Load a new state and try all the options (Rename, Update, Remove) they all fire a callback to server
2: Keep at least one state and re-fresh browser.
3: You can do all options except Update (check and all the loaded states are now IsPreDefined)

In my case, I never have preDefined: in the DataTable settings... so I turned off the true condition in StateResotrCollection.ts
_addPreDefined (line 878)

So in closing,
A) is there a way to load via function call Ajax from the server or
B) you should change the _addPreDefined call to add a boolean to set that isPreDefined to false for Ajax loads

Thanks

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions