Im in neet of adding JFP into my call to the endpoint on a JSDO project.
KUIB 3
Angular
Grid view
Using the KUIB i can make my app call the endpoint But is 504 times out because the data return ir large. So I need to add a filter to the dataService. I have done this but if I Generate the app in KUIB it wipes out my setting. See image..
How can I keep my filter even generating in the future?
Is there a preferred way to accomplish this?
Awesome - Thank you..
Here is what I have and its working - for others searching:
in my
src\app\modules\timesheet\timesheet\details-grid.base.component.ts
I added to the constructor
constructor(@Inject(Injector) injector: Injector) {
super(injector);
this.$dataServicesState['tttc_header'].filter = {
logic: 'and',
filters: [
{ field: 'tch_userid', operator: 'eq', value: 'JACKC' },
{ field: 'tch_current', operator: 'eq', value: true },
{ field: 'tch_date', operator: 'eq', value: '05-30-2018' },
]
};
}
This is now causing the Server Side Filtering needed for the Grid view.
Thank you Thank you....
A way to do this is to set the filter property in this.$dataServicesState.
Here is an example:
constructor(@Inject(Injector) injector: Injector) {
super(injector);
this.$dataServicesState.Customer.filter = {
logic: 'and',
filters: [{ field: 'CustNum', operator: 'lte', value: 20 }]
};
}
Please let me know if goes.
I hope this helps.
Hello,
Quick reply.
The file that you tried to use is auto-generated and it will be overwritten on Generate.
You may probably want to add code in the <view>.view.component.ts file.
The way that you would express the filter is using a Kendo UI filter:
By default you would be using client side filtering.
You can de-select the "Client-side Processing" option in the Data Providers to use server-side processing.
When using server-side processing, the JSDO will receive the Kendo UI filter and convert it to JFP when sending the request to he server.
I hope this helps,
Edsel
I found the <view>.view.component.ts file.
Where on this file can I apply my SERVER Side filter so that the data that comes back will be focused on the filter criteria?
And - what code do i put in this file to do this?
Im wanting server side filtering, not client side.
A way to do this is to set the filter property in this.$dataServicesState.
Here is an example:
constructor(@Inject(Injector) injector: Injector) {
super(injector);
this.$dataServicesState.Customer.filter = {
logic: 'and',
filters: [{ field: 'CustNum', operator: 'lte', value: 20 }]
};
}
Please let me know if goes.
I hope this helps.
Awesome - Thank you..
Here is what I have and its working - for others searching:
in my
src\app\modules\timesheet\timesheet\details-grid.base.component.ts
I added to the constructor
constructor(@Inject(Injector) injector: Injector) {
super(injector);
this.$dataServicesState['tttc_header'].filter = {
logic: 'and',
filters: [
{ field: 'tch_userid', operator: 'eq', value: 'JACKC' },
{ field: 'tch_current', operator: 'eq', value: true },
{ field: 'tch_date', operator: 'eq', value: '05-30-2018' },
]
};
}
This is now causing the Server Side Filtering needed for the Grid view.
Thank you Thank you....
Thank you - this fixed it.
For other searchers
With JFP enabled on your business entity - you can pass a server side filter in the
src\app\modules\timesheet\timesheet\details-grid.base.component.ts
Modify the constructor to include the filter
constructor(@Inject(Injector) injector: Injector) {
super(injector);
this.$dataServicesState['tttc_header'].filter = {
logic: 'and',
filters: [
{ field: 'tch_userid', operator: 'eq', value: 'JACKC' },
{ field: 'tch_current', operator: 'eq', value: true },
{ field: 'tch_date', operator: 'eq', value: '05-30-2018' },
]
};
}
Thank you....