From d7a076ca7315a892b6a43b0e7454abf470f48455 Mon Sep 17 00:00:00 2001 From: bob Date: Thu, 30 Jan 2020 15:48:02 -0500 Subject: small template fixes for text mostly. --- src/client/util/DropConverter.ts | 5 +++-- src/client/views/DocumentDecorations.tsx | 2 +- src/client/views/TemplateMenu.tsx | 12 ++++++------ src/new_fields/Doc.ts | 2 +- 4 files changed, 11 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/client/util/DropConverter.ts b/src/client/util/DropConverter.ts index 669ac5336..d0f1d86cb 100644 --- a/src/client/util/DropConverter.ts +++ b/src/client/util/DropConverter.ts @@ -35,10 +35,11 @@ export function convertDropDataToButtons(data: DragManager.DocumentDragData) { if (!doc.onDragStart && !doc.onClick && !doc.isButtonBar) { const layoutDoc = doc.layout instanceof Doc && doc.layout.isTemplateForField ? doc.layout : doc; if (layoutDoc.type === DocumentType.COL || layoutDoc.type === DocumentType.TEXT || layoutDoc.type === DocumentType.IMG) { - layoutDoc.isTemplateDoc = makeTemplate(layoutDoc); + makeTemplate(layoutDoc); } else { - layoutDoc.isTemplateDoc = (layoutDoc.layout instanceof Doc) && !data.userDropAction; + (layoutDoc.layout instanceof Doc) && !data.userDropAction; } + layoutDoc.isTemplateDoc = true; dbox = Docs.Create.FontIconDocument({ _nativeWidth: 100, _nativeHeight: 100, _width: 100, _height: 100, backgroundColor: StrCast(doc.backgroundColor), title: "Custom", icon: layoutDoc.isTemplateDoc ? "font" : "bolt" }); dbox.dragFactory = layoutDoc; dbox.removeDropProperties = doc.removeDropProperties instanceof ObjectField ? ObjectField.MakeCopy(doc.removeDropProperties) : undefined; diff --git a/src/client/views/DocumentDecorations.tsx b/src/client/views/DocumentDecorations.tsx index 7c4391ec0..c5034b901 100644 --- a/src/client/views/DocumentDecorations.tsx +++ b/src/client/views/DocumentDecorations.tsx @@ -265,7 +265,7 @@ export class DocumentDecorations extends React.Component<{}, { value: string }> const layoutKey = Cast(dv.props.Document.layoutKey, "string", null); const collapse = layoutKey !== "layout_icon"; if (collapse) { - if (layoutKey) dv.props.Document.deiconifyLayout = layoutKey.replace("layout_", ""); + if (layoutKey && layoutKey !== "layout") dv.props.Document.deiconifyLayout = layoutKey.replace("layout_", ""); dv.setCustomView(collapse, "icon"); } else { const deiconifyLayout = Cast(dv.props.Document.deiconifyLayout, "string", null); diff --git a/src/client/views/TemplateMenu.tsx b/src/client/views/TemplateMenu.tsx index d5554fd4f..f61eb9cd0 100644 --- a/src/client/views/TemplateMenu.tsx +++ b/src/client/views/TemplateMenu.tsx @@ -90,22 +90,22 @@ export class TemplateMenu extends React.Component { // todo: add brushes to brushMap to save with a style name onCustomKeypress = (e: React.KeyboardEvent) => { if (e.key === "Enter") { - runInAction(() => TemplateMenu._addedKeys.add(this._customRef.current!.value)); + runInAction(() => this._addedKeys.add(this._customRef.current!.value)); } } componentDidMount() { - !TemplateMenu._addedKeys && (TemplateMenu._addedKeys = new ObservableSet(["narrative"])); + !this._addedKeys && (this._addedKeys = new ObservableSet()); Array.from(Object.keys(Doc.GetProto(this.props.docViews[0].props.Document))). filter(key => key.startsWith("layout_")). - map(key => runInAction(() => TemplateMenu._addedKeys.add(key.replace("layout_", "")))); + map(key => runInAction(() => this._addedKeys.add(key.replace("layout_", "")))); DocListCast(Cast(CurrentUserUtils.UserDocument.expandingButtons, Doc, null)?.data)?.map(btnDoc => { if (StrCast(Cast(btnDoc?.dragFactory, Doc, null)?.title)) { - runInAction(() => TemplateMenu._addedKeys.add(StrCast(Cast(btnDoc?.dragFactory, Doc, null)?.title))); + runInAction(() => this._addedKeys.add(StrCast(Cast(btnDoc?.dragFactory, Doc, null)?.title))); } }); } - static _addedKeys = new ObservableSet(["narrative"]); + _addedKeys = new ObservableSet(); _customRef = React.createRef(); render() { const layout = Doc.Layout(this.props.docViews[0].Document); @@ -114,7 +114,7 @@ export class TemplateMenu extends React.Component { templateMenu.push()); templateMenu.push(); templateMenu.push(); - TemplateMenu._addedKeys && Array.from(TemplateMenu._addedKeys).map(layout => + this._addedKeys && Array.from(this._addedKeys).map(layout => templateMenu.push( this.toggleLayout(e, layout)} />) ); return
    diff --git a/src/new_fields/Doc.ts b/src/new_fields/Doc.ts index 5f454e930..5f78636a9 100644 --- a/src/new_fields/Doc.ts +++ b/src/new_fields/Doc.ts @@ -611,7 +611,7 @@ export namespace Doc { Cast(templateField.data, listSpec(Doc), [])?.map(d => d instanceof Doc && MakeMetadataFieldTemplate(d, templateDoc)); (Doc.GetProto(templateField)[metadataFieldKey] = ObjectField.MakeCopy(templateField.data)); } - if (templateField.data instanceof RichTextField && templateField.data.Data) { + if (templateField.data instanceof RichTextField && templateField.data.Text) { templateField._textTemplate = ComputedField.MakeFunction(`copyField(this.${metadataFieldKey})`, { this: Doc.name }); } -- cgit v1.2.3-70-g09d2