美文网首页
Blocks---propTypes

Blocks---propTypes

作者: hanxianshe_9530 | 来源:发表于2019-10-30 08:24 被阅读0次
    Blocks.propTypes = {
        anyModalVisible: PropTypes.bool,
        canUseCloud: PropTypes.bool,
        customProceduresVisible: PropTypes.bool,
        extensionLibraryVisible: PropTypes.bool,
        isRtl: PropTypes.bool,
        isVisible: PropTypes.bool,
        locale: PropTypes.string.isRequired,
        messages: PropTypes.objectOf(PropTypes.string),
        onActivateColorPicker: PropTypes.func,
        onActivateCustomProcedures: PropTypes.func,
        onOpenConnectionModal: PropTypes.func,
        onOpenSoundRecorder: PropTypes.func,
        onRequestCloseCustomProcedures: PropTypes.func,
        onRequestCloseExtensionLibrary: PropTypes.func,
        options: PropTypes.shape({
            media: PropTypes.string,
            zoom: PropTypes.shape({
                controls: PropTypes.bool,
                wheel: PropTypes.bool,
                startScale: PropTypes.number
            }),
            colours: PropTypes.shape({
                workspace: PropTypes.string,
                flyout: PropTypes.string,
                toolbox: PropTypes.string,
                toolboxSelected: PropTypes.string,
                scrollbar: PropTypes.string,
                scrollbarHover: PropTypes.string,
                insertionMarker: PropTypes.string,
                insertionMarkerOpacity: PropTypes.number,
                fieldShadow: PropTypes.string,
                dragShadowOpacity: PropTypes.number
            }),
            comments: PropTypes.bool,
            collapse: PropTypes.bool
        }),
        stageSize: PropTypes.oneOf(Object.keys(STAGE_DISPLAY_SIZES)).isRequired,
        toolboxXML: PropTypes.string,
        updateToolboxState: PropTypes.func,
        vm: PropTypes.instanceOf(VM).isRequired
    };
    
    Blocks.defaultOptions = {
        zoom: {
            controls: true,
            wheel: true,
            startScale: 0.675
        },
        grid: {
            spacing: 40,
            length: 2,
            colour: '#ddd'
        },
        colours: {
            workspace: '#F9F9F9',
            flyout: '#F9F9F9',
            toolbox: '#FFFFFF',
            toolboxSelected: '#E9EEF2',
            scrollbar: '#CECDCE',
            scrollbarHover: '#CECDCE',
            insertionMarker: '#000000',
            insertionMarkerOpacity: 0.2,
            fieldShadow: 'rgba(255, 255, 255, 0.3)',
            dragShadowOpacity: 0.6
        },
        comments: true,
        collapse: false,
        sounds: false
    };
    
    Blocks.defaultProps = {
        isVisible: true,
        options: Blocks.defaultOptions
    };
    
    const mapStateToProps = state => ({
        anyModalVisible: (
            Object.keys(state.scratchGui.modals).some(key => state.scratchGui.modals[key]) ||
            state.scratchGui.mode.isFullScreen
        ),
        extensionLibraryVisible: state.scratchGui.modals.extensionLibrary,
        isRtl: state.locales.isRtl,
        locale: state.locales.locale,
        messages: state.locales.messages,
        toolboxXML: state.scratchGui.toolbox.toolboxXML,
        customProceduresVisible: state.scratchGui.customProcedures.active
    });
    
    const mapDispatchToProps = dispatch => ({
        onActivateColorPicker: callback => dispatch(activateColorPicker(callback)),
        onActivateCustomProcedures: (data, callback) => dispatch(activateCustomProcedures(data, callback)),
        onOpenConnectionModal: id => {
            dispatch(setConnectionModalExtensionId(id));
            dispatch(openConnectionModal());
        },
        onOpenSoundRecorder: () => {
            dispatch(activateTab(SOUNDS_TAB_INDEX));
            dispatch(openSoundRecorder());
        },
        onRequestCloseExtensionLibrary: () => {
            dispatch(closeExtensionLibrary());
        },
        onRequestCloseCustomProcedures: data => {
            dispatch(deactivateCustomProcedures(data));
        },
        updateToolboxState: toolboxXML => {
            dispatch(updateToolbox(toolboxXML));
        }
    });
    
    export default errorBoundaryHOC('Blocks')(
        connect(
            mapStateToProps,
            mapDispatchToProps
        )(Blocks)
    );
    

    相关文章

      网友评论

          本文标题:Blocks---propTypes

          本文链接:https://www.haomeiwen.com/subject/oofnvctx.html