Conversation
.gitignore
Outdated
| npm-debug* | ||
| /.tox | ||
| .idea | ||
| package-lock.json |
There was a problem hiding this comment.
It shouldn't be necessary to ignore this, though there are occasional issues.
There was a problem hiding this comment.
K, this has been 🔪 ... as has the package-lock.json.
T4rk1n
left a comment
There was a problem hiding this comment.
I don't understand the package-lock.json, there's no package.json in dash. 🔪
T4rk1n
left a comment
There was a problem hiding this comment.
Need to fix the error in generate_class_string
| for p in prop_keys | ||
| if '*' not in p and | ||
| p not in ['setProps', 'dashEvents', 'fireEvent'] | ||
| p != 'setProps' + ['**kwargs'] |
There was a problem hiding this comment.
That doesn't work.
>>> 'setProps' + ['**kwargs']
Traceback (most recent call last):
File "<input>", line 1, in <module>
TypeError: must be str, not list| p != 'setProps' + ['**kwargs'] | |
| p not in ['setProps', '**kwargs'] |
There was a problem hiding this comment.
Oh that's not quite it either... the p not in [...] or p != ... clause is a filter in an iterator - in the python generator code:
dash/dash/development/_py_components_generation.py
Lines 118 to 126 in e72f483
note the extra [...] from immediately after .join( to right before + ['**kwargs'] that turns this into a list that we can then append '**kwargs' to by adding a second list. I'm assuming in R **kwargs doesn't mean anything, but there's some other feature to play the role of allowing arbitrary extra named arguments?
There was a problem hiding this comment.
I'm assuming in R **kwargs doesn't mean anything, but there's some other feature to play the role of allowing arbitrary extra named arguments?
@alexcjohnson Correct. For the wildcards, I've used ellipsis (aka \dots, ...) for this purpose. It seems to be working to pass in an arbitrary number (including zero) of wildcard arguments.
Hah too funny! Right, |
I'm glad I've somehow fallen into the component management pipeline on the Python side as well, because for all the bumps and bruises, I'm certainly learning a few things. |
🐛 modified prop_names address trailing whitespace 🔧 flake8 and pylint edits 🚿 pylint edits
🚿 pylint edit 🚿 flake8 edit 🚿 flake8 edit 🐛 fixed TypeError
If it's possible to have a look at my recent changes and let me know if they are acceptable, and what further refinements are needed, that'd be great. N.B. I ran into an error while testing the R component generation in Python 3 I hadn't seen previously:
I attempted to address this by wrapping Component generation appears to be successful for both languages, and using Python 2 and 3; will look a bit more tonight to confirm. |
Yeah, |
Yes, |
|
|
||
| with open(os.path.join(project_shortname, 'metadata.json'), 'w') as f: | ||
| json.dump(metadata, f) | ||
| json.dump(metadata, f, sort_keys=True) |
There was a problem hiding this comment.
⏪ Sorting the key reorder the keys, the ordered dict will keep the right order alone.
set default type of Input components to 'text'
Proposed changes introduced by this PR:
propsin Dash components is maintained by providingobject_pairs_hook=OrderedDicttojson.loads.prop_keysexclusions has been refactored to account for removal of events, and to properly omit wildcards.childrento be passed as a list or function, as in Dash for Python, and ellipsis is used for wildcards only, as the final formal argument for component functions.inst/depsrather thaninst/libto address an issue withinstall_github.defaultValuefields is now similar to Dash for Python, fixing issues with rendering of components due to passing incorrect defaults.version.py.byteifyfunction to avoid storing strings from JSON as Unicode in Python 2.x, so that lists of strings in components should be identical in appearance across versions.assert_valid_wildcardsis called when wildcards are available for a given component, to validate any wildcard input passed in via...in the corresponding function formals in R.