aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/nodes
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/views/nodes')
-rw-r--r--src/client/views/nodes/DocumentView.tsx1
-rw-r--r--src/client/views/nodes/FontIconBox/FontIconBox.tsx15
-rw-r--r--src/client/views/nodes/importBox/ImportElementBox.tsx70
3 files changed, 78 insertions, 8 deletions
diff --git a/src/client/views/nodes/DocumentView.tsx b/src/client/views/nodes/DocumentView.tsx
index 6b47564a4..d7b4ca317 100644
--- a/src/client/views/nodes/DocumentView.tsx
+++ b/src/client/views/nodes/DocumentView.tsx
@@ -803,7 +803,6 @@ export class DocumentViewInternal extends DocComponent<DocumentViewInternalProps
constantItems.push({ description: 'Show Metadata', event: () => this.props.addDocTab(this.props.Document, (OpenWhere.addRight.toString() + 'KeyValue') as OpenWhere), icon: 'layer-group' });
if (!Doc.IsSystem(this.rootDoc)) {
constantItems.push({ description: 'Export as Zip file', icon: 'download', event: async () => Doc.Zip(this.props.Document) });
- constantItems.push({ description: 'Import Zipped file', icon: 'upload', event: ({ x, y }) => this.importDocument() });
(this.rootDoc._type_collection !== CollectionViewType.Docking || !Doc.noviceMode) && constantItems.push({ description: 'Share', event: () => SharingManager.Instance.open(this.props.DocumentView()), icon: 'users' });
if (this.props.removeDocument && Doc.ActiveDashboard !== this.props.Document) {
// need option to gray out menu items ... preferably with a '?' that explains why they're grayed out (eg., no permissions)
diff --git a/src/client/views/nodes/FontIconBox/FontIconBox.tsx b/src/client/views/nodes/FontIconBox/FontIconBox.tsx
index 39be4022e..f676641ac 100644
--- a/src/client/views/nodes/FontIconBox/FontIconBox.tsx
+++ b/src/client/views/nodes/FontIconBox/FontIconBox.tsx
@@ -398,18 +398,19 @@ export class FontIconBox extends DocComponent<ButtonProps>() {
button = this.dropdownButton;
break;
case ButtonType.ToggleButton: button = this.toggleButton; break;
- case ButtonType.TextButton:
- const script = ScriptCast(this.rootDoc.script);
+ case ButtonType.ClickButton:
+ case ButtonType.ToolButton:
+ const script = ScriptCast(this.rootDoc.onClick);
const checkResult = script?.script.run({ _readOnly_: true }).result;
- // Script for checking the outcome of the toggle
button = (
- <Button tooltip={tooltip} color={checkResult ?? backgroundColor} icon={this.Icon(color)!} text={StrCast(this.rootDoc.buttonText)} label={this.label}/>
+ <IconButton tooltip={tooltip} onPointerDown={() => script?.script.run({ _readOnly_: false })} color={color} icon={this.Icon(color)!} label={this.label}/>
);
break;
- case ButtonType.ClickButton:
- case ButtonType.ToolButton:
+ case ButtonType.TextButton:
+
+ // Script for checking the outcome of the toggle
button = (
- <IconButton tooltip={tooltip} onPointerDown={() => script?.script.run({ _readOnly_: false })} color={color} icon={this.Icon(color)!} label={this.label}/>
+ <Button tooltip={tooltip} color={checkResult ?? backgroundColor} icon={this.Icon(color)!} text={StrCast(this.rootDoc.buttonText)} label={this.label}/>
);
break;
case ButtonType.MenuButton: button = (
diff --git a/src/client/views/nodes/importBox/ImportElementBox.tsx b/src/client/views/nodes/importBox/ImportElementBox.tsx
new file mode 100644
index 000000000..a5d21cc8e
--- /dev/null
+++ b/src/client/views/nodes/importBox/ImportElementBox.tsx
@@ -0,0 +1,70 @@
+import { observer } from "mobx-react";
+import { ViewBoxBaseComponent } from "../../DocComponent";
+import { FieldView, FieldViewProps } from "../FieldView";
+import { computed } from "mobx";
+import { Id } from "../../../../fields/FieldSymbols";
+import React from "react";
+import { EditableView } from "../../EditableView";
+import { DocListCast } from "../../../../fields/Doc";
+import { StrCast } from "../../../../fields/Types";
+
+
+@observer
+export class ImportElementBox extends ViewBoxBaseComponent<FieldViewProps>() {
+ public static LayoutString(fieldKey: string) {
+ return FieldView.LayoutString(ImportElementBox, fieldKey);
+ }
+
+ private _itemRef: React.RefObject<HTMLDivElement> = React.createRef();
+ private _dragRef: React.RefObject<HTMLDivElement> = React.createRef();
+ private _titleRef: React.RefObject<EditableView> = React.createRef();
+
+ @computed importBoxVoew() {
+ return this.props.DocumentView?.()?.props.docViewPath().lastElement()?.ComponentView as PresBox;
+ }
+
+ @computed get indexInPres() {
+ return DocListCast(this.presBox?.[StrCast(this.presBox.presFieldKey, 'data')]).indexOf(this.rootDoc);
+ }
+
+ @computed get presBox() {
+ return this.props.DocumentView?.().props.docViewPath().lastElement()?.rootDoc;
+ }
+
+ // @computed get selectedArray() {
+ // return this.presBoxView?.selectedArray;
+ // }
+
+@computed get mainItem() {
+ const isCurrent: boolean = this.presBox?._itemIndex === this.indexInPres;
+ //const isSelected: boolean = this.selectedArray?.has(this.rootDoc) ? true : false;
+ // const activeItem: Doc = this.rootDoc;
+
+ return(
+ <div
+ className = {`presItem-container`}
+ // key={this.props.Document[Id] + this.indexInPres}
+ style = {{backgroundColor: 'pink'}}
+
+ >
+ <div
+ ref = {this._dragRef}
+ className = {`presItem-slide ${isCurrent ? 'active' : ''}`}
+ style = {{
+ backgroundColor: 'green'
+ }}>
+ <div
+ className="presItem-number"
+ title = "select without navigation"
+
+ >
+ {/* <EditableView ref={this._titleRef} oneLine={true} editing={!isSelected ? false : undefined} contents={activeItem.title} overflow={'ellipsis'} GetValue={() => StrCast(activeItem.title)} SetValue={this.onSetValue} /> */}
+
+ </div>
+ </div>
+
+ </div>
+ )
+}
+
+} \ No newline at end of file