mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-07-13 03:27:39 +03:00
Change build system (Grunt -> Gulp)
Remove attachments on reply (Closes #195) Do not show deleted (flag \Deleted) messages (Closes #185) Release commit
This commit is contained in:
parent
aebd47393c
commit
333c063cf1
44 changed files with 1300 additions and 772 deletions
|
|
@ -1,4 +1,8 @@
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @deprecated
|
||||||
|
*/
|
||||||
|
|
||||||
/*jshint node: true */
|
/*jshint node: true */
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
@ -106,9 +110,9 @@ module.exports = function (grunt) {
|
||||||
js_index: {
|
js_index: {
|
||||||
nonull: true,
|
nonull: true,
|
||||||
src: [
|
src: [
|
||||||
'vendors/json2.min.js',
|
"vendors/json2.min.js",
|
||||||
'vendors/simple-pace/simple-pace-1.0.min.js',
|
"vendors/simple-pace/simple-pace-1.0.min.js",
|
||||||
'vendors/rl/rl-1.0.min.js'
|
"vendors/rl/rl-1.0.min.js"
|
||||||
],
|
],
|
||||||
dest: 'rainloop/v/<%= cfg.devVersion %>/static/js/boot.js'
|
dest: 'rainloop/v/<%= cfg.devVersion %>/static/js/boot.js'
|
||||||
},
|
},
|
||||||
|
|
@ -1 +1 @@
|
||||||
1.3
|
0.0
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
<id>rainloop</id>
|
<id>rainloop</id>
|
||||||
<name>RainLoop</name>
|
<name>RainLoop</name>
|
||||||
<description>RainLoop Webmail</description>
|
<description>RainLoop Webmail</description>
|
||||||
<version>1.2</version>
|
<version>0.0</version>
|
||||||
<licence>CC BY-NC-SA 3.0</licence>
|
<licence>CC BY-NC-SA 3.0</licence>
|
||||||
<author>RainLoop Team</author>
|
<author>RainLoop Team</author>
|
||||||
<require>6.0</require>
|
<require>6.0</require>
|
||||||
|
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
||||||
************************************************************************
|
|
||||||
*
|
|
||||||
* ownCloud - RainLoop mail plugin
|
|
||||||
*
|
|
||||||
* @author RainLoop Team
|
|
||||||
* @copyright 2014 RainLoop Team
|
|
||||||
*
|
|
||||||
* https://github.com/RainLoop/rainloop-webmail/
|
|
||||||
*
|
|
||||||
************************************************************************
|
|
||||||
|
|
||||||
INSTALL:
|
|
||||||
- Unpack the RainLoop Webmail application package in the apps directory of your OwnCloud instance
|
|
||||||
|
|
||||||
CONFIGURATION:
|
|
||||||
|
|
||||||
1) In the Apps > Enable 'RainLoop' plugin
|
|
||||||
2) In the Settings > Personal > Type your mail server email(login) and password (for autologin)
|
|
||||||
3) Enjoy!
|
|
||||||
|
|
@ -1,46 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ownCloud - RainLoop mail plugin
|
|
||||||
*
|
|
||||||
* @author RainLoop Team
|
|
||||||
* @copyright 2014 RainLoop Team
|
|
||||||
*
|
|
||||||
* https://github.com/RainLoop/rainloop-webmail/tree/master/build/owncloud
|
|
||||||
*/
|
|
||||||
|
|
||||||
OCP\JSON::checkLoggedIn();
|
|
||||||
OCP\JSON::checkAppEnabled('rainloop');
|
|
||||||
OCP\JSON::callCheck();
|
|
||||||
|
|
||||||
$sEmail = '';
|
|
||||||
$sLogin = '';
|
|
||||||
if (isset($_POST['appname'], $_POST['rainloop-password'], $_POST['rainloop-email']) && 'rainloop' === $_POST['appname'])
|
|
||||||
{
|
|
||||||
$sUser = OCP\User::getUser();
|
|
||||||
|
|
||||||
$sPostEmail = $_POST['rainloop-email'];
|
|
||||||
$sPostLogin = isset($_POST['rainloop-login']) ? $_POST['rainloop-login'] : '';
|
|
||||||
|
|
||||||
OCP\Config::setUserValue($sUser, 'rainloop', 'rainloop-email', $sPostEmail);
|
|
||||||
OCP\Config::setUserValue($sUser, 'rainloop', 'rainloop-login', $sPostLogin);
|
|
||||||
|
|
||||||
$sPass = $_POST['rainloop-password'];
|
|
||||||
if ('******' !== $sPass && '' !== $sPass)
|
|
||||||
{
|
|
||||||
include_once OC_App::getAppPath('rainloop').'/lib/RainLoopHelper.php';
|
|
||||||
OCP\Config::setUserValue($sUser, 'rainloop', 'rainloop-password',
|
|
||||||
OC_RainLoop_Helper::encodePassword($sPass, md5($sPostEmail.$sPostLogin)));
|
|
||||||
}
|
|
||||||
|
|
||||||
$sEmail = OCP\Config::getUserValue($sUser, 'rainloop', 'rainloop-email', '');
|
|
||||||
$sLogin = OCP\Config::getUserValue($sUser, 'rainloop', 'rainloop-login', '');
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
OC_JSON::error(array('Message' => 'Invalid argument(s)', 'Email' => $sEmail, 'Login' => $sLogin));
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
OCP\JSON::success(array('Message' => 'Saved successfully', 'Email' => $sEmail, 'Login' => $sLogin));
|
|
||||||
return true;
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ownCloud - RainLoop mail plugin
|
|
||||||
*
|
|
||||||
* @author RainLoop Team
|
|
||||||
* @copyright 2014 RainLoop Team
|
|
||||||
*
|
|
||||||
* https://github.com/RainLoop/owncloud
|
|
||||||
*/
|
|
||||||
|
|
||||||
OCP\App::registerPersonal('rainloop', 'personal');
|
|
||||||
|
|
||||||
OCP\Util::addScript('rainloop', 'rainloop');
|
|
||||||
|
|
||||||
OCP\App::addNavigationEntry(array(
|
|
||||||
'id' => 'rainloop_index',
|
|
||||||
'order' => 20,
|
|
||||||
'href' => OCP\Util::linkTo('rainloop', 'index.php'),
|
|
||||||
'icon' => OCP\Util::imagePath('rainloop', 'mail.png'),
|
|
||||||
'name' => 'RainLoop'
|
|
||||||
));
|
|
||||||
|
|
||||||
if(OC_User::isAdminUser(OCP\User::getUser()))
|
|
||||||
{
|
|
||||||
OCP\App::addNavigationEntry(array(
|
|
||||||
'id' => 'rainloop_index_admin',
|
|
||||||
'order' => 21,
|
|
||||||
'href' => OCP\Util::linkTo('rainloop', 'index-admin.php'),
|
|
||||||
'icon' => OCP\Util::imagePath('rainloop', 'mail.png'),
|
|
||||||
'name' => 'RainLoop (Admin)'
|
|
||||||
));
|
|
||||||
}
|
|
||||||
|
|
@ -1,10 +0,0 @@
|
||||||
<?xml version="1.0"?>
|
|
||||||
<info>
|
|
||||||
<id>rainloop</id>
|
|
||||||
<name>RainLoop</name>
|
|
||||||
<description>RainLoop Webmail</description>
|
|
||||||
<version>0.0.0</version>
|
|
||||||
<licence>CC BY-NC-SA 3.0</licence>
|
|
||||||
<author>RainLoop Team</author>
|
|
||||||
<require>6.0</require>
|
|
||||||
</info>
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
0.0.0
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 832 B |
Binary file not shown.
|
Before Width: | Height: | Size: 1.5 KiB |
|
|
@ -1,22 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ownCloud - RainLoop mail plugin
|
|
||||||
*
|
|
||||||
* @author RainLoop Team
|
|
||||||
* @copyright 2014 RainLoop Team
|
|
||||||
*
|
|
||||||
* https://github.com/RainLoop/rainloop-webmail/tree/master/build/owncloud
|
|
||||||
*/
|
|
||||||
|
|
||||||
OCP\User::checkAdminUser();
|
|
||||||
OCP\App::checkAppEnabled('rainloop');
|
|
||||||
OCP\App::setActiveNavigationEntry('rainloop_index_admin');
|
|
||||||
|
|
||||||
$sUrl = OCP\Util::linkTo('apps/rainloop/app', 'index.php');
|
|
||||||
$sResultUrl = $sUrl.'?admin';
|
|
||||||
|
|
||||||
$oTemplate = new OCP\Template('rainloop', 'iframe', 'user');
|
|
||||||
$oTemplate->assign('rainloop-url', $sResultUrl);
|
|
||||||
|
|
||||||
$oTemplate->printpage();
|
|
||||||
|
|
@ -1,36 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ownCloud - RainLoop mail plugin
|
|
||||||
*
|
|
||||||
* @author RainLoop Team
|
|
||||||
* @copyright 2014 RainLoop Team
|
|
||||||
*
|
|
||||||
* https://github.com/RainLoop/rainloop-webmail/tree/master/build/owncloud
|
|
||||||
*/
|
|
||||||
|
|
||||||
OCP\User::checkLoggedIn();
|
|
||||||
OCP\App::checkAppEnabled('rainloop');
|
|
||||||
OCP\App::setActiveNavigationEntry('rainloop_index');
|
|
||||||
|
|
||||||
$sUser = OCP\User::getUser();
|
|
||||||
|
|
||||||
$sEmail = OCP\Config::getUserValue($sUser, 'rainloop', 'rainloop-email', '');
|
|
||||||
$sLogin = OCP\Config::getUserValue($sUser, 'rainloop', 'rainloop-login', '');
|
|
||||||
$sPassword = OCP\Config::getUserValue($sUser, 'rainloop', 'rainloop-password', '');
|
|
||||||
|
|
||||||
$_ENV['RAINLOOP_INCLUDE_AS_API'] = true;
|
|
||||||
include OC_App::getAppPath('rainloop').'/app/index.php';
|
|
||||||
|
|
||||||
include_once OC_App::getAppPath('rainloop').'/lib/RainLoopHelper.php';
|
|
||||||
|
|
||||||
$sPassword = OC_RainLoop_Helper::decodePassword($sPassword, md5($sEmail.$sLogin));
|
|
||||||
$sSsoHash = \RainLoop\Api::GetUserSsoHash($sEmail, $sPassword, $sLogin);
|
|
||||||
|
|
||||||
$sUrl = OCP\Util::linkTo('apps/rainloop/app', 'index.php');
|
|
||||||
$sResultUrl = empty($sSsoHash) ? $sUrl.'?sso' : $sUrl.'?sso&hash='.$sSsoHash;
|
|
||||||
|
|
||||||
$oTemplate = new OCP\Template('rainloop', 'iframe', 'user');
|
|
||||||
$oTemplate->assign('rainloop-url', $sResultUrl);
|
|
||||||
|
|
||||||
$oTemplate->printpage();
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
|
|
||||||
/**
|
|
||||||
* ownCloud - RainLoop mail plugin
|
|
||||||
*
|
|
||||||
* @author RainLoop Team
|
|
||||||
* @copyright 2014 RainLoop Team
|
|
||||||
*
|
|
||||||
* https://github.com/RainLoop/rainloop-webmail/tree/master/build/owncloud
|
|
||||||
*/
|
|
||||||
|
|
||||||
$(function() {
|
|
||||||
RainLoopFormHelper('#mail-rainloop-personal-form', 'personal.php');
|
|
||||||
});
|
|
||||||
|
|
@ -1,76 +0,0 @@
|
||||||
|
|
||||||
function RainLoopFormHelper(sID, sAjaxFile, fCallback)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
var
|
|
||||||
oForm = $(sID),
|
|
||||||
oSubmit = $('#rainloop-save-button', oForm),
|
|
||||||
sSubmitValue = oSubmit.val(),
|
|
||||||
oDesc = oForm.find('.rainloop-result-desc')
|
|
||||||
;
|
|
||||||
|
|
||||||
oSubmit.click(function (oEvent) {
|
|
||||||
|
|
||||||
var oDefAjax = null;
|
|
||||||
|
|
||||||
oEvent.preventDefault();
|
|
||||||
|
|
||||||
oForm
|
|
||||||
.addClass('rainloop-ajax')
|
|
||||||
.removeClass('rainloop-error')
|
|
||||||
.removeClass('rainloop-success')
|
|
||||||
;
|
|
||||||
|
|
||||||
oDesc.text('');
|
|
||||||
oSubmit.val('...');
|
|
||||||
|
|
||||||
oDefAjax = $.ajax({
|
|
||||||
'type': 'POST',
|
|
||||||
'async': true,
|
|
||||||
'url': OC.filePath('rainloop', 'ajax', sAjaxFile),
|
|
||||||
'data': oForm.serialize(),
|
|
||||||
'dataType': 'json',
|
|
||||||
'global': true
|
|
||||||
});
|
|
||||||
|
|
||||||
oDefAjax.always(function (oData) {
|
|
||||||
|
|
||||||
var bResult = false;
|
|
||||||
|
|
||||||
oForm.removeClass('rainloop-ajax');
|
|
||||||
oSubmit.val(sSubmitValue);
|
|
||||||
|
|
||||||
if (oData)
|
|
||||||
{
|
|
||||||
bResult = 'success' === oData['status'];
|
|
||||||
if (oData['Message'])
|
|
||||||
{
|
|
||||||
oDesc.text(oData['Message']);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (bResult)
|
|
||||||
{
|
|
||||||
oForm.addClass('rainloop-success');
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
oForm.addClass('rainloop-error');
|
|
||||||
if ('' === oDesc.text())
|
|
||||||
{
|
|
||||||
oDesc.text('Error');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (fCallback)
|
|
||||||
{
|
|
||||||
fCallback(bResult, oData);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
catch(e) {}
|
|
||||||
}
|
|
||||||
|
|
@ -1,28 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
class OC_RainLoop_Helper
|
|
||||||
{
|
|
||||||
public static function encodePassword($sPassword, $sSalt)
|
|
||||||
{
|
|
||||||
if (function_exists('mcrypt_encrypt') && function_exists('mcrypt_create_iv') && function_exists('mcrypt_get_iv_size') &&
|
|
||||||
defined('MCRYPT_RIJNDAEL_256') && defined('MCRYPT_MODE_ECB') && defined('MCRYPT_RAND'))
|
|
||||||
{
|
|
||||||
return @trim(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($sSalt), $sPassword,
|
|
||||||
MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND))));
|
|
||||||
}
|
|
||||||
|
|
||||||
return @trim(base64_encode($sPassword));
|
|
||||||
}
|
|
||||||
|
|
||||||
public static function decodePassword($sPassword, $sSalt)
|
|
||||||
{
|
|
||||||
if (function_exists('mcrypt_encrypt') && function_exists('mcrypt_create_iv') && function_exists('mcrypt_get_iv_size') &&
|
|
||||||
defined('MCRYPT_RIJNDAEL_256') && defined('MCRYPT_MODE_ECB') && defined('MCRYPT_RAND'))
|
|
||||||
{
|
|
||||||
return @mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($sSalt), base64_decode(trim($sPassword)),
|
|
||||||
MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND));
|
|
||||||
}
|
|
||||||
|
|
||||||
return @base64_decode(trim($sPassword));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,29 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ownCloud - RainLoop mail plugin
|
|
||||||
*
|
|
||||||
* @author RainLoop Team
|
|
||||||
* @copyright 2014 RainLoop Team
|
|
||||||
*
|
|
||||||
* https://github.com/RainLoop/rainloop-webmail/tree/master/build/owncloud
|
|
||||||
*/
|
|
||||||
|
|
||||||
OCP\User::checkLoggedIn();
|
|
||||||
OCP\App::checkAppEnabled('rainloop');
|
|
||||||
|
|
||||||
OCP\Util::addScript('rainloop', 'personal');
|
|
||||||
|
|
||||||
$sUser = OCP\User::getUser();
|
|
||||||
|
|
||||||
$oTemplate = new OCP\Template('rainloop', 'personal');
|
|
||||||
|
|
||||||
$sEmail = OCP\Config::getUserValue($sUser, 'rainloop', 'rainloop-email', '');
|
|
||||||
|
|
||||||
$oTemplate->assign('rainloop-email', $sEmail);
|
|
||||||
$oTemplate->assign('rainloop-login', OCP\Config::getUserValue($sUser, 'rainloop', 'rainloop-login', ''));
|
|
||||||
|
|
||||||
$sPass = OCP\Config::getUserValue($sUser, 'rainloop', 'rainloop-password', '');
|
|
||||||
$oTemplate->assign('rainloop-password', 0 === strlen($sPass) && 0 === strlen($sEmail) ? '' : '******');
|
|
||||||
|
|
||||||
return $oTemplate->fetchPage();
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
<!-- empty -->
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
<div style="box-sizing: border-box; width: 100%; height: 100%; padding: 0px; margin: 0px; background-color: #383c43; position: relative; overflow: hidden;"
|
|
||||||
><iframe style="border: none; width: 100%; height: 100%; position: absolute; top: 0px; left: 0px; right: 0px; bottom: 0px;" tabindex="-1" frameborder="0"
|
|
||||||
src="<?php echo $_['rainloop-url']; ?>"></iframe></div>
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
<form id="mail-rainloop-personal-form" action="#" method="post">
|
|
||||||
<input type="hidden" name="requesttoken" value="<?php echo $_['requesttoken'] ?>" id="requesttoken">
|
|
||||||
<input type="hidden" name="appname" value="rainloop">
|
|
||||||
|
|
||||||
<fieldset class="personalblock">
|
|
||||||
<h2><?php p($l->t('RainLoop Webmail (autologin)')); ?></h2>
|
|
||||||
<p>
|
|
||||||
<input type="text" id="rainloop-email" name="rainloop-email"
|
|
||||||
value="<?php echo $_['rainloop-email']; ?>" placeholder="<?php p($l->t('Email')); ?>" />
|
|
||||||
|
|
||||||
<input type="text" id="rainloop-email" name="rainloop-login"
|
|
||||||
value="<?php echo $_['rainloop-login']; ?>" placeholder="<?php p($l->t('Login (optional)')); ?>" />
|
|
||||||
|
|
||||||
<input type="password" id="rainloop-password" name="rainloop-password"
|
|
||||||
value="<?php echo $_['rainloop-password']; ?>" placeholder="<?php p($l->t('Password')); ?>" />
|
|
||||||
|
|
||||||
<input type="button" id="rainloop-save-button" name="rainloop-save-button" value="<?php p($l->t('Save')); ?>" />
|
|
||||||
<span class="rainloop-result-desc"></span>
|
|
||||||
</p>
|
|
||||||
</fieldset>
|
|
||||||
</form>
|
|
||||||
|
|
@ -14,6 +14,7 @@
|
||||||
@import "../../vendors/bootstrap/less/forms.less";
|
@import "../../vendors/bootstrap/less/forms.less";
|
||||||
@import "../../vendors/bootstrap/less/tables.less";
|
@import "../../vendors/bootstrap/less/tables.less";
|
||||||
|
|
||||||
|
// @import "../../vendors/bootstrap/less/sprites.less";
|
||||||
@import "../../vendors/bootstrap/less/dropdowns.less";
|
@import "../../vendors/bootstrap/less/dropdowns.less";
|
||||||
@import "../../vendors/bootstrap/less/wells.less";
|
@import "../../vendors/bootstrap/less/wells.less";
|
||||||
@import "../../vendors/bootstrap/less/component-animations.less";
|
@import "../../vendors/bootstrap/less/component-animations.less";
|
||||||
|
|
@ -32,8 +33,14 @@
|
||||||
@import "../../vendors/bootstrap/less/modals.less";
|
@import "../../vendors/bootstrap/less/modals.less";
|
||||||
@import "../../vendors/bootstrap/less/tooltip.less";
|
@import "../../vendors/bootstrap/less/tooltip.less";
|
||||||
@import "../../vendors/bootstrap/less/popovers.less";
|
@import "../../vendors/bootstrap/less/popovers.less";
|
||||||
|
|
||||||
|
// @import "../../vendors/bootstrap/less/thumbnails.less";
|
||||||
@import "../../vendors/bootstrap/less/labels-badges.less";
|
@import "../../vendors/bootstrap/less/labels-badges.less";
|
||||||
@import "../../vendors/bootstrap/less/progress-bars.less";
|
@import "../../vendors/bootstrap/less/progress-bars.less";
|
||||||
|
// @import "../../vendors/bootstrap/less/accordion.less";
|
||||||
|
// @import "../../vendors/bootstrap/less/carousel.less";
|
||||||
|
// @import "../../vendors/bootstrap/less/hero-unit.less";
|
||||||
|
|
||||||
@import "../../vendors/bootstrap/less/utilities.less";
|
@import "../../vendors/bootstrap/less/utilities.less";
|
||||||
|
|
||||||
@import "_FontasticToBoot.less";
|
@import "_FontasticToBoot.less";
|
||||||
|
|
|
||||||
|
|
@ -230,20 +230,31 @@ html.rl-no-preview-pane {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.visible-on-ctrl {
|
.visible-on-ctrl, .visible-on-ctrl-btn {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.hidden-on-ctrl {
|
.hidden-on-ctrl-btn {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
|
|
||||||
html.rl-ctrl-key-pressed .visible-on-ctrl {
|
html.rl-ctrl-key-pressed {
|
||||||
display: inline-block;
|
|
||||||
}
|
|
||||||
|
|
||||||
html.rl-ctrl-key-pressed .hidden-on-ctrl {
|
.visible-on-ctrl {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-group.open .visible-on-ctrl-btn {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hidden-on-ctrl {
|
||||||
display: none;
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-group.open .hidden-on-ctrl-btn {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#rl-loading, #rl-loading-error {
|
#rl-loading, #rl-loading-error {
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,4 @@
|
||||||
|
|
||||||
/*.folderPaddingHelper(@i) {
|
|
||||||
(~".folder-padding.deep-@{i}") {
|
|
||||||
width: 15px * @i + 10px;
|
|
||||||
}
|
|
||||||
}*/
|
|
||||||
|
|
||||||
.b-settings-folders {
|
.b-settings-folders {
|
||||||
|
|
||||||
&.ignore-folder-subscribe {
|
&.ignore-folder-subscribe {
|
||||||
|
|
@ -116,10 +110,4 @@
|
||||||
.folder-padding.deep-5 {
|
.folder-padding.deep-5 {
|
||||||
width: 15px * 5 + 10px;
|
width: 15px * 5 + 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* .folderPaddingHelper(1);
|
|
||||||
.folderPaddingHelper(2);
|
|
||||||
.folderPaddingHelper(3);
|
|
||||||
.folderPaddingHelper(4);
|
|
||||||
.folderPaddingHelper(5);*/
|
|
||||||
}
|
}
|
||||||
|
|
@ -1371,7 +1371,6 @@ PopupsComposeViewModel.prototype.prepearMessageAttachments = function (oMessage,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
bAdd = true;
|
|
||||||
if (bAdd)
|
if (bAdd)
|
||||||
{
|
{
|
||||||
oAttachment = new ComposeAttachmentModel(
|
oAttachment = new ComposeAttachmentModel(
|
||||||
|
|
|
||||||
585
gulpfile.js
Normal file
585
gulpfile.js
Normal file
|
|
@ -0,0 +1,585 @@
|
||||||
|
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
var
|
||||||
|
pkg = require('./package.json'),
|
||||||
|
cfg = {
|
||||||
|
devVersion: '0.0.0',
|
||||||
|
releasesPath: 'build/dist/releases',
|
||||||
|
|
||||||
|
destPath: '',
|
||||||
|
cleanPath: '',
|
||||||
|
zipSrcPath: '',
|
||||||
|
zipFile: '',
|
||||||
|
|
||||||
|
paths: {},
|
||||||
|
summary: {
|
||||||
|
verbose: true,
|
||||||
|
reasonCol: 'cyan,bold',
|
||||||
|
codeCol: 'green'
|
||||||
|
},
|
||||||
|
uglify: {
|
||||||
|
mangle: true,
|
||||||
|
compress: true,
|
||||||
|
preserveComments: 'some'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
fs = require('node-fs'),
|
||||||
|
path = require('path'),
|
||||||
|
gulp = require('gulp'),
|
||||||
|
concat = require('gulp-concat-util'),
|
||||||
|
header = require('gulp-header'),
|
||||||
|
footer = require('gulp-footer'),
|
||||||
|
rename = require('gulp-rename'),
|
||||||
|
minifyCss = require('gulp-minify-css'),
|
||||||
|
less = require('gulp-less'),
|
||||||
|
jshint = require('gulp-jshint'),
|
||||||
|
uglify = require('gulp-uglify'),
|
||||||
|
gutil = require('gulp-util')
|
||||||
|
;
|
||||||
|
|
||||||
|
function regOtherMinTask(sName, sPath, sInc, sOut, sHeader)
|
||||||
|
{
|
||||||
|
gulp.task(sName, function() {
|
||||||
|
return gulp.src(sPath + sInc)
|
||||||
|
.pipe(uglify())
|
||||||
|
.pipe(header(sHeader || ''))
|
||||||
|
.pipe(rename(sOut))
|
||||||
|
.pipe(gulp.dest(sPath));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function zipDir(sSrcDir, sDestDir, sFileName)
|
||||||
|
{
|
||||||
|
return gulp.src(sSrcDir + '**/*')
|
||||||
|
.pipe(require('gulp-zip')(sFileName))
|
||||||
|
.pipe(gulp.dest(sDestDir));
|
||||||
|
}
|
||||||
|
|
||||||
|
function cleanDir(sDir)
|
||||||
|
{
|
||||||
|
return gulp.src(sDir, {read: false})
|
||||||
|
.pipe(require('gulp-clean')());
|
||||||
|
}
|
||||||
|
|
||||||
|
function renameFileWothMd5Hash(sFile)
|
||||||
|
{
|
||||||
|
var sHash = require('crypto').createHash('md5').update(fs.readFileSync(sFile)).digest('hex');
|
||||||
|
fs.renameSync(sFile, sFile.replace(/\.zip$/, '-' + sHash + '.zip'));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
cfg.paths.staticJS = 'rainloop/v/' + cfg.devVersion + '/static/js/';
|
||||||
|
cfg.paths.staticCSS = 'rainloop/v/' + cfg.devVersion + '/static/css/';
|
||||||
|
|
||||||
|
cfg.paths.less = {
|
||||||
|
main: {
|
||||||
|
name: 'less.css',
|
||||||
|
src: 'dev/Styles/@Main.less',
|
||||||
|
watch: ['dev/Styles/*.less'],
|
||||||
|
options: {
|
||||||
|
paths: [path.join(__dirname, 'dev/Styles/'), path.join(__dirname, 'vendors/bootstrap/less/')]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
cfg.paths.css = {
|
||||||
|
main: {
|
||||||
|
name: 'app.css',
|
||||||
|
name_min: 'app.min.css',
|
||||||
|
src: [
|
||||||
|
'vendors/jquery-ui/css/smoothness/jquery-ui-1.10.3.custom.css',
|
||||||
|
'vendors/normalize/normalize.css',
|
||||||
|
'vendors/fontastic/styles.css',
|
||||||
|
'vendors/jquery-nanoscroller/nanoscroller.css',
|
||||||
|
'vendors/jquery-magnific-popup/magnific-popup.css',
|
||||||
|
'vendors/jquery-magnific-popup/magnific-popup-animations.css',
|
||||||
|
'vendors/simple-pace/styles.css',
|
||||||
|
'vendors/inputosaurus/inputosaurus.css',
|
||||||
|
'vendors/flags/flags-fixed.css',
|
||||||
|
cfg.paths.staticCSS + cfg.paths.less.main.name
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
cfg.paths.js = {
|
||||||
|
boot: {
|
||||||
|
name: 'boot.js',
|
||||||
|
src: [
|
||||||
|
'vendors/json2.min.js',
|
||||||
|
'vendors/simple-pace/simple-pace-1.0.min.js',
|
||||||
|
'vendors/rl/rl-1.0.min.js'
|
||||||
|
]
|
||||||
|
},
|
||||||
|
openpgp: {
|
||||||
|
name: 'openpgp.min.js',
|
||||||
|
src: [
|
||||||
|
'vendors/openpgp/openpgp-0.5.1.min.js'
|
||||||
|
]
|
||||||
|
},
|
||||||
|
libs: {
|
||||||
|
name: 'libs.js',
|
||||||
|
src: [
|
||||||
|
'vendors/modernizr.js',
|
||||||
|
'vendors/underscore/underscore-1.5.2.min.js',
|
||||||
|
'vendors/jquery/jquery-1.11.1.min.js',
|
||||||
|
'vendors/jquery-ui/js/jquery-ui-1.10.3.custom.min.js',
|
||||||
|
'vendors/jquery-cookie/jquery.cookie-1.4.0.min.js',
|
||||||
|
'vendors/jquery-finger/jquery.finger.min.js',
|
||||||
|
'vendors/jquery-mousewheel/jquery.mousewheel-3.1.4.min.js',
|
||||||
|
'vendors/jquery-scrollstop/jquery.scrollstop.min.js',
|
||||||
|
'vendors/jquery-lazyload/jquery.lazyload.min.js',
|
||||||
|
'vendors/jquery-nanoscroller/jquery.nanoscroller-0.7.min.js',
|
||||||
|
'vendors/jquery-wakeup/jquery.wakeup.min.js',
|
||||||
|
'vendors/inputosaurus/inputosaurus.min.js',
|
||||||
|
'vendors/moment/min/moment.min.js ',
|
||||||
|
'vendors/routes/signals.min.js',
|
||||||
|
'vendors/routes/hasher.min.js',
|
||||||
|
'vendors/routes/crossroads.min.js',
|
||||||
|
'vendors/knockout/knockout-3.1.0.js',
|
||||||
|
'vendors/knockout-projections/knockout-projections-1.0.0.min.js',
|
||||||
|
'vendors/ssm/ssm.min.js',
|
||||||
|
'vendors/jua/jua.min.js',
|
||||||
|
'vendors/keymaster/keymaster.js',
|
||||||
|
'vendors/ifvisible/ifvisible.min.js',
|
||||||
|
'vendors/jquery-magnific-popup/jquery.magnific-popup.min.js',
|
||||||
|
'vendors/bootstrap/js/bootstrap.min.js',
|
||||||
|
'dev/Common/_LibsEnd.js'
|
||||||
|
]
|
||||||
|
},
|
||||||
|
app: {
|
||||||
|
name: 'app.js',
|
||||||
|
name_min: 'app.min.js',
|
||||||
|
src: [
|
||||||
|
'dev/Common/_Begin.js',
|
||||||
|
'dev/Common/_BeginW.js',
|
||||||
|
|
||||||
|
'dev/Common/Globals.js',
|
||||||
|
'dev/Common/Constants.js',
|
||||||
|
'dev/Common/Enums.js',
|
||||||
|
'dev/Common/Utils.js',
|
||||||
|
'dev/Common/Base64.js',
|
||||||
|
'dev/Common/Knockout.js',
|
||||||
|
'dev/Common/LinkBuilder.js',
|
||||||
|
'dev/Common/Plugins.js',
|
||||||
|
'dev/Common/NewHtmlEditorWrapper.js',
|
||||||
|
'dev/Common/Selector.js',
|
||||||
|
|
||||||
|
'dev/Storages/LocalStorages/CookieDriver.js',
|
||||||
|
'dev/Storages/LocalStorages/LocalStorageDriver.js',
|
||||||
|
'dev/Storages/LocalStorage.js',
|
||||||
|
|
||||||
|
'dev/Knoin/AbstractBoot.js',
|
||||||
|
'dev/Knoin/AbstractViewModel.js',
|
||||||
|
'dev/Knoin/AbstractScreen.js',
|
||||||
|
'dev/Knoin/Knoin.js',
|
||||||
|
|
||||||
|
'dev/Models/EmailModel.js',
|
||||||
|
'dev/Models/ContactModel.js',
|
||||||
|
'dev/Models/ContactPropertyModel.js',
|
||||||
|
'dev/Models/ContactTagModel.js',
|
||||||
|
'dev/Models/AttachmentModel.js',
|
||||||
|
'dev/Models/ComposeAttachmentModel.js',
|
||||||
|
'dev/Models/MessageModel.js',
|
||||||
|
'dev/Models/FolderModel.js',
|
||||||
|
'dev/Models/AccountModel.js',
|
||||||
|
'dev/Models/IdentityModel.js',
|
||||||
|
'dev/Models/FilterConditionModel.js',
|
||||||
|
'dev/Models/FilterModel.js',
|
||||||
|
'dev/Models/OpenPgpKeyModel.js',
|
||||||
|
|
||||||
|
'dev/ViewModels/PopupsFolderClearViewModel.js',
|
||||||
|
'dev/ViewModels/PopupsFolderCreateViewModel.js',
|
||||||
|
'dev/ViewModels/PopupsFolderSystemViewModel.js',
|
||||||
|
'dev/ViewModels/PopupsComposeViewModel.js',
|
||||||
|
'dev/ViewModels/PopupsContactsViewModel.js',
|
||||||
|
'dev/ViewModels/PopupsAdvancedSearchViewModel.js',
|
||||||
|
'dev/ViewModels/PopupsAddAccountViewModel.js',
|
||||||
|
'dev/ViewModels/PopupsAddOpenPgpKeyViewModel.js',
|
||||||
|
'dev/ViewModels/PopupsViewOpenPgpKeyViewModel.js',
|
||||||
|
'dev/ViewModels/PopupsGenerateNewOpenPgpKeyViewModel.js',
|
||||||
|
'dev/ViewModels/PopupsComposeOpenPgpViewModel.js',
|
||||||
|
'dev/ViewModels/PopupsIdentityViewModel.js',
|
||||||
|
'dev/ViewModels/PopupsLanguagesViewModel.js',
|
||||||
|
'dev/ViewModels/PopupsTwoFactorTestViewModel.js',
|
||||||
|
'dev/ViewModels/PopupsAskViewModel.js',
|
||||||
|
'dev/ViewModels/PopupsKeyboardShortcutsHelpViewModel.js',
|
||||||
|
|
||||||
|
'dev/ViewModels/LoginViewModel.js',
|
||||||
|
|
||||||
|
'dev/ViewModels/AbstractSystemDropDownViewModel.js',
|
||||||
|
'dev/ViewModels/MailBoxSystemDropDownViewModel.js',
|
||||||
|
'dev/ViewModels/SettingsSystemDropDownViewModel.js',
|
||||||
|
|
||||||
|
'dev/ViewModels/MailBoxFolderListViewModel.js',
|
||||||
|
'dev/ViewModels/MailBoxMessageListViewModel.js',
|
||||||
|
'dev/ViewModels/MailBoxMessageViewViewModel.js',
|
||||||
|
|
||||||
|
'dev/ViewModels/SettingsMenuViewModel.js',
|
||||||
|
'dev/ViewModels/SettingsPaneViewModel.js',
|
||||||
|
|
||||||
|
'dev/Settings/General.js',
|
||||||
|
'dev/Settings/Contacts.js',
|
||||||
|
'dev/Settings/Accounts.js',
|
||||||
|
'dev/Settings/Identity.js',
|
||||||
|
'dev/Settings/Identities.js',
|
||||||
|
'dev/Settings/Filters.js',
|
||||||
|
'dev/Settings/Security.js',
|
||||||
|
'dev/Settings/Social.js',
|
||||||
|
'dev/Settings/ChangePassword.js',
|
||||||
|
'dev/Settings/Folders.js',
|
||||||
|
'dev/Settings/Themes.js',
|
||||||
|
'dev/Settings/OpenPGP.js',
|
||||||
|
|
||||||
|
'dev/Storages/AbstractData.js',
|
||||||
|
'dev/Storages/WebMailData.js',
|
||||||
|
|
||||||
|
'dev/Storages/AbstractAjaxRemote.js',
|
||||||
|
'dev/Storages/WebMailAjaxRemote.js',
|
||||||
|
|
||||||
|
'dev/Storages/AbstractCache.js',
|
||||||
|
'dev/Storages/WebMailCache.js',
|
||||||
|
|
||||||
|
'dev/Screens/AbstractSettings.js',
|
||||||
|
|
||||||
|
'dev/Screens/Login.js',
|
||||||
|
'dev/Screens/MailBox.js',
|
||||||
|
'dev/Screens/Settings.js',
|
||||||
|
|
||||||
|
'dev/Boots/AbstractApp.js',
|
||||||
|
'dev/Boots/RainLoopApp.js',
|
||||||
|
|
||||||
|
'dev/Common/_End.js',
|
||||||
|
'dev/Common/_CoreEnd.js'
|
||||||
|
]
|
||||||
|
},
|
||||||
|
admin: {
|
||||||
|
name: 'admin.js',
|
||||||
|
name_min: 'admin.min.js',
|
||||||
|
src: [
|
||||||
|
'dev/Common/_Begin.js',
|
||||||
|
'dev/Common/_BeginA.js',
|
||||||
|
|
||||||
|
'dev/Common/Globals.js',
|
||||||
|
'dev/Common/Constants.js',
|
||||||
|
'dev/Common/Enums.js',
|
||||||
|
'dev/Common/Utils.js',
|
||||||
|
'dev/Common/Base64.js',
|
||||||
|
'dev/Common/Knockout.js',
|
||||||
|
'dev/Common/LinkBuilder.js',
|
||||||
|
'dev/Common/Plugins.js',
|
||||||
|
|
||||||
|
'dev/Storages/LocalStorages/CookieDriver.js',
|
||||||
|
'dev/Storages/LocalStorages/LocalStorageDriver.js',
|
||||||
|
'dev/Storages/LocalStorage.js',
|
||||||
|
|
||||||
|
'dev/Knoin/AbstractBoot.js',
|
||||||
|
'dev/Knoin/AbstractViewModel.js',
|
||||||
|
'dev/Knoin/AbstractScreen.js',
|
||||||
|
'dev/Knoin/Knoin.js',
|
||||||
|
|
||||||
|
'dev/Models/EmailModel.js',
|
||||||
|
'dev/Models/ContactTagModel.js',
|
||||||
|
|
||||||
|
'dev/ViewModels/PopupsDomainViewModel.js',
|
||||||
|
'dev/ViewModels/PopupsPluginViewModel.js',
|
||||||
|
'dev/ViewModels/PopupsActivateViewModel.js',
|
||||||
|
'dev/ViewModels/PopupsLanguagesViewModel.js',
|
||||||
|
'dev/ViewModels/PopupsAskViewModel.js',
|
||||||
|
|
||||||
|
'dev/ViewModels/AdminLoginViewModel.js',
|
||||||
|
|
||||||
|
'dev/ViewModels/AdminMenuViewModel.js',
|
||||||
|
'dev/ViewModels/AdminPaneViewModel.js',
|
||||||
|
|
||||||
|
'dev/Admin/General.js',
|
||||||
|
'dev/Admin/Login.js',
|
||||||
|
'dev/Admin/Branding.js',
|
||||||
|
'dev/Admin/Contacts.js',
|
||||||
|
'dev/Admin/Domains.js',
|
||||||
|
'dev/Admin/Security.js',
|
||||||
|
'dev/Admin/Social.js',
|
||||||
|
'dev/Admin/Plugins.js',
|
||||||
|
'dev/Admin/Packages.js',
|
||||||
|
'dev/Admin/Licensing.js',
|
||||||
|
'dev/Admin/About.js',
|
||||||
|
|
||||||
|
'dev/Storages/AbstractData.js',
|
||||||
|
'dev/Storages/AdminData.js',
|
||||||
|
|
||||||
|
'dev/Storages/AbstractAjaxRemote.js',
|
||||||
|
'dev/Storages/AdminAjaxRemote.js',
|
||||||
|
|
||||||
|
'dev/Storages/AbstractCache.js',
|
||||||
|
'dev/Storages/AdminCache.js',
|
||||||
|
|
||||||
|
'dev/Screens/AbstractSettings.js',
|
||||||
|
|
||||||
|
'dev/Screens/AdminLogin.js',
|
||||||
|
'dev/Screens/AdminSettings.js',
|
||||||
|
|
||||||
|
'dev/Boots/AbstractApp.js',
|
||||||
|
'dev/Boots/AdminApp.js',
|
||||||
|
|
||||||
|
'dev/Common/_End.js',
|
||||||
|
'dev/Common/_CoreEnd.js'
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// CSS
|
||||||
|
gulp.task('less:main', function() {
|
||||||
|
return gulp.src(cfg.paths.less.main.src)
|
||||||
|
.pipe(less({
|
||||||
|
'paths': cfg.paths.less.main.options.paths
|
||||||
|
}))
|
||||||
|
.pipe(rename(cfg.paths.less.main.name))
|
||||||
|
.pipe(gulp.dest(cfg.paths.staticCSS));
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('css:main', ['less:main'], function() {
|
||||||
|
return gulp.src(cfg.paths.css.main.src)
|
||||||
|
.pipe(concat(cfg.paths.css.main.name))
|
||||||
|
.pipe(gulp.dest(cfg.paths.staticCSS));
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('css:main:min', ['css:main'], function() {
|
||||||
|
return gulp.src(cfg.paths.staticCSS + cfg.paths.css.main.name)
|
||||||
|
.pipe(minifyCss())
|
||||||
|
.pipe(rename(cfg.paths.css.main.name_min))
|
||||||
|
.pipe(gulp.dest(cfg.paths.staticCSS));
|
||||||
|
});
|
||||||
|
|
||||||
|
// JS
|
||||||
|
// - concat
|
||||||
|
gulp.task('js:boot', function() {
|
||||||
|
return gulp.src(cfg.paths.js.boot.src)
|
||||||
|
.pipe(concat(cfg.paths.js.boot.name))
|
||||||
|
.pipe(gulp.dest(cfg.paths.staticJS));
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('js:openpgp', function() {
|
||||||
|
return gulp.src(cfg.paths.js.openpgp.src)
|
||||||
|
.pipe(rename(cfg.paths.js.openpgp.name))
|
||||||
|
.pipe(gulp.dest(cfg.paths.staticJS));
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('js:libs', function() {
|
||||||
|
return gulp.src(cfg.paths.js.libs.src)
|
||||||
|
.pipe(concat(cfg.paths.js.libs.name, {separator: '\n\n'}))
|
||||||
|
.pipe(gulp.dest(cfg.paths.staticJS));
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('js:app', function() {
|
||||||
|
return gulp.src(cfg.paths.js.app.src)
|
||||||
|
.pipe(concat(cfg.paths.js.app.name))
|
||||||
|
.pipe(header('/*! RainLoop Webmail Main Module (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */\n' +
|
||||||
|
'(function (window, $, ko, crossroads, hasher, moment, Jua, _, ifvisible, key) {\n'))
|
||||||
|
.pipe(footer('\n\n}(window, jQuery, ko, crossroads, hasher, moment, Jua, _, ifvisible, key));'))
|
||||||
|
.pipe(gulp.dest(cfg.paths.staticJS));
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('js:admin', function() {
|
||||||
|
return gulp.src(cfg.paths.js.admin.src)
|
||||||
|
.pipe(concat(cfg.paths.js.admin.name))
|
||||||
|
.pipe(header('/*! RainLoop Webmail Admin Module (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */\n' +
|
||||||
|
'(function (window, $, ko, crossroads, hasher, _) {\n'))
|
||||||
|
.pipe(footer('\n\n}(window, jQuery, ko, crossroads, hasher, _));'))
|
||||||
|
.pipe(gulp.dest(cfg.paths.staticJS));
|
||||||
|
});
|
||||||
|
|
||||||
|
// - lint
|
||||||
|
gulp.task('js:app:lint', ['js:app'], function() {
|
||||||
|
return gulp.src(cfg.paths.staticJS + cfg.paths.js.app.name)
|
||||||
|
.pipe(jshint('.jshintrc'))
|
||||||
|
.pipe(jshint.reporter('jshint-summary', cfg.summary))
|
||||||
|
.pipe(jshint.reporter('fail'));
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('js:admin:lint', ['js:admin'], function() {
|
||||||
|
return gulp.src(cfg.paths.staticJS + cfg.paths.js.admin.name)
|
||||||
|
.pipe(jshint('.jshintrc'))
|
||||||
|
.pipe(jshint.reporter('jshint-summary', cfg.summary))
|
||||||
|
.pipe(jshint.reporter('fail'));
|
||||||
|
});
|
||||||
|
|
||||||
|
// - min
|
||||||
|
gulp.task('js:app:min', ['js:app:lint'], function() {
|
||||||
|
return gulp.src(cfg.paths.staticJS + cfg.paths.js.app.name)
|
||||||
|
.pipe(rename(cfg.paths.js.app.name_min))
|
||||||
|
.pipe(uglify(cfg.uglify))
|
||||||
|
.pipe(gulp.dest(cfg.paths.staticJS))
|
||||||
|
.on('error', gutil.log);
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('js:admin:min', ['js:admin:lint'], function() {
|
||||||
|
return gulp.src(cfg.paths.staticJS + cfg.paths.js.admin.name)
|
||||||
|
.pipe(rename(cfg.paths.js.admin.name_min))
|
||||||
|
.pipe(uglify(cfg.uglify))
|
||||||
|
.pipe(gulp.dest(cfg.paths.staticJS))
|
||||||
|
.on('error', gutil.log);
|
||||||
|
});
|
||||||
|
|
||||||
|
// OTHER
|
||||||
|
regOtherMinTask('other:cookie', 'vendors/jquery-cookie/', 'jquery.cookie.js', 'jquery.cookie-1.4.0.min.js',
|
||||||
|
'/*! jquery.cookie v1.4.0 (c) 2013 Klaus Hartl | MIT */\n');
|
||||||
|
|
||||||
|
regOtherMinTask('other:ifvisible', 'vendors/ifvisible/', 'src/ifvisible.js', 'ifvisible.min.js',
|
||||||
|
'/*!ifvisible.js v1.0.0 (c) 2013 Serkan Yersen | MIT */\n');
|
||||||
|
|
||||||
|
regOtherMinTask('other:wakeup', 'vendors/jquery-wakeup/', 'jquery.wakeup.js', 'jquery.wakeup.min.js',
|
||||||
|
'/*! jQuery WakeUp plugin (c) 2013 Paul Okopny <paul.okopny@gmail.com> | MIT */\n');
|
||||||
|
|
||||||
|
regOtherMinTask('other:mousewheel', 'vendors/jquery-mousewheel/', 'jquery.mousewheel.js', 'jquery.mousewheel-3.1.4.min.js',
|
||||||
|
'/*! jquery.mousewheel v3.1.4 (c) 2013 Brandon Aaron (http://brandon.aaron.sh) | MIT */\n');
|
||||||
|
|
||||||
|
regOtherMinTask('other:nano', 'vendors/jquery-nanoscroller/', 'jquery.nanoscroller.js', 'jquery.nanoscroller-0.7.min.js',
|
||||||
|
'/*! nanoScrollerJS v0.7 (c) 2013 James Florentino; modified by RainLoop Team | MIT */\n');
|
||||||
|
|
||||||
|
regOtherMinTask('other:inputosaurus', 'vendors/inputosaurus/', 'inputosaurus.js', 'inputosaurus.min.js',
|
||||||
|
'/*! Inputosaurus Text v0.1.6 (c) 2013 Dan Kielp <dan@sproutsocial.com>; modified by RainLoop Team | MIT */\n');
|
||||||
|
|
||||||
|
regOtherMinTask('other:pace', 'vendors/simple-pace/', 'simple-pace.js', 'simple-pace-1.0.min.js',
|
||||||
|
'/*! RainLoop Simple Pace v1.0 (c) 2013 RainLoop Team; Licensed under MIT */\n');
|
||||||
|
|
||||||
|
regOtherMinTask('other:rl', 'vendors/rl/', 'rl.js', 'rl-1.0.min.js',
|
||||||
|
'/*! RainLoop Top Driver v1.0 (c) 2013 RainLoop Team; Licensed under MIT */\n');
|
||||||
|
|
||||||
|
gulp.task('package-inc-release', function() {
|
||||||
|
fs.writeFileSync('package.json',
|
||||||
|
fs.readFileSync('package.json', 'utf8').replace(/"release":\s?"[\d]+",/, '"release": "' +
|
||||||
|
(1 + parseInt(pkg.release, 10)) + '",'));
|
||||||
|
});
|
||||||
|
|
||||||
|
// BUILD (RainLoop)
|
||||||
|
gulp.task('rainloop:copy', function() {
|
||||||
|
|
||||||
|
var
|
||||||
|
versionFull = pkg.version + '.' + parseInt(pkg.release, 10),
|
||||||
|
dist = cfg.releasesPath + '/webmail/' + versionFull + '/src/'
|
||||||
|
;
|
||||||
|
|
||||||
|
fs.mkdirSync(dist, '0777', true);
|
||||||
|
fs.mkdirSync(dist + 'data');
|
||||||
|
fs.mkdirSync(dist + 'rainloop/v/' + versionFull, '0777', true);
|
||||||
|
|
||||||
|
return gulp.src('rainloop/v/' + cfg.devVersion + '/**/*', {base: 'rainloop/v/' + cfg.devVersion})
|
||||||
|
.pipe(gulp.dest(dist + 'rainloop/v/' + versionFull));
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('rainloop:setup', ['rainloop:copy'], function() {
|
||||||
|
|
||||||
|
var
|
||||||
|
versionFull = pkg.version + '.' + parseInt(pkg.release, 10),
|
||||||
|
dist = cfg.releasesPath + '/webmail/' + versionFull + '/src/'
|
||||||
|
;
|
||||||
|
|
||||||
|
fs.writeFileSync(dist + 'data/EMPTY', versionFull);
|
||||||
|
|
||||||
|
fs.writeFileSync(dist + 'index.php',
|
||||||
|
fs.readFileSync('index.php', 'utf8').replace('\'APP_VERSION\', \'0.0.0\'', '\'APP_VERSION\', \'' + versionFull + '\''));
|
||||||
|
|
||||||
|
fs.writeFileSync(dist + 'rainloop/v/' + versionFull + '/index.php.root', fs.readFileSync(dist + 'index.php'));
|
||||||
|
|
||||||
|
fs.unlinkSync(dist + 'rainloop/v/' + versionFull + '/static/css/less.css');
|
||||||
|
|
||||||
|
cfg.destPath = cfg.releasesPath + '/webmail/' + versionFull + '/';
|
||||||
|
cfg.cleanPath = dist;
|
||||||
|
cfg.zipSrcPath = dist;
|
||||||
|
cfg.zipFile = 'rainloop-' + versionFull + '.zip';
|
||||||
|
cfg.md5File = cfg.zipFile;
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('rainloop:zip', ['rainloop:copy', 'rainloop:setup'], function() {
|
||||||
|
return (cfg.destPath && cfg.zipSrcPath && cfg.zipFile) ?
|
||||||
|
zipDir(cfg.zipSrcPath, cfg.destPath, cfg.zipFile) : false;
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('rainloop:md5', ['rainloop:zip'], function() {
|
||||||
|
return (cfg.destPath && cfg.md5File) ?
|
||||||
|
renameFileWothMd5Hash(cfg.destPath + cfg.md5File) : false;
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('rainloop:clean', ['rainloop:copy', 'rainloop:setup'], function() {
|
||||||
|
return (cfg.cleanPath) ? cleanDir(cfg.cleanPath) : false;
|
||||||
|
});
|
||||||
|
|
||||||
|
// BUILD (OwnCloud)
|
||||||
|
gulp.task('rainloop:owncloud:copy', function() {
|
||||||
|
|
||||||
|
var
|
||||||
|
versionFull = pkg.ownCloudPackageVersion,
|
||||||
|
dist = cfg.releasesPath + '/owncloud/' + versionFull + '/src/'
|
||||||
|
;
|
||||||
|
|
||||||
|
fs.mkdirSync(dist, '0777', true);
|
||||||
|
fs.mkdirSync(dist + 'rainloop', '0777', true);
|
||||||
|
|
||||||
|
return gulp.src('build/owncloud/rainloop-app/**/*', {base: 'build/owncloud/rainloop-app/'})
|
||||||
|
.pipe(gulp.dest(dist + 'rainloop'));
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('rainloop:owncloud:setup', ['rainloop:owncloud:copy'], function() {
|
||||||
|
|
||||||
|
var
|
||||||
|
versionFull = pkg.ownCloudPackageVersion,
|
||||||
|
dist = cfg.releasesPath + '/owncloud/' + versionFull + '/src/'
|
||||||
|
;
|
||||||
|
|
||||||
|
fs.writeFileSync(dist + 'rainloop/appinfo/info.xml',
|
||||||
|
fs.readFileSync(dist + 'rainloop/appinfo/info.xml', 'utf8').replace('<version>0.0</version>', '<version>' + versionFull + '</version>'));
|
||||||
|
|
||||||
|
fs.writeFileSync(dist + 'rainloop/appinfo/version', versionFull);
|
||||||
|
fs.writeFileSync(dist + 'rainloop/VERSION', versionFull);
|
||||||
|
|
||||||
|
cfg.destPath = cfg.releasesPath + '/owncloud/' + versionFull + '/';
|
||||||
|
cfg.cleanPath = dist;
|
||||||
|
cfg.zipSrcPath = dist;
|
||||||
|
cfg.zipFile = 'rainloop-owncloud-app-' + versionFull + '.zip';
|
||||||
|
cfg.md5File = cfg.zipFile;
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('rainloop:owncloud:zip', ['rainloop:owncloud:copy', 'rainloop:owncloud:setup'], function() {
|
||||||
|
return (cfg.destPath && cfg.zipSrcPath && cfg.zipFile) ?
|
||||||
|
zipDir(cfg.zipSrcPath, cfg.destPath, cfg.zipFile) : false;
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('rainloop:owncloud:md5', ['rainloop:owncloud:zip'], function() {
|
||||||
|
return (cfg.destPath && cfg.md5File) ?
|
||||||
|
renameFileWothMd5Hash(cfg.destPath + cfg.md5File) : false;
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('rainloop:owncloud:clean', ['rainloop:owncloud:copy', 'rainloop:owncloud:setup'], function() {
|
||||||
|
return (cfg.cleanPath) ? cleanDir(cfg.cleanPath) : false;
|
||||||
|
});
|
||||||
|
|
||||||
|
// MAIN
|
||||||
|
gulp.task('default', ['js:boot', 'js:libs', 'js:app:min', 'js:admin:min', 'css:main:min']);
|
||||||
|
gulp.task('fast', ['js:app', 'js:admin', 'css:main']);
|
||||||
|
|
||||||
|
gulp.task('rainloop', ['rainloop:copy', 'rainloop:setup', 'rainloop:zip', 'rainloop:md5', 'rainloop:clean']);
|
||||||
|
gulp.task('rainloop+', ['rainloop', 'package-inc-release']);
|
||||||
|
|
||||||
|
gulp.task('owncloud', ['rainloop:owncloud:copy', 'rainloop:owncloud:setup', 'rainloop:owncloud:zip', 'rainloop:owncloud:md5', 'rainloop:owncloud:clean']);
|
||||||
|
|
||||||
|
//WATCH
|
||||||
|
gulp.task('watch', function() {
|
||||||
|
gulp.watch(cfg.paths.js.app.src, {interval: 1000}, ['js:app']);
|
||||||
|
gulp.watch(cfg.paths.js.admin.src, {interval: 1000}, ['js:admin']);
|
||||||
|
gulp.watch(cfg.paths.less.main.watch, {interval: 1000}, ['css:main']);
|
||||||
|
});
|
||||||
|
|
||||||
|
// aliases
|
||||||
|
gulp.task('w', ['watch']);
|
||||||
|
gulp.task('f', ['fast']);
|
||||||
|
|
||||||
|
gulp.task('rl', ['rainloop']);
|
||||||
|
gulp.task('rl+', ['rainloop+']);
|
||||||
|
gulp.task('build', ['rainloop']);
|
||||||
|
gulp.task('build+', ['rainloop+']);
|
||||||
|
gulp.task('b', ['rainloop']);
|
||||||
|
gulp.task('b+', ['rainloop+']);
|
||||||
|
|
||||||
|
gulp.task('own', ['owncloud']);
|
||||||
36
package.json
36
package.json
|
|
@ -2,10 +2,10 @@
|
||||||
"name": "RainLoop",
|
"name": "RainLoop",
|
||||||
"title": "RainLoop Webmail",
|
"title": "RainLoop Webmail",
|
||||||
"version": "1.6.7",
|
"version": "1.6.7",
|
||||||
"release": "127",
|
"release": "131",
|
||||||
"description": "Simple, modern & fast web-based email client",
|
"description": "Simple, modern & fast web-based email client",
|
||||||
"homepage": "http://rainloop.net",
|
"homepage": "http://rainloop.net",
|
||||||
"main": "Gruntfile.js",
|
"main": "gulpfile.js",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "RainLoop Team",
|
"name": "RainLoop Team",
|
||||||
"email": "support@rainloop.net",
|
"email": "support@rainloop.net",
|
||||||
|
|
@ -36,20 +36,28 @@
|
||||||
"plugins"
|
"plugins"
|
||||||
],
|
],
|
||||||
"readmeFilename": "README.md",
|
"readmeFilename": "README.md",
|
||||||
"ownCloudPackageVersion": "1.3",
|
"ownCloudPackageVersion": "1.4",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 0.8.0"
|
"node": ">= 0.10.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"wrench": "*",
|
|
||||||
"grunt": "~0.4.1",
|
"crypto": "*",
|
||||||
"grunt-css": "*",
|
"node-fs": "*",
|
||||||
"grunt-md5": "*",
|
"jshint-summary": "*",
|
||||||
"grunt-contrib-jshint": "*",
|
|
||||||
"grunt-contrib-compress": "*",
|
"gulp": "*",
|
||||||
"grunt-contrib-concat": "*",
|
"gulp-util": "*",
|
||||||
"grunt-contrib-uglify": "*",
|
"gulp-uglify": "*",
|
||||||
"grunt-contrib-watch": "*",
|
"gulp-clean": "*",
|
||||||
"grunt-contrib-less": "~0.5.0"
|
"gulp-jshint": "*",
|
||||||
|
"gulp-less": "*",
|
||||||
|
"gulp-zip": "*",
|
||||||
|
"gulp-rename": "*",
|
||||||
|
"gulp-header": "*",
|
||||||
|
"gulp-footer": "*",
|
||||||
|
"gulp-minify-css": "*",
|
||||||
|
"gulp-concat-util": "*"
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -504,7 +504,12 @@ class Message
|
||||||
{
|
{
|
||||||
if (0 === strlen($sHostName))
|
if (0 === strlen($sHostName))
|
||||||
{
|
{
|
||||||
$sHostName = isset($_SERVER['SERVER_NAME']) ? $_SERVER['SERVER_NAME'] : 'mailso';
|
$sHostName = isset($_SERVER['SERVER_NAME']) ? $_SERVER['SERVER_NAME'] : '';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (empty($sHostName))
|
||||||
|
{
|
||||||
|
$sHostName = 'localhost';
|
||||||
}
|
}
|
||||||
|
|
||||||
return '<'.md5(rand(100000, 999999).time().$sHostName).'@'.$sHostName.'>';
|
return '<'.md5(rand(100000, 999999).time().$sHostName).'@'.$sHostName.'>';
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,8 @@
|
||||||
<div class="btn-group"> </div>
|
<div class="btn-group"> </div>
|
||||||
<div class="btn-group dropdown colored-toggle" data-bind="registrateBootstrapDropdown: true, openDropdownTrigger: moveDropdownTrigger">
|
<div class="btn-group dropdown colored-toggle" data-bind="registrateBootstrapDropdown: true, openDropdownTrigger: moveDropdownTrigger">
|
||||||
<a id="move-dropdown-id" href="#" tabindex="-1" class="btn btn-dark-disabled-border dropdown-toggle buttonMove" data-toggle="dropdown" data-tooltip-placement="bottom" data-bind="command: moveCommand, tooltip: 'MESSAGE_LIST/BUTTON_MOVE_TO'">
|
<a id="move-dropdown-id" href="#" tabindex="-1" class="btn btn-dark-disabled-border dropdown-toggle buttonMove" data-toggle="dropdown" data-tooltip-placement="bottom" data-bind="command: moveCommand, tooltip: 'MESSAGE_LIST/BUTTON_MOVE_TO'">
|
||||||
<i class="icon-copy visible-on-ctrl"></i>
|
<i class="icon-copy visible-on-ctrl-btn"></i>
|
||||||
<i class="icon-folder hidden-on-ctrl"></i>
|
<i class="icon-folder hidden-on-ctrl-btn"></i>
|
||||||
|
|
||||||
<span class="caret"></span>
|
<span class="caret"></span>
|
||||||
</a>
|
</a>
|
||||||
|
|
|
||||||
|
|
@ -2404,155 +2404,155 @@ a:hover {
|
||||||
-moz-box-sizing: border-box;
|
-moz-box-sizing: border-box;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
float: left;
|
float: left;
|
||||||
margin-left: 2.127659574468085%;
|
margin-left: 2.12765957%;
|
||||||
*margin-left: 2.074468085106383%;
|
*margin-left: 2.07446809%;
|
||||||
}
|
}
|
||||||
.row-fluid [class*="span"]:first-child {
|
.row-fluid [class*="span"]:first-child {
|
||||||
margin-left: 0;
|
margin-left: 0;
|
||||||
}
|
}
|
||||||
.row-fluid .span12 {
|
.row-fluid .span12 {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
*width: 99.94680851063829%;
|
*width: 99.94680851%;
|
||||||
}
|
}
|
||||||
.row-fluid .span11 {
|
.row-fluid .span11 {
|
||||||
width: 91.48936170212765%;
|
width: 91.4893617%;
|
||||||
*width: 91.43617021276594%;
|
*width: 91.43617021%;
|
||||||
}
|
}
|
||||||
.row-fluid .span10 {
|
.row-fluid .span10 {
|
||||||
width: 82.97872340425532%;
|
width: 82.9787234%;
|
||||||
*width: 82.92553191489361%;
|
*width: 82.92553191%;
|
||||||
}
|
}
|
||||||
.row-fluid .span9 {
|
.row-fluid .span9 {
|
||||||
width: 74.46808510638297%;
|
width: 74.46808511%;
|
||||||
*width: 74.41489361702126%;
|
*width: 74.41489362%;
|
||||||
}
|
}
|
||||||
.row-fluid .span8 {
|
.row-fluid .span8 {
|
||||||
width: 65.95744680851064%;
|
width: 65.95744681%;
|
||||||
*width: 65.90425531914893%;
|
*width: 65.90425532%;
|
||||||
}
|
}
|
||||||
.row-fluid .span7 {
|
.row-fluid .span7 {
|
||||||
width: 57.44680851063829%;
|
width: 57.44680851%;
|
||||||
*width: 57.39361702127659%;
|
*width: 57.39361702%;
|
||||||
}
|
}
|
||||||
.row-fluid .span6 {
|
.row-fluid .span6 {
|
||||||
width: 48.93617021276595%;
|
width: 48.93617021%;
|
||||||
*width: 48.88297872340425%;
|
*width: 48.88297872%;
|
||||||
}
|
}
|
||||||
.row-fluid .span5 {
|
.row-fluid .span5 {
|
||||||
width: 40.42553191489362%;
|
width: 40.42553191%;
|
||||||
*width: 40.37234042553192%;
|
*width: 40.37234043%;
|
||||||
}
|
}
|
||||||
.row-fluid .span4 {
|
.row-fluid .span4 {
|
||||||
width: 31.914893617021278%;
|
width: 31.91489362%;
|
||||||
*width: 31.861702127659576%;
|
*width: 31.86170213%;
|
||||||
}
|
}
|
||||||
.row-fluid .span3 {
|
.row-fluid .span3 {
|
||||||
width: 23.404255319148934%;
|
width: 23.40425532%;
|
||||||
*width: 23.351063829787233%;
|
*width: 23.35106383%;
|
||||||
}
|
}
|
||||||
.row-fluid .span2 {
|
.row-fluid .span2 {
|
||||||
width: 14.893617021276595%;
|
width: 14.89361702%;
|
||||||
*width: 14.840425531914894%;
|
*width: 14.84042553%;
|
||||||
}
|
}
|
||||||
.row-fluid .span1 {
|
.row-fluid .span1 {
|
||||||
width: 6.382978723404255%;
|
width: 6.38297872%;
|
||||||
*width: 6.329787234042553%;
|
*width: 6.32978723%;
|
||||||
}
|
}
|
||||||
.row-fluid .offset12 {
|
.row-fluid .offset12 {
|
||||||
margin-left: 104.25531914893617%;
|
margin-left: 104.25531915%;
|
||||||
*margin-left: 104.14893617021275%;
|
*margin-left: 104.14893617%;
|
||||||
}
|
}
|
||||||
.row-fluid .offset12:first-child {
|
.row-fluid .offset12:first-child {
|
||||||
margin-left: 102.12765957446808%;
|
margin-left: 102.12765957%;
|
||||||
*margin-left: 102.02127659574467%;
|
*margin-left: 102.0212766%;
|
||||||
}
|
}
|
||||||
.row-fluid .offset11 {
|
.row-fluid .offset11 {
|
||||||
margin-left: 95.74468085106382%;
|
margin-left: 95.74468085%;
|
||||||
*margin-left: 95.6382978723404%;
|
*margin-left: 95.63829787%;
|
||||||
}
|
}
|
||||||
.row-fluid .offset11:first-child {
|
.row-fluid .offset11:first-child {
|
||||||
margin-left: 93.61702127659574%;
|
margin-left: 93.61702128%;
|
||||||
*margin-left: 93.51063829787232%;
|
*margin-left: 93.5106383%;
|
||||||
}
|
}
|
||||||
.row-fluid .offset10 {
|
.row-fluid .offset10 {
|
||||||
margin-left: 87.23404255319149%;
|
margin-left: 87.23404255%;
|
||||||
*margin-left: 87.12765957446807%;
|
*margin-left: 87.12765957%;
|
||||||
}
|
}
|
||||||
.row-fluid .offset10:first-child {
|
.row-fluid .offset10:first-child {
|
||||||
margin-left: 85.1063829787234%;
|
margin-left: 85.10638298%;
|
||||||
*margin-left: 84.99999999999999%;
|
*margin-left: 85%;
|
||||||
}
|
}
|
||||||
.row-fluid .offset9 {
|
.row-fluid .offset9 {
|
||||||
margin-left: 78.72340425531914%;
|
margin-left: 78.72340426%;
|
||||||
*margin-left: 78.61702127659572%;
|
*margin-left: 78.61702128%;
|
||||||
}
|
}
|
||||||
.row-fluid .offset9:first-child {
|
.row-fluid .offset9:first-child {
|
||||||
margin-left: 76.59574468085106%;
|
margin-left: 76.59574468%;
|
||||||
*margin-left: 76.48936170212764%;
|
*margin-left: 76.4893617%;
|
||||||
}
|
}
|
||||||
.row-fluid .offset8 {
|
.row-fluid .offset8 {
|
||||||
margin-left: 70.2127659574468%;
|
margin-left: 70.21276596%;
|
||||||
*margin-left: 70.10638297872339%;
|
*margin-left: 70.10638298%;
|
||||||
}
|
}
|
||||||
.row-fluid .offset8:first-child {
|
.row-fluid .offset8:first-child {
|
||||||
margin-left: 68.08510638297872%;
|
margin-left: 68.08510638%;
|
||||||
*margin-left: 67.9787234042553%;
|
*margin-left: 67.9787234%;
|
||||||
}
|
}
|
||||||
.row-fluid .offset7 {
|
.row-fluid .offset7 {
|
||||||
margin-left: 61.70212765957446%;
|
margin-left: 61.70212766%;
|
||||||
*margin-left: 61.59574468085106%;
|
*margin-left: 61.59574468%;
|
||||||
}
|
}
|
||||||
.row-fluid .offset7:first-child {
|
.row-fluid .offset7:first-child {
|
||||||
margin-left: 59.574468085106375%;
|
margin-left: 59.57446809%;
|
||||||
*margin-left: 59.46808510638297%;
|
*margin-left: 59.46808511%;
|
||||||
}
|
}
|
||||||
.row-fluid .offset6 {
|
.row-fluid .offset6 {
|
||||||
margin-left: 53.191489361702125%;
|
margin-left: 53.19148936%;
|
||||||
*margin-left: 53.085106382978715%;
|
*margin-left: 53.08510638%;
|
||||||
}
|
}
|
||||||
.row-fluid .offset6:first-child {
|
.row-fluid .offset6:first-child {
|
||||||
margin-left: 51.063829787234035%;
|
margin-left: 51.06382979%;
|
||||||
*margin-left: 50.95744680851063%;
|
*margin-left: 50.95744681%;
|
||||||
}
|
}
|
||||||
.row-fluid .offset5 {
|
.row-fluid .offset5 {
|
||||||
margin-left: 44.68085106382979%;
|
margin-left: 44.68085106%;
|
||||||
*margin-left: 44.57446808510638%;
|
*margin-left: 44.57446809%;
|
||||||
}
|
}
|
||||||
.row-fluid .offset5:first-child {
|
.row-fluid .offset5:first-child {
|
||||||
margin-left: 42.5531914893617%;
|
margin-left: 42.55319149%;
|
||||||
*margin-left: 42.4468085106383%;
|
*margin-left: 42.44680851%;
|
||||||
}
|
}
|
||||||
.row-fluid .offset4 {
|
.row-fluid .offset4 {
|
||||||
margin-left: 36.170212765957444%;
|
margin-left: 36.17021277%;
|
||||||
*margin-left: 36.06382978723405%;
|
*margin-left: 36.06382979%;
|
||||||
}
|
}
|
||||||
.row-fluid .offset4:first-child {
|
.row-fluid .offset4:first-child {
|
||||||
margin-left: 34.04255319148936%;
|
margin-left: 34.04255319%;
|
||||||
*margin-left: 33.93617021276596%;
|
*margin-left: 33.93617021%;
|
||||||
}
|
}
|
||||||
.row-fluid .offset3 {
|
.row-fluid .offset3 {
|
||||||
margin-left: 27.659574468085104%;
|
margin-left: 27.65957447%;
|
||||||
*margin-left: 27.5531914893617%;
|
*margin-left: 27.55319149%;
|
||||||
}
|
}
|
||||||
.row-fluid .offset3:first-child {
|
.row-fluid .offset3:first-child {
|
||||||
margin-left: 25.53191489361702%;
|
margin-left: 25.53191489%;
|
||||||
*margin-left: 25.425531914893618%;
|
*margin-left: 25.42553191%;
|
||||||
}
|
}
|
||||||
.row-fluid .offset2 {
|
.row-fluid .offset2 {
|
||||||
margin-left: 19.148936170212764%;
|
margin-left: 19.14893617%;
|
||||||
*margin-left: 19.04255319148936%;
|
*margin-left: 19.04255319%;
|
||||||
}
|
}
|
||||||
.row-fluid .offset2:first-child {
|
.row-fluid .offset2:first-child {
|
||||||
margin-left: 17.02127659574468%;
|
margin-left: 17.0212766%;
|
||||||
*margin-left: 16.914893617021278%;
|
*margin-left: 16.91489362%;
|
||||||
}
|
}
|
||||||
.row-fluid .offset1 {
|
.row-fluid .offset1 {
|
||||||
margin-left: 10.638297872340425%;
|
margin-left: 10.63829787%;
|
||||||
*margin-left: 10.53191489361702%;
|
*margin-left: 10.53191489%;
|
||||||
}
|
}
|
||||||
.row-fluid .offset1:first-child {
|
.row-fluid .offset1:first-child {
|
||||||
margin-left: 8.51063829787234%;
|
margin-left: 8.5106383%;
|
||||||
*margin-left: 8.404255319148938%;
|
*margin-left: 8.40425532%;
|
||||||
}
|
}
|
||||||
[class*="span"].hide,
|
[class*="span"].hide,
|
||||||
.row-fluid [class*="span"].hide {
|
.row-fluid [class*="span"].hide {
|
||||||
|
|
@ -2953,7 +2953,6 @@ input[type="color"]:focus,
|
||||||
outline: 0;
|
outline: 0;
|
||||||
outline: thin dotted \9;
|
outline: thin dotted \9;
|
||||||
/* IE6-9 */
|
/* IE6-9 */
|
||||||
|
|
||||||
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);
|
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);
|
||||||
-moz-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);
|
-moz-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);
|
||||||
box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);
|
box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);
|
||||||
|
|
@ -2963,10 +2962,8 @@ input[type="checkbox"] {
|
||||||
margin: 4px 0 0;
|
margin: 4px 0 0;
|
||||||
*margin-top: 0;
|
*margin-top: 0;
|
||||||
/* IE7 */
|
/* IE7 */
|
||||||
|
|
||||||
margin-top: 1px \9;
|
margin-top: 1px \9;
|
||||||
/* IE8-9 */
|
/* IE8-9 */
|
||||||
|
|
||||||
line-height: normal;
|
line-height: normal;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
@ -2983,10 +2980,8 @@ select,
|
||||||
input[type="file"] {
|
input[type="file"] {
|
||||||
height: 30px;
|
height: 30px;
|
||||||
/* In IE7, the height of the select element cannot be changed by height, only font-size */
|
/* In IE7, the height of the select element cannot be changed by height, only font-size */
|
||||||
|
|
||||||
*margin-top: 4px;
|
*margin-top: 4px;
|
||||||
/* For IE7, add top margin to align select with labels */
|
/* For IE7, add top margin to align select with labels */
|
||||||
|
|
||||||
line-height: 30px;
|
line-height: 30px;
|
||||||
}
|
}
|
||||||
select {
|
select {
|
||||||
|
|
@ -3110,40 +3105,64 @@ textarea,
|
||||||
.controls-row [class*="span"] + [class*="span"] {
|
.controls-row [class*="span"] + [class*="span"] {
|
||||||
margin-left: 20px;
|
margin-left: 20px;
|
||||||
}
|
}
|
||||||
input.span12, textarea.span12, .uneditable-input.span12 {
|
input.span12,
|
||||||
|
textarea.span12,
|
||||||
|
.uneditable-input.span12 {
|
||||||
width: 926px;
|
width: 926px;
|
||||||
}
|
}
|
||||||
input.span11, textarea.span11, .uneditable-input.span11 {
|
input.span11,
|
||||||
|
textarea.span11,
|
||||||
|
.uneditable-input.span11 {
|
||||||
width: 846px;
|
width: 846px;
|
||||||
}
|
}
|
||||||
input.span10, textarea.span10, .uneditable-input.span10 {
|
input.span10,
|
||||||
|
textarea.span10,
|
||||||
|
.uneditable-input.span10 {
|
||||||
width: 766px;
|
width: 766px;
|
||||||
}
|
}
|
||||||
input.span9, textarea.span9, .uneditable-input.span9 {
|
input.span9,
|
||||||
|
textarea.span9,
|
||||||
|
.uneditable-input.span9 {
|
||||||
width: 686px;
|
width: 686px;
|
||||||
}
|
}
|
||||||
input.span8, textarea.span8, .uneditable-input.span8 {
|
input.span8,
|
||||||
|
textarea.span8,
|
||||||
|
.uneditable-input.span8 {
|
||||||
width: 606px;
|
width: 606px;
|
||||||
}
|
}
|
||||||
input.span7, textarea.span7, .uneditable-input.span7 {
|
input.span7,
|
||||||
|
textarea.span7,
|
||||||
|
.uneditable-input.span7 {
|
||||||
width: 526px;
|
width: 526px;
|
||||||
}
|
}
|
||||||
input.span6, textarea.span6, .uneditable-input.span6 {
|
input.span6,
|
||||||
|
textarea.span6,
|
||||||
|
.uneditable-input.span6 {
|
||||||
width: 446px;
|
width: 446px;
|
||||||
}
|
}
|
||||||
input.span5, textarea.span5, .uneditable-input.span5 {
|
input.span5,
|
||||||
|
textarea.span5,
|
||||||
|
.uneditable-input.span5 {
|
||||||
width: 366px;
|
width: 366px;
|
||||||
}
|
}
|
||||||
input.span4, textarea.span4, .uneditable-input.span4 {
|
input.span4,
|
||||||
|
textarea.span4,
|
||||||
|
.uneditable-input.span4 {
|
||||||
width: 286px;
|
width: 286px;
|
||||||
}
|
}
|
||||||
input.span3, textarea.span3, .uneditable-input.span3 {
|
input.span3,
|
||||||
|
textarea.span3,
|
||||||
|
.uneditable-input.span3 {
|
||||||
width: 206px;
|
width: 206px;
|
||||||
}
|
}
|
||||||
input.span2, textarea.span2, .uneditable-input.span2 {
|
input.span2,
|
||||||
|
textarea.span2,
|
||||||
|
.uneditable-input.span2 {
|
||||||
width: 126px;
|
width: 126px;
|
||||||
}
|
}
|
||||||
input.span1, textarea.span1, .uneditable-input.span1 {
|
input.span1,
|
||||||
|
textarea.span1,
|
||||||
|
.uneditable-input.span1 {
|
||||||
width: 46px;
|
width: 46px;
|
||||||
}
|
}
|
||||||
.controls-row {
|
.controls-row {
|
||||||
|
|
@ -3315,7 +3334,6 @@ select:focus:required:invalid:focus {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
*display: inline;
|
*display: inline;
|
||||||
/* IE7 inline-block hack */
|
/* IE7 inline-block hack */
|
||||||
|
|
||||||
*zoom: 1;
|
*zoom: 1;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
padding-left: 5px;
|
padding-left: 5px;
|
||||||
|
|
@ -3429,7 +3447,6 @@ input.search-query {
|
||||||
padding-left: 14px;
|
padding-left: 14px;
|
||||||
padding-left: 4px \9;
|
padding-left: 4px \9;
|
||||||
/* IE7-8 doesn't have border-radius, so don't indent the padding */
|
/* IE7-8 doesn't have border-radius, so don't indent the padding */
|
||||||
|
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
-webkit-border-radius: 15px;
|
-webkit-border-radius: 15px;
|
||||||
-moz-border-radius: 15px;
|
-moz-border-radius: 15px;
|
||||||
|
|
@ -3486,7 +3503,6 @@ input.search-query {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
*display: inline;
|
*display: inline;
|
||||||
/* IE7 inline-block hack */
|
/* IE7 inline-block hack */
|
||||||
|
|
||||||
*zoom: 1;
|
*zoom: 1;
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
|
|
@ -4072,7 +4088,6 @@ button.close {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
*display: inline;
|
*display: inline;
|
||||||
/* IE7 inline-block hack */
|
/* IE7 inline-block hack */
|
||||||
|
|
||||||
*zoom: 1;
|
*zoom: 1;
|
||||||
padding: 4px 14px;
|
padding: 4px 14px;
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
|
|
@ -4096,7 +4111,6 @@ button.close {
|
||||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||||
*background-color: #e6e6e6;
|
*background-color: #e6e6e6;
|
||||||
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
|
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
|
||||||
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||||
border: 1px solid #bbbbbb;
|
border: 1px solid #bbbbbb;
|
||||||
*border: 0;
|
*border: 0;
|
||||||
|
|
@ -4131,7 +4145,6 @@ button.close {
|
||||||
background-color: #e6e6e6;
|
background-color: #e6e6e6;
|
||||||
*background-color: #d9d9d9;
|
*background-color: #d9d9d9;
|
||||||
/* Buttons in IE7 don't get borders, so darken on hover */
|
/* Buttons in IE7 don't get borders, so darken on hover */
|
||||||
|
|
||||||
background-position: 0 -15px;
|
background-position: 0 -15px;
|
||||||
-webkit-transition: background-position 0.1s linear;
|
-webkit-transition: background-position 0.1s linear;
|
||||||
-moz-transition: background-position 0.1s linear;
|
-moz-transition: background-position 0.1s linear;
|
||||||
|
|
@ -4227,7 +4240,6 @@ button.close {
|
||||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||||
*background-color: #0044cc;
|
*background-color: #0044cc;
|
||||||
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
|
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
|
||||||
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||||
}
|
}
|
||||||
.btn-primary:hover,
|
.btn-primary:hover,
|
||||||
|
|
@ -4258,7 +4270,6 @@ button.close {
|
||||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||||
*background-color: #f89406;
|
*background-color: #f89406;
|
||||||
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
|
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
|
||||||
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||||
}
|
}
|
||||||
.btn-warning:hover,
|
.btn-warning:hover,
|
||||||
|
|
@ -4289,7 +4300,6 @@ button.close {
|
||||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||||
*background-color: #bd362f;
|
*background-color: #bd362f;
|
||||||
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
|
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
|
||||||
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||||
}
|
}
|
||||||
.btn-danger:hover,
|
.btn-danger:hover,
|
||||||
|
|
@ -4320,7 +4330,6 @@ button.close {
|
||||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||||
*background-color: #51a351;
|
*background-color: #51a351;
|
||||||
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
|
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
|
||||||
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||||
}
|
}
|
||||||
.btn-success:hover,
|
.btn-success:hover,
|
||||||
|
|
@ -4351,7 +4360,6 @@ button.close {
|
||||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||||
*background-color: #2f96b4;
|
*background-color: #2f96b4;
|
||||||
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
|
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
|
||||||
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||||
}
|
}
|
||||||
.btn-info:hover,
|
.btn-info:hover,
|
||||||
|
|
@ -4382,7 +4390,6 @@ button.close {
|
||||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||||
*background-color: #222222;
|
*background-color: #222222;
|
||||||
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
|
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
|
||||||
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||||
}
|
}
|
||||||
.btn-inverse:hover,
|
.btn-inverse:hover,
|
||||||
|
|
@ -4465,7 +4472,6 @@ input[type="submit"].btn.btn-mini {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
*display: inline;
|
*display: inline;
|
||||||
/* IE7 inline-block hack */
|
/* IE7 inline-block hack */
|
||||||
|
|
||||||
*zoom: 1;
|
*zoom: 1;
|
||||||
}
|
}
|
||||||
.btn-toolbar .btn + .btn,
|
.btn-toolbar .btn + .btn,
|
||||||
|
|
@ -4624,7 +4630,6 @@ input[type="submit"].btn.btn-mini {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
*display: inline;
|
*display: inline;
|
||||||
/* IE7 inline-block hack */
|
/* IE7 inline-block hack */
|
||||||
|
|
||||||
*zoom: 1;
|
*zoom: 1;
|
||||||
}
|
}
|
||||||
.btn-group-vertical .btn {
|
.btn-group-vertical .btn {
|
||||||
|
|
@ -5267,7 +5272,6 @@ input[type="submit"].btn.btn-mini {
|
||||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||||
*background-color: #e5e5e5;
|
*background-color: #e5e5e5;
|
||||||
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
|
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
|
||||||
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||||
-webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075);
|
-webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075);
|
||||||
-moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075);
|
-moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075);
|
||||||
|
|
@ -5484,7 +5488,6 @@ input[type="submit"].btn.btn-mini {
|
||||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||||
*background-color: #040404;
|
*background-color: #040404;
|
||||||
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
|
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
|
||||||
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||||
}
|
}
|
||||||
.navbar-inverse .btn-navbar:hover,
|
.navbar-inverse .btn-navbar:hover,
|
||||||
|
|
@ -5513,7 +5516,6 @@ input[type="submit"].btn.btn-mini {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
*display: inline;
|
*display: inline;
|
||||||
/* IE7 inline-block hack */
|
/* IE7 inline-block hack */
|
||||||
|
|
||||||
*zoom: 1;
|
*zoom: 1;
|
||||||
text-shadow: 0 1px 0 #ffffff;
|
text-shadow: 0 1px 0 #ffffff;
|
||||||
}
|
}
|
||||||
|
|
@ -5566,7 +5568,6 @@ input[type="submit"].btn.btn-mini {
|
||||||
border: 1px solid rgba(0, 0, 0, 0.3);
|
border: 1px solid rgba(0, 0, 0, 0.3);
|
||||||
*border: 1px solid #999;
|
*border: 1px solid #999;
|
||||||
/* IE6-7 */
|
/* IE6-7 */
|
||||||
|
|
||||||
-webkit-border-radius: 6px;
|
-webkit-border-radius: 6px;
|
||||||
-moz-border-radius: 6px;
|
-moz-border-radius: 6px;
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
|
|
@ -6600,7 +6601,6 @@ html.no-rgba .modal {
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
padding-right: 0;
|
padding-right: 0;
|
||||||
/*font-family: arial, sans-serif;*/
|
/*font-family: arial, sans-serif;*/
|
||||||
|
|
||||||
font-family: Monaco, Menlo, Consolas, 'Courier New', monospace;
|
font-family: Monaco, Menlo, Consolas, 'Courier New', monospace;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
line-height: 16px;
|
line-height: 16px;
|
||||||
|
|
@ -6864,7 +6864,6 @@ html.cssanimations .e-spinner .e-bounce {
|
||||||
-webkit-animation: bouncedelay 1.4s infinite ease-in-out;
|
-webkit-animation: bouncedelay 1.4s infinite ease-in-out;
|
||||||
animation: bouncedelay 1.4s infinite ease-in-out;
|
animation: bouncedelay 1.4s infinite ease-in-out;
|
||||||
/* Prevent first frame from flickering when animation starts */
|
/* Prevent first frame from flickering when animation starts */
|
||||||
|
|
||||||
-webkit-animation-fill-mode: both;
|
-webkit-animation-fill-mode: both;
|
||||||
animation-fill-mode: both;
|
animation-fill-mode: both;
|
||||||
}
|
}
|
||||||
|
|
@ -7158,18 +7157,25 @@ html.rl-no-preview-pane #rl-sub-right {
|
||||||
html.rl-no-preview-pane #rl-right .ui-resizable-handle {
|
html.rl-no-preview-pane #rl-right .ui-resizable-handle {
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
.visible-on-ctrl {
|
.visible-on-ctrl,
|
||||||
|
.visible-on-ctrl-btn {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
.hidden-on-ctrl {
|
.hidden-on-ctrl-btn {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
html.rl-ctrl-key-pressed .visible-on-ctrl {
|
html.rl-ctrl-key-pressed .visible-on-ctrl {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
|
html.rl-ctrl-key-pressed .btn-group.open .visible-on-ctrl-btn {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
html.rl-ctrl-key-pressed .hidden-on-ctrl {
|
html.rl-ctrl-key-pressed .hidden-on-ctrl {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
html.rl-ctrl-key-pressed .btn-group.open .hidden-on-ctrl-btn {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
#rl-loading,
|
#rl-loading,
|
||||||
#rl-loading-error {
|
#rl-loading-error {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
|
@ -7765,7 +7771,6 @@ html.rl-no-preview-pane .messageList.message-selected {
|
||||||
/* &:nth-child(even) {
|
/* &:nth-child(even) {
|
||||||
background-color: #f3f3f3;
|
background-color: #f3f3f3;
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
}
|
}
|
||||||
.messageList .b-content .messageListItem .delimiter {
|
.messageList .b-content .messageListItem .delimiter {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
@ -8465,7 +8470,6 @@ html.rl-message-fullscreen .messageView .b-content .buttonFull {
|
||||||
.button-delete {
|
.button-delete {
|
||||||
margin-left: 8px;
|
margin-left: 8px;
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
}
|
}
|
||||||
.b-contacts-content.modal .b-header-toolbar .close {
|
.b-contacts-content.modal .b-header-toolbar .close {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
|
|
@ -8869,7 +8873,6 @@ html.rl-message-fullscreen .messageView .b-content .buttonFull {
|
||||||
.b-compose .b-header {
|
.b-compose .b-header {
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
/*border-bottom: 1px solid #333;*/
|
/*border-bottom: 1px solid #333;*/
|
||||||
|
|
||||||
background-color: #eee;
|
background-color: #eee;
|
||||||
color: #333;
|
color: #333;
|
||||||
}
|
}
|
||||||
|
|
@ -9461,19 +9464,6 @@ html.rl-message-fullscreen .messageView .b-content .buttonFull {
|
||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
filter: alpha(opacity=50);
|
filter: alpha(opacity=50);
|
||||||
}
|
}
|
||||||
/*.folderPaddingHelper(@i) {
|
|
||||||
(~".folder-padding.deep-@{i}") {
|
|
||||||
width: 15px * @i + 10px;
|
|
||||||
}
|
|
||||||
}*/
|
|
||||||
.b-settings-folders {
|
|
||||||
/* .folderPaddingHelper(1);
|
|
||||||
.folderPaddingHelper(2);
|
|
||||||
.folderPaddingHelper(3);
|
|
||||||
.folderPaddingHelper(4);
|
|
||||||
.folderPaddingHelper(5);*/
|
|
||||||
|
|
||||||
}
|
|
||||||
.b-settings-folders.ignore-folder-subscribe .subscribe-folder,
|
.b-settings-folders.ignore-folder-subscribe .subscribe-folder,
|
||||||
.b-settings-folders.ignore-folder-subscribe .unsubscribe-folder {
|
.b-settings-folders.ignore-folder-subscribe .unsubscribe-folder {
|
||||||
display: none;
|
display: none;
|
||||||
|
|
@ -9732,7 +9722,6 @@ html.rl-started-trigger.no-mobile #rl-content {
|
||||||
.transition(margin-left 0.2s linear);
|
.transition(margin-left 0.2s linear);
|
||||||
}
|
}
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
}
|
}
|
||||||
.rl-anim.csstransitions.no-mobile #rl-left {
|
.rl-anim.csstransitions.no-mobile #rl-left {
|
||||||
-webkit-transition: width 0.3s ease-out;
|
-webkit-transition: width 0.3s ease-out;
|
||||||
|
|
|
||||||
2
rainloop/v/0.0.0/static/css/app.min.css
vendored
2
rainloop/v/0.0.0/static/css/app.min.css
vendored
File diff suppressed because one or more lines are too long
|
|
@ -78,6 +78,9 @@ var
|
||||||
|
|
||||||
NotificationClass = window.Notification && window.Notification.requestPermission ? window.Notification : null
|
NotificationClass = window.Notification && window.Notification.requestPermission ? window.Notification : null
|
||||||
;
|
;
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/*jshint onevar: false*/
|
/*jshint onevar: false*/
|
||||||
/**
|
/**
|
||||||
* @type {?AdminApp}
|
* @type {?AdminApp}
|
||||||
|
|
@ -85,6 +88,8 @@ var
|
||||||
var RL = null;
|
var RL = null;
|
||||||
/*jshint onevar: true*/
|
/*jshint onevar: true*/
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @type {?}
|
* @type {?}
|
||||||
*/
|
*/
|
||||||
|
|
@ -239,6 +244,8 @@ if (Globals.bAllowPdfPreview && navigator && navigator.mimeTypes)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
Consts.Defaults = {};
|
Consts.Defaults = {};
|
||||||
Consts.Values = {};
|
Consts.Values = {};
|
||||||
Consts.DataImages = {};
|
Consts.DataImages = {};
|
||||||
|
|
@ -357,6 +364,8 @@ Consts.DataImages.UserDotPic = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA
|
||||||
*/
|
*/
|
||||||
Consts.DataImages.TranspPic = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQIW2NkAAIAAAoAAggA9GkAAAAASUVORK5CYII=';
|
Consts.DataImages.TranspPic = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQIW2NkAAIAAAoAAggA9GkAAAAASUVORK5CYII=';
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @enum {string}
|
* @enum {string}
|
||||||
*/
|
*/
|
||||||
|
|
@ -775,6 +784,8 @@ Enums.Notification = {
|
||||||
'UnknownError': 999
|
'UnknownError': 999
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
Utils.trim = $.trim;
|
Utils.trim = $.trim;
|
||||||
Utils.inArray = $.inArray;
|
Utils.inArray = $.inArray;
|
||||||
Utils.isArray = _.isArray;
|
Utils.isArray = _.isArray;
|
||||||
|
|
@ -2525,6 +2536,7 @@ Utils.detectDropdownVisibility = _.debounce(function () {
|
||||||
}));
|
}));
|
||||||
}, 50);
|
}, 50);
|
||||||
|
|
||||||
|
/*jslint bitwise: true*/
|
||||||
// Base64 encode / decode
|
// Base64 encode / decode
|
||||||
// http://www.webtoolkit.info/
|
// http://www.webtoolkit.info/
|
||||||
|
|
||||||
|
|
@ -2688,6 +2700,8 @@ Base64 = {
|
||||||
};
|
};
|
||||||
|
|
||||||
/*jslint bitwise: false*/
|
/*jslint bitwise: false*/
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
ko.bindingHandlers.tooltip = {
|
ko.bindingHandlers.tooltip = {
|
||||||
'init': function (oElement, fValueAccessor) {
|
'init': function (oElement, fValueAccessor) {
|
||||||
if (!Globals.bMobileDevice)
|
if (!Globals.bMobileDevice)
|
||||||
|
|
@ -3505,6 +3519,8 @@ ko.observable.fn.validateFunc = function (fFunc)
|
||||||
return this;
|
return this;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -3827,6 +3843,8 @@ LinkBuilder.prototype.socialFacebook = function ()
|
||||||
return this.sServer + 'SocialFacebook' + ('' !== this.sSpecSuffix ? '/' + this.sSpecSuffix + '/' : '');
|
return this.sServer + 'SocialFacebook' + ('' !== this.sSpecSuffix ? '/' + this.sSpecSuffix + '/' : '');
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @type {Object}
|
* @type {Object}
|
||||||
*/
|
*/
|
||||||
|
|
@ -3921,6 +3939,8 @@ Plugins.settingsGet = function (sPluginSection, sName)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -3995,6 +4015,8 @@ CookieDriver.prototype.get = function (sKey)
|
||||||
return mResult;
|
return mResult;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -4066,6 +4088,8 @@ LocalStorageDriver.prototype.get = function (sKey)
|
||||||
return mResult;
|
return mResult;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -4109,6 +4133,8 @@ LocalStorage.prototype.get = function (iKey)
|
||||||
return this.oDriver ? this.oDriver.get('p' + iKey) : null;
|
return this.oDriver ? this.oDriver.get('p' + iKey) : null;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -4122,6 +4148,8 @@ KnoinAbstractBoot.prototype.bootstart = function ()
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {string=} sPosition = ''
|
* @param {string=} sPosition = ''
|
||||||
* @param {string=} sTemplate = ''
|
* @param {string=} sTemplate = ''
|
||||||
|
|
@ -4215,6 +4243,8 @@ KnoinAbstractViewModel.prototype.registerPopupKeyDown = function ()
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {string} sScreenName
|
* @param {string} sScreenName
|
||||||
* @param {?=} aViewModels = []
|
* @param {?=} aViewModels = []
|
||||||
|
|
@ -4291,6 +4321,8 @@ KnoinAbstractScreen.prototype.__start = function ()
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -4696,6 +4728,8 @@ Knoin.prototype.bootstart = function ()
|
||||||
|
|
||||||
kn = new Knoin();
|
kn = new Knoin();
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {string=} sEmail
|
* @param {string=} sEmail
|
||||||
* @param {string=} sName
|
* @param {string=} sName
|
||||||
|
|
@ -5060,6 +5094,8 @@ EmailModel.prototype.inputoTagLine = function ()
|
||||||
return 0 < this.name.length ? this.name + ' (' + this.email + ')' : this.email;
|
return 0 < this.name.length ? this.name + ' (' + this.email + ')' : this.email;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -5104,6 +5140,8 @@ ContactTagModel.prototype.toLine = function (bEncodeHtml)
|
||||||
Utils.encodeHtml(this.name()) : this.name();
|
Utils.encodeHtml(this.name()) : this.name();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends KnoinAbstractViewModel
|
* @extends KnoinAbstractViewModel
|
||||||
|
|
@ -5399,6 +5437,8 @@ PopupsDomainViewModel.prototype.clearForm = function ()
|
||||||
this.whiteList('');
|
this.whiteList('');
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends KnoinAbstractViewModel
|
* @extends KnoinAbstractViewModel
|
||||||
|
|
@ -5536,6 +5576,8 @@ PopupsPluginViewModel.prototype.onBuild = function ()
|
||||||
}, this));
|
}, this));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends KnoinAbstractViewModel
|
* @extends KnoinAbstractViewModel
|
||||||
|
|
@ -5652,6 +5694,8 @@ PopupsActivateViewModel.prototype.validateSubscriptionKey = function ()
|
||||||
var sValue = this.key();
|
var sValue = this.key();
|
||||||
return '' === sValue || !!/^RL[\d]+-[A-Z0-9\-]+Z$/.test(Utils.trim(sValue));
|
return '' === sValue || !!/^RL[\d]+-[A-Z0-9\-]+Z$/.test(Utils.trim(sValue));
|
||||||
};
|
};
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends KnoinAbstractViewModel
|
* @extends KnoinAbstractViewModel
|
||||||
|
|
@ -5712,6 +5756,8 @@ PopupsLanguagesViewModel.prototype.changeLanguage = function (sLang)
|
||||||
this.cancelCommand();
|
this.cancelCommand();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends KnoinAbstractViewModel
|
* @extends KnoinAbstractViewModel
|
||||||
|
|
@ -5818,6 +5864,8 @@ PopupsAskViewModel.prototype.onBuild = function ()
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends KnoinAbstractViewModel
|
* @extends KnoinAbstractViewModel
|
||||||
|
|
@ -5905,6 +5953,8 @@ AdminLoginViewModel.prototype.onHide = function ()
|
||||||
this.loginFocus(false);
|
this.loginFocus(false);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {?} oScreen
|
* @param {?} oScreen
|
||||||
*
|
*
|
||||||
|
|
@ -5929,6 +5979,8 @@ AdminMenuViewModel.prototype.link = function (sRoute)
|
||||||
return '#/' + sRoute;
|
return '#/' + sRoute;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends KnoinAbstractViewModel
|
* @extends KnoinAbstractViewModel
|
||||||
|
|
@ -5953,6 +6005,8 @@ AdminPaneViewModel.prototype.logoutClick = function ()
|
||||||
RL.loginAndLogoutReload();
|
RL.loginAndLogoutReload();
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -6053,6 +6107,8 @@ AdminGeneral.prototype.selectLanguage = function ()
|
||||||
kn.showScreenPopup(PopupsLanguagesViewModel);
|
kn.showScreenPopup(PopupsLanguagesViewModel);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -6105,6 +6161,8 @@ AdminLogin.prototype.onBuild = function ()
|
||||||
}, 50);
|
}, 50);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -6174,6 +6232,8 @@ AdminBranding.prototype.onBuild = function ()
|
||||||
}, 50);
|
}, 50);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -6394,6 +6454,8 @@ AdminContacts.prototype.onBuild = function ()
|
||||||
}, 50);
|
}, 50);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -6483,6 +6545,8 @@ AdminDomains.prototype.onDomainListChangeRequest = function ()
|
||||||
RL.reloadDomainList();
|
RL.reloadDomainList();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -6588,6 +6652,8 @@ AdminSecurity.prototype.phpInfoLink = function ()
|
||||||
return RL.link().phpInfo();
|
return RL.link().phpInfo();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -6704,6 +6770,8 @@ AdminSocial.prototype.onBuild = function ()
|
||||||
}, 50);
|
}, 50);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -6801,6 +6869,8 @@ AdminPlugins.prototype.onPluginDisableRequest = function (sResult, oData)
|
||||||
RL.reloadPluginList();
|
RL.reloadPluginList();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -6899,6 +6969,8 @@ AdminPackages.prototype.installPackage = function (oPackage)
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -6954,6 +7026,8 @@ AdminLicensing.prototype.licenseExpiredMomentValue = function ()
|
||||||
|
|
||||||
return iTime && 1898625600 === iTime ? 'Never' : (oDate.format('LL') + ' (' + oDate.from(moment()) + ')');
|
return iTime && 1898625600 === iTime ? 'Never' : (oDate.format('LL') + ' (' + oDate.from(moment()) + ')');
|
||||||
};
|
};
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -7029,6 +7103,8 @@ AdminAbout.prototype.updateCoreData = function ()
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -7160,6 +7236,8 @@ AbstractData.prototype.populateDataOnStart = function()
|
||||||
this.contactsIsAllowed(!!RL.settingsGet('ContactsIsAllowed'));
|
this.contactsIsAllowed(!!RL.settingsGet('ContactsIsAllowed'));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends AbstractData
|
* @extends AbstractData
|
||||||
|
|
@ -7211,6 +7289,8 @@ AdminDataStorage.prototype.populateDataOnStart = function()
|
||||||
{
|
{
|
||||||
AbstractData.prototype.populateDataOnStart.call(this);
|
AbstractData.prototype.populateDataOnStart.call(this);
|
||||||
};
|
};
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -7485,6 +7565,8 @@ AbstractAjaxRemoteStorage.prototype.jsVersion = function (fCallback, sVersion)
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends AbstractAjaxRemoteStorage
|
* @extends AbstractAjaxRemoteStorage
|
||||||
|
|
@ -7746,6 +7828,8 @@ AdminAjaxRemoteStorage.prototype.adminPing = function (fCallback)
|
||||||
this.defaultRequest(fCallback, 'AdminPing');
|
this.defaultRequest(fCallback, 'AdminPing');
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -7830,6 +7914,8 @@ AbstractCacheStorage.prototype.setEmailsPicsHashesData = function (oData)
|
||||||
this.oEmailsPicsHashes = oData;
|
this.oEmailsPicsHashes = oData;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends AbstractCacheStorage
|
* @extends AbstractCacheStorage
|
||||||
|
|
@ -7841,6 +7927,8 @@ function AdminCacheStorage()
|
||||||
|
|
||||||
_.extend(AdminCacheStorage.prototype, AbstractCacheStorage.prototype);
|
_.extend(AdminCacheStorage.prototype, AbstractCacheStorage.prototype);
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {Array} aViewModels
|
* @param {Array} aViewModels
|
||||||
* @constructor
|
* @constructor
|
||||||
|
|
@ -8021,6 +8109,8 @@ AbstractSettings.prototype.routes = function ()
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends KnoinAbstractScreen
|
* @extends KnoinAbstractScreen
|
||||||
|
|
@ -8036,6 +8126,8 @@ AdminLoginScreen.prototype.onShow = function ()
|
||||||
{
|
{
|
||||||
RL.setTitle('');
|
RL.setTitle('');
|
||||||
};
|
};
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends AbstractSettings
|
* @extends AbstractSettings
|
||||||
|
|
@ -8054,6 +8146,8 @@ AdminSettingsScreen.prototype.onShow = function ()
|
||||||
{
|
{
|
||||||
RL.setTitle('');
|
RL.setTitle('');
|
||||||
};
|
};
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends KnoinAbstractBoot
|
* @extends KnoinAbstractBoot
|
||||||
|
|
@ -8412,6 +8506,8 @@ AbstractApp.prototype.bootstart = function ()
|
||||||
ssm.ready();
|
ssm.ready();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends AbstractApp
|
* @extends AbstractApp
|
||||||
|
|
@ -8713,6 +8809,8 @@ AdminApp.prototype.bootstart = function ()
|
||||||
*/
|
*/
|
||||||
RL = new AdminApp();
|
RL = new AdminApp();
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
$html.addClass(Globals.bMobileDevice ? 'mobile' : 'no-mobile');
|
$html.addClass(Globals.bMobileDevice ? 'mobile' : 'no-mobile');
|
||||||
|
|
||||||
$window.keydown(Utils.killCtrlAandS).keyup(Utils.killCtrlAandS);
|
$window.keydown(Utils.killCtrlAandS).keyup(Utils.killCtrlAandS);
|
||||||
|
|
|
||||||
8
rainloop/v/0.0.0/static/js/admin.min.js
vendored
8
rainloop/v/0.0.0/static/js/admin.min.js
vendored
File diff suppressed because one or more lines are too long
|
|
@ -78,6 +78,9 @@ var
|
||||||
|
|
||||||
NotificationClass = window.Notification && window.Notification.requestPermission ? window.Notification : null
|
NotificationClass = window.Notification && window.Notification.requestPermission ? window.Notification : null
|
||||||
;
|
;
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/*jshint onevar: false*/
|
/*jshint onevar: false*/
|
||||||
/**
|
/**
|
||||||
* @type {?RainLoopApp}
|
* @type {?RainLoopApp}
|
||||||
|
|
@ -88,6 +91,7 @@ var
|
||||||
$proxyDiv = $('<div></div>')
|
$proxyDiv = $('<div></div>')
|
||||||
;
|
;
|
||||||
/*jshint onevar: true*/
|
/*jshint onevar: true*/
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @type {?}
|
* @type {?}
|
||||||
|
|
@ -243,6 +247,8 @@ if (Globals.bAllowPdfPreview && navigator && navigator.mimeTypes)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
Consts.Defaults = {};
|
Consts.Defaults = {};
|
||||||
Consts.Values = {};
|
Consts.Values = {};
|
||||||
Consts.DataImages = {};
|
Consts.DataImages = {};
|
||||||
|
|
@ -361,6 +367,8 @@ Consts.DataImages.UserDotPic = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA
|
||||||
*/
|
*/
|
||||||
Consts.DataImages.TranspPic = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQIW2NkAAIAAAoAAggA9GkAAAAASUVORK5CYII=';
|
Consts.DataImages.TranspPic = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQIW2NkAAIAAAoAAggA9GkAAAAASUVORK5CYII=';
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @enum {string}
|
* @enum {string}
|
||||||
*/
|
*/
|
||||||
|
|
@ -779,6 +787,8 @@ Enums.Notification = {
|
||||||
'UnknownError': 999
|
'UnknownError': 999
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
Utils.trim = $.trim;
|
Utils.trim = $.trim;
|
||||||
Utils.inArray = $.inArray;
|
Utils.inArray = $.inArray;
|
||||||
Utils.isArray = _.isArray;
|
Utils.isArray = _.isArray;
|
||||||
|
|
@ -2529,6 +2539,7 @@ Utils.detectDropdownVisibility = _.debounce(function () {
|
||||||
}));
|
}));
|
||||||
}, 50);
|
}, 50);
|
||||||
|
|
||||||
|
/*jslint bitwise: true*/
|
||||||
// Base64 encode / decode
|
// Base64 encode / decode
|
||||||
// http://www.webtoolkit.info/
|
// http://www.webtoolkit.info/
|
||||||
|
|
||||||
|
|
@ -2692,6 +2703,8 @@ Base64 = {
|
||||||
};
|
};
|
||||||
|
|
||||||
/*jslint bitwise: false*/
|
/*jslint bitwise: false*/
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
ko.bindingHandlers.tooltip = {
|
ko.bindingHandlers.tooltip = {
|
||||||
'init': function (oElement, fValueAccessor) {
|
'init': function (oElement, fValueAccessor) {
|
||||||
if (!Globals.bMobileDevice)
|
if (!Globals.bMobileDevice)
|
||||||
|
|
@ -3509,6 +3522,8 @@ ko.observable.fn.validateFunc = function (fFunc)
|
||||||
return this;
|
return this;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -3831,6 +3846,8 @@ LinkBuilder.prototype.socialFacebook = function ()
|
||||||
return this.sServer + 'SocialFacebook' + ('' !== this.sSpecSuffix ? '/' + this.sSpecSuffix + '/' : '');
|
return this.sServer + 'SocialFacebook' + ('' !== this.sSpecSuffix ? '/' + this.sSpecSuffix + '/' : '');
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @type {Object}
|
* @type {Object}
|
||||||
*/
|
*/
|
||||||
|
|
@ -3925,6 +3942,14 @@ Plugins.settingsGet = function (sPluginSection, sName)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @constructor
|
||||||
|
* @param {Object} oElement
|
||||||
|
* @param {Function=} fOnBlur
|
||||||
|
* @param {Function=} fOnReady
|
||||||
|
* @param {Function=} fOnModeChange
|
||||||
|
*/
|
||||||
function NewHtmlEditorWrapper(oElement, fOnBlur, fOnReady, fOnModeChange)
|
function NewHtmlEditorWrapper(oElement, fOnBlur, fOnReady, fOnModeChange)
|
||||||
{
|
{
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
@ -4151,6 +4176,8 @@ NewHtmlEditorWrapper.prototype.clear = function (bFocus)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @param {koProperty} oKoList
|
* @param {koProperty} oKoList
|
||||||
|
|
@ -4860,6 +4887,8 @@ Selector.prototype.on = function (sEventName, fCallback)
|
||||||
this.oCallbacks[sEventName] = fCallback;
|
this.oCallbacks[sEventName] = fCallback;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -4934,6 +4963,8 @@ CookieDriver.prototype.get = function (sKey)
|
||||||
return mResult;
|
return mResult;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -5005,6 +5036,8 @@ LocalStorageDriver.prototype.get = function (sKey)
|
||||||
return mResult;
|
return mResult;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -5048,6 +5081,8 @@ LocalStorage.prototype.get = function (iKey)
|
||||||
return this.oDriver ? this.oDriver.get('p' + iKey) : null;
|
return this.oDriver ? this.oDriver.get('p' + iKey) : null;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -5061,6 +5096,8 @@ KnoinAbstractBoot.prototype.bootstart = function ()
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {string=} sPosition = ''
|
* @param {string=} sPosition = ''
|
||||||
* @param {string=} sTemplate = ''
|
* @param {string=} sTemplate = ''
|
||||||
|
|
@ -5154,6 +5191,8 @@ KnoinAbstractViewModel.prototype.registerPopupKeyDown = function ()
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {string} sScreenName
|
* @param {string} sScreenName
|
||||||
* @param {?=} aViewModels = []
|
* @param {?=} aViewModels = []
|
||||||
|
|
@ -5230,6 +5269,8 @@ KnoinAbstractScreen.prototype.__start = function ()
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -5635,6 +5676,8 @@ Knoin.prototype.bootstart = function ()
|
||||||
|
|
||||||
kn = new Knoin();
|
kn = new Knoin();
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {string=} sEmail
|
* @param {string=} sEmail
|
||||||
* @param {string=} sName
|
* @param {string=} sName
|
||||||
|
|
@ -5999,6 +6042,8 @@ EmailModel.prototype.inputoTagLine = function ()
|
||||||
return 0 < this.name.length ? this.name + ' (' + this.email + ')' : this.email;
|
return 0 < this.name.length ? this.name + ' (' + this.email + ')' : this.email;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -6123,6 +6168,8 @@ ContactModel.prototype.lineAsCcc = function ()
|
||||||
return aResult.join(' ');
|
return aResult.join(' ');
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {number=} iType = Enums.ContactPropertyType.Unknown
|
* @param {number=} iType = Enums.ContactPropertyType.Unknown
|
||||||
* @param {string=} sTypeStr = ''
|
* @param {string=} sTypeStr = ''
|
||||||
|
|
@ -6152,6 +6199,8 @@ function ContactPropertyModel(iType, sTypeStr, sValue, bFocused, sPlaceholder)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -6196,6 +6245,8 @@ ContactTagModel.prototype.toLine = function (bEncodeHtml)
|
||||||
Utils.encodeHtml(this.name()) : this.name();
|
Utils.encodeHtml(this.name()) : this.name();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -6432,6 +6483,8 @@ AttachmentModel.prototype.iconClass = function ()
|
||||||
return sClass;
|
return sClass;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @param {string} sId
|
* @param {string} sId
|
||||||
|
|
@ -6493,6 +6546,8 @@ ComposeAttachmentModel.prototype.initByUploadJson = function (oJsonAttachment)
|
||||||
|
|
||||||
return bResult;
|
return bResult;
|
||||||
};
|
};
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -7691,6 +7746,8 @@ MessageModel.prototype.flagHash = function ()
|
||||||
this.isReadReceipt()].join('');
|
this.isReadReceipt()].join('');
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -8023,6 +8080,8 @@ FolderModel.prototype.printableFullName = function ()
|
||||||
return this.fullName.split(this.delimiter).join(' / ');
|
return this.fullName.split(this.delimiter).join(' / ');
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {string} sEmail
|
* @param {string} sEmail
|
||||||
* @param {boolean=} bCanBeDelete = true
|
* @param {boolean=} bCanBeDelete = true
|
||||||
|
|
@ -8044,6 +8103,8 @@ AccountModel.prototype.changeAccountLink = function ()
|
||||||
{
|
{
|
||||||
return RL.link().change(this.email);
|
return RL.link().change(this.email);
|
||||||
};
|
};
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {string} sId
|
* @param {string} sId
|
||||||
* @param {string} sEmail
|
* @param {string} sEmail
|
||||||
|
|
@ -8080,6 +8141,8 @@ IdentityModel.prototype.formattedNameForEmail = function ()
|
||||||
return '' === sName ? this.email() : '"' + Utils.quoteName(sName) + '" <' + this.email() + '>';
|
return '' === sName ? this.email() : '"' + Utils.quoteName(sName) + '" <' + this.email() + '>';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -8087,6 +8150,8 @@ function FilterConditionModel()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -8122,6 +8187,8 @@ FilterModel.prototype.parse = function (oItem)
|
||||||
return bResult;
|
return bResult;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {string} iIndex
|
* @param {string} iIndex
|
||||||
* @param {string} sGuID
|
* @param {string} sGuID
|
||||||
|
|
@ -8153,6 +8220,8 @@ OpenPgpKeyModel.prototype.email = '';
|
||||||
OpenPgpKeyModel.prototype.armor = '';
|
OpenPgpKeyModel.prototype.armor = '';
|
||||||
OpenPgpKeyModel.prototype.isPrivate = false;
|
OpenPgpKeyModel.prototype.isPrivate = false;
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends KnoinAbstractViewModel
|
* @extends KnoinAbstractViewModel
|
||||||
|
|
@ -8249,6 +8318,8 @@ PopupsFolderClearViewModel.prototype.onShow = function (oFolder)
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends KnoinAbstractViewModel
|
* @extends KnoinAbstractViewModel
|
||||||
|
|
@ -8359,6 +8430,8 @@ PopupsFolderCreateViewModel.prototype.onFocus = function ()
|
||||||
this.folderName.focused(true);
|
this.folderName.focused(true);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends KnoinAbstractViewModel
|
* @extends KnoinAbstractViewModel
|
||||||
|
|
@ -8472,6 +8545,8 @@ PopupsFolderSystemViewModel.prototype.onShow = function (iNotificationType)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends KnoinAbstractViewModel
|
* @extends KnoinAbstractViewModel
|
||||||
|
|
@ -9843,7 +9918,6 @@ PopupsComposeViewModel.prototype.prepearMessageAttachments = function (oMessage,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
bAdd = true;
|
|
||||||
if (bAdd)
|
if (bAdd)
|
||||||
{
|
{
|
||||||
oAttachment = new ComposeAttachmentModel(
|
oAttachment = new ComposeAttachmentModel(
|
||||||
|
|
@ -9960,6 +10034,8 @@ PopupsComposeViewModel.prototype.triggerForResize = function ()
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends KnoinAbstractViewModel
|
* @extends KnoinAbstractViewModel
|
||||||
|
|
@ -10702,6 +10778,8 @@ PopupsContactsViewModel.prototype.onHide = function ()
|
||||||
// });
|
// });
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends KnoinAbstractViewModel
|
* @extends KnoinAbstractViewModel
|
||||||
|
|
@ -10838,6 +10916,8 @@ PopupsAdvancedSearchViewModel.prototype.onFocus = function ()
|
||||||
this.fromFocus(true);
|
this.fromFocus(true);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends KnoinAbstractViewModel
|
* @extends KnoinAbstractViewModel
|
||||||
|
|
@ -10950,6 +11030,8 @@ PopupsAddAccountViewModel.prototype.onFocus = function ()
|
||||||
this.emailFocus(true);
|
this.emailFocus(true);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends KnoinAbstractViewModel
|
* @extends KnoinAbstractViewModel
|
||||||
|
|
@ -11036,6 +11118,8 @@ PopupsAddOpenPgpKeyViewModel.prototype.onFocus = function ()
|
||||||
this.key.focus(true);
|
this.key.focus(true);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends KnoinAbstractViewModel
|
* @extends KnoinAbstractViewModel
|
||||||
|
|
@ -11076,6 +11160,8 @@ PopupsViewOpenPgpKeyViewModel.prototype.onShow = function (oOpenPgpKey)
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends KnoinAbstractViewModel
|
* @extends KnoinAbstractViewModel
|
||||||
|
|
@ -11171,6 +11257,8 @@ PopupsGenerateNewOpenPgpKeyViewModel.prototype.onFocus = function ()
|
||||||
this.email.focus(true);
|
this.email.focus(true);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends KnoinAbstractViewModel
|
* @extends KnoinAbstractViewModel
|
||||||
|
|
@ -11411,6 +11499,8 @@ PopupsComposeOpenPgpViewModel.prototype.onShow = function (fCallback, sText, sFr
|
||||||
this.text(sText);
|
this.text(sText);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends KnoinAbstractViewModel
|
* @extends KnoinAbstractViewModel
|
||||||
|
|
@ -11559,6 +11649,8 @@ PopupsIdentityViewModel.prototype.onFocus = function ()
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends KnoinAbstractViewModel
|
* @extends KnoinAbstractViewModel
|
||||||
|
|
@ -11619,6 +11711,8 @@ PopupsLanguagesViewModel.prototype.changeLanguage = function (sLang)
|
||||||
this.cancelCommand();
|
this.cancelCommand();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends KnoinAbstractViewModel
|
* @extends KnoinAbstractViewModel
|
||||||
|
|
@ -11673,6 +11767,8 @@ PopupsTwoFactorTestViewModel.prototype.onFocus = function ()
|
||||||
this.code.focused(true);
|
this.code.focused(true);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends KnoinAbstractViewModel
|
* @extends KnoinAbstractViewModel
|
||||||
|
|
@ -11779,6 +11875,8 @@ PopupsAskViewModel.prototype.onBuild = function ()
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends KnoinAbstractViewModel
|
* @extends KnoinAbstractViewModel
|
||||||
|
|
@ -11824,6 +11922,8 @@ PopupsKeyboardShortcutsHelpViewModel.prototype.onBuild = function (oDom)
|
||||||
}, this));
|
}, this));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends KnoinAbstractViewModel
|
* @extends KnoinAbstractViewModel
|
||||||
|
|
@ -12136,6 +12236,8 @@ LoginViewModel.prototype.selectLanguage = function ()
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends KnoinAbstractViewModel
|
* @extends KnoinAbstractViewModel
|
||||||
|
|
@ -12232,6 +12334,8 @@ AbstractSystemDropDownViewModel.prototype.onBuild = function ()
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends AbstractSystemDropDownViewModel
|
* @extends AbstractSystemDropDownViewModel
|
||||||
|
|
@ -12244,6 +12348,8 @@ function MailBoxSystemDropDownViewModel()
|
||||||
|
|
||||||
Utils.extendAsViewModel('MailBoxSystemDropDownViewModel', MailBoxSystemDropDownViewModel, AbstractSystemDropDownViewModel);
|
Utils.extendAsViewModel('MailBoxSystemDropDownViewModel', MailBoxSystemDropDownViewModel, AbstractSystemDropDownViewModel);
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends AbstractSystemDropDownViewModel
|
* @extends AbstractSystemDropDownViewModel
|
||||||
|
|
@ -12256,6 +12362,8 @@ function SettingsSystemDropDownViewModel()
|
||||||
|
|
||||||
Utils.extendAsViewModel('SettingsSystemDropDownViewModel', SettingsSystemDropDownViewModel, AbstractSystemDropDownViewModel);
|
Utils.extendAsViewModel('SettingsSystemDropDownViewModel', SettingsSystemDropDownViewModel, AbstractSystemDropDownViewModel);
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends KnoinAbstractViewModel
|
* @extends KnoinAbstractViewModel
|
||||||
|
|
@ -12504,6 +12612,8 @@ MailBoxFolderListViewModel.prototype.contactsClick = function ()
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends KnoinAbstractViewModel
|
* @extends KnoinAbstractViewModel
|
||||||
|
|
@ -13407,6 +13517,8 @@ MailBoxMessageListViewModel.prototype.initUploaderForAppend = function ()
|
||||||
|
|
||||||
return !!oJua;
|
return !!oJua;
|
||||||
};
|
};
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends KnoinAbstractViewModel
|
* @extends KnoinAbstractViewModel
|
||||||
|
|
@ -14099,6 +14211,8 @@ MailBoxMessageViewViewModel.prototype.readReceipt = function (oMessage)
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {?} oScreen
|
* @param {?} oScreen
|
||||||
*
|
*
|
||||||
|
|
@ -14128,6 +14242,8 @@ SettingsMenuViewModel.prototype.backToMailBoxClick = function ()
|
||||||
kn.setHash(RL.link().inbox());
|
kn.setHash(RL.link().inbox());
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends KnoinAbstractViewModel
|
* @extends KnoinAbstractViewModel
|
||||||
|
|
@ -14159,6 +14275,8 @@ SettingsPaneViewModel.prototype.backToMailBoxClick = function ()
|
||||||
kn.setHash(RL.link().inbox());
|
kn.setHash(RL.link().inbox());
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -14319,6 +14437,8 @@ SettingsGeneral.prototype.selectLanguage = function ()
|
||||||
kn.showScreenPopup(PopupsLanguagesViewModel);
|
kn.showScreenPopup(PopupsLanguagesViewModel);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -14369,6 +14489,8 @@ SettingsContacts.prototype.onBuild = function ()
|
||||||
//
|
//
|
||||||
//};
|
//};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -14450,6 +14572,8 @@ SettingsAccounts.prototype.deleteAccount = function (oAccountToRemove)
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -14538,6 +14662,8 @@ SettingsIdentity.prototype.onBuild = function ()
|
||||||
}, 50);
|
}, 50);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -14696,6 +14822,8 @@ SettingsIdentities.prototype.onBuild = function (oDom)
|
||||||
|
|
||||||
}, 50);
|
}, 50);
|
||||||
};
|
};
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -14726,6 +14854,8 @@ SettingsFilters.prototype.addFilter = function ()
|
||||||
this.filters.push(oFilter);
|
this.filters.push(oFilter);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -14876,6 +15006,8 @@ SettingsSecurity.prototype.onBuild = function ()
|
||||||
RL.remote().getTwoFactor(this.onResult);
|
RL.remote().getTwoFactor(this.onResult);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -14943,6 +15075,8 @@ function SettingsSocialScreen()
|
||||||
|
|
||||||
Utils.addSettingsViewModel(SettingsSocialScreen, 'SettingsSocial', 'SETTINGS_LABELS/LABEL_SOCIAL_NAME', 'social');
|
Utils.addSettingsViewModel(SettingsSocialScreen, 'SettingsSocial', 'SETTINGS_LABELS/LABEL_SOCIAL_NAME', 'social');
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -15048,6 +15182,8 @@ SettingsChangePasswordScreen.prototype.onChangePasswordResponse = function (sRes
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -15243,6 +15379,8 @@ SettingsFolders.prototype.unSubscribeFolder = function (oFolder)
|
||||||
oFolder.subScribed(false);
|
oFolder.subScribed(false);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -15357,6 +15495,8 @@ SettingsThemes.prototype.onBuild = function ()
|
||||||
}));
|
}));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -15425,6 +15565,8 @@ SettingsOpenPGP.prototype.deleteOpenPgpKey = function (oOpenPgpKeyToRemove)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -15556,6 +15698,8 @@ AbstractData.prototype.populateDataOnStart = function()
|
||||||
this.contactsIsAllowed(!!RL.settingsGet('ContactsIsAllowed'));
|
this.contactsIsAllowed(!!RL.settingsGet('ContactsIsAllowed'));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends AbstractData
|
* @extends AbstractData
|
||||||
|
|
@ -16809,6 +16953,8 @@ WebMailDataStorage.prototype.findSelfPrivateKey = function (sPassword)
|
||||||
return this.findPrivateKeyByEmail(this.accountEmail(), sPassword);
|
return this.findPrivateKeyByEmail(this.accountEmail(), sPassword);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -17083,6 +17229,8 @@ AbstractAjaxRemoteStorage.prototype.jsVersion = function (fCallback, sVersion)
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends AbstractAjaxRemoteStorage
|
* @extends AbstractAjaxRemoteStorage
|
||||||
|
|
@ -17876,6 +18024,8 @@ WebMailAjaxRemoteStorage.prototype.socialUsers = function (fCallback)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
@ -17960,6 +18110,8 @@ AbstractCacheStorage.prototype.setEmailsPicsHashesData = function (oData)
|
||||||
this.oEmailsPicsHashes = oData;
|
this.oEmailsPicsHashes = oData;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends AbstractCacheStorage
|
* @extends AbstractCacheStorage
|
||||||
|
|
@ -18278,6 +18430,8 @@ WebMailCacheStorage.prototype.storeMessageFlagsToCacheByFolderAndUid = function
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {Array} aViewModels
|
* @param {Array} aViewModels
|
||||||
* @constructor
|
* @constructor
|
||||||
|
|
@ -18458,6 +18612,8 @@ AbstractSettings.prototype.routes = function ()
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends KnoinAbstractScreen
|
* @extends KnoinAbstractScreen
|
||||||
|
|
@ -18473,6 +18629,8 @@ LoginScreen.prototype.onShow = function ()
|
||||||
{
|
{
|
||||||
RL.setTitle('');
|
RL.setTitle('');
|
||||||
};
|
};
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends KnoinAbstractScreen
|
* @extends KnoinAbstractScreen
|
||||||
|
|
@ -18644,6 +18802,8 @@ MailBoxScreen.prototype.routes = function ()
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends AbstractSettings
|
* @extends AbstractSettings
|
||||||
|
|
@ -18671,6 +18831,8 @@ SettingsScreen.prototype.onShow = function ()
|
||||||
RL.data().keyScope(Enums.KeyState.Settings);
|
RL.data().keyScope(Enums.KeyState.Settings);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends KnoinAbstractBoot
|
* @extends KnoinAbstractBoot
|
||||||
|
|
@ -19029,6 +19191,8 @@ AbstractApp.prototype.bootstart = function ()
|
||||||
ssm.ready();
|
ssm.ready();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends AbstractApp
|
* @extends AbstractApp
|
||||||
|
|
@ -20336,6 +20500,8 @@ RainLoopApp.prototype.bootstart = function ()
|
||||||
*/
|
*/
|
||||||
RL = new RainLoopApp();
|
RL = new RainLoopApp();
|
||||||
|
|
||||||
|
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||||
|
|
||||||
$html.addClass(Globals.bMobileDevice ? 'mobile' : 'no-mobile');
|
$html.addClass(Globals.bMobileDevice ? 'mobile' : 'no-mobile');
|
||||||
|
|
||||||
$window.keydown(Utils.killCtrlAandS).keyup(Utils.killCtrlAandS);
|
$window.keydown(Utils.killCtrlAandS).keyup(Utils.killCtrlAandS);
|
||||||
|
|
|
||||||
18
rainloop/v/0.0.0/static/js/app.min.js
vendored
18
rainloop/v/0.0.0/static/js/app.min.js
vendored
File diff suppressed because one or more lines are too long
|
|
@ -1,6 +1,6 @@
|
||||||
/*! See http://www.JSON.org/js.html */
|
/*! See http://www.JSON.org/js.html */
|
||||||
var JSON;JSON||(JSON={}),function(){function str(a,b){var c,d,e,f,g=gap,h,i=b[a];i&&typeof i=="object"&&typeof i.toJSON=="function"&&(i=i.toJSON(a)),typeof rep=="function"&&(i=rep.call(b,a,i));switch(typeof i){case"string":return quote(i);case"number":return isFinite(i)?String(i):"null";case"boolean":case"null":return String(i);case"object":if(!i)return"null";gap+=indent,h=[];if(Object.prototype.toString.apply(i)==="[object Array]"){f=i.length;for(c=0;c<f;c+=1)h[c]=str(c,i)||"null";e=h.length===0?"[]":gap?"[\n"+gap+h.join(",\n"+gap)+"\n"+g+"]":"["+h.join(",")+"]",gap=g;return e}if(rep&&typeof rep=="object"){f=rep.length;for(c=0;c<f;c+=1)d=rep[c],typeof d=="string"&&(e=str(d,i),e&&h.push(quote(d)+(gap?": ":":")+e))}else for(d in i)Object.hasOwnProperty.call(i,d)&&(e=str(d,i),e&&h.push(quote(d)+(gap?": ":":")+e));e=h.length===0?"{}":gap?"{\n"+gap+h.join(",\n"+gap)+"\n"+g+"}":"{"+h.join(",")+"}",gap=g;return e}}function quote(a){escapable.lastIndex=0;return escapable.test(a)?'"'+a.replace(escapable,function(a){var b=meta[a];return typeof b=="string"?b:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+a+'"'}function f(a){return a<10?"0"+a:a}"use strict",typeof Date.prototype.toJSON!="function"&&(Date.prototype.toJSON=function(a){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null},String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(a){return this.valueOf()});var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},rep;typeof JSON.stringify!="function"&&(JSON.stringify=function(a,b,c){var d;gap="",indent="";if(typeof c=="number")for(d=0;d<c;d+=1)indent+=" ";else typeof c=="string"&&(indent=c);rep=b;if(b&&typeof b!="function"&&(typeof b!="object"||typeof b.length!="number"))throw new Error("JSON.stringify");return str("",{"":a})}),typeof JSON.parse!="function"&&(JSON.parse=function(text,reviver){function walk(a,b){var c,d,e=a[b];if(e&&typeof e=="object")for(c in e)Object.hasOwnProperty.call(e,c)&&(d=walk(e,c),d!==undefined?e[c]=d:delete e[c]);return reviver.call(a,b,e)}var j;text=String(text),cx.lastIndex=0,cx.test(text)&&(text=text.replace(cx,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){j=eval("("+text+")");return typeof reviver=="function"?walk({"":j},""):j}throw new SyntaxError("JSON.parse")})}();
|
var JSON;JSON||(JSON={}),function(){function str(a,b){var c,d,e,f,g=gap,h,i=b[a];i&&typeof i=="object"&&typeof i.toJSON=="function"&&(i=i.toJSON(a)),typeof rep=="function"&&(i=rep.call(b,a,i));switch(typeof i){case"string":return quote(i);case"number":return isFinite(i)?String(i):"null";case"boolean":case"null":return String(i);case"object":if(!i)return"null";gap+=indent,h=[];if(Object.prototype.toString.apply(i)==="[object Array]"){f=i.length;for(c=0;c<f;c+=1)h[c]=str(c,i)||"null";e=h.length===0?"[]":gap?"[\n"+gap+h.join(",\n"+gap)+"\n"+g+"]":"["+h.join(",")+"]",gap=g;return e}if(rep&&typeof rep=="object"){f=rep.length;for(c=0;c<f;c+=1)d=rep[c],typeof d=="string"&&(e=str(d,i),e&&h.push(quote(d)+(gap?": ":":")+e))}else for(d in i)Object.hasOwnProperty.call(i,d)&&(e=str(d,i),e&&h.push(quote(d)+(gap?": ":":")+e));e=h.length===0?"{}":gap?"{\n"+gap+h.join(",\n"+gap)+"\n"+g+"}":"{"+h.join(",")+"}",gap=g;return e}}function quote(a){escapable.lastIndex=0;return escapable.test(a)?'"'+a.replace(escapable,function(a){var b=meta[a];return typeof b=="string"?b:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+a+'"'}function f(a){return a<10?"0"+a:a}"use strict",typeof Date.prototype.toJSON!="function"&&(Date.prototype.toJSON=function(a){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null},String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(a){return this.valueOf()});var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},rep;typeof JSON.stringify!="function"&&(JSON.stringify=function(a,b,c){var d;gap="",indent="";if(typeof c=="number")for(d=0;d<c;d+=1)indent+=" ";else typeof c=="string"&&(indent=c);rep=b;if(b&&typeof b!="function"&&(typeof b!="object"||typeof b.length!="number"))throw new Error("JSON.stringify");return str("",{"":a})}),typeof JSON.parse!="function"&&(JSON.parse=function(text,reviver){function walk(a,b){var c,d,e=a[b];if(e&&typeof e=="object")for(c in e)Object.hasOwnProperty.call(e,c)&&(d=walk(e,c),d!==undefined?e[c]=d:delete e[c]);return reviver.call(a,b,e)}var j;text=String(text),cx.lastIndex=0,cx.test(text)&&(text=text.replace(cx,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){j=eval("("+text+")");return typeof reviver=="function"?walk({"":j},""):j}throw new SyntaxError("JSON.parse")})}();
|
||||||
/*! RainLoop Simple Pace v1.0 (c) 2013 RainLoop Team; Licensed under MIT */
|
/*! RainLoop Simple Pace v1.0 (c) 2013 RainLoop Team; Licensed under MIT */
|
||||||
!function(a){function b(){var b=this;b.el=null,b.done=!1,b.progress=0,b.addInterval=0,b.addSpeed=3,b.stopProgress=100,b.interval=a.setInterval(function(){var c=b.build();c&&a.clearInterval(b.interval)},100)}if(b.prototype.startAddInterval=function(){var b=this;b.stopAddInterval(),b.addInterval=a.setInterval(function(){0<b.progress&&b.stopProgress>b.progress&&b.add(b.addSpeed)},500)},b.prototype.stopAddInterval=function(){a.clearInterval(this.addInterval),this.addInterval=0},b.prototype.build=function(){if(null===this.el){var a=document.querySelector("body");a&&(this.el=document.createElement("div"),this.el.className="simple-pace simple-pace-active",this.el.innerHTML='<div class="simple-pace-progress"><div class="simple-pace-progress-inner"></div></div><div class="simple-pace-activity"></div>',a.firstChild?a.insertBefore(this.el,a.firstChild):a.appendChild(this.el))}return this.el},b.prototype.reset=function(){return this.progress=0,this.render()},b.prototype.update=function(b){var c=a.parseInt(b,10);return c>this.progress&&(this.progress=c,this.progress=100<this.progress?100:this.progress,this.progress=0>this.progress?0:this.progress),this.render()},b.prototype.add=function(b){return this.progress+=a.parseInt(b,10),this.progress=100<this.progress?100:this.progress,this.progress=0>this.progress?0:this.progress,this.render()},b.prototype.setSpeed=function(a,b){this.addSpeed=a,this.stopProgress=b||100},b.prototype.render=function(){var b=this.build();b&&b.children&&b.children[0]&&b.children[0].setAttribute("style","width:"+this.progress+"%"),100!==this.progress||this.done?100>this.progress&&this.done?(this.done=!1,this.startAddInterval(),b.className=b.className.replace("simple-pace-inactive",""),b.className+=" simple-pace-inactive"):100>this.progress&&!this.done&&0===this.addInterval&&this.startAddInterval():(this.done=!0,this.stopAddInterval(),a.setTimeout(function(){b.className=b.className.replace("simple-pace-active",""),b.className+=" simple-pace-inactive"},500))},!a.SimplePace){var c=new b;a.SimplePace={sleep:function(){c.setSpeed(2,95)},set:function(a){c.update(a)},add:function(a){c.add(a)}}}}(window);
|
!function(e){function s(){var s=this;s.el=null,s.done=!1,s.progress=0,s.addInterval=0,s.addSpeed=3,s.stopProgress=100,s.interval=e.setInterval(function(){var t=s.build();t&&e.clearInterval(s.interval)},100)}if(s.prototype.startAddInterval=function(){var s=this;s.stopAddInterval(),s.addInterval=e.setInterval(function(){0<s.progress&&s.stopProgress>s.progress&&s.add(s.addSpeed)},500)},s.prototype.stopAddInterval=function(){e.clearInterval(this.addInterval),this.addInterval=0},s.prototype.build=function(){if(null===this.el){var e=document.querySelector("body");e&&(this.el=document.createElement("div"),this.el.className="simple-pace simple-pace-active",this.el.innerHTML='<div class="simple-pace-progress"><div class="simple-pace-progress-inner"></div></div><div class="simple-pace-activity"></div>',e.firstChild?e.insertBefore(this.el,e.firstChild):e.appendChild(this.el))}return this.el},s.prototype.reset=function(){return this.progress=0,this.render()},s.prototype.update=function(s){var t=e.parseInt(s,10);return t>this.progress&&(this.progress=t,this.progress=100<this.progress?100:this.progress,this.progress=0>this.progress?0:this.progress),this.render()},s.prototype.add=function(s){return this.progress+=e.parseInt(s,10),this.progress=100<this.progress?100:this.progress,this.progress=0>this.progress?0:this.progress,this.render()},s.prototype.setSpeed=function(e,s){this.addSpeed=e,this.stopProgress=s||100},s.prototype.render=function(){var s=this.build();s&&s.children&&s.children[0]&&s.children[0].setAttribute("style","width:"+this.progress+"%"),100!==this.progress||this.done?100>this.progress&&this.done?(this.done=!1,this.startAddInterval(),s.className=s.className.replace("simple-pace-inactive",""),s.className+=" simple-pace-inactive"):100>this.progress&&!this.done&&0===this.addInterval&&this.startAddInterval():(this.done=!0,this.stopAddInterval(),e.setTimeout(function(){s.className=s.className.replace("simple-pace-active",""),s.className+=" simple-pace-inactive"},500))},!e.SimplePace){var t=new s;e.SimplePace={sleep:function(){t.setSpeed(2,95)},set:function(e){t.update(e)},add:function(e){t.add(e)}}}}(window);
|
||||||
/*! RainLoop Top Driver v1.0 (c) 2013 RainLoop Team; Licensed under MIT */
|
/*! RainLoop Top Driver v1.0 (c) 2013 RainLoop Team; Licensed under MIT */
|
||||||
!function(a,b){function c(){}c.prototype.s=a.sessionStorage,c.prototype.t=a.top||a,c.prototype.getHash=function(){var a=null;if(this.s)a=this.s.getItem("__rlA")||null;else if(this.t){var c=this.t.name&&b&&"{"===this.t.name.toString().substr(0,1)?b.parse(this.t.name.toString()):null;a=c?c.__rlA||null:null}return a},c.prototype.setHash=function(){var c=a.rainloopAppData,d=null;this.s?this.s.setItem("__rlA",c&&c.AuthAccountHash?c.AuthAccountHash:""):this.t&&b&&(d={},d.__rlA=c&&c.AuthAccountHash?c.AuthAccountHash:"",this.t.name=b.stringify(d))},c.prototype.clearHash=function(){this.s?this.s.setItem("__rlA",""):this.t&&(this.t.name="")},a._rlhh=new c,a.__rlah=function(){return a._rlhh?a._rlhh.getHash():null},a.__rlah_set=function(){a._rlhh&&a._rlhh.setHash()},a.__rlah_clear=function(){a._rlhh&&a._rlhh.clearHash()}}(window,window.JSON);
|
!function(t,h){function s(){}s.prototype.s=t.sessionStorage,s.prototype.t=t.top||t,s.prototype.getHash=function(){var t=null;if(this.s)t=this.s.getItem("__rlA")||null;else if(this.t){var s=this.t.name&&h&&"{"===this.t.name.toString().substr(0,1)?h.parse(this.t.name.toString()):null;t=s?s.__rlA||null:null}return t},s.prototype.setHash=function(){var s=t.rainloopAppData,n=null;this.s?this.s.setItem("__rlA",s&&s.AuthAccountHash?s.AuthAccountHash:""):this.t&&h&&(n={},n.__rlA=s&&s.AuthAccountHash?s.AuthAccountHash:"",this.t.name=h.stringify(n))},s.prototype.clearHash=function(){this.s?this.s.setItem("__rlA",""):this.t&&(this.t.name="")},t._rlhh=new s,t.__rlah=function(){return t._rlhh?t._rlhh.getHash():null},t.__rlah_set=function(){t._rlhh&&t._rlhh.setHash()},t.__rlah_clear=function(){t._rlhh&&t._rlhh.clearHash()}}(window,window.JSON);
|
||||||
File diff suppressed because one or more lines are too long
18
vendors/bootstrap/less/mixins.less
vendored
18
vendors/bootstrap/less/mixins.less
vendored
|
|
@ -549,13 +549,15 @@
|
||||||
.core (@gridColumnWidth, @gridGutterWidth) {
|
.core (@gridColumnWidth, @gridGutterWidth) {
|
||||||
|
|
||||||
.spanX (@index) when (@index > 0) {
|
.spanX (@index) when (@index > 0) {
|
||||||
(~".span@{index}") { .span(@index); }
|
// (~".span@{index}") { .span(@index); }
|
||||||
|
.span@{index} { .span(@index); }
|
||||||
.spanX(@index - 1);
|
.spanX(@index - 1);
|
||||||
}
|
}
|
||||||
.spanX (0) {}
|
.spanX (0) {}
|
||||||
|
|
||||||
.offsetX (@index) when (@index > 0) {
|
.offsetX (@index) when (@index > 0) {
|
||||||
(~".offset@{index}") { .offset(@index); }
|
// (~".offset@{index}") { .offset(@index); }
|
||||||
|
.offset@{index} { .offset(@index); }
|
||||||
.offsetX(@index - 1);
|
.offsetX(@index - 1);
|
||||||
}
|
}
|
||||||
.offsetX (0) {}
|
.offsetX (0) {}
|
||||||
|
|
@ -593,14 +595,17 @@
|
||||||
.fluid (@fluidGridColumnWidth, @fluidGridGutterWidth) {
|
.fluid (@fluidGridColumnWidth, @fluidGridGutterWidth) {
|
||||||
|
|
||||||
.spanX (@index) when (@index > 0) {
|
.spanX (@index) when (@index > 0) {
|
||||||
(~".span@{index}") { .span(@index); }
|
// (~".span@{index}") { .span(@index); }
|
||||||
|
.span@{index} { .span(@index); }
|
||||||
.spanX(@index - 1);
|
.spanX(@index - 1);
|
||||||
}
|
}
|
||||||
.spanX (0) {}
|
.spanX (0) {}
|
||||||
|
|
||||||
.offsetX (@index) when (@index > 0) {
|
.offsetX (@index) when (@index > 0) {
|
||||||
(~'.offset@{index}') { .offset(@index); }
|
// (~'.offset@{index}') { .offset(@index); }
|
||||||
(~'.offset@{index}:first-child') { .offsetFirstChild(@index); }
|
// (~'.offset@{index}:first-child') { .offsetFirstChild(@index); }
|
||||||
|
.offset@{index} { .offset(@index); }
|
||||||
|
.offset@{index}:first-child { .offsetFirstChild(@index); }
|
||||||
.offsetX(@index - 1);
|
.offsetX(@index - 1);
|
||||||
}
|
}
|
||||||
.offsetX (0) {}
|
.offsetX (0) {}
|
||||||
|
|
@ -643,7 +648,8 @@
|
||||||
.input(@gridColumnWidth, @gridGutterWidth) {
|
.input(@gridColumnWidth, @gridGutterWidth) {
|
||||||
|
|
||||||
.spanX (@index) when (@index > 0) {
|
.spanX (@index) when (@index > 0) {
|
||||||
(~"input.span@{index}, textarea.span@{index}, .uneditable-input.span@{index}") { .span(@index); }
|
// (~"input.span@{index}, textarea.span@{index}, .uneditable-input.span@{index}") { .span(@index); }
|
||||||
|
input.span@{index}, textarea.span@{index}, .uneditable-input.span@{index} { .span(@index); }
|
||||||
.spanX(@index - 1);
|
.spanX(@index - 1);
|
||||||
}
|
}
|
||||||
.spanX (0) {}
|
.spanX (0) {}
|
||||||
|
|
|
||||||
2
vendors/ifvisible/ifvisible.min.js
vendored
2
vendors/ifvisible/ifvisible.min.js
vendored
|
|
@ -1,2 +1,2 @@
|
||||||
/*!ifvisible.js v1.0.0 (c) 2013 Serkan Yersen | MIT */
|
/*!ifvisible.js v1.0.0 (c) 2013 Serkan Yersen | MIT */
|
||||||
(function(){"use strict";var a,b,c,d,e,f,g,h,i,j,k,l,m,n;i={},c=document,k=!1,l="active",g=6e4,f=!1,b=function(){var a,b,c,d,e,f;return a=function(){return(65536*(1+Math.random())|0).toString(16).substring(1)},e=function(){return a()+a()+"-"+a()+"-"+a()+"-"+a()+"-"+a()+a()+a()},f={},c="__ceGUID",b=function(a,b,d){return a[c]=void 0,a[c]||(a[c]="ifvisible.object.event.identifier"),f[a[c]]||(f[a[c]]={}),f[a[c]][b]||(f[a[c]][b]=[]),f[a[c]][b].push(d)},d=function(a,b,d){var e,g,h,i,j;if(a[c]&&f[a[c]]&&f[a[c]][b]){for(i=f[a[c]][b],j=[],g=0,h=i.length;h>g;g++)e=i[g],j.push(e(d||{}));return j}},{add:b,fire:d}}(),a=function(){var a;return a=!1,function(b,c,d){return a||(a=b.addEventListener?function(a,b,c){return a.addEventListener(b,c,!1)}:b.attachEvent?function(a,b,c){return a.attachEvent("on"+b,c,!1)}:function(a,b,c){return a["on"+b]=c}),a(b,c,d)}}(),d=function(a,b){var d;return c.createEventObject?a.fireEvent("on"+b,d):(d=c.createEvent("HTMLEvents"),d.initEvent(b,!0,!0),!a.dispatchEvent(d))},h=function(){var a,b,d,e,f;for(e=void 0,f=3,d=c.createElement("div"),a=d.getElementsByTagName("i"),b=function(){return d.innerHTML="<!--[if gt IE "+ ++f+"]><i></i><![endif]-->",a[0]};b(););return f>4?f:e}(),e=!1,n=void 0,"undefined"!=typeof c.hidden?(e="hidden",n="visibilitychange"):"undefined"!=typeof c.mozHidden?(e="mozHidden",n="mozvisibilitychange"):"undefined"!=typeof c.msHidden?(e="msHidden",n="msvisibilitychange"):"undefined"!=typeof c.webkitHidden&&(e="webkitHidden",n="webkitvisibilitychange"),m=function(){var b,d;return b=!1,d=function(){return clearTimeout(b),"active"!==l&&i.wakeup(),f=+new Date,b=setTimeout(function(){return"active"===l?i.idle():void 0},g)},d(),a(c,"mousemove",d),a(c,"keyup",d),a(window,"scroll",d),i.focus(d)},j=function(){var b;return k?!0:(e===!1?(b="blur",9>h&&(b="focusout"),a(window,b,function(){return i.blur()}),a(window,"focus",function(){return i.focus()})):a(c,n,function(){return c[e]?i.blur():i.focus()},!1),k=!0,m())},i={setIdleDuration:function(a){return g=1e3*a},getIdleDuration:function(){return g},getIdleInfo:function(){var a,b;return a=+new Date,b={},"idle"===l?(b.isIdle=!0,b.idleFor=a-f,b.timeLeft=0,b.timeLeftPer=100):(b.isIdle=!1,b.idleFor=a-f,b.timeLeft=f+g-a,b.timeLeftPer=(100-100*b.timeLeft/g).toFixed(2)),b},focus:function(a){return"function"==typeof a?this.on("focus",a):(l="active",b.fire(this,"focus"),b.fire(this,"wakeup"),b.fire(this,"statusChanged",{status:l}))},blur:function(a){return"function"==typeof a?this.on("blur",a):(l="hidden",b.fire(this,"blur"),b.fire(this,"idle"),b.fire(this,"statusChanged",{status:l}))},idle:function(a){return"function"==typeof a?this.on("idle",a):(l="idle",b.fire(this,"idle"),b.fire(this,"statusChanged",{status:l}))},wakeup:function(a){return"function"==typeof a?this.on("wakeup",a):(l="active",b.fire(this,"wakeup"),b.fire(this,"statusChanged",{status:l}))},on:function(a,c){return j(),b.add(this,a,c)},onEvery:function(a,b){var c;return j(),c=setInterval(function(){return"active"===l?b():void 0},1e3*a),{stop:function(){return clearInterval(c)},code:c,callback:b}},now:function(){return j(),"active"===l}},"function"==typeof define&&define.amd?define(function(){return i}):window.ifvisible=i}).call(this);
|
(function(){"use strict";var e,t,n,i,r,u,o,f,c,d,s,a,v,l;c={},n=document,s=!1,a="active",o=6e4,u=!1,t=function(){var e,t,n,i,r,u;return e=function(){return(65536*(1+Math.random())|0).toString(16).substring(1)},r=function(){return e()+e()+"-"+e()+"-"+e()+"-"+e()+"-"+e()+e()+e()},u={},n="__ceGUID",t=function(e,t,i){return e[n]=void 0,e[n]||(e[n]="ifvisible.object.event.identifier"),u[e[n]]||(u[e[n]]={}),u[e[n]][t]||(u[e[n]][t]=[]),u[e[n]][t].push(i)},i=function(e,t,i){var r,o,f,c,d;if(e[n]&&u[e[n]]&&u[e[n]][t]){for(c=u[e[n]][t],d=[],o=0,f=c.length;f>o;o++)r=c[o],d.push(r(i||{}));return d}},{add:t,fire:i}}(),e=function(){var e;return e=!1,function(t,n,i){return e||(e=t.addEventListener?function(e,t,n){return e.addEventListener(t,n,!1)}:t.attachEvent?function(e,t,n){return e.attachEvent("on"+t,n,!1)}:function(e,t,n){return e["on"+t]=n}),e(t,n,i)}}(),i=function(e,t){var i;return n.createEventObject?e.fireEvent("on"+t,i):(i=n.createEvent("HTMLEvents"),i.initEvent(t,!0,!0),!e.dispatchEvent(i))},f=function(){var e,t,i,r,u;for(r=void 0,u=3,i=n.createElement("div"),e=i.getElementsByTagName("i"),t=function(){return i.innerHTML="<!--[if gt IE "+ ++u+"]><i></i><![endif]-->",e[0]};t(););return u>4?u:r}(),r=!1,l=void 0,"undefined"!=typeof n.hidden?(r="hidden",l="visibilitychange"):"undefined"!=typeof n.mozHidden?(r="mozHidden",l="mozvisibilitychange"):"undefined"!=typeof n.msHidden?(r="msHidden",l="msvisibilitychange"):"undefined"!=typeof n.webkitHidden&&(r="webkitHidden",l="webkitvisibilitychange"),v=function(){var t,i;return t=!1,i=function(){return clearTimeout(t),"active"!==a&&c.wakeup(),u=+new Date,t=setTimeout(function(){return"active"===a?c.idle():void 0},o)},i(),e(n,"mousemove",i),e(n,"keyup",i),e(window,"scroll",i),c.focus(i)},d=function(){var t;return s?!0:(r===!1?(t="blur",9>f&&(t="focusout"),e(window,t,function(){return c.blur()}),e(window,"focus",function(){return c.focus()})):e(n,l,function(){return n[r]?c.blur():c.focus()},!1),s=!0,v())},c={setIdleDuration:function(e){return o=1e3*e},getIdleDuration:function(){return o},getIdleInfo:function(){var e,t;return e=+new Date,t={},"idle"===a?(t.isIdle=!0,t.idleFor=e-u,t.timeLeft=0,t.timeLeftPer=100):(t.isIdle=!1,t.idleFor=e-u,t.timeLeft=u+o-e,t.timeLeftPer=(100-100*t.timeLeft/o).toFixed(2)),t},focus:function(e){return"function"==typeof e?this.on("focus",e):(a="active",t.fire(this,"focus"),t.fire(this,"wakeup"),t.fire(this,"statusChanged",{status:a}))},blur:function(e){return"function"==typeof e?this.on("blur",e):(a="hidden",t.fire(this,"blur"),t.fire(this,"idle"),t.fire(this,"statusChanged",{status:a}))},idle:function(e){return"function"==typeof e?this.on("idle",e):(a="idle",t.fire(this,"idle"),t.fire(this,"statusChanged",{status:a}))},wakeup:function(e){return"function"==typeof e?this.on("wakeup",e):(a="active",t.fire(this,"wakeup"),t.fire(this,"statusChanged",{status:a}))},on:function(e,n){return d(),t.add(this,e,n)},onEvery:function(e,t){var n;return d(),n=setInterval(function(){return"active"===a?t():void 0},1e3*e),{stop:function(){return clearInterval(n)},code:n,callback:t}},now:function(){return d(),"active"===a}},"function"==typeof define&&define.amd?define(function(){return c}):window.ifvisible=c}).call(this);
|
||||||
File diff suppressed because one or more lines are too long
2
vendors/rl/rl-1.0.min.js
vendored
2
vendors/rl/rl-1.0.min.js
vendored
|
|
@ -1,2 +1,2 @@
|
||||||
/*! RainLoop Top Driver v1.0 (c) 2013 RainLoop Team; Licensed under MIT */
|
/*! RainLoop Top Driver v1.0 (c) 2013 RainLoop Team; Licensed under MIT */
|
||||||
!function(a,b){function c(){}c.prototype.s=a.sessionStorage,c.prototype.t=a.top||a,c.prototype.getHash=function(){var a=null;if(this.s)a=this.s.getItem("__rlA")||null;else if(this.t){var c=this.t.name&&b&&"{"===this.t.name.toString().substr(0,1)?b.parse(this.t.name.toString()):null;a=c?c.__rlA||null:null}return a},c.prototype.setHash=function(){var c=a.rainloopAppData,d=null;this.s?this.s.setItem("__rlA",c&&c.AuthAccountHash?c.AuthAccountHash:""):this.t&&b&&(d={},d.__rlA=c&&c.AuthAccountHash?c.AuthAccountHash:"",this.t.name=b.stringify(d))},c.prototype.clearHash=function(){this.s?this.s.setItem("__rlA",""):this.t&&(this.t.name="")},a._rlhh=new c,a.__rlah=function(){return a._rlhh?a._rlhh.getHash():null},a.__rlah_set=function(){a._rlhh&&a._rlhh.setHash()},a.__rlah_clear=function(){a._rlhh&&a._rlhh.clearHash()}}(window,window.JSON);
|
!function(t,h){function s(){}s.prototype.s=t.sessionStorage,s.prototype.t=t.top||t,s.prototype.getHash=function(){var t=null;if(this.s)t=this.s.getItem("__rlA")||null;else if(this.t){var s=this.t.name&&h&&"{"===this.t.name.toString().substr(0,1)?h.parse(this.t.name.toString()):null;t=s?s.__rlA||null:null}return t},s.prototype.setHash=function(){var s=t.rainloopAppData,n=null;this.s?this.s.setItem("__rlA",s&&s.AuthAccountHash?s.AuthAccountHash:""):this.t&&h&&(n={},n.__rlA=s&&s.AuthAccountHash?s.AuthAccountHash:"",this.t.name=h.stringify(n))},s.prototype.clearHash=function(){this.s?this.s.setItem("__rlA",""):this.t&&(this.t.name="")},t._rlhh=new s,t.__rlah=function(){return t._rlhh?t._rlhh.getHash():null},t.__rlah_set=function(){t._rlhh&&t._rlhh.setHash()},t.__rlah_clear=function(){t._rlhh&&t._rlhh.clearHash()}}(window,window.JSON);
|
||||||
2
vendors/simple-pace/simple-pace-1.0.min.js
vendored
2
vendors/simple-pace/simple-pace-1.0.min.js
vendored
|
|
@ -1,2 +1,2 @@
|
||||||
/*! RainLoop Simple Pace v1.0 (c) 2013 RainLoop Team; Licensed under MIT */
|
/*! RainLoop Simple Pace v1.0 (c) 2013 RainLoop Team; Licensed under MIT */
|
||||||
!function(a){function b(){var b=this;b.el=null,b.done=!1,b.progress=0,b.addInterval=0,b.addSpeed=3,b.stopProgress=100,b.interval=a.setInterval(function(){var c=b.build();c&&a.clearInterval(b.interval)},100)}if(b.prototype.startAddInterval=function(){var b=this;b.stopAddInterval(),b.addInterval=a.setInterval(function(){0<b.progress&&b.stopProgress>b.progress&&b.add(b.addSpeed)},500)},b.prototype.stopAddInterval=function(){a.clearInterval(this.addInterval),this.addInterval=0},b.prototype.build=function(){if(null===this.el){var a=document.querySelector("body");a&&(this.el=document.createElement("div"),this.el.className="simple-pace simple-pace-active",this.el.innerHTML='<div class="simple-pace-progress"><div class="simple-pace-progress-inner"></div></div><div class="simple-pace-activity"></div>',a.firstChild?a.insertBefore(this.el,a.firstChild):a.appendChild(this.el))}return this.el},b.prototype.reset=function(){return this.progress=0,this.render()},b.prototype.update=function(b){var c=a.parseInt(b,10);return c>this.progress&&(this.progress=c,this.progress=100<this.progress?100:this.progress,this.progress=0>this.progress?0:this.progress),this.render()},b.prototype.add=function(b){return this.progress+=a.parseInt(b,10),this.progress=100<this.progress?100:this.progress,this.progress=0>this.progress?0:this.progress,this.render()},b.prototype.setSpeed=function(a,b){this.addSpeed=a,this.stopProgress=b||100},b.prototype.render=function(){var b=this.build();b&&b.children&&b.children[0]&&b.children[0].setAttribute("style","width:"+this.progress+"%"),100!==this.progress||this.done?100>this.progress&&this.done?(this.done=!1,this.startAddInterval(),b.className=b.className.replace("simple-pace-inactive",""),b.className+=" simple-pace-inactive"):100>this.progress&&!this.done&&0===this.addInterval&&this.startAddInterval():(this.done=!0,this.stopAddInterval(),a.setTimeout(function(){b.className=b.className.replace("simple-pace-active",""),b.className+=" simple-pace-inactive"},500))},!a.SimplePace){var c=new b;a.SimplePace={sleep:function(){c.setSpeed(2,95)},set:function(a){c.update(a)},add:function(a){c.add(a)}}}}(window);
|
!function(e){function s(){var s=this;s.el=null,s.done=!1,s.progress=0,s.addInterval=0,s.addSpeed=3,s.stopProgress=100,s.interval=e.setInterval(function(){var t=s.build();t&&e.clearInterval(s.interval)},100)}if(s.prototype.startAddInterval=function(){var s=this;s.stopAddInterval(),s.addInterval=e.setInterval(function(){0<s.progress&&s.stopProgress>s.progress&&s.add(s.addSpeed)},500)},s.prototype.stopAddInterval=function(){e.clearInterval(this.addInterval),this.addInterval=0},s.prototype.build=function(){if(null===this.el){var e=document.querySelector("body");e&&(this.el=document.createElement("div"),this.el.className="simple-pace simple-pace-active",this.el.innerHTML='<div class="simple-pace-progress"><div class="simple-pace-progress-inner"></div></div><div class="simple-pace-activity"></div>',e.firstChild?e.insertBefore(this.el,e.firstChild):e.appendChild(this.el))}return this.el},s.prototype.reset=function(){return this.progress=0,this.render()},s.prototype.update=function(s){var t=e.parseInt(s,10);return t>this.progress&&(this.progress=t,this.progress=100<this.progress?100:this.progress,this.progress=0>this.progress?0:this.progress),this.render()},s.prototype.add=function(s){return this.progress+=e.parseInt(s,10),this.progress=100<this.progress?100:this.progress,this.progress=0>this.progress?0:this.progress,this.render()},s.prototype.setSpeed=function(e,s){this.addSpeed=e,this.stopProgress=s||100},s.prototype.render=function(){var s=this.build();s&&s.children&&s.children[0]&&s.children[0].setAttribute("style","width:"+this.progress+"%"),100!==this.progress||this.done?100>this.progress&&this.done?(this.done=!1,this.startAddInterval(),s.className=s.className.replace("simple-pace-inactive",""),s.className+=" simple-pace-inactive"):100>this.progress&&!this.done&&0===this.addInterval&&this.startAddInterval():(this.done=!0,this.stopAddInterval(),e.setTimeout(function(){s.className=s.className.replace("simple-pace-active",""),s.className+=" simple-pace-inactive"},500))},!e.SimplePace){var t=new s;e.SimplePace={sleep:function(){t.setSpeed(2,95)},set:function(e){t.update(e)},add:function(e){t.add(e)}}}}(window);
|
||||||
Loading…
Add table
Add a link
Reference in a new issue