1 module deepmagic.layout.code_black.header_block.top_menu; 2 3 import deepmagic.layout.code_black; 4 5 class AppLayoutTopMenu : DivElement{ 6 string title = ""; 7 8 this(){ 9 super(); 10 this.tag.attr["class"] = "media"; 11 this.tag.attr["id"] = "top-menu"; 12 this.init(); 13 } 14 15 AElement drawer_toggle(string data_drawer, string href, string class_name, int number, string value){ 16 IElement top_message = new IElement(); 17 top_message.tag.attr["class"] = class_name; 18 top_message ~= new Text(""); 19 20 IElement n_count = new IElement(); 21 n_count.tag.attr["class"] = "n-count animated"; 22 import std.conv; 23 n_count ~= new Text(to!(string)(number)); 24 25 SpanElement span = new SpanElement(); 26 span ~= new Text(value); 27 28 AElement d = new AElement(); 29 d.tag.attr["class"] = "drawer-toggle"; 30 d.tag.attr["data-drawer"] = data_drawer; 31 d.tag.attr["href"] = href; 32 33 d ~= top_message; 34 d ~= n_count; 35 d ~= span; 36 37 return d; 38 } 39 40 DivElement icon(){ 41 DivElement i = new DivElement(); 42 i.tag.attr["class"] = "pull-left tm-icon"; 43 44 i ~= drawer_toggle("messages", "#", "sa-top-message", 5, "Messages"); 45 i ~= drawer_toggle("notifications", "#", "sa-top-update", 9, "Updates"); 46 47 return i; 48 } 49 50 DivElement time(){ 51 SpanElement hours = new SpanElement(); 52 hours.tag.attr["id"] = "hours"; 53 hours ~= new Text(":"); 54 55 SpanElement min = new SpanElement(); 56 min.tag.attr["id"] = "min"; 57 min ~= new Text(":"); 58 59 SpanElement sec = new SpanElement(); 60 sec.tag.attr["id"] = "sec"; 61 sec ~= new Text(""); 62 63 DivElement t = new DivElement(); 64 t.tag.attr["id"] = "time"; 65 t.tag.attr["class"] = "pull-right"; 66 67 t ~= hours; 68 t ~= min; 69 t ~= sec; 70 71 return t; 72 } 73 74 DivElement media_body(){ 75 InputElement input = new InputElement(); 76 input.tag.attr["class"] = "main-search"; 77 input.tag.attr["type"] = "text"; 78 79 DivElement mb = new DivElement(); 80 mb.tag.attr["class"] = "media-body"; 81 82 mb ~= input; 83 84 return mb; 85 } 86 87 override void init(){ 88 this ~= this.icon(); 89 this ~= time(); 90 this ~= media_body(); 91 } 92 }