Focus RTE when opening reply

This commit is contained in:
Chi Vinh Le
2018-09-06 00:06:58 +02:00
parent 110becb075
commit 444c86cb3c
26 changed files with 143 additions and 56 deletions
+3 -1
View File
@@ -3,7 +3,9 @@ import { Environment, ROOT_ID } from "relay-runtime";
export default function getMe(environment: Environment) {
const source = environment.getStore().getSource();
const root = source.get(ROOT_ID)!;
const meKey = Object.keys(root).find(s => s.startsWith("me("))!;
const meKey = Object.keys(root)
.reverse()
.find(s => s.startsWith("me("))!;
if (!root[meKey]) {
return null;
}
@@ -6,6 +6,7 @@ import { MediaQueryMatchers } from "react-responsive";
import { Formatter } from "react-timeago";
import { Environment } from "relay-runtime";
import { BrowserInfo } from "talk-framework/lib/browserInfo";
import { PostMessageService } from "talk-framework/lib/postMessage";
import { RestClient } from "talk-framework/lib/rest";
import { PymStorage } from "talk-framework/lib/storage";
@@ -51,6 +52,9 @@ export interface TalkContext {
/** A pym child that interacts with the pym parent. */
pym?: PymChild;
/** Browser detection. */
browserInfo: BrowserInfo;
}
const { Provider, Consumer } = React.createContext<TalkContext>({} as any);
@@ -5,6 +5,7 @@ import { Child as PymChild } from "pym.js";
import React from "react";
import { Formatter } from "react-timeago";
import { Environment, Network, RecordSource, Store } from "relay-runtime";
import { getBrowserInfo } from "talk-framework/lib/browserInfo";
import { LOCAL_ID } from "talk-framework/lib/relay";
import {
createLocalStorage,
@@ -121,6 +122,7 @@ export default async function createContext({
sessionStorage: createSessionStorage(),
pymLocalStorage: pym && createPymStorage(pym, "localStorage"),
pymSessionStorage: pym && createPymStorage(pym, "sessionStorage"),
browserInfo: getBrowserInfo(),
};
// Run custom initializations.
@@ -0,0 +1,11 @@
import bowser from "bowser";
export interface BrowserInfo {
ios: boolean;
}
export function getBrowserInfo(): BrowserInfo {
return {
ios: bowser.ios,
};
}