-
Notifications
You must be signed in to change notification settings - Fork 14.2k
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
fix(CRUD/listviews): Errors with rison and search strings using special characters #18056
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -35,7 +35,7 @@ import { Dashboard, Filters } from './types'; | |
|
||
// Modifies the rison encoding slightly to match the backend's | ||
// rison encoding/decoding. Applies globally. Code pulled from rison.js | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Nit, can you add here that There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Sure thing! I will have that pushed up soon |
||
const fixRisonEncodeDecode = () => { | ||
(() => { | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. is this called everytime There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This function should only run once and since it doesn't get named, exported, or called anywhere else, it shouldn't run again. This just takes advantage of the rison object being global and mutable, and changes the regex variable on it that decides what to do with certain characters when it encodes/decodes. That regex variable gets used every time encode_uri, encode or decode is called but this function itself doesn't |
||
const risonRef: { | ||
not_idchar: string; | ||
not_idstart: string; | ||
|
@@ -60,9 +60,7 @@ const fixRisonEncodeDecode = () => { | |
|
||
risonRef.id_ok = new RegExp(`^${idrx}$`); | ||
risonRef.next_id = new RegExp(idrx, 'g'); | ||
}; | ||
|
||
fixRisonEncodeDecode(); | ||
})(); | ||
|
||
const createFetchResourceMethod = | ||
(method: string) => | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we make this more readable?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can have it make and encode an object for each one of the characters being tested instead of having it all in one. It will get rid of this big string and should be easier to read. I am pushing it up now so let me know if it needs more work and I can give it another go