Update ckeditor

Move e2e tests
Code refactoring
This commit is contained in:
RainLoop Team 2016-09-12 23:50:21 +03:00
parent 9993432c7b
commit e5af98b04b
122 changed files with 617 additions and 561 deletions

View file

@ -2,7 +2,9 @@
import window from 'window';
import $ from '$';
import _ from '_';
import ko from 'ko';
import key from 'key';
import ssm from 'ssm';
import {
$win, $html, $doc,
@ -22,6 +24,10 @@ import {toggle as toggleCmd} from 'Common/Cmd';
import * as Events from 'Common/Events';
import * as Settings from 'Storage/Settings';
import LanguageStore from 'Stores/Language';
import ThemeStore from 'Stores/Theme';
import SocialStore from 'Stores/Social';
import {routeOff, setHash} from 'Knoin/Knoin';
import {AbstractBoot} from 'Knoin/AbstractBoot';
@ -289,10 +295,7 @@ class AbstractApp extends AbstractBoot
Events.pub('rl.bootstart');
const
mobile = Settings.appSettingsGet('mobile'),
ssm = require('ssm'),
ko = require('ko');
const mobile = Settings.appSettingsGet('mobile');
ko.components.register('SaveTrigger', require('Component/SaveTrigger'));
ko.components.register('Input', require('Component/Input'));
@ -395,9 +398,9 @@ class AbstractApp extends AbstractBoot
leftPanelDisabled.valueHasMutated();
require('Stores/Language').populate();
require('Stores/Theme').populate();
require('Stores/Social').populate();
LanguageStore.populate();
ThemeStore.populate();
SocialStore.populate();
}
}

View file

@ -12,6 +12,7 @@ import {pInt, isNormal, isArray, inArray, isUnd} from 'Common/Utils';
import * as Settings from 'Storage/Settings';
import AppStore from 'Stores/Admin/App';
import CapaStore from 'Stores/Admin/Capa';
import DomainStore from 'Stores/Admin/Domain';
import PluginStore from 'Stores/Admin/Plugin';
import LicenseStore from 'Stores/Admin/License';
@ -217,8 +218,8 @@ class AdminApp extends AbstractApp
super.bootstart();
require('Stores/Admin/App').populate();
require('Stores/Admin/Capa').populate();
AppStore.populate();
CapaStore.populate();
hideLoading();

View file

@ -43,14 +43,16 @@ import * as Events from 'Common/Events';
import {getNotification, i18n} from 'Common/Translator';
import SocialStore from 'Stores/Social';
import AppStore from 'Stores/User/App';
import SettingsStore from 'Stores/User/Settings';
import NotificationStore from 'Stores/User/Notification';
import AccountStore from 'Stores/User/Account';
import ContactStore from 'Stores/User/Contact';
import IdentityStore from 'Stores/User/Identity';
import TemplateStore from 'Stores/User/Template';
import FolderStore from 'Stores/User/Folder';
import PgpStore from 'Stores/User/Pgp';
import MessageStore from 'Stores/User/Message';
import ContactStore from 'Stores/User/Contact';
import QuotaStore from 'Stores/User/Quota';
import * as Local from 'Storage/Client';
@ -1258,11 +1260,11 @@ class AppUser extends AbstractApp
super.bootstart();
require('Stores/User/App').populate();
require('Stores/User/Settings').populate();
require('Stores/User/Notification').populate();
require('Stores/User/Account').populate();
require('Stores/User/Contact').populate();
AppStore.populate();
SettingsStore.populate();
NotificationStore.populate();
AccountStore.populate();
ContactStore.populate();
let
contactsSyncInterval = pInt(Settings.settingsGet('ContactsSyncInterval'));

View file

@ -7,6 +7,8 @@ import {pString, inArray, isNonEmptyArray, fakeMd5, delegateRunOnDestroy, window
import {i18n} from 'Common/Translator';
import {getFolderFromCacheList} from 'Common/Cache';
import AccountStore from 'Stores/User/Account';
import {FilterConditionModel} from 'Model/FilterCondition';
import {AbstractModel} from 'Knoin/AbstractModel';
@ -214,7 +216,7 @@ class FilterModel extends AbstractModel
}
setRecipients() {
this.actionValueFourth(require('Stores/User/Account').accountsEmails().join(', '));
this.actionValueFourth(AccountStore.accountsEmails().join(', '));
}
parse(json) {

View file

@ -16,6 +16,9 @@ import {
import {$win} from 'Common/Globals';
import {messageViewLink, messageDownloadLink} from 'Common/Links';
import FolderStore from 'Stores/User/Folder';
import PgpStore from 'Stores/User/Pgp';
import {emailArrayFromJson, emailArrayToStringClear, emailArrayToString, replyHelper} from 'Helper/Message';
import {AttachmentModel, staticCombinedIconClass} from 'Model/Attachment';
@ -211,8 +214,8 @@ class MessageModel extends AbstractModel
computeSenderEmail() {
const
sentFolder = require('Stores/User/Folder').sentFolder(),
draftFolder = require('Stores/User/Folder').draftFolder();
sentFolder = FolderStore.sentFolder(),
draftFolder = FolderStore.draftFolder();
this.senderEmailsString(this.folderFullNameRaw === sentFolder || this.folderFullNameRaw === draftFolder ?
this.toEmailsString() : this.fromEmailString());
@ -307,7 +310,7 @@ class MessageModel extends AbstractModel
this.proxy = !!json.ExternalProxy;
if (require('Stores/User/Pgp').capaOpenPGP())
if (PgpStore.capaOpenPGP())
{
this.isPgpSigned(!!json.PgpSigned);
this.isPgpEncrypted(!!json.PgpEncrypted);

View file

@ -61,4 +61,4 @@ class UserAjaxUserPromises extends AbstractAjaxPromises
}
}
module.exports = new UserAjaxUserPromises();
export default new UserAjaxUserPromises();

View file

@ -12,6 +12,8 @@ import * as Local from 'Storage/Client';
import AppStore from 'Stores/User/App';
import FolderStore from 'Stores/User/Folder';
import Remote from 'Remote/User/Ajax';
import {FolderModel} from 'Model/Folder';
import {AbstractBasicPromises} from 'Promises/AbstractBasic';
@ -165,7 +167,7 @@ class PromisesUserPopulator extends AbstractBasicPromises
if (update)
{
require('Remote/User/Ajax').saveSystemFolders(noop, {
Remote.saveSystemFolders(noop, {
SentFolder: FolderStore.sentFolder(),
DraftFolder: FolderStore.draftFolder(),
SpamFolder: FolderStore.spamFolder(),
@ -180,4 +182,4 @@ class PromisesUserPopulator extends AbstractBasicPromises
}
}
module.exports = new PromisesUserPopulator();
export default new PromisesUserPopulator();

View file

@ -279,4 +279,4 @@ class RemoteAdminAjax extends AbstractAjaxRemote
}
}
module.exports = new RemoteAdminAjax();
export default new RemoteAdminAjax();

View file

@ -854,4 +854,4 @@ class RemoteUserAjax extends AbstractAjaxRemote
}
}
module.exports = new RemoteUserAjax();
export default new RemoteUserAjax();

View file

@ -14,6 +14,8 @@ import {phpInfo} from 'Common/Links';
import {settingsGet} from 'Storage/Settings';
import {showScreenPopup} from 'Knoin/Knoin';
import Remote from 'Remote/Admin/Ajax';
import ThemeStore from 'Stores/Theme';
import LanguageStore from 'Stores/Language';
import AppAdminStore from 'Stores/Admin/App';
@ -63,7 +65,6 @@ class GeneralAdminSettings
onBuild() {
_.delay(() => {
const
Remote = require('Remote/Admin/Ajax'),
f1 = settingsSaveHelperSimpleFunction(this.attachmentLimitTrigger, this),
f2 = settingsSaveHelperSimpleFunction(this.languageTrigger, this),
f3 = settingsSaveHelperSimpleFunction(this.themeTrigger, this),

View file

@ -7,6 +7,8 @@ import {settingsGet} from 'Storage/Settings';
import AppStore from 'Stores/Admin/App';
import Remote from 'Remote/Admin/Ajax';
class LoginAdminSettings
{
constructor() {
@ -21,9 +23,7 @@ class LoginAdminSettings
onBuild() {
_.delay(() => {
const
Remote = require('Remote/Admin/Ajax'),
f1 = settingsSaveHelperSimpleFunction(this.defaultDomain.trigger, this);
const f1 = settingsSaveHelperSimpleFunction(this.defaultDomain.trigger, this);
this.determineUserLanguage.subscribe((value) => {
Remote.saveAdminConfig(null, {

View file

@ -7,6 +7,8 @@ import {settingsSaveHelperSimpleFunction, trim, boolToAjax} from 'Common/Utils';
import SocialStore from 'Stores/Social';
import Remote from 'Remote/Admin/Ajax';
class SocialAdminSettings
{
constructor() {
@ -51,7 +53,6 @@ class SocialAdminSettings
onBuild() {
_.delay(() => {
const
Remote = require('Remote/Admin/Ajax'),
f1 = settingsSaveHelperSimpleFunction(this.facebookTrigger1, this),
f2 = settingsSaveHelperSimpleFunction(this.facebookTrigger2, this),
f3 = settingsSaveHelperSimpleFunction(this.twitterTrigger1, this),

View file

@ -26,4 +26,4 @@ class AppAdminStore extends AbstractAppStore
}
}
module.exports = new AppAdminStore();
export default new AppAdminStore();

View file

@ -36,4 +36,4 @@ class CapaAdminStore
}
}
module.exports = new CapaAdminStore();
export default new CapaAdminStore();

View file

@ -19,4 +19,4 @@ class CoreAdminStore
}
}
module.exports = new CoreAdminStore();
export default new CoreAdminStore();

View file

@ -10,4 +10,4 @@ class DomainAdminStore
}
}
module.exports = new DomainAdminStore();
export default new DomainAdminStore();

View file

@ -14,4 +14,4 @@ class LicenseAdminStore
}
}
module.exports = new LicenseAdminStore();
export default new LicenseAdminStore();

View file

@ -12,4 +12,4 @@ class PackageAdminStore
}
}
module.exports = new PackageAdminStore();
export default new PackageAdminStore();

View file

@ -10,4 +10,4 @@ class PluginAdminStore
}
}
module.exports = new PluginAdminStore();
export default new PluginAdminStore();

View file

@ -37,4 +37,4 @@ class LanguageStore
}
}
module.exports = new LanguageStore();
export default new LanguageStore();

View file

@ -100,4 +100,4 @@ class SocialStore
}
}
module.exports = new SocialStore();
export default new SocialStore();

View file

@ -23,4 +23,4 @@ class ThemeStore
}
}
module.exports = new ThemeStore();
export default new ThemeStore();

View file

@ -48,4 +48,4 @@ class AccountUserStore
}
}
module.exports = new AccountUserStore();
export default new AccountUserStore();

View file

@ -69,4 +69,4 @@ class AppUserStore extends AbstractAppStore
}
}
module.exports = new AppUserStore();
export default new AppUserStore();

View file

@ -30,4 +30,4 @@ class ContactUserStore
}
}
module.exports = new ContactUserStore();
export default new ContactUserStore();

View file

@ -17,4 +17,4 @@ class FilterUserStore
}
}
module.exports = new FilterUserStore();
export default new FilterUserStore();

View file

@ -7,6 +7,8 @@ import {UNUSED_OPTION_VALUE} from 'Common/Consts';
import {isArray, folderListOptionsBuilder} from 'Common/Utils';
import {getFolderInboxName, getFolderFromCacheList} from 'Common/Cache';
import {momentNowUnix} from 'Common/Momentor';
class FolderUserStore
{
constructor() {
@ -157,7 +159,7 @@ class FolderUserStore
const
result = [],
limit = 5,
utc = require('Common/Momentor').momentNowUnix(),
utc = momentNowUnix(),
timeout = utc - 60 * 5,
timeouts = [],
inboxFolderName = getFolderInboxName(),
@ -208,4 +210,4 @@ class FolderUserStore
}
}
module.exports = new FolderUserStore();
export default new FolderUserStore();

View file

@ -13,4 +13,4 @@ class IdentityUserStore
}
}
module.exports = new IdentityUserStore();
export default new IdentityUserStore();

View file

@ -35,6 +35,7 @@ import {MESSAGE_BODY_CACHE_LIMIT} from 'Common/Consts';
import {data as GlobalsData, $div} from 'Common/Globals';
import {mailBox, notificationMailIcon} from 'Common/Links';
import {i18n, getNotification} from 'Common/Translator';
import {momentNowUnix} from 'Common/Momentor';
import * as MessageHelper from 'Helper/Message';
import {MessageModel} from 'Model/Message';
@ -42,9 +43,11 @@ import {MessageModel} from 'Model/Message';
import {setHash} from 'Knoin/Knoin';
import AppStore from 'Stores/User/App';
import AccountStore from 'Stores/User/Account';
import FolderStore from 'Stores/User/Folder';
import PgpStore from 'Stores/User/Pgp';
import SettingsStore from 'Stores/User/Settings';
import NotificationStore from 'Stores/User/Notification';
import {getApp} from 'Helper/Apps/User';
@ -253,21 +256,18 @@ class MessageUserStore
{
if (isArray(newMessages) && 0 < newMessages.length)
{
const
len = newMessages.length,
NotificationStore = require('Stores/User/Notification');
_.each(newMessages, (item) => {
addNewMessageCache(folder, item.Uid);
});
NotificationStore.playSoundNotification();
const len = newMessages.length;
if (3 < len)
{
NotificationStore.displayDesktopNotification(
notificationMailIcon(),
require('Stores/User/Account').email(),
AccountStore.email(),
i18n('MESSAGE_LIST/NEW_MESSAGE_NOTIFICATION', {
'COUNT': len
}),
@ -551,7 +551,7 @@ class MessageUserStore
isHtml = false;
resultHtml = plainToHtml(data.Result.Plain.toString(), false);
if ((message.isPgpSigned() || message.isPgpEncrypted()) && require('Stores/User/Pgp').capaOpenPGP())
if ((message.isPgpSigned() || message.isPgpEncrypted()) && PgpStore.capaOpenPGP())
{
plain = pString(data.Result.Plain);
@ -780,7 +780,7 @@ class MessageUserStore
const
list = [],
utc = require('Common/Momentor').momentNowUnix(),
utc = momentNowUnix(),
iCount = pInt(data.Result.MessageResultCount),
iOffset = pInt(data.Result.Offset);
@ -876,4 +876,4 @@ class MessageUserStore
}
}
module.exports = new MessageUserStore();
export default new MessageUserStore();

View file

@ -204,4 +204,4 @@ class NotificationUserStore
}
}
module.exports = new NotificationUserStore();
export default new NotificationUserStore();

View file

@ -3,11 +3,13 @@ import ko from 'ko';
import _ from '_';
import $ from '$';
import {showScreenPopup} from 'Knoin/Knoin';
import {i18n} from 'Common/Translator';
import {log, isArray, isNonEmptyArray, pString, isUnd, trim} from 'Common/Utils';
import AccountStore from 'Stores/User/Account';
import {showScreenPopup} from 'Knoin/Knoin';
class PgpUserStore
{
constructor() {
@ -139,7 +141,7 @@ class PgpUserStore
* @returns {?}
*/
findSelfPrivateKey(password) {
return this.findPrivateKeyByEmail(require('Stores/User/Account').email(), password);
return this.findPrivateKeyByEmail(AccountStore.email(), password);
}
decryptMessage(message, recipients, fCallback) {
@ -400,4 +402,4 @@ class PgpUserStore
}
}
module.exports = new PgpUserStore();
export default new PgpUserStore();

View file

@ -31,4 +31,4 @@ class QuotaUserStore
}
}
module.exports = new QuotaUserStore();
export default new QuotaUserStore();

View file

@ -78,4 +78,4 @@ class SettingsUserStore
}
}
module.exports = new SettingsUserStore();
export default new SettingsUserStore();

View file

@ -2,7 +2,7 @@
import ko from 'ko';
import _ from '_';
// Remote = require('Remote/User/Ajax');
// import Remote from 'Remote/User/Ajax';
class TemplateUserStore
{
@ -35,4 +35,4 @@ class TemplateUserStore
}
}
module.exports = new TemplateUserStore();
export default new TemplateUserStore();