示例#1
0
        public void Push(IBladeRenderer renderer, string title = "")
        {
            var blade = new Blade(this, renderer, _stack.Count(), _panels[_stack.Count()], title, _containers[_stack.Count()]);

            _stack.Push(blade);
            blade.Refresh();
        }
示例#2
0
        public void OpenSideBlade(IBladeRenderer renderer, Action <object> onClose = null, string title = "")
        {
            if (_sideBlade != null)
            {
                _sideBlade?.Clear();
                _sideBlade = null;
                _overlay.Hide();
            }

            _overlay.Show();
            _sideBladeOnClose = onClose;
            _divSideBlade.SetVisibility(true);
            _sideBlade = new Blade(this, renderer, -1, _sideBladeContainer, title, null);
            _sideBlade.Refresh();
        }
示例#3
0
 public void CloseSideBlade(object result = null, bool refresh = false)
 {
     _divSideBlade.SetVisibility(false);
     _overlay.Hide();
     _sideBlade?.Clear();
     _sideBlade = null;
     if (_sideBladeOnClose != null)
     {
         _sideBladeOnClose(result);
     }
     else if (refresh)
     {
         _stack.Peek().Refresh();
     }
     _sideBladeOnClose = null;
 }
示例#4
0
        public object Render(Blade blade)
        {
            var searchBox = new SearchBox();

            var refreshContainer = new RefreshPanel(new[] { searchBox }, () =>
            {
                return(new Menu(
                           _options.Where(e => e.Label.StartsWith(searchBox.Text)).Select(e => new MenuButton(e.Label, (_) =>
                {
                    _onSelect(e);
                })).ToArray()
                           ));
            });

            return(new HeaderPanel(
                       Layout.Fill().Middle().Add(searchBox, "1fr").Horizontal(),
                       refreshContainer
                       ));
        }
示例#5
0
 public object Render(Blade blade)
 {
     return(_render(blade));
 }
示例#6
0
 public object Render(Blade blade)
 {
     return(new Menu(_rootNode.Children.Select(e => e.Render(blade)).ToArray()));
 }