Fetch value in response to keyup
This key function now works like the input and change events. Fixes #111
This commit is contained in:
parent
e65b3a335d
commit
3c8893e8f9
|
@ -31,6 +31,12 @@ const mouseEvents = {
|
|||
wheel: true,
|
||||
};
|
||||
|
||||
const inputEvents = {
|
||||
input: true,
|
||||
change: true,
|
||||
keyup: true,
|
||||
};
|
||||
|
||||
// Try to close the socket gracefully
|
||||
window.onbeforeunload = function() {
|
||||
if (socket != null) {
|
||||
|
@ -252,7 +258,7 @@ function msgListen (m) {
|
|||
id: m.id,
|
||||
k: m.k,
|
||||
};
|
||||
if (m.k === "change" || m.k === "input") {
|
||||
if (inputEvents[m.k]) {
|
||||
em.v = (node.tagName === "INPUT" && node.type === "checkbox") ?
|
||||
node.checked :
|
||||
node.value;
|
||||
|
|
|
@ -77,7 +77,7 @@ namespace Ooui
|
|||
|
||||
protected override bool TriggerEventFromMessage (Message message)
|
||||
{
|
||||
if (message.TargetId == Id && message.MessageType == MessageType.Event && (message.Key == "change" || message.Key == "input")) {
|
||||
if (message.TargetId == Id && message.MessageType == MessageType.Event && (message.Key == "change" || message.Key == "input" || message.Key == "keyup")) {
|
||||
// Don't need to notify here because the base implementation will fire the event
|
||||
if (Type == InputType.Checkbox) {
|
||||
UpdateBooleanAttributeProperty ("checked", message.Value != null ? Convert.ToBoolean (message.Value) : false, "IsChecked");
|
||||
|
|
|
@ -46,6 +46,7 @@ namespace Samples
|
|||
|
||||
var heading = new Heading ("Todo List");
|
||||
var subtitle = new Paragraph ("This is the shared todo list of the world.");
|
||||
var count = new Paragraph ("0 chars");
|
||||
var inputForm = new Form {
|
||||
ClassName = "form-inline"
|
||||
};
|
||||
|
@ -61,6 +62,10 @@ namespace Samples
|
|||
Type = ButtonType.Submit,
|
||||
ClassName = "btn btn-danger",
|
||||
};
|
||||
void UpdateCount ()
|
||||
{
|
||||
count.Text = $"{input.Value.Length} chars";
|
||||
}
|
||||
void AddItem ()
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace (input.Value))
|
||||
|
@ -71,6 +76,7 @@ namespace Samples
|
|||
};
|
||||
items.InsertBefore (item, items.FirstChild);
|
||||
input.Value = "";
|
||||
UpdateCount ();
|
||||
}
|
||||
addbtn.Click += (s, e) => {
|
||||
AddItem ();
|
||||
|
@ -78,6 +84,9 @@ namespace Samples
|
|||
inputForm.Submit += (s, e) => {
|
||||
AddItem ();
|
||||
};
|
||||
input.KeyUp += (s, e) => {
|
||||
UpdateCount ();
|
||||
};
|
||||
clearbtn.Click += (s, e) => {
|
||||
var toremove = new List<Node> ();
|
||||
foreach (Item i in items.Children) {
|
||||
|
@ -92,6 +101,7 @@ namespace Samples
|
|||
app.AppendChild (subtitle);
|
||||
inputForm.AppendChild (input);
|
||||
inputForm.AppendChild (addbtn);
|
||||
inputForm.AppendChild (count);
|
||||
app.AppendChild (inputForm);
|
||||
app.AppendChild (items);
|
||||
app.AppendChild (clearbtn);
|
||||
|
|
Loading…
Reference in New Issue