Beispiel #1
0
        public CheckEdit(string label = "") : base(new HTMLLabelElement() { className = "inputcontrol" + BaseClass(true, true) })
        {
            Edit               = new TextInput("checkbox");
            Edit.Controller    = this;
            Edit.OnTextChanged = (sender) => {
                if (OnCheckChanged != null)
                {
                    OnCheckChanged(this);
                }
            };
            span = new HTMLSpanElement();

            span.style.left       = (InputHeight - 2).ToPx();
            span.style.position   = "absolute";
            span.style.whiteSpace = "pre";

            if (Content.As <HTMLInputElement>().type == "checkbox")
            {
                Edit.Width  = (InputHeight - 4).ToPx();
                Edit.Height = (InputHeight - 4).ToPx();
            }

            Text = label;

            this.Content.AppendChildren(Edit, span);
        }
    public static string Html(this WebBrowser wb, string id, string val = null)
    {
        HtmlElement ele = wb.Document.GetElementById(id);

        if (ele.IsNotNull())
        {
            switch (ele.TagName.ToLower())
            {
            case "span":
                HTMLSpanElement spanEle = (HTMLSpanElement)ele.DomElement;
                if (val.IsNull())
                {
                    val = spanEle.innerHTML;
                }
                else
                {
                    spanEle.innerHTML = val;
                }
                break;

            case "div":
                HTMLDivElement divEle = (HTMLDivElement)ele.DomElement;
                if (val.IsNull())
                {
                    val = divEle.innerHTML;
                }
                else
                {
                    divEle.innerHTML = val;
                }
                break;
            }
        }
        return(val);
    }
Beispiel #3
0
        public void web1_LoadCompleted(object sender, NavigationEventArgs e)
        {

            HTMLDocument document = (HTMLDocument)web1.Document;

            // document.body.innerHTML = "hsfbashfbs";
            foreach (IHTMLSpanElement myelem in document.getElementsByTagName("span"))
            {
                HTMLSpanElement el = myelem as HTMLSpanElement;
                if (el.className.Equals("_2dpb"))
                {
                    el.innerText = "Nyuszóka párja";
                    // MessageBoxResult messageBoxResult3 = System.Windows.MessageBox.Show("Are youbbbbb sure?", "Delete Confirmation", System.Windows.MessageBoxButton.YesNo);
                    //  if (messageBoxResult3 == MessageBoxResult.Yes) ;
                }

                //    HTMLElementCollection elems = web1.Document.Equals;







            }

        }
Beispiel #4
0
        private static void RunSerializationTestFlow <TVal>(
            string defaultTypedVal,
            Converter <string, TVal> stringToTVal,
            Converter <TVal, string> tValToString,
            Func <TVal, Task <TVal> > send
            )
        {
            var inputVal =
                DocumentUtil.GetHashParameterOrNull(MagicsForTests.ValueToSend)
                ??
                defaultTypedVal;

            var clientVal = stringToTVal(inputVal);
            var btn       = new HTMLButtonElement {
                Id = MagicsForTests.RunClientSideTestBtnId, TextContent = "Click to test"
            };
            var resultSpan = new HTMLSpanElement {
                Id = MagicsForTests.ResultSpanId
            };

            btn.OnClick += async e => {
                var result = await send(clientVal);

                resultSpan.TextContent = tValToString(result);
            };

            Document.Body.AppendChild(btn);
            Document.Body.AppendChild(resultSpan);
        }
Beispiel #5
0
        public Dropdown(HTMLSpanElement noItemsSpan = null)
        {
            _noItemsSpan = noItemsSpan ?? Span(_(text: "There are no options available"));

            InnerElement = Div(_("tss-dropdown"), _noItemsSpan);

            _errorSpan = Span(_("tss-dropdown-error"));

            _container = Div(_("tss-dropdown-container"), InnerElement, _errorSpan);

            _childContainer = Div(_());

            InnerElement.onclick = (e) =>
            {
                StopEvent(e);
                if (!IsVisible && IsEnabled)
                {
                    Show();
                }
            };

            _container.onclick = (e) =>
            {
                StopEvent(e);
                if (!IsVisible && IsEnabled)
                {
                    Show();
                }
            };

            _callSelectOnChangingItemSelections = true;
            _selectedChildren = new ObservableList <Item>();

            _latestRequestID = 0;
        }
Beispiel #6
0
        public static HTMLSpanElement Label(string Caption, float X, float Y, float width, bool IsBold = false, bool IsTiny = false, string classr = "", string Alignment = "left", string Forecolor = null, bool ac = true)
        {
            var lbl = new HTMLSpanElement();

            lbl.className   = classr + BaseClass(!string.IsNullOrWhiteSpace(classr), ac);
            lbl.textContent = Caption;
            lbl.style.left  = X.ToPx();
            lbl.style.top   = Y.ToPx();
            lbl.style.width = width.ToPx();

            if (Alignment != "left")
            {
                if (Alignment == "right")
                {
                    lbl.style.direction = "rtl";
                }
                else
                {
                    lbl.style.textAlign = Alignment;
                }
            }
            SetBT(lbl, IsBold, IsTiny);
            if (Forecolor != null)
            {
                lbl.style.color = Forecolor;
            }

            return(lbl);
        }
Beispiel #7
0
        public EditableArea(string text = string.Empty)
        {
            _labelText = Span(_("tss-editablelabel-textspan", text: text, title: "Click to edit"));
            _editIcon  = I(_("tss-editablelabel-edit-icon las la-edit"));
            _labelView = Div(_("tss-editablelabel-displaybox"), _labelText, _editIcon);

            InnerElement    = TextArea(_("tss-editablelabel-textbox", type: "text"));
            _cancelEditIcon = Div(_("tss-editablelabel-cancel-icon", title: "Cancel edit"), I(_("las la-times")));
            _editView       = Div(_("tss-editablelabel-editbox"), InnerElement, _cancelEditIcon);

            _container = Div(_("tss-editablelabel"), _labelView, _editView);

            AttachChange();
            AttachInput();
            AttachFocus();
            AttachBlur();
            AttachKeys();

            _labelView.addEventListener("click", BeginEditing);
            _cancelEditIcon.addEventListener("click", CancelEditing);

            OnKeyUp((_, e) =>
            {
                if (e.key == "Escape")
                {
                    CancelEditing();
                }
            });

            OnBlur((_, __) => window.setTimeout(SaveEditing, 150)); // We need to do this on a timeout, because clicking on the Cancel would trigger this method first, with no opportunity to cancel
        }
Beispiel #8
0
        public Dropdown()
        {
            InnerElement = Div(_("tss-dropdown"));
            _errorSpan   = Span(_("tss-dropdown-error"));

            _container = Div(_("tss-dropdown-container"), InnerElement, _errorSpan);

            _childContainer = Div(_());

            InnerElement.onclick = (e) =>
            {
                StopEvent(e);
                if (!IsVisible)
                {
                    Show();
                }
            };

            _container.onclick = (e) =>
            {
                StopEvent(e);
                if (!IsVisible)
                {
                    Show();
                }
            };

            _selectedChildren = new ObservableList <Item>();
        }
Beispiel #9
0
        public EditableLabel(string text = string.Empty)
        {
            _labelText = Span(_("tss-editablelabel-textspan", text: text, title: "Click to edit"));
            _editIcon  = I(_("tss-editablelabel-edit-icon las la-edit"));
            _labelView = Div(_("tss-editablelabel-displaybox"), _labelText, _editIcon);

            InnerElement    = TextBox(_("tss-editablelabel-textbox", type: "text"));
            _cancelEditIcon = Div(_("tss-editablelabel-cancel-icon", title: "Cancel edit"), I(_("las la-times")));
            _editView       = Div(_("tss-editablelabel-editbox"), InnerElement, _cancelEditIcon);

            _container = Div(_("tss-editablelabel"), _labelView, _editView);

            AttachChange();
            AttachInput();
            AttachFocus();
            AttachBlur();
            AttachKeys();

            _labelView.addEventListener("click", BeginEditing);
            _cancelEditIcon.addEventListener("click", CancelEditing);

            OnKeyUp((_, e) =>
            {
                if (e.key == "Enter")
                {
                    BeginSaveEditing();
                }
                else if (e.key == "Escape")
                {
                    CancelEditing();
                }
            });

            OnBlur((_, __) => BeginSaveEditing());
        }
Beispiel #10
0
        public void CSSStyleDeclarationBoundInboundDirection()
        {
            var element = new HTMLSpanElement();
            var text    = "background-color: red; color: black;";

            element.Style.CssText = text;
            Assert.AreEqual(text, element.GetAttribute("style"));
            Assert.AreEqual(2, element.Style.Length);
        }
Beispiel #11
0
        public float MeasureStringWidth(string text, Font font)
        {
            _context.font = font.FontString;
            var size = _context.measureText(text);
            var sp   = new HTMLSpanElement();

            sp.style.font = font.FontString;
            return((float)size.width);
        }
Beispiel #12
0
 private void InitButtonDel()
 {
     _buttonDel = new HTMLSpanElement()
     {
         ClassName = "glyphicon glyphicon-remove-sign text-right"
     };
     _buttonDel.OnClick += new Action <Html5.MouseEvent <Html5.HTMLSpanElement> >(delegate {
         DeleteClicked?.Invoke();
     });
 }
Beispiel #13
0
        public SizeF MeasureString(string text, Font font)
        {
            _context.font = font.FontString;
            var size = _context.measureText(text);
            var sp   = new HTMLSpanElement();

            sp.style.font = font.FontString;

            return(new SizeF(size.width, internalMeasureHeight(text, font)));
        }
Beispiel #14
0
 public CheckBox(string text = string.Empty)
 {
     InnerElement = CheckBox(_("tss-checkbox"));
     _checkSpan   = Span(_("tss-checkbox-mark"));
     _label       = Label(_("tss-checkbox-container", text: text), InnerElement, _checkSpan);
     AttachClick();
     AttachChange();
     AttachFocus();
     AttachBlur();
 }
Beispiel #15
0
 private static void SetBT(HTMLSpanElement lbl, bool IsBold, bool IsTiny)
 {
     if (IsBold)
     {
         lbl.style.fontWeight = "bold";
     }
     if (IsTiny)
     {
         lbl.style.fontSize = "6.75pt";
     }
 }
Beispiel #16
0
 public NavLink(string text = null, string icon = null)
 {
     _textSpan              = Span(_(text: text));
     _childContainer        = Ul(_("tss-nav-link-container"));
     _expandButton          = Button(_("tss-nav-link-button"));
     _headerDiv             = Div(_("tss-nav-link-header"), _expandButton, _textSpan);
     _headerDiv.onclick    += ClickHandler;
     _expandButton.onclick += ExpandHandler;
     InnerElement           = Li(_("tss-nav-link"), _headerDiv, _childContainer);
     Size   = TextSize.Small;
     Weight = TextWeight.Regular;
 }
Beispiel #17
0
        public static HTMLSpanElement Label(string c, float X, float Y, float width, float height, bool IsBold = false, bool IsTiny = false, string classr = "", bool ac = true)
        {
            var lbl = new HTMLSpanElement()
            {
                className = classr + BaseClass(!string.IsNullOrWhiteSpace(classr), ac)
            };

            lbl.innerHTML = c.HtmlEscape();
            lbl.SetBounds(X, Y, width, height);
            SetBT(lbl, IsBold, IsTiny);

            return(lbl);
        }
Beispiel #18
0
        public static HTMLSpanElement Label(string Caption, float X, float Y, bool IsBold = false, bool IsTiny = false, bool ac = true)
        {
            var lbl = new HTMLSpanElement()
            {
                className = BaseClass(false, ac)
            };

            lbl.innerHTML = Caption.HtmlEscape();
            lbl.SetLocation(X, Y);
            SetBT(lbl, IsBold, IsTiny);

            return(lbl);
        }
Beispiel #19
0
        public static HTMLSpanElement Label(string c, int X, int Y, int width, bool IsBold = false, bool IsTiny = false, string classr = "", bool ac = true)
        {
            var lbl = new HTMLSpanElement()
            {
                className = classr + BaseClass(!string.IsNullOrWhiteSpace(classr), ac)
            };

            lbl.innerHTML = c.HtmlEscape();
            lbl.SetLocation(X, Y);
            lbl.style.width = width.ToPx();
            SetBT(lbl, IsBold, IsTiny);

            return(lbl);
        }
Beispiel #20
0
        public TextBox(string text = string.Empty)
        {
            InnerElement = TextBox(_("tss-textbox", type: "text", value: text));
            _errorSpan   = Span(_("tss-textbox-error"));
            _container   = Div(_("tss-textbox-container"), InnerElement, _errorSpan);
            AttachChange();
            AttachInput();
            AttachFocus();
            AttachBlur();

            OnChange((_, __) => _observable.Value = Text);

            OnInput((_, __) => _observable.Value = Text);
        }
Beispiel #21
0
        public static Element[] CreateDateTimeField()
        {
            var label = new HTMLLabelElement
            {
                HtmlFor   = "dateTimeInput",
                InnerHTML = "Server Date and Time:"
            };

            var div = new HTMLDivElement
            {
                ClassName = "input-group"
            };

            var spanPrefix = new HTMLSpanElement
            {
                ClassName = "input-group-addon glyphicon glyphicon-time"
            };

            var spanSuffix = new HTMLSpanElement
            {
                ClassName = "input-group-btn"
            };

            var button = new HTMLButtonElement
            {
                Type      = ButtonType.Button,
                ClassName = "btn btn-primary",
                InnerHTML = "<span class=\"glyphicon glyphicon-refresh\"></span>",
                OnClick   = Html5App.UpdateButton_Click
            };

            var input = new  HTMLInputElement
            {
                Id          = "dateTimeInput",
                Type        = InputType.Text,
                ClassName   = "form-control",
                Placeholder = "Click update...",
                ReadOnly    = true,
                Name        = "datetime"
            };

            spanSuffix.AppendChild(button);

            div.AppendChild(spanPrefix);
            div.AppendChild(input);
            div.AppendChild(spanSuffix);

            return(new Element[] { label, div });
        }
Beispiel #22
0
        public CheckBox(string text = string.Empty)
        {
            InnerElement = CheckBox(_("tss-checkbox"));
            _checkSpan   = Span(_("tss-checkbox-mark"));
            _label       = Label(_("tss-checkbox-container tss-default-component-margin", text: text), InnerElement, _checkSpan);
            AttachClick();
            AttachChange();
            AttachFocus();
            AttachBlur();

            InnerElement.onchange = _ =>
            {
                _observable.Value = InnerElement.@checked;
            };
        }
Beispiel #23
0
            public void SetValue(string value)
            {
                //System.Windows.Forms.SendKeys.SendWait(value);

                HTMLSpanElement spanElement = inputElement as HTMLSpanElement;

                if (String.IsNullOrEmpty(value))
                {
                    spanElement.innerText = String.Empty;
                }
                else
                {
                    spanElement.innerText = spanElement.innerText + value;
                }
            }
Beispiel #24
0
        public Button(string text = string.Empty)
        {
            _textSpan    = Span(_(text: text));
            InnerElement = Button(_("tss-btn tss-btn-default"), _textSpan);
            Weight       = TextWeight.SemiBold;
            Size         = TextSize.Small;

            AttachClick();
            AttachFocus();
            AttachBlur();

            if (string.IsNullOrEmpty(text))
            {
                InnerElement.style.minWidth = "unset";
            }
        }
Beispiel #25
0
        protected Input(string type, string defaultText = null)
        {
            InnerElement = TextBox(_("tss-textbox", type: type, value: defaultText));

            _errorSpan = Span(_("tss-textbox-error"));
            _container = Div(_("tss-textbox-container"), InnerElement, _errorSpan);

            AttachChange();
            AttachInput();
            AttachFocus();
            AttachBlur();
            AttachKeys();

            // TODO: 27/06/20 - MB - calling virtual member within a constructor is a bit of a no-no.
            OnChange((_, __) => _observable.Value = Text);
            OnInput((_, __) => _observable.Value  = Text);
        }
Beispiel #26
0
 public Choice(string text)
 {
     InnerElement = RadioButton(_("tss-option"));
     _radioSpan   = Span(_("tss-option-mark"));
     _label       = Label(_("tss-option-container", text: text), InnerElement, _radioSpan);
     AttachClick();
     AttachChange();
     AttachFocus();
     AttachBlur();
     onChange += (s, e) =>
     {
         if (IsSelected)
         {
             OnSelect?.Invoke(this, this);
         }
     };
 }
Beispiel #27
0
        public static HTMLDivElement CreateFormField(string name, string glyph)
        {
            var div = new HTMLDivElement
            {
                ClassName = "input-group",
                Style     =
                {
                    MarginBottom = "10px"
                }
            };

            var span = new HTMLSpanElement
            {
                ClassName = "glyphicon glyphicon-" + glyph + " input-group-addon"
            };

            Element input;
            var     placeholder = name + "...";

            if (name == "Message")
            {
                input = new HTMLTextAreaElement
                {
                    Name        = name.ToLowerCase(),
                    Placeholder = placeholder,
                    Required    = true,
                    ClassName   = "form-control"
                };
            }
            else
            {
                input = new  HTMLInputElement
                {
                    Type        = InputType.Text,
                    Name        = name.ToLowerCase(),
                    Placeholder = placeholder,
                    Required    = true,
                    ClassName   = "form-control"
                };
            }

            div.AppendChild(span);
            div.AppendChild(input);

            return(div);
        }
Beispiel #28
0
 public Choice(string text)
 {
     InnerElement = RadioButton(_("tss-option"));
     _radioSpan   = Span(_("tss-option-mark"));
     _label       = Label(_("tss-option-container tss-default-component-margin", text: text), InnerElement, _radioSpan);
     AttachClick();
     AttachChange();
     AttachFocus();
     AttachBlur();
     Changed += (s, e) =>
     {
         if (IsSelected)
         {
             SelectedItem?.Invoke(this);
         }
     };
 }
Beispiel #29
0
        public void web1_LoadCompleted(object sender, NavigationEventArgs e)
        {

            HTMLDocument document = (HTMLDocument)web1.Document;

            // document.body.innerHTML = "hsfbashfbs";
            foreach (IHTMLSpanElement myelem in document.getElementsByTagName("span"))
            {
                HTMLSpanElement el = myelem as HTMLSpanElement;
                if (el.className.Equals("_2dpb"))
                {
                    el.innerText = "párom";

                }

            }

        }
Beispiel #30
0
        public TextArea(string text = string.Empty)
        {
            InnerElement = TextArea(_("tss-textbox", type: "text", value: text));
            _errorSpan   = Span(_("tss-textbox-error"));
            _container   = Div(_("tss-textbox-container"), InnerElement, _errorSpan);

            //TODO: Need to make container display:flex, and use flex-grow to have correct sizing with _errorSpan
            InnerElement.style.width  = "100%";
            InnerElement.style.height = "100%";

            AttachChange();
            AttachInput();
            AttachFocus();
            AttachBlur();

            OnChange((_, __) => _observable.Value = Text);

            OnInput((_, __) => _observable.Value = Text);
        }