// implementation wouldn't fly
// we keep this for a later improvement
var query=manifold.find_query (options.query_uuid);
- console.log("retrieved query " + query.__repr());
+ messages.info("retrieved query " + query.__repr());
// very rough way of filling this for now
this.update_query =
new ManifoldQuery ("update", query.subject, null, query.filters,
{}, // params
query.fields,
undefined, /* unique */
- query.query_uuid, /* tmp */
+ Math.uuid(32,16),
undefined, undefined /* maybe some day I'll get that one */);
// arm button once document is loaded
(function(updater) {$(document).ready(function(){updater.arm_button()})})(this);
this.arm_button = function () {
- console.log("arm_button");
$('#updater-' + this.options.plugin_uuid).click(this, this.submit_update_request);
},
this.submit_update_request = function (e) {
- console.log("submit_update_request");
+ messages.debug("submit_update_request");
var query_uuid = e.data.options.query_uuid;
var update_query = e.data.update_query;
$.publish("/messages/debug","Updater.submit_update_request " + update_query.__repr());
},
update_slice = function (e, rows, query) {
+
/* This function is called twice : get and update */
+
var data = e.data.instance.data().Slices;
--- /dev/null
+/*!
+Math.uuid.js (v1.4)
+http://www.broofa.com
+mailto:robert@broofa.com
+
+Copyright (c) 2010 Robert Kieffer
+Dual licensed under the MIT and GPL licenses.
+*/
+
+/*
+ * Generate a random uuid.
+ *
+ * USAGE: Math.uuid(length, radix)
+ * length - the desired number of characters
+ * radix - the number of allowable values for each character.
+ *
+ * EXAMPLES:
+ * // No arguments - returns RFC4122, version 4 ID
+ * >>> Math.uuid()
+ * "92329D39-6F5C-4520-ABFC-AAB64544E172"
+ *
+ * // One argument - returns ID of the specified length
+ * >>> Math.uuid(15) // 15 character ID (default base=62)
+ * "VcydxgltxrVZSTV"
+ *
+ * // Two arguments - returns ID of the specified length, and radix. (Radix must be <= 62)
+ * >>> Math.uuid(8, 2) // 8 character ID (base=2)
+ * "01001010"
+ * >>> Math.uuid(8, 10) // 8 character ID (base=10)
+ * "47473046"
+ * >>> Math.uuid(8, 16) // 8 character ID (base=16)
+ * "098F4D35"
+ */
+(function() {
+ // Private array of chars to use
+ var CHARS = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('');
+
+ Math.uuid = function (len, radix) {
+ var chars = CHARS, uuid = [], i;
+ radix = radix || chars.length;
+
+ if (len) {
+ // Compact form
+ for (i = 0; i < len; i++) uuid[i] = chars[0 | Math.random()*radix];
+ } else {
+ // rfc4122, version 4 form
+ var r;
+
+ // rfc4122 requires these characters
+ uuid[8] = uuid[13] = uuid[18] = uuid[23] = '-';
+ uuid[14] = '4';
+
+ // Fill in random data. At i==19 set the high bits of clock sequence as
+ // per rfc4122, sec. 4.1.5
+ for (i = 0; i < 36; i++) {
+ if (!uuid[i]) {
+ r = 0 | Math.random()*16;
+ uuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r];
+ }
+ }
+ }
+
+ return uuid.join('');
+ };
+
+ // A more performant, but slightly bulkier, RFC4122v4 solution. We boost performance
+ // by minimizing calls to random()
+ Math.uuidFast = function() {
+ var chars = CHARS, uuid = new Array(36), rnd=0, r;
+ for (var i = 0; i < 36; i++) {
+ if (i==8 || i==13 || i==18 || i==23) {
+ uuid[i] = '-';
+ } else if (i==14) {
+ uuid[i] = '4';
+ } else {
+ if (rnd <= 0x02) rnd = 0x2000000 + (Math.random()*0x1000000)|0;
+ r = rnd & 0xf;
+ rnd = rnd >> 4;
+ uuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r];
+ }
+ }
+ return uuid.join('');
+ };
+
+ // A more compact, but less performant, RFC4122v4 solution:
+ Math.uuidCompact = function() {
+ return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
+ var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8);
+ return v.toString(16);
+ });
+ };
+})();