Code refactoring

This commit is contained in:
RainLoop Team 2014-09-01 20:05:32 +04:00
parent 759327527f
commit fa795947cf
29 changed files with 478 additions and 890 deletions

View file

@ -8,9 +8,6 @@
$ = require('$'),
_ = require('_'),
window = require('window'),
$html = require('$html'),
$win = require('$win'),
$doc = require('$doc'),
Globals = require('Globals'),
Utils = require('Utils'),
@ -35,7 +32,7 @@
this.iframe = $('<iframe style="display:none" src="javascript:;" />').appendTo('body');
$win.on('error', function (oEvent) {
Globals.$win.on('error', function (oEvent) {
if (oEvent && oEvent.originalEvent && oEvent.originalEvent.message &&
-1 === Utils.inArray(oEvent.originalEvent.message, [
'Script error.', 'Uncaught Error: Error calling method on NPObject.'
@ -47,21 +44,21 @@
oEvent.originalEvent.filename,
oEvent.originalEvent.lineno,
window.location && window.location.toString ? window.location.toString() : '',
$html.attr('class'),
Globals.$html.attr('class'),
Utils.microtime() - Globals.now
);
}
});
$doc.on('keydown', function (oEvent) {
Globals.$doc.on('keydown', function (oEvent) {
if (oEvent && oEvent.ctrlKey)
{
$html.addClass('rl-ctrl-key-pressed');
Globals.$html.addClass('rl-ctrl-key-pressed');
}
}).on('keyup', function (oEvent) {
if (oEvent && !oEvent.ctrlKey)
{
$html.removeClass('rl-ctrl-key-pressed');
Globals.$html.removeClass('rl-ctrl-key-pressed');
}
});
}
@ -210,11 +207,11 @@
'id': 'mobile',
'maxWidth': 767,
'onEnter': function() {
$html.addClass('ssm-state-mobile');
Globals.$html.addClass('ssm-state-mobile');
Events.pub('ssm.mobile-enter');
},
'onLeave': function() {
$html.removeClass('ssm-state-mobile');
Globals.$html.removeClass('ssm-state-mobile');
Events.pub('ssm.mobile-leave');
}
});
@ -224,10 +221,10 @@
'minWidth': 768,
'maxWidth': 999,
'onEnter': function() {
$html.addClass('ssm-state-tablet');
Globals.$html.addClass('ssm-state-tablet');
},
'onLeave': function() {
$html.removeClass('ssm-state-tablet');
Globals.$html.removeClass('ssm-state-tablet');
}
});
@ -236,10 +233,10 @@
'minWidth': 1000,
'maxWidth': 1400,
'onEnter': function() {
$html.addClass('ssm-state-desktop');
Globals.$html.addClass('ssm-state-desktop');
},
'onLeave': function() {
$html.removeClass('ssm-state-desktop');
Globals.$html.removeClass('ssm-state-desktop');
}
});
@ -247,10 +244,10 @@
'id': 'desktop-large',
'minWidth': 1400,
'onEnter': function() {
$html.addClass('ssm-state-desktop-large');
Globals.$html.addClass('ssm-state-desktop-large');
},
'onLeave': function() {
$html.removeClass('ssm-state-desktop-large');
Globals.$html.removeClass('ssm-state-desktop-large');
}
});
@ -263,7 +260,7 @@
});
Globals.leftPanelDisabled.subscribe(function (bValue) {
$html.toggleClass('rl-left-panel-disabled', bValue);
Globals.$html.toggleClass('rl-left-panel-disabled', bValue);
});
ssm.ready();

View file

@ -10,8 +10,6 @@
window = require('window'),
_ = require('_'),
$ = require('$'),
$win = require('$win'),
$html = require('$html'),
Globals = require('Globals'),
Plugins = require('Plugins'),
@ -29,15 +27,15 @@
Plugins.__remote = App.remote();
Plugins.__data = App.data();
$html.addClass(Globals.bMobileDevice ? 'mobile' : 'no-mobile');
Globals.$html.addClass(Globals.bMobileDevice ? 'mobile' : 'no-mobile');
$win.keydown(Utils.killCtrlAandS).keyup(Utils.killCtrlAandS);
Globals.$win.keydown(Utils.killCtrlAandS).keyup(Utils.killCtrlAandS);
$win.unload(function () {
Globals.$win.unload(function () {
Globals.bUnload = true;
});
$html.on('click.dropdown.data-api', function () {
Globals.$html.on('click.dropdown.data-api', function () {
Utils.detectDropdownVisibility();
});
@ -64,7 +62,7 @@
_.delay(function () {
App.bootstart();
$html.removeClass('no-js rl-booted-trigger').addClass('rl-booted');
Globals.$html.removeClass('no-js rl-booted-trigger').addClass('rl-booted');
}, 10);
}

View file

@ -7,13 +7,18 @@
var
Globals = {},
window = require('window'),
$ = require('$'),
ko = require('ko'),
key = require('key'),
$html = require('$html'),
Enums = require('Enums')
;
Globals.$win = $(window);
Globals.$doc = $(window.document);
Globals.$html = $('html');
Globals.$div = $('<div></div>');
/**
* @type {?}
*/
@ -97,7 +102,7 @@
/**
* @type {boolean}
*/
Globals.bAnimationSupported = !Globals.bMobileDevice && $html.hasClass('csstransitions');
Globals.bAnimationSupported = !Globals.bMobileDevice && Globals.$html.hasClass('csstransitions');
/**
* @type {boolean}

View file

@ -11,11 +11,6 @@
_ = require('_'),
ko = require('ko'),
window = require('window'),
$win = require('$win'),
$html = require('$html'),
$div = require('$div'),
$doc = require('$doc'),
NotificationClass = require('NotificationClass'),
Enums = require('Enums'),
Consts = require('Consts'),
@ -42,12 +37,12 @@
Utils.windowResize = _.debounce(function (iTimeout) {
if (Utils.isUnd(iTimeout))
{
$win.resize();
Globals.$win.resize();
}
else
{
window.setTimeout(function () {
$win.resize();
Globals.$win.resize();
}, iTimeout);
}
}, 50);
@ -95,6 +90,14 @@
return Utils.isArray(aValue) && 0 < aValue.length;
};
/**
* @return {*|null}
*/
Utils.notificationClass = function ()
{
return window.Notification && window.Notification.requestPermission ? window.Notification : null;
};
/**
* @param {string} sQueryString
* @return {Object}
@ -421,7 +424,7 @@
{
Globals.oI18N = window['rainloopI18N'] || {};
Utils.i18nToNode($doc);
Utils.i18nToNode(Globals.$doc);
Globals.langChangeTrigger(!Globals.langChangeTrigger());
}
@ -515,12 +518,8 @@
sSubject = Utils.trim(sSubject.replace(/[\s]+/g, ' '));
var
iIndex = 0,
sResult = '',
bDrop = false,
sTrimmedPart = '',
aSubject = [],
aParts = [],
bRe = 'RE' === sPrefix,
bFwd = 'FWD' === sPrefix,
bPrefixIsRe = !bFwd
@ -528,15 +527,9 @@
if ('' !== sSubject)
{
bDrop = false;
aParts = sSubject.split(':');
for (iIndex = 0; iIndex < aParts.length; iIndex++)
{
sTrimmedPart = Utils.trim(aParts[iIndex]);
if (!bDrop &&
(/^(RE|FWD)$/i.test(sTrimmedPart) || /^(RE|FWD)[\[\(][\d]+[\]\)]$/i.test(sTrimmedPart))
)
_.each(sSubject.split(':'), function (sPart) {
var sTrimmedPart = Utils.trim(sPart);
if (!bDrop && (/^(RE|FWD)$/i.test(sTrimmedPart) || /^(RE|FWD)[\[\(][\d]+[\]\)]$/i.test(sTrimmedPart)))
{
if (!bRe)
{
@ -550,15 +543,10 @@
}
else
{
aSubject.push(aParts[iIndex]);
aSubject.push(sPart);
bDrop = true;
}
}
if (0 < aSubject.length)
{
sResult = Utils.trim(aSubject.join(':'));
}
});
}
if (bPrefixIsRe)
@ -574,117 +562,10 @@
(bPrefixIsRe ? 'Re: ' : 'Fwd: ') +
(bRe ? 'Re: ' : '') +
(bFwd ? 'Fwd: ' : '') +
sResult
Utils.trim(aSubject.join(':'))
);
};
/**
* @param {string} sSubject
* @return {string}
*/
Utils.fixLongSubject = function (sSubject)
{
var
iLimit = 30,
mReg = /^Re([\[\(]([\d]+)[\]\)]|):[\s]{0,3}Re([\[\(]([\d]+)[\]\)]|):/ig,
oMatch = null
;
sSubject = Utils.trim(sSubject.replace(/[\s]+/g, ' '));
do
{
iLimit--;
oMatch = mReg.exec(sSubject);
if (!oMatch || Utils.isUnd(oMatch[0]))
{
oMatch = null;
}
if (oMatch)
{
sSubject = sSubject.replace(mReg, 'Re:');
}
}
while (oMatch || 0 < iLimit);
return sSubject.replace(/[\s]+/g, ' ');
};
/**
* @deprecated
* @param {string} sPrefix
* @param {string} sSubject
* @param {boolean=} bFixLongSubject = true
* @return {string}
*/
Utils._replySubjectAdd_ = function (sPrefix, sSubject, bFixLongSubject)
{
var
oMatch = null,
sResult = Utils.trim(sSubject)
;
if (null !== (oMatch = (new window.RegExp('^' + sPrefix + '[\\s]?\\:(.*)$', 'gi')).exec(sSubject)) && !Utils.isUnd(oMatch[1]))
{
sResult = sPrefix + '[2]: ' + oMatch[1];
}
else if (null !== (oMatch = (new window.RegExp('^(' + sPrefix + '[\\s]?[\\[\\(]?)([\\d]+)([\\]\\)]?[\\s]?\\:.*)$', 'gi')).exec(sSubject)) &&
!Utils.isUnd(oMatch[1]) && !Utils.isUnd(oMatch[2]) && !Utils.isUnd(oMatch[3]))
{
sResult = oMatch[1] + (Utils.pInt(oMatch[2]) + 1) + oMatch[3];
}
else
{
sResult = sPrefix + ': ' + sSubject;
}
sResult = sResult.replace(/[\s]+/g, ' ');
sResult = (Utils.isUnd(bFixLongSubject) ? true : bFixLongSubject) ? Utils.fixLongSubject(sResult) : sResult;
// sResult = sResult.replace(/^(Re|Fwd)[\s]?\[[\d]+\]:/ig, '$1:');
return sResult;
};
/**
* @deprecated
* @param {string} sSubject
* @return {string}
*/
Utils._fixLongSubject_ = function (sSubject)
{
var
iCounter = 0,
oMatch = null
;
sSubject = Utils.trim(sSubject.replace(/[\s]+/g, ' '));
do
{
oMatch = /^Re(\[([\d]+)\]|):[\s]{0,3}Re(\[([\d]+)\]|):/ig.exec(sSubject);
if (!oMatch || Utils.isUnd(oMatch[0]))
{
oMatch = null;
}
if (oMatch)
{
iCounter = 0;
iCounter += Utils.isUnd(oMatch[2]) ? 1 : 0 + Utils.pInt(oMatch[2]);
iCounter += Utils.isUnd(oMatch[4]) ? 1 : 0 + Utils.pInt(oMatch[4]);
sSubject = sSubject.replace(/^Re(\[[\d]+\]|):[\s]{0,3}Re(\[[\d]+\]|):/gi, 'Re' + (0 < iCounter ? '[' + iCounter + ']' : '') + ':');
}
}
while (oMatch);
sSubject = sSubject.replace(/[\s]+/g, ' ');
return sSubject;
};
/**
* @param {number} iNum
* @param {number} iDec
@ -981,7 +862,7 @@
oData.interfaceAnimation.subscribe(function (sValue) {
if (Globals.bMobileDevice || sValue === Enums.InterfaceAnimation.None)
{
$html.removeClass('rl-anim rl-anim-full').addClass('no-rl-anim');
Globals.$html.removeClass('rl-anim rl-anim-full').addClass('no-rl-anim');
Globals.sAnimationType = Enums.InterfaceAnimation.None;
}
@ -990,11 +871,11 @@
switch (sValue)
{
case Enums.InterfaceAnimation.Full:
$html.removeClass('no-rl-anim').addClass('rl-anim rl-anim-full');
Globals.$html.removeClass('no-rl-anim').addClass('rl-anim rl-anim-full');
Globals.sAnimationType = sValue;
break;
case Enums.InterfaceAnimation.Normal:
$html.removeClass('no-rl-anim rl-anim-full').addClass('rl-anim');
Globals.$html.removeClass('no-rl-anim rl-anim-full').addClass('rl-anim');
Globals.sAnimationType = sValue;
break;
}
@ -1004,8 +885,14 @@
oData.interfaceAnimation.valueHasMutated();
oData.desktopNotificationsPermisions = ko.computed(function () {
oData.desktopNotifications();
var iResult = Enums.DesktopNotifications.NotSupported;
var
NotificationClass = Utils.notificationClass(),
iResult = Enums.DesktopNotifications.NotSupported
;
if (NotificationClass && NotificationClass.permission)
{
switch (NotificationClass.permission.toLowerCase())
@ -1037,12 +924,16 @@
'write': function (bValue) {
if (bValue)
{
var iPermission = oData.desktopNotificationsPermisions();
if (Enums.DesktopNotifications.Allowed === iPermission)
var
NotificationClass = Utils.notificationClass(),
iPermission = oData.desktopNotificationsPermisions()
;
if (NotificationClass && Enums.DesktopNotifications.Allowed === iPermission)
{
oData.desktopNotifications(true);
}
else if (Enums.DesktopNotifications.NotAllowed === iPermission)
else if (NotificationClass && Enums.DesktopNotifications.NotAllowed === iPermission)
{
NotificationClass.requestPermission(function () {
oData.desktopNotifications.valueHasMutated();
@ -1577,7 +1468,7 @@
.replace(/<[^>]*>/gm, '')
;
sText = $div.html(sText).text();
sText = Globals.$div.html(sText).text();
sText = sText
.replace(/\n[ \t]+/gm, '\n')
@ -1714,7 +1605,7 @@
{
if ($.fn && $.fn.linkify)
{
sHtml = $div.html(sHtml.replace(/&amp;/ig, 'amp_amp_12345_amp_amp'))
sHtml = Globals.$div.html(sHtml.replace(/&amp;/ig, 'amp_amp_12345_amp_amp'))
.linkify()
.find('.linkified').removeClass('linkified').end()
.html()

View file

@ -1,3 +0,0 @@
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
module.exports = require('$')('<div></div>');

View file

@ -1,3 +0,0 @@
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
module.exports = require('$')(window.document);

View file

@ -1,3 +0,0 @@
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
module.exports = require('$')('html');

View file

@ -1,3 +0,0 @@
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
module.exports = require('$')(window);

View file

@ -1,3 +0,0 @@
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
module.exports = require('window')['rainloopAppData'] || {};

View file

@ -1,4 +0,0 @@
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
var w = require('window');
module.exports = w.Notification && w.Notification.requestPermission ? w.Notification : null;

9
dev/External/ko.js vendored
View file

@ -7,9 +7,7 @@
var
window = require('window'),
_ = require('_'),
$ = require('$'),
$win = require('$win'),
$doc = require('$doc')
$ = require('$')
;
ko.bindingHandlers.tooltip = {
@ -99,7 +97,7 @@
}
});
$doc.click(function () {
$(window.document).click(function () {
$oEl.tooltip('hide');
});
@ -314,6 +312,7 @@
var
Utils = require('Utils'),
Globals = require('Globals'),
aValues = ko.utils.unwrapObservable(fValueAccessor()),
iValue = Utils.pInt(aValues[1]),
iSize = 0,
@ -323,7 +322,7 @@
if (0 < iOffset)
{
iOffset += Utils.pInt(aValues[2]);
iSize = $win.height() - iOffset;
iSize = Globals.$win.height() - iOffset;
if (iValue < iSize)
{

View file

@ -10,7 +10,6 @@
ko = require('ko'),
hasher = require('hasher'),
crossroads = require('crossroads'),
$html = require('$html'),
Globals = require('Globals'),
Plugins = require('Plugins'),
@ -415,7 +414,7 @@
});
_.delay(function () {
$html.removeClass('rl-started-trigger').addClass('rl-started');
Globals.$html.removeClass('rl-started-trigger').addClass('rl-started');
}, 50);
};

View file

@ -6,7 +6,6 @@
var
ko = require('ko'),
$win = require('$win'),
Enums = require('Enums'),
Globals = require('Globals'),
@ -88,7 +87,7 @@
{
var self = this;
$win.on('keydown', function (oEvent) {
Globals.$win.on('keydown', function (oEvent) {
if (oEvent && self.modalVisibility && self.modalVisibility())
{
if (!this.bDisabeCloseOnEsc && Enums.EventKeyCode.Esc === oEvent.keyCode)

View file

@ -169,7 +169,7 @@
// this.visible.subscribe(function () {
// Utils.timeOutAction('folder-list-folder-visibility-change', function () {
// require('$win').trigger('folder-list-folder-visibility-change');
// Globals.$win.trigger('folder-list-folder-visibility-change');
// }, 100);
// });

View file

@ -10,11 +10,10 @@
_ = require('_'),
ko = require('ko'),
moment = require('moment'),
$win = require('$win'),
$div = require('$div'),
Enums = require('Enums'),
Utils = require('Utils'),
Globals = require('Globals'),
LinkBuilder = require('LinkBuilder'),
EmailModel = require('Model:Email'),
@ -976,7 +975,7 @@
'container': $('.RL-MailMessageView .messageView .messageItem .content')[0]
});
$win.resize();
Globals.$win.resize();
}
Utils.windowResize(500);
@ -1173,12 +1172,12 @@
this.pgpSignedVerifyUser(oValidSysKey.user);
sPlain =
$div.empty().append(
Globals.$div.empty().append(
$('<pre class="b-plain-openpgp signed verified"></pre>').text(sPlain)
).html()
;
$div.empty();
Globals.$div.empty();
this.replacePlaneTextBody(sPlain);
}
@ -1248,12 +1247,12 @@
sPlain = mPgpMessageDecrypted.getText();
sPlain =
$div.empty().append(
Globals.$div.empty().append(
$('<pre class="b-plain-openpgp signed verified"></pre>').text(sPlain)
).html()
;
$div.empty();
Globals.$div.empty();
this.replacePlaneTextBody(sPlain);
}

View file

@ -6,7 +6,6 @@
var
_ = require('_'),
$html = require('$html'),
Enums = require('Enums'),
Globals = require('Globals'),
@ -129,14 +128,14 @@
Remote.appDelayStart(Utils.emptyFunction);
}, 35000);
$html.toggleClass('rl-no-preview-pane', Enums.Layout.NoPreview === Data.layout());
Globals.$html.toggleClass('rl-no-preview-pane', Enums.Layout.NoPreview === Data.layout());
Data.folderList.subscribe(fResizeFunction);
Data.messageList.subscribe(fResizeFunction);
Data.message.subscribe(fResizeFunction);
Data.layout.subscribe(function (nValue) {
$html.toggleClass('rl-no-preview-pane', Enums.Layout.NoPreview === nValue);
Globals.$html.toggleClass('rl-no-preview-pane', Enums.Layout.NoPreview === nValue);
});
Events.sub('mailbox.inbox-unread-count', function (nCount) {

View file

@ -10,8 +10,6 @@
_ = require('_'),
ko = require('ko'),
moment = require('moment'),
$div = require('$div'),
NotificationClass = require('NotificationClass'),
Consts = require('Consts'),
Enums = require('Enums'),
@ -546,7 +544,11 @@
iLen = aNewMessages.length,
fNotificationHelper = function (sImageSrc, sTitle, sText)
{
var oNotification = null;
var
NotificationClass = Utils.notificationClass(),
oNotification = null
;
if (NotificationClass && self.useDesktopNotifications())
{
oNotification = new NotificationClass(sTitle, {
@ -842,11 +844,11 @@
/-----BEGIN PGP SIGNATURE-----/.test(oMessage.plainRaw);
}
$div.empty();
Globals.$div.empty();
if (bPgpSigned && oMessage.isPgpSigned())
{
sResultHtml =
$div.append(
Globals.$div.append(
$('<pre class="b-plain-openpgp signed"></pre>').text(oMessage.plainRaw)
).html()
;
@ -854,13 +856,13 @@
else if (bPgpEncrypted && oMessage.isPgpEncrypted())
{
sResultHtml =
$div.append(
Globals.$div.append(
$('<pre class="b-plain-openpgp encrypted"></pre>').text(oMessage.plainRaw)
).html()
;
}
$div.empty();
Globals.$div.empty();
oMessage.isPgpSigned(bPgpSigned);
oMessage.isPgpEncrypted(bPgpEncrypted);

View file

@ -5,6 +5,7 @@
'use strict';
var
window = require('window'),
Utils = require('Utils')
;
@ -13,7 +14,7 @@
*/
function SettingsStorage()
{
this.oSettings = require('AppData');
this.oSettings = window['rainloopAppData'] || {};
this.oSettings = Utils.isNormal(this.oSettings) ? this.oSettings : {};
}

View file

@ -9,7 +9,6 @@
$ = require('$'),
ko = require('ko'),
key = require('key'),
$html = require('$html'),
Utils = require('Utils'),
Enums = require('Enums'),
@ -235,7 +234,7 @@
{
var
sFromFolderFullNameRaw = oUi.helper.data('rl-folder'),
bCopy = $html.hasClass('rl-ctrl-key-pressed'),
bCopy = Globals.$html.hasClass('rl-ctrl-key-pressed'),
aUids = oUi.helper.data('rl-uids')
;

View file

@ -8,7 +8,6 @@
$ = require('$'),
ko = require('ko'),
key = require('key'),
$html = require('$html'),
Consts = require('Consts'),
Enums = require('Enums'),
@ -219,11 +218,11 @@
this.fullScreenMode.subscribe(function (bValue) {
if (bValue)
{
$html.addClass('rl-message-fullscreen');
Globals.$html.addClass('rl-message-fullscreen');
}
else
{
$html.removeClass('rl-message-fullscreen');
Globals.$html.removeClass('rl-message-fullscreen');
}
Utils.windowResize();

View file

@ -10,7 +10,6 @@
_ = require('_'),
ko = require('ko'),
moment = require('moment'),
$win = require('$win'),
JSON = require('JSON'),
Jua = require('Jua'),
@ -1055,7 +1054,7 @@
return false;
});
$win.on('resize', function () {
Globals.$win.on('resize', function () {
self.triggerForResize();
});

View file

@ -44,7 +44,9 @@
"window": "./dev/External/window.js",
"JSON": "./dev/External/JSON.js",
"$": "./dev/External/jquery.js",
"jquery": "./dev/External/jquery.js",
"_": "./dev/External/underscore.js",
"underscore": "./dev/External/underscore.js",
"ko": "./dev/External/ko.js",
"key": "./dev/External/key.js",
"moment": "./dev/External/moment.js",
@ -53,12 +55,6 @@
"ifvisible": "./dev/External/ifvisible.js",
"ssm": "./dev/External/ssm.js",
"Jua": "./dev/External/Jua.js",
"AppData": "./dev/External/AppData.js",
"NotificationClass": "./dev/External/NotificationClass.js",
"$win": "./dev/External/$win.js",
"$html": "./dev/External/$html.js",
"$doc": "./dev/External/$doc.js",
"$div": "./dev/External/$div.js",
"Base64": "./dev/Common/Base64.js",
"Consts": "./dev/Common/Consts.js",
@ -205,6 +201,5 @@
"gulp-closure-compiler": "*",
"gulp-csslint": "*",
"gulp-concat-util": "*"
}
}

View file

@ -637,7 +637,7 @@
filter: Alpha(Opacity=30);
}
/*! normalize.css 2012-03-11T12:53 UTC - http://github.com/necolas/normalize.css */
/* =============================================================================
@ -1150,7 +1150,7 @@ table {
border-spacing: 0;
border-collapse: collapse;
}
@charset "UTF-8";
@font-face {
@ -1522,7 +1522,7 @@ table {
.icon-resize-out:before {
content: "\e06d";
}
/** initial setup **/
.nano {
/*
@ -1638,7 +1638,7 @@ table {
.nano > .pane2.active > .slider2 {
background-color: rgba(0, 0, 0, 0.4);
}
/* Magnific Popup CSS */
.mfp-bg {
position: fixed;
@ -2094,7 +2094,7 @@ img.mfp-img {
padding-top: 0;
}
/* overlay at start */
.mfp-fade.mfp-bg {
@ -2135,7 +2135,7 @@ img.mfp-img {
-ms-transform: translateX(50px);
transform: translateX(50px);
}
.simple-pace {
pointer-events: none;
@ -2210,7 +2210,7 @@ img.mfp-img {
transform: translate(-32px, 0);
transform: translate(-32px, 0);
}
}
}
.inputosaurus-container {
display: inline-block;
margin: 0 5px 0 0;
@ -2275,7 +2275,7 @@ img.mfp-img {
.inputosaurus-input-hidden {
display: none;
}
.flag-wrapper {
display: inline-block;
width: 24px;
@ -2401,7 +2401,7 @@ img.mfp-img {
.flag.flag-zh-cn,
.flag.flag-zh-hk {
background-position: -208px -22px;
}
}
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
.clearfix {
*zoom: 1;

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long