on master help sign in
Add the `mergeEither` signal and remove some dead code from Touch.js.
commit589a16cdd0b69b597f91825c1dfbc0ea9891b302 authorevancz <info@elm-lang.org> dateSun 13 Jan 2013, 19:27 (14 years ago) parentd2bc280
3 files changed+19−10
core-js/Prelude.js+12 core-js/Signal/Touch.js−10 core-js/runtime/Signal.js+7
core-js/Prelude.js+12
@@ -4,6 +4,16 @@ Value.addListener(document, 'elm_title', function(e) {document.title = e.value;}
44Value.addListener(document, 'elm_redirect', function(e) {
55 if (e.value.length > 0) { window.location = e.value; }
66 });
7+Value.addListener(document, 'elm_viewport', function(e) {
8+ var node = document.getElementById('elm_viewport');
9+ if (!node) {
10+ node = document.createElement('meta');
11+ node.id = 'elm_viewport';
12+ node.name = 'viewport';
13+ document.head.appendChild(node);
14+ }
15+ node.content = e.value; //'width=device-width, initial-scale=1';
16+ });
717
818Elm.Prelude = function() {
919 var mod = function(x) { return function(y) {
@@ -164,6 +174,8 @@ Elm.Prelude = function() {
164174 foldp$ : Elm.Signal.foldp$,
165175 constant : Elm.Signal.constant,
166176 merge : Elm.Signal.merge,
177+ merges : Elm.Signal.merges,
178+ mergeEither : Elm.Signal.mergeEither,
167179 count : Elm.Signal.count,
168180 countIf : Elm.Signal.countIf,
169181 average : Elm.Signal.average,
core-js/Signal/Touch.js−10
@@ -1,16 +1,6 @@
11
22Elm.Touch = function() {
33
4− function log(id,msg) {
5− var e = document.getElementById('logger' + id);
6− if (!e) {
7− e = document.createElement('div');
8− e.id = 'logger' + id;
9− document.body.appendChild(e);
10− }
11− e.innerHTML = msg;
12− }
13−
144 function Dict() {
155 this.keys = [];
166 this.values = [];
core-js/runtime/Signal.js+7
@@ -197,6 +197,12 @@ Elm.Signal = function() {
197197 return Elm.List.foldl1(mrg)(ss);
198198 }
199199
200+ function mergeEither(s1) { return function(s2) {
201+ function f(s) { return function(x) { return [s,x]; }; }
202+ return new merge(new lift(f,[s1]), new lift(f,[s2]));
203+ };
204+ }
205+
200206 function average(sampleSize) { return function(s) {
201207 var sample = new Array(sampleSize);
202208 var i = sampleSize;
@@ -256,6 +262,7 @@ Elm.Signal = function() {
256262 delay : delay,
257263 merge : function(s1) { return function(s2) { return new merge(s1,s2)}; },
258264 merges : merges,
265+ mergeEither : mergeEither,
259266 average : average,
260267 count : function(sig) {
261268 var incr = function(_){return function(c){return c+1;};};