aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/client/util/RichTextSchema.tsx81
-rw-r--r--src/client/util/TooltipTextMenu.tsx29
-rw-r--r--src/client/views/nodes/WebBox.scss10
-rw-r--r--src/client/views/nodes/WebBox.tsx51
4 files changed, 25 insertions, 146 deletions
diff --git a/src/client/util/RichTextSchema.tsx b/src/client/util/RichTextSchema.tsx
index 733c50d20..1f6c2badb 100644
--- a/src/client/util/RichTextSchema.tsx
+++ b/src/client/util/RichTextSchema.tsx
@@ -111,19 +111,6 @@ export const nodes: { [index: string]: NodeSpec } = {
// }
// }]
},
-
- checkbox: {
- inline: true,
- attrs: {
- visibility: { default: false }
- },
- group: "inline",
- toDOM(node) {
- const attrs = { style: `width: 40px` };
- return ["span", { ...node.attrs, ...attrs }];
- },
- },
-
// :: NodeSpec An inline image (`<img>`) node. Supports `src`,
// `alt`, and `href` attributes. The latter two default to the empty
// string.
@@ -203,19 +190,6 @@ export const nodes: { [index: string]: NodeSpec } = {
// toDOM() { return ulDOM }
},
- checkbox_list: {
- content: 'checklist_item+',
- marks: '_',
- group: 'block',
- // inline: true,
- parseDOM: [
- { tag: "ul" }
- ],
- toDOM() {
- return ["ul", { style: 'list-style: none' }, 0];
- },
- },
-
//bullet_list: {
// content: 'list_item+',
// group: 'block',
@@ -228,18 +202,6 @@ export const nodes: { [index: string]: NodeSpec } = {
...listItem,
content: 'paragraph block*'
},
-
- checklist_item: {
- content: 'paragraph block*',
- parseDOM: [{ tag: "li" }],
- // toDOM() {
- // return ["li", { style: 'content: checkbox' }, 0];
- // },
- toDOM() {
- return ["li", 0];
- },
- defining: true
- }
};
const emDOM: DOMOutputSpecArray = ["em", 0];
@@ -562,49 +524,6 @@ export class ImageResizeView {
}
}
-export class CheckboxView {
- _view: any;
- _collapsed: HTMLElement;
-
- constructor(node: any, view: any, getPos: any) {
- this._collapsed = document.createElement("span");
- this._collapsed.textContent = node.attrs.visibility ? "⬛" : "⬜";
- this._collapsed.style.position = "relative";
- // this._collapsed.style.width = "80px";
- this._collapsed.style.height = "20px";
- let self = this;
- this._view = view;
- const js = node.toJSON;
- node.toJSON = function () {
-
- return js.apply(this, arguments);
- };
- this._collapsed.onpointerdown = function (e: any) {
- console.log(node.attrs.visibility)
- if (node.attrs.visibility) {
- let y = getPos();
- const attrs = { ...node.attrs };
- attrs.visibility = !attrs.visibility;
- view.dispatch(view.state.tr.setNodeMarkup(y, undefined, attrs));
- self._collapsed.textContent = "⬜";
- } else {
- let y = getPos();
- const attrs = { ...node.attrs };
- attrs.visibility = !attrs.visibility;
- console.log(attrs.visibility)
- view.dispatch(view.state.tr.setNodeMarkup(y, undefined, attrs));
- self._collapsed.textContent = "⬛";
- }
- e.preventDefault();
- e.stopPropagation();
- console.log(node.attrs.visibility)
-
- };
- (this as any).dom = this._collapsed;
- }
-
-}
-
export class SummarizedView {
// TODO: highlight text that is summarized. to find end of region, walk along mark
_collapsed: HTMLElement;
diff --git a/src/client/util/TooltipTextMenu.tsx b/src/client/util/TooltipTextMenu.tsx
index 46961e416..450931b76 100644
--- a/src/client/util/TooltipTextMenu.tsx
+++ b/src/client/util/TooltipTextMenu.tsx
@@ -189,7 +189,6 @@ export class TooltipTextMenu {
this.tooltip.appendChild(this._brushdom);
this.tooltip.appendChild(this.createLink().render(this.view).dom);
this.tooltip.appendChild(this.createStar().render(this.view).dom);
- this.tooltip.appendChild(this.createCheckbox().render(this.view).dom);
this.updateListItemDropdown(":", this.listTypeBtnDom);
@@ -441,14 +440,6 @@ export class TooltipTextMenu {
return true;
}
- public static insertCheckbox(state: EditorState<any>, dispatch: any) {
- let newNode = schema.nodes.checkbox.create({ visibility: false });
- if (dispatch) {
- dispatch(state.tr.replaceSelectionWith(newNode));
- }
- return true;
- }
-
//will display a remove-list-type button if selection is in list, otherwise will show list type dropdown
updateListItemDropdown(label: string, listTypeBtn: any) {
//remove old btn
@@ -461,7 +452,6 @@ export class TooltipTextMenu {
});
//option to remove the list formatting
toAdd.push(this.dropdownNodeBtn("X", "color: black; width: 40px;", undefined, this.view, this.listTypes, this.changeToNodeType));
- toAdd.push(this.dropdownNodeBtn("⬜", "color:black; width:40px;", schema.nodes.checkbox_list, this.view, this.listTypes, this.changeToNodeType))
listTypeBtn = (new Dropdown(toAdd, {
label: label,
@@ -525,11 +515,6 @@ export class TooltipTextMenu {
liftListItem(schema.nodes.list_item)(view.state, view.dispatch);
if (nodeType) { //add new
wrapInList(nodeType)(view.state, view.dispatch);
- // console.log(nodeType === schema.nodes.checkbox_list)
- // if (nodeType === schema.nodes.checkbox_list) {
- // TooltipTextMenu.insertCheckbox(view.state, view.dispatch)
- // }
-
}
}
@@ -564,20 +549,6 @@ export class TooltipTextMenu {
});
}
- createCheckbox() {
- return new MenuItem({
- title: "Checkbox",
- label: "Checkbox",
- icon: icons.code,
- css: "color:white",
- class: "checkbox",
- execEvent: "",
- run: (state, dispatch) => {
- TooltipTextMenu.insertCheckbox(state, dispatch);
- }
- })
- }
-
deleteLinkItem() {
const icon = {
height: 16, width: 16,
diff --git a/src/client/views/nodes/WebBox.scss b/src/client/views/nodes/WebBox.scss
index c37f08eca..6272d3d47 100644
--- a/src/client/views/nodes/WebBox.scss
+++ b/src/client/views/nodes/WebBox.scss
@@ -1,3 +1,5 @@
+@import "../globalCssVariables.scss";
+
.webBox-cont,
.webBox-cont-interactive {
padding: 0vw;
@@ -79,6 +81,14 @@
// margin-top: 10px;
}
+ .switchToText {
+ color: $main-accent;
+ }
+
+ .switchToText:hover {
+ color: $dark-color;
+ }
+
.collectionViewBaseChrome-viewSpecs {
margin-left: 10px;
display: grid;
diff --git a/src/client/views/nodes/WebBox.tsx b/src/client/views/nodes/WebBox.tsx
index e7bed3bed..ef8f8c664 100644
--- a/src/client/views/nodes/WebBox.tsx
+++ b/src/client/views/nodes/WebBox.tsx
@@ -87,43 +87,21 @@ export class WebBox extends React.Component<FieldViewProps> {
let field = Cast(this.props.Document[this.props.fieldKey], WebField);
if (field) url = field.url.href;
- let docView: DocumentView;
- // let parentDoc: any;
- SelectionManager.SelectedDocuments().map(dv => {
- // docView = dv;
- dv.props.removeDocument && dv.props.removeDocument(dv.props.Document);
- });
-
- console.log("happening")
-
- // // let newPoint = PreviewCursor._getTransform().transformPoint(PreviewCursor._clickPoint[0], PreviewCursor._clickPoint[1]);
let newBox = Docs.Create.TextDocument({
- width: 200, height: 100,
- // x: newPoint[0],
- // y: newPoint[1],
x: NumCast(this.props.Document.x),
y: NumCast(this.props.Document.y),
- title: url
+ title: url,
+ width: 200,
+ height: 70,
+ documentText: "@@@" + url
});
- console.log(typeof newBox)
-
- // const script = KeyValueBox.CompileKVPScript(`new RichTextField("{"doc":{"type":"doc","content":[{"type":"paragraph","content":[{"type":"text","text":"${url}"}]}]},"selection":{"type":"text","anchor":1,"head":1}}")`);
- // const script = KeyValueBox.CompileKVPScript(newBox.setText(url))
- // console.log(script)
- // if (!script) return;
- // KeyValueBox.ApplyKVPScript(this.props.Document, "data", script);
-
- console.log(newBox);
-
+ SelectionManager.SelectedDocuments().map(dv => {
+ dv.props.addDocument && dv.props.addDocument(newBox, false);
+ dv.props.removeDocument && dv.props.removeDocument(dv.props.Document);
+ });
- newBox.proto!.autoHeight = true;
- // PreviewCursor._addLiveTextDoc(newBox);
- // if (parent && parent.props.addDocument) {
- // console.log("adding doc")
- // parent.props.addDocument(newBox);
- // }
- return;
+ Doc.BrushDoc(newBox);
}
urlEditor() {
@@ -151,14 +129,15 @@ export class WebBox extends React.Component<FieldViewProps> {
<div style={{
display: "flex",
flexDirection: "row",
-
+ justifyContent: "space-between",
+ minWidth: "100px",
}}>
<button className="submitUrl" onClick={this.submitURL}>
- SUBMIT URL
- </button>
- <button className="switchToText" onClick={this.switchToText} style={{ paddingLeft: 10 }} >
- <FontAwesomeIcon icon={faStickyNote} size={"2x"} />
+ SUBMIT
</button>
+ <div className="switchToText" title="Convert web to text doc" onClick={this.switchToText} style={{ display: "flex", alignItems: "center", justifyContent: "center" }} >
+ <FontAwesomeIcon icon={faStickyNote} size={"lg"} />
+ </div>
</div>
</div>
</div>