Kaynağa Gözat

improved app interface

Skylsmoi 7 yıl önce
ebeveyn
işleme
fcbef216fc
2 değiştirilmiş dosya ile 23 ekleme ve 20 silme
  1. 16 14
      src/container/PageHtml.jsx
  2. 7 6
      src/index.js

+ 16 - 14
src/container/PageHtml.jsx Dosyayı Görüntüle

@@ -47,16 +47,27 @@ class pageHtml extends React.Component {
47 47
     this.state = {
48 48
       appName: 'PageHtml',
49 49
       isVisible: true,
50
-      workspace: props.app ? props.app.workspace : debug.workspace,
51
-      appConfig: props.app ? props.app.appConfig : debug.appConfig,
52
-      loggedUser: props.app ? props.app.loggedUser : debug.loggedUser,
53
-      content: props.app ? props.app.content : debug.content,
54
-      timeline: props.app ? [] : debug.timeline
50
+      workspace: props.data ? props.data.workspace : debug.workspace,
51
+      appConfig: props.data ? props.data.appConfig : debug.appConfig,
52
+      loggedUser: props.data ? props.data.loggedUser : debug.loggedUser,
53
+      content: props.data ? props.data.content : debug.content,
54
+      timeline: props.data ? [] : debug.timeline
55 55
     }
56 56
 
57 57
     document.addEventListener('appCustomEvent', this.customEventReducer)
58 58
   }
59 59
 
60
+  customEventReducer = ({ detail: action }) => { // action: { type: '', data: {} }
61
+    switch (action.type) {
62
+      case 'PageHtml_showApp':
63
+        this.setState({isVisible: true})
64
+        break
65
+      case 'PageHtml_hideApp':
66
+        this.setState({isVisible: false})
67
+        break
68
+    }
69
+  }
70
+
60 71
   async componentDidMount () {
61 72
     const { workspace, content, appConfig } = this.state
62 73
     if (content.id === '-1') return // debug case
@@ -79,16 +90,7 @@ class pageHtml extends React.Component {
79 90
     })
80 91
   }
81 92
 
82
-  customEventReducer = action => { // action: { type: '', data: {} }
83
-    switch (action.type) {
84
-      case 'PageHtml_dummyTest':
85
-        this.setState({dummy: true})
86
-        break
87
-    }
88
-  }
89
-
90 93
   handleClickBtnCloseApp = () => {
91
-    // GLOBAL_unmountApp(this.state.appName)
92 94
     this.setState({ isVisible: false })
93 95
   }
94 96
 

+ 7 - 6
src/index.js Dosyayı Görüntüle

@@ -4,15 +4,16 @@ import PageHtml from './container/PageHtml.jsx'
4 4
 
5 5
 require('./css/index.styl')
6 6
 
7
-const appInterface = class appInterface {
8
-  renderApp = (domId, app) => {
7
+const appInterface = {
8
+  name: 'PageHtml',
9
+  isRendered: false,
10
+  renderApp: (domId, data) => {
9 11
     return ReactDOM.render(
10
-      <PageHtml app={app} />
12
+      <PageHtml app={data} />
11 13
       , document.getElementById(domId)
12 14
     )
13
-  }
14
-
15
-  unountApp = domId => {
15
+  },
16
+  hideApp: domId => {
16 17
     return ReactDOM.unmountComponentAtNode(document.getElementById(domId)) // returns bool
17 18
   }
18 19
 }