Skip to content
This repository was archived by the owner on Jan 27, 2025. It is now read-only.

Commit c458e15

Browse files
authored
Merge pull request #178 from uptick/refactor/update-dependencies
refactor: updated dependencies and replaced the DragDropContext decorator.
2 parents eb1bb8c + 2312603 commit c458e15

File tree

13 files changed

+3805
-4392
lines changed

13 files changed

+3805
-4392
lines changed

.storybook/preview.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
import React from 'react';
2+
import "../dist/react-keyed-file-browser.css"
3+
4+
export const decorators = [(Story) => <Story/>];

README.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,19 @@ Optionally, include the built css with an import:
7777

7878
```
7979

80+
Optionally, use your own React DND Provider:
81+
82+
```javascript
83+
import { RawFileBrowser } from 'react-keyed-file-browser'
84+
85+
import { DndProvider } from 'react-dnd'
86+
import { HTML5Backend } from 'react-dnd-html5-backend'
87+
88+
<DndProvider backend={HTML5Backend}>
89+
<RawFileBrowser files={[]}/>
90+
</DndProvider>
91+
```
92+
8093
or tag:
8194

8295
```html

index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
module.exports = require('./dist/react-keyed-file-browser');
1+
module.exports = require('./dist/react-keyed-file-browser')

package.json

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,11 @@
3333
"homepage": "https://github.com/uptick/react-keyed-file-browser#readme",
3434
"dependencies": {
3535
"classnames": "^2.2.6",
36-
"date-fns": "^2.12.0",
36+
"date-fns": "^2.22.1",
37+
"lodash.flow": "^3.5.0",
3738
"prop-types": "^15.7.2",
38-
"react-dnd": "^8.0",
39-
"react-dnd-html5-backend": "^8.0"
39+
"react-dnd": "^14.0.2",
40+
"react-dnd-html5-backend": "^14.0"
4041
},
4142
"peerDependencies": {
4243
"react": "0.14.x || 15.x || 16.x",
@@ -47,18 +48,15 @@
4748
"@babel/plugin-proposal-class-properties": "^7.3.0",
4849
"@babel/plugin-proposal-decorators": "^7.3.0",
4950
"@babel/plugin-proposal-export-default-from": "^7.2.0",
50-
"@babel/preset-env": "^7.10.3",
51-
"@babel/preset-react": "^7.0.0",
51+
"@babel/preset-env": "^7.14.4",
52+
"@babel/preset-react": "^7.13.13",
5253
"@sambego/storybook-state": "^2.0.1",
53-
"@storybook/react": "^6.0.16",
54-
"babel-cli": "^6.6.4",
54+
"@storybook/react": "^6.2.9",
5555
"babel-eslint": "^10.1.0",
5656
"babel-loader": "^8.0.5",
5757
"css-loader": "^3.4.2",
58-
"dotenv": "^8.2.0",
5958
"eslint": "^6.8.0",
6059
"eslint-config-standard": "^14.1.1",
61-
"eslint-config-standard-jsx": "^8.1.0",
6260
"eslint-config-standard-react": "^9.2.0",
6361
"eslint-plugin-babel": "^5.3.0",
6462
"eslint-plugin-import": "^2.20.2",
@@ -72,9 +70,8 @@
7270
"react-dom": "^16.13.0",
7371
"sass-loader": "^8.0.2",
7472
"style-loader": "^1.1.3",
75-
"typescript": "^3.8.3",
7673
"webpack": "^4.29.1",
77-
"webpack-cli": "^3.2.3",
74+
"webpack-cli": "^4.7.0",
7875
"webpack-node-externals": "^1.5.4"
7976
}
8077
}

src/browser.js

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import PropTypes from 'prop-types'
2-
import React from 'react'
2+
import React, { Component } from 'react'
33
// drag and drop
4-
import HTML5Backend from 'react-dnd-html5-backend'
5-
import { DragDropContext } from 'react-dnd'
4+
import { DndProvider } from 'react-dnd'
5+
import { HTML5Backend } from 'react-dnd-html5-backend'
66

77
// default components (most overridable)
88
import { DefaultDetail } from './details'
@@ -854,8 +854,16 @@ class RawFileBrowser extends React.Component {
854854
}
855855
}
856856

857-
@DragDropContext(HTML5Backend)
858-
class FileBrowser extends RawFileBrowser { }
857+
class FileBrowser extends Component {
858+
render() {
859+
return (
860+
<DndProvider backend={HTML5Backend}>
861+
<RawFileBrowser {...this.props} />
862+
</DndProvider>
863+
)
864+
}
865+
}
859866

860867
export default FileBrowser
868+
861869
export { RawFileBrowser }

src/files/list-thumbnail.js

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import ClassNames from 'classnames'
33
import { DragSource, DropTarget } from 'react-dnd'
44
import { NativeTypes } from 'react-dnd-html5-backend'
55
import { formatDistanceToNow } from 'date-fns'
6+
import flow from 'lodash/flow'
67

78
import BaseFile, { BaseFileConnectors } from './../base-file.js'
89
import { fileSize } from './utils.js'
@@ -127,13 +128,10 @@ class RawListThumbnailFile extends BaseFile {
127128
}
128129
}
129130

130-
@DragSource('file', BaseFileConnectors.dragSource, BaseFileConnectors.dragCollect)
131-
@DropTarget(
132-
['file', 'folder', NativeTypes.FILE],
133-
BaseFileConnectors.targetSource,
134-
BaseFileConnectors.targetCollect
135-
)
136-
class ListThumbnailFile extends RawListThumbnailFile {}
131+
const ListThumbnailFile = flow(
132+
DragSource('file', BaseFileConnectors.dragSource, BaseFileConnectors.dragCollect),
133+
DropTarget(['file', 'folder', NativeTypes.FILE], BaseFileConnectors.targetSource, BaseFileConnectors.targetCollect)
134+
)(RawListThumbnailFile)
137135

138136
export default ListThumbnailFile
139137
export { RawListThumbnailFile }

src/files/table.js

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import ClassNames from 'classnames'
33
import { DragSource, DropTarget } from 'react-dnd'
44
import { NativeTypes } from 'react-dnd-html5-backend'
55
import { formatDistanceToNow } from 'date-fns'
6+
import flow from 'lodash/flow'
67

78
import BaseFile, { BaseFileConnectors } from './../base-file.js'
89
import { fileSize } from './utils.js'
@@ -95,13 +96,10 @@ class RawTableFile extends BaseFile {
9596
}
9697
}
9798

98-
@DragSource('file', BaseFileConnectors.dragSource, BaseFileConnectors.dragCollect)
99-
@DropTarget(
100-
['file', 'folder', NativeTypes.FILE],
101-
BaseFileConnectors.targetSource,
102-
BaseFileConnectors.targetCollect
103-
)
104-
class TableFile extends RawTableFile {}
99+
const TableFile = flow(
100+
DragSource('file', BaseFileConnectors.dragSource, BaseFileConnectors.dragCollect),
101+
DropTarget(['file', 'folder', NativeTypes.FILE], BaseFileConnectors.targetSource, BaseFileConnectors.targetCollect)
102+
)(RawTableFile)
105103

106104
export default TableFile
107105
export { RawTableFile }

src/folders/list-thumbnail.js

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import React from 'react'
22
import ClassNames from 'classnames'
33
import { DragSource, DropTarget } from 'react-dnd'
44
import { NativeTypes } from 'react-dnd-html5-backend'
5+
import flow from 'lodash/flow'
56

67
import BaseFolder, { BaseFolderConnectors } from './../base-folder.js'
78
import { BaseFileConnectors } from './../base-file.js'
@@ -122,13 +123,10 @@ class RawListThumbnailFolder extends BaseFolder {
122123
}
123124
}
124125

125-
@DragSource('folder', BaseFolderConnectors.dragSource, BaseFolderConnectors.dragCollect)
126-
@DropTarget(
127-
['file', 'folder', NativeTypes.FILE],
128-
BaseFileConnectors.targetSource,
129-
BaseFileConnectors.targetCollect
130-
)
131-
class ListThumbnailFolder extends RawListThumbnailFolder {}
126+
const ListThumbnailFolder = flow(
127+
DragSource('folder', BaseFolderConnectors.dragSource, BaseFolderConnectors.dragCollect),
128+
DropTarget(['file', 'folder', NativeTypes.FILE], BaseFileConnectors.targetSource, BaseFileConnectors.targetCollect)
129+
)(RawListThumbnailFolder)
132130

133131
export default ListThumbnailFolder
134132
export { RawListThumbnailFolder }

src/folders/table.js

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import React from 'react'
22
import ClassNames from 'classnames'
33
import { DragSource, DropTarget } from 'react-dnd'
44
import { NativeTypes } from 'react-dnd-html5-backend'
5+
import flow from 'lodash/flow'
56

67
import BaseFolder, { BaseFolderConnectors } from './../base-folder.js'
78
import { BaseFileConnectors } from './../base-file.js'
@@ -91,13 +92,10 @@ class RawTableFolder extends BaseFolder {
9192
}
9293
}
9394

94-
@DragSource('folder', BaseFolderConnectors.dragSource, BaseFolderConnectors.dragCollect)
95-
@DropTarget(
96-
['file', 'folder', NativeTypes.FILE],
97-
BaseFileConnectors.targetSource,
98-
BaseFileConnectors.targetCollect
99-
)
100-
class TableFolder extends RawTableFolder {}
95+
const TableFolder = flow(
96+
DragSource('folder', BaseFolderConnectors.dragSource, BaseFolderConnectors.dragCollect),
97+
DropTarget(['file', 'folder', NativeTypes.FILE], BaseFileConnectors.targetSource, BaseFileConnectors.targetCollect)
98+
)(RawTableFolder)
10199

102100
export default TableFolder
103101
export { RawTableFolder }

src/headers/table.js

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,12 +53,11 @@ class RawTableHeader extends React.Component {
5353
}
5454
}
5555

56-
@DropTarget(
57-
['file', 'folder', NativeTypes.FILE],
58-
BaseFileConnectors.targetSource,
56+
const TableHeader = DropTarget(
57+
['file', 'folder', NativeTypes.FILE],
58+
BaseFileConnectors.targetSource,
5959
BaseFileConnectors.targetCollect
60-
)
61-
class TableHeader extends RawTableHeader {}
60+
)(RawTableHeader)
6261

6362
export default TableHeader
6463
export { RawTableHeader }

src/icons/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
export FontAwesome from './FontAwesome'
1+
export { default as FontAwesome } from './FontAwesome'

0 commit comments

Comments
 (0)