From 659da12d9f3fe1d57a55dbb5a44ad30d03337aae Mon Sep 17 00:00:00 2001 From: Bob Zeleznik Date: Fri, 26 Jun 2020 16:40:24 -0400 Subject: updated pdfjs. fixed position of blue dot for pdfs. enabled fixed --- package.json | 113 ++++++++++++++++++++++++++++++----------------------------- 1 file changed, 57 insertions(+), 56 deletions(-) (limited to 'package.json') diff --git a/package.json b/package.json index 096c26cd0..79c33bd99 100644 --- a/package.json +++ b/package.json @@ -23,66 +23,66 @@ "@types/archiver": "^3.0.0", "@types/async": "^2.4.1", "@types/bcrypt-nodejs": "0.0.30", - "@types/bluebird": "^3.5.29", + "@types/bluebird": "^3.5.32", "@types/body-parser": "^1.17.1", "@types/chai": "^4.2.7", "@types/color": "^3.0.1", "@types/connect-flash": "0.0.34", "@types/cookie-parser": "^1.4.2", - "@types/cookie-session": "^2.0.36", + "@types/cookie-session": "^2.0.41", "@types/dotenv": "^6.1.1", - "@types/exif": "^0.6.0", + "@types/exif": "^0.6.1", "@types/express": "^4.17.2", "@types/express-flash": "0.0.0", "@types/express-session": "^1.15.16", "@types/express-validator": "^3.0.0", "@types/formidable": "^1.0.31", - "@types/google-maps-react": "^2.0.4", - "@types/jquery": "^3.3.31", + "@types/google-maps-react": "^2.0.5", + "@types/jquery": "^3.5.0", "@types/libxmljs": "^0.18.5", - "@types/lodash": "^4.14.149", + "@types/lodash": "^4.14.157", "@types/mobile-detect": "^1.3.4", "@types/mocha": "^5.2.6", - "@types/mongodb": "^3.3.14", - "@types/mongoose": "^5.5.43", - "@types/node": "^10.17.13", + "@types/mongodb": "^3.5.25", + "@types/mongoose": "^5.7.28", + "@types/node": "^10.17.26", "@types/nodemailer": "^4.6.6", "@types/passport": "^1.0.2", "@types/passport-google-oauth20": "^2.0.3", "@types/passport-local": "^1.0.33", - "@types/pdfjs-dist": "^2.1.3", + "@types/pdfjs-dist": "^2.1.4", "@types/prosemirror-commands": "^1.0.1", "@types/prosemirror-history": "^1.0.1", "@types/prosemirror-inputrules": "^1.0.2", - "@types/prosemirror-keymap": "^1.0.1", - "@types/prosemirror-menu": "^1.0.1", + "@types/prosemirror-keymap": "^1.0.2", + "@types/prosemirror-menu": "^1.0.2", "@types/prosemirror-model": "^1.7.0", "@types/prosemirror-schema-list": "^1.0.1", - "@types/prosemirror-state": "^1.2.3", + "@types/prosemirror-state": "^1.2.4", "@types/prosemirror-transform": "^1.1.1", "@types/prosemirror-view": "^1.11.2", - "@types/puppeteer": "^2.1.0", + "@types/puppeteer": "^2.1.1", "@types/rc-switch": "^1.9.0", - "@types/react": "^16.9.19", - "@types/react-autosuggest": "^9.3.13", - "@types/react-color": "^2.17.3", - "@types/react-dom": "^16.9.5", + "@types/react": "^16.9.41", + "@types/react-autosuggest": "^9.3.14", + "@types/react-color": "^2.17.4", + "@types/react-dom": "^16.9.8", "@types/react-grid-layout": "^0.17.1", "@types/react-measure": "^2.0.6", "@types/react-table": "^6.8.6", - "@types/request": "^2.48.4", + "@types/request": "^2.48.5", "@types/request-promise": "^4.1.45", "@types/rimraf": "^2.0.3", "@types/sharp": "^0.23.1", - "@types/shelljs": "^0.8.6", - "@types/socket.io": "^2.1.4", - "@types/socket.io-client": "^1.4.32", + "@types/shelljs": "^0.8.8", + "@types/socket.io": "^2.1.8", + "@types/socket.io-client": "^1.4.33", "@types/typescript": "^2.0.0", "@types/uuid": "^3.4.6", "@types/valid-url": "^1.0.3", - "@types/webpack": "^4.41.3", - "@types/webpack-dev-middleware": "^2.0.2", - "@types/webpack-hot-middleware": "^2.25.0", + "@types/webpack": "^4.41.18", + "@types/webpack-dev-middleware": "^2.0.5", + "@types/webpack-hot-middleware": "^2.25.3", "@types/xregexp": "^4.3.0", "@types/youtube": "0.0.39", "awesome-typescript-loader": "^5.2.1", @@ -100,27 +100,27 @@ "style-loader": "^0.23.1", "ts-loader": "^5.3.3", "ts-node": "^7.0.1", - "ts-node-dev": "^1.0.0-pre.44", + "ts-node-dev": "^1.0.0-pre.49", "tslint": "^5.20.1", "tslint-loader": "^3.6.0", - "typescript": "^3.7.5", + "typescript": "^3.9.5", "webpack": "^4.41.5", - "webpack-cli": "^3.3.10", + "webpack-cli": "^3.3.12", "webpack-dev-middleware": "^3.7.2", - "webpack-dev-server": "^3.10.1", + "webpack-dev-server": "^3.11.0", "webpack-hot-middleware": "^2.24.3" }, "dependencies": { - "@fortawesome/fontawesome-svg-core": "^1.2.26", - "@fortawesome/free-regular-svg-icons": "^5.12.0", - "@fortawesome/free-solid-svg-icons": "^5.12.0", - "@fortawesome/react-fontawesome": "^0.1.8", - "@hig/flyout": "^1.2.0", + "@fortawesome/fontawesome-svg-core": "^1.2.29", + "@fortawesome/free-regular-svg-icons": "^5.13.1", + "@fortawesome/free-solid-svg-icons": "^5.13.1", + "@fortawesome/react-fontawesome": "^0.1.11", + "@hig/flyout": "^1.2.1", "@hig/theme-context": "^2.1.3", - "@hig/theme-data": "^2.13.0", + "@hig/theme-data": "^2.16.1", "@types/webscopeio__react-textarea-autocomplete": "^4.6.1", - "@webscopeio/react-textarea-autocomplete": "^4.6.3", - "adm-zip": "^0.4.13", + "@webscopeio/react-textarea-autocomplete": "^4.7.0", + "adm-zip": "^0.4.16", "archiver": "^3.1.1", "array-batcher": "^1.2.3", "async": "^2.6.2", @@ -129,7 +129,7 @@ "bezier-curve": "^1.0.0", "bluebird": "^3.7.2", "body-parser": "^1.18.3", - "bootstrap": "^4.4.1", + "bootstrap": "^4.5.0", "canvas": "^2.5.0", "child_process": "^1.0.2", "chrome": "^0.1.0", @@ -150,14 +150,14 @@ "expressjs": "^1.0.1", "find-in-files": "^0.5.0", "fit-curve": "^0.1.7", - "flexlayout-react": "^0.3.3", + "flexlayout-react": "^0.3.11", "formidable": "^1.2.1", "golden-layout": "^1.5.9", "google-auth-library": "^4.2.4", "google-maps-react": "^2.0.6", "googleapis": "^40.0.0", "googlephotos": "^0.2.5", - "howler": "^2.1.3", + "howler": "^2.2.0", "html-to-image": "^0.1.0", "html-to-text": "^5.1.1", "i": "^0.3.6", @@ -172,46 +172,47 @@ "mobx": "^5.15.3", "mobx-react": "^5.3.5", "mobx-react-devtools": "^6.1.1", - "mobx-utils": "^5.5.3", - "mongodb": "^3.5.2", - "mongoose": "^5.8.9", + "mobx-utils": "^5.6.1", + "mongodb": "^3.5.9", + "mongoose": "^5.9.20", "node-sass": "^4.14.1", - "node-stream-zip": "^1.9.1", + "node-stream-zip": "^1.11.2", "nodemailer": "^5.1.1", "nodemon": "^1.19.4", "normalize.css": "^8.0.1", - "npm": "^6.14.4", + "npm": "^6.14.5", "p-limit": "^2.2.0", "passport": "^0.4.0", "passport-google-oauth20": "^2.0.0", "passport-local": "^1.0.0", "pdf-parse": "^1.1.1", - "pdfjs-dist": "^2.3.200", + "pdfjs": "^2.3.9", + "pdfjs-dist": "^2.4.456", "probe-image-size": "^4.0.0", "prosemirror-commands": "^1.1.3", - "prosemirror-dev-tools": "^3.0.0", + "prosemirror-dev-tools": "^3.0.1", "prosemirror-find-replace": "^0.9.0", "prosemirror-history": "^1.1.3", "prosemirror-inputrules": "^1.1.2", - "prosemirror-keymap": "^1.1.3", - "prosemirror-model": "^1.9.1", + "prosemirror-keymap": "^1.1.4", + "prosemirror-model": "^1.10.0", "prosemirror-schema-list": "^1.1.2", "prosemirror-state": "^1.3.2", - "prosemirror-transform": "^1.2.3", - "prosemirror-view": "^1.13.8", + "prosemirror-transform": "^1.2.6", + "prosemirror-view": "^1.15.0", "pug": "^2.0.4", - "puppeteer": "^3.1.0", - "query-string": "^6.10.1", + "puppeteer": "^3.3.0", + "query-string": "^6.13.1", "raw-loader": "^1.0.0", "rc-switch": "^1.9.0", "react": "^16.12.0", "react-autosuggest": "^9.4.3", - "react-color": "^2.18.0", + "react-color": "^2.18.1", "react-compound-slider": "^2.5.0", "react-dom": "^16.12.0", "react-grid-layout": "^0.18.3", "react-image-lightbox-with-rotate": "^5.1.1", - "react-jsx-parser": "^1.21.0", + "react-jsx-parser": "^1.25.1", "react-measure": "^2.2.4", "react-resizable": "^1.10.1", "react-table": "^6.11.5", @@ -233,7 +234,7 @@ "uuid": "^3.4.0", "valid-url": "^1.0.9", "web-request": "^1.0.7", - "webrtc-adapter": "^7.3.0", + "webrtc-adapter": "^7.6.3", "wikijs": "^6.0.1", "words-to-numbers": "^1.5.1", "xoauth2": "^1.2.0", -- cgit v1.2.3-70-g09d2 From 99d2b19dba130353ac3b021bc7eab079bb125408 Mon Sep 17 00:00:00 2001 From: Bob Zeleznik Date: Sat, 27 Jun 2020 02:21:24 -0400 Subject: fixed icon button of document deoratins. cleaned up several compile errors and warnings --- package-lock.json | 57 ++++++++++------------ package.json | 1 + src/client/documents/Documents.ts | 17 ++----- src/client/util/LinkManager.ts | 2 +- src/client/views/DocumentButtonBar.tsx | 2 +- src/client/views/DocumentDecorations.scss | 9 ++-- src/client/views/DocumentDecorations.tsx | 7 +-- src/client/views/nodes/DocumentView.tsx | 2 +- src/client/views/nodes/LinkDocPreview.tsx | 4 +- .../formattedText/ProsemirrorExampleTransfer.ts | 2 +- src/fields/List.ts | 7 +-- src/fields/ObjectField.ts | 4 +- src/fields/Schema.ts | 5 +- 13 files changed, 55 insertions(+), 64 deletions(-) (limited to 'package.json') diff --git a/package-lock.json b/package-lock.json index 67d572ee2..928c59df4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -637,6 +637,14 @@ "@types/node": "*" } }, + "@types/google-maps": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@types/google-maps/-/google-maps-3.2.2.tgz", + "integrity": "sha512-/XPVfS28VzUdE/HlmBRoe5ii1nNMyWujyRfRY08bD/JgmPlWSiY8enB2dqTe9mlc3kULq7LfFa1wcupM+lQfqA==", + "requires": { + "@types/googlemaps": "*" + } + }, "@types/google-maps-react": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/@types/google-maps-react/-/google-maps-react-2.0.5.tgz", @@ -646,6 +654,11 @@ "google-maps-react": "*" } }, + "@types/googlemaps": { + "version": "3.39.8", + "resolved": "https://registry.npmjs.org/@types/googlemaps/-/googlemaps-3.39.8.tgz", + "integrity": "sha512-z03u79t1v8QIktoUXypWD06Fzl499/hA162hurA+eCDlWXxFynuU+hMZIaferILF5Gzr4PMX1ShHszT666sUHQ==" + }, "@types/jquery": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.0.tgz", @@ -2922,8 +2935,7 @@ }, "ansi-regex": { "version": "2.1.1", - "bundled": true, - "optional": true + "bundled": true }, "aproba": { "version": "1.2.0", @@ -2941,13 +2953,11 @@ }, "balanced-match": { "version": "1.0.0", - "bundled": true, - "optional": true + "bundled": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, - "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -2960,18 +2970,15 @@ }, "code-point-at": { "version": "1.1.0", - "bundled": true, - "optional": true + "bundled": true }, "concat-map": { "version": "0.0.1", - "bundled": true, - "optional": true + "bundled": true }, "console-control-strings": { "version": "1.1.0", - "bundled": true, - "optional": true + "bundled": true }, "core-util-is": { "version": "1.0.2", @@ -3074,8 +3081,7 @@ }, "inherits": { "version": "2.0.4", - "bundled": true, - "optional": true + "bundled": true }, "ini": { "version": "1.3.5", @@ -3085,7 +3091,6 @@ "is-fullwidth-code-point": { "version": "1.0.0", "bundled": true, - "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -3098,20 +3103,17 @@ "minimatch": { "version": "3.0.4", "bundled": true, - "optional": true, "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { "version": "1.2.5", - "bundled": true, - "optional": true + "bundled": true }, "minipass": { "version": "2.9.0", "bundled": true, - "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -3128,7 +3130,6 @@ "mkdirp": { "version": "0.5.3", "bundled": true, - "optional": true, "requires": { "minimist": "^1.2.5" } @@ -3184,8 +3185,7 @@ }, "npm-normalize-package-bin": { "version": "1.0.1", - "bundled": true, - "optional": true + "bundled": true }, "npm-packlist": { "version": "1.4.8", @@ -3210,8 +3210,7 @@ }, "number-is-nan": { "version": "1.0.1", - "bundled": true, - "optional": true + "bundled": true }, "object-assign": { "version": "4.1.1", @@ -3221,7 +3220,6 @@ "once": { "version": "1.4.0", "bundled": true, - "optional": true, "requires": { "wrappy": "1" } @@ -3290,8 +3288,7 @@ }, "safe-buffer": { "version": "5.1.2", - "bundled": true, - "optional": true + "bundled": true }, "safer-buffer": { "version": "2.1.2", @@ -3321,7 +3318,6 @@ "string-width": { "version": "1.0.2", "bundled": true, - "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -3339,7 +3335,6 @@ "strip-ansi": { "version": "3.0.1", "bundled": true, - "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -3378,13 +3373,11 @@ }, "wrappy": { "version": "1.0.2", - "bundled": true, - "optional": true + "bundled": true }, "yallist": { "version": "3.1.1", - "bundled": true, - "optional": true + "bundled": true } } } diff --git a/package.json b/package.json index 79c33bd99..683f181c3 100644 --- a/package.json +++ b/package.json @@ -118,6 +118,7 @@ "@hig/flyout": "^1.2.1", "@hig/theme-context": "^2.1.3", "@hig/theme-data": "^2.16.1", + "@types/google-maps": "^3.2.2", "@types/webscopeio__react-textarea-autocomplete": "^4.6.1", "@webscopeio/react-textarea-autocomplete": "^4.7.0", "adm-zip": "^0.4.16", diff --git a/src/client/documents/Documents.ts b/src/client/documents/Documents.ts index 0fc58c39d..d5b7f07b5 100644 --- a/src/client/documents/Documents.ts +++ b/src/client/documents/Documents.ts @@ -13,28 +13,23 @@ import { Cast, NumCast, StrCast } from "../../fields/Types"; import { AudioField, ImageField, PdfField, VideoField, WebField, YoutubeField } from "../../fields/URLField"; import { MessageStore } from "../../server/Message"; import { OmitKeys, Utils } from "../../Utils"; +import { YoutubeBox } from "../apis/youtube/YoutubeBox"; import { DocServer } from "../DocServer"; +import { DocumentManager } from "../util/DocumentManager"; import { dropActionType } from "../util/DragManager"; +import { DirectoryImportBox } from "../util/Import & Export/DirectoryImportBox"; import { LinkManager } from "../util/LinkManager"; import { Scripting } from "../util/Scripting"; import { UndoManager } from "../util/UndoManager"; -import { DocumentType } from "./DocumentTypes"; import { CollectionDockingView } from "../views/collections/CollectionDockingView"; import { CollectionView, CollectionViewType } from "../views/collections/CollectionView"; import { ContextMenu } from "../views/ContextMenu"; import { ContextMenuProps } from "../views/ContextMenuItem"; -import { ActiveInkBezierApprox, ActiveInkColor, ActiveInkWidth, InkingStroke } from "../views/InkingStroke"; +import { ActiveArrowEnd, ActiveArrowStart, ActiveDash, ActiveFillColor, ActiveInkBezierApprox, ActiveInkColor, ActiveInkWidth, InkingStroke } from "../views/InkingStroke"; import { AudioBox } from "../views/nodes/AudioBox"; import { ColorBox } from "../views/nodes/ColorBox"; import { ComparisonBox } from "../views/nodes/ComparisonBox"; import { DocHolderBox } from "../views/nodes/DocHolderBox"; -import { InkingStroke, ActiveInkColor, ActiveInkWidth, ActiveInkBezierApprox, ActiveFillColor, ActiveArrowStart, ActiveArrowEnd, ActiveDash } from "../views/InkingStroke"; -import { InkField } from "../../fields/InkField"; -import { RichTextField } from "../../fields/RichTextField"; -import { extname } from "path"; -import { MessageStore } from "../../server/Message"; -import { ContextMenuProps } from "../views/ContextMenuItem"; -import { ContextMenu } from "../views/ContextMenu"; import { FontIconBox } from "../views/nodes/FontIconBox"; import { FormattedTextBox } from "../views/nodes/formattedText/FormattedTextBox"; import { ImageBox } from "../views/nodes/ImageBox"; @@ -52,9 +47,7 @@ import { WebBox } from "../views/nodes/WebBox"; import { PresElementBox } from "../views/presentationview/PresElementBox"; import { RecommendationsBox } from "../views/RecommendationsBox"; import { DashWebRTCVideo } from "../views/webcam/DashWebRTCVideo"; -import { YoutubeBox } from "../apis/youtube/YoutubeBox"; -import { DocumentManager } from "../util/DocumentManager"; -import { DirectoryImportBox } from "../util/Import & Export/DirectoryImportBox"; +import { DocumentType } from "./DocumentTypes"; const path = require('path'); export interface DocumentOptions { diff --git a/src/client/util/LinkManager.ts b/src/client/util/LinkManager.ts index 438f3eb9b..0aec81ab0 100644 --- a/src/client/util/LinkManager.ts +++ b/src/client/util/LinkManager.ts @@ -72,7 +72,7 @@ export class LinkManager { }); DocListCast(anchor[Doc.LayoutFieldKey(anchor) + "-annotations"]).map(anno => { related.push(...LinkManager.Instance.getAllRelatedLinks(anno)); - }) + }); return related; } diff --git a/src/client/views/DocumentButtonBar.tsx b/src/client/views/DocumentButtonBar.tsx index fcaea0f0b..c05ca33fb 100644 --- a/src/client/views/DocumentButtonBar.tsx +++ b/src/client/views/DocumentButtonBar.tsx @@ -271,7 +271,7 @@ export class DocumentButtonBar extends React.Component<{ views: () => (DocumentV const considerPush = isText && this.considerGoogleDocsPush; return
- +
{this.templateButton} diff --git a/src/client/views/DocumentDecorations.scss b/src/client/views/DocumentDecorations.scss index c8347165d..5948ada88 100644 --- a/src/client/views/DocumentDecorations.scss +++ b/src/client/views/DocumentDecorations.scss @@ -193,10 +193,10 @@ $linkGap : 3px; .documentDecorations-iconifyButton { opacity: 1; grid-column-start: 4; - grid-column-end: 6; + grid-column-end: 5; pointer-events: all; text-align: center; - left: -20px; + left: -25px; top: -2px; cursor: pointer; position: absolute; @@ -207,10 +207,13 @@ $linkGap : 3px; .documentDecorations-closeButton { opacity: 1; grid-column-start: 4; - grid-column-end: 6; + grid-column-end: 5; pointer-events: all; text-align: center; cursor: pointer; + width: 15px; + margin-left: -8px; + margin-top: auto; } .documentDecorations-minimizeButton { diff --git a/src/client/views/DocumentDecorations.tsx b/src/client/views/DocumentDecorations.tsx index 6e8eed287..f5454216a 100644 --- a/src/client/views/DocumentDecorations.tsx +++ b/src/client/views/DocumentDecorations.tsx @@ -603,9 +603,10 @@ export class DocumentDecorations extends React.Component<{}, { value: string }> }}> {maximizeIcon} {titleArea} -
- {"_"} -
+ {SelectionManager.SelectedDocuments().length !== 1 || seldoc.Document.type === DocumentType.INK ? (null) : +
+ {"_"} +
}
{SelectionManager.SelectedDocuments().length === 1 ? DocumentDecorations.DocumentIcon(StrCast(seldoc.props.Document.layout, "...")) : "..."}
diff --git a/src/client/views/nodes/DocumentView.tsx b/src/client/views/nodes/DocumentView.tsx index 8f139e39e..a2bb9700e 100644 --- a/src/client/views/nodes/DocumentView.tsx +++ b/src/client/views/nodes/DocumentView.tsx @@ -742,7 +742,7 @@ export class DocumentView extends DocComponent(Docu this.props.contextMenuItems?.().forEach(item => cm.addItem({ description: item.label, event: () => item.script.script.run({ this: this.layoutDoc, self: this.rootDoc }), icon: "sticky-note" })); - let options = cm.findByDescription("Options..."); + const options = cm.findByDescription("Options..."); const optionItems: ContextMenuProps[] = options && "subitems" in options ? options.subitems : []; const templateDoc = Cast(this.props.Document[StrCast(this.props.Document.layoutKey)], Doc, null); templateDoc && optionItems.push({ description: "Open Template ", event: () => this.props.addDocTab(templateDoc, "onRight"), icon: "eye" }); diff --git a/src/client/views/nodes/LinkDocPreview.tsx b/src/client/views/nodes/LinkDocPreview.tsx index 126dc240a..92b443d3b 100644 --- a/src/client/views/nodes/LinkDocPreview.tsx +++ b/src/client/views/nodes/LinkDocPreview.tsx @@ -25,8 +25,8 @@ export class LinkDocPreview extends React.Component { @observable _targetDoc: Opt; @observable _toolTipText = ""; - componentDidUpdate() { this.updatePreview() } - componentDidMount() { this.updatePreview() } + componentDidUpdate() { this.updatePreview(); } + componentDidMount() { this.updatePreview(); } async updatePreview() { const linkDoc = this.props.linkDoc; const linkSrc = this.props.linkSrc; diff --git a/src/client/views/nodes/formattedText/ProsemirrorExampleTransfer.ts b/src/client/views/nodes/formattedText/ProsemirrorExampleTransfer.ts index 0abaf3df6..1bbcb9fa8 100644 --- a/src/client/views/nodes/formattedText/ProsemirrorExampleTransfer.ts +++ b/src/client/views/nodes/formattedText/ProsemirrorExampleTransfer.ts @@ -175,7 +175,7 @@ export default function buildKeymap>(schema: S, props: any } }); - var backspace = chainCommands(deleteSelection, joinBackward, selectNodeBackward); + // backspace = chainCommands(deleteSelection, joinBackward, selectNodeBackward); bind("Backspace", (state: EditorState, dispatch: (tx: Transaction>) => void) => { if (!deleteSelection(state, (tx: Transaction>) => { dispatch(updateBullets(tx, schema)); diff --git a/src/fields/List.ts b/src/fields/List.ts index fdabea365..a9da75abb 100644 --- a/src/fields/List.ts +++ b/src/fields/List.ts @@ -291,9 +291,10 @@ class ListImpl extends ObjectField { this.___fields = value; for (const key in value) { const field = value[key]; - if (!(field instanceof ObjectField)) continue; - (field as ObjectField)[Parent] = this[Self]; - (field as ObjectField)[OnUpdate] = updateFunction(this[Self], key, field, this[SelfProxy]); + if (field instanceof ObjectField) { + field[Parent] = this[Self]; + field[OnUpdate] = updateFunction(this[Self], key, field, this[SelfProxy]); + } } } diff --git a/src/fields/ObjectField.ts b/src/fields/ObjectField.ts index 9aa1c9b04..92b2cfa60 100644 --- a/src/fields/ObjectField.ts +++ b/src/fields/ObjectField.ts @@ -3,8 +3,8 @@ import { OnUpdate, Parent, Copy, ToScriptString, ToString } from "./FieldSymbols import { Scripting } from "../client/util/Scripting"; export abstract class ObjectField { - protected [OnUpdate](diff?: any) { } - private [Parent]?: RefField | ObjectField; + public [OnUpdate](diff?: any) { } + public [Parent]?: RefField | ObjectField; abstract [Copy](): ObjectField; abstract [ToScriptString](): string; diff --git a/src/fields/Schema.ts b/src/fields/Schema.ts index 72bce283d..98ef3e087 100644 --- a/src/fields/Schema.ts +++ b/src/fields/Schema.ts @@ -65,9 +65,8 @@ export function makeInterface(...schemas: T): InterfaceFu return obj; }; return function (doc?: Doc | Doc[]) { - doc = doc || new Doc; - if (doc instanceof Doc) { - return fn(doc); + if (doc instanceof Doc || doc === undefined) { + return fn(doc || new Doc); } else { return doc.map(fn); } -- cgit v1.2.3-70-g09d2