1
0
Fork 0
mirror of https://github.com/Luzifer/cloudkeys-go.git synced 2024-11-08 22:20:05 +00:00
cloudkeys-go/assets/script.js

424 lines
15 KiB
JavaScript
Raw Normal View History

// Generated by CoffeeScript 1.12.4
2015-07-29 07:01:23 +00:00
(function() {
var CloudKeys;
CloudKeys = (function() {
function CloudKeys() {
this.entities = [];
this.version = "";
this.password = '';
$('#pw').focus().keyup((function(_this) {
return function(evt) {
var that = this;
if (evt.keyCode === 13) {
_this.password = $(that).val();
$('#loader').removeClass('hide');
_this.fetchData();
$('#newEntityLink').click(function() {
return _this.showForm();
});
2017-01-22 13:40:54 +00:00
$('#editEncPWLink').click(function() {
return _this.showEditEncPWForm();
});
2015-07-29 07:01:23 +00:00
$('#passwordRequest').addClass('hide');
$('#search').keyup(function() {
var that = this;
_this.limitItems(_this.getItems($(that).val()));
});
$('#search').focus();
return $(window).keyup(function(evt) {
if (evt.altKey === true && evt.keyCode === 66) {
if (typeof window.copyToClipboard === "function") {
copyToClipboard($('#items li.active .username').val());
} else {
$('#items li.active .username').focus().select();
}
}
if (evt.altKey === true && evt.keyCode === 79) {
if (typeof window.copyToClipboard === "function") {
copyToClipboard($('#items li.active .password').data('toggle'));
} else {
$('#items li.active .passwordtoggle em').click();
$('#items li.active .password').focus().select();
}
}
if (evt.altKey === true && evt.keyCode === 80) {
if (typeof window.copyToClipboard === "function") {
copyToClipboard($('#items li.active .password').data('toggle'));
} else {
$('#items li.active .password').focus().select();
}
}
if (evt.altKey === true && evt.keyCode === 85) {
if (typeof window.copyToClipboard === "function") {
return copyToClipboard($('#items li.active .url').val());
} else {
return $('#items li.active .url').focus().select();
}
}
});
}
};
})(this));
}
CloudKeys.prototype["import"] = function(xml) {
var e, entity, entry, group, j, l, len, len1, parsedXML, ref, ref1, tag;
parsedXML = $.parseXML(xml);
ref = $(parsedXML).find('group');
for (j = 0, len = ref.length; j < len; j++) {
group = ref[j];
tag = $(group).find('>title').text();
ref1 = $(group).find('entry');
for (l = 0, len1 = ref1.length; l < len1; l++) {
entry = ref1[l];
e = $(entry);
entity = {};
entity['title'] = e.find('title').text();
entity['username'] = e.find('username').text();
entity['password'] = e.find('password').text();
entity['url'] = e.find('url').text();
entity['comment'] = e.find('comment').text();
entity['tags'] = tag;
this.entities.push(entity);
}
}
return this.updateData((function(_this) {
return function() {
$('#import').val('');
return $('#importLink').click();
};
})(this));
};
CloudKeys.prototype.updateData = function(callback) {
var encrypted, hash;
encrypted = this.encrypt(JSON.stringify(this.entities));
hash = CryptoJS.SHA1(encrypted).toString();
return $.post('ajax', {
'version': this.version,
'checksum': hash,
'data': encrypted
}, (function(_this) {
return function(result) {
if (result.error === true) {
return alert("An error occured, please reload and try it again");
} else {
if (typeof callback !== "undefined") {
callback();
}
return _this.updateInformation(result);
}
};
})(this), "json");
};
CloudKeys.prototype.fetchData = function() {
return $.get('ajax', (function(_this) {
return function(data) {
return _this.updateInformation(data);
};
})(this), "json");
};
CloudKeys.prototype.updateInformation = function(data) {
2017-01-22 13:40:54 +00:00
var e;
2015-07-29 07:01:23 +00:00
this.version = data.version;
if (data.data === "") {
this.entities = [];
} else {
try {
this.entities = $.parseJSON(this.decrypt(data.data));
Removed old clippy flash extension and replaced it with pure JS solution Squashed commit of the following: commit 682b84ab51cbaaa8343139c851a9b4278886e0da Author: Martin Thielecke <github@mthie.com> Date: Mon Nov 30 21:13:13 2015 +0000 fixed godeps path commit 816132283ffa6b4520c93e199bb89b747afe306e Author: Martin Thielecke <github@mthie.com> Date: Mon Nov 30 21:12:23 2015 +0000 removed branding commit d7683dd6a56427c21bd0f86c7b034bd83deb3ec7 Author: Martin Thielecke <github@mthie.com> Date: Mon Nov 30 21:08:33 2015 +0000 reverted some individual stuff commit 26bc1a35e110f14b3b9f74e35cea8d66eb8129fc Merge: ecd8e53 b8ad8ee Author: Martin Thielecke <github@mthie.com> Date: Mon Nov 30 20:51:18 2015 +0000 Merge branch 'master' of github.com:Luzifer/cloudkeys-go into clipboardapi Conflicts: assets/script.js bindata.go coffee/script.coffee commit ecd8e53b13d053fece855ee01b627326cf24b2f0 Author: Martin Thielecke <github@mthie.com> Date: Mon Nov 30 20:45:20 2015 +0000 removed old clippy flash extension and replaced it with pure JS solution commit 225e9f13c291c17e7d5de9d6b1a7cb43a1277e2f Author: Martin Thielecke <github@mthie.com> Date: Sat Aug 1 18:14:14 2015 +0000 [main] Revert "changed variable names according to linter" This reverts commit 91ac55453ccc4a83fae417e22d0c69600501e10b. commit 91ac55453ccc4a83fae417e22d0c69600501e10b Author: Martin Thielecke <github@mthie.com> Date: Sat Aug 1 11:54:53 2015 +0000 changed variable names according to linter commit 7a0f9e22ba66493dfc7782afee0fbb54bb4a7701 Merge: 6c57d39 8386e47 Author: Martin Thielecke <github@mthie.com> Date: Sat Aug 1 11:32:28 2015 +0000 Merge branch 'master' of github.com:Luzifer/cloudkeys-go commit 6c57d394ae0d8d6412c4d4903a6384e697e906ad Author: Martin Thielecke <github@mthie.com> Date: Fri Jul 31 19:30:47 2015 +0000 added title commit 17ae0383fd4f09ec394d398ea67aac033e53f900 Merge: d813879 553680c Author: Martin Thielecke <github@mthie.com> Date: Fri Jul 31 19:21:18 2015 +0000 Merge branch 'development' of github.com:mthie/cloudkeys-go commit 553680c725ed2352b7b225c4f592c26ac9bbc364 Merge: ec26daa 1b66ad4 Author: Martin Thielecke <github@mthie.com> Date: Fri Jul 31 19:19:41 2015 +0000 Merge branch 'master' of github.com:Luzifer/cloudkeys-go into development commit d81387910e62f7ddfe2043e22ca75a23544f19d4 Author: Martin Thielecke <github@mthie.com> Date: Fri Jul 31 18:51:28 2015 +0000 changed title commit 45a64d11105038c2cc3c5060975bd0f458df1db6 Author: Martin Thielecke <github@mthie.com> Date: Fri Jul 31 18:36:14 2015 +0000 changed usernames for deployment commit ec26daa6793167cee3736a66b5506925e09272c8 Author: Martin Thielecke <github@mthie.com> Date: Fri Jul 31 18:34:36 2015 +0000 fixed username
2015-11-30 21:27:23 +00:00
} catch (error) {
e = error;
2015-07-29 07:01:23 +00:00
window.location.reload();
}
}
this.entities.sort(this.sortItems);
this.showItems(this.getItems(''));
return this.limitItems(this.getItems($('#search').val()));
};
CloudKeys.prototype.encrypt = function(value) {
return CryptoJS.AES.encrypt(value, this.password).toString();
};
CloudKeys.prototype.decrypt = function(value) {
return CryptoJS.AES.decrypt(value, this.password).toString(CryptoJS.enc.Utf8);
};
Removed old clippy flash extension and replaced it with pure JS solution Squashed commit of the following: commit 682b84ab51cbaaa8343139c851a9b4278886e0da Author: Martin Thielecke <github@mthie.com> Date: Mon Nov 30 21:13:13 2015 +0000 fixed godeps path commit 816132283ffa6b4520c93e199bb89b747afe306e Author: Martin Thielecke <github@mthie.com> Date: Mon Nov 30 21:12:23 2015 +0000 removed branding commit d7683dd6a56427c21bd0f86c7b034bd83deb3ec7 Author: Martin Thielecke <github@mthie.com> Date: Mon Nov 30 21:08:33 2015 +0000 reverted some individual stuff commit 26bc1a35e110f14b3b9f74e35cea8d66eb8129fc Merge: ecd8e53 b8ad8ee Author: Martin Thielecke <github@mthie.com> Date: Mon Nov 30 20:51:18 2015 +0000 Merge branch 'master' of github.com:Luzifer/cloudkeys-go into clipboardapi Conflicts: assets/script.js bindata.go coffee/script.coffee commit ecd8e53b13d053fece855ee01b627326cf24b2f0 Author: Martin Thielecke <github@mthie.com> Date: Mon Nov 30 20:45:20 2015 +0000 removed old clippy flash extension and replaced it with pure JS solution commit 225e9f13c291c17e7d5de9d6b1a7cb43a1277e2f Author: Martin Thielecke <github@mthie.com> Date: Sat Aug 1 18:14:14 2015 +0000 [main] Revert "changed variable names according to linter" This reverts commit 91ac55453ccc4a83fae417e22d0c69600501e10b. commit 91ac55453ccc4a83fae417e22d0c69600501e10b Author: Martin Thielecke <github@mthie.com> Date: Sat Aug 1 11:54:53 2015 +0000 changed variable names according to linter commit 7a0f9e22ba66493dfc7782afee0fbb54bb4a7701 Merge: 6c57d39 8386e47 Author: Martin Thielecke <github@mthie.com> Date: Sat Aug 1 11:32:28 2015 +0000 Merge branch 'master' of github.com:Luzifer/cloudkeys-go commit 6c57d394ae0d8d6412c4d4903a6384e697e906ad Author: Martin Thielecke <github@mthie.com> Date: Fri Jul 31 19:30:47 2015 +0000 added title commit 17ae0383fd4f09ec394d398ea67aac033e53f900 Merge: d813879 553680c Author: Martin Thielecke <github@mthie.com> Date: Fri Jul 31 19:21:18 2015 +0000 Merge branch 'development' of github.com:mthie/cloudkeys-go commit 553680c725ed2352b7b225c4f592c26ac9bbc364 Merge: ec26daa 1b66ad4 Author: Martin Thielecke <github@mthie.com> Date: Fri Jul 31 19:19:41 2015 +0000 Merge branch 'master' of github.com:Luzifer/cloudkeys-go into development commit d81387910e62f7ddfe2043e22ca75a23544f19d4 Author: Martin Thielecke <github@mthie.com> Date: Fri Jul 31 18:51:28 2015 +0000 changed title commit 45a64d11105038c2cc3c5060975bd0f458df1db6 Author: Martin Thielecke <github@mthie.com> Date: Fri Jul 31 18:36:14 2015 +0000 changed usernames for deployment commit ec26daa6793167cee3736a66b5506925e09272c8 Author: Martin Thielecke <github@mthie.com> Date: Fri Jul 31 18:34:36 2015 +0000 fixed username
2015-11-30 21:27:23 +00:00
CloudKeys.prototype.getClipboardCode = function(value) {
var cb;
cb = $('<div class="clipboard"></div>');
cb.click(function(e) {
var elem;
elem = $("<textarea>" + value + "</textarea>").css({
'position': 'absolute',
'left': '-9999px',
'readonly': 'readonly',
'top': (window.pageYOffset || document.documentElement.scrollTop) + 'px'
});
$("body").append(elem);
elem.focus();
elem.select();
document.execCommand('copy');
elem.remove();
});
return cb;
2015-07-29 07:01:23 +00:00
};
CloudKeys.prototype.limitItems = function(items) {
var current;
$('#resultdescription span').text(items.length);
current = 0;
$('#items>li').each((function(_this) {
return function(k, v) {
var item;
item = $(v);
item.removeClass('odd');
if ($.inArray(item.data('num'), items) === -1) {
item.addClass('hide');
} else {
if (item.hasClass('hide')) {
item.removeClass('hide');
}
if (current % 2 === 0) {
item.addClass('odd');
}
current = current + 1;
}
};
})(this));
};
CloudKeys.prototype.showItems = function(items) {
Removed old clippy flash extension and replaced it with pure JS solution Squashed commit of the following: commit 682b84ab51cbaaa8343139c851a9b4278886e0da Author: Martin Thielecke <github@mthie.com> Date: Mon Nov 30 21:13:13 2015 +0000 fixed godeps path commit 816132283ffa6b4520c93e199bb89b747afe306e Author: Martin Thielecke <github@mthie.com> Date: Mon Nov 30 21:12:23 2015 +0000 removed branding commit d7683dd6a56427c21bd0f86c7b034bd83deb3ec7 Author: Martin Thielecke <github@mthie.com> Date: Mon Nov 30 21:08:33 2015 +0000 reverted some individual stuff commit 26bc1a35e110f14b3b9f74e35cea8d66eb8129fc Merge: ecd8e53 b8ad8ee Author: Martin Thielecke <github@mthie.com> Date: Mon Nov 30 20:51:18 2015 +0000 Merge branch 'master' of github.com:Luzifer/cloudkeys-go into clipboardapi Conflicts: assets/script.js bindata.go coffee/script.coffee commit ecd8e53b13d053fece855ee01b627326cf24b2f0 Author: Martin Thielecke <github@mthie.com> Date: Mon Nov 30 20:45:20 2015 +0000 removed old clippy flash extension and replaced it with pure JS solution commit 225e9f13c291c17e7d5de9d6b1a7cb43a1277e2f Author: Martin Thielecke <github@mthie.com> Date: Sat Aug 1 18:14:14 2015 +0000 [main] Revert "changed variable names according to linter" This reverts commit 91ac55453ccc4a83fae417e22d0c69600501e10b. commit 91ac55453ccc4a83fae417e22d0c69600501e10b Author: Martin Thielecke <github@mthie.com> Date: Sat Aug 1 11:54:53 2015 +0000 changed variable names according to linter commit 7a0f9e22ba66493dfc7782afee0fbb54bb4a7701 Merge: 6c57d39 8386e47 Author: Martin Thielecke <github@mthie.com> Date: Sat Aug 1 11:32:28 2015 +0000 Merge branch 'master' of github.com:Luzifer/cloudkeys-go commit 6c57d394ae0d8d6412c4d4903a6384e697e906ad Author: Martin Thielecke <github@mthie.com> Date: Fri Jul 31 19:30:47 2015 +0000 added title commit 17ae0383fd4f09ec394d398ea67aac033e53f900 Merge: d813879 553680c Author: Martin Thielecke <github@mthie.com> Date: Fri Jul 31 19:21:18 2015 +0000 Merge branch 'development' of github.com:mthie/cloudkeys-go commit 553680c725ed2352b7b225c4f592c26ac9bbc364 Merge: ec26daa 1b66ad4 Author: Martin Thielecke <github@mthie.com> Date: Fri Jul 31 19:19:41 2015 +0000 Merge branch 'master' of github.com:Luzifer/cloudkeys-go into development commit d81387910e62f7ddfe2043e22ca75a23544f19d4 Author: Martin Thielecke <github@mthie.com> Date: Fri Jul 31 18:51:28 2015 +0000 changed title commit 45a64d11105038c2cc3c5060975bd0f458df1db6 Author: Martin Thielecke <github@mthie.com> Date: Fri Jul 31 18:36:14 2015 +0000 changed usernames for deployment commit ec26daa6793167cee3736a66b5506925e09272c8 Author: Martin Thielecke <github@mthie.com> Date: Fri Jul 31 18:34:36 2015 +0000 fixed username
2015-11-30 21:27:23 +00:00
var additionalClass, c, char, counter, field, i, item, itemContainer, j, len, lines_match, password, ref, ul;
2015-07-29 07:01:23 +00:00
$('#items li').remove();
itemContainer = $('#items');
$('#resultdescription span').text(items.length);
for (i = j = 0, len = items.length; j < len; i = ++j) {
item = items[i];
additionalClass = "";
if (i % 2 === 0) {
additionalClass = "odd";
}
item = this.entities[item];
c = $("<li data-num=\"" + item.num + "\" class=\"" + additionalClass + "\">" + item.title + " <span>" + item.username + "</span></li>");
ul = $("<ul></ul>");
password = "";
ref = item.password;
for (char in ref) {
i = ref[char];
password += "*";
}
Removed old clippy flash extension and replaced it with pure JS solution Squashed commit of the following: commit 682b84ab51cbaaa8343139c851a9b4278886e0da Author: Martin Thielecke <github@mthie.com> Date: Mon Nov 30 21:13:13 2015 +0000 fixed godeps path commit 816132283ffa6b4520c93e199bb89b747afe306e Author: Martin Thielecke <github@mthie.com> Date: Mon Nov 30 21:12:23 2015 +0000 removed branding commit d7683dd6a56427c21bd0f86c7b034bd83deb3ec7 Author: Martin Thielecke <github@mthie.com> Date: Mon Nov 30 21:08:33 2015 +0000 reverted some individual stuff commit 26bc1a35e110f14b3b9f74e35cea8d66eb8129fc Merge: ecd8e53 b8ad8ee Author: Martin Thielecke <github@mthie.com> Date: Mon Nov 30 20:51:18 2015 +0000 Merge branch 'master' of github.com:Luzifer/cloudkeys-go into clipboardapi Conflicts: assets/script.js bindata.go coffee/script.coffee commit ecd8e53b13d053fece855ee01b627326cf24b2f0 Author: Martin Thielecke <github@mthie.com> Date: Mon Nov 30 20:45:20 2015 +0000 removed old clippy flash extension and replaced it with pure JS solution commit 225e9f13c291c17e7d5de9d6b1a7cb43a1277e2f Author: Martin Thielecke <github@mthie.com> Date: Sat Aug 1 18:14:14 2015 +0000 [main] Revert "changed variable names according to linter" This reverts commit 91ac55453ccc4a83fae417e22d0c69600501e10b. commit 91ac55453ccc4a83fae417e22d0c69600501e10b Author: Martin Thielecke <github@mthie.com> Date: Sat Aug 1 11:54:53 2015 +0000 changed variable names according to linter commit 7a0f9e22ba66493dfc7782afee0fbb54bb4a7701 Merge: 6c57d39 8386e47 Author: Martin Thielecke <github@mthie.com> Date: Sat Aug 1 11:32:28 2015 +0000 Merge branch 'master' of github.com:Luzifer/cloudkeys-go commit 6c57d394ae0d8d6412c4d4903a6384e697e906ad Author: Martin Thielecke <github@mthie.com> Date: Fri Jul 31 19:30:47 2015 +0000 added title commit 17ae0383fd4f09ec394d398ea67aac033e53f900 Merge: d813879 553680c Author: Martin Thielecke <github@mthie.com> Date: Fri Jul 31 19:21:18 2015 +0000 Merge branch 'development' of github.com:mthie/cloudkeys-go commit 553680c725ed2352b7b225c4f592c26ac9bbc364 Merge: ec26daa 1b66ad4 Author: Martin Thielecke <github@mthie.com> Date: Fri Jul 31 19:19:41 2015 +0000 Merge branch 'master' of github.com:Luzifer/cloudkeys-go into development commit d81387910e62f7ddfe2043e22ca75a23544f19d4 Author: Martin Thielecke <github@mthie.com> Date: Fri Jul 31 18:51:28 2015 +0000 changed title commit 45a64d11105038c2cc3c5060975bd0f458df1db6 Author: Martin Thielecke <github@mthie.com> Date: Fri Jul 31 18:36:14 2015 +0000 changed usernames for deployment commit ec26daa6793167cee3736a66b5506925e09272c8 Author: Martin Thielecke <github@mthie.com> Date: Fri Jul 31 18:34:36 2015 +0000 fixed username
2015-11-30 21:27:23 +00:00
field = $("<li><label>Username:</label><input type=\"text\" class=\"username\" value=\"" + item.username + "\"><br></li>");
ul.append(field);
this.getClipboardCode(item.username).insertBefore(field.find("br"));
field = $("<li class=\"passwordtoggle\"><label>Password:</label><input type=\"text\" class=\"password\" value=\"" + password + "\" data-toggle=\"" + (item.password.replace(/"/g, '&quot;')) + "\"><em> (toggle visibility)</em></span><br></li>");
ul.append(field);
this.getClipboardCode(item.password).insertBefore(field.find("br"));
field = $("<li><label>URL:</label><input type=\"text\" class=\"url\" value=\"" + item.url + "\"><br></li>");
ul.append(field);
this.getClipboardCode(item.url).insertBefore(field.find("br"));
2015-07-29 07:01:23 +00:00
lines_match = item.comment.match(/\n/g);
if (lines_match !== null) {
counter = lines_match.length;
}
if (counter < 2) {
counter = 2;
}
Removed old clippy flash extension and replaced it with pure JS solution Squashed commit of the following: commit 682b84ab51cbaaa8343139c851a9b4278886e0da Author: Martin Thielecke <github@mthie.com> Date: Mon Nov 30 21:13:13 2015 +0000 fixed godeps path commit 816132283ffa6b4520c93e199bb89b747afe306e Author: Martin Thielecke <github@mthie.com> Date: Mon Nov 30 21:12:23 2015 +0000 removed branding commit d7683dd6a56427c21bd0f86c7b034bd83deb3ec7 Author: Martin Thielecke <github@mthie.com> Date: Mon Nov 30 21:08:33 2015 +0000 reverted some individual stuff commit 26bc1a35e110f14b3b9f74e35cea8d66eb8129fc Merge: ecd8e53 b8ad8ee Author: Martin Thielecke <github@mthie.com> Date: Mon Nov 30 20:51:18 2015 +0000 Merge branch 'master' of github.com:Luzifer/cloudkeys-go into clipboardapi Conflicts: assets/script.js bindata.go coffee/script.coffee commit ecd8e53b13d053fece855ee01b627326cf24b2f0 Author: Martin Thielecke <github@mthie.com> Date: Mon Nov 30 20:45:20 2015 +0000 removed old clippy flash extension and replaced it with pure JS solution commit 225e9f13c291c17e7d5de9d6b1a7cb43a1277e2f Author: Martin Thielecke <github@mthie.com> Date: Sat Aug 1 18:14:14 2015 +0000 [main] Revert "changed variable names according to linter" This reverts commit 91ac55453ccc4a83fae417e22d0c69600501e10b. commit 91ac55453ccc4a83fae417e22d0c69600501e10b Author: Martin Thielecke <github@mthie.com> Date: Sat Aug 1 11:54:53 2015 +0000 changed variable names according to linter commit 7a0f9e22ba66493dfc7782afee0fbb54bb4a7701 Merge: 6c57d39 8386e47 Author: Martin Thielecke <github@mthie.com> Date: Sat Aug 1 11:32:28 2015 +0000 Merge branch 'master' of github.com:Luzifer/cloudkeys-go commit 6c57d394ae0d8d6412c4d4903a6384e697e906ad Author: Martin Thielecke <github@mthie.com> Date: Fri Jul 31 19:30:47 2015 +0000 added title commit 17ae0383fd4f09ec394d398ea67aac033e53f900 Merge: d813879 553680c Author: Martin Thielecke <github@mthie.com> Date: Fri Jul 31 19:21:18 2015 +0000 Merge branch 'development' of github.com:mthie/cloudkeys-go commit 553680c725ed2352b7b225c4f592c26ac9bbc364 Merge: ec26daa 1b66ad4 Author: Martin Thielecke <github@mthie.com> Date: Fri Jul 31 19:19:41 2015 +0000 Merge branch 'master' of github.com:Luzifer/cloudkeys-go into development commit d81387910e62f7ddfe2043e22ca75a23544f19d4 Author: Martin Thielecke <github@mthie.com> Date: Fri Jul 31 18:51:28 2015 +0000 changed title commit 45a64d11105038c2cc3c5060975bd0f458df1db6 Author: Martin Thielecke <github@mthie.com> Date: Fri Jul 31 18:36:14 2015 +0000 changed usernames for deployment commit ec26daa6793167cee3736a66b5506925e09272c8 Author: Martin Thielecke <github@mthie.com> Date: Fri Jul 31 18:34:36 2015 +0000 fixed username
2015-11-30 21:27:23 +00:00
field = $("<li><label>Comment:</label><textarea class=\"comment\" rows=\"" + (counter + 2) + "\">" + item.comment + "</textarea><br></li>");
ul.append(field);
this.getClipboardCode(item.comment).insertBefore(field.find("br"));
field = $("<li><label>Tags:</label><input type=\"text\" class=\"tags\" value=\"" + item.tags + "\"><br></li>");
ul.append(field);
this.getClipboardCode(item.tags).insertBefore(field.find("br"));
2015-07-29 07:01:23 +00:00
ul.append("<li class=\"last\"><button class=\"btn btn-primary\">Edit</button><br></li>");
ul.find('.btn-primary').click((function(_this) {
return function() {
var t = this;
var num;
num = $(t).parent().parent().parent().data('num');
if (typeof num !== "undefined" && typeof num !== null) {
return _this.showForm(num);
}
};
})(this));
ul.find('.passwordtoggle em').click((function(_this) {
return function() {
var t = this;
var elem, original;
elem = $(t).parent().find('.password');
original = elem.data('toggle');
elem.data('toggle', elem.val());
return elem.val(original);
};
})(this));
c.append(ul);
c.click((function(_this) {
return function() {
var that = this;
var elem;
elem = $(that);
if (elem.hasClass('active') === false) {
$('#items li.active').removeClass('active').find('ul').slideUp();
elem.addClass('active');
return elem.find('ul').slideDown();
}
};
})(this));
c.find('input').focus().select();
itemContainer.append(c);
}
$('.hide').removeClass('hide');
$('#loader').addClass('hide');
$('#passwordRequest').addClass('hide');
$('#search').focus();
};
CloudKeys.prototype.getItems = function(search) {
var i, item, j, len, ref, result;
result = [];
search = search.toLowerCase();
ref = this.entities;
for (i = j = 0, len = ref.length; j < len; i = ++j) {
item = ref[i];
if (item.title.toLowerCase().indexOf(search) !== -1 || item.username.toLowerCase().indexOf(search) !== -1 || item.tags.toLowerCase().indexOf(search) !== -1) {
item.num = i;
result.push(i);
}
}
return result;
};
CloudKeys.prototype.sortItems = function(a, b) {
var aTitle, bTitle;
aTitle = a.title.toLowerCase();
bTitle = b.title.toLowerCase();
return ((aTitle < bTitle) ? -1 : ((aTitle > bTitle) ? 1 : 0));
};
CloudKeys.prototype.showForm = function(num) {
var elem, fields, j, len;
$('#editDialog input').val('');
$('#editDialog textarea').val('');
$('#editDialog .hide').removeClass('hide');
fields = ['title', 'username', 'password', 'url', 'comment', 'tags'];
if (typeof num !== "undefined" && typeof this.entities[num] !== "undefined") {
$('#editDialog input[name="num"]').val(num);
for (j = 0, len = fields.length; j < len; j++) {
elem = fields[j];
$("#editDialog #" + elem).val(this.entities[num][elem]);
}
$("#editDialog input#repeat_password").val(this.entities[num]['password']);
} else {
$('#editDialog button.btn-danger').addClass('hide');
}
$('#editDialog').modal({});
$('#editDialog .btn-danger').unbind('click').click((function(_this) {
return function() {
var confirmation;
confirmation = confirm('Are you sure?');
if (confirmation === true) {
num = $('#editDialog input[name="num"]').val();
if (typeof num !== "undefined" && typeof num !== null && num !== "") {
_this.entities.splice(num, 1);
return _this.updateData(function() {
return $('#formClose').click();
});
}
}
};
})(this));
return $('#editDialog .btn-primary').unbind('click').click((function(_this) {
return function() {
var entity, field, l, len1;
if (_this.validateForm()) {
num = $('#editDialog input[name="num"]').val();
entity = {};
for (l = 0, len1 = fields.length; l < len1; l++) {
field = fields[l];
entity[field] = $("#" + field).val();
}
if (typeof num !== "undefined" && num !== "") {
_this.entities[num] = entity;
} else {
_this.entities.push(entity);
}
_this.updateData(function() {
return $('#formClose').click();
});
}
};
})(this));
};
CloudKeys.prototype.validateForm = function() {
var success;
$('#editDialog .has-error').removeClass('has-error');
success = true;
if ($('#title').val() === "") {
$('#title').parent().addClass('has-error');
success = false;
}
if ($('#password').val() !== "" && $('#repeat_password').val() !== $('#password').val()) {
$('#password, #repeat_password').parent().addClass('has-error');
success = false;
}
return success;
};
2017-01-22 13:40:54 +00:00
CloudKeys.prototype.showEditEncPWForm = function() {
$('#editEncPWDialog input').val('');
$('#editEncPWDialog .hide').removeClass('hide');
$('#editEncPWDialog').modal({});
return $('#editEncPWDialog .btn-primary').unbind('click').click((function(_this) {
return function() {
var confirmation, new_password;
$('#editEncPWDialog .has-error').removeClass('has-error');
confirmation = confirm('Do you really want to update your encryption password?');
if (confirmation !== true) {
return;
}
if ($('#editEncPW_current_password').val() !== _this.password) {
$('#editEncPW_current_password').parent().addClass('has-error');
return;
}
new_password = $('#editEncPW_password').val();
if (new_password === void 0 || new_password === '') {
$('#editEncPW_password').parent().addClass('has-error');
return;
}
if (new_password !== $('#editEncPW_repeat_password').val()) {
$('#editEncPW_password, #editEncPW_repeat_password').parent().addClass('has-error');
return;
}
_this.password = new_password;
_this.updateData(function() {
2017-01-22 13:44:25 +00:00
$('#formEncPWClose').click();
return alert('Your encryption password has been changed. Keep this in mind for later.');
2017-01-22 13:40:54 +00:00
});
};
})(this));
};
2015-07-29 07:01:23 +00:00
return CloudKeys;
})();
window.CloudKeys = new CloudKeys();
$('#importLink').click((function(_this) {
return function() {
return $('#importContainer').toggle(500);
};
})(this));
$('#importContainer button').click((function(_this) {
return function() {
return window.CloudKeys["import"]($('#import').val());
};
})(this));
}).call(this);