Websocket Support (#937)
* Atom / RSS meta link * Spike * Feeling good about this spike now * Remove document.collection * Remove koa.ctx from all presenters to make them portable outside requests * Remove full serialized model from events Move events.add to controllers for now, will eventually be in commands * collections.create event parentDocument -> parentDocumentId * Fix up deprecated tests * Fixed: Doc creation * documents.move * Handle collection deleted * 💚 * Authorize room join requests * Move starred data structure Account for documents with no context on sockets * Add socket.io-redis * Add WEBSOCKETS_ENABLED env variable to disable websockets entirely for self hosted New installations will default to true, existing installations to false * 💚 No need for promise response here * Reload notice
This commit is contained in:
@@ -65,6 +65,7 @@ class CollectionLink extends React.Component<Props> {
|
||||
<DocumentLink
|
||||
key={document.id}
|
||||
document={document}
|
||||
collection={collection}
|
||||
activeDocument={activeDocument}
|
||||
prefetchDocument={prefetchDocument}
|
||||
depth={1.5}
|
||||
|
||||
@@ -34,10 +34,10 @@ class Collections extends React.Component<Props> {
|
||||
|
||||
@keydown('n')
|
||||
goToNewDocument() {
|
||||
const activeCollection = this.props.collections.active;
|
||||
if (!activeCollection) return;
|
||||
const { activeCollectionId } = this.props.ui;
|
||||
if (!activeCollectionId) return;
|
||||
|
||||
this.props.history.push(newDocumentUrl(activeCollection));
|
||||
this.props.history.push(newDocumentUrl(activeCollectionId));
|
||||
}
|
||||
|
||||
render() {
|
||||
|
||||
@@ -5,11 +5,13 @@ import styled from 'styled-components';
|
||||
import Document from 'models/Document';
|
||||
import SidebarLink from './SidebarLink';
|
||||
import DropToImport from 'components/DropToImport';
|
||||
import Collection from 'models/Collection';
|
||||
import Flex from 'shared/components/Flex';
|
||||
import { type NavigationNode } from 'types';
|
||||
|
||||
type Props = {
|
||||
document: NavigationNode,
|
||||
collection?: Collection,
|
||||
activeDocument: ?Document,
|
||||
activeDocumentRef?: (?HTMLElement) => *,
|
||||
prefetchDocument: (documentId: string) => Promise<void>,
|
||||
@@ -29,6 +31,7 @@ class DocumentLink extends React.Component<Props> {
|
||||
render() {
|
||||
const {
|
||||
document,
|
||||
collection,
|
||||
activeDocument,
|
||||
activeDocumentRef,
|
||||
prefetchDocument,
|
||||
@@ -39,7 +42,9 @@ class DocumentLink extends React.Component<Props> {
|
||||
activeDocument && activeDocument.id === document.id;
|
||||
const showChildren = !!(
|
||||
activeDocument &&
|
||||
(activeDocument.pathToDocument
|
||||
collection &&
|
||||
(collection
|
||||
.pathToDocument(activeDocument)
|
||||
.map(entry => entry.id)
|
||||
.includes(document.id) ||
|
||||
isActiveDocument)
|
||||
@@ -69,6 +74,7 @@ class DocumentLink extends React.Component<Props> {
|
||||
{document.children.map(childDocument => (
|
||||
<DocumentLink
|
||||
key={childDocument.id}
|
||||
collection={collection}
|
||||
document={childDocument}
|
||||
activeDocument={activeDocument}
|
||||
prefetchDocument={prefetchDocument}
|
||||
|
||||
Reference in New Issue
Block a user