1.0.0 • Published 2 years ago

react-cloud-chooser v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

react-cloud-chooser

react implementation for Google Drive Picker, OneDrive File Picker, Dropbox Chooser API

NPM JavaScript Style Guide

Description

react component wrapper for all cloud file storage services Dropbox, Google Drive picker, and OneDrive, which lazy loads the scripts needed only once you press the related buttons.

Install

npm

npm install --save react-cloud-chooser

yarn

yarn add react-cloud-chooser

Google Drive

It popups the login first then open google driver picker.

import React from 'react'

import { canOpenGoogleDrive } from 'react-cloud-chooser'

const GoogleDriveBtn = ({ openGoogleDrive, isGoogleDriveLoading }) => (
  <button onClick={openGoogleDrive}>
    Google Drive
    {isGoogleDriveLoading && <span>...</span>}
  </button>
)
const GoogleDriveOpenBtn = canOpenGoogleDrive(GoogleDriveBtn)

function GoogleDriveExample(props) {
  return (
    <GoogleDriveOpenBtn
      clientId='__client_id__'
      appId='__app_id__'
      developerKey='__developer_key__'
      success={console.log}
      mimeTypes="image/png,image/jpeg,image/jpg"
    />
  )
}
propvaluedefault valuedescription
clientIdstringREQUIREDGoogle client id
developerKeystringREQUIREDGoogle developer key
appIdstringREQUIRED"Project number" on the "IAM & Admin"
mimeTypesstringoptionalComma separated mimetypes to filter files
multiselectbooleanfalseEnable files multi select
tokenstringoptionalaccess token which skips auth/login step
success(files) => {}optionalfunction to call when files selected
cancelfunctionoptionalfunction to call when cancel is pressed
scopestring[]'https://www.googleapis.com/auth/drive.readonly'Array of scopes to auth then use in picker
mapViewsfunction(google) => new google.picker.DocsView(google.picker.ViewId.DOCS), new google.picker.DocsUploadView()views to show as tabs in picker
mapPickerBuilderfunction(pickerBuilder) => pickerBuildercustomize picker builder

OneDrive Usage

import React from 'react'

import { canOpenOneDrive } from 'react-cloud-chooser'

const OneDriveBtn = ({ openOneDrive, isOneDriveLoading }) => (
  <button onClick={openOneDrive}>
    OneDrive
    {isOneDriveLoading && <span>...</span>}
  </button>
)
const OneDriveOpenBtn = canOpenOneDrive(OneDriveBtn)

function OneDriveExample(props) {
  return (
    <OneDriveOpenBtn
      clientId='__client_id__'
      action="query"
      success={console.log}
      cancel={() => console.log('cancel pressed')}
    />
  )
}
propvaluedefault valuedescription
clientIdstringREQUIREDOneDrive client id
actionstringqueryaction with files selected either "share" or "download" or "query"
multiselectbooleanfalseEnable files multi select
advancedJSONoptionaladvanced customization for the behavior of the picker,
success(files) => {}optionalfunction to call when files selected
cancelfunctionoptionalfunction to call when closed without selecting

Dropbox Usage

import React from 'react'

import { canOpenDropbox } from 'react-cloud-chooser'

const DtopboxBtn = ({ openDropbox, isDropboxLoading }) => (
  <button onClick={openDropbox}>
    Dropbox
    {isDropboxLoading && <span>...</span>}
  </button>
)
const DropboxOpenBtn = canOpenDropbox(DtopboxBtn)

function DropboxExample(props) {
  return (
    <DropboxOpenBtn
      appKey="__app_key__"
      linkType='direct' // either direct or preview
      success={console.log}
      extensions='.pdf,.jpg'
    />
  )
}
propvaluedefault valuedescription
appKeystringREQUIREDDropbox app key
linkTypestringprevieweither direct or preview for the files selected
extensionsstringoptionalfile extensions to show only in dropbox
multiselectbooleanfalseEnable files multi select
success(files) => {}optionalfunction to call when files selected
cancelfunctionoptionalfunction to call when cancel is pressed

Author and License

MIT © Hesham Hossam heshamhossam57@gmail.com

1.0.0

2 years ago

0.2.0

2 years ago

0.1.3

2 years ago

0.1.2

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago