{"action":"created","issue":{"url":"https://api.github.com/repos/widok/widok/issues/93","labels_url":"https://api.github.com/repos/widok/widok/issues/93/labels{/name}","comments_url":"https://api.github.com/repos/widok/widok/issues/93/comments","events_url":"https://api.github.com/repos/widok/widok/issues/93/events","html_url":"https://github.com/widok/widok/issues/93","id":105557545,"number":93,"title":"Trigger reactive propagation with button","user":{"login":"mkotsbak","id":296523,"avatar_url":"https://avatars.githubusercontent.com/u/296523?v=3","gravatar_id":"","url":"https://api.github.com/users/mkotsbak","html_url":"https://github.com/mkotsbak","followers_url":"https://api.github.com/users/mkotsbak/followers","following_url":"https://api.github.com/users/mkotsbak/following{/other_user}","gists_url":"https://api.github.com/users/mkotsbak/gists{/gist_id}","starred_url":"https://api.github.com/users/mkotsbak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mkotsbak/subscriptions","organizations_url":"https://api.github.com/users/mkotsbak/orgs","repos_url":"https://api.github.com/users/mkotsbak/repos","events_url":"https://api.github.com/users/mkotsbak/events{/privacy}","received_events_url":"https://api.github.com/users/mkotsbak/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-09-09T09:20:37Z","updated_at":"2015-09-09T09:31:16Z","closed_at":null,"body":"Sometimes you want to act immediately by user text entry (autocomplete, autosearch), but other times you want a button to actually trigger the action.\r\n\r\nIf you have reactive query handling, sending requests to server, it will be activated at each key stroke (or enter press, wit bindEnter). This might be desired some places, but not other places in the GUI.\r\n\r\nI see in Skeleton, it is solved by using bindEnter and let the button trigger that manually, but it does not scale up to multiple input fields.\r\n\r\nWhat we could have had (maybe in MetaRx) was some sort of Channel barrier that caches the latest value, but only send it to its children when triggered by a function call that could be linked to onClick/onSubmit in the form."},"comment":{"url":"https://api.github.com/repos/widok/widok/issues/comments/138853675","html_url":"https://github.com/widok/widok/issues/93#issuecomment-138853675","issue_url":"https://api.github.com/repos/widok/widok/issues/93","id":138853675,"user":{"login":"mkotsbak","id":296523,"avatar_url":"https://avatars.githubusercontent.com/u/296523?v=3","gravatar_id":"","url":"https://api.github.com/users/mkotsbak","html_url":"https://github.com/mkotsbak","followers_url":"https://api.github.com/users/mkotsbak/followers","following_url":"https://api.github.com/users/mkotsbak/following{/other_user}","gists_url":"https://api.github.com/users/mkotsbak/gists{/gist_id}","starred_url":"https://api.github.com/users/mkotsbak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mkotsbak/subscriptions","organizations_url":"https://api.github.com/users/mkotsbak/orgs","repos_url":"https://api.github.com/users/mkotsbak/repos","events_url":"https://api.github.com/users/mkotsbak/events{/privacy}","received_events_url":"https://api.github.com/users/mkotsbak/received_events","type":"User","site_admin":false},"created_at":"2015-09-09T09:31:16Z","updated_at":"2015-09-09T09:31:16Z","body":"Example in Skeleton:\r\n\r\n```scala\r\nval seachBarrier = ChannelBarrier[String]\r\nheadword.filterCycles.filter(_.nonEmpty).publish(searchBarrier)\r\n\r\nsearchBarrier.attach { hw =>\r\n    ServerOps.Dictionary.lookUp(hw).foreach {\r\n      case Response.Success(r) =>\r\n        result := r.text\r\n      case _ =>\r\n    }\r\n\r\n    initial  := false\r\n    headword := \"\"\r\n  }\r\n```\r\n\r\nThen:\r\n\r\n.onClick { _ => searchBarrier.releaseLast() }\r\n"}}