public override string Render(string body = "") { if (User.UserId == 0) { //load login page var page = new Login(); page.Context = Context; page.Parameters = Parameters; page.Path = Path; page.PathParts = PathParts; page.Init(); return(page.Render()); } //load boards list var view = new View("/Views/Boards/boards.html"); view["list"] = Common.Boards.RenderList(User.UserId, this); //load page resources AddScript("/js/dashboard.js?v=" + Server.Version); AddCSS("/css/dashboard.css?v=" + Server.Version); //load header LoadHeader(ref view, HasMenu.Boards); //init boards page Scripts.Append("<script>S.boards.page.init();</script>"); //render page return(base.Render(view.Render())); }
public void LoadHeader(ref View view, bool hasMenu = true) { if (User.userId > 0) { view.Child("header").Show("user"); view.Child("header")["boards-menu"] = Common.Platform.Boards.RenderBoardsMenu(this); if (User.photo == true) { view.Child("header")["user-photo"] = "/users/" + FileSystem.DateFolders(User.datecreated) + "/photo.jpg"; } else { view.Child("header").Show("no-user"); } //apply user settings to UI layout configuration if (hasMenu == true) { view.Child("header").Show("boards"); view.Child("header").Show("boards-2"); if (User.keepMenuOpen == true) { Scripts.Append("<script language=\"javascript\">S.head.boards.show();S.head.boards.alwaysShow(true);</script>"); } } } else { view.Child("header").Show("no-user"); } }
public override string Render(string body = "") { if (User.UserId > 0) { //redirect to dashboard return(base.Render(Redirect("/boards/"))); } //check for database reset var view = new View("/Views/Login/login.html"); if (App.Environment == Environment.development && Server.HasAdmin == false) { //load new administrator form view = new View("/Views/Login/new-admin.html"); view["title"] = "Create an administrator account"; Scripts.Append("<script src=\"/js/views/login/new-admin.js?v=" + Server.Version + "\"></script>"); } else if (App.Environment == Environment.development && User.ResetPass == true) { //load new password form (for admin only) view = new View("/Views/Login/new-pass.html"); view["title"] = "Create an administrator password"; Scripts.Append("<script src=\"/js/views/login/new-pass.js?v=" + Server.Version + "\"></script>"); } else { //load login form (default) Scripts.Append("<script src=\"/js/views/login/login.js?v=" + Server.Version + "\"></script>"); } //load login page return(base.Render(view.Render())); }
public virtual string Render(string body = "") { if (usePlatform == true) { Scripts.Append("<script language=\"javascript\">S.svg.load('/themes/default/icons.svg?v=" + Server.Version + "');</script>"); } var view = new View("/Views/Shared/layout.html"); view["title"] = title; view["description"] = description; view["theme"] = theme; view["head-css"] = Css.ToString(); view["favicon"] = favicon; view["body"] = body; if (usePlatform) { view.Show("platform-1"); view.Show("platform-2"); view.Show("platform-3"); } //add initialization script view["scripts"] = Scripts.ToString(); return(view.Render()); }
public override void AddScript(string url, string id = "", string callback = "") { if (ContainsResource(url)) { return; } Scripts.Append("<script language=\"javascript\"" + (id != "" ? " id=\"" + id + "\"" : "") + " src=\"" + url + "\"" + (callback != "" ? " onload=\"" + callback + "\"" : "") + "></script>"); }
public override string Render(string body = "") { //load signup form var view = new View("/Views/Signup/signup.html"); view["title"] = "Create a new Kandu account"; Scripts.Append("<script src=\"/js/views/signup/signup.js?v=" + Server.Version + "\"></script>"); //load signup page return(base.Render(view.Render())); }
public new void LoadHeader(ref View view, HasMenu hasMenu = HasMenu.None) { if (User.UserId > 0) { //user logged in view.Child("header").Show("user"); if (User.Photo == true) { view.Child("header")["user-photo"] = "/users/" + FileSystem.DateFolders(User.DateCreated) + "/photo.jpg"; } else { view.Child("header").Show("no-photo"); } if (hasMenu == HasMenu.Boards) { //show drop down menu for boards list } else if (hasMenu == HasMenu.Board) { //show drop down menu for board view.Child("header").Show("boards"); view.Child("header")["boards-menu"] = Common.Boards.RenderSideBar(this); if (User.KeepMenuOpen == true) { //apply user settings to UI layout configuration Scripts.Append("<script language=\"javascript\">S.head.boards.show();S.head.boards.alwaysShow(true);</script>"); } } //load user menu view.Child("header")["user-menu"] = Common.User.RenderUserMenu(this); //load organization templates view.Child("header")["org-menu"] = Common.Organizations.RenderList(this); view.Child("header")["org-templates"] = Cache.LoadFile("/Views/Organizations/templates.html");; } else { //user not logged in view.Child("header").Show("no-user"); } }
public override string Render(string body = "") { Scripts.Append("<script language=\"javascript\">S.svg.load('/themes/default/icons.svg?v=" + Server.Version + "');</script>"); var view = new View("/Views/Shared/layout.html"); view["title"] = Title; view["description"] = Description; view["theme"] = Theme; view["head-css"] = Css.ToString(); view["favicon"] = Favicon; view["body"] = body; //add initialization script view["scripts"] = Scripts.ToString(); return(view.Render()); }
public virtual string Render(string body = "") { Scripts.Append("<script language=\"javascript\">S.svg.load('/images/icons.svg?v=" + Server.Version + "');</script>"); var view = new View("/Views/Shared/layout.html"); view["title"] = title; view["description"] = description; view["version"] = Server.Version; view["language"] = User.language; view["theme"] = theme; view["head-css"] = Css.ToString(); //load body view["body"] = body; //add initialization script view["scripts"] = Scripts.ToString(); return(view.Render()); }
public override string Render(string body = "") { //check security if (PathParts.Length < 2) { return(Error()); } var boardId = int.Parse(PathParts[1]); if (User.userId == 0) { return(AccessDenied <Login>()); } if (!User.CheckSecurity(boardId)) { return(AccessDenied <Login>()); } //add client-side dependencies AddScript("/js/views/board/board.js?v=" + Server.Version); AddScript("/js/dashboard.js?v=" + Server.Version); AddCSS("/css/dashboard.css?v=" + Server.Version); var view = new View("/Views/Board/board.html"); //load board details var colors = new Utility.Colors(); var board = Query.Boards.GetBoardAndLists(boardId); BoardPage page; //add custom javascript for User Settings & Board info Scripts.Append("<script language=\"javascript\">" + "S.board.id=" + board.boardId + ";" + (User.allColor ? "S.head.allColor();" : "") + "</script>"); //choose which Lists Type to render switch (board.type) { default: case Query.Models.Board.BoardType.kanban: //kanban page = new Kanban(); page.Init(Context, Parameters, Path, PathParts); break; } //dependancy injection page.board = board; //set background color of board view["color"] = "#" + board.color; view["color-dark"] = colors.ChangeHexBrightness(board.color, (float)-0.3); //transfer resources from page Scripts.Append(page.Scripts.ToString()); Css.Append(page.Css.ToString()); //render board lists view["content"] = page.Render(); //load header LoadHeader(ref view); return(base.Render(view.Render())); }
public Kanban() { //load page resources Scripts.Append("<script src=\"/js/views/board/kanban/kanban.js?v=" + Server.Version + "\"></script>"); Css.Append("<link type=\"text/css\" rel=\"stylesheet\" href=\"/css/views/board/kanban/kanban.css?v=" + Server.Version + "\">"); }
public override string Render(string body = "") { if (!CheckSecurity()) { return(AccessDenied <Login>()); } //add Scripts to page AddScript("/js/dashboard.js?v=" + Server.Version); AddCSS("/css/dashboard.css?v=" + Server.Version); var dash = new View("/Views/Dashboard/dashboard.html"); //get list of books var html = new StringBuilder(); var books = Query.Books.GetList(User.userId); if (books.Count > 0) { //books exist var list = new View("/Views/Books/list-item.html"); var i = 0; books.ForEach((Query.Models.Book book) => { if (i == 0) { list["selected"] = "selected"; } else { list["selected"] = ""; } list["id"] = book.bookId.ToString(); list["title"] = book.title; html.Append(list.Render()); i++; }); dash["books"] = html.ToString(); //get list of entries for top book var bookId = 0; var entryId = 0; if (books.Count > 0) { bookId = books[0].bookId; var first = Query.Entries.GetFirst(User.userId, bookId, (int)Entries.SortType.byChapter); var script = new StringBuilder("<script language=\"javascript\">S.entries.bookId=" + bookId + ";"); entryId = first.entryId; if (first != null) { //load content of first entry dash["editor-content"] = Entries.LoadEntry(first.entryId, bookId); script.Append("S.editor.entryId=" + entryId.ToString() + ";$('.editor').removeClass('hide');"); } else { dash["no-entries"] = "hide"; script.Append("S.entries.noentries();"); } Scripts.Append(script.ToString() + "S.dash.init();</script>"); } dash["entries"] = Entries.GetList(User.userId, bookId, entryId, 1, 500, Entries.SortType.byChapter); } else { dash["no-books"] = "hide"; dash["no-entries"] = "hide"; dash["no-content"] = Server.LoadFileFromCache("/Views/Dashboard/templates/nobooks.html"); } //get count for tags & trash dash["tags-count"] = "0"; dash["trash-count"] = Trash.GetCount(User.userId).ToString(); //load script templates (for popups) dash["templates"] = Server.LoadFileFromCache("/Views/Dashboard/templates/newbook.html") + Server.LoadFileFromCache("/Views/Dashboard/templates/newentry.html") + Server.LoadFileFromCache("/Views/Dashboard/templates/newchapter.html") + Server.LoadFileFromCache("/Views/Dashboard/templates/noentries.html"); return(base.Render(dash.Render())); }