You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
WebCAD/src/index.tsx

67 lines
2.0 KiB

import * as React from "react";
7 years ago
import * as ReactDOM from 'react-dom';
import '../node_modules/golden-layout/src/css/goldenlayout-base.css';
import '../node_modules/golden-layout/src/css/goldenlayout-dark-theme.css';
import "./UI/Css/style.less"
import { LoadLayoutNotHead } from './UI/Layout/Layout';
import { CommandComponent } from "./UI/Components/Command";
import { App } from './UI/App';
7 years ago
import { commandStore, CommandMsg } from './UI/Store/CommandStore';
import { autorun, observable } from 'mobx';
import { Provider } from "mobx-react";
import { ApplicationService, app } from './ApplicationServices/Application';
import { DownPanel } from './UI/Components/Panel';
import { DownPanelStore } from './UI/Store/DownPanelStore';
7 years ago
import { DrawLine, Undo, Redo } from './Add-on/DrawLine';
import { UndoData } from './DatabaseServices/UndoData';
function createRootElement()
7 years ago
{
var root = document.createElement('div');
root.id = "app"
7 years ago
root.style.height = "100%";
document.body.appendChild(root);
return root;
}
7 years ago
function renderCommand()
{
let commandEl = document.getElementById("commandContainer")
ReactDOM.render(
<Provider commandStore={commandStore}>
<CommandComponent />
</Provider>,
commandEl
)
}
function renderDownPanel()
{
let downPanelEl = document.getElementById("DownPanel")
let downPanelStore = new DownPanelStore();
ReactDOM.render(
<Provider store={downPanelStore}>
<DownPanel />
</Provider>,
downPanelEl
)
}
7 years ago
7 years ago
function initApp()
{
7 years ago
new ApplicationService();
7 years ago
//TODO: Test
window["undoData"] = new UndoData(app);
app.m_Editor.m_CommandMachine.m_CommandList.set("line", new DrawLine())
app.m_Editor.m_CommandMachine.m_CommandList.set("undo", new Undo())
7 years ago
app.m_Editor.m_CommandMachine.m_CommandList.set("redo", new Redo())
}
7 years ago
window.onload = function ()
{
createRootElement();
LoadLayoutNotHead();
initApp();
renderCommand();
renderDownPanel()
7 years ago
};