瀏覽代碼

Breadcrumbs in header

crobi 9 年之前
父節點
當前提交
f0c0fce9ee
共有 1 個文件被更改,包括 26 次插入6 次删除
  1. 26
    6
      client/src/views/header.ts

+ 26
- 6
client/src/views/header.ts 查看文件

4
 
4
 
5
 
5
 
6
     var homeItem = React.DOM.div
6
     var homeItem = React.DOM.div
7
-        ( { className: 'navbar-item', onClick: null }
7
+        ( { className: 'navbar-item', onClick: (e)=>page("/") }
8
         , React.DOM.i({ className: 'server icon' })
8
         , React.DOM.i({ className: 'server icon' })
9
         , 'Home'
9
         , 'Home'
10
         );
10
         );
17
     var flexItem = React.DOM.div
17
     var flexItem = React.DOM.div
18
         ( { className: 'flex-navbar-item' }
18
         ( { className: 'flex-navbar-item' }
19
         );
19
         );
20
+       
21
+    function breadCrumb(name: string, link: string): React.ReactElement<any> {
22
+        return  React.DOM.div( { className: 'flex-item', onClick: ()=>page(link) }
23
+            , name
24
+        );
25
+    }
26
+    
27
+    var breadCrumbSeparator = React.DOM.div
28
+        ( { className: 'navbar-item'}
29
+        , '>'
30
+        );
31
+    
32
+    function breadCrumbs(viewState: ViewState, ids: EntityId[]): React.ReactElement<any>[]{
33
+        switch(viewState) {
34
+            case ViewState.MainMenu: return null;
35
+            case ViewState.DeckList: return null;
36
+            case ViewState.DeckEdit: return [breadCrumb("Decks", "/decks")];
37
+        }
38
+    }
20
 
39
 
21
     function accountIdItem() {
40
     function accountIdItem() {
22
         return React.DOM.div
41
         return React.DOM.div
27
     }
46
     }
28
 
47
 
29
     export function renderHeader(store: Store): React.ReactElement<any> {
48
     export function renderHeader(store: Store): React.ReactElement<any> {
30
-        return React.DOM.div({ className: 'navbar' },
31
-            homeItem,
32
-            flexItem,
33
-            accountIdItem(),
34
-            signOutItem
49
+        return React.DOM.div({ className: 'navbar' }
50
+            , homeItem
51
+            , breadCrumbs(store.getViewState(), store.getViewParams())
52
+            , flexItem
53
+            , accountIdItem()
54
+            , signOutItem
35
         );
55
         );
36
     }
56
     }
37
 }
57
 }

Loading…
取消
儲存