box-ui-elements 16.0.0-beta.9 → 16.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/explorer.css +1 -1
- package/dist/explorer.js +19 -58
- package/dist/openwith.css +1 -1
- package/dist/openwith.js +10 -10
- package/dist/picker.css +1 -1
- package/dist/picker.js +12 -12
- package/dist/preview.css +1 -1
- package/dist/preview.js +17 -56
- package/dist/sharing.css +1 -1
- package/dist/sharing.js +34 -34
- package/dist/sidebar.css +1 -1
- package/dist/sidebar.js +17 -56
- package/dist/uploader.css +1 -1
- package/dist/uploader.js +12 -12
- package/es/api/APIFactory.js +27 -0
- package/es/api/APIFactory.js.flow +26 -0
- package/es/api/APIFactory.js.map +1 -1
- package/es/api/Annotations.js +84 -8
- package/es/api/Annotations.js.flow +60 -6
- package/es/api/Annotations.js.map +1 -1
- package/es/api/Comments.js +2 -2
- package/es/api/Comments.js.flow +5 -4
- package/es/api/Comments.js.map +1 -1
- package/es/api/Feed.js +578 -71
- package/es/api/Feed.js.flow +677 -17
- package/es/api/Feed.js.map +1 -1
- package/es/api/FileCollaborators.js +29 -0
- package/es/api/FileCollaborators.js.flow +30 -0
- package/es/api/FileCollaborators.js.map +1 -1
- package/es/api/ThreadedComments.js +64 -27
- package/es/api/ThreadedComments.js.flow +54 -29
- package/es/api/ThreadedComments.js.map +1 -1
- package/es/api/fixtures.js +381 -0
- package/es/api/fixtures.js.flow +401 -0
- package/es/api/fixtures.js.map +1 -0
- package/es/api/messages.js +4 -0
- package/es/api/messages.js.flow +5 -0
- package/es/api/messages.js.map +1 -1
- package/es/api/utils.js +33 -0
- package/es/api/utils.js.flow +30 -0
- package/es/api/utils.js.map +1 -0
- package/es/common/types/annotations.js.flow +18 -12
- package/es/common/types/feed.js +1 -1
- package/es/common/types/feed.js.flow +40 -4
- package/es/common/types/feed.js.map +1 -1
- package/es/components/accessible-svg/AccessibleSVG.stories.js +20 -0
- package/es/components/accessible-svg/AccessibleSVG.stories.js.map +1 -0
- package/es/components/badge/Badge.stories.js +1 -13
- package/es/components/badge/Badge.stories.js.map +1 -1
- package/es/components/badge/BetaBadge.stories.js +10 -0
- package/es/components/badge/BetaBadge.stories.js.map +1 -0
- package/es/components/badge/TrialBadge.stories.js +10 -0
- package/es/components/badge/TrialBadge.stories.js.map +1 -0
- package/es/components/badge/UpgradeBadge.stories.js +10 -0
- package/es/components/badge/UpgradeBadge.stories.js.map +1 -0
- package/es/components/breadcrumb/Breadcrumb.js +48 -35
- package/es/components/breadcrumb/Breadcrumb.js.flow +68 -42
- package/es/components/breadcrumb/Breadcrumb.js.map +1 -1
- package/es/components/breadcrumb/EllipsisCrumb.js +5 -3
- package/es/components/breadcrumb/EllipsisCrumb.js.flow +10 -6
- package/es/components/breadcrumb/EllipsisCrumb.js.map +1 -1
- package/es/components/count-badge/CountBadge.stories.js +1 -1
- package/es/components/count-badge/CountBadge.stories.js.map +1 -1
- package/es/components/draggable-list/DraggableList.stories.js +119 -5
- package/es/components/draggable-list/DraggableList.stories.js.map +1 -1
- package/es/components/dropdown-menu/DropdownMenu.js +9 -0
- package/es/components/dropdown-menu/DropdownMenu.js.flow +11 -0
- package/es/components/dropdown-menu/DropdownMenu.js.map +1 -1
- package/es/components/dropdown-menu/DropdownMenu.scss +3 -3
- package/es/components/infinite-scroll/InfiniteScroll.js +4 -2
- package/es/components/infinite-scroll/InfiniteScroll.js.map +1 -1
- package/es/components/modal/Modal.scss +5 -1
- package/es/components/search-form/SearchForm.js +1 -1
- package/es/components/search-form/SearchForm.js.flow +1 -1
- package/es/components/search-form/SearchForm.js.map +1 -1
- package/es/components/table/makeSelectable.js +304 -97
- package/es/components/table/makeSelectable.js.flow +299 -98
- package/es/components/table/makeSelectable.js.map +1 -1
- package/es/components/tooltip/Tooltip.js +3 -2
- package/es/components/tooltip/Tooltip.js.map +1 -1
- package/es/constants.js +11 -0
- package/es/constants.js.flow +11 -0
- package/es/constants.js.map +1 -1
- package/es/elements/common/annotator-context/index.js +1 -0
- package/es/elements/common/annotator-context/index.js.flow +4 -0
- package/es/elements/common/annotator-context/index.js.map +1 -1
- package/es/elements/common/annotator-context/types.js +12 -0
- package/es/elements/common/annotator-context/types.js.flow +77 -35
- package/es/elements/common/annotator-context/types.js.map +1 -1
- package/es/elements/common/annotator-context/useAnnotatorEvents.js +205 -0
- package/es/elements/common/annotator-context/useAnnotatorEvents.js.flow +52 -0
- package/es/elements/common/annotator-context/useAnnotatorEvents.js.map +1 -0
- package/es/elements/common/annotator-context/withAnnotations.js +224 -5
- package/es/elements/common/annotator-context/withAnnotations.js.flow +73 -36
- package/es/elements/common/annotator-context/withAnnotations.js.map +1 -1
- package/es/elements/common/annotator-context/withAnnotatorContext.js +12 -4
- package/es/elements/common/annotator-context/withAnnotatorContext.js.flow +29 -9
- package/es/elements/common/annotator-context/withAnnotatorContext.js.map +1 -1
- package/es/elements/common/current-user/index.js +3 -0
- package/es/elements/common/current-user/index.js.flow +8 -0
- package/es/elements/common/current-user/index.js.map +1 -0
- package/es/elements/common/current-user/withCurrentUser.js +139 -0
- package/es/elements/common/current-user/withCurrentUser.js.flow +40 -0
- package/es/elements/common/current-user/withCurrentUser.js.map +1 -0
- package/es/elements/common/flowTypes.js.flow +22 -4
- package/es/elements/common/flowTypes.js.map +1 -1
- package/es/elements/common/interactionTargets.js +2 -0
- package/es/elements/common/interactionTargets.js.flow +2 -0
- package/es/elements/common/interactionTargets.js.map +1 -1
- package/es/elements/common/logger/Logger.js +1 -1
- package/es/elements/common/logger/Logger.js.flow +1 -1
- package/es/elements/common/logger/Logger.js.map +1 -1
- package/es/elements/common/messages.js +4 -0
- package/es/elements/common/messages.js.flow +5 -0
- package/es/elements/common/messages.js.map +1 -1
- package/es/elements/content-explorer/DeleteConfirmationDialog.js +2 -1
- package/es/elements/content-explorer/DeleteConfirmationDialog.js.flow +3 -1
- package/es/elements/content-explorer/DeleteConfirmationDialog.js.map +1 -1
- package/es/elements/content-explorer/DeleteConfirmationDialog.scss +5 -0
- package/es/elements/content-explorer/stories/DeleteConfirmationDialog.stories.js +58 -0
- package/es/elements/content-explorer/stories/DeleteConfirmationDialog.stories.js.flow +60 -0
- package/es/elements/content-explorer/stories/DeleteConfirmationDialog.stories.js.map +1 -0
- package/es/elements/content-sidebar/ActivitySidebar.js +323 -197
- package/es/elements/content-sidebar/ActivitySidebar.js.flow +381 -154
- package/es/elements/content-sidebar/ActivitySidebar.js.map +1 -1
- package/es/elements/content-sidebar/ActivitySidebarFilter.js +52 -0
- package/es/elements/content-sidebar/ActivitySidebarFilter.js.flow +59 -0
- package/es/elements/content-sidebar/ActivitySidebarFilter.js.map +1 -0
- package/es/elements/content-sidebar/ActivitySidebarFilter.scss +4 -0
- package/es/elements/content-sidebar/DetailsSidebar.js +50 -25
- package/es/elements/content-sidebar/DetailsSidebar.js.flow +32 -4
- package/es/elements/content-sidebar/DetailsSidebar.js.map +1 -1
- package/es/elements/content-sidebar/Sidebar.js +4 -1
- package/es/elements/content-sidebar/Sidebar.js.flow +6 -1
- package/es/elements/content-sidebar/Sidebar.js.map +1 -1
- package/es/elements/content-sidebar/SidebarContentInsights.js +45 -0
- package/es/elements/content-sidebar/SidebarContentInsights.js.map +1 -0
- package/es/elements/content-sidebar/SidebarContentInsights.scss +6 -0
- package/es/elements/content-sidebar/SidebarPanels.js +2 -0
- package/es/elements/content-sidebar/SidebarPanels.js.flow +4 -0
- package/es/elements/content-sidebar/SidebarPanels.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActiveState.js +91 -10
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActiveState.js.flow +122 -24
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActiveState.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityFeed.js +27 -15
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityFeed.js.flow +59 -18
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityFeed.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThread.js +101 -0
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThread.js.flow +126 -0
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThread.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThread.scss +17 -0
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplies.js +69 -0
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplies.js.flow +85 -0
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplies.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplies.scss +16 -0
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplyForm.js +62 -0
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplyForm.js.flow +59 -0
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplyForm.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplyForm.scss +22 -0
- package/es/elements/content-sidebar/activity-feed/activity-feed/activityFeedUtils.js +2 -2
- package/es/elements/content-sidebar/activity-feed/activity-feed/activityFeedUtils.js.flow +2 -2
- package/es/elements/content-sidebar/activity-feed/activity-feed/activityFeedUtils.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/activity-feed/fixtures.js +55 -0
- package/es/elements/content-sidebar/activity-feed/activity-feed/fixtures.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/activity-feed/messages.js +16 -0
- package/es/elements/content-sidebar/activity-feed/activity-feed/messages.js.flow +20 -0
- package/es/elements/content-sidebar/activity-feed/activity-feed/messages.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThread.js +121 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThread.js.flow +117 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThread.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThread.scss +7 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadContent.js +75 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadContent.js.flow +105 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadContent.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadContent.scss +5 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadCreate.js +77 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadCreate.js.flow +86 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadCreate.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadCreate.scss +3 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/errors.js +11 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/errors.js.flow +26 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/errors.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/index.js +2 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/index.js.flow +1 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/index.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/messages.js +17 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/messages.js.flow +21 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/messages.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/useAnnotationAPI.js +180 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/useAnnotationAPI.js.flow +203 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/useAnnotationAPI.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/useRepliesAPI.js +124 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/useRepliesAPI.js.flow +121 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/useRepliesAPI.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/annotations/AnnotationActivity.js +19 -5
- package/es/elements/content-sidebar/activity-feed/annotations/AnnotationActivity.js.flow +24 -4
- package/es/elements/content-sidebar/activity-feed/annotations/AnnotationActivity.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/annotations/AnnotationActivityMenu.js +25 -4
- package/es/elements/content-sidebar/activity-feed/annotations/AnnotationActivityMenu.js.flow +36 -2
- package/es/elements/content-sidebar/activity-feed/annotations/AnnotationActivityMenu.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/annotations/messages.js +8 -0
- package/es/elements/content-sidebar/activity-feed/annotations/messages.js.flow +10 -0
- package/es/elements/content-sidebar/activity-feed/annotations/messages.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/comment/Comment.js +61 -28
- package/es/elements/content-sidebar/activity-feed/comment/Comment.js.flow +54 -10
- package/es/elements/content-sidebar/activity-feed/comment/Comment.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/comment/messages.js +8 -0
- package/es/elements/content-sidebar/activity-feed/comment/messages.js.flow +10 -0
- package/es/elements/content-sidebar/activity-feed/comment/messages.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/comment-form/CommentForm.js +4 -2
- package/es/elements/content-sidebar/activity-feed/comment-form/CommentForm.js.flow +3 -1
- package/es/elements/content-sidebar/activity-feed/comment-form/CommentForm.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/common/activity-message/ActivityMessage.js +16 -5
- package/es/elements/content-sidebar/activity-feed/common/activity-message/ActivityMessage.js.flow +34 -4
- package/es/elements/content-sidebar/activity-feed/common/activity-message/ActivityMessage.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/common/activity-message/ActivityMessage.scss +40 -3
- package/es/elements/content-sidebar/activity-feed/common/activity-message/CollapsableMessage.js +49 -0
- package/es/elements/content-sidebar/activity-feed/common/activity-message/CollapsableMessage.js.flow +42 -0
- package/es/elements/content-sidebar/activity-feed/common/activity-message/CollapsableMessage.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/common/activity-message/CollapsableMessageToggle.js +21 -0
- package/es/elements/content-sidebar/activity-feed/common/activity-message/CollapsableMessageToggle.js.flow +24 -0
- package/es/elements/content-sidebar/activity-feed/common/activity-message/CollapsableMessageToggle.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/common/activity-message/messages.js +12 -0
- package/es/elements/content-sidebar/activity-feed/common/activity-message/messages.js.flow +15 -0
- package/es/elements/content-sidebar/activity-feed/common/activity-message/messages.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/common/activity-status/ActivityStatus.js +24 -0
- package/es/elements/content-sidebar/activity-feed/common/activity-status/ActivityStatus.js.flow +30 -0
- package/es/elements/content-sidebar/activity-feed/common/activity-status/ActivityStatus.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/common/activity-status/ActivityStatus.scss +6 -0
- package/es/elements/content-sidebar/activity-feed/common/activity-status/index.js +2 -0
- package/es/elements/content-sidebar/activity-feed/common/activity-status/index.js.flow +2 -0
- package/es/elements/content-sidebar/activity-feed/common/activity-status/index.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/common/activity-status/messages.js +9 -0
- package/es/elements/content-sidebar/activity-feed/common/activity-status/messages.js.flow +13 -0
- package/es/elements/content-sidebar/activity-feed/common/activity-status/messages.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/common/activity-timestamp/ActivityTimestamp.scss +1 -1
- package/es/elements/content-sidebar/fixtures.js +181 -0
- package/es/elements/content-sidebar/fixtures.js.flow +185 -0
- package/es/elements/content-sidebar/fixtures.js.map +1 -0
- package/es/elements/content-sidebar/flowTypes.js.flow +9 -25
- package/es/elements/content-sidebar/messages.js +8 -0
- package/es/elements/content-sidebar/messages.js.flow +10 -0
- package/es/elements/content-sidebar/messages.js.map +1 -1
- package/es/elements/content-sidebar/withErrorHandling.js.flow +1 -1
- package/es/elements/content-sidebar/withErrorHandling.js.map +1 -1
- package/es/elements/content-sidebar/withSidebarAnnotations.js +215 -30
- package/es/elements/content-sidebar/withSidebarAnnotations.js.flow +162 -11
- package/es/elements/content-sidebar/withSidebarAnnotations.js.map +1 -1
- package/es/elements/content-uploader/OverallUploadsProgressBar.js +10 -8
- package/es/elements/content-uploader/OverallUploadsProgressBar.js.flow +11 -12
- package/es/elements/content-uploader/OverallUploadsProgressBar.js.map +1 -1
- package/es/features/classification/Classification.scss +1 -1
- package/es/features/classification/security-controls/SecurityControlsItem.scss +1 -0
- package/es/features/classification/security-controls/messages.js +8 -0
- package/es/features/classification/security-controls/messages.js.flow +10 -0
- package/es/features/classification/security-controls/messages.js.map +1 -1
- package/es/features/classification/security-controls/utils.js +4 -7
- package/es/features/classification/security-controls/utils.js.flow +8 -12
- package/es/features/classification/security-controls/utils.js.map +1 -1
- package/es/features/content-explorer/content-explorer/ContentExplorer.js +6 -1
- package/es/features/content-explorer/content-explorer/ContentExplorer.js.flow +4 -0
- package/es/features/content-explorer/content-explorer/ContentExplorer.js.map +1 -1
- package/es/features/content-explorer/content-explorer/ContentExplorer.scss +4 -0
- package/es/features/content-explorer/content-explorer/ContentExplorerBreadcrumbs.js +15 -9
- package/es/features/content-explorer/content-explorer/ContentExplorerBreadcrumbs.js.flow +14 -11
- package/es/features/content-explorer/content-explorer/ContentExplorerBreadcrumbs.js.map +1 -1
- package/es/features/content-explorer/content-explorer/ContentExplorerHeaderActions.js +4 -1
- package/es/features/content-explorer/content-explorer/ContentExplorerHeaderActions.js.flow +4 -1
- package/es/features/content-explorer/content-explorer/ContentExplorerHeaderActions.js.map +1 -1
- package/es/features/content-explorer/content-explorer-modal/ContentExplorerModal.js +6 -3
- package/es/features/content-explorer/content-explorer-modal/ContentExplorerModal.js.flow +5 -1
- package/es/features/content-explorer/content-explorer-modal/ContentExplorerModal.js.map +1 -1
- package/es/features/content-explorer/content-explorer-modal-container/ContentExplorerModalContainer.js +6 -1
- package/es/features/content-explorer/content-explorer-modal-container/ContentExplorerModalContainer.js.flow +5 -1
- package/es/features/content-explorer/content-explorer-modal-container/ContentExplorerModalContainer.js.map +1 -1
- package/es/features/content-explorer/prop-types.js +7 -1
- package/es/features/content-explorer/prop-types.js.flow +8 -0
- package/es/features/content-explorer/prop-types.js.map +1 -1
- package/es/features/content-insights/CompactCount.js +24 -0
- package/es/features/content-insights/CompactCount.js.map +1 -0
- package/es/features/content-insights/ContentAnalyticsErrorState.js +35 -0
- package/es/features/content-insights/ContentAnalyticsErrorState.js.map +1 -0
- package/es/features/content-insights/ContentAnalyticsErrorState.scss +17 -0
- package/es/features/content-insights/ContentInsightsSummary.js +42 -0
- package/es/features/content-insights/ContentInsightsSummary.js.map +1 -0
- package/es/features/content-insights/ContentInsightsSummary.scss +12 -0
- package/es/features/content-insights/ContentInsightsSummaryGhostState.js +19 -0
- package/es/features/content-insights/ContentInsightsSummaryGhostState.js.map +1 -0
- package/es/features/content-insights/ContentInsightsSummaryGhostState.scss +9 -0
- package/es/features/content-insights/GraphCardGhostState.js +25 -0
- package/es/features/content-insights/GraphCardGhostState.js.map +1 -0
- package/es/features/content-insights/GraphCardGhostState.scss +18 -0
- package/es/features/content-insights/GraphCardPreviewsSummary.js +30 -0
- package/es/features/content-insights/GraphCardPreviewsSummary.js.map +1 -0
- package/es/features/content-insights/GraphCardPreviewsSummary.scss +10 -0
- package/es/features/content-insights/GraphGhostState.js +21 -0
- package/es/features/content-insights/GraphGhostState.js.map +1 -0
- package/es/features/content-insights/GraphGhostState.scss +11 -0
- package/es/features/content-insights/HeaderWithCount.js +23 -0
- package/es/features/content-insights/HeaderWithCount.js.map +1 -0
- package/es/features/content-insights/HeaderWithCount.scss +10 -0
- package/es/features/content-insights/MetricSummary.js +85 -0
- package/es/features/content-insights/MetricSummary.js.map +1 -0
- package/es/features/content-insights/MetricSummary.scss +14 -0
- package/es/features/content-insights/OpenContentInsightsButton.js +16 -0
- package/es/features/content-insights/OpenContentInsightsButton.js.map +1 -0
- package/es/features/content-insights/TrendPill.js +61 -0
- package/es/features/content-insights/TrendPill.js.map +1 -0
- package/es/features/content-insights/TrendPill.scss +33 -0
- package/es/features/content-insights/_mixins.scss +7 -0
- package/es/features/content-insights/_variables.scss +4 -0
- package/es/features/content-insights/charts/bar/Bar.js +57 -0
- package/es/features/content-insights/charts/bar/Bar.js.map +1 -0
- package/es/features/content-insights/charts/bar/Bar.scss +27 -0
- package/es/features/content-insights/charts/bar/BarChart.js +70 -0
- package/es/features/content-insights/charts/bar/BarChart.js.map +1 -0
- package/es/features/content-insights/charts/bar/BarChart.scss +56 -0
- package/es/features/content-insights/charts/types.js +2 -0
- package/es/{common/types/threadedComments.js.map → features/content-insights/charts/types.js.map} +1 -1
- package/es/features/content-insights/constants.js +54 -0
- package/es/features/content-insights/constants.js.map +1 -0
- package/es/features/content-insights/messages.js +69 -0
- package/es/features/content-insights/messages.js.map +1 -0
- package/es/features/content-insights/numberUtils.js +10 -0
- package/es/features/content-insights/numberUtils.js.map +1 -0
- package/es/features/content-insights/types.js +2 -0
- package/es/features/content-insights/types.js.map +1 -0
- package/es/features/item-details/ItemProperties.scss +1 -1
- package/es/features/shared-link-settings-modal/SharedLinkSettingsModal.js +5 -3
- package/es/features/shared-link-settings-modal/SharedLinkSettingsModal.js.flow +4 -2
- package/es/features/shared-link-settings-modal/SharedLinkSettingsModal.js.map +1 -1
- package/es/features/unified-share-modal/ContactRestrictionNotice.js +34 -8
- package/es/features/unified-share-modal/ContactRestrictionNotice.js.flow +36 -6
- package/es/features/unified-share-modal/ContactRestrictionNotice.js.map +1 -1
- package/es/features/unified-share-modal/EmailForm.js +59 -47
- package/es/features/unified-share-modal/EmailForm.js.flow +31 -13
- package/es/features/unified-share-modal/EmailForm.js.map +1 -1
- package/es/features/unified-share-modal/UnifiedShareForm.js +112 -103
- package/es/features/unified-share-modal/UnifiedShareForm.js.flow +25 -8
- package/es/features/unified-share-modal/UnifiedShareForm.js.map +1 -1
- package/es/features/unified-share-modal/UnifiedShareModal.js +1 -0
- package/es/features/unified-share-modal/UnifiedShareModal.js.flow +1 -0
- package/es/features/unified-share-modal/UnifiedShareModal.js.map +1 -1
- package/es/features/unified-share-modal/flowTypes.js.flow +4 -2
- package/es/features/unified-share-modal/flowTypes.js.map +1 -1
- package/es/features/unified-share-modal/messages.js +12 -8
- package/es/features/unified-share-modal/messages.js.flow +14 -8
- package/es/features/unified-share-modal/messages.js.map +1 -1
- package/es/features/unified-share-modal/utils/hasRestrictedContacts.js +9 -4
- package/es/features/unified-share-modal/utils/hasRestrictedContacts.js.flow +10 -3
- package/es/features/unified-share-modal/utils/hasRestrictedContacts.js.map +1 -1
- package/es/features/unified-share-modal/utils/isRestrictedContact.js +15 -0
- package/es/features/unified-share-modal/utils/isRestrictedContact.js.flow +21 -0
- package/es/features/unified-share-modal/utils/isRestrictedContact.js.map +1 -0
- package/es/icon/fill/Alert16.js +3 -2
- package/es/icon/fill/Alert16.js.flow +3 -2
- package/es/icon/fill/Alert16.js.map +1 -1
- package/es/icon/fill/AlertBadge16.js +31 -0
- package/es/icon/fill/AlertBadge16.js.flow +29 -0
- package/es/icon/fill/AlertBadge16.js.map +1 -0
- package/es/icon/fill/AlertBadge16.stories.js +13 -0
- package/es/icon/fill/AlertBadge16.stories.js.map +1 -0
- package/es/icon/fill/Info16.js +2 -2
- package/es/icon/fill/Info16.js.flow +1 -1
- package/es/icon/fill/Info16.js.map +1 -1
- package/es/icon/fill/InfoBadge16.js +30 -0
- package/es/icon/fill/InfoBadge16.js.flow +28 -0
- package/es/icon/fill/InfoBadge16.js.map +1 -0
- package/es/icon/fill/InfoBadge16.stories.js +13 -0
- package/es/icon/fill/InfoBadge16.stories.js.map +1 -0
- package/es/icon/line/AlertBubble16.js +31 -0
- package/es/icon/line/AlertBubble16.js.flow +29 -0
- package/es/icon/line/AlertBubble16.js.map +1 -0
- package/es/icon/line/AlertBubble16.stories.js +13 -0
- package/es/icon/line/AlertBubble16.stories.js.map +1 -0
- package/es/icon/line/AvatarXBadge16.js +45 -0
- package/es/icon/line/AvatarXBadge16.js.flow +39 -0
- package/es/icon/line/AvatarXBadge16.js.map +1 -0
- package/es/icon/line/AvatarXBadge16.stories.js +13 -0
- package/es/icon/line/AvatarXBadge16.stories.js.map +1 -0
- package/es/icon/line/CoEdit16.js +32 -0
- package/es/icon/line/CoEdit16.js.flow +30 -0
- package/es/icon/line/CoEdit16.js.map +1 -0
- package/es/icon/line/CoEdit16.stories.js +13 -0
- package/es/icon/line/CoEdit16.stories.js.map +1 -0
- package/es/icon/line/Collaborations16.js +32 -0
- package/es/icon/line/Collaborations16.js.flow +30 -0
- package/es/icon/line/Collaborations16.js.map +1 -0
- package/es/icon/line/Collaborations16.stories.js +13 -0
- package/es/icon/line/Collaborations16.stories.js.map +1 -0
- package/es/icon/line/CommentBubble16.js +35 -0
- package/es/icon/line/CommentBubble16.js.flow +34 -0
- package/es/icon/line/CommentBubble16.js.map +1 -0
- package/es/icon/line/CommentBubble16.stories.js +13 -0
- package/es/icon/line/CommentBubble16.stories.js.map +1 -0
- package/es/src/components/accessible-svg/AccessibleSVG.stories.d.ts +7 -0
- package/es/src/components/badge/Badge.stories.d.ts +0 -3
- package/es/src/components/badge/BetaBadge.stories.d.ts +6 -0
- package/es/src/components/badge/TrialBadge.stories.d.ts +6 -0
- package/es/src/components/badge/UpgradeBadge.stories.d.ts +6 -0
- package/es/src/components/draggable-list/DraggableList.stories.d.ts +3 -3
- package/es/src/components/infinite-scroll/InfiniteScroll.d.ts +1 -1
- package/es/src/components/tooltip/Tooltip.d.ts +2 -0
- package/es/src/elements/common/annotator-context/__tests__/useAnnotatorEvents.test.d.ts +1 -0
- package/es/src/elements/common/annotator-context/index.d.ts +1 -0
- package/es/src/elements/common/annotator-context/types.d.ts +28 -6
- package/es/src/elements/common/annotator-context/useAnnotatorEvents.d.ts +52 -0
- package/es/src/elements/common/annotator-context/withAnnotations.d.ts +11 -2
- package/es/src/elements/common/annotator-context/withAnnotatorContext.d.ts +6 -2
- package/es/src/elements/common/current-user/__tests__/withCurrentUser.test.d.ts +1 -0
- package/es/src/elements/common/current-user/index.d.ts +2 -0
- package/es/src/elements/common/current-user/withCurrentUser.d.ts +20 -0
- package/es/src/elements/content-sidebar/SidebarContentInsights.d.ts +15 -0
- package/es/src/elements/content-sidebar/__tests__/SidebarContentInsights.test.d.ts +1 -0
- package/es/src/elements/content-sidebar/activity-feed/activity-feed/fixtures.d.ts +55 -0
- package/es/src/features/content-insights/CompactCount.d.ts +15 -0
- package/es/src/features/content-insights/ContentAnalyticsErrorState.d.ts +7 -0
- package/es/src/features/content-insights/ContentInsightsSummary.d.ts +12 -0
- package/es/src/features/content-insights/ContentInsightsSummaryGhostState.d.ts +3 -0
- package/es/src/features/content-insights/GraphCardGhostState.d.ts +3 -0
- package/es/src/features/content-insights/GraphCardPreviewsSummary.d.ts +16 -0
- package/es/src/features/content-insights/GraphGhostState.d.ts +3 -0
- package/es/src/features/content-insights/HeaderWithCount.d.ts +7 -0
- package/es/src/features/content-insights/MetricSummary.d.ts +18 -0
- package/es/src/features/content-insights/OpenContentInsightsButton.d.ts +5 -0
- package/es/src/features/content-insights/TrendPill.d.ts +15 -0
- package/es/src/features/content-insights/__tests__/CompactCount.test.d.ts +1 -0
- package/es/src/features/content-insights/__tests__/ContentAnalyticsErrorState.test.d.ts +1 -0
- package/es/src/features/content-insights/__tests__/ContentInsightsSummary.test.d.ts +1 -0
- package/es/src/features/content-insights/__tests__/GraphCardPreviewsSummary.test.d.ts +1 -0
- package/es/src/features/content-insights/__tests__/HeaderWithCount.test.d.ts +1 -0
- package/es/src/features/content-insights/__tests__/MetricSummary.test.d.ts +1 -0
- package/es/src/features/content-insights/charts/bar/Bar.d.ts +11 -0
- package/es/src/features/content-insights/charts/bar/BarChart.d.ts +19 -0
- package/es/src/features/content-insights/charts/bar/__tests__/Bar.test.d.ts +1 -0
- package/es/src/features/content-insights/charts/bar/__tests__/BarChart.test.d.ts +1 -0
- package/es/src/features/content-insights/charts/types.d.ts +2 -0
- package/es/src/features/content-insights/constants.d.ts +27 -0
- package/es/src/features/content-insights/messages.d.ts +83 -0
- package/es/src/features/content-insights/numberUtils.d.ts +3 -0
- package/es/src/features/content-insights/types.d.ts +24 -0
- package/es/src/icon/fill/AlertBadge16.d.ts +13 -0
- package/es/src/icon/fill/AlertBadge16.stories.d.ts +9 -0
- package/es/src/icon/fill/InfoBadge16.d.ts +13 -0
- package/es/src/icon/fill/InfoBadge16.stories.d.ts +9 -0
- package/es/src/icon/line/AlertBubble16.d.ts +13 -0
- package/es/src/icon/line/AlertBubble16.stories.d.ts +9 -0
- package/es/src/icon/line/AvatarXBadge16.d.ts +13 -0
- package/es/src/icon/line/AvatarXBadge16.stories.d.ts +9 -0
- package/es/src/icon/line/CoEdit16.d.ts +13 -0
- package/es/src/icon/line/CoEdit16.stories.d.ts +9 -0
- package/es/src/icon/line/Collaborations16.d.ts +13 -0
- package/es/src/icon/line/Collaborations16.stories.d.ts +9 -0
- package/es/src/icon/line/CommentBubble16.d.ts +13 -0
- package/es/src/icon/line/CommentBubble16.stories.d.ts +9 -0
- package/es/src/styles/variables.d.ts +3 -1
- package/es/styles/constants/_layout.scss +1 -1
- package/es/styles/constants/_media-queries.scss +2 -0
- package/es/styles/variables.js +6 -2
- package/es/styles/variables.js.flow +4 -2
- package/es/styles/variables.js.map +1 -1
- package/es/utils/error.js +5 -1
- package/es/utils/error.js.flow +5 -1
- package/es/utils/error.js.map +1 -1
- package/es/utils/fields.js +8 -3
- package/es/utils/fields.js.flow +21 -3
- package/es/utils/fields.js.map +1 -1
- package/es/utils/sorter.js.flow +2 -2
- package/es/utils/sorter.js.map +1 -1
- package/i18n/bn-IN.js +45 -7
- package/i18n/bn-IN.properties +83 -7
- package/i18n/da-DK.js +45 -7
- package/i18n/da-DK.properties +83 -7
- package/i18n/de-DE.js +45 -7
- package/i18n/de-DE.properties +83 -7
- package/i18n/en-AU.js +45 -7
- package/i18n/en-AU.properties +83 -7
- package/i18n/en-CA.js +45 -7
- package/i18n/en-CA.properties +83 -7
- package/i18n/en-GB.js +45 -7
- package/i18n/en-GB.properties +83 -7
- package/i18n/en-US.js +45 -7
- package/i18n/en-US.properties +83 -7
- package/i18n/en-x-pseudo.js +891 -854
- package/i18n/en-x-pseudo.properties +941 -843
- package/i18n/es-419.js +45 -7
- package/i18n/es-419.properties +83 -7
- package/i18n/es-ES.js +45 -7
- package/i18n/es-ES.properties +83 -7
- package/i18n/fi-FI.js +45 -7
- package/i18n/fi-FI.properties +83 -7
- package/i18n/fr-CA.js +45 -7
- package/i18n/fr-CA.properties +83 -7
- package/i18n/fr-FR.js +45 -7
- package/i18n/fr-FR.properties +83 -7
- package/i18n/hi-IN.js +45 -7
- package/i18n/hi-IN.properties +83 -7
- package/i18n/it-IT.js +45 -7
- package/i18n/it-IT.properties +83 -7
- package/i18n/ja-JP.js +47 -9
- package/i18n/ja-JP.properties +85 -9
- package/i18n/ko-KR.js +45 -7
- package/i18n/ko-KR.properties +83 -7
- package/i18n/nb-NO.js +45 -7
- package/i18n/nb-NO.properties +83 -7
- package/i18n/nl-NL.js +45 -7
- package/i18n/nl-NL.properties +83 -7
- package/i18n/pl-PL.js +45 -7
- package/i18n/pl-PL.properties +83 -7
- package/i18n/pt-BR.js +45 -7
- package/i18n/pt-BR.properties +83 -7
- package/i18n/ru-RU.js +45 -7
- package/i18n/ru-RU.properties +83 -7
- package/i18n/sv-SE.js +45 -7
- package/i18n/sv-SE.properties +83 -7
- package/i18n/tr-TR.js +45 -7
- package/i18n/tr-TR.properties +83 -7
- package/i18n/zh-CN.js +45 -7
- package/i18n/zh-CN.properties +83 -7
- package/i18n/zh-TW.js +45 -7
- package/i18n/zh-TW.properties +83 -7
- package/package.json +7 -8
- package/src/__mocks__/react-intl.js +4 -0
- package/src/api/APIFactory.js +26 -0
- package/src/api/Annotations.js +60 -6
- package/src/api/Comments.js +5 -4
- package/src/api/Feed.js +677 -17
- package/src/api/FileCollaborators.js +30 -0
- package/src/api/ThreadedComments.js +54 -29
- package/src/api/__tests__/Annotations.test.js +77 -3
- package/src/api/__tests__/Feed.test.js +698 -85
- package/src/api/__tests__/FileCollaborators.test.js +41 -0
- package/src/api/__tests__/ThreadedComments.test.js +47 -10
- package/src/api/__tests__/utils.test.js +11 -0
- package/src/api/fixtures.js +401 -0
- package/src/api/messages.js +5 -0
- package/src/api/utils.js +30 -0
- package/src/common/types/annotations.js +18 -12
- package/src/common/types/feed.js +40 -4
- package/src/components/accessible-svg/AccessibleSVG.stories.tsx +18 -0
- package/src/components/badge/Badge.stories.md +1 -7
- package/src/components/badge/Badge.stories.tsx +1 -10
- package/src/components/badge/BetaBadge.stories.tsx +9 -0
- package/src/components/badge/TrialBadge.stories.tsx +9 -0
- package/src/components/badge/UpgradeBadge.stories.tsx +9 -0
- package/src/components/breadcrumb/Breadcrumb.js +68 -42
- package/src/components/breadcrumb/EllipsisCrumb.js +10 -6
- package/src/components/count-badge/CountBadge.stories.tsx +1 -1
- package/src/components/draggable-list/DraggableList.stories.tsx +72 -5
- package/src/components/dropdown-menu/DropdownMenu.js +11 -0
- package/src/components/dropdown-menu/DropdownMenu.scss +3 -3
- package/src/components/dropdown-menu/__tests__/DropdownMenu.test.js +38 -0
- package/src/components/grid-view/__tests__/__snapshots__/GridViewSlider.test.js.snap +1 -0
- package/src/components/infinite-scroll/InfiniteScroll.md +1 -1
- package/src/components/infinite-scroll/InfiniteScroll.tsx +5 -2
- package/src/components/infinite-scroll/__tests__/InfiniteScroll.test.tsx +115 -127
- package/src/components/modal/Modal.scss +5 -1
- package/src/components/search-form/SearchForm.js +1 -1
- package/src/components/search-form/__tests__/SearchForm.test.js +25 -6
- package/src/components/sidebar-toggle-button/__tests__/__snapshots__/SidebarToggleButton.test.js.snap +4 -0
- package/src/components/table/__tests__/makeSelectable.test.js +654 -144
- package/src/components/table/makeSelectable.js +299 -98
- package/src/components/time/__tests__/ReadableTime.test.js +0 -1
- package/src/components/tooltip/Tooltip.tsx +5 -2
- package/src/components/tooltip/__tests__/Tooltip.test.tsx +10 -0
- package/src/components/tooltip/__tests__/__snapshots__/Tooltip.test.tsx.snap +1 -1
- package/src/constants.js +11 -0
- package/src/elements/common/annotator-context/__tests__/useAnnotatorEvents.test.tsx +509 -0
- package/src/elements/common/annotator-context/__tests__/withAnnotations.test.tsx +275 -12
- package/src/elements/common/annotator-context/__tests__/withAnnotatorContext.test.tsx +18 -6
- package/src/elements/common/annotator-context/index.js.flow +4 -0
- package/src/elements/common/annotator-context/index.ts +1 -0
- package/src/elements/common/annotator-context/types.js.flow +77 -35
- package/src/elements/common/annotator-context/types.ts +28 -6
- package/src/elements/common/annotator-context/useAnnotatorEvents.js.flow +52 -0
- package/src/elements/common/annotator-context/useAnnotatorEvents.ts +190 -0
- package/src/elements/common/annotator-context/withAnnotations.js.flow +73 -36
- package/src/elements/common/annotator-context/withAnnotations.tsx +170 -7
- package/src/elements/common/annotator-context/withAnnotatorContext.js.flow +29 -9
- package/src/elements/common/annotator-context/withAnnotatorContext.tsx +28 -5
- package/src/elements/common/current-user/__tests__/withCurrentUser.test.tsx +108 -0
- package/src/elements/common/current-user/index.js.flow +8 -0
- package/src/elements/common/current-user/index.ts +2 -0
- package/src/elements/common/current-user/withCurrentUser.js.flow +40 -0
- package/src/elements/common/current-user/withCurrentUser.tsx +139 -0
- package/src/elements/common/flowTypes.js +22 -4
- package/src/elements/common/interactionTargets.js +2 -0
- package/src/elements/common/logger/Logger.js +1 -1
- package/src/elements/common/messages.js +5 -0
- package/src/elements/content-explorer/DeleteConfirmationDialog.js +3 -1
- package/src/elements/content-explorer/DeleteConfirmationDialog.scss +5 -0
- package/src/elements/content-explorer/stories/DeleteConfirmationDialog.stories.js +60 -0
- package/src/elements/content-explorer/stories/DeleteConfirmationDialog.stories.md +1 -0
- package/src/elements/content-sidebar/ActivitySidebar.js +381 -154
- package/src/elements/content-sidebar/ActivitySidebarFilter.js +59 -0
- package/src/elements/content-sidebar/ActivitySidebarFilter.scss +4 -0
- package/src/elements/content-sidebar/DetailsSidebar.js +32 -4
- package/src/elements/content-sidebar/Sidebar.js +6 -1
- package/src/elements/content-sidebar/SidebarContentInsights.scss +6 -0
- package/src/elements/content-sidebar/SidebarContentInsights.tsx +57 -0
- package/src/elements/content-sidebar/SidebarPanels.js +4 -0
- package/src/elements/content-sidebar/__tests__/ActivitySidebar.test.js +533 -243
- package/src/elements/content-sidebar/__tests__/ActivitySidebarFilter.test.js +54 -0
- package/src/elements/content-sidebar/__tests__/DetailsSidebar.test.js +45 -0
- package/src/elements/content-sidebar/__tests__/Sidebar.test.js +1 -1
- package/src/elements/content-sidebar/__tests__/SidebarContentInsights.test.tsx +56 -0
- package/src/elements/content-sidebar/__tests__/SidebarPanels.test.js +4 -3
- package/src/elements/content-sidebar/__tests__/__snapshots__/ActivitySidebar.test.js.snap +29 -15
- package/src/elements/content-sidebar/__tests__/__snapshots__/SidebarFileProperties.test.js.snap +1 -0
- package/src/elements/content-sidebar/__tests__/withSidebarAnnotations.test.js +325 -32
- package/src/elements/content-sidebar/activity-feed/activity-feed/ActiveState.js +122 -24
- package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityFeed.js +59 -18
- package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityThread.js +126 -0
- package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityThread.scss +17 -0
- package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplies.js +85 -0
- package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplies.scss +16 -0
- package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplyForm.js +59 -0
- package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplyForm.scss +22 -0
- package/src/elements/content-sidebar/activity-feed/activity-feed/__tests__/ActiveState.test.js +19 -5
- package/src/elements/content-sidebar/activity-feed/activity-feed/__tests__/ActivityFeed.test.js +22 -16
- package/src/elements/content-sidebar/activity-feed/activity-feed/__tests__/ActivityThread.test.js +80 -0
- package/src/elements/content-sidebar/activity-feed/activity-feed/__tests__/ActivityThreadReplies.test.js +24 -0
- package/src/elements/content-sidebar/activity-feed/activity-feed/__tests__/ActivityThreadRepliesForm.test.js +47 -0
- package/src/elements/content-sidebar/activity-feed/activity-feed/__tests__/__snapshots__/ActiveState.test.js.snap +74 -43
- package/src/elements/content-sidebar/activity-feed/activity-feed/__tests__/activityFeedUtils.test.js +8 -8
- package/src/elements/content-sidebar/activity-feed/activity-feed/activityFeedUtils.js +2 -2
- package/src/elements/content-sidebar/activity-feed/activity-feed/fixtures.ts +56 -0
- package/src/elements/content-sidebar/activity-feed/activity-feed/messages.js +20 -0
- package/src/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThread.js +117 -0
- package/src/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThread.scss +7 -0
- package/src/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadContent.js +105 -0
- package/src/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadContent.scss +5 -0
- package/src/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadCreate.js +86 -0
- package/src/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadCreate.scss +3 -0
- package/src/elements/content-sidebar/activity-feed/annotation-thread/__tests__/AnnotationThread.test.js +28 -0
- package/src/elements/content-sidebar/activity-feed/annotation-thread/__tests__/AnnotationThreadContent.test.js +89 -0
- package/src/elements/content-sidebar/activity-feed/annotation-thread/__tests__/AnnotationThreadCreate.test.js +103 -0
- package/src/elements/content-sidebar/activity-feed/annotation-thread/__tests__/useAnnotationAPI.test.js +202 -0
- package/src/elements/content-sidebar/activity-feed/annotation-thread/__tests__/useRepliesAPI.test.js +99 -0
- package/src/elements/content-sidebar/activity-feed/annotation-thread/errors.js +26 -0
- package/src/elements/content-sidebar/activity-feed/annotation-thread/index.js +1 -0
- package/src/elements/content-sidebar/activity-feed/annotation-thread/messages.js +21 -0
- package/src/elements/content-sidebar/activity-feed/annotation-thread/useAnnotationAPI.js +203 -0
- package/src/elements/content-sidebar/activity-feed/annotation-thread/useRepliesAPI.js +121 -0
- package/src/elements/content-sidebar/activity-feed/annotations/AnnotationActivity.js +24 -4
- package/src/elements/content-sidebar/activity-feed/annotations/AnnotationActivityMenu.js +36 -2
- package/src/elements/content-sidebar/activity-feed/annotations/__tests__/AnnotationActivity.test.js +14 -10
- package/src/elements/content-sidebar/activity-feed/annotations/__tests__/AnnotationActivityMenu.test.js +35 -1
- package/src/elements/content-sidebar/activity-feed/annotations/messages.js +10 -0
- package/src/elements/content-sidebar/activity-feed/comment/Comment.js +54 -10
- package/src/elements/content-sidebar/activity-feed/comment/__tests__/Comment.test.js +152 -7
- package/src/elements/content-sidebar/activity-feed/comment/__tests__/__snapshots__/Comment.test.js.snap +12 -7
- package/src/elements/content-sidebar/activity-feed/comment/messages.js +10 -0
- package/src/elements/content-sidebar/activity-feed/comment-form/CommentForm.js +3 -1
- package/src/elements/content-sidebar/activity-feed/comment-form/__tests__/CommentForm.test.js +11 -0
- package/src/elements/content-sidebar/activity-feed/common/activity-message/ActivityMessage.js +34 -4
- package/src/elements/content-sidebar/activity-feed/common/activity-message/ActivityMessage.scss +40 -3
- package/src/elements/content-sidebar/activity-feed/common/activity-message/CollapsableMessage.js +42 -0
- package/src/elements/content-sidebar/activity-feed/common/activity-message/CollapsableMessageToggle.js +24 -0
- package/src/elements/content-sidebar/activity-feed/common/activity-message/__tests__/ActivityMessage.test.js +48 -1
- package/src/elements/content-sidebar/activity-feed/common/activity-message/messages.js +15 -0
- package/src/elements/content-sidebar/activity-feed/common/activity-status/ActivityStatus.js +30 -0
- package/src/elements/content-sidebar/activity-feed/common/activity-status/ActivityStatus.scss +6 -0
- package/src/elements/content-sidebar/activity-feed/common/activity-status/__tests__/ActivityStatus.test.js +19 -0
- package/src/elements/content-sidebar/activity-feed/common/activity-status/index.js +2 -0
- package/src/elements/content-sidebar/activity-feed/common/activity-status/messages.js +13 -0
- package/src/elements/content-sidebar/activity-feed/common/activity-timestamp/ActivityTimestamp.scss +1 -1
- package/src/elements/content-sidebar/activity-feed/task-new/__tests__/Task.test.js +4 -3
- package/src/elements/content-sidebar/activity-feed/task-new/__tests__/__snapshots__/Task.test.js.snap +1 -2
- package/src/elements/content-sidebar/fixtures.js +185 -0
- package/src/elements/content-sidebar/flowTypes.js +9 -25
- package/src/elements/content-sidebar/messages.js +10 -0
- package/src/elements/content-sidebar/withErrorHandling.js +1 -1
- package/src/elements/content-sidebar/withSidebarAnnotations.js +162 -11
- package/src/elements/content-uploader/OverallUploadsProgressBar.js +11 -12
- package/src/features/classification/Classification.scss +1 -1
- package/src/features/classification/security-controls/SecurityControlsItem.scss +1 -0
- package/src/features/classification/security-controls/__tests__/__snapshots__/utils.test.js.snap +18 -16
- package/src/features/classification/security-controls/__tests__/utils.test.js +13 -5
- package/src/features/classification/security-controls/messages.js +10 -0
- package/src/features/classification/security-controls/utils.js +8 -12
- package/src/features/collapsible-sidebar/__tests__/__snapshots__/CollapsibleSidebarLogo.test.js.snap +2 -0
- package/src/features/content-explorer/content-explorer/ContentExplorer.js +4 -0
- package/src/features/content-explorer/content-explorer/ContentExplorer.scss +4 -0
- package/src/features/content-explorer/content-explorer/ContentExplorerBreadcrumbs.js +14 -11
- package/src/features/content-explorer/content-explorer/ContentExplorerHeaderActions.js +4 -1
- package/src/features/content-explorer/content-explorer/__tests__/ContentExplorerBreadcrumbs.test.js +2 -2
- package/src/features/content-explorer/content-explorer-modal/ContentExplorerModal.js +5 -1
- package/src/features/content-explorer/content-explorer-modal/__tests__/__snapshots__/ContentExplorerModal.test.js.snap +1 -0
- package/src/features/content-explorer/content-explorer-modal-container/ContentExplorerModalContainer.js +5 -1
- package/src/features/content-explorer/prop-types.js +8 -0
- package/src/features/content-insights/CompactCount.tsx +23 -0
- package/src/features/content-insights/ContentAnalyticsErrorState.scss +17 -0
- package/src/features/content-insights/ContentAnalyticsErrorState.tsx +44 -0
- package/src/features/content-insights/ContentInsightsSummary.scss +12 -0
- package/src/features/content-insights/ContentInsightsSummary.tsx +45 -0
- package/src/features/content-insights/ContentInsightsSummaryGhostState.scss +9 -0
- package/src/features/content-insights/ContentInsightsSummaryGhostState.tsx +18 -0
- package/src/features/content-insights/GraphCardGhostState.scss +18 -0
- package/src/features/content-insights/GraphCardGhostState.tsx +18 -0
- package/src/features/content-insights/GraphCardPreviewsSummary.scss +10 -0
- package/src/features/content-insights/GraphCardPreviewsSummary.tsx +40 -0
- package/src/features/content-insights/GraphGhostState.scss +11 -0
- package/src/features/content-insights/GraphGhostState.tsx +17 -0
- package/src/features/content-insights/HeaderWithCount.scss +10 -0
- package/src/features/content-insights/HeaderWithCount.tsx +24 -0
- package/src/features/content-insights/MetricSummary.scss +14 -0
- package/src/features/content-insights/MetricSummary.tsx +65 -0
- package/src/features/content-insights/OpenContentInsightsButton.tsx +20 -0
- package/src/features/content-insights/TrendPill.scss +33 -0
- package/src/features/content-insights/TrendPill.tsx +70 -0
- package/src/features/content-insights/__tests__/CompactCount.test.tsx +57 -0
- package/src/features/content-insights/__tests__/ContentAnalyticsErrorState.test.tsx +33 -0
- package/src/features/content-insights/__tests__/ContentInsightsSummary.test.tsx +81 -0
- package/src/features/content-insights/__tests__/GraphCardPreviewsSummary.test.tsx +35 -0
- package/src/features/content-insights/__tests__/HeaderWithCount.test.tsx +26 -0
- package/src/features/content-insights/__tests__/MetricSummary.test.tsx +88 -0
- package/src/features/content-insights/_mixins.scss +7 -0
- package/src/features/content-insights/_variables.scss +4 -0
- package/src/features/content-insights/charts/bar/Bar.scss +27 -0
- package/src/features/content-insights/charts/bar/Bar.tsx +48 -0
- package/src/features/content-insights/charts/bar/BarChart.scss +56 -0
- package/src/features/content-insights/charts/bar/BarChart.tsx +78 -0
- package/src/features/content-insights/charts/bar/__tests__/Bar.test.tsx +74 -0
- package/src/features/content-insights/charts/bar/__tests__/BarChart.test.tsx +110 -0
- package/src/features/content-insights/charts/types.ts +3 -0
- package/src/features/content-insights/constants.ts +60 -0
- package/src/features/content-insights/messages.ts +90 -0
- package/src/features/content-insights/numberUtils.ts +9 -0
- package/src/features/content-insights/types.ts +33 -0
- package/src/features/item-details/ItemProperties.scss +1 -1
- package/src/features/shared-link-settings-modal/SharedLinkSettingsModal.js +4 -2
- package/src/features/shared-link-settings-modal/__tests__/SharedLinkSettingsModal.test.js +22 -3
- package/src/features/shared-link-settings-modal/__tests__/__snapshots__/SharedLinkSettingsModal.test.js.snap +2 -1
- package/src/features/unified-share-modal/ContactRestrictionNotice.js +36 -6
- package/src/features/unified-share-modal/EmailForm.js +31 -13
- package/src/features/unified-share-modal/UnifiedShareForm.js +25 -8
- package/src/features/unified-share-modal/UnifiedShareModal.js +1 -0
- package/src/features/unified-share-modal/__tests__/ContactRestrictionNotice.test.js +55 -6
- package/src/features/unified-share-modal/__tests__/EmailForm.test.js +131 -24
- package/src/features/unified-share-modal/__tests__/UnifiedShareForm.test.js +89 -35
- package/src/features/unified-share-modal/__tests__/__snapshots__/UnifiedShareForm.test.js.snap +16 -0
- package/src/features/unified-share-modal/__tests__/__snapshots__/UnifiedShareModal.test.js.snap +17 -0
- package/src/features/unified-share-modal/flowTypes.js +4 -2
- package/src/features/unified-share-modal/messages.js +14 -8
- package/src/features/unified-share-modal/utils/__tests__/hasRestrictedContacts.test.js +24 -10
- package/src/features/unified-share-modal/utils/__tests__/isRestrictedContact.test.js +33 -0
- package/src/features/unified-share-modal/utils/hasRestrictedContacts.js +10 -3
- package/src/features/unified-share-modal/utils/isRestrictedContact.js +21 -0
- package/src/features/virtualized-table/__tests__/__snapshots__/VirtualizedTable.test.js.snap +1 -0
- package/src/icon/fill/Alert16.js.flow +3 -2
- package/src/icon/fill/Alert16.tsx +3 -2
- package/src/icon/fill/AlertBadge16.js.flow +29 -0
- package/src/icon/fill/AlertBadge16.stories.tsx +13 -0
- package/src/icon/fill/AlertBadge16.tsx +27 -0
- package/src/icon/fill/Info16.js.flow +1 -1
- package/src/icon/fill/Info16.tsx +1 -1
- package/src/icon/fill/InfoBadge16.js.flow +28 -0
- package/src/icon/fill/InfoBadge16.stories.tsx +13 -0
- package/src/icon/fill/InfoBadge16.tsx +26 -0
- package/src/icon/line/AlertBubble16.js.flow +29 -0
- package/src/icon/line/AlertBubble16.stories.tsx +13 -0
- package/src/icon/line/AlertBubble16.tsx +27 -0
- package/src/icon/line/AvatarXBadge16.js.flow +39 -0
- package/src/icon/line/AvatarXBadge16.stories.tsx +13 -0
- package/src/icon/line/AvatarXBadge16.tsx +37 -0
- package/src/icon/line/CoEdit16.js.flow +30 -0
- package/src/icon/line/CoEdit16.stories.tsx +13 -0
- package/src/icon/line/CoEdit16.tsx +28 -0
- package/src/icon/line/Collaborations16.js.flow +30 -0
- package/src/icon/line/Collaborations16.stories.tsx +13 -0
- package/src/icon/line/Collaborations16.tsx +28 -0
- package/src/icon/line/CommentBubble16.js.flow +34 -0
- package/src/icon/line/CommentBubble16.stories.tsx +13 -0
- package/src/icon/line/CommentBubble16.tsx +32 -0
- package/src/styles/constants/_layout.scss +1 -1
- package/src/styles/constants/_media-queries.scss +2 -0
- package/src/styles/variables.js +4 -2
- package/src/styles/variables.json +4 -2
- package/src/styles/variables.ts +3 -1
- package/src/utils/__tests__/fields.test.js +23 -4
- package/src/utils/__tests__/sorter.test.js +3 -3
- package/src/utils/error.js +5 -1
- package/src/utils/fields.js +21 -3
- package/src/utils/sorter.js +2 -2
- package/es/common/types/threadedComments.js +0 -2
- package/es/common/types/threadedComments.js.flow +0 -9
- package/src/common/types/threadedComments.js +0 -9
package/es/api/APIFactory.js
CHANGED
|
@@ -28,6 +28,7 @@ import CommentsAPI from './Comments';
|
|
|
28
28
|
import TasksNewAPI from './tasks/TasksNew';
|
|
29
29
|
import TaskCollaboratorsAPI from './tasks/TaskCollaborators';
|
|
30
30
|
import TaskLinksAPI from './tasks/TaskLinks';
|
|
31
|
+
import ThreadedCommentsAPI from './ThreadedComments';
|
|
31
32
|
import FileAccessStatsAPI from './FileAccessStats';
|
|
32
33
|
import MarkerBasedGroupsAPI from './MarkerBasedGroups';
|
|
33
34
|
import MarkerBasedUsersAPI from './MarkerBasedUsers';
|
|
@@ -89,6 +90,10 @@ function () {
|
|
|
89
90
|
* @property {CommentsAPI}
|
|
90
91
|
*/
|
|
91
92
|
|
|
93
|
+
/**
|
|
94
|
+
* @property {ThreadedCommentsAPI}
|
|
95
|
+
*/
|
|
96
|
+
|
|
92
97
|
/**
|
|
93
98
|
* @property {TasksNewAPI}
|
|
94
99
|
*/
|
|
@@ -265,6 +270,11 @@ function () {
|
|
|
265
270
|
delete this.commentsAPI;
|
|
266
271
|
}
|
|
267
272
|
|
|
273
|
+
if (this.threadedCommentsAPI) {
|
|
274
|
+
this.threadedCommentsAPI.destroy();
|
|
275
|
+
delete this.threadedCommentsAPI;
|
|
276
|
+
}
|
|
277
|
+
|
|
268
278
|
if (this.markerBasedGroupsAPI) {
|
|
269
279
|
this.markerBasedGroupsAPI.destroy();
|
|
270
280
|
delete this.markerBasedGroupsAPI;
|
|
@@ -524,6 +534,23 @@ function () {
|
|
|
524
534
|
this.commentsAPI = new CommentsAPI(this.options);
|
|
525
535
|
return this.commentsAPI;
|
|
526
536
|
}
|
|
537
|
+
/**
|
|
538
|
+
* API for threaded comments
|
|
539
|
+
*
|
|
540
|
+
* @param {boolean} shouldDestroy - true if the factory should destroy before returning the call
|
|
541
|
+
* @return {ThreadedCommentsAPI} ThreadedCommentsAPI instance
|
|
542
|
+
*/
|
|
543
|
+
|
|
544
|
+
}, {
|
|
545
|
+
key: "getThreadedCommentsAPI",
|
|
546
|
+
value: function getThreadedCommentsAPI(shouldDestroy) {
|
|
547
|
+
if (shouldDestroy) {
|
|
548
|
+
this.destroy();
|
|
549
|
+
}
|
|
550
|
+
|
|
551
|
+
this.threadedCommentsAPI = new ThreadedCommentsAPI(this.options);
|
|
552
|
+
return this.threadedCommentsAPI;
|
|
553
|
+
}
|
|
527
554
|
/**
|
|
528
555
|
* API for tasks
|
|
529
556
|
*
|
|
@@ -17,6 +17,7 @@ import CommentsAPI from './Comments';
|
|
|
17
17
|
import TasksNewAPI from './tasks/TasksNew';
|
|
18
18
|
import TaskCollaboratorsAPI from './tasks/TaskCollaborators';
|
|
19
19
|
import TaskLinksAPI from './tasks/TaskLinks';
|
|
20
|
+
import ThreadedCommentsAPI from './ThreadedComments';
|
|
20
21
|
import FileAccessStatsAPI from './FileAccessStats';
|
|
21
22
|
import MarkerBasedGroupsAPI from './MarkerBasedGroups';
|
|
22
23
|
import MarkerBasedUsersAPI from './MarkerBasedUsers';
|
|
@@ -91,6 +92,11 @@ class APIFactory {
|
|
|
91
92
|
*/
|
|
92
93
|
commentsAPI: CommentsAPI;
|
|
93
94
|
|
|
95
|
+
/**
|
|
96
|
+
* @property {ThreadedCommentsAPI}
|
|
97
|
+
*/
|
|
98
|
+
threadedCommentsAPI: ThreadedCommentsAPI;
|
|
99
|
+
|
|
94
100
|
/**
|
|
95
101
|
* @property {TasksNewAPI}
|
|
96
102
|
*/
|
|
@@ -280,6 +286,11 @@ class APIFactory {
|
|
|
280
286
|
delete this.commentsAPI;
|
|
281
287
|
}
|
|
282
288
|
|
|
289
|
+
if (this.threadedCommentsAPI) {
|
|
290
|
+
this.threadedCommentsAPI.destroy();
|
|
291
|
+
delete this.threadedCommentsAPI;
|
|
292
|
+
}
|
|
293
|
+
|
|
283
294
|
if (this.markerBasedGroupsAPI) {
|
|
284
295
|
this.markerBasedGroupsAPI.destroy();
|
|
285
296
|
delete this.markerBasedGroupsAPI;
|
|
@@ -510,6 +521,21 @@ class APIFactory {
|
|
|
510
521
|
return this.commentsAPI;
|
|
511
522
|
}
|
|
512
523
|
|
|
524
|
+
/**
|
|
525
|
+
* API for threaded comments
|
|
526
|
+
*
|
|
527
|
+
* @param {boolean} shouldDestroy - true if the factory should destroy before returning the call
|
|
528
|
+
* @return {ThreadedCommentsAPI} ThreadedCommentsAPI instance
|
|
529
|
+
*/
|
|
530
|
+
getThreadedCommentsAPI(shouldDestroy: boolean): ThreadedCommentsAPI {
|
|
531
|
+
if (shouldDestroy) {
|
|
532
|
+
this.destroy();
|
|
533
|
+
}
|
|
534
|
+
|
|
535
|
+
this.threadedCommentsAPI = new ThreadedCommentsAPI(this.options);
|
|
536
|
+
return this.threadedCommentsAPI;
|
|
537
|
+
}
|
|
538
|
+
|
|
513
539
|
/**
|
|
514
540
|
* API for tasks
|
|
515
541
|
*
|
package/es/api/APIFactory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/api/APIFactory.js"],"names":["Cache","ChunkedUploadAPI","PlainUploadAPI","FolderAPI","FileAPI","WebLinkAPI","SearchAPI","RecentsAPI","VersionsAPI","CommentsAPI","TasksNewAPI","TaskCollaboratorsAPI","TaskLinksAPI","FileAccessStatsAPI","MarkerBasedGroupsAPI","MarkerBasedUsersAPI","GroupsAPI","UsersAPI","MetadataAPI","FileCollaboratorsAPI","FileCollaborationsAPI","FolderCollaborationsAPI","CollaborationsAPI","FeedAPI","AppIntegrationsAPI","AnnotationsAPI","OpenWithAPI","MetadataQueryAPI","BoxEditAPI","DEFAULT_HOSTNAME_API","DEFAULT_HOSTNAME_UPLOAD","TYPE_FOLDER","TYPE_FILE","TYPE_WEBLINK","APIFactory","options","apiHost","uploadHost","cache","language","destroyCache","fileAPI","destroy","weblinkAPI","plainUploadAPI","chunkedUploadAPI","folderAPI","searchAPI","recentsAPI","versionsAPI","fileAccessStatsAPI","tasksNewAPI","taskCollaboratorsAPI","taskLinksAPI","commentsAPI","markerBasedGroupsAPI","markerBasedUsersAPI","groupsAPI","usersAPI","metadataAPI","fileCollaboratorsAPI","fileCollaborationsAPI","folderCollaborationsAPI","collaborationsAPI","appIntegrationsAPI","metadataQueryAPI","openWithAPI","annotationsAPI","type","api","getFolderAPI","getFileAPI","getWebLinkAPI","Error","shouldDestroy","feedItemsAPI","boxEditAPI"],"mappings":"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","sourcesContent":["/**\n * @flow\n * @file Main entry point for the box api\n * @author Box\n */\n\nimport Cache from '../utils/Cache';\nimport ChunkedUploadAPI from './uploads/MultiputUpload';\nimport PlainUploadAPI from './uploads/PlainUpload';\nimport FolderAPI from './Folder';\nimport FileAPI from './File';\nimport WebLinkAPI from './WebLink';\nimport SearchAPI from './Search';\nimport RecentsAPI from './Recents';\nimport VersionsAPI from './Versions';\nimport CommentsAPI from './Comments';\nimport TasksNewAPI from './tasks/TasksNew';\nimport TaskCollaboratorsAPI from './tasks/TaskCollaborators';\nimport TaskLinksAPI from './tasks/TaskLinks';\nimport FileAccessStatsAPI from './FileAccessStats';\nimport MarkerBasedGroupsAPI from './MarkerBasedGroups';\nimport MarkerBasedUsersAPI from './MarkerBasedUsers';\nimport GroupsAPI from './Groups';\nimport UsersAPI from './Users';\nimport MetadataAPI from './Metadata';\nimport FileCollaboratorsAPI from './FileCollaborators';\nimport FileCollaborationsAPI from './FileCollaborations';\nimport FolderCollaborationsAPI from './FolderCollaborations';\nimport CollaborationsAPI from './Collaborations';\nimport FeedAPI from './Feed';\nimport AppIntegrationsAPI from './AppIntegrations';\nimport AnnotationsAPI from './Annotations';\nimport OpenWithAPI from './OpenWith';\nimport MetadataQueryAPI from './MetadataQuery';\nimport BoxEditAPI from './box-edit';\nimport { DEFAULT_HOSTNAME_API, DEFAULT_HOSTNAME_UPLOAD, TYPE_FOLDER, TYPE_FILE, TYPE_WEBLINK } from '../constants';\nimport type { ItemType } from '../common/types/core';\nimport type { APIOptions } from '../common/types/api';\nimport type APICache from '../utils/Cache';\n\ntype ItemAPI = FolderAPI | FileAPI | WebLinkAPI;\n\nclass APIFactory {\n /**\n * @property {*}\n */\n options: APIOptions;\n\n /**\n * @property {FileAPI}\n */\n fileAPI: FileAPI;\n\n /**\n * @property {WebLink}\n */\n weblinkAPI: WebLinkAPI;\n\n /**\n * @property {FolderAPI}\n */\n folderAPI: FolderAPI;\n\n /**\n * @property {PlainUploadAPI}\n */\n plainUploadAPI: PlainUploadAPI;\n\n /**\n * @property {ChunkedUploadAPI}\n */\n chunkedUploadAPI: ChunkedUploadAPI;\n\n /**\n * @property {SearchAPI}\n */\n searchAPI: SearchAPI;\n\n /**\n * @property {RecentsAPI}\n */\n recentsAPI: RecentsAPI;\n\n /**\n * @property {VersionsAPI}\n */\n versionsAPI: VersionsAPI;\n\n /**\n * @property {CommentsAPI}\n */\n commentsAPI: CommentsAPI;\n\n /**\n * @property {TasksNewAPI}\n */\n tasksNewAPI: TasksNewAPI;\n\n /**\n * @property {TaskCollaboratorsAPI}\n */\n taskCollaboratorsAPI: TaskCollaboratorsAPI;\n\n /**\n * @property {TaskLinksAPI}\n */\n taskLinksAPI: TaskLinksAPI;\n\n /*\n * @property {FileAccessStatsAPI}\n */\n fileAccessStatsAPI: FileAccessStatsAPI;\n\n /*\n * @property {MarkerBasedGroupsAPI}\n */\n markerBasedGroupsAPI: MarkerBasedGroupsAPI;\n\n /*\n * @property {MarkerBasedUsersAPI}\n */\n markerBasedUsersAPI: MarkerBasedUsersAPI;\n\n /**\n * @property {GroupsAPI}\n */\n groupsAPI: GroupsAPI;\n\n /*\n * @property {UsersAPI}\n */\n usersAPI: UsersAPI;\n\n /*\n * @property {MetadataAPI}\n */\n metadataAPI: MetadataAPI;\n\n /**\n * @property {FileCollaboratorsAPI}\n */\n fileCollaboratorsAPI: FileCollaboratorsAPI;\n\n /**\n * @property {FileCollaborationsAPI}\n */\n fileCollaborationsAPI: FileCollaborationsAPI;\n\n /**\n * @property {FolderCollaborationsAPI}\n */\n folderCollaborationsAPI: FolderCollaborationsAPI;\n\n /**\n * @property {CollaborationsAPI}\n */\n collaborationsAPI: CollaborationsAPI;\n\n /**\n * @property {FeedAPI}\n */\n feedItemsAPI: FeedAPI;\n\n /**\n * @property {OpenWithAPI}\n */\n openWithAPI: OpenWithAPI;\n\n /**\n * @property {AppIntegrationsAPI}\n */\n appIntegrationsAPI: AppIntegrationsAPI;\n\n /**\n * @property {MetadataQueryAPI}\n */\n metadataQueryAPI: MetadataQueryAPI;\n\n /** @property {BoxEditAPI}\n *\n */\n boxEditAPI: BoxEditAPI;\n\n /**\n * @property {AnnotationsAPI}\n */\n annotationsAPI: AnnotationsAPI;\n\n /**\n * [constructor]\n *\n * @param {Object} options\n * @param {string} options.id - item id\n * @param {string|function} options.token - Auth token\n * @param {string} [options.sharedLink] - Shared link\n * @param {string} [options.sharedLinkPassword] - Shared link password\n * @param {string} [options.apiHost] - Api host\n * @param {string} [options.uploadHost] - Upload host name\n * @return {API} Api instance\n */\n constructor(options: APIOptions) {\n this.options = {\n ...options,\n apiHost: options.apiHost || DEFAULT_HOSTNAME_API,\n uploadHost: options.uploadHost || DEFAULT_HOSTNAME_UPLOAD,\n cache: options.cache || new Cache(),\n language: options.language,\n };\n }\n\n /**\n * [destructor]\n *\n * @param {boolean} destroyCache - true to destroy cache\n * @return {void}\n */\n destroy(destroyCache: boolean = false) {\n if (this.fileAPI) {\n this.fileAPI.destroy();\n delete this.fileAPI;\n }\n\n if (this.weblinkAPI) {\n this.weblinkAPI.destroy();\n delete this.weblinkAPI;\n }\n\n if (this.plainUploadAPI) {\n this.plainUploadAPI.destroy();\n delete this.plainUploadAPI;\n }\n\n if (this.chunkedUploadAPI) {\n this.chunkedUploadAPI.destroy();\n delete this.chunkedUploadAPI;\n }\n\n if (this.folderAPI) {\n this.folderAPI.destroy();\n delete this.folderAPI;\n }\n\n if (this.searchAPI) {\n this.searchAPI.destroy();\n delete this.searchAPI;\n }\n\n if (this.recentsAPI) {\n this.recentsAPI.destroy();\n delete this.recentsAPI;\n }\n\n if (this.versionsAPI) {\n this.versionsAPI.destroy();\n delete this.versionsAPI;\n }\n\n if (this.fileAccessStatsAPI) {\n this.fileAccessStatsAPI.destroy();\n delete this.fileAccessStatsAPI;\n }\n\n if (this.tasksNewAPI) {\n this.tasksNewAPI.destroy();\n delete this.tasksNewAPI;\n }\n\n if (this.taskCollaboratorsAPI) {\n this.taskCollaboratorsAPI.destroy();\n delete this.taskCollaboratorsAPI;\n }\n\n if (this.taskLinksAPI) {\n this.taskLinksAPI.destroy();\n delete this.taskLinksAPI;\n }\n\n if (this.commentsAPI) {\n this.commentsAPI.destroy();\n delete this.commentsAPI;\n }\n\n if (this.markerBasedGroupsAPI) {\n this.markerBasedGroupsAPI.destroy();\n delete this.markerBasedGroupsAPI;\n }\n\n if (this.markerBasedUsersAPI) {\n this.markerBasedUsersAPI.destroy();\n delete this.markerBasedUsersAPI;\n }\n\n if (this.groupsAPI) {\n this.groupsAPI.destroy();\n delete this.groupsAPI;\n }\n\n if (this.usersAPI) {\n this.usersAPI.destroy();\n delete this.usersAPI;\n }\n\n if (this.metadataAPI) {\n this.metadataAPI.destroy();\n delete this.metadataAPI;\n }\n\n if (this.fileCollaboratorsAPI) {\n this.fileCollaboratorsAPI.destroy();\n delete this.fileCollaboratorsAPI;\n }\n\n if (this.fileCollaborationsAPI) {\n this.fileCollaborationsAPI.destroy();\n delete this.fileCollaborationsAPI;\n }\n\n if (this.folderCollaborationsAPI) {\n this.folderCollaborationsAPI.destroy();\n delete this.folderCollaborationsAPI;\n }\n\n if (this.collaborationsAPI) {\n this.collaborationsAPI.destroy();\n delete this.collaborationsAPI;\n }\n\n if (this.appIntegrationsAPI) {\n this.appIntegrationsAPI.destroy();\n delete this.appIntegrationsAPI;\n }\n\n if (this.metadataQueryAPI) {\n this.metadataQueryAPI.destroy();\n delete this.metadataQueryAPI;\n }\n\n if (this.openWithAPI) {\n this.openWithAPI.destroy();\n delete this.openWithAPI;\n }\n\n if (this.annotationsAPI) {\n this.annotationsAPI.destroy();\n delete this.annotationsAPI;\n }\n\n if (destroyCache) {\n this.options.cache = new Cache();\n }\n }\n\n /**\n * Gets the cache instance\n *\n * @return {Cache} cache instance\n */\n getCache(): APICache {\n return ((this.options.cache: any): APICache);\n }\n\n /**\n * Returns the API based on type of item\n *\n * @private\n * @param {String} type - item type\n * @return {ItemAPI} api\n */\n getAPI(type: ItemType): ItemAPI {\n let api: ItemAPI;\n\n switch (type) {\n case TYPE_FOLDER:\n api = this.getFolderAPI();\n break;\n case TYPE_FILE:\n api = this.getFileAPI();\n break;\n case TYPE_WEBLINK:\n api = this.getWebLinkAPI();\n break;\n default:\n throw new Error('Unknown Type!');\n }\n\n return api;\n }\n\n /**\n * API for file\n *\n * @return {FileAPI} FileAPI instance\n */\n getFileAPI(shouldDestroy: boolean = true): FileAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n this.fileAPI = new FileAPI(this.options);\n return this.fileAPI;\n }\n\n /**\n * API for web links\n *\n * @return {WebLinkAPI} WebLinkAPI instance\n */\n getWebLinkAPI(): WebLinkAPI {\n this.destroy();\n this.weblinkAPI = new WebLinkAPI(this.options);\n return this.weblinkAPI;\n }\n\n /**\n * API for plain uploads\n *\n * @return {UploadAPI} UploadAPI instance\n */\n getPlainUploadAPI(): PlainUploadAPI {\n this.destroy();\n this.plainUploadAPI = new PlainUploadAPI(this.options);\n return this.plainUploadAPI;\n }\n\n /**\n * API for chunked uploads\n *\n * @return {UploadAPI} UploadAPI instance\n */\n getChunkedUploadAPI(): ChunkedUploadAPI {\n this.destroy();\n this.chunkedUploadAPI = new ChunkedUploadAPI(this.options);\n return this.chunkedUploadAPI;\n }\n\n /**\n * API for folder\n *\n * @return {FolderAPI} FolderAPI instance\n */\n getFolderAPI(): FolderAPI {\n this.destroy();\n this.folderAPI = new FolderAPI(this.options);\n return this.folderAPI;\n }\n\n /**\n * API for search\n *\n * @return {SearchAPI} SearchAPI instance\n */\n getSearchAPI(): SearchAPI {\n this.destroy();\n this.searchAPI = new SearchAPI(this.options);\n return this.searchAPI;\n }\n\n /**\n * API for recents\n *\n * @return {RecentsAPI} RecentsAPI instance\n */\n getRecentsAPI(): RecentsAPI {\n this.destroy();\n this.recentsAPI = new RecentsAPI(this.options);\n return this.recentsAPI;\n }\n\n /**\n * API for metadata\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {MetadataAPI} MetadataAPI instance\n */\n getMetadataAPI(shouldDestroy: boolean): MetadataAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.metadataAPI = new MetadataAPI(this.options);\n return this.metadataAPI;\n }\n\n /**\n * API for versions\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {VersionsAPI} VersionsAPI instance\n */\n getVersionsAPI(shouldDestroy: boolean): VersionsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.versionsAPI = new VersionsAPI(this.options);\n return this.versionsAPI;\n }\n\n /**\n * API for comments\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {CommentsAPI} CommentsAPI instance\n */\n getCommentsAPI(shouldDestroy: boolean): CommentsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.commentsAPI = new CommentsAPI(this.options);\n return this.commentsAPI;\n }\n\n /**\n * API for tasks\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {TasksAPI} TaskAssignmentsAPI instance\n */\n getTasksNewAPI(shouldDestroy: boolean): TasksNewAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.tasksNewAPI = new TasksNewAPI(this.options);\n return this.tasksNewAPI;\n }\n\n /**\n * API for taskCollaborators\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {TaskCollaboratorsAPI} TaskCollaboratorsAPI instance\n */\n getTaskCollaboratorsAPI(shouldDestroy: boolean): TaskCollaboratorsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.taskCollaboratorsAPI = new TaskCollaboratorsAPI(this.options);\n return this.taskCollaboratorsAPI;\n }\n\n /**\n * API for taskLinks\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {TasksAPI} TaskLinksAPI instance\n */\n getTaskLinksAPI(shouldDestroy: boolean): TaskLinksAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.taskLinksAPI = new TaskLinksAPI(this.options);\n return this.taskLinksAPI;\n }\n\n /**\n * API for file access stats\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {FileAccessStatsAPI} FileAccessStatsAPI instance\n */\n getFileAccessStatsAPI(shouldDestroy: boolean): FileAccessStatsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.fileAccessStatsAPI = new FileAccessStatsAPI(this.options);\n return this.fileAccessStatsAPI;\n }\n\n /**\n * API for file collaborators\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {FileCollaboratorsAPI} FileCollaboratorsAPI instance\n */\n getFileCollaboratorsAPI(shouldDestroy: boolean): FileCollaboratorsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.fileCollaboratorsAPI = new FileCollaboratorsAPI(this.options);\n return this.fileCollaboratorsAPI;\n }\n\n /**\n * API for file collaborations\n *\n * This is different from the FileCollaboratorsAPI! See ./FileCollaborations for more information.\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {FileCollaborationsAPI} FileCollaborationsAPI instance\n */\n getFileCollaborationsAPI(shouldDestroy: boolean): FileCollaborationsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.fileCollaborationsAPI = new FileCollaborationsAPI(this.options);\n return this.fileCollaborationsAPI;\n }\n\n /**\n * API for folder collaborations\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {FolderCollaborationsAPI} FolderCollaborationsAPI instance\n */\n getFolderCollaborationsAPI(shouldDestroy: boolean): FolderCollaborationsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.folderCollaborationsAPI = new FolderCollaborationsAPI(this.options);\n return this.folderCollaborationsAPI;\n }\n\n /**\n * API for collaborations\n *\n * This is different from the other collaboration/collaborator APIs!\n * See ./Collaborations for more information.\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {CollaborationsAPI} CollaborationsAPI instance\n */\n getCollaborationsAPI(shouldDestroy: boolean): CollaborationsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.collaborationsAPI = new CollaborationsAPI(this.options);\n return this.collaborationsAPI;\n }\n\n /**\n * API for Groups (marker-based paging)\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {MarkerBasedGroupsAPI} MarkerBasedGroupsAPI instance\n */\n getMarkerBasedGroupsAPI(shouldDestroy: boolean): MarkerBasedGroupsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.markerBasedGroupsAPI = new MarkerBasedGroupsAPI(this.options);\n return this.markerBasedGroupsAPI;\n }\n\n /**\n * API for Users (marker-based paging)\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {MarkerBasedUsersAPI} MarkerBasedUsersAPI instance\n */\n getMarkerBasedUsersAPI(shouldDestroy: boolean): MarkerBasedUsersAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.markerBasedUsersAPI = new MarkerBasedUsersAPI(this.options);\n return this.markerBasedUsersAPI;\n }\n\n /**\n * API for Groups (offset-based paging)\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {GroupsAPI} GroupsAPI instance\n */\n getGroupsAPI(shouldDestroy: boolean): GroupsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.groupsAPI = new GroupsAPI(this.options);\n return this.groupsAPI;\n }\n\n /**\n * API for Users (offset-based paging)\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {UsersAPI} UsersAPI instance\n */\n getUsersAPI(shouldDestroy: boolean): UsersAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.usersAPI = new UsersAPI(this.options);\n return this.usersAPI;\n }\n\n /**\n * API for Feed Items\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {FeedAPI} FeedAPI instance\n */\n getFeedAPI(shouldDestroy: boolean): FeedAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.feedItemsAPI = new FeedAPI(this.options);\n return this.feedItemsAPI;\n }\n\n /**\n * API for Open With\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {OpenWithAPI} OpenWithAPI instance\n */\n getOpenWithAPI(shouldDestroy: boolean): OpenWithAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.openWithAPI = new OpenWithAPI(this.options);\n return this.openWithAPI;\n }\n\n /**\n * API for the App Integrations endpoint\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {AppIntegrationsAPI} AppIntegrationsAPI instance\n */\n getAppIntegrationsAPI(shouldDestroy: boolean): AppIntegrationsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.appIntegrationsAPI = new AppIntegrationsAPI(this.options);\n return this.appIntegrationsAPI;\n }\n\n /**\n * API for Metadata Query\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {MetadataQuery} MetadataQuery instance\n */\n getMetadataQueryAPI(shouldDestroy: boolean = false): MetadataQueryAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.metadataQueryAPI = new MetadataQueryAPI(this.options);\n return this.metadataQueryAPI;\n }\n\n /**\n * API for Box Edit\n *\n * @return {BoxEditAPI} BoxEditAPI instance\n */\n getBoxEditAPI(): BoxEditAPI {\n this.boxEditAPI = new BoxEditAPI();\n return this.boxEditAPI;\n }\n\n /**\n * API for Annotations\n *\n * @return {AnnotationsAPI} AnnotationsAPI instance\n */\n getAnnotationsAPI(shouldDestroy: boolean): AnnotationsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.annotationsAPI = new AnnotationsAPI(this.options);\n return this.annotationsAPI;\n }\n}\n\nexport default APIFactory;\n"],"file":"APIFactory.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/api/APIFactory.js"],"names":["Cache","ChunkedUploadAPI","PlainUploadAPI","FolderAPI","FileAPI","WebLinkAPI","SearchAPI","RecentsAPI","VersionsAPI","CommentsAPI","TasksNewAPI","TaskCollaboratorsAPI","TaskLinksAPI","ThreadedCommentsAPI","FileAccessStatsAPI","MarkerBasedGroupsAPI","MarkerBasedUsersAPI","GroupsAPI","UsersAPI","MetadataAPI","FileCollaboratorsAPI","FileCollaborationsAPI","FolderCollaborationsAPI","CollaborationsAPI","FeedAPI","AppIntegrationsAPI","AnnotationsAPI","OpenWithAPI","MetadataQueryAPI","BoxEditAPI","DEFAULT_HOSTNAME_API","DEFAULT_HOSTNAME_UPLOAD","TYPE_FOLDER","TYPE_FILE","TYPE_WEBLINK","APIFactory","options","apiHost","uploadHost","cache","language","destroyCache","fileAPI","destroy","weblinkAPI","plainUploadAPI","chunkedUploadAPI","folderAPI","searchAPI","recentsAPI","versionsAPI","fileAccessStatsAPI","tasksNewAPI","taskCollaboratorsAPI","taskLinksAPI","commentsAPI","threadedCommentsAPI","markerBasedGroupsAPI","markerBasedUsersAPI","groupsAPI","usersAPI","metadataAPI","fileCollaboratorsAPI","fileCollaborationsAPI","folderCollaborationsAPI","collaborationsAPI","appIntegrationsAPI","metadataQueryAPI","openWithAPI","annotationsAPI","type","api","getFolderAPI","getFileAPI","getWebLinkAPI","Error","shouldDestroy","feedItemsAPI","boxEditAPI"],"mappings":"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","sourcesContent":["/**\n * @flow\n * @file Main entry point for the box api\n * @author Box\n */\n\nimport Cache from '../utils/Cache';\nimport ChunkedUploadAPI from './uploads/MultiputUpload';\nimport PlainUploadAPI from './uploads/PlainUpload';\nimport FolderAPI from './Folder';\nimport FileAPI from './File';\nimport WebLinkAPI from './WebLink';\nimport SearchAPI from './Search';\nimport RecentsAPI from './Recents';\nimport VersionsAPI from './Versions';\nimport CommentsAPI from './Comments';\nimport TasksNewAPI from './tasks/TasksNew';\nimport TaskCollaboratorsAPI from './tasks/TaskCollaborators';\nimport TaskLinksAPI from './tasks/TaskLinks';\nimport ThreadedCommentsAPI from './ThreadedComments';\nimport FileAccessStatsAPI from './FileAccessStats';\nimport MarkerBasedGroupsAPI from './MarkerBasedGroups';\nimport MarkerBasedUsersAPI from './MarkerBasedUsers';\nimport GroupsAPI from './Groups';\nimport UsersAPI from './Users';\nimport MetadataAPI from './Metadata';\nimport FileCollaboratorsAPI from './FileCollaborators';\nimport FileCollaborationsAPI from './FileCollaborations';\nimport FolderCollaborationsAPI from './FolderCollaborations';\nimport CollaborationsAPI from './Collaborations';\nimport FeedAPI from './Feed';\nimport AppIntegrationsAPI from './AppIntegrations';\nimport AnnotationsAPI from './Annotations';\nimport OpenWithAPI from './OpenWith';\nimport MetadataQueryAPI from './MetadataQuery';\nimport BoxEditAPI from './box-edit';\nimport { DEFAULT_HOSTNAME_API, DEFAULT_HOSTNAME_UPLOAD, TYPE_FOLDER, TYPE_FILE, TYPE_WEBLINK } from '../constants';\nimport type { ItemType } from '../common/types/core';\nimport type { APIOptions } from '../common/types/api';\nimport type APICache from '../utils/Cache';\n\ntype ItemAPI = FolderAPI | FileAPI | WebLinkAPI;\n\nclass APIFactory {\n /**\n * @property {*}\n */\n options: APIOptions;\n\n /**\n * @property {FileAPI}\n */\n fileAPI: FileAPI;\n\n /**\n * @property {WebLink}\n */\n weblinkAPI: WebLinkAPI;\n\n /**\n * @property {FolderAPI}\n */\n folderAPI: FolderAPI;\n\n /**\n * @property {PlainUploadAPI}\n */\n plainUploadAPI: PlainUploadAPI;\n\n /**\n * @property {ChunkedUploadAPI}\n */\n chunkedUploadAPI: ChunkedUploadAPI;\n\n /**\n * @property {SearchAPI}\n */\n searchAPI: SearchAPI;\n\n /**\n * @property {RecentsAPI}\n */\n recentsAPI: RecentsAPI;\n\n /**\n * @property {VersionsAPI}\n */\n versionsAPI: VersionsAPI;\n\n /**\n * @property {CommentsAPI}\n */\n commentsAPI: CommentsAPI;\n\n /**\n * @property {ThreadedCommentsAPI}\n */\n threadedCommentsAPI: ThreadedCommentsAPI;\n\n /**\n * @property {TasksNewAPI}\n */\n tasksNewAPI: TasksNewAPI;\n\n /**\n * @property {TaskCollaboratorsAPI}\n */\n taskCollaboratorsAPI: TaskCollaboratorsAPI;\n\n /**\n * @property {TaskLinksAPI}\n */\n taskLinksAPI: TaskLinksAPI;\n\n /*\n * @property {FileAccessStatsAPI}\n */\n fileAccessStatsAPI: FileAccessStatsAPI;\n\n /*\n * @property {MarkerBasedGroupsAPI}\n */\n markerBasedGroupsAPI: MarkerBasedGroupsAPI;\n\n /*\n * @property {MarkerBasedUsersAPI}\n */\n markerBasedUsersAPI: MarkerBasedUsersAPI;\n\n /**\n * @property {GroupsAPI}\n */\n groupsAPI: GroupsAPI;\n\n /*\n * @property {UsersAPI}\n */\n usersAPI: UsersAPI;\n\n /*\n * @property {MetadataAPI}\n */\n metadataAPI: MetadataAPI;\n\n /**\n * @property {FileCollaboratorsAPI}\n */\n fileCollaboratorsAPI: FileCollaboratorsAPI;\n\n /**\n * @property {FileCollaborationsAPI}\n */\n fileCollaborationsAPI: FileCollaborationsAPI;\n\n /**\n * @property {FolderCollaborationsAPI}\n */\n folderCollaborationsAPI: FolderCollaborationsAPI;\n\n /**\n * @property {CollaborationsAPI}\n */\n collaborationsAPI: CollaborationsAPI;\n\n /**\n * @property {FeedAPI}\n */\n feedItemsAPI: FeedAPI;\n\n /**\n * @property {OpenWithAPI}\n */\n openWithAPI: OpenWithAPI;\n\n /**\n * @property {AppIntegrationsAPI}\n */\n appIntegrationsAPI: AppIntegrationsAPI;\n\n /**\n * @property {MetadataQueryAPI}\n */\n metadataQueryAPI: MetadataQueryAPI;\n\n /** @property {BoxEditAPI}\n *\n */\n boxEditAPI: BoxEditAPI;\n\n /**\n * @property {AnnotationsAPI}\n */\n annotationsAPI: AnnotationsAPI;\n\n /**\n * [constructor]\n *\n * @param {Object} options\n * @param {string} options.id - item id\n * @param {string|function} options.token - Auth token\n * @param {string} [options.sharedLink] - Shared link\n * @param {string} [options.sharedLinkPassword] - Shared link password\n * @param {string} [options.apiHost] - Api host\n * @param {string} [options.uploadHost] - Upload host name\n * @return {API} Api instance\n */\n constructor(options: APIOptions) {\n this.options = {\n ...options,\n apiHost: options.apiHost || DEFAULT_HOSTNAME_API,\n uploadHost: options.uploadHost || DEFAULT_HOSTNAME_UPLOAD,\n cache: options.cache || new Cache(),\n language: options.language,\n };\n }\n\n /**\n * [destructor]\n *\n * @param {boolean} destroyCache - true to destroy cache\n * @return {void}\n */\n destroy(destroyCache: boolean = false) {\n if (this.fileAPI) {\n this.fileAPI.destroy();\n delete this.fileAPI;\n }\n\n if (this.weblinkAPI) {\n this.weblinkAPI.destroy();\n delete this.weblinkAPI;\n }\n\n if (this.plainUploadAPI) {\n this.plainUploadAPI.destroy();\n delete this.plainUploadAPI;\n }\n\n if (this.chunkedUploadAPI) {\n this.chunkedUploadAPI.destroy();\n delete this.chunkedUploadAPI;\n }\n\n if (this.folderAPI) {\n this.folderAPI.destroy();\n delete this.folderAPI;\n }\n\n if (this.searchAPI) {\n this.searchAPI.destroy();\n delete this.searchAPI;\n }\n\n if (this.recentsAPI) {\n this.recentsAPI.destroy();\n delete this.recentsAPI;\n }\n\n if (this.versionsAPI) {\n this.versionsAPI.destroy();\n delete this.versionsAPI;\n }\n\n if (this.fileAccessStatsAPI) {\n this.fileAccessStatsAPI.destroy();\n delete this.fileAccessStatsAPI;\n }\n\n if (this.tasksNewAPI) {\n this.tasksNewAPI.destroy();\n delete this.tasksNewAPI;\n }\n\n if (this.taskCollaboratorsAPI) {\n this.taskCollaboratorsAPI.destroy();\n delete this.taskCollaboratorsAPI;\n }\n\n if (this.taskLinksAPI) {\n this.taskLinksAPI.destroy();\n delete this.taskLinksAPI;\n }\n\n if (this.commentsAPI) {\n this.commentsAPI.destroy();\n delete this.commentsAPI;\n }\n\n if (this.threadedCommentsAPI) {\n this.threadedCommentsAPI.destroy();\n delete this.threadedCommentsAPI;\n }\n\n if (this.markerBasedGroupsAPI) {\n this.markerBasedGroupsAPI.destroy();\n delete this.markerBasedGroupsAPI;\n }\n\n if (this.markerBasedUsersAPI) {\n this.markerBasedUsersAPI.destroy();\n delete this.markerBasedUsersAPI;\n }\n\n if (this.groupsAPI) {\n this.groupsAPI.destroy();\n delete this.groupsAPI;\n }\n\n if (this.usersAPI) {\n this.usersAPI.destroy();\n delete this.usersAPI;\n }\n\n if (this.metadataAPI) {\n this.metadataAPI.destroy();\n delete this.metadataAPI;\n }\n\n if (this.fileCollaboratorsAPI) {\n this.fileCollaboratorsAPI.destroy();\n delete this.fileCollaboratorsAPI;\n }\n\n if (this.fileCollaborationsAPI) {\n this.fileCollaborationsAPI.destroy();\n delete this.fileCollaborationsAPI;\n }\n\n if (this.folderCollaborationsAPI) {\n this.folderCollaborationsAPI.destroy();\n delete this.folderCollaborationsAPI;\n }\n\n if (this.collaborationsAPI) {\n this.collaborationsAPI.destroy();\n delete this.collaborationsAPI;\n }\n\n if (this.appIntegrationsAPI) {\n this.appIntegrationsAPI.destroy();\n delete this.appIntegrationsAPI;\n }\n\n if (this.metadataQueryAPI) {\n this.metadataQueryAPI.destroy();\n delete this.metadataQueryAPI;\n }\n\n if (this.openWithAPI) {\n this.openWithAPI.destroy();\n delete this.openWithAPI;\n }\n\n if (this.annotationsAPI) {\n this.annotationsAPI.destroy();\n delete this.annotationsAPI;\n }\n\n if (destroyCache) {\n this.options.cache = new Cache();\n }\n }\n\n /**\n * Gets the cache instance\n *\n * @return {Cache} cache instance\n */\n getCache(): APICache {\n return ((this.options.cache: any): APICache);\n }\n\n /**\n * Returns the API based on type of item\n *\n * @private\n * @param {String} type - item type\n * @return {ItemAPI} api\n */\n getAPI(type: ItemType): ItemAPI {\n let api: ItemAPI;\n\n switch (type) {\n case TYPE_FOLDER:\n api = this.getFolderAPI();\n break;\n case TYPE_FILE:\n api = this.getFileAPI();\n break;\n case TYPE_WEBLINK:\n api = this.getWebLinkAPI();\n break;\n default:\n throw new Error('Unknown Type!');\n }\n\n return api;\n }\n\n /**\n * API for file\n *\n * @return {FileAPI} FileAPI instance\n */\n getFileAPI(shouldDestroy: boolean = true): FileAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n this.fileAPI = new FileAPI(this.options);\n return this.fileAPI;\n }\n\n /**\n * API for web links\n *\n * @return {WebLinkAPI} WebLinkAPI instance\n */\n getWebLinkAPI(): WebLinkAPI {\n this.destroy();\n this.weblinkAPI = new WebLinkAPI(this.options);\n return this.weblinkAPI;\n }\n\n /**\n * API for plain uploads\n *\n * @return {UploadAPI} UploadAPI instance\n */\n getPlainUploadAPI(): PlainUploadAPI {\n this.destroy();\n this.plainUploadAPI = new PlainUploadAPI(this.options);\n return this.plainUploadAPI;\n }\n\n /**\n * API for chunked uploads\n *\n * @return {UploadAPI} UploadAPI instance\n */\n getChunkedUploadAPI(): ChunkedUploadAPI {\n this.destroy();\n this.chunkedUploadAPI = new ChunkedUploadAPI(this.options);\n return this.chunkedUploadAPI;\n }\n\n /**\n * API for folder\n *\n * @return {FolderAPI} FolderAPI instance\n */\n getFolderAPI(): FolderAPI {\n this.destroy();\n this.folderAPI = new FolderAPI(this.options);\n return this.folderAPI;\n }\n\n /**\n * API for search\n *\n * @return {SearchAPI} SearchAPI instance\n */\n getSearchAPI(): SearchAPI {\n this.destroy();\n this.searchAPI = new SearchAPI(this.options);\n return this.searchAPI;\n }\n\n /**\n * API for recents\n *\n * @return {RecentsAPI} RecentsAPI instance\n */\n getRecentsAPI(): RecentsAPI {\n this.destroy();\n this.recentsAPI = new RecentsAPI(this.options);\n return this.recentsAPI;\n }\n\n /**\n * API for metadata\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {MetadataAPI} MetadataAPI instance\n */\n getMetadataAPI(shouldDestroy: boolean): MetadataAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.metadataAPI = new MetadataAPI(this.options);\n return this.metadataAPI;\n }\n\n /**\n * API for versions\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {VersionsAPI} VersionsAPI instance\n */\n getVersionsAPI(shouldDestroy: boolean): VersionsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.versionsAPI = new VersionsAPI(this.options);\n return this.versionsAPI;\n }\n\n /**\n * API for comments\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {CommentsAPI} CommentsAPI instance\n */\n getCommentsAPI(shouldDestroy: boolean): CommentsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.commentsAPI = new CommentsAPI(this.options);\n return this.commentsAPI;\n }\n\n /**\n * API for threaded comments\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {ThreadedCommentsAPI} ThreadedCommentsAPI instance\n */\n getThreadedCommentsAPI(shouldDestroy: boolean): ThreadedCommentsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.threadedCommentsAPI = new ThreadedCommentsAPI(this.options);\n return this.threadedCommentsAPI;\n }\n\n /**\n * API for tasks\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {TasksAPI} TaskAssignmentsAPI instance\n */\n getTasksNewAPI(shouldDestroy: boolean): TasksNewAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.tasksNewAPI = new TasksNewAPI(this.options);\n return this.tasksNewAPI;\n }\n\n /**\n * API for taskCollaborators\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {TaskCollaboratorsAPI} TaskCollaboratorsAPI instance\n */\n getTaskCollaboratorsAPI(shouldDestroy: boolean): TaskCollaboratorsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.taskCollaboratorsAPI = new TaskCollaboratorsAPI(this.options);\n return this.taskCollaboratorsAPI;\n }\n\n /**\n * API for taskLinks\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {TasksAPI} TaskLinksAPI instance\n */\n getTaskLinksAPI(shouldDestroy: boolean): TaskLinksAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.taskLinksAPI = new TaskLinksAPI(this.options);\n return this.taskLinksAPI;\n }\n\n /**\n * API for file access stats\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {FileAccessStatsAPI} FileAccessStatsAPI instance\n */\n getFileAccessStatsAPI(shouldDestroy: boolean): FileAccessStatsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.fileAccessStatsAPI = new FileAccessStatsAPI(this.options);\n return this.fileAccessStatsAPI;\n }\n\n /**\n * API for file collaborators\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {FileCollaboratorsAPI} FileCollaboratorsAPI instance\n */\n getFileCollaboratorsAPI(shouldDestroy: boolean): FileCollaboratorsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.fileCollaboratorsAPI = new FileCollaboratorsAPI(this.options);\n return this.fileCollaboratorsAPI;\n }\n\n /**\n * API for file collaborations\n *\n * This is different from the FileCollaboratorsAPI! See ./FileCollaborations for more information.\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {FileCollaborationsAPI} FileCollaborationsAPI instance\n */\n getFileCollaborationsAPI(shouldDestroy: boolean): FileCollaborationsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.fileCollaborationsAPI = new FileCollaborationsAPI(this.options);\n return this.fileCollaborationsAPI;\n }\n\n /**\n * API for folder collaborations\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {FolderCollaborationsAPI} FolderCollaborationsAPI instance\n */\n getFolderCollaborationsAPI(shouldDestroy: boolean): FolderCollaborationsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.folderCollaborationsAPI = new FolderCollaborationsAPI(this.options);\n return this.folderCollaborationsAPI;\n }\n\n /**\n * API for collaborations\n *\n * This is different from the other collaboration/collaborator APIs!\n * See ./Collaborations for more information.\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {CollaborationsAPI} CollaborationsAPI instance\n */\n getCollaborationsAPI(shouldDestroy: boolean): CollaborationsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.collaborationsAPI = new CollaborationsAPI(this.options);\n return this.collaborationsAPI;\n }\n\n /**\n * API for Groups (marker-based paging)\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {MarkerBasedGroupsAPI} MarkerBasedGroupsAPI instance\n */\n getMarkerBasedGroupsAPI(shouldDestroy: boolean): MarkerBasedGroupsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.markerBasedGroupsAPI = new MarkerBasedGroupsAPI(this.options);\n return this.markerBasedGroupsAPI;\n }\n\n /**\n * API for Users (marker-based paging)\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {MarkerBasedUsersAPI} MarkerBasedUsersAPI instance\n */\n getMarkerBasedUsersAPI(shouldDestroy: boolean): MarkerBasedUsersAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.markerBasedUsersAPI = new MarkerBasedUsersAPI(this.options);\n return this.markerBasedUsersAPI;\n }\n\n /**\n * API for Groups (offset-based paging)\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {GroupsAPI} GroupsAPI instance\n */\n getGroupsAPI(shouldDestroy: boolean): GroupsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.groupsAPI = new GroupsAPI(this.options);\n return this.groupsAPI;\n }\n\n /**\n * API for Users (offset-based paging)\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {UsersAPI} UsersAPI instance\n */\n getUsersAPI(shouldDestroy: boolean): UsersAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.usersAPI = new UsersAPI(this.options);\n return this.usersAPI;\n }\n\n /**\n * API for Feed Items\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {FeedAPI} FeedAPI instance\n */\n getFeedAPI(shouldDestroy: boolean): FeedAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.feedItemsAPI = new FeedAPI(this.options);\n return this.feedItemsAPI;\n }\n\n /**\n * API for Open With\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {OpenWithAPI} OpenWithAPI instance\n */\n getOpenWithAPI(shouldDestroy: boolean): OpenWithAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.openWithAPI = new OpenWithAPI(this.options);\n return this.openWithAPI;\n }\n\n /**\n * API for the App Integrations endpoint\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {AppIntegrationsAPI} AppIntegrationsAPI instance\n */\n getAppIntegrationsAPI(shouldDestroy: boolean): AppIntegrationsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.appIntegrationsAPI = new AppIntegrationsAPI(this.options);\n return this.appIntegrationsAPI;\n }\n\n /**\n * API for Metadata Query\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {MetadataQuery} MetadataQuery instance\n */\n getMetadataQueryAPI(shouldDestroy: boolean = false): MetadataQueryAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.metadataQueryAPI = new MetadataQueryAPI(this.options);\n return this.metadataQueryAPI;\n }\n\n /**\n * API for Box Edit\n *\n * @return {BoxEditAPI} BoxEditAPI instance\n */\n getBoxEditAPI(): BoxEditAPI {\n this.boxEditAPI = new BoxEditAPI();\n return this.boxEditAPI;\n }\n\n /**\n * API for Annotations\n *\n * @return {AnnotationsAPI} AnnotationsAPI instance\n */\n getAnnotationsAPI(shouldDestroy: boolean): AnnotationsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.annotationsAPI = new AnnotationsAPI(this.options);\n return this.annotationsAPI;\n }\n}\n\nexport default APIFactory;\n"],"file":"APIFactory.js"}
|
package/es/api/Annotations.js
CHANGED
|
@@ -4,8 +4,6 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
4
4
|
|
|
5
5
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
6
6
|
|
|
7
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
8
|
-
|
|
9
7
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
10
8
|
|
|
11
9
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
@@ -14,17 +12,20 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
|
|
|
14
12
|
|
|
15
13
|
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
|
|
16
14
|
|
|
17
|
-
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
18
|
-
|
|
19
15
|
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
20
16
|
|
|
17
|
+
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
18
|
+
|
|
21
19
|
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
22
20
|
|
|
23
21
|
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
24
22
|
|
|
23
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
24
|
+
|
|
25
25
|
import merge from 'lodash/merge';
|
|
26
26
|
import { ERROR_CODE_CREATE_ANNOTATION, ERROR_CODE_CREATE_REPLY, ERROR_CODE_DELETE_ANNOTATION, ERROR_CODE_EDIT_ANNOTATION, ERROR_CODE_FETCH_ANNOTATION, ERROR_CODE_FETCH_ANNOTATIONS, ERROR_CODE_FETCH_REPLIES, PERMISSION_CAN_CREATE_ANNOTATIONS, PERMISSION_CAN_DELETE, PERMISSION_CAN_EDIT, PERMISSION_CAN_VIEW_ANNOTATIONS, PERMISSION_CAN_RESOLVE } from '../constants';
|
|
27
27
|
import MarkerBasedApi from './MarkerBasedAPI';
|
|
28
|
+
import { formatComment } from './utils';
|
|
28
29
|
|
|
29
30
|
var Annotations =
|
|
30
31
|
/*#__PURE__*/
|
|
@@ -32,12 +33,89 @@ function (_MarkerBasedApi) {
|
|
|
32
33
|
_inherits(Annotations, _MarkerBasedApi);
|
|
33
34
|
|
|
34
35
|
function Annotations() {
|
|
36
|
+
var _getPrototypeOf2;
|
|
37
|
+
|
|
38
|
+
var _this;
|
|
39
|
+
|
|
35
40
|
_classCallCheck(this, Annotations);
|
|
36
41
|
|
|
37
|
-
|
|
42
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
43
|
+
args[_key] = arguments[_key];
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
_this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(Annotations)).call.apply(_getPrototypeOf2, [this].concat(args)));
|
|
47
|
+
|
|
48
|
+
_defineProperty(_assertThisInitialized(_this), "successHandler", function (data) {
|
|
49
|
+
if (_this.isDestroyed() || typeof _this.successCallback !== 'function') {
|
|
50
|
+
return;
|
|
51
|
+
} // There is no response data when deleting an annotation
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
if (!data) {
|
|
55
|
+
_this.successCallback();
|
|
56
|
+
|
|
57
|
+
return;
|
|
58
|
+
} // We don't have entries when updating/creating an annotation
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
if (!data.entries) {
|
|
62
|
+
// Check if the response is a comment (result of createAnnotationReply)
|
|
63
|
+
if (data.type && data.type === 'comment') {
|
|
64
|
+
_this.successCallback(formatComment(data));
|
|
65
|
+
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
_this.successCallback(_this.formatReplies(data));
|
|
70
|
+
|
|
71
|
+
return;
|
|
72
|
+
} // Check if the response is the replies of an annotation (result of getAnnotationReplies)
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
if (data.entries.length && data.entries[0].type === 'comment') {
|
|
76
|
+
var replies = data.entries.map(formatComment);
|
|
77
|
+
|
|
78
|
+
_this.successCallback(_objectSpread({}, data, {
|
|
79
|
+
entries: replies
|
|
80
|
+
}));
|
|
81
|
+
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
var annotations = data.entries.map(_this.formatReplies);
|
|
86
|
+
|
|
87
|
+
_this.successCallback(_objectSpread({}, data, {
|
|
88
|
+
entries: annotations
|
|
89
|
+
}));
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
return _this;
|
|
38
93
|
}
|
|
39
94
|
|
|
40
95
|
_createClass(Annotations, [{
|
|
96
|
+
key: "formatReplies",
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Formats annotation replies' comment data for use in components.
|
|
100
|
+
*
|
|
101
|
+
* @param {Annotation} annotation - An individual annotation entry from the API
|
|
102
|
+
* @return {Annotation} Updated annotation
|
|
103
|
+
*/
|
|
104
|
+
value: function formatReplies(annotation) {
|
|
105
|
+
if (!annotation.replies || !annotation.replies.length) {
|
|
106
|
+
return annotation;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
return _objectSpread({}, annotation, {
|
|
110
|
+
replies: annotation.replies.map(formatComment)
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Formats the annotations api response to usable data
|
|
115
|
+
* @param {Object} data the api response data
|
|
116
|
+
*/
|
|
117
|
+
|
|
118
|
+
}, {
|
|
41
119
|
key: "getUrl",
|
|
42
120
|
value: function getUrl() {
|
|
43
121
|
return "".concat(this.getBaseApiUrl(), "/undoc/annotations");
|
|
@@ -71,9 +149,7 @@ function (_MarkerBasedApi) {
|
|
|
71
149
|
file_version: {
|
|
72
150
|
id: fileVersionId,
|
|
73
151
|
type: 'file_version'
|
|
74
|
-
}
|
|
75
|
-
status: 'open',
|
|
76
|
-
type: 'annotation'
|
|
152
|
+
}
|
|
77
153
|
};
|
|
78
154
|
this.post({
|
|
79
155
|
id: fileId,
|
|
@@ -15,18 +15,74 @@ import {
|
|
|
15
15
|
PERMISSION_CAN_RESOLVE,
|
|
16
16
|
} from '../constants';
|
|
17
17
|
import MarkerBasedApi from './MarkerBasedAPI';
|
|
18
|
+
import { formatComment } from './utils';
|
|
18
19
|
|
|
19
20
|
import type {
|
|
20
21
|
Annotation,
|
|
21
22
|
AnnotationPermission,
|
|
22
23
|
Annotations as AnnotationsType,
|
|
23
|
-
AnnotationStatus,
|
|
24
24
|
NewAnnotation,
|
|
25
25
|
} from '../common/types/annotations';
|
|
26
26
|
import type { BoxItemPermission } from '../common/types/core';
|
|
27
27
|
import type { ElementsXhrError } from '../common/types/api';
|
|
28
|
+
import type { Comment, FeedItemStatus, ThreadedComments } from '../common/types/feed';
|
|
28
29
|
|
|
29
30
|
export default class Annotations extends MarkerBasedApi {
|
|
31
|
+
/**
|
|
32
|
+
* Formats annotation replies' comment data for use in components.
|
|
33
|
+
*
|
|
34
|
+
* @param {Annotation} annotation - An individual annotation entry from the API
|
|
35
|
+
* @return {Annotation} Updated annotation
|
|
36
|
+
*/
|
|
37
|
+
formatReplies(annotation: Annotation): Annotation {
|
|
38
|
+
if (!annotation.replies || !annotation.replies.length) {
|
|
39
|
+
return annotation;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
return {
|
|
43
|
+
...annotation,
|
|
44
|
+
replies: annotation.replies.map(formatComment),
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Formats the annotations api response to usable data
|
|
50
|
+
* @param {Object} data the api response data
|
|
51
|
+
*/
|
|
52
|
+
successHandler = (data: Object): void => {
|
|
53
|
+
if (this.isDestroyed() || typeof this.successCallback !== 'function') {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
// There is no response data when deleting an annotation
|
|
58
|
+
if (!data) {
|
|
59
|
+
this.successCallback();
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// We don't have entries when updating/creating an annotation
|
|
64
|
+
if (!data.entries) {
|
|
65
|
+
// Check if the response is a comment (result of createAnnotationReply)
|
|
66
|
+
if (data.type && data.type === 'comment') {
|
|
67
|
+
this.successCallback(formatComment(data));
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
this.successCallback(this.formatReplies(data));
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
// Check if the response is the replies of an annotation (result of getAnnotationReplies)
|
|
76
|
+
if (data.entries.length && data.entries[0].type === 'comment') {
|
|
77
|
+
const replies = data.entries.map(formatComment);
|
|
78
|
+
this.successCallback({ ...data, entries: replies });
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
const annotations = data.entries.map(this.formatReplies);
|
|
83
|
+
this.successCallback({ ...data, entries: annotations });
|
|
84
|
+
};
|
|
85
|
+
|
|
30
86
|
getUrl() {
|
|
31
87
|
return `${this.getBaseApiUrl()}/undoc/annotations`;
|
|
32
88
|
}
|
|
@@ -64,8 +120,6 @@ export default class Annotations extends MarkerBasedApi {
|
|
|
64
120
|
id: fileVersionId,
|
|
65
121
|
type: 'file_version',
|
|
66
122
|
},
|
|
67
|
-
status: 'open',
|
|
68
|
-
type: 'annotation',
|
|
69
123
|
};
|
|
70
124
|
|
|
71
125
|
this.post({
|
|
@@ -83,7 +137,7 @@ export default class Annotations extends MarkerBasedApi {
|
|
|
83
137
|
fileId: string,
|
|
84
138
|
annotationId: string,
|
|
85
139
|
permissions: AnnotationPermission,
|
|
86
|
-
payload: { message?: string, status?:
|
|
140
|
+
payload: { message?: string, status?: FeedItemStatus },
|
|
87
141
|
successCallback: (annotation: Annotation) => void,
|
|
88
142
|
errorCallback: (e: ElementsXhrError, code: string) => void,
|
|
89
143
|
): void {
|
|
@@ -213,7 +267,7 @@ export default class Annotations extends MarkerBasedApi {
|
|
|
213
267
|
fileId: string,
|
|
214
268
|
annotationId: string,
|
|
215
269
|
permissions: BoxItemPermission,
|
|
216
|
-
successCallback: (
|
|
270
|
+
successCallback: (comments: ThreadedComments) => void,
|
|
217
271
|
errorCallback: (e: ElementsXhrError, code: string) => void,
|
|
218
272
|
): void {
|
|
219
273
|
this.errorCode = ERROR_CODE_FETCH_REPLIES;
|
|
@@ -238,7 +292,7 @@ export default class Annotations extends MarkerBasedApi {
|
|
|
238
292
|
annotationId: string,
|
|
239
293
|
permissions: BoxItemPermission,
|
|
240
294
|
message: string,
|
|
241
|
-
successCallback: (
|
|
295
|
+
successCallback: (comment: Comment) => void,
|
|
242
296
|
errorCallback: (e: ElementsXhrError, code: string) => void,
|
|
243
297
|
): void {
|
|
244
298
|
this.errorCode = ERROR_CODE_CREATE_REPLY;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/api/Annotations.js"],"names":["merge","ERROR_CODE_CREATE_ANNOTATION","ERROR_CODE_CREATE_REPLY","ERROR_CODE_DELETE_ANNOTATION","ERROR_CODE_EDIT_ANNOTATION","ERROR_CODE_FETCH_ANNOTATION","ERROR_CODE_FETCH_ANNOTATIONS","ERROR_CODE_FETCH_REPLIES","PERMISSION_CAN_CREATE_ANNOTATIONS","PERMISSION_CAN_DELETE","PERMISSION_CAN_EDIT","PERMISSION_CAN_VIEW_ANNOTATIONS","PERMISSION_CAN_RESOLVE","MarkerBasedApi","Annotations","getBaseApiUrl","annotationId","getUrl","getUrlForId","fileId","fileVersionId","payload","permissions","successCallback","errorCallback","errorCode","checkApiCallValidity","e","defaults","description","type","file_version","id","status","post","data","url","message","put","undefined","delete","shouldFetchReplies","requestData","params","fields","get","limit","shouldFetchAll","file_id","file_version_id","markerGet","getUrlWithRepliesForId"],"mappings":"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","sourcesContent":["// @flow\nimport merge from 'lodash/merge';\nimport {\n ERROR_CODE_CREATE_ANNOTATION,\n ERROR_CODE_CREATE_REPLY,\n ERROR_CODE_DELETE_ANNOTATION,\n ERROR_CODE_EDIT_ANNOTATION,\n ERROR_CODE_FETCH_ANNOTATION,\n ERROR_CODE_FETCH_ANNOTATIONS,\n ERROR_CODE_FETCH_REPLIES,\n PERMISSION_CAN_CREATE_ANNOTATIONS,\n PERMISSION_CAN_DELETE,\n PERMISSION_CAN_EDIT,\n PERMISSION_CAN_VIEW_ANNOTATIONS,\n PERMISSION_CAN_RESOLVE,\n} from '../constants';\nimport MarkerBasedApi from './MarkerBasedAPI';\n\nimport type {\n Annotation,\n AnnotationPermission,\n Annotations as AnnotationsType,\n AnnotationStatus,\n NewAnnotation,\n} from '../common/types/annotations';\nimport type { BoxItemPermission } from '../common/types/core';\nimport type { ElementsXhrError } from '../common/types/api';\n\nexport default class Annotations extends MarkerBasedApi {\n getUrl() {\n return `${this.getBaseApiUrl()}/undoc/annotations`;\n }\n\n getUrlForId(annotationId: string) {\n return `${this.getUrl()}/${annotationId}`;\n }\n\n getUrlWithRepliesForId(annotationId: string) {\n return `${this.getUrlForId(annotationId)}/replies`;\n }\n\n createAnnotation(\n fileId: string,\n fileVersionId: string,\n payload: NewAnnotation,\n permissions: BoxItemPermission,\n successCallback: (annotation: Annotation) => void,\n errorCallback: (e: ElementsXhrError, code: string) => void,\n ): void {\n this.errorCode = ERROR_CODE_CREATE_ANNOTATION;\n\n try {\n this.checkApiCallValidity(PERMISSION_CAN_CREATE_ANNOTATIONS, permissions, fileId);\n } catch (e) {\n errorCallback(e, this.errorCode);\n return;\n }\n\n const defaults = {\n description: {\n type: 'reply',\n },\n file_version: {\n id: fileVersionId,\n type: 'file_version',\n },\n status: 'open',\n type: 'annotation',\n };\n\n this.post({\n id: fileId,\n data: {\n data: merge(defaults, payload),\n },\n errorCallback,\n successCallback,\n url: this.getUrl(),\n });\n }\n\n updateAnnotation(\n fileId: string,\n annotationId: string,\n permissions: AnnotationPermission,\n payload: { message?: string, status?: AnnotationStatus },\n successCallback: (annotation: Annotation) => void,\n errorCallback: (e: ElementsXhrError, code: string) => void,\n ): void {\n this.errorCode = ERROR_CODE_EDIT_ANNOTATION;\n const { message, status } = payload;\n\n if (message) {\n try {\n this.checkApiCallValidity(PERMISSION_CAN_EDIT, permissions, fileId);\n } catch (e) {\n errorCallback(e, this.errorCode);\n return;\n }\n }\n\n if (status) {\n try {\n this.checkApiCallValidity(PERMISSION_CAN_RESOLVE, permissions, fileId);\n } catch (e) {\n errorCallback(e, this.errorCode);\n return;\n }\n }\n\n this.put({\n id: fileId,\n data: {\n data: {\n description: message ? { message } : undefined,\n status,\n },\n },\n errorCallback,\n successCallback,\n url: this.getUrlForId(annotationId),\n });\n }\n\n deleteAnnotation(\n fileId: string,\n annotationId: string,\n permissions: AnnotationPermission,\n successCallback: () => void,\n errorCallback: (e: ElementsXhrError, code: string) => void,\n ): void {\n this.errorCode = ERROR_CODE_DELETE_ANNOTATION;\n\n try {\n this.checkApiCallValidity(PERMISSION_CAN_DELETE, permissions, fileId);\n } catch (e) {\n errorCallback(e, this.errorCode);\n return;\n }\n\n this.delete({\n id: fileId,\n errorCallback,\n successCallback,\n url: this.getUrlForId(annotationId),\n });\n }\n\n getAnnotation(\n fileId: string,\n annotationId: string,\n permissions: BoxItemPermission,\n successCallback: (annotation: Annotation) => void,\n errorCallback: (e: ElementsXhrError, code: string) => void,\n shouldFetchReplies?: boolean,\n ): void {\n this.errorCode = ERROR_CODE_FETCH_ANNOTATION;\n\n try {\n this.checkApiCallValidity(PERMISSION_CAN_VIEW_ANNOTATIONS, permissions, fileId);\n } catch (e) {\n errorCallback(e, this.errorCode);\n return;\n }\n\n const requestData = shouldFetchReplies ? { params: { fields: 'replies' } } : undefined;\n\n this.get({\n id: fileId,\n errorCallback,\n successCallback,\n url: this.getUrlForId(annotationId),\n requestData,\n });\n }\n\n getAnnotations(\n fileId: string,\n fileVersionId?: string,\n permissions: BoxItemPermission,\n successCallback: (annotations: AnnotationsType) => void,\n errorCallback: (e: ElementsXhrError, code: string) => void,\n limit?: number,\n shouldFetchAll?: boolean,\n shouldFetchReplies?: boolean,\n ): void {\n this.errorCode = ERROR_CODE_FETCH_ANNOTATIONS;\n\n try {\n this.checkApiCallValidity(PERMISSION_CAN_VIEW_ANNOTATIONS, permissions, fileId);\n } catch (e) {\n errorCallback(e, this.errorCode);\n return;\n }\n\n const requestData = {\n file_id: fileId,\n file_version_id: fileVersionId,\n ...(shouldFetchReplies ? { fields: 'replies' } : null),\n };\n\n this.markerGet({\n id: fileId,\n errorCallback,\n limit,\n requestData,\n shouldFetchAll,\n successCallback,\n });\n }\n\n getAnnotationReplies(\n fileId: string,\n annotationId: string,\n permissions: BoxItemPermission,\n successCallback: (annotation: Annotation) => void,\n errorCallback: (e: ElementsXhrError, code: string) => void,\n ): void {\n this.errorCode = ERROR_CODE_FETCH_REPLIES;\n\n try {\n this.checkApiCallValidity(PERMISSION_CAN_VIEW_ANNOTATIONS, permissions, fileId);\n } catch (e) {\n errorCallback(e, this.errorCode);\n return;\n }\n\n this.get({\n id: fileId,\n errorCallback,\n successCallback,\n url: this.getUrlWithRepliesForId(annotationId),\n });\n }\n\n createAnnotationReply(\n fileId: string,\n annotationId: string,\n permissions: BoxItemPermission,\n message: string,\n successCallback: (annotation: Annotation) => void,\n errorCallback: (e: ElementsXhrError, code: string) => void,\n ): void {\n this.errorCode = ERROR_CODE_CREATE_REPLY;\n\n try {\n this.checkApiCallValidity(PERMISSION_CAN_CREATE_ANNOTATIONS, permissions, fileId);\n } catch (e) {\n errorCallback(e, this.errorCode);\n return;\n }\n\n this.post({\n id: fileId,\n data: { data: { message } },\n errorCallback,\n successCallback,\n url: this.getUrlWithRepliesForId(annotationId),\n });\n }\n}\n"],"file":"Annotations.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/api/Annotations.js"],"names":["merge","ERROR_CODE_CREATE_ANNOTATION","ERROR_CODE_CREATE_REPLY","ERROR_CODE_DELETE_ANNOTATION","ERROR_CODE_EDIT_ANNOTATION","ERROR_CODE_FETCH_ANNOTATION","ERROR_CODE_FETCH_ANNOTATIONS","ERROR_CODE_FETCH_REPLIES","PERMISSION_CAN_CREATE_ANNOTATIONS","PERMISSION_CAN_DELETE","PERMISSION_CAN_EDIT","PERMISSION_CAN_VIEW_ANNOTATIONS","PERMISSION_CAN_RESOLVE","MarkerBasedApi","formatComment","Annotations","data","isDestroyed","successCallback","entries","type","formatReplies","length","replies","map","annotations","annotation","getBaseApiUrl","annotationId","getUrl","getUrlForId","fileId","fileVersionId","payload","permissions","errorCallback","errorCode","checkApiCallValidity","e","defaults","description","file_version","id","post","url","message","status","put","undefined","delete","shouldFetchReplies","requestData","params","fields","get","limit","shouldFetchAll","file_id","file_version_id","markerGet","getUrlWithRepliesForId"],"mappings":"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","sourcesContent":["// @flow\nimport merge from 'lodash/merge';\nimport {\n ERROR_CODE_CREATE_ANNOTATION,\n ERROR_CODE_CREATE_REPLY,\n ERROR_CODE_DELETE_ANNOTATION,\n ERROR_CODE_EDIT_ANNOTATION,\n ERROR_CODE_FETCH_ANNOTATION,\n ERROR_CODE_FETCH_ANNOTATIONS,\n ERROR_CODE_FETCH_REPLIES,\n PERMISSION_CAN_CREATE_ANNOTATIONS,\n PERMISSION_CAN_DELETE,\n PERMISSION_CAN_EDIT,\n PERMISSION_CAN_VIEW_ANNOTATIONS,\n PERMISSION_CAN_RESOLVE,\n} from '../constants';\nimport MarkerBasedApi from './MarkerBasedAPI';\nimport { formatComment } from './utils';\n\nimport type {\n Annotation,\n AnnotationPermission,\n Annotations as AnnotationsType,\n NewAnnotation,\n} from '../common/types/annotations';\nimport type { BoxItemPermission } from '../common/types/core';\nimport type { ElementsXhrError } from '../common/types/api';\nimport type { Comment, FeedItemStatus, ThreadedComments } from '../common/types/feed';\n\nexport default class Annotations extends MarkerBasedApi {\n /**\n * Formats annotation replies' comment data for use in components.\n *\n * @param {Annotation} annotation - An individual annotation entry from the API\n * @return {Annotation} Updated annotation\n */\n formatReplies(annotation: Annotation): Annotation {\n if (!annotation.replies || !annotation.replies.length) {\n return annotation;\n }\n\n return {\n ...annotation,\n replies: annotation.replies.map(formatComment),\n };\n }\n\n /**\n * Formats the annotations api response to usable data\n * @param {Object} data the api response data\n */\n successHandler = (data: Object): void => {\n if (this.isDestroyed() || typeof this.successCallback !== 'function') {\n return;\n }\n\n // There is no response data when deleting an annotation\n if (!data) {\n this.successCallback();\n return;\n }\n\n // We don't have entries when updating/creating an annotation\n if (!data.entries) {\n // Check if the response is a comment (result of createAnnotationReply)\n if (data.type && data.type === 'comment') {\n this.successCallback(formatComment(data));\n return;\n }\n\n this.successCallback(this.formatReplies(data));\n return;\n }\n\n // Check if the response is the replies of an annotation (result of getAnnotationReplies)\n if (data.entries.length && data.entries[0].type === 'comment') {\n const replies = data.entries.map(formatComment);\n this.successCallback({ ...data, entries: replies });\n return;\n }\n\n const annotations = data.entries.map(this.formatReplies);\n this.successCallback({ ...data, entries: annotations });\n };\n\n getUrl() {\n return `${this.getBaseApiUrl()}/undoc/annotations`;\n }\n\n getUrlForId(annotationId: string) {\n return `${this.getUrl()}/${annotationId}`;\n }\n\n getUrlWithRepliesForId(annotationId: string) {\n return `${this.getUrlForId(annotationId)}/replies`;\n }\n\n createAnnotation(\n fileId: string,\n fileVersionId: string,\n payload: NewAnnotation,\n permissions: BoxItemPermission,\n successCallback: (annotation: Annotation) => void,\n errorCallback: (e: ElementsXhrError, code: string) => void,\n ): void {\n this.errorCode = ERROR_CODE_CREATE_ANNOTATION;\n\n try {\n this.checkApiCallValidity(PERMISSION_CAN_CREATE_ANNOTATIONS, permissions, fileId);\n } catch (e) {\n errorCallback(e, this.errorCode);\n return;\n }\n\n const defaults = {\n description: {\n type: 'reply',\n },\n file_version: {\n id: fileVersionId,\n type: 'file_version',\n },\n };\n\n this.post({\n id: fileId,\n data: {\n data: merge(defaults, payload),\n },\n errorCallback,\n successCallback,\n url: this.getUrl(),\n });\n }\n\n updateAnnotation(\n fileId: string,\n annotationId: string,\n permissions: AnnotationPermission,\n payload: { message?: string, status?: FeedItemStatus },\n successCallback: (annotation: Annotation) => void,\n errorCallback: (e: ElementsXhrError, code: string) => void,\n ): void {\n this.errorCode = ERROR_CODE_EDIT_ANNOTATION;\n const { message, status } = payload;\n\n if (message) {\n try {\n this.checkApiCallValidity(PERMISSION_CAN_EDIT, permissions, fileId);\n } catch (e) {\n errorCallback(e, this.errorCode);\n return;\n }\n }\n\n if (status) {\n try {\n this.checkApiCallValidity(PERMISSION_CAN_RESOLVE, permissions, fileId);\n } catch (e) {\n errorCallback(e, this.errorCode);\n return;\n }\n }\n\n this.put({\n id: fileId,\n data: {\n data: {\n description: message ? { message } : undefined,\n status,\n },\n },\n errorCallback,\n successCallback,\n url: this.getUrlForId(annotationId),\n });\n }\n\n deleteAnnotation(\n fileId: string,\n annotationId: string,\n permissions: AnnotationPermission,\n successCallback: () => void,\n errorCallback: (e: ElementsXhrError, code: string) => void,\n ): void {\n this.errorCode = ERROR_CODE_DELETE_ANNOTATION;\n\n try {\n this.checkApiCallValidity(PERMISSION_CAN_DELETE, permissions, fileId);\n } catch (e) {\n errorCallback(e, this.errorCode);\n return;\n }\n\n this.delete({\n id: fileId,\n errorCallback,\n successCallback,\n url: this.getUrlForId(annotationId),\n });\n }\n\n getAnnotation(\n fileId: string,\n annotationId: string,\n permissions: BoxItemPermission,\n successCallback: (annotation: Annotation) => void,\n errorCallback: (e: ElementsXhrError, code: string) => void,\n shouldFetchReplies?: boolean,\n ): void {\n this.errorCode = ERROR_CODE_FETCH_ANNOTATION;\n\n try {\n this.checkApiCallValidity(PERMISSION_CAN_VIEW_ANNOTATIONS, permissions, fileId);\n } catch (e) {\n errorCallback(e, this.errorCode);\n return;\n }\n\n const requestData = shouldFetchReplies ? { params: { fields: 'replies' } } : undefined;\n\n this.get({\n id: fileId,\n errorCallback,\n successCallback,\n url: this.getUrlForId(annotationId),\n requestData,\n });\n }\n\n getAnnotations(\n fileId: string,\n fileVersionId?: string,\n permissions: BoxItemPermission,\n successCallback: (annotations: AnnotationsType) => void,\n errorCallback: (e: ElementsXhrError, code: string) => void,\n limit?: number,\n shouldFetchAll?: boolean,\n shouldFetchReplies?: boolean,\n ): void {\n this.errorCode = ERROR_CODE_FETCH_ANNOTATIONS;\n\n try {\n this.checkApiCallValidity(PERMISSION_CAN_VIEW_ANNOTATIONS, permissions, fileId);\n } catch (e) {\n errorCallback(e, this.errorCode);\n return;\n }\n\n const requestData = {\n file_id: fileId,\n file_version_id: fileVersionId,\n ...(shouldFetchReplies ? { fields: 'replies' } : null),\n };\n\n this.markerGet({\n id: fileId,\n errorCallback,\n limit,\n requestData,\n shouldFetchAll,\n successCallback,\n });\n }\n\n getAnnotationReplies(\n fileId: string,\n annotationId: string,\n permissions: BoxItemPermission,\n successCallback: (comments: ThreadedComments) => void,\n errorCallback: (e: ElementsXhrError, code: string) => void,\n ): void {\n this.errorCode = ERROR_CODE_FETCH_REPLIES;\n\n try {\n this.checkApiCallValidity(PERMISSION_CAN_VIEW_ANNOTATIONS, permissions, fileId);\n } catch (e) {\n errorCallback(e, this.errorCode);\n return;\n }\n\n this.get({\n id: fileId,\n errorCallback,\n successCallback,\n url: this.getUrlWithRepliesForId(annotationId),\n });\n }\n\n createAnnotationReply(\n fileId: string,\n annotationId: string,\n permissions: BoxItemPermission,\n message: string,\n successCallback: (comment: Comment) => void,\n errorCallback: (e: ElementsXhrError, code: string) => void,\n ): void {\n this.errorCode = ERROR_CODE_CREATE_REPLY;\n\n try {\n this.checkApiCallValidity(PERMISSION_CAN_CREATE_ANNOTATIONS, permissions, fileId);\n } catch (e) {\n errorCallback(e, this.errorCode);\n return;\n }\n\n this.post({\n id: fileId,\n data: { data: { message } },\n errorCallback,\n successCallback,\n url: this.getUrlWithRepliesForId(annotationId),\n });\n }\n}\n"],"file":"Annotations.js"}
|
package/es/api/Comments.js
CHANGED
|
@@ -184,7 +184,7 @@ function (_OffsetBasedAPI) {
|
|
|
184
184
|
* @param {BoxItem} file - File object for which we are updating a comment
|
|
185
185
|
* @param {string} commentId - Comment to be edited
|
|
186
186
|
* @param {string} message - Comment message
|
|
187
|
-
* @param {
|
|
187
|
+
* @param {BoxCommentPermission} permissions - The known permissions of the comment we're updating
|
|
188
188
|
* @param {Function} successCallback - Success callback
|
|
189
189
|
* @param {Function} errorCallback - Error callback
|
|
190
190
|
* @return {void}
|
|
@@ -230,7 +230,7 @@ function (_OffsetBasedAPI) {
|
|
|
230
230
|
*
|
|
231
231
|
* @param {BoxItem} file - File object for which we are deleting a comment
|
|
232
232
|
* @param {string} commentId - Id of the comment we are deleting
|
|
233
|
-
* @param {
|
|
233
|
+
* @param {BoxCommentPermission} permissions - The known permissions of the comment we're deleting
|
|
234
234
|
* @param {Function} successCallback - Success callback
|
|
235
235
|
* @param {Function} errorCallback - Error callback
|
|
236
236
|
* @return {void}
|
package/es/api/Comments.js.flow
CHANGED
|
@@ -17,6 +17,7 @@ import {
|
|
|
17
17
|
} from '../constants';
|
|
18
18
|
import type { ElementsXhrError, ElementsErrorCallback } from '../common/types/api';
|
|
19
19
|
import type { BoxItem, BoxItemPermission } from '../common/types/core';
|
|
20
|
+
import type { BoxCommentPermission } from '../common/types/feed';
|
|
20
21
|
|
|
21
22
|
class Comments extends OffsetBasedAPI {
|
|
22
23
|
/**
|
|
@@ -144,7 +145,7 @@ class Comments extends OffsetBasedAPI {
|
|
|
144
145
|
* @param {BoxItem} file - File object for which we are updating a comment
|
|
145
146
|
* @param {string} commentId - Comment to be edited
|
|
146
147
|
* @param {string} message - Comment message
|
|
147
|
-
* @param {
|
|
148
|
+
* @param {BoxCommentPermission} permissions - The known permissions of the comment we're updating
|
|
148
149
|
* @param {Function} successCallback - Success callback
|
|
149
150
|
* @param {Function} errorCallback - Error callback
|
|
150
151
|
* @return {void}
|
|
@@ -162,7 +163,7 @@ class Comments extends OffsetBasedAPI {
|
|
|
162
163
|
errorCallback: ElementsErrorCallback,
|
|
163
164
|
file: BoxItem,
|
|
164
165
|
message: string,
|
|
165
|
-
permissions:
|
|
166
|
+
permissions: BoxCommentPermission,
|
|
166
167
|
successCallback: Function,
|
|
167
168
|
tagged_message?: string,
|
|
168
169
|
}): void {
|
|
@@ -194,7 +195,7 @@ class Comments extends OffsetBasedAPI {
|
|
|
194
195
|
*
|
|
195
196
|
* @param {BoxItem} file - File object for which we are deleting a comment
|
|
196
197
|
* @param {string} commentId - Id of the comment we are deleting
|
|
197
|
-
* @param {
|
|
198
|
+
* @param {BoxCommentPermission} permissions - The known permissions of the comment we're deleting
|
|
198
199
|
* @param {Function} successCallback - Success callback
|
|
199
200
|
* @param {Function} errorCallback - Error callback
|
|
200
201
|
* @return {void}
|
|
@@ -209,7 +210,7 @@ class Comments extends OffsetBasedAPI {
|
|
|
209
210
|
commentId: string,
|
|
210
211
|
errorCallback: ElementsErrorCallback,
|
|
211
212
|
file: BoxItem,
|
|
212
|
-
permissions:
|
|
213
|
+
permissions: BoxCommentPermission,
|
|
213
214
|
successCallback: Function,
|
|
214
215
|
}): void {
|
|
215
216
|
this.errorCode = ERROR_CODE_DELETE_COMMENT;
|