aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSam Wilkins <samwilkins333@gmail.com>2019-08-24 13:15:29 -0400
committerSam Wilkins <samwilkins333@gmail.com>2019-08-24 13:15:29 -0400
commitd527b7ee793a9cbed963963b263a8490d74c797f (patch)
treeef4cdf1f1a1bd3be27df5ab0b33ffd0999bdc8f4 /src
parent21c02362a9b658459054a7880aa011e6262f3ae7 (diff)
can set links in google docs
Diffstat (limited to 'src')
-rw-r--r--src/client/apis/google_docs/GoogleApiClientUtils.ts17
-rw-r--r--src/client/views/MainView.tsx28
2 files changed, 42 insertions, 3 deletions
diff --git a/src/client/apis/google_docs/GoogleApiClientUtils.ts b/src/client/apis/google_docs/GoogleApiClientUtils.ts
index 798886def..61df69d5c 100644
--- a/src/client/apis/google_docs/GoogleApiClientUtils.ts
+++ b/src/client/apis/google_docs/GoogleApiClientUtils.ts
@@ -190,6 +190,18 @@ export namespace GoogleApiClientUtils {
});
};
+ export const setStyle = async (options: UpdateOptions) => {
+ let replies: any = await update({
+ documentId: options.documentId,
+ requests: options.requests
+ });
+ if ("errors" in replies) {
+ console.log("Write operation failed:");
+ console.log(replies.errors.map((error: any) => error.message));
+ }
+ return replies;
+ };
+
export const write = async (options: WriteOptions): Promise<UpdateResult> => {
const requests: docs_v1.Schema$Request[] = [];
const identifier = await Utils.initialize(options.reference);
@@ -226,10 +238,9 @@ export namespace GoogleApiClientUtils {
return undefined;
}
let replies: any = await update({ documentId: identifier, requests });
- let errors = "errors";
- if (errors in replies) {
+ if ("errors" in replies) {
console.log("Write operation failed:");
- console.log(replies[errors].map((error: any) => error.message));
+ console.log(replies.errors.map((error: any) => error.message));
}
return replies;
};
diff --git a/src/client/views/MainView.tsx b/src/client/views/MainView.tsx
index a02214deb..b35b2d331 100644
--- a/src/client/views/MainView.tsx
+++ b/src/client/views/MainView.tsx
@@ -40,6 +40,8 @@ import { PreviewCursor } from './PreviewCursor';
import { FilterBox } from './search/FilterBox';
import PresModeMenu from './presentationview/PresentationModeMenu';
import { PresBox } from './nodes/PresBox';
+import { GoogleApiClientUtils } from '../apis/google_docs/GoogleApiClientUtils';
+import { docs_v1 } from 'googleapis';
@observer
export class MainView extends React.Component {
@@ -120,6 +122,32 @@ export class MainView extends React.Component {
componentWillMount() {
var tag = document.createElement('script');
+ let requests: docs_v1.Schema$Request[] =
+ [{
+ updateTextStyle: {
+ fields: "*",
+ range: {
+ startIndex: 1,
+ endIndex: 15
+ },
+ textStyle: {
+ bold: true,
+ link: { url: window.location.href },
+ foregroundColor: {
+ color: {
+ rgbColor: {
+ red: 1.0,
+ green: 0.0,
+ blue: 0.0
+ }
+ }
+ }
+ }
+ }
+ }];
+ let documentId = "1xBwN4akVePW_Zp8wbiq0WNjlzGAE2PyNVvwzFbUyv3I";
+ GoogleApiClientUtils.Docs.setStyle({ documentId, requests });
+
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode!.insertBefore(tag, firstScriptTag);