mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-07-13 03:27:39 +03:00
RC
This commit is contained in:
parent
d8c9f7ec14
commit
16d2f46a31
7 changed files with 51 additions and 38 deletions
|
|
@ -47,6 +47,9 @@
|
||||||
this.attachmentsClass = '';
|
this.attachmentsClass = '';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return {string}
|
||||||
|
*/
|
||||||
MessageFullModel.prototype.getAttachmentsClass = function ()
|
MessageFullModel.prototype.getAttachmentsClass = function ()
|
||||||
{
|
{
|
||||||
var sClass = '';
|
var sClass = '';
|
||||||
|
|
@ -81,8 +84,9 @@
|
||||||
{
|
{
|
||||||
var bResult = false;
|
var bResult = false;
|
||||||
|
|
||||||
if (oJson && 'Object/Message' === oJson['@Object'] &&
|
if (oJson && 'Object/Message' === oJson['@Object'])
|
||||||
MessageSimpleModel.prototype.initByJson.call(this, oJson))
|
{
|
||||||
|
if (MessageSimpleModel.prototype.initByJson.call(this, oJson))
|
||||||
{
|
{
|
||||||
this.priority = Utils.pInt(oJson.Priority);
|
this.priority = Utils.pInt(oJson.Priority);
|
||||||
this.priority = Utils.inArray(this.priority, [Enums.MessagePriority.High, Enums.MessagePriority.Low]) ?
|
this.priority = Utils.inArray(this.priority, [Enums.MessagePriority.High, Enums.MessagePriority.Low]) ?
|
||||||
|
|
@ -99,6 +103,7 @@
|
||||||
|
|
||||||
bResult = true;
|
bResult = true;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return bResult;
|
return bResult;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -7,20 +7,20 @@
|
||||||
_ = require('_'),
|
_ = require('_'),
|
||||||
ko = require('ko'),
|
ko = require('ko'),
|
||||||
|
|
||||||
Enums = require('Common/Enums'),
|
// Enums = require('Common/Enums'),
|
||||||
Utils = require('Common/Utils'),
|
// Utils = require('Common/Utils'),
|
||||||
|
//
|
||||||
|
// MessageHelper = require('Helper/Message'),
|
||||||
|
|
||||||
MessageHelper = require('Helper/Message'),
|
AbstractModel = require('Knoin/AbstractModel')
|
||||||
|
|
||||||
MessageSimpleModel = require('Model/MessageSimple')
|
|
||||||
;
|
;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
function MessageDynamicModel()
|
function MessageStatesModel()
|
||||||
{
|
{
|
||||||
MessageSimpleModel.call(this, 'MessageDynamicModel');
|
AbstractModel.call(this, 'MessageStatesModel');
|
||||||
|
|
||||||
this.flags = {};
|
this.flags = {};
|
||||||
this.states = {};
|
this.states = {};
|
||||||
|
|
@ -39,15 +39,18 @@
|
||||||
this.states.showReadReceipt = ko.observable(false);
|
this.states.showReadReceipt = ko.observable(false);
|
||||||
this.states.showExternalImages = ko.observable(false);
|
this.states.showExternalImages = ko.observable(false);
|
||||||
|
|
||||||
this.states.hasUnseenSubMessage = ko.observable(false);
|
this.states.hasUnseenSubMessages = ko.observable(false);
|
||||||
this.states.hasFlaggedSubMessage = ko.observable(false);
|
this.states.hasFlaggedSubMessages = ko.observable(false);
|
||||||
|
|
||||||
this.threads = ko.observableArray([]);
|
this.threads = ko.observableArray([]);
|
||||||
}
|
}
|
||||||
|
|
||||||
_.extend(MessageDynamicModel.prototype, MessageSimpleModel.prototype);
|
_.extend(MessageStatesModel.prototype, AbstractModel.prototype);
|
||||||
|
|
||||||
MessageDynamicModel.prototype.clear = function ()
|
MessageStatesModel.prototype.flags = {};
|
||||||
|
MessageStatesModel.prototype.states = {};
|
||||||
|
|
||||||
|
MessageStatesModel.prototype.clear = function ()
|
||||||
{
|
{
|
||||||
this.flags.unseen(false);
|
this.flags.unseen(false);
|
||||||
this.flags.deleted(false);
|
this.flags.deleted(false);
|
||||||
|
|
@ -58,6 +61,6 @@
|
||||||
this.threads([]);
|
this.threads([]);
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports = MessageDynamicModel;
|
module.exports = MessageStatesModel;
|
||||||
|
|
||||||
}());
|
}());
|
||||||
|
|
@ -182,19 +182,23 @@
|
||||||
.b-attachment-place {
|
.b-attachment-place {
|
||||||
|
|
||||||
position: absolute;
|
position: absolute;
|
||||||
height: 120px;
|
left: 5px;
|
||||||
|
right: 5px;
|
||||||
|
top: 5px;
|
||||||
|
bottom: 5px;
|
||||||
|
|
||||||
border: 2px #777 dashed;
|
border: 2px #777 dashed;
|
||||||
|
z-index: 300;
|
||||||
|
|
||||||
line-height: 119px;
|
line-height: 119px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
background-color: #fff;
|
background-color: #efefef;
|
||||||
z-index: 300;
|
|
||||||
left: 20px;
|
|
||||||
right: 20px;
|
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
|
|
||||||
&.drag-and-drop-over {
|
border-radius: 10px;
|
||||||
background: #777;
|
|
||||||
color: #fff;
|
&.dragAndDropOver {
|
||||||
|
background-color: #fff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1609,6 +1609,7 @@
|
||||||
this.dragAndDropOver(false);
|
this.dragAndDropOver(false);
|
||||||
}, this))
|
}, this))
|
||||||
.on('onBodyDragEnter', _.bind(function () {
|
.on('onBodyDragEnter', _.bind(function () {
|
||||||
|
this.attachmentsPlace(true);
|
||||||
this.dragAndDropVisible(true);
|
this.dragAndDropVisible(true);
|
||||||
}, this))
|
}, this))
|
||||||
.on('onBodyDragLeave', _.bind(function () {
|
.on('onBodyDragLeave', _.bind(function () {
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "RainLoop",
|
"name": "RainLoop",
|
||||||
"title": "RainLoop Webmail",
|
"title": "RainLoop Webmail",
|
||||||
"version": "1.8.2",
|
"version": "1.8.2",
|
||||||
"release": "289",
|
"release": "290",
|
||||||
"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": "gulpfile.js",
|
"main": "gulpfile.js",
|
||||||
|
|
|
||||||
|
|
@ -1527,8 +1527,8 @@ class Actions
|
||||||
$aResult['AllowDropboxSocial'] = (bool) $oConfig->Get('social', 'dropbox_enable', false);
|
$aResult['AllowDropboxSocial'] = (bool) $oConfig->Get('social', 'dropbox_enable', false);
|
||||||
$aResult['DropboxApiKey'] = (string) $oConfig->Get('social', 'dropbox_api_key', '');
|
$aResult['DropboxApiKey'] = (string) $oConfig->Get('social', 'dropbox_api_key', '');
|
||||||
|
|
||||||
$aResult['SubscriptionEnabled'] = \MailSo\Base\Utils::ValidateDomain($aResult['AdminDomain']) ||
|
$aResult['SubscriptionEnabled'] = \MailSo\Base\Utils::ValidateDomain($aResult['AdminDomain']);
|
||||||
\MailSo\Base\Utils::ValidateIP($aResult['AdminDomain']);
|
// || \MailSo\Base\Utils::ValidateIP($aResult['AdminDomain']);
|
||||||
|
|
||||||
$aResult['WeakPassword'] = $oConfig->ValidatePassword('12345');
|
$aResult['WeakPassword'] = $oConfig->ValidatePassword('12345');
|
||||||
$aResult['CoreAccess'] = $this->rainLoopCoreAccess();
|
$aResult['CoreAccess'] = $this->rainLoopCoreAccess();
|
||||||
|
|
|
||||||
|
|
@ -155,9 +155,6 @@
|
||||||
<div class="e-cell e-label"></div>
|
<div class="e-cell e-label"></div>
|
||||||
<div class="e-cell e-value">
|
<div class="e-cell e-value">
|
||||||
<div>
|
<div>
|
||||||
<div class="b-attachment-place" data-bind="visible: addAttachmentEnabled() && dragAndDropEnabled() && dragAndDropVisible(), initDom: composeUploaderDropPlace, css: {'dragAndDropOver': dragAndDropOver}">
|
|
||||||
<span class="i18n" data-i18n-text="COMPOSE/ATTACH_DROP_FILES_DESC"></span>
|
|
||||||
</div>
|
|
||||||
<div class="pull-left">
|
<div class="pull-left">
|
||||||
<div class="btn-group" data-toggle="buttons-radio">
|
<div class="btn-group" data-toggle="buttons-radio">
|
||||||
<button type="button" class="btn first" data-bind="click: function () { attachmentsPlace(false); },
|
<button type="button" class="btn first" data-bind="click: function () { attachmentsPlace(false); },
|
||||||
|
|
@ -205,6 +202,9 @@
|
||||||
<div class="attachmentAreaParent b-content" style="height: 200px; min-height: 200px" data-bind="nano: true, visible: attachmentsPlace, initResizeTrigger: [resizer(), 200, 57]">
|
<div class="attachmentAreaParent b-content" style="height: 200px; min-height: 200px" data-bind="nano: true, visible: attachmentsPlace, initResizeTrigger: [resizer(), 200, 57]">
|
||||||
<div class="content g-scrollbox">
|
<div class="content g-scrollbox">
|
||||||
<div class="content-wrapper">
|
<div class="content-wrapper">
|
||||||
|
<div class="b-attachment-place" data-bind="visible: addAttachmentEnabled() && dragAndDropEnabled() && dragAndDropVisible(), initDom: composeUploaderDropPlace, css: {'dragAndDropOver': dragAndDropOver}">
|
||||||
|
<span class="i18n" data-i18n-text="COMPOSE/ATTACH_DROP_FILES_DESC"></span>
|
||||||
|
</div>
|
||||||
<ul class="attachmentList" data-bind="template: { name: 'ComposeAttachment', foreach: attachments }"></ul>
|
<ul class="attachmentList" data-bind="template: { name: 'ComposeAttachment', foreach: attachments }"></ul>
|
||||||
<div class="no-attachments-desc" data-bind="visible: 0 === attachments().length">
|
<div class="no-attachments-desc" data-bind="visible: 0 === attachments().length">
|
||||||
<span class="i18n" data-i18n-text="COMPOSE/NO_ATTACHMENTS_HERE_DESC"></span>
|
<span class="i18n" data-i18n-text="COMPOSE/NO_ATTACHMENTS_HERE_DESC"></span>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue