From 04f29704b3b1edff7bc30aa4cb0cad05624c29e9 Mon Sep 17 00:00:00 2001 From: llj Date: Mon, 2 Nov 2020 13:56:35 +0800 Subject: [PATCH] [eslint] updated eslintrc and improved the code (#4702) --- frontend/.eslintrc.json | 1 + frontend/src/app.js | 10 +-- frontend/src/components/common/notice-item.js | 14 ++--- .../src/components/common/notification.js | 6 +- .../components/context-menu/context-menu.js | 12 ++-- .../context-menu/globalEventListener.js | 2 +- frontend/src/components/copy-to-clipboard.js | 2 +- .../src/components/cur-dir-path/dir-path.js | 20 +++--- .../src/components/cur-dir-path/dir-tool.js | 2 +- frontend/src/components/cur-dir-path/index.js | 8 +-- .../src/components/date-and-time-picker.js | 2 +- .../dialog/change-repo-password-dialog.js | 6 +- frontend/src/components/dialog/clean-trash.js | 6 +- .../src/components/dialog/commit-details.js | 6 +- .../components/dialog/confirm-restore-repo.js | 2 +- .../components/dialog/copy-dirent-dialog.js | 14 ++--- .../copy-move-dirent-progress-dialog.js | 10 +-- .../dialog/create-department-repo-dialog.js | 14 ++--- .../components/dialog/create-file-dialog.js | 26 ++++---- .../components/dialog/create-folder-dialog.js | 12 ++-- .../components/dialog/create-repo-dialog.js | 28 ++++----- .../src/components/dialog/delete-dialog.js | 2 +- .../components/dialog/edit-filetag-dialog.js | 2 +- .../dialog/edit-repo-commit-labels.js | 8 +-- .../dialog/file-participant-dialog.js | 2 +- .../components/dialog/generate-share-link.js | 8 +-- .../components/dialog/generate-upload-link.js | 14 ++--- .../dialog/insert-repo-image-dialog.js | 2 +- .../components/dialog/invite-people-dialog.js | 2 +- .../dialog/label-repo-state-dialog.js | 12 ++-- .../components/dialog/lib-decrypt-dialog.js | 4 +- .../dialog/lib-history-setting-dialog.js | 14 ++--- .../dialog/lib-old-files-auto-del-dialog.js | 8 +-- .../lib-sub-folder-permission-dialog.js | 8 +-- ...-sub-folder-set-group-permission-dialog.js | 40 ++++++------ ...b-sub-folder-set-user-permission-dialog.js | 38 ++++++------ .../dialog/list-created-files-dialog.js | 6 +- .../dialog/list-related-file-dialog.js | 2 +- .../dialog/list-repo-drafts-dialog.js | 6 +- .../dialog/manage-members-dialog.js | 6 +- .../components/dialog/move-dirent-dialog.js | 14 ++--- .../src/components/dialog/new-wiki-dialog.js | 2 +- frontend/src/components/dialog/op-menu.js | 4 +- .../components/dialog/org-add-admin-dialog.js | 2 +- .../dialog/org-add-department-dialog.js | 10 +-- .../components/dialog/org-add-repo-dialog.js | 8 +-- .../components/dialog/org-add-user-dialog.js | 2 +- .../dialog/org-logs-file-update-detail.js | 2 +- .../dialog/org-set-group-quota-dialog.js | 6 +- frontend/src/components/dialog/perm-select.js | 4 +- .../src/components/dialog/readme-dialog.js | 4 +- .../components/dialog/related-file-dialogs.js | 4 +- .../src/components/dialog/rename-dialog.js | 6 +- .../src/components/dialog/rename-dirent.js | 6 +- .../dialog/repo-share-upload-links-dialog.js | 2 +- .../reset-encrypted-repo-password-dialog.js | 18 +++--- .../dialog/set-org-user-contact-email.js | 8 +-- .../components/dialog/set-org-user-name.js | 8 +-- .../components/dialog/set-org-user-quota.js | 8 +-- .../dialog/share-link-permission-select.js | 4 +- .../components/dialog/share-repo-dialog.js | 6 +- .../src/components/dialog/share-to-group.js | 38 ++++++------ .../dialog/share-to-other-server.js | 6 +- .../src/components/dialog/share-to-user.js | 28 ++++----- .../dialog/sysadmin-dialog/set-quota.js | 2 +- .../sysadmin-add-department-dialog.js | 10 +-- .../sysadmin-add-institution-dialog.js | 2 +- .../sysadmin-add-institution-member-dialog.js | 2 +- .../sysadmin-add-or-update-term-dialog.js | 2 +- .../sysadmin-add-org-dialog.js | 6 +- .../sysadmin-add-repo-dialog.js | 8 +-- .../sysadmin-add-user-dialog.js | 22 +++---- .../sysadmin-batch-add-admin-dialog.js | 2 +- .../sysadmin-create-group-dialog.js | 8 +-- .../sysadmin-create-repo-dialog.js | 8 +-- .../sysadmin-group-add-member-dialog.js | 4 +- .../sysadmin-group-transfer-dialog.js | 6 +- .../sysadmin-lib-history-setting-dialog.js | 14 ++--- .../sysadmin-logs-export-excel-dialog.js | 2 +- .../sysadmin-repo-transfer-dialog.js | 4 +- .../sysadmin-set-group-quota-dialog.js | 6 +- ...sysadmin-set-org-max-user-number-dialog.js | 14 ++--- .../sysadmin-set-org-name-dialog.js | 12 ++-- .../sysadmin-dialog/sysadmin-share-dialog.js | 2 +- .../sysadmin-share-to-group.js | 32 +++++----- .../sysadmin-dialog/sysadmin-share-to-user.js | 26 ++++---- .../sysadmin-unlink-device-dialog.js | 6 +- .../dialog/sysadmin-dialog/update-user.js | 12 ++-- .../components/dialog/terms-editor-dialog.js | 8 +-- .../src/components/dialog/transfer-dialog.js | 2 +- .../dialog/update-webdav-password.js | 2 +- .../components/dialog/wiki-delete-dialog.js | 2 +- .../components/dialog/wiki-select-dialog.js | 2 +- .../components/dialog/zip-download-dialog.js | 12 ++-- .../dir-view-mode/dir-column-file.js | 2 +- .../dir-view-mode/dir-column-nav.js | 6 +- .../dir-view-mode/dir-column-view.js | 8 +-- .../components/dir-view-mode/dir-grid-view.js | 4 +- .../components/dir-view-mode/dir-list-view.js | 6 +- .../dirent-detail/detail-list-view.js | 2 +- .../dirent-grid-view/dirent-grid-item.js | 20 +++--- .../dirent-grid-view/dirent-grid-view.js | 24 +++---- .../dirent-list-view/dirent-list-item.js | 50 +++++++-------- .../dirent-list-view/dirent-list-view.js | 62 +++++++++---------- .../dirent-list-view/dirent-none-view.js | 2 +- .../draft-list-view/draft-list-item.js | 8 +-- .../draft-list-view/draft-list-view.js | 6 +- .../draggable/dirents-dragged-preview.js | 10 +-- .../dropdown-menu/item-dropdown-menu.js | 10 +-- frontend/src/components/empty-tip.js | 2 +- .../components/file-chooser/file-chooser.js | 28 ++++----- .../components/file-chooser/repo-list-item.js | 8 +-- .../components/file-chooser/repo-list-view.js | 6 +- .../file-chooser/searched-list-item.js | 4 +- .../file-chooser/searched-list-view.js | 8 +-- .../components/file-chooser/tree-list-item.js | 4 +- .../components/file-chooser/tree-list-view.js | 4 +- .../src/components/file-content-view/image.js | 2 +- .../components/file-content-view/markdown.js | 2 +- .../src/components/file-content-view/video.js | 8 +-- .../components/file-uploader/file-uploader.js | 38 ++++++------ .../file-uploader/upload-list-item.js | 2 +- .../file-uploader/upload-progress-dialog.js | 10 +-- .../src/components/file-view/comment-panel.js | 2 +- .../src/components/file-view/file-info.js | 2 +- .../src/components/file-view/file-toolbar.js | 14 ++--- .../src/components/file-view/file-view-tip.js | 2 +- .../src/components/file-view/file-view.js | 8 +-- .../history-list-view/history-list-item.js | 16 ++--- .../history-list-view/history-list-view.js | 2 +- .../history-trash-file-view/download.js | 2 +- .../history-trash-file-view/file-view-tip.js | 2 +- frontend/src/components/icon-button.js | 10 +-- frontend/src/components/index-viewer.js | 18 +++--- frontend/src/components/logo.js | 12 ++-- frontend/src/components/menu-control.js | 2 +- .../src/components/org-admin-group-nav.js | 2 +- frontend/src/components/org-admin-user-nav.js | 2 +- frontend/src/components/paginator.js | 4 +- .../src/components/permission-denied-tip.js | 4 +- frontend/src/components/rename.js | 12 ++-- frontend/src/components/repo-info-bar.js | 6 +- .../review-list-view/review-comment-dialog.js | 2 +- .../review-list-view/review-comments.js | 4 +- frontend/src/components/search/search.js | 18 +++--- frontend/src/components/search/wiki-search.js | 16 ++--- .../components/select-editor/role-editor.js | 4 +- .../components/select-editor/select-editor.js | 6 +- .../share-link-permission-editor.js | 2 +- .../select-editor/share-permission-editor.js | 2 +- .../sysadmin-group-role-editor.js | 2 +- .../sysadmin-user-role-editor.js | 2 +- .../select-editor/user-status-editor.js | 4 +- .../select-editor/wiki-permission-editor.js | 4 +- frontend/src/components/send-link.js | 4 +- .../file-uploader.js | 30 ++++----- .../upload-list-item.js | 2 +- .../upload-progress-dialog.js | 8 +-- .../shared-repo-list-item.js | 50 +++++++-------- .../src/components/system-notification.js | 4 +- .../src/components/terms-preview-widget.js | 2 +- .../src/components/toolbar/common-toolbar.js | 4 +- .../toolbar/dir-operation-toolbar.js | 4 +- .../src/components/toolbar/general-toolbar.js | 10 +-- .../toolbar/markdown-viewer-toolbar.js | 6 +- .../toolbar/multiple-dir-operation-toolbar.js | 10 +-- .../components/toolbar/repo-view-toobar.js | 4 +- .../components/toolbar/view-file-toolbar.js | 4 +- .../src/components/tree-view/tree-helper.js | 4 +- .../components/tree-view/tree-node-view.js | 18 +++--- .../src/components/tree-view/tree-node.js | 2 +- .../src/components/tree-view/tree-view.js | 28 ++++----- frontend/src/components/tree-view/tree.js | 4 +- frontend/src/components/user-select.js | 4 +- .../user-settings/delete-account.js | 2 +- .../components/user-settings/email-notice.js | 6 +- .../user-settings/list-in-address-book.js | 4 +- .../src/components/user-settings/side-nav.js | 2 +- .../components/user-settings/social-login.js | 2 +- .../user-settings/two-factor-auth.js | 2 +- .../user-settings/user-avatar-form.js | 2 +- .../user-settings/user-basic-info-form.js | 2 +- .../user-settings/webdav-password.js | 2 +- .../wiki-list-view/wiki-list-item.js | 4 +- .../wiki-list-view/wiki-list-view.js | 4 +- .../src/components/wiki-markdown-viewer.js | 8 +-- frontend/src/components/wiki-outline.js | 16 ++--- frontend/src/draft.js | 26 ++++---- frontend/src/file-history-old.js | 2 +- frontend/src/file-history.js | 2 +- frontend/src/file-view.js | 8 +-- frontend/src/history-trash-file-view.js | 12 ++-- frontend/src/markdown-editor.js | 2 +- frontend/src/models/repo-info.js | 4 +- frontend/src/models/review.js | 4 +- frontend/src/models/shared-repo-info.js | 2 +- frontend/src/models/upload-link.js | 2 +- .../src/pages/dashboard/files-activities.js | 12 ++-- frontend/src/pages/drafts/draft-content.js | 4 +- .../pages/file-history-old/history-item.js | 2 +- frontend/src/pages/file-history/main-panel.js | 10 +-- frontend/src/pages/file-history/side-panel.js | 4 +- frontend/src/pages/groups/group-view.js | 40 ++++++------ frontend/src/pages/groups/groups-view.js | 20 +++--- .../src/pages/invitations/invitations-view.js | 14 ++--- .../lib-content-view/lib-content-container.js | 18 +++--- .../lib-content-view/lib-content-toolbar.js | 8 +-- .../lib-content-view/lib-content-view.js | 46 +++++++------- .../pages/linked-devices/linked-devices.js | 4 +- frontend/src/pages/my-libs/my-libs-deleted.js | 6 +- frontend/src/pages/my-libs/my-libs.js | 8 +-- .../src/pages/my-libs/mylib-repo-list-item.js | 4 +- frontend/src/pages/my-libs/mylib-repo-menu.js | 14 ++--- frontend/src/pages/org-admin/index.js | 4 +- .../src/pages/org-admin/org-admin-list.js | 2 +- .../pages/org-admin/org-department-item.js | 8 +-- .../pages/org-admin/org-departments-list.js | 2 +- .../src/pages/org-admin/org-group-info.js | 8 +-- .../src/pages/org-admin/org-group-members.js | 12 ++-- .../src/pages/org-admin/org-group-repos.js | 16 ++--- frontend/src/pages/org-admin/org-groups.js | 18 +++--- frontend/src/pages/org-admin/org-libraries.js | 14 ++--- frontend/src/pages/org-admin/org-links.js | 4 +- .../pages/org-admin/org-logs-file-audit.js | 14 ++--- .../pages/org-admin/org-logs-file-update.js | 14 ++--- .../pages/org-admin/org-logs-perm-audit.js | 30 ++++----- frontend/src/pages/org-admin/org-user-item.js | 8 +-- .../src/pages/org-admin/org-user-profile.js | 20 +++--- .../src/pages/org-admin/org-user-repos.js | 14 ++--- .../pages/org-admin/org-user-shared-repos.js | 12 ++-- .../src/pages/org-admin/org-users-admins.js | 2 +- .../src/pages/org-admin/org-users-list.js | 2 +- .../src/pages/org-admin/org-users-users.js | 10 +-- .../src/pages/repo-wiki-mode/side-panel.js | 14 ++--- frontend/src/pages/search/advanced-search.js | 4 +- frontend/src/pages/search/main-panel.js | 2 +- frontend/src/pages/share-admin/folders.js | 12 ++-- frontend/src/pages/share-admin/libraries.js | 14 ++--- frontend/src/pages/share-admin/share-links.js | 26 ++++---- .../src/pages/share-admin/upload-links.js | 18 +++--- .../share-with-ocm/remote-dir-content.js | 2 +- .../pages/share-with-ocm/remote-dir-view.js | 4 +- .../shared-with-all/public-shared-view.js | 8 +-- .../pages/sys-admin/admin-logs/login-logs.js | 4 +- .../sys-admin/admin-logs/operation-logs.js | 6 +- .../departments/department-detail.js | 6 +- .../sys-admin/departments/departments-list.js | 2 +- .../sys-admin/devices/desktop-devices.js | 2 +- .../sys-admin/devices/devices-by-platform.js | 8 +-- .../pages/sys-admin/devices/devices-errors.js | 4 +- .../pages/sys-admin/devices/devices-nav.js | 2 +- .../pages/sys-admin/devices/mobile-devices.js | 2 +- .../src/pages/sys-admin/file-scan-records.js | 2 +- .../pages/sys-admin/groups/group-members.js | 8 +-- .../src/pages/sys-admin/groups/group-repos.js | 10 +-- .../pages/sys-admin/groups/groups-content.js | 12 ++-- frontend/src/pages/sys-admin/groups/groups.js | 22 +++---- .../pages/sys-admin/groups/search-groups.js | 4 +- frontend/src/pages/sys-admin/index.js | 6 +- frontend/src/pages/sys-admin/info.js | 2 +- .../institutions/institution-admins.js | 20 +++--- .../institutions/institution-info.js | 2 +- .../institutions/institution-users.js | 20 +++--- .../sys-admin/institutions/institutions.js | 6 +- .../sys-admin/invitations/invitations.js | 24 +++---- .../src/pages/sys-admin/links/share-links.js | 8 +-- .../src/pages/sys-admin/links/upload-links.js | 4 +- .../sys-admin/logs-page/file-access-logs.js | 4 +- .../sys-admin/logs-page/file-update-logs.js | 6 +- .../pages/sys-admin/logs-page/login-logs.js | 6 +- .../logs-page/share-permission-logs.js | 18 +++--- .../sys-admin/notifications/notifications.js | 6 +- .../src/pages/sys-admin/orgs/org-groups.js | 4 +- frontend/src/pages/sys-admin/orgs/org-info.js | 2 +- .../src/pages/sys-admin/orgs/org-repos.js | 4 +- .../src/pages/sys-admin/orgs/org-users.js | 22 +++---- .../src/pages/sys-admin/orgs/orgs-content.js | 10 +-- frontend/src/pages/sys-admin/orgs/orgs.js | 8 +-- .../src/pages/sys-admin/orgs/search-orgs.js | 6 +- .../src/pages/sys-admin/repos/all-repos.js | 6 +- .../src/pages/sys-admin/repos/dir-content.js | 2 +- .../src/pages/sys-admin/repos/dir-view.js | 14 ++--- .../src/pages/sys-admin/repos/repos-nav.js | 6 +- frontend/src/pages/sys-admin/repos/repos.js | 14 ++--- .../src/pages/sys-admin/repos/search-repos.js | 6 +- .../src/pages/sys-admin/repos/trash-repos.js | 24 +++---- frontend/src/pages/sys-admin/search.js | 2 +- frontend/src/pages/sys-admin/side-panel.js | 6 +- .../src/pages/sys-admin/statistic/picker.js | 2 +- .../sys-admin/statistic/statistic-chart.js | 2 +- .../statistic/statistic-common-tool.js | 8 +-- .../sys-admin/statistic/statistic-file.js | 10 +-- .../sys-admin/statistic/statistic-reports.js | 2 +- .../sys-admin/statistic/statistic-storage.js | 6 +- .../statistic/statistic-traffic-orgs.js | 12 ++-- .../statistic/statistic-traffic-users.js | 22 +++---- .../sys-admin/statistic/statistic-traffic.js | 40 ++++++------ .../sys-admin/statistic/statistic-users.js | 6 +- .../sys-admin/statistic/traffic-table-body.js | 6 +- .../sys-admin/terms-and-conditions/content.js | 2 +- .../sys-admin/terms-and-conditions/item.js | 4 +- .../terms-and-conditions.js | 2 +- .../src/pages/sys-admin/users/admin-users.js | 2 +- .../sys-admin/users/ldap-imported-users.js | 2 +- .../src/pages/sys-admin/users/ldap-users.js | 4 +- .../src/pages/sys-admin/users/search-users.js | 12 ++-- .../src/pages/sys-admin/users/user-groups.js | 12 ++-- .../src/pages/sys-admin/users/user-info.js | 12 ++-- .../src/pages/sys-admin/users/user-links.js | 24 +++---- .../src/pages/sys-admin/users/user-repos.js | 14 ++--- .../sys-admin/users/user-shared-repos.js | 10 +-- .../pages/sys-admin/users/users-content.js | 32 +++++----- .../src/pages/sys-admin/users/users-nav.js | 2 +- frontend/src/pages/sys-admin/users/users.js | 18 +++--- .../sys-admin/virus-scan/all-virus-files.js | 18 +++--- .../src/pages/sys-admin/virus-scan/nav.js | 4 +- .../virus-scan/unhandled-virus-files.js | 20 +++--- .../sys-admin/web-settings/checkbox-item.js | 6 +- .../pages/sys-admin/web-settings/file-item.js | 2 +- .../sys-admin/web-settings/web-settings.js | 4 +- .../src/pages/upload-link/file-uploader.js | 38 ++++++------ .../src/pages/upload-link/upload-list-item.js | 2 +- .../upload-link/upload-progress-dialog.js | 10 +-- frontend/src/pages/wiki/main-panel.js | 10 +-- frontend/src/pages/wikis/wikis.js | 2 +- frontend/src/repo-folder-trash.js | 40 ++++++------ frontend/src/repo-history.js | 20 +++--- frontend/src/repo-snapshot.js | 24 +++---- frontend/src/shared-dir-view.js | 26 ++++---- frontend/src/tc-accept.js | 2 +- frontend/src/tc-view.js | 2 +- frontend/src/user-notifications.js | 16 ++--- frontend/src/utils/editor-utilities.js | 4 +- frontend/src/utils/pinyin-by-unicode.js | 2 +- frontend/src/utils/utils.js | 58 ++++++++--------- frontend/src/view-file-text.js | 2 +- frontend/src/wiki.js | 14 ++--- 337 files changed, 1586 insertions(+), 1585 deletions(-) diff --git a/frontend/.eslintrc.json b/frontend/.eslintrc.json index 8a133b5b46..e952492cdd 100644 --- a/frontend/.eslintrc.json +++ b/frontend/.eslintrc.json @@ -50,6 +50,7 @@ "no-irregular-whitespace": "warn", "no-console": "warn", "no-useless-escape": "warn", + "no-trailing-spaces": "warn", "react/jsx-indent": ["warn", 2], "react/prop-types": "warn", diff --git a/frontend/src/app.js b/frontend/src/app.js index a383815fba..37b51e0e60 100644 --- a/frontend/src/app.js +++ b/frontend/src/app.js @@ -93,7 +93,7 @@ class App extends Component { this.navigateClientUrlToLib(); // e.g. from http://127.0.0.1:8000/drafts/reviews/ - // get reviews + // get reviews // TODO: need refactor later let href = window.location.href.split('/'); if (isDocs) { @@ -106,16 +106,16 @@ class App extends Component { editUtilities.listDrafts().then(res => { this.setState({ draftCounts: res.data.draft_counts, - draftList: res.data.data, + draftList: res.data.data, isLoadingDraft: false, - }); + }); }); } updateDraftsList = (draft_id) => { this.setState({ draftCounts: this.state.draftCounts - 1, - draftList: this.state.draftList.filter(draft => draft.id != draft_id), + draftList: this.state.draftList.filter(draft => draft.id != draft_id), }); } @@ -176,7 +176,7 @@ class App extends Component { if (!Utils.isDesktop() && !this.state.isSidePanelClosed) { this.setState({ isSidePanelClosed: true }); } - } + } generatorPrefix = (tabName, groupID) => { let pathPrefix = []; diff --git a/frontend/src/components/common/notice-item.js b/frontend/src/components/common/notice-item.js index 303df029d3..384ebd9ee8 100644 --- a/frontend/src/components/common/notice-item.js +++ b/frontend/src/components/common/notice-item.js @@ -32,7 +32,7 @@ class NoticeItem extends React.Component { let avatar_url = detail.group_staff_avatar_url; let groupStaff = detail.group_staff_name; - + let userHref = siteRoot + 'profile/' + detail.group_staff_email + '/'; let groupHref = siteRoot + 'group/' + detail.group_id + '/'; let groupName = detail.group_name; @@ -80,7 +80,7 @@ class NoticeItem extends React.Component { let repoUrl = siteRoot + 'library/' + detail.repo_id + '/' + repoName + '/'; let groupUrl = siteRoot + 'group/' + detail.group_id + '/'; - let groupName = detail.group_name; + let groupName = detail.group_name; let path = detail.path; let notice = ''; @@ -150,7 +150,7 @@ class NoticeItem extends React.Component { notice = notice.replace('{author}', author); return {avatar_url, notice}; } - + if (noticeType === MSG_TYPE_DRAFT_COMMENT) { let avatar_url = detail.author_avatar_url; @@ -166,7 +166,7 @@ class NoticeItem extends React.Component { notice = notice.replace('{author}', author); return {avatar_url, notice}; } - + if (noticeType === MSG_TYPE_DRAFT_REVIEWER) { let avatar_url = detail.request_user_avatat_url; @@ -182,11 +182,11 @@ class NoticeItem extends React.Component { notice = notice.replace('{draft_link}', draftLink); return {avatar_url, notice}; } - + // if (noticeType === MSG_TYPE_GUEST_INVITATION_ACCEPTED) { - + // } - + return {avatar_url : null, notice : null}; } diff --git a/frontend/src/components/common/notification.js b/frontend/src/components/common/notification.js index 67b1b86786..d6f28c3e55 100644 --- a/frontend/src/components/common/notification.js +++ b/frontend/src/components/common/notification.js @@ -42,7 +42,7 @@ class Notification extends React.Component { }); } - onNoticeItemClick = (noticeItem) => { + onNoticeItemClick = (noticeItem) => { let noticeList = this.state.noticeList.map(item => { if (item.id === noticeItem.id) { item.seen = true; @@ -53,9 +53,9 @@ class Notification extends React.Component { let unseenCount = this.state.unseenCount === 0 ? 0 : this.state.unseenCount - 1; this.setState({ noticeList: noticeList, - unseenCount: unseenCount, + unseenCount: unseenCount, }); - + } render() { diff --git a/frontend/src/components/context-menu/context-menu.js b/frontend/src/components/context-menu/context-menu.js index c89e88a4da..f6df6d97f3 100644 --- a/frontend/src/components/context-menu/context-menu.js +++ b/frontend/src/components/context-menu/context-menu.js @@ -69,7 +69,7 @@ class ContextMenu extends React.Component { document.addEventListener('contextmenu', this.handleHide); document.addEventListener('keydown', this.handleKeyNavigation); window.addEventListener('resize', this.handleHide); - } + } unregisterHandlers = () => { document.removeEventListener('mousedown', this.handleOutsideClick); @@ -90,7 +90,7 @@ class ContextMenu extends React.Component { this.registerHandlers(); callIfExists(this.props.onShowMenu, e); } - + handleHide = (e) => { if (this.state.isVisible && (!e.detail || !e.detail.id || e.detail.id === this.props.id)) { this.unregisterHandlers(); @@ -155,7 +155,7 @@ class ContextMenu extends React.Component { } return menuStyles; - } + } getRTLMenuPosition = (x = 0, y = 0) => { let menuStyles = { @@ -211,9 +211,9 @@ class ContextMenu extends React.Component { return
; } else { return ( - +

{gettext('This library is password protected')}

diff --git a/frontend/src/components/dialog/lib-history-setting-dialog.js b/frontend/src/components/dialog/lib-history-setting-dialog.js index 0d86405ca5..4f4223051d 100644 --- a/frontend/src/components/dialog/lib-history-setting-dialog.js +++ b/frontend/src/components/dialog/lib-history-setting-dialog.js @@ -35,7 +35,7 @@ class LibHistorySetting extends React.Component { noHistory: res.data.keep_days === 0 ? true : false, autoHistory: res.data.keep_days > 0 ? true : false, disabled: res.data.keep_days > 0 ? false : true, - expireDays: res.data.keep_days > 0 ? res.data.keep_days : 30, + expireDays: res.data.keep_days > 0 ? res.data.keep_days : 30, }); }).catch(error => { let errMessage = Utils.getErrorMsg(error); @@ -51,7 +51,7 @@ class LibHistorySetting extends React.Component { let repoID = this.props.repoID; let reg = /^-?\d+$/; let flag = reg.test(days); - if (flag) { + if (flag) { let message = gettext('Successfully set library history.'); seafileAPI.setRepoHistoryLimit(repoID, days).then(res => { toaster.success(message); @@ -94,7 +94,7 @@ class LibHistorySetting extends React.Component { }); } else { this.setState({ - disabled: false + disabled: false }); } @@ -131,11 +131,11 @@ class LibHistorySetting extends React.Component { {this.setLimitDays('autoHistory');}}/>{' '} - {' '} diff --git a/frontend/src/components/dialog/lib-old-files-auto-del-dialog.js b/frontend/src/components/dialog/lib-old-files-auto-del-dialog.js index 689e63d964..cb48eef6c4 100644 --- a/frontend/src/components/dialog/lib-old-files-auto-del-dialog.js +++ b/frontend/src/components/dialog/lib-old-files-auto-del-dialog.js @@ -103,11 +103,11 @@ class LibOldFilesAutoDelDialog extends React.Component { {this.updateRadioCheck('autoDel');}}/>{' '} - {' '} diff --git a/frontend/src/components/dialog/lib-sub-folder-permission-dialog.js b/frontend/src/components/dialog/lib-sub-folder-permission-dialog.js index 542d521893..2c5b33c2e3 100644 --- a/frontend/src/components/dialog/lib-sub-folder-permission-dialog.js +++ b/frontend/src/components/dialog/lib-sub-folder-permission-dialog.js @@ -1,6 +1,6 @@ import React, { Fragment } from 'react'; import PropTypes from 'prop-types'; -import { Modal, ModalHeader, ModalBody, TabContent, TabPane, Nav, NavItem, NavLink } from 'reactstrap'; +import { Modal, ModalHeader, ModalBody, TabContent, TabPane, Nav, NavItem, NavLink } from 'reactstrap'; import { gettext } from '../../utils/constants'; import { Utils } from '../../utils/utils'; import LibSubFolderSetUserPermissionDialog from './lib-sub-folder-set-user-permission-dialog'; @@ -8,7 +8,7 @@ import LibSubFolderSetGroupPermissionDialog from './lib-sub-folder-set-group-per import '../../css/share-link-dialog.css'; import '../../css/sub-folder-permission.css'; -const propTypes = { +const propTypes = { repoID: PropTypes.string.isRequired, repoName: PropTypes.string, isDepartmentRepo: PropTypes.bool, @@ -33,7 +33,7 @@ class LibSubFolderPermissionDialog extends React.Component { renderContent = () => { let activeTab = this.state.activeTab; - + return (
@@ -66,7 +66,7 @@ class LibSubFolderPermissionDialog extends React.Component { render() { const { repoName, folderName } = this.props; - + return (
diff --git a/frontend/src/components/dialog/lib-sub-folder-set-group-permission-dialog.js b/frontend/src/components/dialog/lib-sub-folder-set-group-permission-dialog.js index 37302e2531..a061283d11 100644 --- a/frontend/src/components/dialog/lib-sub-folder-set-group-permission-dialog.js +++ b/frontend/src/components/dialog/lib-sub-folder-set-group-permission-dialog.js @@ -17,7 +17,7 @@ class GroupItem extends React.Component { isOperationShow: false }; } - + onMouseEnter = () => { this.setState({isOperationShow: true}); } @@ -49,7 +49,7 @@ class GroupItem extends React.Component { } - @@ -166,20 +166,20 @@ class LibSubFolderSerGroupPermissionDialog extends React.Component { folderPath: '' }); }).catch((error) => { - let errorMsg = ''; + let errorMsg = ''; if (error.response) { if (error.response.data && error.response.data['error_msg']) { errorMsg = error.response.data['error_msg']; } else { errorMsg = gettext('Error'); - } + } } else { errorMsg = gettext('Please check the network.'); - } + } this.setState({ errorMsg: [errorMsg] - }); - }); + }); + }); } deleteGroupPermissionItem = (item) => { @@ -188,7 +188,7 @@ class LibSubFolderSerGroupPermissionDialog extends React.Component { seafileAPI.deleteGroupFolderPerm(item.repo_id, item.permission, item.folder_path, item.group_id); request.then(() => { this.setState({ - groupPermissionItems: this.state.groupPermissionItems.filter(deletedItem => { return deletedItem != item; }) + groupPermissionItems: this.state.groupPermissionItems.filter(deletedItem => { return deletedItem != item; }) }); }); } @@ -201,7 +201,7 @@ class LibSubFolderSerGroupPermissionDialog extends React.Component { this.updateGroupPermission(item, permission); }); } - + updateGroupPermission = (item, permission) => { let groupID = item.group_id; let groupPermissionItems = this.state.groupPermissionItems.map(sharedItem => { @@ -216,7 +216,7 @@ class LibSubFolderSerGroupPermissionDialog extends React.Component { onSetSubFolder = (e) => { this.setState({ - folderPath: e.target.value + folderPath: e.target.value }); } @@ -230,7 +230,7 @@ class LibSubFolderSerGroupPermissionDialog extends React.Component { toggleSubFolder = (repo, path, item) => { this.setState({ folderPath: path, - }); + }); } handleSubmit = () => { @@ -241,7 +241,7 @@ class LibSubFolderSerGroupPermissionDialog extends React.Component { onRepoItemClick = () => { this.setState({ - folderPath: '/' + folderPath: '/' }); } @@ -251,7 +251,7 @@ class LibSubFolderSerGroupPermissionDialog extends React.Component { if (this.state.showFileChooser) { return (
- } - {gettext('Submit')} - {this.state.errorMsg.length > 0 && + {this.state.errorMsg.length > 0 && this.state.errorMsg.map((item, index) => { let errMessage = item.group_id + ': ' + item.error_msg; return ( @@ -322,7 +322,7 @@ class LibSubFolderSerGroupPermissionDialog extends React.Component {

{errMessage}

); - }) + }) } @@ -332,9 +332,9 @@ class LibSubFolderSerGroupPermissionDialog extends React.Component { {this.state.groupPermissionItems.map((item, index) => { return ( - { this.setState({isOperationShow: true}); } @@ -29,7 +29,7 @@ class UserItem extends React.Component { let item = this.props.item; this.props.deleteUserFolderPermission(item); } - + onChangeUserFolderPerm = (permission) => { let item = this.props.item; this.props.onChangeUserFolderPerm(item.repo_id, permission, item.folder_path, item.user_email); @@ -49,7 +49,7 @@ class UserItem extends React.Component { } - @@ -123,7 +123,7 @@ class LibSubFolderSetUserPermissionDialog extends React.Component { return false; } - const users = selectedUsers.map((item, index) => item.email); + const users = selectedUsers.map((item, index) => item.email); const request = this.props.isDepartmentRepo ? seafileAPI.addDepartmentRepoUserFolderPerm(this.props.repoID, this.state.permission, folderPath, users) : @@ -144,21 +144,21 @@ class LibSubFolderSetUserPermissionDialog extends React.Component { }); this.refs.userSelect.clearSelect(); }).catch((error) => { - let errorMsg = ''; + let errorMsg = ''; if (error.response) { if (error.response.data && error.response.data['error_msg']) { errorMsg = error.response.data['error_msg']; } else { errorMsg = gettext('Error'); - } + } } else { errorMsg = gettext('Please check the network.'); - } + } this.setState({ errorMsg: [errorMsg] }); - }); - } + }); + } deleteUserFolderPermItem = (item) => { const request = this.props.isDepartmentRepo ? @@ -168,7 +168,7 @@ class LibSubFolderSetUserPermissionDialog extends React.Component { this.setState({ userFolderPermItems: this.state.userFolderPermItems.filter(deletedItem => { return deletedItem != item; - }) + }) }); }); } @@ -190,7 +190,7 @@ class LibSubFolderSetUserPermissionDialog extends React.Component { onSetSubFolder = (e) => { this.setState({ - folderPath: e.target.value + folderPath: e.target.value }); } @@ -204,7 +204,7 @@ class LibSubFolderSetUserPermissionDialog extends React.Component { toggleSubFolder = (repo, path, item) => { this.setState({ folderPath: path, - }); + }); } handleFileChooserSubmit = () => { @@ -215,7 +215,7 @@ class LibSubFolderSetUserPermissionDialog extends React.Component { onRepoItemClick = () => { this.setState({ - folderPath: '/' + folderPath: '/' }); } @@ -226,7 +226,7 @@ class LibSubFolderSetUserPermissionDialog extends React.Component { if (this.state.showFileChooser) { return (
- } - {userFolderPermItems.map((item, index) => { return ( - { let fileURL = `${siteRoot}lib/${item.repo_id}/file${Utils.encodePath(item.path)}`; - if (item.name.endsWith('(draft).md')) { + if (item.name.endsWith('(draft).md')) { fileURL = serviceURL + '/drafts/' + item.draft_id + '/'; - } + } let fileLink = {item.name}; if (item.name.endsWith('(draft).md') && !item.draft_id) { fileLink = item.name; - } + } return ( {fileLink} diff --git a/frontend/src/components/dialog/list-related-file-dialog.js b/frontend/src/components/dialog/list-related-file-dialog.js index 179b53ca94..233ad9388c 100644 --- a/frontend/src/components/dialog/list-related-file-dialog.js +++ b/frontend/src/components/dialog/list-related-file-dialog.js @@ -118,7 +118,7 @@ const RelatedFilePropTypes = { }; class RelatedFile extends React.Component { - + constructor(props) { super(props); this.state = ({ diff --git a/frontend/src/components/dialog/list-repo-drafts-dialog.js b/frontend/src/components/dialog/list-repo-drafts-dialog.js index 436451a546..18010317a6 100644 --- a/frontend/src/components/dialog/list-repo-drafts-dialog.js +++ b/frontend/src/components/dialog/list-repo-drafts-dialog.js @@ -23,15 +23,15 @@ class ListRepoDraftsDialog extends React.Component { }; } - componentDidMount() { + componentDidMount() { seafileAPI.listRepoDrafts(this.props.repoID).then(res => { let drafts = res.data.drafts.map(item => { let draft = new Draft(item); return draft; }); this.setState({ - drafts: drafts - }); + drafts: drafts + }); }); } diff --git a/frontend/src/components/dialog/manage-members-dialog.js b/frontend/src/components/dialog/manage-members-dialog.js index c52baddb9e..6608a83868 100644 --- a/frontend/src/components/dialog/manage-members-dialog.js +++ b/frontend/src/components/dialog/manage-members-dialog.js @@ -208,7 +208,7 @@ class Member extends React.PureComponent { translateRole = (role) => { if (role === 'Admin') { return gettext('Admin'); - } + } else if (role === 'Member') { return gettext('Member'); } @@ -225,11 +225,11 @@ class Member extends React.PureComponent { {item.name} - {((isOwner === false) || (isOwner === true && item.role === 'Owner')) && + {((isOwner === false) || (isOwner === true && item.role === 'Owner')) && {this.translateRole(item.role)} } {(isOwner === true && item.role !== 'Owner') && - A/B if (direntPaths.some(direntPath => { return direntPath === selectedPath;})) { this.setState({errMessage: message}); @@ -97,7 +97,7 @@ class MoveDirent extends React.Component { moveItem = () => { let { repoID } = this.props; - let { repo, selectedPath } = this.state; + let { repo, selectedPath } = this.state; let direntPath = Utils.joinPath(this.props.path, this.props.dirent.name); let message = gettext('Invalid destination path'); @@ -105,19 +105,19 @@ class MoveDirent extends React.Component { this.setState({errMessage: message}); return; } - + // copy the dirent to itself. eg: A/B -> A/B if (selectedPath && direntPath === selectedPath) { this.setState({errMessage: message}); return; } - + // copy the dirent to current path if (selectedPath && this.props.path === selectedPath && repo.repo_id === repoID) { this.setState({errMessage: message}); return; } - + // copy the dirent to it's child. eg: A/B -> A/B/C if ( selectedPath && selectedPath.length > direntPath.length && selectedPath.indexOf(direntPath) > -1) { message = gettext('Can not move directory %(src)s to its subdirectory %(des)s'); @@ -163,7 +163,7 @@ class MoveDirent extends React.Component {
- { if (e.key === 'Enter') { this.handleSubmit(); - } + } } handleSubmit = () => { diff --git a/frontend/src/components/dialog/op-menu.js b/frontend/src/components/dialog/op-menu.js index 884ba20917..f19cbe839f 100644 --- a/frontend/src/components/dialog/op-menu.js +++ b/frontend/src/components/dialog/op-menu.js @@ -47,11 +47,11 @@ class OpMenu extends React.Component { const { operations, translateOperations } = this.props; return ( - diff --git a/frontend/src/components/dialog/org-add-admin-dialog.js b/frontend/src/components/dialog/org-add-admin-dialog.js index 44dfaad80c..b8befdc5ec 100644 --- a/frontend/src/components/dialog/org-add-admin-dialog.js +++ b/frontend/src/components/dialog/org-add-admin-dialog.js @@ -45,7 +45,7 @@ class AddOrgAdminDialog extends React.Component { toggle = () => { this.props.toggle(); - } + } render() { return ( diff --git a/frontend/src/components/dialog/org-add-department-dialog.js b/frontend/src/components/dialog/org-add-department-dialog.js index 5e111b4b83..29849b2513 100644 --- a/frontend/src/components/dialog/org-add-department-dialog.js +++ b/frontend/src/components/dialog/org-add-department-dialog.js @@ -57,7 +57,7 @@ class AddDepartDialog extends React.Component { handleChange = (e) => { this.setState({ - departName: e.target.value, + departName: e.target.value, }); } @@ -77,10 +77,10 @@ class AddDepartDialog extends React.Component { - {this.newInput = input;}} /> diff --git a/frontend/src/components/dialog/org-add-repo-dialog.js b/frontend/src/components/dialog/org-add-repo-dialog.js index ee9d9838f0..38ed1b03ac 100644 --- a/frontend/src/components/dialog/org-add-repo-dialog.js +++ b/frontend/src/components/dialog/org-add-repo-dialog.js @@ -72,10 +72,10 @@ class AddRepoDialog extends React.Component { - {this.newInput = input;}} /> diff --git a/frontend/src/components/dialog/org-add-user-dialog.js b/frontend/src/components/dialog/org-add-user-dialog.js index d1940b2b34..bbdce0351d 100644 --- a/frontend/src/components/dialog/org-add-user-dialog.js +++ b/frontend/src/components/dialog/org-add-user-dialog.js @@ -32,7 +32,7 @@ class AddOrgUserDialog extends React.Component { this.setState({isAddingUser: true}); this.props.handleSubmit(email, name.trim(), password); } - } + } handleKeyPress = (e) => { e.preventDefault(); diff --git a/frontend/src/components/dialog/org-logs-file-update-detail.js b/frontend/src/components/dialog/org-logs-file-update-detail.js index a272150932..b465a90543 100644 --- a/frontend/src/components/dialog/org-logs-file-update-detail.js +++ b/frontend/src/components/dialog/org-logs-file-update-detail.js @@ -50,7 +50,7 @@ class FileUpdateDetailDialog extends React.Component { for (var i = 0, len = items.length; i < len; i++) { con += '
  • ' + items[i] + '
  • '; } - con += ''; + con += ''; return {__html: con}; } diff --git a/frontend/src/components/dialog/org-set-group-quota-dialog.js b/frontend/src/components/dialog/org-set-group-quota-dialog.js index f7ec5821b4..6732a22e63 100644 --- a/frontend/src/components/dialog/org-set-group-quota-dialog.js +++ b/frontend/src/components/dialog/org-set-group-quota-dialog.js @@ -44,7 +44,7 @@ class SetGroupQuotaDialog extends React.Component { } else { const err = gettext('Quota is invalid.'); this.setState({ errMessage: err }); - } + } } handleChange = (e) => { @@ -66,8 +66,8 @@ class SetGroupQuotaDialog extends React.Component { {this.newInput = input;}} /> diff --git a/frontend/src/components/dialog/perm-select.js b/frontend/src/components/dialog/perm-select.js index 814410f873..0bc9c8950a 100644 --- a/frontend/src/components/dialog/perm-select.js +++ b/frontend/src/components/dialog/perm-select.js @@ -16,7 +16,7 @@ class PermSelect extends React.Component { super(props); this.state = { - currentOption: this.props.currentPerm + currentOption: this.props.currentPerm }; } @@ -27,7 +27,7 @@ class PermSelect extends React.Component { const currentOption = e.target.value; this.setState({ - currentOption: currentOption + currentOption: currentOption }); this.props.changePerm(currentOption); diff --git a/frontend/src/components/dialog/readme-dialog.js b/frontend/src/components/dialog/readme-dialog.js index ae953d11fc..567482e949 100644 --- a/frontend/src/components/dialog/readme-dialog.js +++ b/frontend/src/components/dialog/readme-dialog.js @@ -32,7 +32,7 @@ class ReadmeDialog extends React.Component { this.setState({ readmeContent: res.data, isLoading: false, - }); + }); }); }).catch(error => { let errMessage = Utils.getErrorMsg(error); @@ -47,7 +47,7 @@ class ReadmeDialog extends React.Component { - {this.state.isLoading ? + {this.state.isLoading ? : } diff --git a/frontend/src/components/dialog/related-file-dialogs.js b/frontend/src/components/dialog/related-file-dialogs.js index 684f0ca7e2..e18c60584d 100644 --- a/frontend/src/components/dialog/related-file-dialogs.js +++ b/frontend/src/components/dialog/related-file-dialogs.js @@ -40,7 +40,7 @@ class RelatedFileDialogs extends React.Component { return ( - {this.state.showListRelatedFileDialog && + {this.state.showListRelatedFileDialog && } - {!this.state.showListRelatedFileDialog && + {!this.state.showListRelatedFileDialog && { if (!e.target.value.trim()) { this.setState({isSubmitBtnActive: false}); @@ -50,7 +50,7 @@ class Rename extends React.Component { this.setState({isSubmitBtnActive: true}); } - this.setState({newName: e.target.value}); + this.setState({newName: e.target.value}); } handleSubmit = () => { @@ -72,7 +72,7 @@ class Rename extends React.Component { handleKeyPress = (e) => { if (e.key === 'Enter') { this.handleSubmit(); - } + } } toggle = () => { diff --git a/frontend/src/components/dialog/rename-dirent.js b/frontend/src/components/dialog/rename-dirent.js index fb4b11799e..8e773fc803 100644 --- a/frontend/src/components/dialog/rename-dirent.js +++ b/frontend/src/components/dialog/rename-dirent.js @@ -43,7 +43,7 @@ class Rename extends React.Component { componentWillReceiveProps(nextProps) { this.changeState(nextProps.dirent); } - + handleChange = (e) => { if (!e.target.value.trim()) { this.setState({isSubmitBtnActive: false}); @@ -51,7 +51,7 @@ class Rename extends React.Component { this.setState({isSubmitBtnActive: true}); } - this.setState({newName: e.target.value}); + this.setState({newName: e.target.value}); } handleSubmit = () => { @@ -74,7 +74,7 @@ class Rename extends React.Component { handleKeyPress = (e) => { if (e.key === 'Enter') { this.handleSubmit(); - } + } } toggle = () => { diff --git a/frontend/src/components/dialog/repo-share-upload-links-dialog.js b/frontend/src/components/dialog/repo-share-upload-links-dialog.js index 10591b1bd8..08a3b4ae35 100644 --- a/frontend/src/components/dialog/repo-share-upload-links-dialog.js +++ b/frontend/src/components/dialog/repo-share-upload-links-dialog.js @@ -112,7 +112,7 @@ class RepoShareUploadLinksDialog extends React.Component { this.setState({ isLoading: false, errorMsg: Utils.getErrorMsg(error, true) - }); + }); }); } diff --git a/frontend/src/components/dialog/reset-encrypted-repo-password-dialog.js b/frontend/src/components/dialog/reset-encrypted-repo-password-dialog.js index 5728968433..d903b0f3ff 100644 --- a/frontend/src/components/dialog/reset-encrypted-repo-password-dialog.js +++ b/frontend/src/components/dialog/reset-encrypted-repo-password-dialog.js @@ -49,15 +49,15 @@ class ResetEncryptedRepoPasswordDialog extends React.Component { {gettext('Reset library password')} - {this.state.showLoading && ( - {gettext('Sending new password...')} - )} - {this.state.showSuccess && ( -
    - )} - {this.state.showError && ( - {this.state.errMessage} - )} + {this.state.showLoading && ( + {gettext('Sending new password...')} + )} + {this.state.showSuccess && ( +
    + )} + {this.state.showError && ( + {this.state.errMessage} + )} ); diff --git a/frontend/src/components/dialog/set-org-user-contact-email.js b/frontend/src/components/dialog/set-org-user-contact-email.js index c8d62d4a21..f701ec7d56 100644 --- a/frontend/src/components/dialog/set-org-user-contact-email.js +++ b/frontend/src/components/dialog/set-org-user-contact-email.js @@ -1,6 +1,6 @@ import React from 'react'; import PropTypes from 'prop-types'; -import { Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap'; +import { Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap'; import { gettext } from '../../utils/constants'; import { seafileAPI } from '../../utils/seafile-api'; import { Utils } from '../../utils/utils'; @@ -25,7 +25,7 @@ class SetOrgUserContactEmail extends React.Component { handleInputChange = (e) => { this.setState({ - inputValue: e.target.value + inputValue: e.target.value }); } @@ -34,7 +34,7 @@ class SetOrgUserContactEmail extends React.Component { const contactEmail = this.state.inputValue.trim(); this.setState({ - submitBtnDisabled: true + submitBtnDisabled: true }); seafileAPI.orgAdminSetOrgUserContactEmail(orgID, email, contactEmail).then((res) => { @@ -46,7 +46,7 @@ class SetOrgUserContactEmail extends React.Component { this.setState({ formErrorMsg: errorMsg, submitBtnDisabled: false - }); + }); }); } diff --git a/frontend/src/components/dialog/set-org-user-name.js b/frontend/src/components/dialog/set-org-user-name.js index d895c9ad59..ee818144e6 100644 --- a/frontend/src/components/dialog/set-org-user-name.js +++ b/frontend/src/components/dialog/set-org-user-name.js @@ -1,6 +1,6 @@ import React from 'react'; import PropTypes from 'prop-types'; -import { Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap'; +import { Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap'; import { gettext } from '../../utils/constants'; import { seafileAPI } from '../../utils/seafile-api'; import { Utils } from '../../utils/utils'; @@ -25,7 +25,7 @@ class SetOrgUserName extends React.Component { handleInputChange = (e) => { this.setState({ - inputValue: e.target.value + inputValue: e.target.value }); } @@ -34,7 +34,7 @@ class SetOrgUserName extends React.Component { const name = this.state.inputValue.trim(); this.setState({ - submitBtnDisabled: true + submitBtnDisabled: true }); // when name is '', api returns the previous name @@ -48,7 +48,7 @@ class SetOrgUserName extends React.Component { this.setState({ formErrorMsg: errorMsg, submitBtnDisabled: false - }); + }); }); } diff --git a/frontend/src/components/dialog/set-org-user-quota.js b/frontend/src/components/dialog/set-org-user-quota.js index a8249d54a7..812ca2b6ec 100644 --- a/frontend/src/components/dialog/set-org-user-quota.js +++ b/frontend/src/components/dialog/set-org-user-quota.js @@ -1,6 +1,6 @@ import React from 'react'; import PropTypes from 'prop-types'; -import { Modal, ModalHeader, ModalBody, ModalFooter, InputGroup, InputGroupAddon, InputGroupText } from 'reactstrap'; +import { Modal, ModalHeader, ModalBody, ModalFooter, InputGroup, InputGroupAddon, InputGroupText } from 'reactstrap'; import { gettext } from '../../utils/constants'; import { seafileAPI } from '../../utils/seafile-api'; import { Utils } from '../../utils/utils'; @@ -27,7 +27,7 @@ class SetOrgUserQuota extends React.Component { handleInputChange = (e) => { this.setState({ - inputValue: e.target.value + inputValue: e.target.value }); } @@ -43,7 +43,7 @@ class SetOrgUserQuota extends React.Component { } this.setState({ - submitBtnDisabled: true + submitBtnDisabled: true }); seafileAPI.orgAdminSetOrgUserQuota(orgID, email, quota).then((res) => { @@ -54,7 +54,7 @@ class SetOrgUserQuota extends React.Component { this.setState({ formErrorMsg: errorMsg, submitBtnDisabled: false - }); + }); }); } diff --git a/frontend/src/components/dialog/share-link-permission-select.js b/frontend/src/components/dialog/share-link-permission-select.js index 3855ee7e1a..fd9ecf23b7 100644 --- a/frontend/src/components/dialog/share-link-permission-select.js +++ b/frontend/src/components/dialog/share-link-permission-select.js @@ -16,7 +16,7 @@ class ShareLinkPermissionSelect extends React.Component { super(props); this.state = { - currentOption: this.props.currentPerm + currentOption: this.props.currentPerm }; } @@ -27,7 +27,7 @@ class ShareLinkPermissionSelect extends React.Component { const currentOption = e.target.value; this.setState({ - currentOption: currentOption + currentOption: currentOption }); this.props.changePerm(currentOption); diff --git a/frontend/src/components/dialog/share-repo-dialog.js b/frontend/src/components/dialog/share-repo-dialog.js index 03426f5555..fef606f5bf 100644 --- a/frontend/src/components/dialog/share-repo-dialog.js +++ b/frontend/src/components/dialog/share-repo-dialog.js @@ -133,9 +133,9 @@ class ShareRepoDialog extends React.Component { {this.state.repoList.map((repo, index) => { return ( - diff --git a/frontend/src/components/dialog/share-to-group.js b/frontend/src/components/dialog/share-to-group.js index b4ba9f7216..097ada7d4e 100644 --- a/frontend/src/components/dialog/share-to-group.js +++ b/frontend/src/components/dialog/share-to-group.js @@ -16,7 +16,7 @@ class GroupItem extends React.Component { isOperationShow: false }; } - + onMouseEnter = () => { this.setState({isOperationShow: true}); } @@ -42,7 +42,7 @@ class GroupItem extends React.Component { {item.group_info.name} - @@ -71,9 +71,9 @@ class GroupList extends React.Component { {items.map((item, index) => { return ( - { let path = this.props.itemPath; - let repoID = this.props.repoID; + let repoID = this.props.repoID; seafileAPI.listSharedItems(repoID, path, 'group').then((res) => { if(res.data.length !== 0) { this.setState({ @@ -170,7 +170,7 @@ class ShareToGroup extends React.Component { shareToGroup = () => { let groups = []; let path = this.props.itemPath; - let repoID = this.props.repoID; + let repoID = this.props.repoID; let isGroupOwnedRepo = this.props.isGroupOwnedRepo; if (this.state.selectedOption && this.state.selectedOption.length > 0 ) { for (let i = 0; i < this.state.selectedOption.length; i ++) { @@ -195,7 +195,7 @@ class ShareToGroup extends React.Component { }; return sharedItem; }); - + this.setState({ errorMsg: errorMsg, sharedItems: this.state.sharedItems.concat(items), @@ -214,7 +214,7 @@ class ShareToGroup extends React.Component { errorMsg[i] = res.data.failed[i]; } } - + this.setState({ errorMsg: errorMsg, sharedItems: this.state.sharedItems.concat(res.data.success), @@ -230,11 +230,11 @@ class ShareToGroup extends React.Component { deleteShareItem = (groupID) => { let path = this.props.itemPath; - let repoID = this.props.repoID; + let repoID = this.props.repoID; if (this.props.isGroupOwnedRepo) { seafileAPI.deleteGroupOwnedRepoSharedGroupItem(repoID, groupID, path).then(() => { this.setState({ - sharedItems: this.state.sharedItems.filter(item => { return item.group_info.id !== groupID; }) + sharedItems: this.state.sharedItems.filter(item => { return item.group_info.id !== groupID; }) }); }).catch(error => { let errMessage = Utils.getErrorMsg(error); @@ -243,7 +243,7 @@ class ShareToGroup extends React.Component { } else { seafileAPI.deleteShareToGroupItem(repoID, path, 'group', groupID).then(() => { this.setState({ - sharedItems: this.state.sharedItems.filter(item => { return item.group_info.id !== groupID; }) + sharedItems: this.state.sharedItems.filter(item => { return item.group_info.id !== groupID; }) }); }).catch(error => { let errMessage = Utils.getErrorMsg(error); @@ -272,7 +272,7 @@ class ShareToGroup extends React.Component { }); } } - + updateSharedItems = (item, permission) => { let groupID = item.group_info.id; let sharedItems = this.state.sharedItems.map(sharedItem => { @@ -315,7 +315,7 @@ class ShareToGroup extends React.Component { /> - {gettext('Submit')} - {this.state.errorMsg.length > 0 && + {this.state.errorMsg.length > 0 && this.state.errorMsg.map((item, index) => { let errMessage = item.group_name + ': ' + item.error_msg; return ( @@ -335,17 +335,17 @@ class ShareToGroup extends React.Component {

    {errMessage}

    ); - }) + }) }
    {thead} -
    diff --git a/frontend/src/components/dialog/share-to-other-server.js b/frontend/src/components/dialog/share-to-other-server.js index b82bb10e3d..9d3abe6301 100644 --- a/frontend/src/components/dialog/share-to-other-server.js +++ b/frontend/src/components/dialog/share-to-other-server.js @@ -16,7 +16,7 @@ class ShareItem extends React.Component { isOperationShow: false }; } - + onMouseEnter = () => { this.setState({isOperationShow: true}); } @@ -38,7 +38,7 @@ class ShareItem extends React.Component { {item.to_user} {Utils.sharePerms(item.permission)} {/* - ); diff --git a/frontend/src/components/dialog/share-to-user.js b/frontend/src/components/dialog/share-to-user.js index 53e392f8ea..0fafe4630b 100644 --- a/frontend/src/components/dialog/share-to-user.js +++ b/frontend/src/components/dialog/share-to-user.js @@ -20,7 +20,7 @@ class UserItem extends React.Component { isUserDetailsPopoverOpen: false }; } - + onMouseEnter = () => { this.setState({isOperationShow: true}); } @@ -78,7 +78,7 @@ class UserItem extends React.Component {
    - @@ -107,9 +107,9 @@ class UserList extends React.Component { {items.map((item, index) => { return ( - { let users = []; - let path = this.props.itemPath; + let path = this.props.itemPath; let repoID = this.props.repoID; if (this.state.selectedOption && this.state.selectedOption.length > 0 ) { for (let i = 0; i < this.state.selectedOption.length; i ++) { @@ -245,7 +245,7 @@ class ShareToUser extends React.Component { } }); } - } + } deleteShareItem = (username) => { let path = this.props.itemPath; @@ -253,7 +253,7 @@ class ShareToUser extends React.Component { if (this.props.isGroupOwnedRepo) { seafileAPI.deleteGroupOwnedRepoSharedUserItem(repoID, username, path).then(res => { this.setState({ - sharedItems: this.state.sharedItems.filter( item => { return item.user_info.name !== username; }) + sharedItems: this.state.sharedItems.filter( item => { return item.user_info.name !== username; }) }); }).catch(error => { let errMessage = Utils.getErrorMsg(error); @@ -262,7 +262,7 @@ class ShareToUser extends React.Component { } else { seafileAPI.deleteShareToUserItem(repoID, path, 'user', username).then(res => { this.setState({ - sharedItems: this.state.sharedItems.filter( item => { return item.user_info.name !== username; }) + sharedItems: this.state.sharedItems.filter( item => { return item.user_info.name !== username; }) }); }).catch(error => { let errMessage = Utils.getErrorMsg(error); @@ -291,7 +291,7 @@ class ShareToUser extends React.Component { }); } } - + updateSharedItems = (item, permission) => { let username = item.user_info.name; let sharedItems = this.state.sharedItems.map(sharedItem => { @@ -332,7 +332,7 @@ class ShareToUser extends React.Component { /> - {thead} -
    diff --git a/frontend/src/components/dialog/sysadmin-dialog/set-quota.js b/frontend/src/components/dialog/sysadmin-dialog/set-quota.js index f19da5e590..e36577114a 100644 --- a/frontend/src/components/dialog/sysadmin-dialog/set-quota.js +++ b/frontend/src/components/dialog/sysadmin-dialog/set-quota.js @@ -56,7 +56,7 @@ class SetQuotaDialog extends React.Component { type="text" className="form-control" value={quota} - onKeyPress={this.handleKeyPress} + onKeyPress={this.handleKeyPress} onChange={this.handleQuotaChange} /> diff --git a/frontend/src/components/dialog/sysadmin-dialog/sysadmin-add-department-dialog.js b/frontend/src/components/dialog/sysadmin-dialog/sysadmin-add-department-dialog.js index f65c6a8853..1983fea425 100644 --- a/frontend/src/components/dialog/sysadmin-dialog/sysadmin-add-department-dialog.js +++ b/frontend/src/components/dialog/sysadmin-dialog/sysadmin-add-department-dialog.js @@ -57,7 +57,7 @@ class AddDepartDialog extends React.Component { handleChange = (e) => { this.setState({ - departName: e.target.value, + departName: e.target.value, }); } @@ -77,10 +77,10 @@ class AddDepartDialog extends React.Component { - {this.newInput = input;}} /> diff --git a/frontend/src/components/dialog/sysadmin-dialog/sysadmin-add-institution-dialog.js b/frontend/src/components/dialog/sysadmin-dialog/sysadmin-add-institution-dialog.js index 247841c353..e431ac6dfe 100644 --- a/frontend/src/components/dialog/sysadmin-dialog/sysadmin-add-institution-dialog.js +++ b/frontend/src/components/dialog/sysadmin-dialog/sysadmin-add-institution-dialog.js @@ -22,7 +22,7 @@ class SysAdminAddInstitutionDialog extends React.Component { const value = e.target.value; this.setState({ value: value, - isSubmitBtnActive: value.trim() != '' + isSubmitBtnActive: value.trim() != '' }); } diff --git a/frontend/src/components/dialog/sysadmin-dialog/sysadmin-add-institution-member-dialog.js b/frontend/src/components/dialog/sysadmin-dialog/sysadmin-add-institution-member-dialog.js index f459d074a8..6987d7e15b 100644 --- a/frontend/src/components/dialog/sysadmin-dialog/sysadmin-add-institution-member-dialog.js +++ b/frontend/src/components/dialog/sysadmin-dialog/sysadmin-add-institution-member-dialog.js @@ -25,7 +25,7 @@ class AddMemberDialog extends React.Component { handleSubmit = () => { if (!this.state.selectedOption) return; const emails = this.state.selectedOption.map(item => item.email); - this.props.addUser(emails) + this.props.addUser(emails); } render() { diff --git a/frontend/src/components/dialog/sysadmin-dialog/sysadmin-add-or-update-term-dialog.js b/frontend/src/components/dialog/sysadmin-dialog/sysadmin-add-or-update-term-dialog.js index 5e9fe514a8..b883eee111 100644 --- a/frontend/src/components/dialog/sysadmin-dialog/sysadmin-add-or-update-term-dialog.js +++ b/frontend/src/components/dialog/sysadmin-dialog/sysadmin-add-or-update-term-dialog.js @@ -139,7 +139,7 @@ class AddOrUpdateTermDialog extends React.Component { {this.state.isConditionsEditorDialogShow && ( - - + - + diff --git a/frontend/src/components/dialog/sysadmin-dialog/sysadmin-add-repo-dialog.js b/frontend/src/components/dialog/sysadmin-dialog/sysadmin-add-repo-dialog.js index b04031799c..e7cfb80692 100644 --- a/frontend/src/components/dialog/sysadmin-dialog/sysadmin-add-repo-dialog.js +++ b/frontend/src/components/dialog/sysadmin-dialog/sysadmin-add-repo-dialog.js @@ -72,10 +72,10 @@ class AddRepoDialog extends React.Component { - {this.newInput = input;}} /> diff --git a/frontend/src/components/dialog/sysadmin-dialog/sysadmin-add-user-dialog.js b/frontend/src/components/dialog/sysadmin-dialog/sysadmin-add-user-dialog.js index 7462d978f4..6f6c1f1bbe 100644 --- a/frontend/src/components/dialog/sysadmin-dialog/sysadmin-add-user-dialog.js +++ b/frontend/src/components/dialog/sysadmin-dialog/sysadmin-add-user-dialog.js @@ -35,10 +35,10 @@ class SysAdminAddUserDialog extends React.Component { btnActive = true; } else { btnActive = false; - } + } this.setState({ isSubmitBtnActive: btnActive - }); + }); } toggle = () => { @@ -90,8 +90,8 @@ class SysAdminAddUserDialog extends React.Component { updateRole = (role) => { this.setState({ role: role - }); - } + }); + } handleSubmit = () => { const { email, password, passwordAgain, name, role } = this.state; @@ -113,9 +113,9 @@ class SysAdminAddUserDialog extends React.Component { render() { const { dialogTitle, showRole } = this.props; - const { - errorMsg, isPasswordVisible, - email, name, role, password, passwordAgain, + const { + errorMsg, isPasswordVisible, + email, name, role, password, passwordAgain, isSubmitBtnActive } = this.state; return ( @@ -125,13 +125,13 @@ class SysAdminAddUserDialog extends React.Component { - + - + - {showRole && + {showRole && } diff --git a/frontend/src/components/dialog/sysadmin-dialog/sysadmin-batch-add-admin-dialog.js b/frontend/src/components/dialog/sysadmin-dialog/sysadmin-batch-add-admin-dialog.js index 09ca99ac45..0013648ae2 100644 --- a/frontend/src/components/dialog/sysadmin-dialog/sysadmin-batch-add-admin-dialog.js +++ b/frontend/src/components/dialog/sysadmin-dialog/sysadmin-batch-add-admin-dialog.js @@ -51,7 +51,7 @@ class SysAdminBatchAddAdminDialog extends React.Component { className="reviewer-select" placeholder={gettext('Search users...')} onSelectChange={this.handleSelectChange} - /> + /> diff --git a/frontend/src/components/dialog/sysadmin-dialog/sysadmin-create-group-dialog.js b/frontend/src/components/dialog/sysadmin-dialog/sysadmin-create-group-dialog.js index 294712be20..48165334e5 100644 --- a/frontend/src/components/dialog/sysadmin-dialog/sysadmin-create-group-dialog.js +++ b/frontend/src/components/dialog/sysadmin-dialog/sysadmin-create-group-dialog.js @@ -68,11 +68,11 @@ class SysAdminCreateGroupDialog extends React.Component { - {this.newInput = input;}} - value={this.state.groupName} + onKeyPress={this.handleKeyPress} + innerRef={input => {this.newInput = input;}} + value={this.state.groupName} onChange={this.handleRepoNameChange} />
    - + />
    )} diff --git a/frontend/src/components/file-chooser/repo-list-item.js b/frontend/src/components/file-chooser/repo-list-item.js index 92e12e2b5a..20d22783cd 100644 --- a/frontend/src/components/file-chooser/repo-list-item.js +++ b/frontend/src/components/file-chooser/repo-list-item.js @@ -101,7 +101,7 @@ class RepoListItem extends React.Component { loadNodeAndParentsByPath = (repoID, path) => { let tree = this.state.treeData.clone(); - + seafileAPI.listDir(repoID, path, {with_parents: true}).then(res => { let direntList = res.data.dirent_list; direntList = direntList.filter(item => item.type === 'dir'); @@ -169,13 +169,13 @@ class RepoListItem extends React.Component {
    - +
    {this.state.isShowChildren && ( - {repoList.length > 0 && repoList.map((repoItem, index) => { return ( - { let item = this.props.item; - + this.props.onSearchedItemDoubleClick(item); } diff --git a/frontend/src/components/file-chooser/searched-list-view.js b/frontend/src/components/file-chooser/searched-list-view.js index c0c960fd31..e7ef869bd0 100644 --- a/frontend/src/components/file-chooser/searched-list-view.js +++ b/frontend/src/components/file-chooser/searched-list-view.js @@ -34,10 +34,10 @@ class SearchedListView extends React.Component { {this.props.searchResults.map((item, index) => { return ( - ); diff --git a/frontend/src/components/file-chooser/tree-list-item.js b/frontend/src/components/file-chooser/tree-list-item.js index 97714b4b5d..71f2c15906 100644 --- a/frontend/src/components/file-chooser/tree-list-item.js +++ b/frontend/src/components/file-chooser/tree-list-item.js @@ -40,7 +40,7 @@ class TreeViewItem extends React.Component { if (this.props.selectedRepo) { isCurrentRepo = this.props.selectedRepo.repo_id === this.props.repo.repo_id; } - + if (isCurrentRepo) { if (this.props.selectedPath !== this.state.filePath) { this.props.onDirentItemClick(this.state.filePath, this.props.node.object); @@ -68,7 +68,7 @@ class TreeViewItem extends React.Component { node={item} onNodeCollapse={this.props.onNodeCollapse} onNodeExpanded={this.props.onNodeExpanded} - repo={this.props.repo} + repo={this.props.repo} onDirentItemClick={this.props.onDirentItemClick} selectedRepo={this.props.selectedRepo} selectedPath={this.props.selectedPath} diff --git a/frontend/src/components/file-chooser/tree-list-view.js b/frontend/src/components/file-chooser/tree-list-view.js index 8adc994339..181b069b60 100644 --- a/frontend/src/components/file-chooser/tree-list-view.js +++ b/frontend/src/components/file-chooser/tree-list-view.js @@ -14,7 +14,7 @@ const propTypes = { }; class TreeListView extends React.Component { - + render() { return(
    @@ -22,7 +22,7 @@ class TreeListView extends React.Component { node={this.props.treeData.root} onNodeCollapse={this.props.onNodeCollapse} onNodeExpanded={this.props.onNodeExpanded} - repo={this.props.repo} + repo={this.props.repo} onDirentItemClick={this.props.onDirentItemClick} selectedRepo={this.props.selectedRepo} selectedPath={this.props.selectedPath} diff --git a/frontend/src/components/file-content-view/image.js b/frontend/src/components/file-content-view/image.js index ca88426297..2c68da75d7 100644 --- a/frontend/src/components/file-content-view/image.js +++ b/frontend/src/components/file-content-view/image.js @@ -12,7 +12,7 @@ const { xmindImageSrc // for xmind file } = window.app.pageOptions; -let previousImageUrl, nextImageUrl; +let previousImageUrl, nextImageUrl; if (previousImage) { previousImageUrl = `${siteRoot}lib/${repoID}/file${Utils.encodePath(previousImage)}`; } diff --git a/frontend/src/components/file-content-view/markdown.js b/frontend/src/components/file-content-view/markdown.js index 4bcfa7fd3a..aa31af75cb 100644 --- a/frontend/src/components/file-content-view/markdown.js +++ b/frontend/src/components/file-content-view/markdown.js @@ -10,7 +10,7 @@ class FileContent extends React.Component { return (
    - diff --git a/frontend/src/components/file-content-view/video.js b/frontend/src/components/file-content-view/video.js index 7ee0238d24..c366469efc 100644 --- a/frontend/src/components/file-content-view/video.js +++ b/frontend/src/components/file-content-view/video.js @@ -9,19 +9,19 @@ const { class FileContent extends React.Component { render() { - const videoJsOptions = { + const videoJsOptions = { autoplay: false, controls: true, preload: 'auto', sources: [{ src: rawPath - }] - }; + }] + }; return (
    - ); + ); } } diff --git a/frontend/src/components/file-uploader/file-uploader.js b/frontend/src/components/file-uploader/file-uploader.js index a65afbf8c2..92a5c148f8 100644 --- a/frontend/src/components/file-uploader/file-uploader.js +++ b/frontend/src/components/file-uploader/file-uploader.js @@ -94,8 +94,8 @@ class FileUploader extends React.Component { } onbeforeunload = () => { - if (window.uploader && - window.uploader.isUploadProgressDialogShow && + if (window.uploader && + window.uploader.isUploadProgressDialogShow && window.uploader.totalProgress !== 100) { return ''; } @@ -157,7 +157,7 @@ class FileUploader extends React.Component { let allFilesUploaded = this.state.allFilesUploaded; if (allFilesUploaded === true) { this.setState({allFilesUploaded: false}); - } + } //get parent_dir relative_path let path = this.props.path === '/' ? '/' : this.props.path + '/'; @@ -208,7 +208,7 @@ class FileUploader extends React.Component { toaster.danger(errMessage); }); } - } else { + } else { this.setUploadFileList(this.resumable.files); if (!this.isUploadLinkLoaded) { this.isUploadLinkLoaded = true; @@ -288,7 +288,7 @@ class FileUploader extends React.Component { if (this.timestamp) { let timeDiff = (now - this.timestamp); if (timeDiff < this.bitrateInterval) { - return this.state.uploadBitrate; + return this.state.uploadBitrate; } // 1. Cancel will produce loaded greater than this.loaded @@ -302,10 +302,10 @@ class FileUploader extends React.Component { this.timestamp = now; this.loaded = loaded; - + return uploadBitrate; } - + onProgress = () => { let progress = Math.round(this.resumable.progress() * 100); this.setState({totalProgress: progress}); @@ -395,7 +395,7 @@ class FileUploader extends React.Component { } else { // eg: '{"error": "Internal error" \n }' let errorMessage = message.replace(/\n/g, ''); - errorMessage = JSON.parse(errorMessage); + errorMessage = JSON.parse(errorMessage); error = errorMessage.error; if (error === 'File locked by others.') { error = gettext('File is locked by others.'); @@ -489,12 +489,12 @@ class FileUploader extends React.Component { onFileUpload = () => { this.uploadInput.current.removeAttribute('webkitdirectory'); - this.uploadInput.current.click(); + this.uploadInput.current.click(); } onFolderUpload = () => { this.uploadInput.current.setAttribute('webkitdirectory', 'webkitdirectory'); - this.uploadInput.current.click(); + this.uploadInput.current.click(); } onDragStart = () => { @@ -534,7 +534,7 @@ class FileUploader extends React.Component { onCancelAllUploading = () => { let uploadFileList = this.state.uploadFileList.filter(item => { if (Math.round(item.progress() !== 1)) { - item.cancel(); + item.cancel(); return false; } return true; @@ -555,7 +555,7 @@ class FileUploader extends React.Component { seafileAPI.getFileServerUploadLink(this.props.repoID, this.props.path).then(res => { this.resumable.opts.target = res.data + '?ret-json=1'; - + let retryFileList = this.state.retryFileList.filter(item => { return item.uniqueIdentifier !== resumableFile.uniqueIdentifier; }); @@ -566,7 +566,7 @@ class FileUploader extends React.Component { } return item; }); - + this.setState({ retryFileList: retryFileList, uploadFileList: uploadFileList @@ -585,7 +585,7 @@ class FileUploader extends React.Component { item.error = false; this.retryUploadFile(item); }); - + let uploadFileList = this.state.uploadFileList.slice(0); this.setState({ retryFileList: [], @@ -607,7 +607,7 @@ class FileUploader extends React.Component { let prefix = path === '/' ? (path + relative_path) : (path + '/' + relative_path); fileName = prefix + fileName; } - + resumableFile.bootstrap(); var firedRetry = false; resumableFile.resumableObj.on('chunkingComplete', () => { @@ -617,9 +617,9 @@ class FileUploader extends React.Component { let blockSize = parseInt(resumableUploadFileBlockSize) * 1024 * 1024 || 1024 * 1024; let offset = Math.floor(uploadedBytes / blockSize); resumableFile.markChunksCompleted(offset); - + resumableFile.resumableObj.upload(); - + }).catch(error => { let errMessage = Utils.getErrorMsg(error); toaster.danger(errMessage); @@ -627,7 +627,7 @@ class FileUploader extends React.Component { } firedRetry = true; }); - + } replaceRepetitionFile = () => { @@ -646,7 +646,7 @@ class FileUploader extends React.Component { toaster.danger(errMessage); }); } - + uploadFile = () => { let resumableFile = this.resumable.files[this.resumable.files.length - 1]; let { repoID, path } = this.props; diff --git a/frontend/src/components/file-uploader/upload-list-item.js b/frontend/src/components/file-uploader/upload-list-item.js index df3a54ba97..1b8872eedf 100644 --- a/frontend/src/components/file-uploader/upload-list-item.js +++ b/frontend/src/components/file-uploader/upload-list-item.js @@ -33,7 +33,7 @@ class UploadListItem extends React.Component { if (resumableFile.remainingTime === 0 && !resumableFile.isSaved) { uploadState = UPLOAD_ISSAVING; } - + if (resumableFile.isSaved) { uploadState = UPLOAD_UPLOADED; } diff --git a/frontend/src/components/file-uploader/upload-progress-dialog.js b/frontend/src/components/file-uploader/upload-progress-dialog.js index 7a94726e62..4d3194b5ed 100644 --- a/frontend/src/components/file-uploader/upload-progress-dialog.js +++ b/frontend/src/components/file-uploader/upload-progress-dialog.js @@ -44,7 +44,7 @@ class UploadProgressDialog extends React.Component { render() { - let uploadBitrate = Utils.formatBitRate(this.props.uploadBitrate) + let uploadBitrate = Utils.formatBitRate(this.props.uploadBitrate); let uploadedMessage = gettext('File Upload'); let uploadingMessage = gettext('File Uploading...') + ' ' + this.props.totalProgress + '%' + ' (' + uploadBitrate + ')'; @@ -82,7 +82,7 @@ class UploadProgressDialog extends React.Component { - {retryFileList.length > 0 ? + {retryFileList.length > 0 ? {gettext('Retry All')} : {gettext('Retry All')} @@ -104,9 +104,9 @@ class UploadProgressDialog extends React.Component { { this.props.uploadFileList.map((resumableFile, index) => { return ( - diff --git a/frontend/src/components/file-view/comment-panel.js b/frontend/src/components/file-view/comment-panel.js index 76a523a7bc..a2d4bb3a4f 100644 --- a/frontend/src/components/file-view/comment-panel.js +++ b/frontend/src/components/file-view/comment-panel.js @@ -71,7 +71,7 @@ class CommentPanel extends React.Component { toaster.danger(Utils.getErrorMsg(err)); }); this.setState({ comment: '' }); - } + } onSubmit = () => { this.addParticipant(username); diff --git a/frontend/src/components/file-view/file-info.js b/frontend/src/components/file-view/file-info.js index 2ece013a04..7a75478134 100644 --- a/frontend/src/components/file-view/file-info.js +++ b/frontend/src/components/file-view/file-info.js @@ -4,7 +4,7 @@ import moment from 'moment'; import { isPro, gettext, mediaUrl, siteRoot } from '../../utils/constants'; import InternalLinkDialog from '../dialog/internal-link-dialog'; -const propTypes = { +const propTypes = { toggleStar: PropTypes.func.isRequired, isLocked: PropTypes.bool.isRequired, isStarred: PropTypes.bool.isRequired diff --git a/frontend/src/components/file-view/file-toolbar.js b/frontend/src/components/file-view/file-toolbar.js index 36799c44e6..07ce459d13 100644 --- a/frontend/src/components/file-view/file-toolbar.js +++ b/frontend/src/components/file-view/file-toolbar.js @@ -7,7 +7,7 @@ import { Utils } from '../../utils/utils'; import ModalPortal from '../modal-portal'; import ShareDialog from '../dialog/share-dialog'; -const propTypes = { +const propTypes = { isLocked: PropTypes.bool.isRequired, lockedByMe: PropTypes.bool.isRequired, onSave: PropTypes.func, @@ -17,7 +17,7 @@ const propTypes = { toggleCommentPanel: PropTypes.func.isRequired }; -const { +const { canLockUnlockFile, canGenerateShareLink, repoID, repoName, repoEncrypted, parentDir, filePerm, filePath, fileName, @@ -47,7 +47,7 @@ class FileToolbar extends React.Component { } render() { - const { isLocked, lockedByMe } = this.props; + const { isLocked, lockedByMe } = this.props; let showLockUnlockBtn = false; let lockUnlockText, lockUnlockIcon; if (canLockUnlockFile) { @@ -59,8 +59,8 @@ class FileToolbar extends React.Component { showLockUnlockBtn = true; lockUnlockText = gettext('Unlock'); lockUnlockIcon = 'fa fa-unlock'; - } - } + } + } let showShareBtn = false; if (repoEncrypted) { @@ -104,8 +104,8 @@ class FileToolbar extends React.Component { href={`${siteRoot}repo/file_revisions/${repoID}/?p=${encodeURIComponent(filePath)}`} /> )} - {(canEditFile && !err) && - ( this.props.isSaving ? + {(canEditFile && !err) && + ( this.props.isSaving ? : ( diff --git a/frontend/src/components/file-view/file-view-tip.js b/frontend/src/components/file-view/file-view-tip.js index 2fdebc534e..8722cdd62c 100644 --- a/frontend/src/components/file-view/file-view-tip.js +++ b/frontend/src/components/file-view/file-view-tip.js @@ -25,7 +25,7 @@ class FileViewTip extends React.Component { {gettext('Download')}
    - ); + ); } } FileViewTip.propTypes = propTypes; diff --git a/frontend/src/components/file-view/file-view.js b/frontend/src/components/file-view/file-view.js index 712b6b2fd5..1bd3c28f69 100644 --- a/frontend/src/components/file-view/file-view.js +++ b/frontend/src/components/file-view/file-view.js @@ -69,8 +69,8 @@ class FileView extends React.Component { if (this.state.isLocked) { seafileAPI.unlockfile(repoID, filePath).then((res) => { this.setState({ - isLocked: false, - lockedByMe: false + isLocked: false, + lockedByMe: false }); }).catch((error) => { const errorMsg = Utils.getErrorMsg(error); @@ -86,7 +86,7 @@ class FileView extends React.Component { const errorMsg = Utils.getErrorMsg(error); toaster.danger(errorMsg); }); - } + } } render() { @@ -98,7 +98,7 @@ class FileView extends React.Component { isLocked={this.state.isLocked} toggleStar={this.toggleStar} /> - { if (!this.props.isItemFreezed) { this.setState({isShowOperationIcon: false}); @@ -74,9 +74,9 @@ class HistoryListItem extends React.Component { let objID = this.props.currentItem.rev_file_id; let url = URLDecorator.getUrl({type: 'download_historic_file', filePath: filePath, objID: objID}); return ( -
  • @@ -89,11 +89,11 @@ class HistoryListItem extends React.Component {
  • - diff --git a/frontend/src/components/history-list-view/history-list-view.js b/frontend/src/components/history-list-view/history-list-view.js index 82a136d4ee..ed245aa13f 100644 --- a/frontend/src/components/history-list-view/history-list-view.js +++ b/frontend/src/components/history-list-view/history-list-view.js @@ -65,7 +65,7 @@ class HistoryListView extends React.Component { {this.props.historyList.map((item, index) => { return ( }
    - ); + ); } } FileViewTip.propTypes = propTypes; diff --git a/frontend/src/components/icon-button.js b/frontend/src/components/icon-button.js index 844d8b6cc4..8c192990f9 100644 --- a/frontend/src/components/icon-button.js +++ b/frontend/src/components/icon-button.js @@ -2,7 +2,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { Button, Tooltip } from 'reactstrap'; -const propTypes = { +const propTypes = { id: PropTypes.string.isRequired, icon: PropTypes.string.isRequired, text: PropTypes.string.isRequired, @@ -15,19 +15,19 @@ class IconButton extends React.Component { constructor(props) { super(props); - this.state = { + this.state = { tooltipOpen: false - }; + }; } toggle = () => { this.setState({ tooltipOpen: !this.state.tooltipOpen - }); + }); } render() { const className = 'btn-icon'; - const btnContent = ( + const btnContent = ( { - event.preventDefault(); + event.preventDefault(); const currentPath = event.target.getAttribute('data-path'); if (currentPath === this.state.currentPath) { return; @@ -106,7 +106,7 @@ class IndexContentViewer extends React.Component { if (item.type == 'image' && isPublicWiki) { url = item.data.src; const re = new RegExp(serviceURL + '/lib/' + repoID +'/file.*raw=1'); - // different repo + // different repo if (!re.test(url)) { return; } @@ -116,7 +116,7 @@ class IndexContentViewer extends React.Component { const imagePath = url.substring(index + 5, index2); // replace url item.data.src = serviceURL + '/view-image-via-public-wiki/?slug=' + slug + '&path=' + imagePath; - } + } else if (item.type == 'link') { url = item.data.href; @@ -125,17 +125,17 @@ class IndexContentViewer extends React.Component { /* eslint-enable */ let re = new RegExp(expression); - // Solving relative paths + // Solving relative paths if (!re.test(url)) { item.data.href = serviceURL + '/published/' + slug + '/' + url; } - // change file url + // change file url else if (Utils.isInternalMarkdownLink(url, repoID)) { let path = Utils.getPathFromInternalMarkdownLink(url, repoID); // replace url item.data.href = serviceURL + '/published/' + slug + path; - } - // change dir url + } + // change dir url else if (Utils.isInternalDirLink(url, repoID)) { let path = Utils.getPathFromInternalDirLink(url, repoID); // replace url @@ -154,7 +154,7 @@ class IndexContentViewer extends React.Component { if (node.type === 'unordered_list' || node.type === 'ordered_list') { let treeRoot = this.transSlateToTree(node.children, this.treeRoot); this.setNodePath(treeRoot, '/'); - this.treeRoot = treeRoot; + this.treeRoot = treeRoot; } }); } @@ -163,7 +163,7 @@ class IndexContentViewer extends React.Component { let name = node.name; let path = parentNodePath === '/' ? parentNodePath + name : parentNodePath + '/' + name; node.path = path; - if (node.children.length > 0) { + if (node.children.length > 0) { node.children.map(child => { this.setNodePath(child, path); }); diff --git a/frontend/src/components/logo.js b/frontend/src/components/logo.js index e027732ef4..e98e497012 100644 --- a/frontend/src/components/logo.js +++ b/frontend/src/components/logo.js @@ -1,6 +1,6 @@ import React from 'react'; import PropTypes from 'prop-types'; -import { siteRoot, mediaUrl, logoPath, logoWidth, logoHeight, siteTitle } from '../utils/constants'; +import { siteRoot, mediaUrl, logoPath, logoWidth, logoHeight, siteTitle } from '../utils/constants'; const propTypes = { onCloseSidePanel: PropTypes.func, @@ -12,7 +12,7 @@ class Logo extends React.Component { closeSide = () => { this.props.onCloseSidePanel(); } - + render() { return (
    @@ -20,11 +20,11 @@ class Logo extends React.Component { logo {this.props.showCloseSidePanelIcon && - } diff --git a/frontend/src/components/menu-control.js b/frontend/src/components/menu-control.js index 0415ecce5c..07016f0501 100644 --- a/frontend/src/components/menu-control.js +++ b/frontend/src/components/menu-control.js @@ -7,7 +7,7 @@ const propTypes = { }; class MenuControl extends React.Component { - + render() { return ( diff --git a/frontend/src/components/org-admin-group-nav.js b/frontend/src/components/org-admin-group-nav.js index ae0d728b1a..3ebc772cc9 100644 --- a/frontend/src/components/org-admin-group-nav.js +++ b/frontend/src/components/org-admin-group-nav.js @@ -1,7 +1,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { Link } from '@reach/router'; -import { siteRoot, gettext } from '../utils/constants'; +import { siteRoot, gettext } from '../utils/constants'; const propTypes = { groupID: PropTypes.string.isRequired, diff --git a/frontend/src/components/org-admin-user-nav.js b/frontend/src/components/org-admin-user-nav.js index 3e15d5ab1d..2fdd2ceacc 100644 --- a/frontend/src/components/org-admin-user-nav.js +++ b/frontend/src/components/org-admin-user-nav.js @@ -1,7 +1,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { Link } from '@reach/router'; -import { siteRoot, gettext } from '../utils/constants'; +import { siteRoot, gettext } from '../utils/constants'; const propTypes = { email: PropTypes.string.isRequired, diff --git a/frontend/src/components/paginator.js b/frontend/src/components/paginator.js index 1335cbc6c6..610b33c0f1 100644 --- a/frontend/src/components/paginator.js +++ b/frontend/src/components/paginator.js @@ -26,13 +26,13 @@ class Paginator extends Component { const { currentPage, curPerPage } = this.props; this.updateURL(currentPage - 1, curPerPage); this.props.gotoPreviousPage(); - } + } goToNext = () => { const { currentPage, curPerPage } = this.props; this.updateURL(currentPage + 1, curPerPage); this.props.gotoNextPage(); - } + } updateURL = (page, perPage) => { let url = new URL(location.href); diff --git a/frontend/src/components/permission-denied-tip.js b/frontend/src/components/permission-denied-tip.js index 8097750d77..d3dd9fcbfc 100644 --- a/frontend/src/components/permission-denied-tip.js +++ b/frontend/src/components/permission-denied-tip.js @@ -4,11 +4,11 @@ import { gettext, loginUrl } from '../utils/constants'; function PermissionDeniedTip() { let reloginUrl = `${loginUrl}?next=${encodeURIComponent(location.href)}`; let errorTip = gettext('Permission denied. Please try {placeholder-left}login again.{placeholder-right}'); - errorTip = errorTip.replace('{placeholder-left}', '') + errorTip = errorTip.replace('{placeholder-left}', ''); errorTip = errorTip.replace('{placeholder-right}', ''); return( ); -} +} export default PermissionDeniedTip; \ No newline at end of file diff --git a/frontend/src/components/rename.js b/frontend/src/components/rename.js index 4f03795f81..23dba50365 100644 --- a/frontend/src/components/rename.js +++ b/frontend/src/components/rename.js @@ -86,12 +86,12 @@ class Rename extends React.Component { render() { return (
    - diff --git a/frontend/src/components/repo-info-bar.js b/frontend/src/components/repo-info-bar.js index ce9444a04c..7efe8c4ef1 100644 --- a/frontend/src/components/repo-info-bar.js +++ b/frontend/src/components/repo-info-bar.js @@ -46,7 +46,7 @@ class RepoInfoBar extends React.Component { toggleDrafts = () => { this.setState({ - showRepoDrafts: !this.state.showRepoDrafts + showRepoDrafts: !this.state.showRepoDrafts }); } @@ -78,13 +78,13 @@ class RepoInfoBar extends React.Component { )}
    0 && readmeMarkdown) ? 'file-info-list mt-1' : 'file-info-list'}> - {(readmeMarkdown !== null && parseInt(readmeMarkdown.size) > 1) && + {(readmeMarkdown !== null && parseInt(readmeMarkdown.size) > 1) && {readmeMarkdown.name} } - {(readmeMarkdown !== null && parseInt(readmeMarkdown.size) < 2) && + {(readmeMarkdown !== null && parseInt(readmeMarkdown.size) < 2) && {readmeMarkdown.name} diff --git a/frontend/src/components/review-list-view/review-comment-dialog.js b/frontend/src/components/review-list-view/review-comment-dialog.js index 586fe9b107..b9a509491f 100644 --- a/frontend/src/components/review-list-view/review-comment-dialog.js +++ b/frontend/src/components/review-list-view/review-comment-dialog.js @@ -32,7 +32,7 @@ class ReviewCommentDialog extends React.Component { this.setState({ comment: comment }); } - submitComment = () => { + submitComment = () => { const { quote, newIndex, oldIndex } = this.props; const comment = this.state.comment.trim(); if (comment.length === 0) return; diff --git a/frontend/src/components/review-list-view/review-comments.js b/frontend/src/components/review-list-view/review-comments.js index bffced6536..c950a30edf 100644 --- a/frontend/src/components/review-list-view/review-comments.js +++ b/frontend/src/components/review-list-view/review-comments.js @@ -36,7 +36,7 @@ class ReviewComments extends React.Component { submitComment = () => { let comment = this.state.comment.trim(); if (comment.length > 0) { - seafileAPI.postComment(draftRepoID, draftFilePath, comment).then(() => { + seafileAPI.postComment(draftRepoID, draftFilePath, comment).then(() => { this.props.listComments(); }).catch(error => { let errMessage = Utils.getErrorMsg(error); @@ -101,7 +101,7 @@ class ReviewComments extends React.Component { } this.setState({ commentFooterHeight: rate }); }; - + scrollToQuote = (newIndex, oldIndex, quote) => { this.props.scrollToQuote(newIndex, oldIndex, quote); this.setState({ comment: '' }); diff --git a/frontend/src/components/search/search.js b/frontend/src/components/search/search.js index 3128a44ffb..4d450a42ae 100644 --- a/frontend/src/components/search/search.js +++ b/frontend/src/components/search/search.js @@ -81,7 +81,7 @@ class Search extends Component { } getSearchResult(queryData) { - + if(this.source){ this.cancelRequest(); } @@ -129,7 +129,7 @@ class Search extends Component { _this.source = null; return; } - + let items = _this.formatResultItems(res.data.results); _this.setState({ resultItems: items, @@ -267,9 +267,9 @@ class Search extends Component {
    -
    - {this.state.isSearchInputShow && + {this.state.isSearchInputShow &&
    -
    -
    - {this.state.isSearchInputShow && + {this.state.isSearchInputShow &&
    - {this.props.translateOption(currentOption)} {this.props.isEditIconShow && ( - )} diff --git a/frontend/src/components/select-editor/share-link-permission-editor.js b/frontend/src/components/select-editor/share-link-permission-editor.js index 6f97855214..fe4fdd129e 100644 --- a/frontend/src/components/select-editor/share-link-permission-editor.js +++ b/frontend/src/components/select-editor/share-link-permission-editor.js @@ -19,7 +19,7 @@ class ShareLinkPermissionEditor extends React.Component { render() { return ( - { - if (window.uploader && - window.uploader.isUploadProgressDialogShow && + if (window.uploader && + window.uploader.isUploadProgressDialogShow && window.uploader.totalProgress !== 100) { return ''; } @@ -159,7 +159,7 @@ class FileUploader extends React.Component { let allFilesUploaded = this.state.allFilesUploaded; if (allFilesUploaded === true) { this.setState({allFilesUploaded: false}); - } + } //get parent_dir relative_path let path = this.props.path === '/' ? '/' : this.props.path + '/'; @@ -212,7 +212,7 @@ class FileUploader extends React.Component { toaster.danger(errMessage); }); } - } else { + } else { this.setUploadFileList(this.resumable.files); if (!this.isUploadLinkLoaded) { this.isUploadLinkLoaded = true; @@ -292,7 +292,7 @@ class FileUploader extends React.Component { if (this.timestamp) { let timeDiff = (now - this.timestamp); if (timeDiff < this.bitrateInterval) { - return this.state.uploadBitrate; + return this.state.uploadBitrate; } // 1. Cancel will produce loaded greater than this.loaded @@ -306,10 +306,10 @@ class FileUploader extends React.Component { this.timestamp = now; this.loaded = loaded; - + return uploadBitrate; } - + onProgress = () => { let progress = Math.round(this.resumable.progress() * 100); this.setState({totalProgress: progress}); @@ -405,7 +405,7 @@ class FileUploader extends React.Component { } else { // eg: '{"error": "Internal error" \n }' let errorMessage = message.replace(/\n/g, ''); - errorMessage = JSON.parse(errorMessage); + errorMessage = JSON.parse(errorMessage); error = errorMessage.error; if (error === 'File locked by others.') { error = gettext('File is locked by others.'); @@ -544,7 +544,7 @@ class FileUploader extends React.Component { onCancelAllUploading = () => { let uploadFileList = this.state.uploadFileList.filter(item => { if (Math.round(item.progress() !== 1)) { - item.cancel(); + item.cancel(); return false; } return true; @@ -566,7 +566,7 @@ class FileUploader extends React.Component { let { token } = this.props; seafileAPI.sharedLinkGetFileUploadUrl(token).then(res => { this.resumable.opts.target = res.data.upload_link + '?ret-json=1'; - + let retryFileList = this.state.retryFileList.filter(item => { return item.uniqueIdentifier !== resumableFile.uniqueIdentifier; }); @@ -577,7 +577,7 @@ class FileUploader extends React.Component { } return item; }); - + this.setState({ retryFileList: retryFileList, uploadFileList: uploadFileList @@ -597,7 +597,7 @@ class FileUploader extends React.Component { item.error = false; this.retryUploadFile(item); }); - + let uploadFileList = this.state.uploadFileList.slice(0); this.setState({ retryFileList: [], @@ -619,7 +619,7 @@ class FileUploader extends React.Component { let prefix = path === '/' ? (path + relative_path) : (path + '/' + relative_path); fileName = prefix + fileName; } - + resumableFile.bootstrap(); var firedRetry = false; resumableFile.resumableObj.on('chunkingComplete', () => { @@ -629,9 +629,9 @@ class FileUploader extends React.Component { let blockSize = parseInt(resumableUploadFileBlockSize) * 1024 * 1024 || 1024 * 1024; let offset = Math.floor(uploadedBytes / blockSize); resumableFile.markChunksCompleted(offset); - + resumableFile.resumableObj.upload(); - + }).catch(error => { let errMessage = Utils.getErrorMsg(error); toaster.danger(errMessage); diff --git a/frontend/src/components/shared-link-file-uploader/upload-list-item.js b/frontend/src/components/shared-link-file-uploader/upload-list-item.js index df3a54ba97..1b8872eedf 100644 --- a/frontend/src/components/shared-link-file-uploader/upload-list-item.js +++ b/frontend/src/components/shared-link-file-uploader/upload-list-item.js @@ -33,7 +33,7 @@ class UploadListItem extends React.Component { if (resumableFile.remainingTime === 0 && !resumableFile.isSaved) { uploadState = UPLOAD_ISSAVING; } - + if (resumableFile.isSaved) { uploadState = UPLOAD_UPLOADED; } diff --git a/frontend/src/components/shared-link-file-uploader/upload-progress-dialog.js b/frontend/src/components/shared-link-file-uploader/upload-progress-dialog.js index 8d4aafdb81..4d3194b5ed 100644 --- a/frontend/src/components/shared-link-file-uploader/upload-progress-dialog.js +++ b/frontend/src/components/shared-link-file-uploader/upload-progress-dialog.js @@ -82,7 +82,7 @@ class UploadProgressDialog extends React.Component { - {retryFileList.length > 0 ? + {retryFileList.length > 0 ? {gettext('Retry All')} : {gettext('Retry All')} @@ -104,9 +104,9 @@ class UploadProgressDialog extends React.Component { { this.props.uploadFileList.map((resumableFile, index) => { return ( - diff --git a/frontend/src/components/shared-repo-list-view/shared-repo-list-item.js b/frontend/src/components/shared-repo-list-view/shared-repo-list-item.js index 4b43cf1b63..ef58c04371 100644 --- a/frontend/src/components/shared-repo-list-view/shared-repo-list-item.js +++ b/frontend/src/components/shared-repo-list-view/shared-repo-list-item.js @@ -71,7 +71,7 @@ class SharedRepoListItem extends React.Component { }); } } - + onMouseLeave = () => { if (!this.props.isItemFreezed) { this.setState({ @@ -91,7 +91,7 @@ class SharedRepoListItem extends React.Component { this.setState({isItemMenuShow: !this.state.isItemMenuShow}); return; } - + this.setState( {isItemMenuShow: !this.state.isItemMenuShow}, () => { @@ -110,7 +110,7 @@ class SharedRepoListItem extends React.Component { getRepoComputeParams = () => { let repo = this.props.repo; - + let iconUrl = Utils.getLibIconUrl(repo); let iconTitle = Utils.getLibIconTitle(repo); let libPath = `${siteRoot}library/${repo.repo_id}/${Utils.encodePath(repo.repo_name)}/`; @@ -168,7 +168,7 @@ class SharedRepoListItem extends React.Component { this.props.onItemRename(this.props.repo, name); this.onRenameCancel(); } - + onRenameCancel = () => { this.props.onUnfreezedItem(); this.setState({isRenaming: !this.state.isRenaming}); @@ -207,12 +207,12 @@ class SharedRepoListItem extends React.Component { const groupID = currentGroup.id; seafileAPI.deleteGroupOwnedLibrary(groupID, repo.repo_id).then(() => { - + this.setState({ isRepoDeleted: true, isDeleteDialogShow: false, }); - + this.props.onItemDelete(repo); let name = repo.repo_name; var msg = gettext('Successfully deleted {name}.').replace('{name}', name); @@ -307,10 +307,10 @@ class SharedRepoListItem extends React.Component { operations.push('Share Links Admin'); if (repo.encrypted) { operations.push('Change Password'); - } + } if (repo.encrypted && enableResetEncryptedRepoPassword && isEmailConfigured) { operations.push('Reset Password'); - } + } operations.push('History Setting', 'API Token', 'Details'); } else { operations.push('Unshare'); @@ -333,7 +333,7 @@ class SharedRepoListItem extends React.Component { } } return operations; - } + } generatorMobileMenu = () => { let operations = []; @@ -355,11 +355,11 @@ class SharedRepoListItem extends React.Component { } return ( - @@ -392,18 +392,18 @@ class SharedRepoListItem extends React.Component { const shareOperation = ; const unshareOperation = ; const deleteOperation = ; - + if (this.isDeparementOnwerGroupMember) { return ( {shareOperation} {deleteOperation} - @@ -465,8 +465,8 @@ class SharedRepoListItem extends React.Component { {iconTitle} - {this.state.isRenaming ? - : + {this.state.isRenaming ? + : {repo.repo_name} } @@ -478,7 +478,7 @@ class SharedRepoListItem extends React.Component { ); } - + renderMobileUI = () => { let { iconUrl, iconTitle, libPath } = this.getRepoComputeParams(); let { repo } = this.props; @@ -487,9 +487,9 @@ class SharedRepoListItem extends React.Component { {iconTitle}/ - {this.state.isRenaming ? + {this.state.isRenaming ? : - {repo.repo_name} + {repo.repo_name} }
    {repo.owner_name} @@ -510,7 +510,7 @@ class SharedRepoListItem extends React.Component { {Utils.isDesktop() ? this.renderPCUI() : this.renderMobileUI()} {this.state.isShowSharedDialog && ( - )} - {this.state.isDeleteDialogShow && + {this.state.isDeleteDialogShow && {isPro && ( - )} diff --git a/frontend/src/components/toolbar/dir-operation-toolbar.js b/frontend/src/components/toolbar/dir-operation-toolbar.js index 16cfd2cae4..a39b467ac0 100644 --- a/frontend/src/components/toolbar/dir-operation-toolbar.js +++ b/frontend/src/components/toolbar/dir-operation-toolbar.js @@ -83,7 +83,7 @@ class DirOperationToolbar extends React.Component { this.setState({isUploadMenuShow: false}); this.props.onUploadFile(e); } - + onUploadFolder = (e) => { this.setState({isUploadMenuShow: false}); this.props.onUploadFolder(e); @@ -241,7 +241,7 @@ class DirOperationToolbar extends React.Component { )} {this.state.isShareDialogShow && -
    -
    -
    ); diff --git a/frontend/src/components/toolbar/markdown-viewer-toolbar.js b/frontend/src/components/toolbar/markdown-viewer-toolbar.js index 91bd5c3d52..ad157d252c 100644 --- a/frontend/src/components/toolbar/markdown-viewer-toolbar.js +++ b/frontend/src/components/toolbar/markdown-viewer-toolbar.js @@ -156,7 +156,7 @@ class MarkdownViewerToolbar extends React.Component { {(canLockUnlockFile && lockedByMe) && } - {canGenerateShareLink && + {canGenerateShareLink && } @@ -168,7 +168,7 @@ class MarkdownViewerToolbar extends React.Component { : - } @@ -194,7 +194,7 @@ class MarkdownViewerToolbar extends React.Component { : - } diff --git a/frontend/src/components/toolbar/multiple-dir-operation-toolbar.js b/frontend/src/components/toolbar/multiple-dir-operation-toolbar.js index f147de1e7b..5f3c01bf76 100644 --- a/frontend/src/components/toolbar/multiple-dir-operation-toolbar.js +++ b/frontend/src/components/toolbar/multiple-dir-operation-toolbar.js @@ -56,7 +56,7 @@ class MultipleDirOperationToolbar extends React.Component { fileTagList: [], multiFileTagList: [], showRelatedFileDialog: false, - viewMode: 'list_related_file', + viewMode: 'list_related_file', isRenameDialogOpen: false, isPermissionDialogOpen: false }; @@ -170,7 +170,7 @@ class MultipleDirOperationToolbar extends React.Component { case 'History': this.onHistory(dirent); break; - case 'Access Log': + case 'Access Log': this.onAccessLog(dirent); break; case 'Open via Client': @@ -327,7 +327,7 @@ class MultipleDirOperationToolbar extends React.Component { const dirent = this.props.selectedDirentList[0]; let direntPath = this.getDirentPath(dirent); - + return (
    @@ -356,8 +356,8 @@ class MultipleDirOperationToolbar extends React.Component {
    {Utils.isDesktop() && } - {this.state.isMoveDialogShow && - {this.state.isCreateRepoDialogShow && ( - - {this.props.showShareBtn && + {this.props.showShareBtn && {gettext('Share')} } {gettext('Tags')} @@ -130,7 +130,7 @@ class ViewFileToolbar extends React.Component {
    {this.state.isShareDialogShow && ( - { + nodePaths.forEach(nodePath => { let node = treeCopy.getNodeByPath(nodePath); treeCopy.moveNode(node, destNode); }); @@ -117,7 +117,7 @@ class TreeHelper { } return treeCopy; } - + copyNodeListByPaths(tree, nodePaths, destPath) { let treeCopy = tree.clone(); let destNode = treeCopy.getNodeByPath(destPath); diff --git a/frontend/src/components/tree-view/tree-node-view.js b/frontend/src/components/tree-view/tree-node-view.js index f55d352b8e..69804be597 100644 --- a/frontend/src/components/tree-view/tree-node-view.js +++ b/frontend/src/components/tree-view/tree-node-view.js @@ -44,7 +44,7 @@ class TreeNodeView extends React.Component { }); } } - + onMouseEnter = () => { if (!this.props.isItemFreezed) { this.setState({ @@ -154,7 +154,7 @@ class TreeNodeView extends React.Component { if (suffix === '.png' || suffix === '.jpg' || suffix === '.jpeg' || suffix === '.gif' || suffix === '.bmp') { icon = ; type = 'image'; - } + } else if (suffix === '.md' || suffix === '.markdown') { icon = ; type = 'file'; @@ -174,7 +174,7 @@ class TreeNodeView extends React.Component { if (node.object.type === 'dir') { return [NEW_FOLDER, NEW_FILE, COPY, MOVE, RENAME, DELETE]; } - + return [RENAME, DELETE, COPY, MOVE, OPEN_VIA_CLIENT]; } @@ -187,7 +187,7 @@ class TreeNodeView extends React.Component {
    {node.children.map(item => { return ( - -
    {node.object.name}
    {type === 'dir' && (!node.isLoaded || (node.isLoaded && node.hasChildren())) && ( - e.stopPropagation()} onClick={this.onLoadToggle} @@ -248,7 +248,7 @@ class TreeNodeView extends React.Component { {isNodeMenuShow && (
    {((this.props.repoPermission || permission) && this.state.isShowOperationMenu) && ( - { event.preventDefault(); - + let currentRepoInfo = this.props.currentRepoInfo; if (currentRepoInfo.permission !== 'admin' && currentRepoInfo.permission !== 'rw') { return ''; } this.handleContextClick(event); } - + handleContextClick = (event, node) => { event.preventDefault(); event.stopPropagation(); - + if (!this.props.isNodeMenuShow) { return; } - + let x = event.clientX || (event.touches && event.touches[0].pageX); let y = event.clientY || (event.touches && event.touches[0].pageY); @@ -228,7 +228,7 @@ class TreeView extends React.Component { hideMenu(); let menuList = this.getMenuList(node); - + let showMenuConfig = { id: 'tree-node-contextmenu', position: { x, y }, @@ -236,7 +236,7 @@ class TreeView extends React.Component { currentObject: node, menuList: menuList, }; - + showMenu(showMenuConfig); } @@ -253,7 +253,7 @@ class TreeView extends React.Component { menuList = [NEW_FOLDER, NEW_FILE, COPY, MOVE, RENAME, DELETE]; } else { menuList = [RENAME, DELETE, COPY, MOVE, OPEN_VIA_CLIENT]; - } + } return menuList; } @@ -268,15 +268,15 @@ class TreeView extends React.Component { render() { return ( -
    - - {item.contact_email}
    - ) : ( + ) : ( {item.name} @@ -85,7 +85,7 @@ class UserSelect extends React.Component { return (
    {searchValue ? gettext('User not found') : gettext('Enter characters to start searching')}
    ); - } + } }} isMulti={this.props.isMulti} loadOptions={this.loadOptions} diff --git a/frontend/src/components/user-settings/delete-account.js b/frontend/src/components/user-settings/delete-account.js index b3d19c9038..6feaeb1b1a 100644 --- a/frontend/src/components/user-settings/delete-account.js +++ b/frontend/src/components/user-settings/delete-account.js @@ -51,4 +51,4 @@ class DeleteAccount extends React.Component { } } -export default DeleteAccount; +export default DeleteAccount; diff --git a/frontend/src/components/user-settings/email-notice.js b/frontend/src/components/user-settings/email-notice.js index eb5883dac4..408e4e14be 100644 --- a/frontend/src/components/user-settings/email-notice.js +++ b/frontend/src/components/user-settings/email-notice.js @@ -40,7 +40,7 @@ class EmailNotice extends React.Component { seafileAPI.updateEmailNotificationInterval(this.state.currentInterval).then((res) => { toaster.success(gettext('Success')); }).catch((error) => { - let errorMsg = Utils.getErrorMsg(error); + let errorMsg = Utils.getErrorMsg(error); toaster.danger(errorMsg); }); } @@ -55,7 +55,7 @@ class EmailNotice extends React.Component { {this.intervalOptions.map((item, index) => { return ( - +
    @@ -68,4 +68,4 @@ class EmailNotice extends React.Component { } } -export default EmailNotice; +export default EmailNotice; diff --git a/frontend/src/components/user-settings/list-in-address-book.js b/frontend/src/components/user-settings/list-in-address-book.js index b81ab43730..a02e58c28d 100644 --- a/frontend/src/components/user-settings/list-in-address-book.js +++ b/frontend/src/components/user-settings/list-in-address-book.js @@ -7,7 +7,7 @@ class ListInAddressBook extends React.Component { super(props); const { list_in_address_book } = this.props.userInfo; this.state = { - inputChecked: list_in_address_book + inputChecked: list_in_address_book }; } @@ -36,4 +36,4 @@ class ListInAddressBook extends React.Component { } } -export default ListInAddressBook; +export default ListInAddressBook; diff --git a/frontend/src/components/user-settings/side-nav.js b/frontend/src/components/user-settings/side-nav.js index 930c1ddcfb..fa42626ffa 100644 --- a/frontend/src/components/user-settings/side-nav.js +++ b/frontend/src/components/user-settings/side-nav.js @@ -18,4 +18,4 @@ class SideNav extends React.Component { } } -export default SideNav; +export default SideNav; diff --git a/frontend/src/components/user-settings/social-login.js b/frontend/src/components/user-settings/social-login.js index 6aa86a1b9f..244d53413e 100644 --- a/frontend/src/components/user-settings/social-login.js +++ b/frontend/src/components/user-settings/social-login.js @@ -57,4 +57,4 @@ class SocialLogin extends React.Component { } } -export default SocialLogin; +export default SocialLogin; diff --git a/frontend/src/components/user-settings/two-factor-auth.js b/frontend/src/components/user-settings/two-factor-auth.js index f7ba590030..25c70312ae 100644 --- a/frontend/src/components/user-settings/two-factor-auth.js +++ b/frontend/src/components/user-settings/two-factor-auth.js @@ -49,4 +49,4 @@ class TwoFactorAuthentication extends React.Component { } } -export default TwoFactorAuthentication; +export default TwoFactorAuthentication; diff --git a/frontend/src/components/user-settings/user-avatar-form.js b/frontend/src/components/user-settings/user-avatar-form.js index 5395a4bf18..d3ad0a24c7 100644 --- a/frontend/src/components/user-settings/user-avatar-form.js +++ b/frontend/src/components/user-settings/user-avatar-form.js @@ -26,7 +26,7 @@ class UserAvatarForm extends React.Component { } const file = this.fileInput.current.files[0]; - const fileName = file.name; + const fileName = file.name; // no file extension if (fileName.lastIndexOf('.') == -1) { diff --git a/frontend/src/components/user-settings/user-basic-info-form.js b/frontend/src/components/user-settings/user-basic-info-form.js index 763bf159fc..761364e3ab 100644 --- a/frontend/src/components/user-settings/user-basic-info-form.js +++ b/frontend/src/components/user-settings/user-basic-info-form.js @@ -1,7 +1,7 @@ import React from 'react'; import { gettext } from '../../utils/constants'; -const { +const { nameLabel, enableUpdateUserInfo, enableUserSetContactEmail diff --git a/frontend/src/components/user-settings/webdav-password.js b/frontend/src/components/user-settings/webdav-password.js index ab58856ba7..f72fd7a9c0 100644 --- a/frontend/src/components/user-settings/webdav-password.js +++ b/frontend/src/components/user-settings/webdav-password.js @@ -36,7 +36,7 @@ class WebdavPassword extends React.Component { let errorMsg = Utils.getErrorMsg(error); this.toggleDialog(); toaster.danger(errorMsg); - }); + }); } toggleDialog = () => { diff --git a/frontend/src/components/wiki-list-view/wiki-list-item.js b/frontend/src/components/wiki-list-view/wiki-list-item.js index 3ec037f8c4..24fa248e3e 100644 --- a/frontend/src/components/wiki-list-view/wiki-list-item.js +++ b/frontend/src/components/wiki-list-view/wiki-list-item.js @@ -103,14 +103,14 @@ class WikiListItem extends Component { // this.props.onUnfreezedItem(); // this.setState({isRenameing: false}); // } - + onDeleteToggle = () => { this.props.onUnfreezedItem(); this.setState({ isShowDeleteDialog: !this.state.isShowDeleteDialog, }); } - + onDeleteCancel = () => { this.props.onUnfreezedItem(); this.setState({ diff --git a/frontend/src/components/wiki-list-view/wiki-list-view.js b/frontend/src/components/wiki-list-view/wiki-list-view.js index 537659feda..bd17b8752a 100644 --- a/frontend/src/components/wiki-list-view/wiki-list-view.js +++ b/frontend/src/components/wiki-list-view/wiki-list-view.js @@ -54,8 +54,8 @@ class WikiListView extends Component { {wikis.map((wiki, index) => { return ( - { - event.preventDefault(); + event.preventDefault(); event.stopPropagation(); let link = ''; if (event.target.tagName !== 'A') { @@ -140,7 +140,7 @@ class WikiMarkdownViewer extends React.Component { if (item.type == 'image' && isPublicWiki) { url = item.data.src; const re = new RegExp(serviceURL + '/lib/' + repoID +'/file.*raw=1'); - // different repo + // different repo if (re.test(url)) { // get image path let index = url.indexOf('/file'); @@ -154,7 +154,7 @@ class WikiMarkdownViewer extends React.Component { return; } item.data.src = serviceURL + '/view-image-via-public-wiki/?slug=' + slug + '&path=' + imagePath; - } + } else if (item.type == 'link') { url = item.data.href; @@ -175,7 +175,7 @@ class WikiMarkdownViewer extends React.Component { let path = Utils.getPathFromInternalDirLink(url, repoID); // replace url item.data.href = serviceURL + '/published/' + slug + path; - } + } } } diff --git a/frontend/src/components/wiki-outline.js b/frontend/src/components/wiki-outline.js index 097291d376..5fee3e44fe 100644 --- a/frontend/src/components/wiki-outline.js +++ b/frontend/src/components/wiki-outline.js @@ -13,7 +13,7 @@ class WikiOutlineItem extends React.Component { var activeId = this.props.item.id; this.props.handleNavItemClick(activeId); } - + render() { let item = this.props.item; let activeIndex = parseInt(this.props.activeIndex); @@ -59,13 +59,13 @@ class WikiOutline extends React.Component { let flag = false; let item = navItems[i]; if (item.id === activeId && item.key !== _this.state.activeIndex) { - let scrollTop = 0; + let scrollTop = 0; if (item.key > 20) { scrollTop = - (item.key - 20)*27 + 'px'; if (parseInt(scrollTop) > 0) { // handle scroll quickly; scrollTop = 0; - } - } + } + } _this.setState({ activeIndex : item.key, scrollTop: scrollTop @@ -77,16 +77,16 @@ class WikiOutline extends React.Component { } } } - + render() { let style = {top: this.state.scrollTop}; return (
      {this.props.navItems.map(item => { return ( - diff --git a/frontend/src/draft.js b/frontend/src/draft.js index f319bc3ee6..bf012d1297 100644 --- a/frontend/src/draft.js +++ b/frontend/src/draft.js @@ -15,7 +15,7 @@ import ReviewComments from './components/review-list-view/review-comments'; import ReviewCommentDialog from './components/review-list-view/review-comment-dialog.js'; import { Tooltip } from 'reactstrap'; import AddReviewerDialog from './components/dialog/add-reviewer-dialog.js'; -import { ReactEditor } from '@seafile/slate-react'; +import { ReactEditor } from '@seafile/slate-react'; import { Nav, NavItem, NavLink, TabContent, TabPane } from 'reactstrap'; import classnames from 'classnames'; import HistoryList from './pages/review/history-list'; @@ -80,7 +80,7 @@ class Draft extends React.Component { if (!originFileExists) { seafileAPI.getFileDownloadLink(draftRepoID, draftFilePath) - .then(res => { + .then(res => { seafileAPI.getFileContent(res.data) .then(res => { this.setState({ @@ -88,7 +88,7 @@ class Draft extends React.Component { draftOriginContent: res.data, isLoading: false, isShowDiff: false - }); + }); }); }); return; @@ -104,7 +104,7 @@ class Draft extends React.Component { activeTab: 'history', }); seafileAPI.listFileHistoryRecords(draftRepoID, draftFilePath, 1, 25).then((res) => { - const historyList = res.data.data; + const historyList = res.data.data; this.setState({ historyList: historyList, totalReversionCount: res.data.total_count @@ -162,8 +162,8 @@ class Draft extends React.Component { return; } - let dl0 = siteRoot + 'repo/' + draftRepoID + '/' + draftPublishVersion + '/download?' + 'p=' + draftOriginFilePath; - let dl = siteRoot + 'repo/' + draftRepoID + '/' + originFileVersion + '/download?' + 'p=' + draftOriginFilePath; + let dl0 = siteRoot + 'repo/' + draftRepoID + '/' + draftPublishVersion + '/download?' + 'p=' + draftOriginFilePath; + let dl = siteRoot + 'repo/' + draftRepoID + '/' + originFileVersion + '/download?' + 'p=' + draftOriginFilePath; axios.all([ seafileAPI.getFileContent(dl0), seafileAPI.getFileContent(dl) @@ -172,7 +172,7 @@ class Draft extends React.Component { draftContent: draftContent.data, draftOriginContent: draftOriginContent.data, isLoading: false, - }); + }); })); break; } @@ -313,7 +313,7 @@ class Draft extends React.Component { const nodes = this.refs.diffViewer.value; let commentNode = nodes.find((node) => { if (node.data['old_index'] == oldIndex && node.data['new_index'] == newIndex) { - return node + return node; } }); if (commentNode) { @@ -459,7 +459,7 @@ class Draft extends React.Component { if (tab !== 'history' && window.location.hash) { this.setURL('#'); } - if (tab == 'reviewInfo') { + if (tab == 'reviewInfo') { this.initialContent(); } else if (tab == 'history') { this.initialDiffViewerContent(); @@ -508,7 +508,7 @@ class Draft extends React.Component { ); } - } + } getDomNodeByPath = (path) => { let node, parent = document.querySelector('.viewer-component'); @@ -660,7 +660,7 @@ class Draft extends React.Component { } render() { - const { draftInfo, reviewers, originRepoName, draftStatus } = this.state; + const { draftInfo, reviewers, originRepoName, draftStatus } = this.state; const onResizeMove = this.state.inResizing ? this.onResizeMouseMove : null; const draftLink = siteRoot + 'lib/' + draftRepoID + '/file' + draftFilePath + '?mode=edit'; const showPublishedButton = this.state.draftStatus == 'published'; @@ -711,8 +711,8 @@ class Draft extends React.Component {
      {this.state.isLoading ?
      - -
      + +
      :
      {this.renderContent()} diff --git a/frontend/src/file-history-old.js b/frontend/src/file-history-old.js index c90fbd2620..7aebfde8bc 100644 --- a/frontend/src/file-history-old.js +++ b/frontend/src/file-history-old.js @@ -253,7 +253,7 @@ class FileHistory extends React.Component { {this.state.historyList.map((item, index) => { return (
      - } />; break; - case 'SVG': + case 'SVG': content = ; break; - case 'PDF': + case 'PDF': content = ; break; - case 'Video': + case 'Video': content =