summaryrefslogtreecommitdiff
path: root/public/assets/javascripts/rectangles/util
diff options
context:
space:
mode:
Diffstat (limited to 'public/assets/javascripts/rectangles/util')
-rw-r--r--public/assets/javascripts/rectangles/util/permissions.js17
-rw-r--r--public/assets/javascripts/rectangles/util/uid.js14
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