public object Render(T obj, EditorField <T> editorField, Action preview) { object _value = editorField.GetValue(obj); DateTime?value; if (_value == null) { value = null; } else if (_value is DateTimeOffset dto) { value = dto.DateTime; } else if (_value is DateTime dt) { value = dt; } else { throw new ArgumentException("Not a DateTime or DateTimeOffset."); } _dateBox = new DateBox(value) { }; //_dateBox.HtmlElement.SetAttribute("placeholder", "YYYY-MM-DD"); _dateBox.TextInput += (sender, args) => preview(); _dateBox.Enabled = editorField.Enabled; return(_field = new Field(editorField.Label, _dateBox, editorField.Description, editorField.Helper, editorField.Required)); }
public object Render(T obj, EditorField <T> editorFieldInfo, Action preview) { object value = editorFieldInfo.GetValue(obj); var options = GetOptions(editorFieldInfo); var selectedOption = options.Where(e => Equals(e.Value, value)).Select(e => e.Label).FirstOrDefault(); _selectBox = new Controls.SelectBox(options.Select(e => e.Label).ToArray()) { SelectedOption = selectedOption }; _selectBox.SelectionChanged += (sender, args) => preview(); _selectBox.Enabled = editorFieldInfo.Enabled; return(_field = new Field( editorFieldInfo.Label, _selectBox, editorFieldInfo.Description, editorFieldInfo.Helper, editorFieldInfo.Required )); }
public object Render(T obj, EditorField <T> editorFieldInfo, Action updated) { var value = Convert.ToString(editorFieldInfo.GetValue(obj)); if (_multiLine) { _textBox = new Controls.TextArea(value); _textBox.Styles["width"] = "-webkit-fill-available"; ((Controls.TextArea)_textBox).TextInput += (sender, args) => updated(); } else { _textBox = new Controls.TextBox(value); ((Controls.TextBox)_textBox).TextInput += (sender, args) => updated(); } if (_fixedFont) { _textBox.HtmlElement.SetAttribute("class", "fixed-font"); } _textBox.Enabled = editorFieldInfo.Enabled; return(_field = new Field( editorFieldInfo.Label, _textBox, editorFieldInfo.Description, editorFieldInfo.Helper, editorFieldInfo.Required )); }
public object Render(T obj, EditorField <T> editorFieldInfo, Action preview) { var container = new Div(_dumpContainer); container.SetClass("entity-editor-literal"); _dumpContainer.Content = _contentFormatter.Format(editorFieldInfo.GetValue(obj), emptyContent: "-"); return(_field = new Field(editorFieldInfo.Label, container, editorFieldInfo.Description, editorFieldInfo.Helper)); }
public object Render(T obj, EditorField <T> editorFieldInfo, Action preview) { object value = editorFieldInfo.GetValue(obj); double?initialValue = value == null ? (double?)null : Convert.ToDouble(value); _numberBox = new NumberBox(initialValue, _decimals) { }; _numberBox.TextInput += (sender, args) => preview(); _numberBox.Enabled = editorFieldInfo.Enabled; return(_field = new Field(editorFieldInfo.Label, _numberBox, editorFieldInfo.Description, editorFieldInfo.Helper, editorFieldInfo.Required)); }
public object Render(T obj, EditorField <T> editorFieldInfo, Action updated) { var value = Convert.ToString(editorFieldInfo.GetValue(obj)); _codeBox = new Controls.CodeEditor(value, _language); _codeBox.TextInput += (sender, args) => updated(); return(_field = new Field( editorFieldInfo.Label, _codeBox, editorFieldInfo.Description, editorFieldInfo.Helper, editorFieldInfo.Required )); }
public object Render(T obj, EditorField <T> editorFieldInfo, Action preview) { object value = editorFieldInfo.GetValue(obj); _selectBox = new AsyncDataListBox(_queryOptions, _findOption) { }; if (value != null) { _selectBox.SetValueAsync(value).GetAwaiter().GetResult(); } _selectBox.Updated += (_) => preview(); return(_field = new Field(editorFieldInfo.Label, _selectBox, editorFieldInfo.Description, editorFieldInfo.Helper, editorFieldInfo.Required)); }
public object Render(T obj, EditorField <T> editorField, Action preview) { object value = editorField.GetValue(obj); var labelText = value?.ToString() ?? ""; _dataListBox = new DataListBox(_options) { Text = labelText }; _dataListBox.TextInput += (sender, args) => preview(); _dataListBox.Enabled = editorField.Enabled; return(_field = new Field(editorField.Label, _dataListBox, editorField.Description, editorField.Helper, editorField.Required)); }
public object Render(T obj, EditorField <T> editorField, Action preview) { var value = Convert.ToBoolean(editorField.GetValue(obj)); _checkBox = new CheckBox(editorField.Label, value); _checkBox.Click += (sender, args) => preview(); var _container = new Div(_checkBox); _container.SetClass("entity-editor-bool"); _wrapper = new DumpContainer(_container); _checkBox.Enabled = editorField.Enabled; return(_wrapper); }
public object Render(T obj, EditorField <T> editorFieldInfo, Action updated) { var value = Convert.ToString(editorFieldInfo.GetValue(obj)); _fileBox = new FileBox(value, _initialCatalog); _fileBox.TextInput += (sender, args) => updated(); if (editorFieldInfo.Required) { _fileBox.TextBox.HtmlElement.SetAttribute("required", "required"); } return(_field = new Field( editorFieldInfo.Label, _fileBox, editorFieldInfo.Description, editorFieldInfo.Helper, editorFieldInfo.Required )); }
public object Render(T obj, EditorField <T> editorFieldInfo, Action preview) { object value = editorFieldInfo.GetValue(obj); _elementType = editorFieldInfo.Type.GenericTypeArguments.Single(); int[] _selectedIndexes = null; if (value is IEnumerable selectedItems) { _selectedIndexes = selectedItems.Cast <object>().Select(e => Array.IndexOf(_options.Select(f => f.Value).ToArray(), e)).Where(e => e != -1).ToArray(); } _selectBox = new MultiSelectBox(_options, _selectedIndexes); _selectBox.SelectionChanged += (sender, args) => preview(); _selectBox.Enabled = editorFieldInfo.Enabled; return(_field = new Field(editorFieldInfo.Label, _selectBox, editorFieldInfo.Description, editorFieldInfo.Helper, editorFieldInfo.Required)); }
public object Render(T obj, EditorField <T> editorFieldInfo, Action preview) { var label = Convert.ToString(editorFieldInfo.GetValue(obj)); Control link; if (_fetchUrl != null) { var url = _fetchUrl(obj); link = new Controls.Hyperlink(label, url); } else if (_onClick != null) { link = new Controls.Hyperlink(label, (_) => _onClick(obj)); } else { link = new Controls.Hyperlink(label, label); } link.HtmlElement.SetAttribute("class", "entity-editor-link"); return(new Field(editorFieldInfo.Label, link, editorFieldInfo.Description, editorFieldInfo.Helper)); }