diff options
Diffstat (limited to 'public/assets/javascripts/rectangles/util')
| -rw-r--r-- | public/assets/javascripts/rectangles/util/permissions.js | 17 | ||||
| -rw-r--r-- | public/assets/javascripts/rectangles/util/uid.js | 14 |
2 files changed, 31 insertions, 0 deletions
diff --git a/public/assets/javascripts/rectangles/util/permissions.js b/public/assets/javascripts/rectangles/util/permissions.js new file mode 100644 index 0000000..22a6079 --- /dev/null +++ b/public/assets/javascripts/rectangles/util/permissions.js @@ -0,0 +1,17 @@ + +var Permissions = function(ops){ + var base = this + base.keys = _.keys(ops) + base.keys.forEach(function(op){ + base[op] = ops[op] + }) +} + +Permissions.prototype.toggle = function (key) { + var base = this + var state = ! base[key] + base.keys.forEach(function(op){ + base[op] = op == key ? state : false + }) + return state +} diff --git a/public/assets/javascripts/rectangles/util/uid.js b/public/assets/javascripts/rectangles/util/uid.js new file mode 100644 index 0000000..ca22fb3 --- /dev/null +++ b/public/assets/javascripts/rectangles/util/uid.js @@ -0,0 +1,14 @@ + +var UidGenerator = function(list){ + var id = 0 + return function(s){ + s = s || "" + var ss + while (1) { + ss = s + (id++) + if (! (ss in list)) { + return ss + } + } + } +}
\ No newline at end of file |
