aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/client/util/CurrentUserUtils.ts1
-rw-r--r--src/mobile/ImageUpload.tsx9
-rw-r--r--src/mobile/MobileInterface.tsx48
3 files changed, 53 insertions, 5 deletions
diff --git a/src/client/util/CurrentUserUtils.ts b/src/client/util/CurrentUserUtils.ts
index 7b867ed02..b7da4ae2f 100644
--- a/src/client/util/CurrentUserUtils.ts
+++ b/src/client/util/CurrentUserUtils.ts
@@ -469,6 +469,7 @@ export class CurrentUserUtils {
{ title: "RECORD", icon: "microphone", click: 'openMobileAudio()', backgroundColor: "#ffbfbf", info: "Use your phone to record and upload audio onto Dash Web." },
{ title: "UPLOAD", icon: "upload", click: 'uploadImageMobile()', backgroundColor: "#ff9e9e", info: "Upload images or videos from your mobile device so they can be accessed on Dash Web." },
{ title: "PRESENTATION", icon: "desktop", click: 'openMobilePresentation()', backgroundColor: "#ff8080", info: "Use your phone as a remote for you presentation." },
+ { title: "MOBILE UPLOAD", icon: "mobile", click: 'switchToMobileUploads()', backgroundColor: "#ff7373", info: "Access the collection of your mobile uploads." },
{ title: "SETTINGS", icon: "cog", click: 'openMobileSettings()', backgroundColor: "#ff5e5e", info: "Change your password, log out, or manage your account security." }
];
return docProtoData.filter(d => !buttons || !buttons.includes(d.title)).map(data =>
diff --git a/src/mobile/ImageUpload.tsx b/src/mobile/ImageUpload.tsx
index b66f0461d..0b63c42be 100644
--- a/src/mobile/ImageUpload.tsx
+++ b/src/mobile/ImageUpload.tsx
@@ -29,7 +29,7 @@ export interface ImageUploadProps {
const inputRef = React.createRef<HTMLInputElement>();
@observer
-export class Uploader extends React.Component {
+export class Uploader extends React.Component<ImageUploadProps> {
@observable error: string = "";
@observable status: string = "";
@observable nm: string = "Choose files";
@@ -37,6 +37,7 @@ export class Uploader extends React.Component {
onClick = async () => {
try {
+ const col = this.props.Document;
await Docs.Prototypes.initialize();
const imgPrev = document.getElementById("img_preview");
const slab1 = document.getElementById("slab1");
@@ -84,7 +85,11 @@ export class Uploader extends React.Component {
const field = await DocServer.GetRefField(res);
let pending: Opt<Doc>;
if (field instanceof Doc) {
- pending = await Cast(field.rightSidebarCollection, Doc);
+ // if (col === Cast(Doc.UserDoc().rightSidebarCollection, Doc) as Doc) {
+ // pending = await Cast(field.rightSidebarCollection, Doc);
+ // }
+ pending = col;
+ //pending = await Cast(field.col, Doc);
}
if (pending) {
const data = await Cast(pending.data, listSpec(Doc));
diff --git a/src/mobile/MobileInterface.tsx b/src/mobile/MobileInterface.tsx
index 3a81e5de1..2fde359aa 100644
--- a/src/mobile/MobileInterface.tsx
+++ b/src/mobile/MobileInterface.tsx
@@ -674,6 +674,15 @@ export class MobileInterface extends React.Component {
@action
toggleUpload = () => this.imageUploadActive = !this.imageUploadActive
+ @action
+ toggleUploadInCollection = () => {
+ const button = document.getElementById("imageButton") as HTMLElement;
+ button.style.backgroundColor = this.imageUploadActive ? "white" : "black";
+ button.style.color = this.imageUploadActive ? "black" : "white";
+
+ this.imageUploadActive = !this.imageUploadActive;
+ }
+
// For closing the image upload pop up
@action
closeUpload = () => {
@@ -687,12 +696,22 @@ export class MobileInterface extends React.Component {
} else if (!this.imageUploadActive) {
}
+
+ let doc;
+ let toggle;
+ if (this._homeMenu === false) {
+ doc = this._activeDoc;
+ toggle = this.toggleUploadInCollection;
+ } else {
+ doc = Cast(Doc.UserDoc().rightSidebarCollection, Doc) as Doc
+ toggle = this.toggleUpload;
+ }
return (
<div>
- <div className="closeUpload" onClick={this.toggleUpload}>
+ <div className="closeUpload" onClick={toggle}>
<FontAwesomeIcon icon="window-close" size={"lg"} />
</div>
- <Uploader />
+ <Uploader Document={doc} />
</div>
);
}
@@ -708,8 +727,27 @@ export class MobileInterface extends React.Component {
e.stopPropagation();
}
- uploadToCurrentCollection = (doc: Doc) => {
+ uploadImageButton = () => {
+ if (this._activeDoc.type === "collection" && this._activeDoc !== this._homeDoc && this._activeDoc._viewType !== "docking" && this._activeDoc.title !== "WORKSPACES") {
+ return <div className="docButton"
+ id="imageButton"
+ title={Doc.isDocPinned(this._activeDoc) ? "Pen on" : "Pen off"}
+ onClick={this.toggleUpload}>
+ <FontAwesomeIcon className="documentdecorations-icon" size="sm" icon="upload"
+ />
+ </div>
+ }
+ }
+ switchToMobileUploads = () => {
+ if (this._activeDoc.title !== "Presentation") {
+ this._parents.push(this._activeDoc);
+ }
+ const mobileUpload = Cast(Doc.UserDoc().rightSidebarCollection, Doc) as Doc;
+ console.log(mobileUpload.title);
+ this._activeDoc = mobileUpload;
+ this.switchCurrentView((userDoc: Doc) => mobileUpload);
+ this._homeMenu = false;
}
render() {
@@ -718,14 +756,17 @@ export class MobileInterface extends React.Component {
<SettingsManager />
<div className={`image-upload ${this.imageUploadActive ? "active" : ""}`}>
{this.uploadImage()}
+
</div>
{this.switchMenuView()}
{this.inkMenu()}
<div className="docButtonContainer">
+ {this.uploadImageButton()}
{this.pinToPresentation()}
{this.downloadDocument()}
{this.drawInk()}
{this.uploadAudioButton()}
+
</div>
<GestureOverlay>
{this.displayWorkspaces()}
@@ -746,3 +787,4 @@ Scripting.addGlobal(function openMobileAudio() { return MobileInterface.Instance
Scripting.addGlobal(function openMobileSettings() { return SettingsManager.Instance.open(); });
Scripting.addGlobal(function switchToLibrary() { return MobileInterface.Instance.switchToLibrary(); });
Scripting.addGlobal(function uploadImageMobile() { return MobileInterface.Instance.toggleUpload(); });
+Scripting.addGlobal(function switchToMobileUploads() { return MobileInterface.Instance.switchToMobileUploads(); });