-
Notifications
You must be signed in to change notification settings - Fork 9
Specify code output panel(s) in web component #909
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
Specify code output panel(s) in web component #909
Conversation
|
|
…el_s_in_web_component
|
|
…el_s_in_web_component
|
|
|
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.
Looks great, just the one suggestion that I think help make things easier to read / more manageable?
<div className="output-panel output-panel--visual"> | ||
{hasVisualOutput && showVisualOutput && ( | ||
<div | ||
className={`output-panel output-panel--visual${ |
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.
the classnames package (which we're using elsewhere) offers a nice and easy to read interface for doing this, might be worth taking a look :)
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.
Ah yes, okay, I'll take a look - thanks Dan 👍
…el_s_in_web_component
|
|
{!hasVisualOutput && !isEmbedded && isMobile ? ( | ||
<RunnerControls skinny /> | ||
) : null} |
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'm sure I've tried this before but it might not work... can we get rid of this null?
{!hasVisualOutput && !isEmbedded && isMobile ? ( | |
<RunnerControls skinny /> | |
) : null} | |
{!hasVisualOutput && !isEmbedded && isMobile && ( | |
<RunnerControls skinny /> | |
)} |
|
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.
👍 lgtm
Based on #909. The new `output_panels` attribute on the web component allows specific panels to be selected when the `output-only` web component attribute is set to `true`. Currently there are two panels: the "text" panel and the "visual" panel. You can select either or both. Note that this functionality has only currently been implemented for the `PythonRunner` and not the `PyodideRunner` or the `HtmlRunner`. The motivation for this change is to support the Block-to-Text app [1]. The exercise in the alpha version of this app displays just the "visual" panel [2]. I've added a couple of unit tests in `PythonRunner.test.js` to test the new behaviour. And I plan to add an e2e spec in a subsequent commit which will test all the new attributes on the web component. [1]: https://github.com/RaspberryPiFoundation/block-to-text-alpha/ [2]: https://github.com/RaspberryPiFoundation/block-to-text-alpha/blob/d16a8ecc1d3da202363fb16db31f4bf93f46aa04/src/components/Editor.js#L19
### Added - Add `project_name_editable` attribute to web component (#1009) - Fires custom event when the theme changes (#1015) - Add `output_only` attribute to web component (#1019 & originally #782) - Add `assets_identifier` attribute to web component (#1019 & originally #901) - Enhance `code` attribute on web component to override project main component content (#1019 & originally #901) - Add `runCode`, `stopCode` & `rerunCode` methods to web component (#1019 & originally #899) - Send error details in "editor-runCompleted" event (#1019 & originally #915) - Return error details to web component (#1019 & originally #915) - Add `output_panels` attribute to web component (#1019 & originally #909) ### Changed - Remove unused `/embedded/projects/:identifier` route (#1013) ### Fixed - Remove unused `REACT_APP_LOGIN_ENABLED` env var (#1006) - Fix infinite remix loop when `BYPASS_AUTH` set in `editor-api` (#1007) - Fixes for docker-compose.yml (#1008) - Fix deprecation warnings in GitHub Actions (#1011) - Removed unused `isEmbedded` param from `useProject` call in `EmbeddedViewer` (#1016) - Improvements to Cypress specs in CI (#1017) - Fix warnings and verbose output when starting Webpack Dev Server (#1018) - Add e2e spec for project remix behaviour in web component (#1020) - Fix initial value of `user` in `WebComponentLoader` (#1021) - Make `authKey` in e2e web component spec more realistic (#1022) - Remove unused `ComponentStore` (#1023)
closes #906