Ejemplo n.º 1
0
        return (
            <div className="left-panel vertical_fit vertical_layout" style={style}>
                <UserWidget
                    pydio={pydio}
                    style={widgetStyle}
                    {...uWidgetProps}
                />
                <WorkspacesList
                    className={"vertical_fit"}
                    style={wsListStyle}
                    sectionTitleStyle={wsSectionTitleStyle}
                    pydio={pydio}
                    showTreeForWorkspace={pydio.user?pydio.user.activeRepository:false}
                    {...wsListProps}
                />
            </div>
        );
};

LeftPanel.propTypes = {
    pydio               : React.PropTypes.instanceOf(Pydio).isRequired,
    userWidgetProps     : React.PropTypes.object,
    workspacesListProps : React.PropTypes.object,
    style               : React.PropTypes.object
};

LeftPanel = muiThemeable()(LeftPanel);

export {LeftPanel as default}
Ejemplo n.º 2
0
                />;
            }
        }

        let style = this.props.style || {}
        return (
            <div style={{display:'flex', height: mode === 'selector' ? 420 : 450 , ...style}}>
                {leftPanel}
                {centerComponent}
                {rightPanel}
                <MaterialUI.Dialog
                    contentStyle={{width:380,minWidth:380,maxWidth:380, padding:0}}
                    bodyStyle={{padding:0}}
                    title={<div style={{padding: 20}}>{dialogTitle}</div>}
                    actions={null}
                    modal={false}
                    open={createDialogItem?true:false}
                    onRequestClose={() => {this.setState({createDialogItem:null})}}
                >
                    {dialogContent}
                </MaterialUI.Dialog>
            </div>
        );
    }

});

AddressBook = PydioContextConsumer(AddressBook);
AddressBook = muiThemeable()(AddressBook);
export {AddressBook as default}
Ejemplo n.º 3
0
        return (
            <div style={{flex:1, flexDirection:'column', display:'flex'}} onTouchTap={this.props.onTouchTap}>
                {mode !== 'inner' && (!emptyState || mode !== 'book') && !this.props.noToolbar && toolbar}
                {!emptyState && !loading &&
                    <List style={{flex: 1, overflowY: mode !== 'inner' ? 'auto' : 'initial'}}>
                        {this.props.subHeader && <Subheader>{this.props.subHeader}</Subheader>}
                        {elements}
                    </List>
                }
                {loading && <Loader style={{flex:1}}/>}
                {!loading && emptyState}
            </div>
        );
    }

}

UsersList.propTypes ={
    item: React.PropTypes.object,
    onCreateAction:React.PropTypes.func,
    onDeleteAction:React.PropTypes.func,
    onItemClicked:React.PropTypes.func,
    onFolderClicked:React.PropTypes.func,
    mode:React.PropTypes.oneOf(['book', 'selector', 'inner'])
};

UsersList = PydioContextConsumer(UsersList);
UsersList = muiThemeable()(UsersList);

export {UsersList as default}
Ejemplo n.º 4
0
                <Paper zDepth={this.props.zDepth !== undefined ? this.props.zDepth :1} {...this.props} className={"vertical-layout " + (this.props.className || '')} transitionEnabled={false}>
                    {this.props.closeButton}
                    {title}
                    <NodeListCustomProvider
                        className={this.props.listClassName?this.props.listClassName:"recently-accessed-list files-list"}
                        style={{backgroundColor:colored?Palette[PALETTE_INDEX]:'transparent'}}
                        nodeProviderProperties={{get_action:"load_user_recent_items"}}
                        elementHeight={63}
                        nodeClicked={(node) => {this.goTo(node);}}
                        hideToolbar={true}
                        delayInitialLoad={700}
                        entryRenderFirstLine={this.renderFirstLine}
                        entryRenderSecondLine={this.renderSecondLine}
                        entryRenderIcon={this.renderIcon}
                        emptyStateProps={{
                            style: {paddingTop: 20, paddingBottom: 20},
                            iconClassName: 'mdi mdi-timer-off',
                            primaryTextId: 'History Empty',
                            secondaryTextId: 'This list will display recently accessed or consulted files and folders. Enter a workspace on the left.',
                            ...this.props.emptyStateProps
                        }}
                    />
                </Paper>
            );
        }
    }

});

RecentAccessCard = muiThemeable()(RecentAccessCard);
export {RecentAccessCard as default}
Ejemplo n.º 5
0
        color: 'white',

        fontSize: 10,
        borderRadius: 6,
        padding: '0 5px',
        marginLeft: 5,
        height: 16,
        lineHeight: '17px',
        fontWeight: 500
    };

    return <span style={style}>{children}</span>

};

Badge = muiThemeable()(Badge);

const Confirm = React.createClass({

    propTypes:{
        pydio       : React.PropTypes.instanceOf(Pydio),
        onDecline   : React.PropTypes.func,
        onAccept    : React.PropTypes.func,
        mode        : React.PropTypes.oneOf(['new_share','reject_accepted'])
    },

    componentDidMount: function () {
        this.refs.dialog.show()
    },

    render: function () {
Ejemplo n.º 6
0
                        />}
                    </div>
                </Popover>
            </div>
        );

    }

}

ActionsPanel.propTypes = {

    /**
     * User data, props must pass at least one of 'user' or 'team'
     */
    user: React.PropTypes.object,
    /**
     * Team data, props must pass at least one of 'user' or 'team'
     */
    team: React.PropTypes.object,
    /**
     * For users, whether it is editable or not
     */
    userEditable: React.PropTypes.object

}

ActionsPanel = PydioContextConsumer(ActionsPanel);
ActionsPanel = muiThemeable()(ActionsPanel);

export {ActionsPanel as default}
Ejemplo n.º 7
0
                color: 'white',
                fontSize: 20,
                lineHeight: '20px'
            }
        }

        return (
            <IconButton
                style={style.root}
                iconStyle={style.icon}
                onTouchTap={this.props.callback || this.props.onTouchTap}
                iconClassName={"mdi mdi-" + this.props.mdiIcon}
                tooltip={this.props.getMessage(this.props.messageId, this.props.messageCoreNamespace?'': undefined)}
            />
        );

    }

}

ActionButton.propTypes = {
    callback: PropTypes.func,
    onTouchTap: PropTypes.func,
    mdiIcon: PropTypes.string,
    messageId: PropTypes.string
};

ActionButton = ShareContextConsumer(ActionButton);
ActionButton = muiThemeable()(ActionButton);

export default ActionButton
Ejemplo n.º 8
0
                    <FontIcon className="mdi mdi-magnify" style={magnifier}/>

                    <TextField
                        ref={(input) => this.input = input}
                        style={{flex: 1, height:main.height}}
                        inputStyle={input}
                        hintStyle={hint}
                        fullWidth={true}
                        underlineShow={false}
                        onFocus={onOpen}
                        onBlur={mode === 'small' ? onClose : null}
                        hintText={hintText}
                        value={this.state.value || ''}
                        onChange={(e,v) => this.onChange(v)}
                        onKeyPress={(e) => (e.key === 'Enter' ? this.onChange(e.target.value) : null)}
                    />

                    {loading &&
                    <div style={{marginTop:9, marginRight: 9}} ><CircularProgress size={20} thickness={3}/></div>
                    }
                </div>
                }

            </div>
        )
    }
}

MainSearch = PydioContextConsumer(muiThemeable()(MainSearch));
export {MainSearch as default}
        let backgroundColor = '#ECEFF1';
        if(workspace.getOwner() || workspace.getAccessType() === 'inbox'){
            color = MaterialUI.Style.colors.teal500;
            let icon = workspace.getAccessType() === 'inbox' ? 'file-multiple' : 'folder-outline';
            if(workspace.getRepositoryType() === 'remote') icon = 'cloud-outline';
            leftAvatar =  <Avatar backgroundColor={backgroundColor} color={color} icon={<FontIcon className={'mdi mdi-' + icon}/>}/>
        }else{
            leftAvatar = <Avatar style={{fontSize:18}} backgroundColor={backgroundColor} color={color}>{workspace.getLettersBadge()}</Avatar>;
        }
        return (
            <ListItem
                leftAvatar={leftAvatar}
                leftIcon={leftIcon}
                primaryText={workspace.getLabel()}
                secondaryText={workspace.getDescription()}
                onTouchTap={this.onClick.bind(this)}
            />
        );

    }

}

WorkspaceEntryMaterial.propTypes = {
    pydio    : React.PropTypes.instanceOf(Pydio).isRequired,
    workspace: React.PropTypes.instanceOf(Repository).isRequired,
    muiTheme : React.PropTypes.object
};

WorkspaceEntryMaterial = muiThemeable()(WorkspaceEntryMaterial);
export {WorkspaceEntryMaterial as default}