diff --git a/frontend/config/webpack.config.dev.js b/frontend/config/webpack.config.dev.js index afa1a26b88..ee13de63eb 100644 --- a/frontend/config/webpack.config.dev.js +++ b/frontend/config/webpack.config.dev.js @@ -220,7 +220,7 @@ module.exports = { paths.appSrc + "/pages/sys-admin", ], viewDataGrid: [ - require.resolve('./polyfills'), + // require.resolve('./polyfills'), require.resolve('react-dev-utils/webpackHotDevClient'), paths.appSrc + "/view-file-ctable.js", ], diff --git a/frontend/package.json b/frontend/package.json index 231fad10cc..daf4c78d47 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -4,6 +4,7 @@ "private": true, "dependencies": { "@reach/router": "^1.2.0", + "@seafile/dtable": "0.0.25", "@seafile/react-data-grid": "^6.1.5", "@seafile/react-data-grid-addons": "^6.1.5", "@seafile/resumablejs": "^1.1.9", @@ -29,15 +30,15 @@ "prismjs": "^1.15.0", "prop-types": "^15.6.2", "raf": "3.4.0", - "react": "^16.4.2", + "react": "^16.8.6", "react-codemirror": "^1.0.0", "react-cookies": "^0.1.0", - "react-dom": "^16.5.2", + "react-dom": "^16.8.6", "react-image-lightbox": "^5.1.0", "react-moment": "^0.7.9", "react-responsive": "^6.1.1", "react-select": "^2.4.1", - "reactstrap": "^6.4.0", + "reactstrap": "^8.0.0", "seafile-js": "^0.2.91", "socket.io-client": "^2.2.0", "sw-precache-webpack-plugin": "0.11.4", diff --git a/frontend/src/view-file-ctable.js b/frontend/src/view-file-ctable.js index 0e98a503c1..9f646f0881 100644 --- a/frontend/src/view-file-ctable.js +++ b/frontend/src/view-file-ctable.js @@ -1,53 +1,13 @@ -import React, { Fragment } from 'react'; +import React from 'react'; import ReactDOM from 'react-dom'; -import AppHeader from './pages/data-grid/app-header'; -import AppMain from './pages/data-grid/app-main'; import { seafileAPI } from './utils/seafile-api'; -import { Utils } from './utils/utils'; -import { gettext } from './utils/constants'; -import toaster from './components/toast'; - -import './css/layout.css'; -import './css/file-view-data-grid.css'; -import './css/react-context-menu.css'; - -const { repoID, fileName, filePath } = window.app.pageOptions; +import SeafileTable from '@seafile/dtable/lib'; class ViewFileSDB extends React.Component { - constructor(props) { - super(props); - this.state = { - isContentChanged: false, - }; - } - - onContentChanged = () => { - this.setState({isContentChanged: true}); - } - - onSave = () => { - this.setState({isContentChanged: false}); - - let data = this.refs.data_grid.serializeGridData(); - - let dirPath = Utils.getDirName(filePath); - seafileAPI.getUpdateLink(repoID, dirPath).then(res => { - let updateLink = res.data; - seafileAPI.updateFile(updateLink, filePath, fileName, JSON.stringify(data)).then(res => { - toaster.success(gettext('File saved.')); - }).catch(() => { - toaster.success(gettext('File save failed.')); - }); - }); - } - render() { return ( - - - - + ); } }