- From: Robin Berjon via cvs-syncmail <cvsmail@w3.org>
- Date: Thu, 11 Feb 2010 16:15:54 +0000
- To: public-dap-commits@w3.org
Update of /sources/public/2009/dap/docs/lrest
In directory hutz:/tmp/cvs-serv14475
Modified Files:
gallery-lrest.html gallery-lrest.js
Log Message:
with infauxbox
Index: gallery-lrest.html
===================================================================
RCS file: /sources/public/2009/dap/docs/lrest/gallery-lrest.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- gallery-lrest.html 11 Feb 2010 15:03:17 -0000 1.1
+++ gallery-lrest.html 11 Feb 2010 16:15:52 -0000 1.2
@@ -29,7 +29,18 @@
<div id='big' style='text-align: center'><img/></div>
<hr/>
<pre id='log'></pre>
-
+ <div id='infauxbox' style='display: none; position: fixed; top: 0; left: 0; width: 100%; background: #000; color: #fff; font-size: 0.8em;'>
+ <p style='float: left; padding: 0; margin: 10px 0 10px 10px'>
+ This application wants to access <span id='access' style='font-weight: bold;'></span>.
+ <span style='font-style: italic; text-decoration: underline'>Dude, I'm lost. WTF?</span>
+ </p>
+ <div style='float: right; padding: 0; margin: 5px 10px 5px 0'>
+ <button id='share'>Share Gallery</button>
+ <button id='no-share'>Don't Share</button>
+ <label for='remember'>Remember for this site</label>
+ <input type='checkbox' id='remember'/>
+ </div>
+ </div>
<script type='text/javascript'>
$("#gal").hide();
$("#big").hide();
@@ -58,7 +69,7 @@
}
// show gallery
function showGal (gal) {
- log("showGal", gal.uri);
+ // log("showGal", gal.uri);
try { $.getJSON(gal.uri, function (data) { displayGal(gal.name, data); }); }
catch (e) { log("ERROR:", e); }
}
Index: gallery-lrest.js
===================================================================
RCS file: /sources/public/2009/dap/docs/lrest/gallery-lrest.js,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- gallery-lrest.js 11 Feb 2010 15:03:17 -0000 1.1
+++ gallery-lrest.js 11 Feb 2010 16:15:52 -0000 1.2
@@ -23,6 +23,40 @@
],
};
+ // silly InfauxBox
+ var InfauxBox = {
+ rememberYes: {},
+ rememberNo: {},
+ auth: function (uri, cb, ctx, prm) {
+ if (this.rememberNo[uri]) return;
+ if (this.rememberYes[uri]) return cb.apply(ctx, prm);
+
+ var name;
+ for (var i = 0; i < navigator.services.galleries.length; i++) {
+ if (navigator.services.galleries[i].uri == uri) name = navigator.services.galleries[i].name;
+ }
+ // show the infauxbox
+ var $ifb = $("#infauxbox");
+ var r = $("#remember")[0];
+ $("#access").text("your super-personal gallery: " + name);
+ var obj = this;
+ $("#share").click(function () {
+ $("#share, #no-share").unbind("click");
+ if (r.checked) obj.rememberYes[uri] = true;
+ cb.apply(ctx, prm);
+ $ifb.hide();
+ });
+ $("#no-share").click(function () {
+ $("#share, #no-share").unbind("click");
+ if (r.checked) obj.rememberNo[uri] = true;
+ ctx.abort();
+ $ifb.hide();
+ });
+ r.checked = false;
+ $ifb.show();
+ },
+ };
+
// wrap the XHR
var XHR = function () {
// log("XHR constructed");
@@ -34,6 +68,7 @@
// log("open called with", meth, uri);
if (/^unicorn:/.test(uri)) {
this.isMagic = true;
+ this.uri = uri;
uri = uri.replace(/^unicorn:/, "");
var tmp = uri.split(/\//);
this.service = tmp[0];
@@ -51,9 +86,9 @@
// log("xhr, magic:", this.xhr, this.isMagic);
},
send: function (data) {
- try {
- // log("send called with", data, this.isMagic);
- if (!this.isMagic) return this.xhr.send.apply(this.xhr, arguments);
+ // log("send called with", data, this.isMagic);
+ if (!this.isMagic) return this.xhr.send.apply(this.xhr, arguments);
+ InfauxBox.auth(this.uri, function (data) {
var obj = this;
GLOBAL.jsonFlickrFeed = function (o) {
if (!obj.cb) return;
@@ -84,8 +119,7 @@
src += this.param + "&lang=en-us&format=json";
// log("req uri", src);
$.getScript(src, function () {});
- }
- catch (e) { log("boom", e); }
+ }, this, data);
},
abort: function () {
// log("send called with", data);
@@ -144,7 +178,5 @@
},
};
GLOBAL.XMLHttpRequest = XHR;
-
- // XXX create the Infauxbox!
})(this);
Received on Thursday, 11 February 2010 16:15:55 UTC