Skip to content

Commit

Permalink
Browser refactored (#85)
Browse files Browse the repository at this point in the history
* First commits on the refactoring of the browser

* Updating the sidebar

* Making progress on the browser

* Refactored the browser into "realm-browser"

* Fixed opening synced realms
  • Loading branch information
kraenhansen authored Sep 13, 2017
1 parent a8aa3e5 commit 9b46393
Show file tree
Hide file tree
Showing 31 changed files with 792 additions and 562 deletions.
9 changes: 5 additions & 4 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@
"react-addons-css-transition-group": "^15.6.0",
"react-addons-transition-group": "^15.6.0",
"react-dom": "^15.6.1",
"react-draggable": "^2.2.6",
"react-draggable": "^3.0.3",
"react-virtualized": "^9.9.0",
"reactstrap": "^4.8.0",
"realm": "2.0.0-rc6"
Expand Down
22 changes: 15 additions & 7 deletions src/actions.ts
Original file line number Diff line number Diff line change
@@ -1,29 +1,37 @@
import { ipcRenderer } from "electron";
import * as Realm from "realm";

import { IServerAdministrationOptions } from "./windows/WindowType";
import {
IRealmBrowserOptions,
IServerAdministrationOptions,
} from "./windows/WindowType";

export enum Actions {
ShowConnectToServer = "show-connect-to-server",
ShowGreeting = "show-server-administration",
ShowOpenLocalRealm = "show-open-local-realm",
ShowRealmBrowser = "show-realm-browser",
ShowServerAdministration = "show-server-administration",
}

// We use sendSync to avoid closing windows before the actions complete

export const showConnectToServer = (options?: void) => {
ipcRenderer.sendSync(Actions.ShowConnectToServer, options);
};

export const showGreeting = (options?: void) => {
ipcRenderer.sendSync(Actions.ShowGreeting);
};

export const showServerAdministration = (options: IServerAdministrationOptions) => {
ipcRenderer.sendSync(Actions.ShowServerAdministration, options);
export const showOpenLocalRealm = (options?: void) => {
ipcRenderer.sendSync(Actions.ShowOpenLocalRealm, options);
};

export const showConnectToServer = (options?: void) => {
ipcRenderer.sendSync(Actions.ShowConnectToServer, options);
export const showRealmBrowser = (options: IRealmBrowserOptions) => {
ipcRenderer.sendSync(Actions.ShowRealmBrowser, options);
};

export const showOpenLocalRealm = (options?: void) => {
ipcRenderer.sendSync(Actions.ShowOpenLocalRealm, options);
export const showServerAdministration = (options: IServerAdministrationOptions) => {
ipcRenderer.sendSync(Actions.ShowServerAdministration, options);
};
44 changes: 30 additions & 14 deletions src/main/application.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,13 @@ import * as electron from "electron";
import * as Realm from "realm";

import { Actions } from "../actions";
import { IServerAdministrationOptions, WindowType } from "../windows/WindowType";
import {
ILocalRealmBrowserOptions,
IRealmBrowserOptions,
IServerAdministrationOptions,
RealmBrowserMode,
WindowType,
} from "../windows/WindowType";
import MainMenu from "./main-menu";
import WindowManager from "./window-manager";

Expand All @@ -25,6 +31,10 @@ export default class Application {
this.showOpenLocalRealm();
event.returnValue = true;
},
[Actions.ShowRealmBrowser]: (event, ...args) => {
this.showRealmBrowser(args[0] as IRealmBrowserOptions);
event.returnValue = true;
},
[Actions.ShowServerAdministration]: (event, ...args) => {
this.showServerAdministration(args[0] as IServerAdministrationOptions);
event.returnValue = true;
Expand All @@ -50,11 +60,19 @@ export default class Application {
return electron.app.getPath("userData");
}

public showRealmBrowser(path: string) {
const window = this.windowManager.createWindow(WindowType.RealmBrowser, { path });
// Implementation of action handlers below

public showConnectToServer() {
const window = this.windowManager.createWindow(WindowType.ConnectToServer);
window.once("ready-to-show", () => {
window.show();
});
}

public showGreeting() {
const window = this.windowManager.createWindow(WindowType.Greeting);
window.once("ready-to-show", () => {
window.show();
window.webContents.send("open-file", { path });
});
}

Expand All @@ -64,20 +82,18 @@ export default class Application {
filters: [{ name: "Realm Files", extensions: ["realm"] }],
}, (selectedPaths) => {
if (selectedPaths) {
this.showRealmBrowser(selectedPaths[0]);
selectedPaths.forEach((path) => {
this.showRealmBrowser({
mode: RealmBrowserMode.Local,
path,
} as ILocalRealmBrowserOptions);
});
}
});
}

public showConnectToServer() {
const window = this.windowManager.createWindow(WindowType.ConnectToServer);
window.once("ready-to-show", () => {
window.show();
});
}

public showGreeting() {
const window = this.windowManager.createWindow(WindowType.Greeting);
public showRealmBrowser(options: IRealmBrowserOptions) {
const window = this.windowManager.createWindow(WindowType.RealmBrowser, options);
window.once("ready-to-show", () => {
window.show();
});
Expand Down
41 changes: 0 additions & 41 deletions src/ui/browser/browser-variables.scss

This file was deleted.

118 changes: 0 additions & 118 deletions src/ui/browser/browser.scss

This file was deleted.

53 changes: 0 additions & 53 deletions src/ui/browser/browser.tsx

This file was deleted.

Loading

0 comments on commit 9b46393

Please sign in to comment.