-
-
Notifications
You must be signed in to change notification settings - Fork 206
Parsequery OR #317
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Parsequery OR #317
Conversation
First idea for parse-community#213 Works with normal Query and LiveQuery. Missing: - any kind of "UserError handling" - further testing
That looks really promising! Good effort. I tried looking at this a while ago but ended up giving up. That looks like a promising solution. |
@maaeps |
It is on my list to complete the rest of the functions with GeoPoint. Some are still missing. I got involved with other plugins, but I intend to go back and finish. |
Thanks for merging. |
* Release/1.0.26 - Update docs * Updated Live Queries related documentation (#301) * Added an example of how to update existing object values (#309) * Fixed the Parse().initialize's return value (#307) * Release/1.0.26 - Update docs * Updated Live Queries related documentation (#301) * Fixed the parse initialize method Parse().initialize returns a new instantiation of the Parse class, but it should return the initialized instance. Co-authored-by: Phill Wiggins <[email protected]> Co-authored-by: mregandla <[email protected]> * Added example for update existing Object values Maybe need some correction. Thank you. Co-authored-by: James Brinkerhoff <[email protected]> Co-authored-by: Phill Wiggins <[email protected]> Co-authored-by: mregandla <[email protected]> * Specifying return type of get<T> as T instead of dynamic (#310) * Fixed the Parse().initialize's return value (#307) * Release/1.0.26 - Update docs * Updated Live Queries related documentation (#301) * Fixed the parse initialize method Parse().initialize returns a new instantiation of the Parse class, but it should return the initialized instance. Co-authored-by: Phill Wiggins <[email protected]> Co-authored-by: mregandla <[email protected]> * Specified T return type instead of dynamic for get<T> method Co-authored-by: James Brinkerhoff <[email protected]> Co-authored-by: Phill Wiggins <[email protected]> Co-authored-by: mregandla <[email protected]> * Live query connection stream (#314) * Fixed the Parse().initialize's return value (#307) * Release/1.0.26 - Update docs * Updated Live Queries related documentation (#301) * Fixed the parse initialize method Parse().initialize returns a new instantiation of the Parse class, but it should return the initialized instance. Co-authored-by: Phill Wiggins <[email protected]> Co-authored-by: mregandla <[email protected]> * added live-query-client-event-stream * Update parse_live_query.dart * Cleanup Co-authored-by: James Brinkerhoff <[email protected]> Co-authored-by: Phill Wiggins <[email protected]> Co-authored-by: mregandla <[email protected]> * Livequery reconnecting controller (#316) * Fix: reconnecting Done as in #315 (comment) described. * Changed type of Future Done as described in fischerscode@805e830#r37587405. * Revert "Changed type of Future" This reverts commit fecee76. * adding LiveQueryReconnectingController This is a solution for #315 (comment) How it works: - Only the LiveQueryReconnectingController handles reconnecting after a connection loss. - LiveQueryReconnectingController holds informations: 1. connection state of the device 2. did the user disconnected from the server 3. is currently a connection to the server estalished - LiveQueryReconnectingController tries to reconnect after preset timespans. * cleanup * remove _userDisconnected from Client This is not needed any more. Keeping track of this information is now done by LiveQueryReconnectingController. * subscribe(query) modified Wait until client is connected to live-query-server. Fixes fischerscode@d058eb0#r37612749 * Parsequery OR (#317) * Start adding or First idea for #213 Works with normal Query and LiveQuery. Missing: - any kind of "UserError handling" - further testing * Update parse_query.dart * Fix for Sembast-API change (#322) See: #321 (comment) * added QueryBuilder.copy(QueryBuilder<T> query) (#320) * added QueryBuilder.copy(QueryBuilder<T> query) Added a implementation to create a new QueryBuilder based on an old one. This is a deep copy. Tested only with basic queries. * added QueryBuilder.copy(QueryBuilder<T> query) Added a implementation to create a new QueryBuilder based on an old one. This is a deep copy. Tested only with basic queries. * ParseLiveList (#324) * Created ParseLiveList * LiveList & LivListBuilder works * Cleanup * changed to animated list * Fix in dataloading * updated AnimatedList * Finished Animations & cleanup * handle reconnect * Added dispose methodes & renamed classes & cleanup * cleanup * Fix animation duration * added README ParseLiveList section * Initialized example_livelist * Update application_constants.dart * Update .gitignore * Revert "Update .gitignore" This reverts commit 4d8982d. * Update .gitignore * HotFix: object Update from client If the client changes the object. (ParseObject does not get copied) * Implemented simple example * Update README.md * Update main.dart * Update README.md * Update README.md * added ParseACL to parseEncode (#326) As described in #325 (comment). Should Fix #325 * ParseLiveList Performance improvement (#327) * Created ParseLiveList * LiveList & LivListBuilder works * Cleanup * changed to animated list * Fix in dataloading * updated AnimatedList * Finished Animations & cleanup * handle reconnect * Added dispose methodes & renamed classes & cleanup * cleanup * Fix animation duration * added README ParseLiveList section * Initialized example_livelist * Update application_constants.dart * Update .gitignore * Revert "Update .gitignore" This reverts commit 4d8982d. * Update .gitignore * HotFix: object Update from client If the client changes the object. (ParseObject does not get copied) * Implemented simple example * Update README.md * Update main.dart * Update README.md * Update README.md * LiveList - Performance Improvement This is the change mentioned in #324 (comment) Requires #326 * LiveList - Performance Improvement This is the change mentioned in #324 (comment) Requires #326 * example_livelist: use clientKey * Changed example_livelist query In the README I wrote, you can use a field called "show" to hide elements. * ParseLiveListElementSnapshot added (#329) * Created ParseLiveList * LiveList & LivListBuilder works * Cleanup * changed to animated list * Fix in dataloading * updated AnimatedList * Finished Animations & cleanup * handle reconnect * Added dispose methodes & renamed classes & cleanup * cleanup * Fix animation duration * added README ParseLiveList section * Initialized example_livelist * Update application_constants.dart * Update .gitignore * Revert "Update .gitignore" This reverts commit 4d8982d. * Update .gitignore * HotFix: object Update from client If the client changes the object. (ParseObject does not get copied) * Implemented simple example * Update README.md * Update main.dart * Update README.md * Update README.md * LiveList - Performance Improvement This is the change mentioned in #324 (comment) Requires #326 * LiveList - Performance Improvement This is the change mentioned in #324 (comment) Requires #326 * example_livelist: use clientKey * Changed example_livelist query In the README I wrote, you can use a field called "show" to hide elements. * Remove: RemovedItemBuilder duplicade to ChildBuilder * removed firstBuild * ParseLiveListElementSnapshot added * Clear unsaved changes (#331) * added clearUnsavedChanges An idea for #318 * moved clearUnsavedChanges to ParseBase * LiveQueryController: connect at init (#332) Should fix #330 * LiveList: fixed defaultBuilder (#333) * Added generics to Query/LiveQuery (#336) * LiveQuery: fixes list is null (#334) * Fix: #341 (#342) It seems like `subscription.on(LiveQueryEvent.update` reuses a existing object. * Updating LiveQuery for web (#340) * LiveQuery: fixes list is null * Updating LiveQuery for web parse_live_query_web was outdated compared to parse_live_query. Note: parse_live_query was copied and fixed again for this change. Co-authored-by: Phill Wiggins <[email protected]> * Release/1.0.26 - Code formatting, remove lint issues Co-authored-by: mregandla <[email protected]> Co-authored-by: L. Rommy Arbantas <[email protected]> Co-authored-by: James Brinkerhoff <[email protected]> Co-authored-by: Michal Baran <[email protected]> Co-authored-by: Maximilian Fischer <[email protected]>
* Release/1.0.26 - Update docs * Updated Live Queries related documentation (parse-community#301) * Added an example of how to update existing object values (parse-community#309) * Fixed the Parse().initialize's return value (parse-community#307) * Release/1.0.26 - Update docs * Updated Live Queries related documentation (parse-community#301) * Fixed the parse initialize method Parse().initialize returns a new instantiation of the Parse class, but it should return the initialized instance. Co-authored-by: Phill Wiggins <[email protected]> Co-authored-by: mregandla <[email protected]> * Added example for update existing Object values Maybe need some correction. Thank you. Co-authored-by: James Brinkerhoff <[email protected]> Co-authored-by: Phill Wiggins <[email protected]> Co-authored-by: mregandla <[email protected]> * Specifying return type of get<T> as T instead of dynamic (parse-community#310) * Fixed the Parse().initialize's return value (parse-community#307) * Release/1.0.26 - Update docs * Updated Live Queries related documentation (parse-community#301) * Fixed the parse initialize method Parse().initialize returns a new instantiation of the Parse class, but it should return the initialized instance. Co-authored-by: Phill Wiggins <[email protected]> Co-authored-by: mregandla <[email protected]> * Specified T return type instead of dynamic for get<T> method Co-authored-by: James Brinkerhoff <[email protected]> Co-authored-by: Phill Wiggins <[email protected]> Co-authored-by: mregandla <[email protected]> * Live query connection stream (parse-community#314) * Fixed the Parse().initialize's return value (parse-community#307) * Release/1.0.26 - Update docs * Updated Live Queries related documentation (parse-community#301) * Fixed the parse initialize method Parse().initialize returns a new instantiation of the Parse class, but it should return the initialized instance. Co-authored-by: Phill Wiggins <[email protected]> Co-authored-by: mregandla <[email protected]> * added live-query-client-event-stream * Update parse_live_query.dart * Cleanup Co-authored-by: James Brinkerhoff <[email protected]> Co-authored-by: Phill Wiggins <[email protected]> Co-authored-by: mregandla <[email protected]> * Livequery reconnecting controller (parse-community#316) * Fix: reconnecting Done as in parse-community#315 (comment) described. * Changed type of Future Done as described in 805e830#r37587405. * Revert "Changed type of Future" This reverts commit fecee76. * adding LiveQueryReconnectingController This is a solution for parse-community#315 (comment) How it works: - Only the LiveQueryReconnectingController handles reconnecting after a connection loss. - LiveQueryReconnectingController holds informations: 1. connection state of the device 2. did the user disconnected from the server 3. is currently a connection to the server estalished - LiveQueryReconnectingController tries to reconnect after preset timespans. * cleanup * remove _userDisconnected from Client This is not needed any more. Keeping track of this information is now done by LiveQueryReconnectingController. * subscribe(query) modified Wait until client is connected to live-query-server. Fixes d058eb0#r37612749 * Parsequery OR (parse-community#317) * Start adding or First idea for parse-community#213 Works with normal Query and LiveQuery. Missing: - any kind of "UserError handling" - further testing * Update parse_query.dart * Fix for Sembast-API change (parse-community#322) See: parse-community#321 (comment) * added QueryBuilder.copy(QueryBuilder<T> query) (parse-community#320) * added QueryBuilder.copy(QueryBuilder<T> query) Added a implementation to create a new QueryBuilder based on an old one. This is a deep copy. Tested only with basic queries. * added QueryBuilder.copy(QueryBuilder<T> query) Added a implementation to create a new QueryBuilder based on an old one. This is a deep copy. Tested only with basic queries. * ParseLiveList (parse-community#324) * Created ParseLiveList * LiveList & LivListBuilder works * Cleanup * changed to animated list * Fix in dataloading * updated AnimatedList * Finished Animations & cleanup * handle reconnect * Added dispose methodes & renamed classes & cleanup * cleanup * Fix animation duration * added README ParseLiveList section * Initialized example_livelist * Update application_constants.dart * Update .gitignore * Revert "Update .gitignore" This reverts commit 4d8982d. * Update .gitignore * HotFix: object Update from client If the client changes the object. (ParseObject does not get copied) * Implemented simple example * Update README.md * Update main.dart * Update README.md * Update README.md * added ParseACL to parseEncode (parse-community#326) As described in parse-community#325 (comment). Should Fix parse-community#325 * ParseLiveList Performance improvement (parse-community#327) * Created ParseLiveList * LiveList & LivListBuilder works * Cleanup * changed to animated list * Fix in dataloading * updated AnimatedList * Finished Animations & cleanup * handle reconnect * Added dispose methodes & renamed classes & cleanup * cleanup * Fix animation duration * added README ParseLiveList section * Initialized example_livelist * Update application_constants.dart * Update .gitignore * Revert "Update .gitignore" This reverts commit 4d8982d. * Update .gitignore * HotFix: object Update from client If the client changes the object. (ParseObject does not get copied) * Implemented simple example * Update README.md * Update main.dart * Update README.md * Update README.md * LiveList - Performance Improvement This is the change mentioned in parse-community#324 (comment) Requires parse-community#326 * LiveList - Performance Improvement This is the change mentioned in parse-community#324 (comment) Requires parse-community#326 * example_livelist: use clientKey * Changed example_livelist query In the README I wrote, you can use a field called "show" to hide elements. * ParseLiveListElementSnapshot added (parse-community#329) * Created ParseLiveList * LiveList & LivListBuilder works * Cleanup * changed to animated list * Fix in dataloading * updated AnimatedList * Finished Animations & cleanup * handle reconnect * Added dispose methodes & renamed classes & cleanup * cleanup * Fix animation duration * added README ParseLiveList section * Initialized example_livelist * Update application_constants.dart * Update .gitignore * Revert "Update .gitignore" This reverts commit 4d8982d. * Update .gitignore * HotFix: object Update from client If the client changes the object. (ParseObject does not get copied) * Implemented simple example * Update README.md * Update main.dart * Update README.md * Update README.md * LiveList - Performance Improvement This is the change mentioned in parse-community#324 (comment) Requires parse-community#326 * LiveList - Performance Improvement This is the change mentioned in parse-community#324 (comment) Requires parse-community#326 * example_livelist: use clientKey * Changed example_livelist query In the README I wrote, you can use a field called "show" to hide elements. * Remove: RemovedItemBuilder duplicade to ChildBuilder * removed firstBuild * ParseLiveListElementSnapshot added * Clear unsaved changes (parse-community#331) * added clearUnsavedChanges An idea for parse-community#318 * moved clearUnsavedChanges to ParseBase * LiveQueryController: connect at init (parse-community#332) Should fix parse-community#330 * LiveList: fixed defaultBuilder (parse-community#333) * Added generics to Query/LiveQuery (parse-community#336) * LiveQuery: fixes list is null (parse-community#334) * Fix: parse-community#341 (parse-community#342) It seems like `subscription.on(LiveQueryEvent.update` reuses a existing object. * Updating LiveQuery for web (parse-community#340) * LiveQuery: fixes list is null * Updating LiveQuery for web parse_live_query_web was outdated compared to parse_live_query. Note: parse_live_query was copied and fixed again for this change. Co-authored-by: Phill Wiggins <[email protected]> * Release/1.0.26 - Code formatting, remove lint issues Co-authored-by: mregandla <[email protected]> Co-authored-by: L. Rommy Arbantas <[email protected]> Co-authored-by: James Brinkerhoff <[email protected]> Co-authored-by: Michal Baran <[email protected]> Co-authored-by: Maximilian Fischer <[email protected]>
Added a second constructor to ParseQuery for creating OR Queries.
#213
Tested with basic queries.
Works with live query, too.