aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbobzel <zzzman@gmail.com>2021-03-20 00:50:26 -0400
committerbobzel <zzzman@gmail.com>2021-03-20 00:50:26 -0400
commit05e562534763d1c15218ef82b6cb8e8d9bba35b1 (patch)
treed60921b34179dd6bd56414bcc4036d6c675d28a5 /src
parent54c8424a1e8999a2f3a82e3463671ddf2a3c84f6 (diff)
cleaned up warnings. fixed webBox annotations to write to correct key so that they appear on startup.
Diffstat (limited to 'src')
-rw-r--r--src/client/documents/Documents.ts2
-rw-r--r--src/client/views/MarqueeAnnotator.tsx1
-rw-r--r--src/client/views/SidebarAnnos.tsx7
-rw-r--r--src/client/views/collections/CollectionPileView.tsx2
-rw-r--r--src/client/views/collections/CollectionStackingViewFieldColumn.tsx3
-rw-r--r--src/client/views/nodes/PresBox.tsx4
-rw-r--r--src/client/views/nodes/WebBox.tsx9
-rw-r--r--src/client/views/nodes/formattedText/FormattedTextBox.tsx6
-rw-r--r--src/fields/util.ts2
9 files changed, 20 insertions, 16 deletions
diff --git a/src/client/documents/Documents.ts b/src/client/documents/Documents.ts
index 366275b6e..e7252c015 100644
--- a/src/client/documents/Documents.ts
+++ b/src/client/documents/Documents.ts
@@ -661,7 +661,7 @@ export namespace Docs {
// so that the list of annotations is already initialised, prevents issues in addonly.
// without this, if a doc has no annotations but the user has AddOnly privileges, they won't be able to add an annotation because they would have needed to create the field's list which they don't have permissions to do.
dataProps[fieldKey + "-annotations"] = new List<Doc>();
- const dataDoc = Doc.assign(Doc.MakeDelegate(proto, protoId), dataProps as any, undefined, true);
+ const dataDoc = Doc.assign(Doc.MakeDelegate(proto, protoId), dataProps, undefined, true);
viewProps.author = Doc.CurrentUserEmail;
viewProps["acl-Override"] = "None";
diff --git a/src/client/views/MarqueeAnnotator.tsx b/src/client/views/MarqueeAnnotator.tsx
index f15287788..efdf7f9f5 100644
--- a/src/client/views/MarqueeAnnotator.tsx
+++ b/src/client/views/MarqueeAnnotator.tsx
@@ -186,7 +186,6 @@ export class MarqueeAnnotator extends React.Component<MarqueeAnnotatorProps> {
}
onSelectEnd = (e: PointerEvent) => {
- console.log("Scaling = " + this.props.iframeScaling?.() + " " + this.props.scaling?.())
const mainRect = this.props.mainCont.getBoundingClientRect();
const cliX = e.clientX * (this.props.iframeScaling?.() || 1) + (this.props.iframe ? mainRect.left : 0);
const cliY = e.clientY * (this.props.iframeScaling?.() || 1) + (this.props.iframe ? mainRect.top : 0);
diff --git a/src/client/views/SidebarAnnos.tsx b/src/client/views/SidebarAnnos.tsx
index c201fc2c2..f3cc30389 100644
--- a/src/client/views/SidebarAnnos.tsx
+++ b/src/client/views/SidebarAnnos.tsx
@@ -16,7 +16,7 @@ import "./SidebarAnnos.scss";
import { StyleProp } from './StyleProvider';
import React = require("react");
-interface extraProps {
+interface ExtraProps {
fieldKey: string;
layoutDoc: Doc;
rootDoc: Doc;
@@ -29,7 +29,7 @@ interface extraProps {
moveDocument: (doc: Doc | Doc[], targetCollection: Doc | undefined, addDocument: (doc: Doc | Doc[]) => boolean, annotationKey?: string) => boolean;
}
@observer
-export class SidebarAnnos extends React.Component<FieldViewProps & extraProps> {
+export class SidebarAnnos extends React.Component<FieldViewProps & ExtraProps> {
_stackRef = React.createRef<CollectionStackingView>();
@computed get allHashtags() {
const keys = new Set<string>();
@@ -79,7 +79,8 @@ export class SidebarAnnos extends React.Component<FieldViewProps & extraProps> {
onClick={e => Doc.setDocFilter(this.props.rootDoc, tag, tag, "check", true, this.sidebarKey(), e.shiftKey)}>
{tag}
</div>;
- }
+ };
+ console.log(this.props.dataDoc.title, this.sidebarKey(), this.props.dataDoc[this.sidebarKey()])
return !this.props.layoutDoc._showSidebar ? (null) :
<div style={{
position: "absolute", pointerEvents: this.props.active() ? "all" : undefined, top: 0, right: 0,
diff --git a/src/client/views/collections/CollectionPileView.tsx b/src/client/views/collections/CollectionPileView.tsx
index e57647181..6f6cdd5d2 100644
--- a/src/client/views/collections/CollectionPileView.tsx
+++ b/src/client/views/collections/CollectionPileView.tsx
@@ -20,7 +20,7 @@ export class CollectionPileView extends CollectionSubView(doc => doc) {
if (this.layoutEngine() !== "pass" && this.layoutEngine() !== "starburst") {
this.Document._pileLayoutEngine = "pass";
}
- this._originalChrome = this.layoutDoc._chromeHidden
+ this._originalChrome = this.layoutDoc._chromeHidden;
this.layoutDoc._chromeHidden = true;
}
componentWillUnmount() {
diff --git a/src/client/views/collections/CollectionStackingViewFieldColumn.tsx b/src/client/views/collections/CollectionStackingViewFieldColumn.tsx
index caf4c59c1..bee7aeb87 100644
--- a/src/client/views/collections/CollectionStackingViewFieldColumn.tsx
+++ b/src/client/views/collections/CollectionStackingViewFieldColumn.tsx
@@ -166,7 +166,8 @@ export class CollectionStackingViewFieldColumn extends React.Component<CSVFieldC
<div className="colorOptions">
{colors.map(col => {
const palette = PastelSchemaPalette.get(col);
- return <div className={"colorPicker" + (selected === palette ? " active" : "")} style={{ backgroundColor: palette }} onClick={() => this.changeColumnColor(palette!)} />
+ return <div className={"colorPicker" + (selected === palette ? " active" : "")}
+ style={{ backgroundColor: palette }} onClick={() => this.changeColumnColor(palette!)} />;
})}
</div>
</div>;
diff --git a/src/client/views/nodes/PresBox.tsx b/src/client/views/nodes/PresBox.tsx
index 88406b181..6da215c5f 100644
--- a/src/client/views/nodes/PresBox.tsx
+++ b/src/client/views/nodes/PresBox.tsx
@@ -13,7 +13,7 @@ import { PrefetchProxy } from "../../../fields/Proxy";
import { listSpec, makeInterface } from "../../../fields/Schema";
import { ScriptField } from "../../../fields/ScriptField";
import { BoolCast, Cast, NumCast, StrCast } from "../../../fields/Types";
-import { returnFalse, returnOne, returnTrue } from '../../../Utils';
+import { returnFalse, returnOne, returnTrue, emptyFunction } from '../../../Utils';
import { Docs } from "../../documents/Documents";
import { DocumentType } from "../../documents/DocumentTypes";
import { CurrentUserUtils } from "../../util/CurrentUserUtils";
@@ -423,7 +423,7 @@ export class PresBox extends ViewBoxBaseComponent<FieldViewProps, PresBoxSchema>
// this still needs some fixing
setTimeout(resetSelection, 500);
if (doc !== targetDoc) {
- setTimeout(() => finished?.(), 100); /// give it some time to create the targetDoc if we're opening up its context
+ setTimeout(finished ?? emptyFunction, 100); /// give it some time to create the targetDoc if we're opening up its context
} else {
finished?.();
}
diff --git a/src/client/views/nodes/WebBox.tsx b/src/client/views/nodes/WebBox.tsx
index b6dd66194..81810fbd1 100644
--- a/src/client/views/nodes/WebBox.tsx
+++ b/src/client/views/nodes/WebBox.tsx
@@ -72,13 +72,15 @@ export class WebBox extends ViewBoxAnnotatableComponent<FieldViewProps, WebDocum
if (this.layoutDoc[this.fieldKey + "-contentWidth"] === undefined) {
this.layoutDoc[this.fieldKey + "-contentWidth"] = Doc.NativeWidth(this.layoutDoc);
}
- this._annotationKey = "annotations-" + this.urlHash(this._url);
}
async componentDidMount() {
this.props.setContentView?.(this); // this tells the DocumentView that this AudioBox is the "content" of the document. this allows the DocumentView to indirectly call getAnchor() on the AudioBox when making a link.
- runInAction(() => this._url = this.webField?.toString() || "");
+ runInAction(() => {
+ this._url = this.webField?.toString() || "";
+ this._annotationKey = "annotations-" + this.urlHash(this._url);
+ });
this._disposers.selection = reaction(() => this.props.isSelected(),
selected => !selected && setTimeout(() => {
@@ -307,7 +309,8 @@ export class WebBox extends ViewBoxAnnotatableComponent<FieldViewProps, WebDocum
return false;
}
- urlHash(s: string) {
+ urlHash = (s: string) => {
+ console.log("Hash: " + s + "=" + this._url + " => " + s.split('').reduce((a: any, b: any) => { a = ((a << 5) - a) + b.charCodeAt(0); return a & a; }, 0))
return s.split('').reduce((a: any, b: any) => { a = ((a << 5) - a) + b.charCodeAt(0); return a & a; }, 0);
}
diff --git a/src/client/views/nodes/formattedText/FormattedTextBox.tsx b/src/client/views/nodes/formattedText/FormattedTextBox.tsx
index e83891e42..b51b4b3c3 100644
--- a/src/client/views/nodes/formattedText/FormattedTextBox.tsx
+++ b/src/client/views/nodes/formattedText/FormattedTextBox.tsx
@@ -250,10 +250,10 @@ export class FormattedTextBox extends ViewBoxAnnotatableComponent<(FieldViewProp
json?.replace(/"selection":.*/, "") : json?.replace(/"selection":"\"storedMarks\""/, "\"storedMarks\"");
if (effectiveAcl === AclEdit || effectiveAcl === AclAdmin) {
- const accumTags = [] as string[]
+ const accumTags = [] as string[];
state.tr.doc.nodesBetween(0, state.doc.content.size, (node: any, pos: number, parent: any) => {
if (node.type === schema.nodes.dashField && node.attrs.fieldKey.startsWith("#")) {
- accumTags.push(node.attrs.fieldKey)
+ accumTags.push(node.attrs.fieldKey);
}
});
const curTags = Object.keys(this.dataDoc).filter(key => key.startsWith("#"));
@@ -1251,7 +1251,7 @@ export class FormattedTextBox extends ViewBoxAnnotatableComponent<(FieldViewProp
return;
}
if (this.props.isSelected(true)) { // if text box is selected, then it consumes all click events
- (e.nativeEvent as any).formattedHandled = true
+ (e.nativeEvent as any).formattedHandled = true;
if (this.ProseRef?.children[0] !== e.nativeEvent.target) e.stopPropagation(); // if you double click on text, then it will be selected instead of sending a double click to DocumentView & opening a lightbox. Also,if a text box has isLinkButton, this will prevent link following if you've selected the document to edit it.
// e.stopPropagation(); // bcz: not sure why this was here. We need to allow the DocumentView to get clicks to process doubleClicks (see above comment)
this.hitBulletTargets(e.clientX, e.clientY, !this._editorView?.state.selection.empty || this._forceUncollapse, false, this._forceDownNode, e.shiftKey);
diff --git a/src/fields/util.ts b/src/fields/util.ts
index 3e0a314ef..631cb7160 100644
--- a/src/fields/util.ts
+++ b/src/fields/util.ts
@@ -100,7 +100,7 @@ const _setterImpl = action(function (target: any, prop: string | symbol | number
redo: () => receiver[prop] = value,
undo: () => {
// console.log("Undo: " + prop + " = " + curValue); // bcz: uncomment to log undo
- receiver[prop] = curValue
+ receiver[prop] = curValue;
}
});
return true;