From 3ba65eaa6ae28f350f8f063cb37247c72850f009 Mon Sep 17 00:00:00 2001 From: Ben Wheeler <wheeler.benjamin@gmail.com> Date: Mon, 8 Oct 2018 12:42:25 -0400 Subject: [PATCH] renamed project loader and saver to sb3 loader and saver to local --- src/components/menu-bar/menu-bar.jsx | 17 +++++------ ...-from-pc.jsx => sb3-loader-from-local.jsx} | 28 +++++++++---------- ...saver-to-pc.jsx => sb3-saver-to-local.jsx} | 10 +++---- 3 files changed, 27 insertions(+), 28 deletions(-) rename src/containers/{project-loader-from-pc.jsx => sb3-loader-from-local.jsx} (87%) rename src/containers/{project-saver-to-pc.jsx => sb3-saver-to-local.jsx} (93%) diff --git a/src/components/menu-bar/menu-bar.jsx b/src/components/menu-bar/menu-bar.jsx index d7bfc4a6d..bcf0abc10 100644 --- a/src/components/menu-bar/menu-bar.jsx +++ b/src/components/menu-bar/menu-bar.jsx @@ -10,13 +10,13 @@ import Button from '../button/button.jsx'; import {ComingSoonTooltip} from '../coming-soon/coming-soon.jsx'; import Divider from '../divider/divider.jsx'; import LanguageSelector from '../../containers/language-selector.jsx'; -import ProjectLoaderFromPC from '../../containers/project-loader-from-pc.jsx'; +import SB3LoaderFromLocal from '../../containers/sb3-loader-from-local.jsx'; import MenuBarMenu from './menu-bar-menu.jsx'; import {MenuItem, MenuSection} from '../menu/menu.jsx'; import ProjectTitleInput from './project-title-input.jsx'; import AccountNav from '../../containers/account-nav.jsx'; import LoginDropdown from './login-dropdown.jsx'; -import ProjectSaverToPC from '../../containers/project-saver-to-pc.jsx'; +import SB3SaverToLocal from '../../containers/sb3-saver-to-local.jsx'; import DeletionRestorer from '../../containers/deletion-restorer.jsx'; import TurboMode from '../../containers/turbo-mode.jsx'; @@ -327,7 +327,7 @@ class MenuBar extends React.Component { </MenuItemTooltip> </MenuSection> <MenuSection> - <ProjectLoaderFromPC + <SB3LoaderFromLocal onLoadFinished={this.handleProjectLoadFinished} onUpdateProjectTitle={this.props.onUpdateProjectTitle} > @@ -337,15 +337,16 @@ class MenuBar extends React.Component { > <FormattedMessage defaultMessage="Load from your computer" - description={'Menu bar item for uploading a ' + - 'project from your computer'} + description={ + 'Menu bar item for uploading a project from your computer' + } id="gui.menuBar.uploadFromComputer" /> {renderFileInput()} </MenuItem> )} - </ProjectLoaderFromPC> - <ProjectSaverToPC>{downloadProject => ( + </SB3LoaderFromLocal> + <SB3SaverToLocal>{downloadProject => ( <MenuItem onClick={this.handleCloseFileMenuAndThen(downloadProject)} > @@ -355,7 +356,7 @@ class MenuBar extends React.Component { id="gui.menuBar.downloadToComputer" /> </MenuItem> - )}</ProjectSaverToPC> + )}</SB3SaverToLocal> </MenuSection> </MenuBarMenu> </div> diff --git a/src/containers/project-loader-from-pc.jsx b/src/containers/sb3-loader-from-local.jsx similarity index 87% rename from src/containers/project-loader-from-pc.jsx rename to src/containers/sb3-loader-from-local.jsx index 153b3b324..defba70ea 100644 --- a/src/containers/project-loader-from-pc.jsx +++ b/src/containers/sb3-loader-from-local.jsx @@ -15,30 +15,30 @@ import { } from '../reducers/modals'; /** - * Project loader component passes a file input, load handler and props to its child. + * SB3LoaderFromLocal component passes a file input, load handler and props to its child. * It expects this child to be a function with the signature - * function (renderFileInput, loadProject, props) {} + * function (renderFileInput, loadProject) {} * The component can then be used to attach project loading functionality * to any other component: * - * <ProjectLoaderFromPC>{(renderFileInput, loadProject) => ( + * <SB3LoaderFromLocal>{(renderFileInput, loadProject) => ( * <MyCoolComponent * onClick={loadProject} * > * {renderFileInput()} * </MyCoolComponent> - * )}</ProjectLoaderFromPC> + * )}</SB3LoaderFromLocal> */ const messages = defineMessages({ loadError: { - id: 'gui.ProjectLoaderFromPC.loadError', + id: 'gui.SB3LoaderFromLocal.loadError', defaultMessage: 'The project file that was selected failed to load.', description: 'An error that displays when a local project file fails to load.' } }); -class ProjectLoaderFromPC extends React.Component { +class SB3LoaderFromLocal extends React.Component { constructor (props) { super(props); bindAll(this, [ @@ -61,9 +61,7 @@ class ProjectLoaderFromPC extends React.Component { nonInteraction: true }); this.props.closeLoadingState(); - if (this.props.onLoadFinished) { - this.props.onLoadFinished(); - } + this.props.onLoadFinished(); // Reset the file input after project is loaded // This is necessary in case the user wants to reload a project thisFileInput.value = null; @@ -72,9 +70,7 @@ class ProjectLoaderFromPC extends React.Component { log.warn(error); alert(this.props.intl.formatMessage(messages.loadError)); // eslint-disable-line no-alert this.props.closeLoadingState(); - if (this.props.onLoadFinished) { - this.props.onLoadFinished(); - } + this.props.onLoadFinished(); // Reset the file input after project is loaded // This is necessary in case the user wants to reload a project thisFileInput.value = null; @@ -117,7 +113,7 @@ class ProjectLoaderFromPC extends React.Component { } } -ProjectLoaderFromPC.propTypes = { +SB3LoaderFromLocal.propTypes = { children: PropTypes.func, closeLoadingState: PropTypes.func, intl: intlShape.isRequired, @@ -129,7 +125,9 @@ ProjectLoaderFromPC.propTypes = { loadProject: PropTypes.func }) }; - +SB3LoaderFromLocal.defaultProps = { + onLoadFinished: () => {} +}; const mapStateToProps = state => ({ vm: state.scratchGui.vm }); @@ -149,4 +147,4 @@ const mapDispatchToProps = dispatch => ({ export default connect( mapStateToProps, mapDispatchToProps -)(injectIntl(ProjectLoaderFromPC)); +)(injectIntl(SB3LoaderFromLocal)); diff --git a/src/containers/project-saver-to-pc.jsx b/src/containers/sb3-saver-to-local.jsx similarity index 93% rename from src/containers/project-saver-to-pc.jsx rename to src/containers/sb3-saver-to-local.jsx index bfb4f8ab9..1a1099265 100644 --- a/src/containers/project-saver-to-pc.jsx +++ b/src/containers/sb3-saver-to-local.jsx @@ -11,14 +11,14 @@ import {projectTitleInitialState} from '../reducers/project-title'; * The component can then be used to attach project saving functionality * to any other component: * - * <ProjectSaverToPC>{(downloadProject, props) => ( + * <SB3SaverToLocal>{(downloadProject, props) => ( * <MyCoolComponent * onClick={downloadProject} * {...props} * /> - * )}</ProjectSaverToPC> + * )}</SB3SaverToLocal> */ -class ProjectSaverToPC extends React.Component { +class SB3SaverToLocal extends React.Component { constructor (props) { super(props); bindAll(this, [ @@ -65,7 +65,7 @@ const getProjectFilename = (curTitle, defaultTitle) => { return `${filenameTitle.substring(0, 100)}.sb3`; }; -ProjectSaverToPC.propTypes = { +SB3SaverToLocal.propTypes = { children: PropTypes.func, onSaveFinished: PropTypes.func, projectFilename: PropTypes.string, @@ -80,4 +80,4 @@ const mapStateToProps = state => ({ export default connect( mapStateToProps, () => ({}) // omit dispatch prop -)(ProjectSaverToPC); +)(SB3SaverToLocal); -- GitLab