$(function() { $('.account-toggle').on('click', function() { var popup = $('#user-info-popup'); popup.toggleClass('hide'); if (!popup.hasClass('hide')) { var loading_tip = $('.loading-tip', popup), space_traffic = $('#space-traffic'); loading_tip.show(); space_traffic.addClass('hide'); $('.error', popup).addClass('hide'); $.ajax({ url: space_traffic.data('url'), dataType: 'json', cache: false, success: function(data) { loading_tip.hide(); space_traffic.html(data['html']).removeClass('hide'); }, error: function (xhr, textStatus, errorThrown) { if (xhr.responseText) { var error = JSON.parse(xhr.responseText).error; loading_tip.hide(); if ($('.error', popup).length == 0) { loading_tip.after('
' + error + '
'); } else { $('.error', popup).removeClass('hide'); } } } }); } return false; }); }); $(document).on('click', function(e) { var target = e.target || event.srcElement; var closePopup = function(popup, popup_switch) { if (!popup.hasClass('hide') && !popup.is(target) && !popup.find('*').is(target) && !popup_switch.is(target) && !popup_switch.find('*').is(target) ) { popup.addClass('hide'); } }; closePopup($('#user-info-popup'), $('.account-toggle')); }); // search: disable submit when input nothing $('.search-form').on('submit', function() { if (!$.trim($(this).find('.search-input').val())) { return false; } }); $('table').on('mouseenter', 'tr:gt(0)', function() { if (app.ui.currentDropDown || app.ui.freezeItemHightlight) { return; } app.ui.currentHightlightedItem = this; $(this).addClass('hl').find('.op-icon, .op').removeClass('vh'); }) .on('mouseleave', 'tr:gt(0)', function() { if (app.ui.currentDropDown || app.ui.freezeItemHightlight) { return; } app.ui.currentHightlightedItem = null; $(this).removeClass('hl').find('.op-icon, .op').addClass('vh'); }) .on('focus', 'tr:gt(0) *', function(e) { if (app.ui.currentDropDown || app.ui.freezeItemHightlight) { return true; } $('tr.hl').removeClass('hl').find('.op-icon, .op').addClass('vh'); var $tr = $(e.target).closest('tr'); $tr.addClass('hl').find('.op-icon, .op').removeClass('vh'); }); $('input, textarea').placeholder(); // clear repo enc info when log out $('#logout').on('click', function() { if ('localStorage' in window && window['localStorage'] !== null) { if (localStorage.length > 0) { for (var key in localStorage) { if (key.lastIndexOf('_decrypt_t') == 36 || key.lastIndexOf('_enc_key') == 36 || key.lastIndexOf('_enc_iv') == 36) { // key: {{repo_id}}_xx localStorage.removeItem(key); } } } } }); /* * add confirm to an operation, using a popup * e.g: * e.g: addConfirmTo($('.user-del'), {'title': 'Delete user', 'con':'Really del user %s ?'}); */ function addConfirmTo(op_ele, popup) { op_ele.on('click', function() { var con = ''; if ($(this).data('target') && popup['con'].indexOf('%s') != -1) { con = popup['con'].replace('%s', '' + HTMLescape($(this).data('target')) + ''); } else { con = popup['con']; } $('#confirm-con').html('' + con + '
'); $('#confirm-popup').modal({appendTo:'#main'}); $('#simplemodal-container').css({'width': 'auto', 'height':'auto'}); $('#confirm-yes').data('url', $(this).data('url')).on('click', function() { if (popup.post) { // use form post $('