-
Notifications
You must be signed in to change notification settings - Fork 0
Modify CurrencyField and Field to accomodate for default value along with prefix #2
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
base: master
Are you sure you want to change the base?
Conversation
} | ||
|
||
|
||
|
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 think there are too many blank newlines here, I would just like to have one blank line at the top and bottom:
...
if(!Alpaca.isValEmpty(this.data) &&
!Alpaca.isEmpty(this.options["prefix"]) &&
!Alpaca.startsWith(this.data, this.options["prefix"])){
this.data = `${this.options["prefix"]}${this.data}`
}
...
if(!Alpaca.isValEmpty(this.data) && | ||
!Alpaca.isEmpty(this.options["prefix"]) && | ||
!Alpaca.startsWith(this.data, this.options["prefix"])){ | ||
this.data = `${this.options["prefix"]}${this.data}` |
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.
We have an .eslintrc
at the root of the DocSpring repo, and this should run some linting rules on any JavaScript code in the app
or vendor
directory. It's configured with "plugins": ["es5"]
, which excludes any new ES6 syntax. Unfortunately this is needed because we are still using Sprockets with the Rails asset pipeline, and Sprockets doesn't support any newer JavaScript syntax, such as the backticks for interpolation `...`
. This is normally not an issue in modern browsers, but it can cause issues in browsers that don't support newer features, since we don't have any BabelJS processor setup for browser compatibility.
So we just have to be careful about only using the old ES5 JavaScript for any JS in our Rails app assets. That means that this line should be changed to standard ES5 JavaScript:
this.data = this.options["prefix"] + this.data
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.
But also I'm not too sure if this is right place for this code. I think prefix
is only used in the CurrencyField
, and is not used by Field
or any other descendants. So I would probably put this in the constructor
of CurrencyField
, underneath the call to this.base(...
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.
Another thing to note is that prefix
is an option that is passed to the jQuery Price Format plugin, during $(field).priceFormat(self.options);
. I'm still not sure what's going wrong with this library, but I would like to investigate further and perhaps find a cleaner solution
@@ -46,8 +45,7 @@ | |||
// Default should be true. | |||
options.allowOptionalEmpty = true; | |||
options.clearOnEmpty = true; | |||
|
|||
if (typeof(data) !== "undefined") | |||
if (data!=null && typeof(data) !== "undefined") |
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.
Please add some spaces: data != null
No description provided.