1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-12 14:23:32 +00:00
Files
browser/src/popup/scripts/popup.js
2016-09-17 22:57:51 -04:00

58 lines
1.8 KiB
JavaScript

var popupUtils = function () {
var self = this;
self.initListSectionItemListeners = function () {
$('.list-section-item').click(function (e) {
var text = $(this).find('input, textarea').not('input[type="checkbox"], input[type="radio"], input[type="hidden"]');
var checkbox = $(this).find('input[type="checkbox"]');
var select = $(this).find('select');
if (text.length > 0 && e.target === text[0]) {
return;
}
if (checkbox.length > 0 && e.target === checkbox[0]) {
return;
}
if (select.length > 0 && e.target === select[0]) {
return;
}
e.preventDefault();
if (text.length > 0) {
text.focus();
}
else if (checkbox.length > 0) {
checkbox.prop('checked', !checkbox.is(':checked'));
if (angular) {
angular.element(checkbox[0]).triggerHandler('click');
}
}
else if (select.length > 0) {
select.openSelect();
}
});
}
return self;
}();
// ref: http://stackoverflow.com/questions/19432610/jquery-open-select-by-button
(function ($) {
"use strict";
$.fn.openSelect = function () {
return this.each(function (index, el) {
$(el).focus();
if (document.createEvent) {
var event = document.createEvent("MouseEvents");
event.initMouseEvent("mousedown", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
el.dispatchEvent(event);
}
else if (element.fireEvent) {
el.fireEvent("onmousedown");
}
});
}
}(jQuery));