Synchronize localizations from Transifex

Update package.json dependencies
Fix eslint errors
webpack 2 -> webpack 3
This commit is contained in:
RainLoop Team 2017-06-24 22:26:27 +03:00
parent 36dbe0defd
commit 8da988fef2
34 changed files with 888 additions and 757 deletions

1
.cmds
View file

@ -8,7 +8,6 @@ tx pull -a
# dependencies checker (checking only)
yarn outdated
npm-check --skip-unused --save-exact
# webpack
webpack --color --watch

View file

@ -1,9 +1,6 @@
module.exports = {
'extends': 'eslint:recommended',
'ecmaFeatures': {
'modules': true
},
"parser": "babel-eslint",
'parserOptions': {
'ecmaVersion': 6,
@ -173,13 +170,9 @@ module.exports = {
'id-blacklist': [2, 'x'],
'id-length': [2, {'min': 1, 'max': 50}],
'id-match': 2,
'indent': [2, 'tab', {
'indent': ['error', 'tab', {
'SwitchCase': 1,
'VariableDeclarator': {
'var': 1,
'let': 1,
'const': 1
}
'VariableDeclarator': 1
}],
'jsx-quotes': 2,
'key-spacing': 2,

View file

@ -1 +1 @@
Rename this file to "MULTIPLY" to enable multiple domain installation
Name this file as "MULTIPLY" to enable multiple domain installation.

View file

@ -1,21 +1,21 @@
<?php
// Rename this file to "include.php" to enable it.
/**
* @return string
*/
function __get_custom_data_full_path()
{
return '';
return '/var/external-rainloop-data-folder/'; // custom data folder path
}
/**
* @return string
*/
function __get_additional_configuration_name()
{
return '';
return defined('APP_SITE') && 0 < strlen(APP_SITE) ? APP_SITE.'.ini' : ''; // additional configuration file name
}
<?php
// Name this file as "include.php" to enable it.
/**
* @return string
*/
function __get_custom_data_full_path()
{
return '';
return '/var/external-rainloop-data-folder/'; // custom data folder path
}
/**
* @return string
*/
function __get_additional_configuration_name()
{
return '';
return defined('APP_SITE') && 0 < strlen(APP_SITE) ? APP_SITE.'.ini' : ''; // additional configuration file name
}

View file

@ -91,15 +91,15 @@ class AbstractApp extends AbstractBoot
}
}, Magics.Time50ms));
// DEBUG
// Events.sub({
// 'window.resize': function() {
// window.console.log('window.resize');
// },
// 'window.resize.real': function() {
// window.console.log('window.resize.real');
// }
// });
// DEBUG
// Events.sub({
// 'window.resize': function() {
// window.console.log('window.resize');
// },
// 'window.resize.real': function() {
// window.console.log('window.resize.real');
// }
// });
$doc.on('keydown', (event) => {
if (event && event.ctrlKey)
@ -172,7 +172,7 @@ class AbstractApp extends AbstractBoot
else
{
this.iframe.attr('src', link);
// window.document.location.href = link;
// window.document.location.href = link;
}
return true;
@ -313,7 +313,7 @@ class AbstractApp extends AbstractBoot
ko.components.register('Date', require('Component/Date').default);
ko.components.register('x-script', require('Component/Script').default);
// ko.components.register('svg-icon', require('Component/SvgIcon').default);
// ko.components.register('svg-icon', require('Component/SvgIcon').default);
if (Settings.appSettingsGet('materialDesign') && bAnimationSupported)
{
@ -322,8 +322,8 @@ class AbstractApp extends AbstractBoot
}
else
{
// ko.components.register('Checkbox', require('Component/Classic/Checkbox').default);
// ko.components.register('CheckboxSimple', require('Component/Classic/Checkbox').default);
// ko.components.register('Checkbox', require('Component/Classic/Checkbox').default);
// ko.components.register('CheckboxSimple', require('Component/Classic/Checkbox').default);
ko.components.register('Checkbox', require('Component/Checkbox').default);
ko.components.register('CheckboxSimple', require('Component/Checkbox').default);
}

View file

@ -192,31 +192,37 @@ class AppUser extends AbstractApp
}
MessageStore.messageListLoading(true);
Remote.messageList((sResult, oData, bCached) => {
Remote.messageList(
(sResult, oData, bCached) => {
if (StorageResultType.Success === sResult && oData && oData.Result)
{
MessageStore.messageListError('');
MessageStore.messageListLoading(false);
if (StorageResultType.Success === sResult && oData && oData.Result)
{
MessageStore.messageListError('');
MessageStore.messageListLoading(false);
MessageStore.setMessageList(oData, bCached);
}
else if (StorageResultType.Unload === sResult)
{
MessageStore.messageListError('');
MessageStore.messageListLoading(false);
}
else if (StorageResultType.Abort !== sResult)
{
MessageStore.messageList([]);
MessageStore.messageListLoading(false);
MessageStore.messageListError(oData && oData.ErrorCode ?
getNotification(oData.ErrorCode) : i18n('NOTIFICATIONS/CANT_GET_MESSAGE_LIST')
);
}
MessageStore.setMessageList(oData, bCached);
}
else if (StorageResultType.Unload === sResult)
{
MessageStore.messageListError('');
MessageStore.messageListLoading(false);
}
else if (StorageResultType.Abort !== sResult)
{
MessageStore.messageList([]);
MessageStore.messageListLoading(false);
MessageStore.messageListError(oData && oData.ErrorCode ?
getNotification(oData.ErrorCode) : i18n('NOTIFICATIONS/CANT_GET_MESSAGE_LIST')
);
}
}, FolderStore.currentFolderFullNameRaw(), iOffset, SettingsStore.messagesPerPage(),
MessageStore.messageListSearch(), MessageStore.messageListThreadUid());
},
FolderStore.currentFolderFullNameRaw(),
iOffset,
SettingsStore.messagesPerPage(),
MessageStore.messageListSearch(),
MessageStore.messageListThreadUid()
);
}
recacheInboxMessageList() {
@ -524,32 +530,32 @@ class AppUser extends AbstractApp
accountsCounts() {
return false;
// AccountStore.accounts.loading(true);
//
// Remote.accountsCounts((sResult, oData) => {
//
// AccountStore.accounts.loading(false);
//
// if (StorageResultType.Success === sResult && oData.Result && oData.Result['Counts'])
// {
// var
// sEmail = AccountStore.email(),
// aAcounts = AccountStore.accounts()
// ;
//
// _.each(oData.Result['Counts'], (oItem) => {
//
// var oAccount = _.find(aAcounts, (oAccount) => {
// return oAccount && oItem[0] === oAccount.email && sEmail !== oAccount.email;
// });
//
// if (oAccount)
// {
// oAccount.count(pInt(oItem[1]));
// }
// });
// }
// });
// AccountStore.accounts.loading(true);
//
// Remote.accountsCounts((sResult, oData) => {
//
// AccountStore.accounts.loading(false);
//
// if (StorageResultType.Success === sResult && oData.Result && oData.Result['Counts'])
// {
// var
// sEmail = AccountStore.email(),
// aAcounts = AccountStore.accounts()
// ;
//
// _.each(oData.Result['Counts'], (oItem) => {
//
// var oAccount = _.find(aAcounts, (oAccount) => {
// return oAccount && oItem[0] === oAccount.email && sEmail !== oAccount.email;
// });
//
// if (oAccount)
// {
// oAccount.count(pInt(oItem[1]));
// }
// });
// }
// });
}
accountsAndIdentities(bBoot) {
@ -1299,7 +1305,7 @@ class AppUser extends AbstractApp
{
this.setWindowTitle(i18n('TITLES/LOADING'));
// require.ensure([], function() { // require code splitting
// require.ensure([], function() { // require code splitting
this.foldersReload((value) => {
@ -1362,7 +1368,7 @@ class AppUser extends AbstractApp
startScreens([
MailBoxUserScreen,
Settings.capa(Capa.Settings) ? SettingsUserScreen : null
// false ? AboutUserScreen : null
// false ? AboutUserScreen : null
]);
if (allowGoogle || allowFacebook || allowTwitter)
@ -1444,8 +1450,7 @@ class AppUser extends AbstractApp
}
});
// }); // require code splitting
// }); // require code splitting
}
}
else

View file

@ -1,7 +1,6 @@
import window from 'window';
import progressJs from 'progressJs';
import Promise from 'Promise';
import {jassl} from 'Common/Jassl';
import {getHash, setHash, clearHash} from 'Storage/RainLoop';
@ -226,28 +225,30 @@ function runApp()
p.setOptions({theme: 'rainloop'});
p.start().set(5);
const
libs = jassl(appData.StaticLibJsLink).then(() => {
if (window.$)
const libs = jassl(appData.StaticLibJsLink).then(() => {
if (window.$)
{
window.$('#rl-check').remove();
if (appData.IncludeBackground)
{
window.$('#rl-check').remove();
if (appData.IncludeBackground)
{
window.$('#rl-bg').attr('style', 'background-image: none !important;')
.backstretch(appData.IncludeBackground.replace('{{USER}}',
(window.__rlah ? (window.__rlah() || '0') : '0')), {fade: 100, centeredX: true, centeredY: true})
.removeAttr('style');
}
window.$('#rl-bg')
.attr('style', 'background-image: none !important;')
.backstretch(
appData.IncludeBackground.replace('{{USER}}', (window.__rlah ? (window.__rlah() || '0') : '0')),
{fade: 100, centeredX: true, centeredY: true}
)
.removeAttr('style');
}
}),
common = Promise.all([
// jassl('https://code.jquery.com/jquery-migrate-3.0.0.js'),
jassl(appData.TemplatesLink),
jassl(appData.LangLink)
]);
}
});
Promise.all([libs, common])
const common = window.Promise.all([
jassl(appData.TemplatesLink),
jassl(appData.LangLink)
]);
window.Promise.all([libs, common])
.then(() => {
p.set(30);
return jassl(useJsNextBundle ? appData.StaticAppJsNextLink : appData.StaticAppJsLink);

View file

@ -1,6 +1,5 @@
import window from 'window';
import Promise from 'Promise';
// let rainloopCaches = window.caches && window.caches.open ? window.caches : null;
@ -11,7 +10,7 @@ import Promise from 'Promise';
*/
export function jassl(src, async = false) {
if (!Promise || !Promise.all)
if (!window.Promise || !window.Promise.all)
{
throw new Error('Promises are not available your environment.');
}
@ -21,7 +20,7 @@ export function jassl(src, async = false) {
throw new Error('src should not be empty.');
}
return new Promise((resolve, reject) => {
return new window.Promise((resolve, reject) => {
const element = window.document.createElement('script');

View file

@ -8,7 +8,6 @@ import {pInt, isUnd, isNull, has, microtime, inArray} from 'Common/Utils';
import {$html, bAnimationSupported} from 'Common/Globals';
import {reload as momentorReload} from 'Common/Momentor';
import {langLink} from 'Common/Links';
import Promise from 'Promise';
let I18N_DATA = window.rainloopI18N || {};
@ -304,7 +303,7 @@ export function reload(admin, language)
$html.addClass('rl-changing-language');
return new Promise((resolve, reject) => {
return new window.Promise((resolve, reject) => {
$.ajax({
url: langLink(language, admin),
dataType: 'script',
@ -319,7 +318,7 @@ export function reload(admin, language)
$html
.removeClass('rl-changing-language')
.removeClass('rl-rtl rl-ltr')
// .attr('dir', isRtl ? 'rtl' : 'ltr')
// .attr('dir', isRtl ? 'rtl' : 'ltr')
.addClass(isRtl ? 'rl-rtl' : 'rl-ltr');
resolve();

View file

@ -763,27 +763,29 @@ export function htmlToPlain(html)
text = '';
const
convertBlockquote = (blockquoteText) => {
blockquoteText = '> ' + trim(blockquoteText).replace(/\n/gm, '\n> ');
return blockquoteText.replace(/(^|\n)([> ]+)/gm,
(...args) => (args && 2 < args.length ? args[1] + trim(args[2].replace(/[\s]/g, '')) + ' ' : ''));
},
convertDivs = (...args) => {
if (args && 1 < args.length)
{
let divText = trim(args[1]);
if (0 < divText.length)
{
divText = divText.replace(/<div[^>]*>([\s\S\r\n]*)<\/div>/gmi, convertDivs);
divText = '\n' + trim(divText) + '\n';
}
const convertBlockquote = (blockquoteText) => {
blockquoteText = '> ' + trim(blockquoteText).replace(/\n/gm, '\n> ');
return blockquoteText.replace(/(^|\n)([> ]+)/gm,
(...args) => (args && 2 < args.length ? args[1] + trim(args[2].replace(/[\s]/g, '')) + ' ' : ''));
};
return divText;
const convertDivs = (...args) => {
if (args && 1 < args.length)
{
let divText = trim(args[1]);
if (0 < divText.length)
{
divText = divText.replace(/<div[^>]*>([\s\S\r\n]*)<\/div>/gmi, convertDivs);
divText = '\n' + trim(divText) + '\n';
}
return '';
},
return divText;
}
return '';
};
const
convertPre = (...args) => (args && 1 < args.length ? args[1].toString().replace(/[\n]/gm, '<br />').replace(/[\r]/gm, '') : ''),
fixAttibuteValue = (...args) => (args && 1 < args.length ? '' + args[1] + _.escape(args[2]) : ''),
convertLinks = (...args) => (args && 1 < args.length ? trim(args[1]) : '');
@ -935,7 +937,7 @@ export function plainToHtml(plain, findEmailAndLinksInText = false)
plain = aText.join('\n');
plain = plain
// .replace(/~~~\/blockquote~~~\n~~~blockquote~~~/g, '\n')
// .replace(/~~~\/blockquote~~~\n~~~blockquote~~~/g, '\n')
.replace(/&/g, '&amp;')
.replace(/>/g, '&gt;').replace(/</g, '&lt;')
.replace(/~~~blockquote~~~[\s]*/g, '<blockquote>')
@ -1037,7 +1039,7 @@ export function folderListOptionsBuilder(aSystem, aList, aDisabled, aHeaderLines
for (iIndex = 0, iLen = aList.length; iIndex < iLen; iIndex++)
{
oItem = aList[iIndex];
// if (oItem.subScribed() || !oItem.existen || bBuildUnvisible)
// if (oItem.subScribed() || !oItem.existen || bBuildUnvisible)
if ((oItem.subScribed() || !oItem.existen || bBuildUnvisible) && (oItem.selectable || oItem.hasSubScribedSubfolders()))
{
if (fVisibleCallback ? fVisibleCallback(oItem) : true)

View file

@ -23,9 +23,11 @@ class ScriptComponent extends AbstractComponent
{
params.element.text('');
params.element.replaceWith(
$(script).text(params.component.templateNodes[0] &&
params.component.templateNodes[0].nodeValue ?
params.component.templateNodes[0].nodeValue : ''));
$(script).text(
params.component.templateNodes[0] && params.component.templateNodes[0].nodeValue ?
params.component.templateNodes[0].nodeValue : ''
)
);
}
else
{

20
dev/External/ko.js vendored
View file

@ -73,8 +73,8 @@ ko.bindingHandlers.editor = {
fValue.subscribe(fUpdateEditorValue);
// ko.utils.domNodeDisposal.addDisposeCallback(element, () => {
// });
// ko.utils.domNodeDisposal.addDisposeCallback(element, () => {
// });
}
}
};
@ -318,8 +318,8 @@ ko.bindingHandlers.registrateBootstrapDropdown = {
require('Common/Utils').detectDropdownVisibility();
});
// ko.utils.domNodeDisposal.addDisposeCallback(element, () => {
// });
// ko.utils.domNodeDisposal.addDisposeCallback(element, () => {
// });
}
}
};
@ -897,12 +897,12 @@ ko.bindingHandlers.emailsTags = {
focusCallback: fFocusCallback,
inputDelimiters: [',', ';', '\n'],
autoCompleteSource: fAutoCompleteSource,
// elementHook: (el, item) => {
// if (el && item)
// {
// el.addClass('pgp');
// }
// },
// elementHook: (el, item) => {
// if (el && item)
// {
// el.addClass('pgp');
// }
// },
parseHook: (input) => _.map(input, (inputValue) => {
const value = Utils.trim(inputValue);
if ('' !== value)

View file

@ -63,21 +63,15 @@ export const staticFileType = _.memoize((ext, mimeType) => {
break;
case -1 < inArray(mimeTypeParts[1], [
'zip', '7z', 'tar', 'rar', 'gzip', 'bzip', 'bzip2', 'x-zip', 'x-7z', 'x-rar', 'x-tar', 'x-gzip', 'x-bzip', 'x-bzip2', 'x-zip-compressed', 'x-7z-compressed', 'x-rar-compressed'
]) || -1 < inArray(ext, [
'zip', '7z', 'tar', 'rar', 'gzip', 'bzip', 'bzip2'
]):
]) || -1 < inArray(ext, ['zip', '7z', 'tar', 'rar', 'gzip', 'bzip', 'bzip2']):
result = FileType.Archive;
break;
case -1 < inArray(mimeTypeParts[1], ['pdf', 'x-pdf']) || -1 < inArray(ext, [
'pdf'
]):
case -1 < inArray(mimeTypeParts[1], ['pdf', 'x-pdf']) || -1 < inArray(ext, ['pdf']):
result = FileType.Pdf;
break;
case -1 < inArray(mimeType, [
'application/pgp-signature', 'application/pgp-keys'
]) || -1 < inArray(ext, [
'asc', 'pem', 'ppk'
]):
]) || -1 < inArray(ext, ['asc', 'pem', 'ppk']):
result = FileType.Certificate;
break;
case -1 < inArray(mimeType, ['application/pkcs7-signature']) ||

View file

@ -223,35 +223,34 @@ class EmailModel
return false;
}
const
substr = (str, start, len) => {
str = pString(str);
let end = str.length;
const substr = (str, start, len) => {
str = pString(str);
let end = str.length;
if (0 > start)
{
start += end;
}
if (0 > start)
{
start += end;
}
end = 'undefined' === typeof len ? end : (0 > len ? len + end : len + start);
end = 'undefined' === typeof len ? end : (0 > len ? len + end : len + start);
return start >= str.length || 0 > start || start > end ? false : str.slice(start, end);
},
return start >= str.length || 0 > start || start > end ? false : str.slice(start, end);
};
substrReplace = (str, replace, start, length) => {
str = pString(str);
if (0 > start)
{
start += str.length;
}
const substrReplace = (str, replace, start, length) => {
str = pString(str);
if (0 > start)
{
start += str.length;
}
length = 'undefined' !== typeof length ? length : str.length;
if (0 > length)
{
length = length + str.length - start;
}
return str.slice(0, start) + replace.substr(0, length) + replace.slice(length) + str.slice(start + length);
};
length = 'undefined' !== typeof length ? length : str.length;
if (0 > length)
{
length = length + str.length - start;
}
return str.slice(0, start) + replace.substr(0, length) + replace.slice(length) + str.slice(start + length);
};
let
$sName = '',

View file

@ -1,6 +1,6 @@
import window from 'window';
import $ from '$';
import Promise from 'Promise';
import {ajax} from 'Common/Links';
import {microtime, isUnd, isNormal, pString, pInt, inArray} from 'Common/Utils';
@ -44,7 +44,7 @@ class AbstractAjaxPromises extends AbstractBasicPromises
ajaxRequest(action, isPost, timeOut, params, additionalGetString, fTrigger) {
return new Promise((resolve, reject) => {
return new window.Promise((resolve, reject) => {
const start = microtime();

View file

@ -1,5 +1,5 @@
import Promise from 'Promise';
import window from 'window';
import {isArray} from 'Common/Utils';
export class AbstractBasicPromises
@ -12,11 +12,11 @@ export class AbstractBasicPromises
}
fastResolve(mData) {
return Promise.resolve(mData);
return window.Promise.resolve(mData);
}
fastReject(mData) {
return Promise.reject(mData);
return window.Promise.reject(mData);
}
setTrigger(trigger, value) {

View file

@ -337,8 +337,7 @@ class RemoteUserAjax extends AbstractAjaxRemote
UidNext: inboxUidNext,
UseThreads: useThreads ? '1' : '0',
ThreadUid: useThreads ? sThreadUid : ''
}, '' === sSearch ? DEFAULT_AJAX_TIMEOUT : SEARCH_AJAX_TIMEOUT,
'', bSilent ? [] : ['MessageList']);
}, '' === sSearch ? DEFAULT_AJAX_TIMEOUT : SEARCH_AJAX_TIMEOUT, '', bSilent ? [] : ['MessageList']);
}
/**

View file

@ -167,9 +167,10 @@ class AbstractSettingsScreen extends AbstractScreen
routes() {
const
DefaultViewModel = _.find(VIEW_MODELS.settings,
(SettingsViewModel) => SettingsViewModel && SettingsViewModel.__rlSettingsData && SettingsViewModel.__rlSettingsData.IsDefault
),
DefaultViewModel = _.find(
VIEW_MODELS.settings,
(SettingsViewModel) => SettingsViewModel && SettingsViewModel.__rlSettingsData && SettingsViewModel.__rlSettingsData.IsDefault
),
defaultRoute = DefaultViewModel && DefaultViewModel.__rlSettingsData ? DefaultViewModel.__rlSettingsData.Route : 'general',
rules = {
subname: /^(.*)$/,

View file

@ -23,16 +23,16 @@ class AccountUserStore
() => _.compact(_.map(this.accounts(), (item) => (item ? item.email : null))));
this.accountsUnreadCount = ko.computed(() => 0);
// this.accountsUnreadCount = ko.computed(() => {
// let result = 0;
// _.each(this.accounts(), (item) => {
// if (item)
// {
// result += item.count();
// }
// });
// return result;
// });
// this.accountsUnreadCount = ko.computed(() => {
// let result = 0;
// _.each(this.accounts(), (item) => {
// if (item)
// {
// result += item.count();
// }
// });
// return result;
// });
}
populate() {

View file

@ -129,7 +129,8 @@ class FolderUserStore
{
folder.type(FolderType.User);
}
},
};
const
fSetSystemFolderType = (type) => (value) => {
const folder = getFolderFromCacheList(value);
if (folder)

View file

@ -22,16 +22,16 @@ class TemplateUserStore
this.templatesNames(_.compact(_.map(list, (item) => (item ? item.name : null))));
});
// this.templatesNames.subscribe((aList) => {
// if (this.templatesNames.skipFirst)
// {
// this.templatesNames.skipFirst = false;
// }
// else if (aList && 1 < aList.length)
// {
// Remote.templatesSortOrder(null, aList);
// }
// });
// this.templatesNames.subscribe((aList) => {
// if (this.templatesNames.skipFirst)
// {
// this.templatesNames.skipFirst = false;
// }
// else if (aList && 1 < aList.length)
// {
// Remote.templatesSortOrder(null, aList);
// }
// });
}
}

View file

@ -776,14 +776,14 @@ class ComposePopupView extends AbstractViewNext
{
if (!this.oEditor && this.composeEditorArea())
{
// _.delay(() => {
// _.delay(() => {
this.oEditor = new HtmlEditor(this.composeEditorArea(), null, () => {
fOnInit(this.oEditor);
this.resizerTrigger();
}, (bHtml) => {
this.isHtml(!!bHtml);
});
// }, 1000);
// }, 1000);
}
else if (this.oEditor)
{
@ -996,9 +996,8 @@ class ComposePopupView extends AbstractViewNext
oMessageOrArray = oMessageOrArray || null;
if (oMessageOrArray && isNormal(oMessageOrArray))
{
message = isArray(oMessageOrArray) &&
1 === oMessageOrArray.length ? oMessageOrArray[0] :
(!isArray(oMessageOrArray) ? oMessageOrArray : null);
message = isArray(oMessageOrArray) && 1 === oMessageOrArray.length ? oMessageOrArray[0] :
(!isArray(oMessageOrArray) ? oMessageOrArray : null);
}
this.oLastMessage = message;

View file

@ -216,7 +216,7 @@ class ContactsPopupView extends AbstractViewNext
this.viewHash = ko.computed(() => '' + _.map(this.viewProperties(), (oItem) => oItem.value()).join(''));
// this.saveCommandDebounce = _.debounce(_.bind(this.saveCommand, this), 1000);
// this.saveCommandDebounce = _.debounce(_.bind(this.saveCommand, this), 1000);
this.viewHash.subscribe(() => {
if (this.watchHash() && !this.viewReadOnly() && !this.watchDirty())

View file

@ -84,8 +84,8 @@ class FilterPopupView extends AbstractViewNext
populateOptions() {
this.actionTypeOptions([]);
// this.actionTypeOptions.push({'id': FiltersAction.None,
// 'name': i18n('POPUPS_FILTER/SELECT_ACTION_NONE')});
// this.actionTypeOptions.push({'id': FiltersAction.None,
// 'name': i18n('POPUPS_FILTER/SELECT_ACTION_NONE')});
const modules = this.modules();
if (modules)

View file

@ -48,23 +48,26 @@ class FolderSystemPopupView extends AbstractViewNext
const
fSetSystemFolders = () => {
Settings.settingsSet('SentFolder', FolderStore.sentFolder());
Settings.settingsSet('DraftFolder', FolderStore.draftFolder());
Settings.settingsSet('SpamFolder', FolderStore.spamFolder());
Settings.settingsSet('TrashFolder', FolderStore.trashFolder());
Settings.settingsSet('ArchiveFolder', FolderStore.archiveFolder());
},
fSaveSystemFolders = _.debounce(() => {
fSetSystemFolders();
Remote.saveSystemFolders(noop, {
SentFolder: FolderStore.sentFolder(),
DraftFolder: FolderStore.draftFolder(),
SpamFolder: FolderStore.spamFolder(),
TrashFolder: FolderStore.trashFolder(),
ArchiveFolder: FolderStore.archiveFolder(),
NullFolder: 'NullFolder'
});
}, Magics.Time1s),
Settings.settingsSet('SentFolder', FolderStore.sentFolder());
Settings.settingsSet('DraftFolder', FolderStore.draftFolder());
Settings.settingsSet('SpamFolder', FolderStore.spamFolder());
Settings.settingsSet('TrashFolder', FolderStore.trashFolder());
Settings.settingsSet('ArchiveFolder', FolderStore.archiveFolder());
},
fSaveSystemFolders = _.debounce(
() => {
fSetSystemFolders();
Remote.saveSystemFolders(noop, {
SentFolder: FolderStore.sentFolder(),
DraftFolder: FolderStore.draftFolder(),
SpamFolder: FolderStore.spamFolder(),
TrashFolder: FolderStore.trashFolder(),
ArchiveFolder: FolderStore.archiveFolder(),
NullFolder: 'NullFolder'
});
},
Magics.Time1s
),
fCallback = () => {
fSetSystemFolders();
fSaveSystemFolders();

View file

@ -264,63 +264,68 @@ class LoginUserView extends AbstractViewNext
const
fLoginRequest = (sLoginPassword) => {
Remote.login((sResult, oData) => {
Remote.login(
(sResult, oData) => {
$win.trigger('rl.tooltips.diactivate');
$win.trigger('rl.tooltips.activate');
$win.trigger('rl.tooltips.diactivate');
$win.trigger('rl.tooltips.activate');
if (StorageResultType.Success === sResult && oData && 'Login' === oData.Action)
{
if (oData.Result)
if (StorageResultType.Success === sResult && oData && 'Login' === oData.Action)
{
if (oData.TwoFactorAuth)
if (oData.Result)
{
this.additionalCode('');
this.additionalCode.visibility(true);
this.submitRequest(false);
if (oData.TwoFactorAuth)
{
this.additionalCode('');
this.additionalCode.visibility(true);
this.submitRequest(false);
_.delay(() => this.additionalCode.focused(true), Magics.Time100ms);
_.delay(() => this.additionalCode.focused(true), Magics.Time100ms);
}
else if (oData.Admin)
{
getApp().redirectToAdminPanel();
}
else
{
getApp().loginAndLogoutReload(false);
}
}
else if (oData.Admin)
else if (oData.ErrorCode)
{
getApp().redirectToAdminPanel();
this.submitRequest(false);
if (-1 < inArray(oData.ErrorCode, [Notification.InvalidInputArgument]))
{
oData.ErrorCode = Notification.AuthError;
}
this.submitError(getNotificationFromResponse(oData));
if ('' === this.submitError())
{
this.submitError(getNotification(Notification.UnknownError));
}
else if (oData.ErrorMessageAdditional)
{
this.submitErrorAddidional(oData.ErrorMessageAdditional);
}
}
else
{
getApp().loginAndLogoutReload(false);
}
}
else if (oData.ErrorCode)
{
this.submitRequest(false);
if (-1 < inArray(oData.ErrorCode, [Notification.InvalidInputArgument]))
{
oData.ErrorCode = Notification.AuthError;
}
this.submitError(getNotificationFromResponse(oData));
if ('' === this.submitError())
{
this.submitError(getNotification(Notification.UnknownError));
}
else if (oData.ErrorMessageAdditional)
{
this.submitErrorAddidional(oData.ErrorMessageAdditional);
this.submitRequest(false);
}
}
else
{
this.submitRequest(false);
this.submitError(getNotification(Notification.UnknownError));
}
}
else
{
this.submitRequest(false);
this.submitError(getNotification(Notification.UnknownError));
}
}, this.email(), '', sLoginPassword, !!this.signMe(),
},
this.email(),
'',
sLoginPassword,
!!this.signMe(),
this.bSendLanguage ? this.language() : '',
this.additionalCode.visibility() ? this.additionalCode() : '',
this.additionalCode.visibility() ? !!this.additionalCodeSignMe() : false

View file

@ -68,20 +68,27 @@ class MessageViewMailBoxUserView extends AbstractViewNext
let lastEmail = '';
const
createCommandReplyHelper = (type) => createCommand(() => {
this.lastReplyAction(type);
this.replyOrforward(type);
}, this.canBeRepliedOrForwarded),
createCommandReplyHelper = (type) => createCommand(
() => {
this.lastReplyAction(type);
this.replyOrforward(type);
},
this.canBeRepliedOrForwarded
);
createCommandActionHelper = (folderType, useFolder) => createCommand(() => {
const message = this.message();
if (message && this.allowMessageListActions)
{
this.message(null);
getApp().deleteMessagesFromFolder(
folderType, message.folderFullNameRaw, [message.uid], useFolder);
}
}, this.messageVisibility);
const
createCommandActionHelper = (folderType, useFolder) => createCommand(
() => {
const message = this.message();
if (message && this.allowMessageListActions)
{
this.message(null);
getApp().deleteMessagesFromFolder(
folderType, message.folderFullNameRaw, [message.uid], useFolder);
}
},
this.messageVisibility
);
this.oDom = null;
this.oHeaderDom = null;
@ -431,9 +438,9 @@ class MessageViewMailBoxUserView extends AbstractViewNext
const
fFindDom = function(inputDom) {
const children = inputDom ? inputDom.children() : null;
return (children && 1 === children.length && children.is('table,div,center')) ? children : null;
},
const children = inputDom ? inputDom.children() : null;
return (children && 1 === children.length && children.is('table,div,center')) ? children : null;
},
fFindColor = function(inputDom) {
let color = '';
if (inputDom)

View file

@ -53,6 +53,7 @@ var
filter = require('gulp-filter'),
expect = require('gulp-expect-file'),
chmod = require('gulp-chmod'),
size = require('gulp-size'),
gutil = require('gulp-util');
cfg.community = !argv.pro;
@ -385,6 +386,10 @@ gulp.task('js:admin', ['js:webpack'], function() {
gulp.task('js:min', ['js:app', 'js:admin'], function() {
return gulp.src(cfg.paths.staticJS + '*.js')
.pipe(replace(/"rainloop\/v\/([^\/]+)\/static\/js\/"/g, '"rainloop/v/$1/static/js/min/"'))
.pipe(size({
showFiles: true,
showTotal: false
}))
.pipe(rename({suffix: '.min'}))
.pipe(uglify({
mangle: true,
@ -392,6 +397,10 @@ gulp.task('js:min', ['js:app', 'js:admin'], function() {
ie8: false
}))
.pipe(eol('\n', true))
.pipe(size({
showFiles: true,
showTotal: false
}))
.pipe(gulp.dest(cfg.paths.staticMinJS))
.on('error', gutil.log);
});

View file

@ -54,38 +54,39 @@
"devDependencies": {
"Progress.js": "github:usablica/progress.js#v0.1.0",
"autolinker": "1.4.3",
"babel-core": "6.24.1",
"babel-core": "6.25.0",
"babel-eslint": "7.2.3",
"babel-loader": "7.0.0",
"babel-loader": "7.1.0",
"babel-plugin-transform-decorators-legacy": "1.3.4",
"babel-plugin-transform-runtime": "6.23.0",
"babel-preset-env": "1.5.1",
"babel-preset-env": "1.5.2",
"babel-preset-stage-0": "6.24.1",
"babel-runtime": "6.23.0",
"classnames": "2.2.5",
"copy-webpack-plugin": "4.0.1",
"es6-promise-polyfill": "1.2.0",
"eslint": "3.19.0",
"eslint-plugin-compat": "1.0.2",
"eslint": "4.1.0",
"eslint-plugin-compat": "1.0.4",
"gulp": "3.9.1",
"gulp-autoprefixer": "4.0.0",
"gulp-cached": "1.1.1",
"gulp-chmod": "2.0.0",
"gulp-clean-css": "3.3.1",
"gulp-clean-css": "3.4.2",
"gulp-concat-util": "0.5.5",
"gulp-eol": "0.1.2",
"gulp-eslint": "3.0.1",
"gulp-eslint": "4.0.0",
"gulp-expect-file": "0.0.7",
"gulp-filter": "5.0.0",
"gulp-header": "1.8.8",
"gulp-if": "2.0.2",
"gulp-less": "3.3.0",
"gulp-less": "3.3.2",
"gulp-livereload": "3.8.1",
"gulp-notify": "3.0.0",
"gulp-plumber": "1.1.0",
"gulp-rename": "1.2.2",
"gulp-replace": "0.5.4",
"gulp-replace": "0.6.1",
"gulp-rimraf": "0.2.1",
"gulp-size": "2.1.0",
"gulp-stripbom": "1.0.4",
"gulp-through": "0.4.0",
"gulp-uglify": "3.0.0",
@ -111,15 +112,15 @@
"normalize.css": "7.0.0",
"openpgp": "2.5.4",
"opentip": "2.4.3",
"pikaday": "1.5.1",
"pikaday": "1.6.1",
"raw-loader": "0.5.1",
"rifraf": "2.0.3",
"rimraf": "2.6.1",
"run-sequence": "1.2.2",
"simplestatemanager": "3.4.0",
"style-loader": "0.18.0",
"style-loader": "0.18.2",
"underscore": "1.8.3",
"webpack": "2.5.1",
"webpack": "3.0.0",
"webpack-notifier": "1.5.0"
}
}

View file

@ -26,6 +26,7 @@ sl_SI:
LABEL_ALLOW_LANGUAGES_ON_SETTINGS: "Dovoli izbor jezika v nastavitvah"
LABEL_ALLOW_THEMES_ON_SETTINGS: "Dovoli izbor teme v nastavitvah"
LABEL_ALLOW_BACKGROUND_ON_SETTINGS: "Dovoli izbor ozadja v nastavitvah"
LABEL_NEW_FOLDER_MOVE: "Novi gumb \"Premakni v mapo\""
LABEL_SHOW_THUMBNAILS: "Pokaži predoglede (priloge)"
LABEL_ALLOW_GRAVATAR: "Dovoli Gravatar"
LEGEND_MAIN: "Glavno"

View file

@ -4,14 +4,14 @@ da_DK:
LABEL_LOGIN: "Brugernavn"
LABEL_PASSWORD: "Adgangskode"
LABEL_SIGN_ME: "Husk mig"
LABEL_VERIFICATION_CODE: "Verifcserings kode"
LABEL_VERIFICATION_CODE: "Verifikationskode"
LABEL_DONT_ASK_VERIFICATION_CODE: "Husk kode i 2 uger"
BUTTON_SIGN_IN: "Log ind"
TITLE_SIGN_IN_GOOGLE: "Log ind med Google"
TITLE_SIGN_IN_FACEBOOK: "Log ind med Facenbook"
TITLE_SIGN_IN_FACEBOOK: "Log ind med Facebook"
TITLE_SIGN_IN_TWITTER: "Log ind med Twitter"
LABEL_FORGOT_PASSWORD: "Glemt adgangskode"
LABEL_REGISTRATION: "Registre"
LABEL_REGISTRATION: "Registrering"
TOP_TOOLBAR:
BUTTON_ADD_ACCOUNT: "Tilføj konto"
BUTTON_SETTINGS: "Indstillinger"
@ -27,7 +27,7 @@ da_DK:
LABEL_ADV_TO: "Til"
LABEL_ADV_SUBJECT: "Emne"
LABEL_ADV_TEXT: "Tekst"
LABEL_ADV_HAS_ATTACHMENT: "Har vedhæfted fil"
LABEL_ADV_HAS_ATTACHMENT: "Har vedhæftet fil"
LABEL_ADV_HAS_ATTACHMENTS: "Har vedhæftede filer"
LABEL_ADV_FLAGGED: "Markeret med flag"
LABEL_ADV_UNSEEN: "Ulæst"
@ -53,29 +53,29 @@ da_DK:
FOLDER_LIST:
BUTTON_COMPOSE: "Forfat"
BUTTON_CONTACTS: "Kontakter"
BUTTON_NEW_MESSAGE: "Ny meddelse"
BUTTON_NEW_MESSAGE: "Ny meddelelse"
INBOX_NAME: "Indbakke"
SENT_NAME: "Sendte meddelser"
SENT_NAME: "Sendte meddelelser"
DRAFTS_NAME: "Kladder"
SPAM_NAME: "Uønskede meddelser"
TRASH_NAME: "Slettede meddelser"
ARCHIVE_NAME: "Arkiverede meddelser"
SPAM_NAME: "Uønskede meddelelser"
TRASH_NAME: "Slettede meddelelser"
ARCHIVE_NAME: "Arkiverede meddelelser"
QUOTA:
TITLE: "Forbrug"
MESSAGE_LIST:
BUTTON_RELOAD: "Genindlæs meddelser"
BUTTON_RELOAD: "Genindlæs meddelelser"
BUTTON_MOVE_TO: "Flyt til"
BUTTON_DELETE: "Slet"
BUTTON_ARCHIVE: "Arkiver"
BUTTON_ARCHIVE: "Arkivér"
BUTTON_SPAM: "Uønsket"
BUTTON_NOT_SPAM: "Ikke uønsket"
BUTTON_EMPTY_FOLDER: "Tøm mappe"
BUTTON_MULTY_FORWARD: "Videresend som vedhæftning(er)"
BUTTON_DELETE_WITHOUT_MOVE: "Slet permanent"
BUTTON_MORE: "Mere"
MENU_SET_SEEN: "Marker som læst"
MENU_SET_ALL_SEEN: "Marker alle som læst"
MENU_UNSET_SEEN: "Marker som ulæst"
MENU_SET_SEEN: "Markér som læst"
MENU_SET_ALL_SEEN: "Markér alle som læst"
MENU_UNSET_SEEN: "Markér som ulæst"
MENU_SET_FLAG: "Markér med flag"
MENU_UNSET_FLAG: "Fjern flag"
MENU_SELECT_ALL: "Alle"
@ -85,10 +85,10 @@ da_DK:
MENU_SELECT_SEEN: "Læst"
MENU_SELECT_FLAGGED: "Markeret med flag"
MENU_SELECT_UNFLAGGED: "Ikke markeret med flag"
EMPTY_LIST: "Ingen meddelser."
EMPTY_SEARCH_LIST: "Ikke meddelelser passede på søgningen."
EMPTY_LIST: "Ingen meddelelser."
EMPTY_SEARCH_LIST: "Ingen meddelelser passede på søgningen."
SEARCH_RESULT_FOR: "Resultat for søgningen på \"%SEARCH%\""
BACK_TO_MESSAGE_LIST: "Tilbage til meddelelses oversigt."
BACK_TO_MESSAGE_LIST: "Tilbage til meddelelsesoversigt."
LIST_LOADING: "Indlæser..."
EMPTY_SUBJECT_TEXT: "(Intet emne)"
PUT_MESSAGE_HERE: "Træk meddelelser her for visning i oversigten"
@ -103,7 +103,7 @@ da_DK:
BUTTON_CLOSE: "Luk"
BUTTON_DELETE: "Slet"
BUTTON_UNSUBSCRIBE: "Frameld liste"
BUTTON_ARCHIVE: "Arkiver"
BUTTON_ARCHIVE: "Arkivér"
BUTTON_SPAM: "Uønsket"
BUTTON_NOT_SPAM: "Ikke uønsket"
BUTTON_MOVE_TO: "Flyt til"
@ -114,16 +114,16 @@ da_DK:
BUTTON_FORWARD_AS_ATTACHMENT: "Videresend som vedhæftning"
BUTTON_EDIT_AS_NEW: "Rediger som ny"
BUTTON_SHOW_IMAGES: "Vis eksterne billeder"
BUTTON_NOTIFY_READ_RECEIPT: "Afsender har bedt om modtagelses kvittering."
BUTTON_NOTIFY_READ_RECEIPT: "Afsender har bedt om modtagelseskvittering."
BUTTON_IN_NEW_WINDOW: "Vis i separat vindue"
BUTTON_THREAD_LIST: "Samtale oversigt"
BUTTON_THREAD_LIST: "Samtaleoversigt"
BUTTON_THREAD_PREV: "Forrige"
BUTTON_THREAD_NEXT: "Næste"
BUTTON_THREAD_MORE: "Flere meddelelser"
MENU_HEADERS: "Hvis meddelelseoplysninger"
MENU_HEADERS: "Vis meddelelseoplysninger"
MENU_VIEW_ORIGINAL: "Vis kilder"
MENU_DOWNLOAD_ORIGINAL: "Hent som .eml fil"
MENU_FILTER_SIMILAR: "Find ligende meddelelser"
MENU_FILTER_SIMILAR: "Find lignende meddelelser"
MENU_PRINT: "Udskriv"
EMPTY_SUBJECT_TEXT: "(Intet emne)"
LABEL_SUBJECT: "Emne"
@ -159,7 +159,7 @@ da_DK:
Bemærk: "Dette bekræfter bare at meddelelsen er blevet op modtageren."
Der er ingen garanti for at modtager har læst meddelelsen.
SUGGESTIONS:
SEARCHING_DESC: "Søger"
SEARCHING_DESC: "Søger..."
CONTACTS:
LEGEND_CONTACTS: "Kontakter"
SEARCH_INPUT_PLACEHOLDER: "Søg"
@ -169,7 +169,7 @@ da_DK:
BUTTON_IMPORT: "Importer kontakter (csv, vcf, vCard)"
BUTTON_EXPORT_VCARD: "Eksporter kontakter (vcf, vCard)"
BUTTON_EXPORT_CSV: "Eksporter kontakter (csv)"
ERROR_IMPORT_FILE: "Importerrings fejl (forkert fil type)"
ERROR_IMPORT_FILE: "Importfejl (forkert fil type)"
LIST_LOADING: "Indlæser"
EMPTY_LIST: "Ingen kontakter"
EMPTY_SEARCH: "Ingen kontakter fundet"
@ -181,16 +181,16 @@ da_DK:
LABEL_WEB: "Hjemmeside"
LABEL_BIRTHDAY: "Fødselsdag"
LINK_ADD_EMAIL: "Tilføj e-mail adresse"
LINK_ADD_PHONE: "Tilføj telefon nummer"
LINK_ADD_PHONE: "Tilføj telefonnummer"
LINK_BIRTHDAY: "Fødselsdag"
PLACEHOLDER_ENTER_DISPLAY_NAME: "Indtast kaldenavn"
PLACEHOLDER_ENTER_LAST_NAME: "Indtast efternavn"
PLACEHOLDER_ENTER_FIRST_NAME: "Indtast fornavn(er)"
PLACEHOLDER_ENTER_NICK_NAME: "Indtast kældenavn"
PLACEHOLDER_ENTER_FIRST_NAME: "Indtast fornavn(e)"
PLACEHOLDER_ENTER_NICK_NAME: "Indtast kaldenavn"
LABEL_READ_ONLY: "Skrivebeskyttet"
LABEL_SHARE: "Del"
ADD_MENU_LABEL: "Tilføj"
ADD_MENU_NICKNAME: "Kældenavn"
ADD_MENU_NICKNAME: "Kaldenavn"
ADD_MENU_NOTES: "Noter"
ADD_MENU_EMAIL: "E-mail"
ADD_MENU_PHONE: "Telefon"
@ -234,9 +234,9 @@ da_DK:
ATTACHMENTS_ERROR_DESC: "Advarsels! Ikke alle vedhæftninger er overført."
ATTACHMENTS_UPLOAD_ERROR_DESC: "Overførsel af vedhæftninger igang."
BUTTON_REQUEST_READ_RECEIPT: "Bed om kvittering for læsning"
BUTTON_MARK_AS_IMPORTANT: "Marker som vigtig"
BUTTON_MARK_AS_IMPORTANT: "Markér som vigtig"
BUTTON_OPEN_PGP: "OpenPGP (kun plain tekst)"
BUTTON_REQUEST_DSN: "Bed om kvittering om kvittering for modtagelse"
BUTTON_REQUEST_DSN: "Bed om kvittering for modtagelse"
POPUPS_WELCOME_PAGE:
BUTTON_CLOSE: "Luk"
POPUPS_ASK:
@ -265,7 +265,7 @@ da_DK:
LABEL_SIGNATURE_INSERT_BEFORE: "Indsæt signatur før citeret tekst"
POPUPS_CREATE_FOLDER:
TITLE_CREATE_FOLDER: "Opret ny mappe?"
LABEL_NAME: "Mappe navn"
LABEL_NAME: "Mappenavn"
LABEL_PARENT: "Hovedmappe"
BUTTON_CREATE: "Opret ny mappe"
BUTTON_CANCEL: "Annuller"
@ -282,7 +282,7 @@ da_DK:
TITLE_CLEARING_PROCESS: "Tømmer mappe..."
POPUPS_IMPORT_OPEN_PGP_KEY:
TITLE_IMPORT_OPEN_PGP_KEY: "Importer OpenPGP nøgle"
BUTTON_IMPORT_OPEN_PGP_KEY: "Importet"
BUTTON_IMPORT_OPEN_PGP_KEY: "Importer"
POPUPS_VIEW_OPEN_PGP_KEY:
TITLE_VIEW_OPEN_PGP_KEY: "Vis OpenPGP nøgle"
BUTTON_SELECT: "Vælg"
@ -292,11 +292,11 @@ da_DK:
LABEL_EMAIL: "E-mail"
LABEL_NAME: "Navn"
LABEL_PASSWORD: "Adgangskode"
LABEL_KEY_BIT_LENGTH: "Nøgle længde"
BUTTON_GENERATE_OPEN_PGP_KEYS: "Generer"
LABEL_KEY_BIT_LENGTH: "Nøglelængde"
BUTTON_GENERATE_OPEN_PGP_KEYS: "Generér"
POPUPS_COMPOSE_OPEN_PGP:
TITLE_COMPOSE_OPEN_PGP: "OpenPGP Signer/Krypter"
LABEL_SIGN: "Signer"
LABEL_SIGN: "Signér"
LABEL_ENCRYPT: "Krypter"
LABEL_PASSWORD: "Adgangskode"
BUTTON_SIGN: "Signér"
@ -306,9 +306,9 @@ da_DK:
TITLE_MESSAGE_OPEN_PGP: "OpenPGP Dekrypter"
LABEL_KEY: "Privat nøgle"
LABEL_PASSWORD: "Adgangskode"
BUTTON_DECRYPT: "Afkrypter"
BUTTON_DECRYPT: "Dekrypter"
POPUPS_TWO_FACTOR_TEST:
TITLE_TEST_CODE: "2-trins verificeringstest"
TITLE_TEST_CODE: "2-trins verifikationstest"
LABEL_CODE: "Kode"
BUTTON_TEST: "Test"
POPUPS_FILTER:
@ -323,44 +323,44 @@ da_DK:
SELECT_ACTION_MOVE_TO: "Flyt til"
SELECT_ACTION_FORWARD_TO: "Videresend til"
SELECT_ACTION_REJECT: "Afvis"
SELECT_ACTION_VACATION_MESSAGE: "Ferie meddelelse"
SELECT_ACTION_DISCARD: "Kasser"
SELECT_ACTION_VACATION_MESSAGE: "Feriemeddelelse"
SELECT_ACTION_DISCARD: "Kassér"
SELECT_FIELD_FROM: "Fra"
SELECT_FIELD_RECIPIENTS: "Modtagere (Til eller CC)"
SELECT_FIELD_SUBJECT: "Emne"
SELECT_FIELD_HEADER: "Meddelsesoplysninger"
SELECT_FIELD_HEADER: "Meddelelsesoplysninger"
SELECT_FIELD_SIZE: "Størrelse"
SELECT_TYPE_CONTAINS: "Indenholder"
SELECT_TYPE_NOT_CONTAINS: "Indenholder ikke"
SELECT_TYPE_MATCHES: "Svare til (* og ? kan bruges)"
SELECT_TYPE_NOT_MATCHES: "Svare ikke til (* og ? kan bruges)"
SELECT_TYPE_CONTAINS: "Indeholder"
SELECT_TYPE_NOT_CONTAINS: "Indeholder ikke"
SELECT_TYPE_MATCHES: "Svarer til (* og ? kan bruges)"
SELECT_TYPE_NOT_MATCHES: "Svarer ikke til (* og ? kan bruges)"
SELECT_TYPE_REGEXP: "Regexp"
SELECT_TYPE_NOT_REGEXP: "Ikke Regexp"
SELECT_TYPE_EQUAL_TO: "Lig med"
SELECT_TYPE_NOT_EQUAL_TO: "Ikke lige med"
SELECT_TYPE_OVER: "Over"
SELECT_TYPE_UNDER: "Under"
SELECT_MATCH_ANY: "Passer en af følgene regler"
SELECT_MATCH_ALL: "Passer alle af følgende regler"
MARK_AS_READ_LABEL: "Marker som læst"
REPLY_INTERVAL_LABEL: "Svar interval (dage)"
SELECT_MATCH_ANY: "Passer til en af følgende regler"
SELECT_MATCH_ALL: "Passer til alle følgende regler"
MARK_AS_READ_LABEL: "Markér som læst"
REPLY_INTERVAL_LABEL: "Svarinterval (dage)"
KEEP_LABEL: "Behold"
STOP_LABEL: "Forsæt med at tjekker regler"
STOP_LABEL: "Forsæt med at tjekke regler"
EMAIL_LABEL: "E-mail"
VACATION_SUBJECT_LABEL: "Emne (valgfri)"
VACATION_MESSAGE_LABEL: "Meddelse"
VACATION_RECIPIENTS_LABEL: "Modtagere (komma seperarede)"
REJECT_MESSAGE_LABEL: "Afvis meddelse"
ALL_INCOMING_MESSAGES_DESC: "Alle modtagede meddelser"
VACATION_SUBJECT_LABEL: "Emne (valgfrit)"
VACATION_MESSAGE_LABEL: "Meddelelse"
VACATION_RECIPIENTS_LABEL: "Modtagere (kommaseparerede)"
REJECT_MESSAGE_LABEL: "Afvis meddelelse"
ALL_INCOMING_MESSAGES_DESC: "Alle modtagne meddelelser"
POPUPS_SYSTEM_FOLDERS:
TITLE_SYSTEM_FOLDERS: "Vælg system mapper"
TITLE_SYSTEM_FOLDERS: "Vælg systemmapper"
SELECT_CHOOSE_ONE: "Vælg en"
SELECT_UNUSE_NAME: "Brug ikke"
LABEL_SENT: "Sendte meddelser"
LABEL_SENT: "Sendte meddelelser"
LABEL_DRAFTS: "Kladder"
LABEL_SPAM: "Uønskede meddelser"
LABEL_TRASH: "Slettede meddelser"
LABEL_ARCHIVE: "Arkiverede meddelser"
LABEL_SPAM: "Uønskede meddelelser"
LABEL_TRASH: "Slettede meddelelser"
LABEL_ARCHIVE: "Arkiverede meddelelser"
BUTTON_CANCEL: "Annuller"
BUTTON_CLOSE: "Luk"
NOTIFICATION_SENT: |
@ -373,14 +373,14 @@ da_DK:
Hvis du vil slette meddelelser permanent, vælg "Brug ikke".
NOTIFICATION_ARCHIVE: "Du har ikke valgt en systemmappe til arkiverede meddelelser."
POPUPS_TWO_FACTOR_CFG:
LEGEND_TWO_FACTOR_AUTH: "2-trins verificering (TOTP)"
LABEL_ENABLE_TWO_FACTOR: "Aktiver 2-trins verificering"
LEGEND_TWO_FACTOR_AUTH: "2-trins verifikation (TOTP)"
LABEL_ENABLE_TWO_FACTOR: "Aktivér 2-trins verifikation"
LABEL_TWO_FACTOR_USER: "Bruger"
LABEL_TWO_FACTOR_STATUS: "Status"
LABEL_TWO_FACTOR_SECRET: "2-trins verificeringshemmelighed"
LABEL_TWO_FACTOR_BACKUP_CODES: "Tag backup af 2-trins verificeringshemmeligheder"
BUTTON_CREATE: "Opret en hemmelighed"
BUTTON_ACTIVATE: "Aktiver"
BUTTON_ACTIVATE: "Aktivér"
BUTTON_CLEAR: "Slet"
BUTTON_LOGOUT: "Log ud"
BUTTON_DONE: "Færdig"
@ -388,13 +388,12 @@ da_DK:
LINK_TEST: "test"
BUTTON_SHOW_SECRET: "Vis hemmelighed"
BUTTON_HIDE_SECRET: "Skjul hemmelighed"
TWO_FACTOR_REQUIRE_DESC: "Din konto kræver 2-trins verificering."
TWO_FACTOR_REQUIRE_DESC: "Din konto kræver 2-trins verifikation."
TWO_FACTOR_SECRET_CONFIGURED_DESC: "Konfigureret"
TWO_FACTOR_SECRET_NOT_CONFIGURED_DESC: "Ikke konfigureret"
TWO_FACTOR_SECRET_DESC: >+
TWO_FACTOR_SECRET_DESC: >
Importer denne information til din Google Autentificering app (eller en anden
TOTP klient) ved hjælp af QR koden herunder eller ved at indtaste koden manuelt.
TWO_FACTOR_BACKUP_CODES_DESC: >
Hvis du ikke kan modtage koder ved hjælp af Google Autentificering appen (eller
en anden TOTP klient), kan du bruge backup kode til at logge ind med. Når
@ -412,15 +411,15 @@ da_DK:
ERROR_NO_FILE_UPLOADED: "Ingen file oploadet"
ERROR_MISSING_TEMP_FOLDER: "Midlertidig fil findes ikke"
ERROR_ON_SAVING_FILE: "Ukendt upload fejl"
ERROR_FILE_TYPE: "Forkert filtyppe"
ERROR_FILE_TYPE: "Forkert filtype"
ERROR_UNKNOWN: "Ukendt upload fejl"
EDITOR:
TEXT_SWITCHER_PLAINT_TEXT: "HTML <-> TEXT"
TEXT_SWITCHER_RICH_FORMATTING: "Rig formatering"
TEXT_SWITCHER_CONFIRM: "Formatring og billeder vil gå tabt. Forsæt?"
TEXT_SWITCHER_CONFIRM: "Formatering og billeder vil gå tabt. Forsæt?"
SETTINGS_LABELS:
LABEL_PERSONAL_NAME: "Personlig"
LABEL_GENERAL_NAME: "Generalt"
LABEL_GENERAL_NAME: "Generelt"
LABEL_CONTACTS_NAME: "Kontakter"
LABEL_FOLDERS_NAME: "Mapper"
LABEL_ACCOUNTS_NAME: "Kontoer"
@ -444,7 +443,7 @@ da_DK:
SUBNAME_MOVE_TO: "Flyt til \"%FOLDER%\""
SUBNAME_FORWARD_TO: "Videresend til \"%EMAIL%\""
SUBNAME_REJECT: "Afvis"
SUBNAME_VACATION_MESSAGE: "Ferie meddelelse"
SUBNAME_VACATION_MESSAGE: "Feriemeddelelse"
SUBNAME_DISCARD: "Kasser"
CAPABILITY_LABEL: "Evner"
LOADING_PROCESS: "Opdater oversigten over filtre"
@ -458,7 +457,7 @@ da_DK:
LABEL_ADD_SIGNATURE_TO_ALL: "Tilføj din signatur til alle meddelelser"
SETTINGS_SECURITY:
LEGEND_SECURITY: "Sikkerhed"
LABEL_CONFIGURE_TWO_FACTOR: "Op sæt 2-trins verificering"
LABEL_CONFIGURE_TWO_FACTOR: "Opsæt 2-trins verifikation"
LABEL_AUTOLOGOUT: "Automatisk log ud"
AUTOLOGIN_NEVER_OPTION_NAME: "Aldrig"
AUTOLOGIN_MINUTES_OPTION_NAME: "%MINUTES% minut(er)"
@ -474,9 +473,9 @@ da_DK:
LABEL_EDITOR: "Standard tekst program"
LABEL_EDITOR_HTML: "Html"
LABEL_EDITOR_PLAIN: "Plain"
LABEL_EDITOR_HTML_FORCED: "Html (gennetvunget)"
LABEL_EDITOR_HTML_FORCED: "Html (gennemtvunget)"
LABEL_EDITOR_PLAIN_FORCED: "Plain (gennemtvunget)"
LABEL_ANIMATION: "Grænseflade animation"
LABEL_ANIMATION: "Grænsefladeanimation"
LABEL_ANIMATION_FULL: "Fuld"
LABEL_ANIMATION_NORMAL: "Normal"
LABEL_ANIMATION_NONE: "Ingen"
@ -484,7 +483,7 @@ da_DK:
LABEL_USE_PREVIEW_PANE: "Brug preview panel"
LABEL_USE_CHECKBOXES_IN_LIST: "Vis afkrydsningsfelt i oversigten"
LABEL_USE_THREADS: "Brug samtaler"
LABEL_REPLY_SAME_FOLDER: "Placer svar i samme mappe som original besked"
LABEL_REPLY_SAME_FOLDER: "Placer svar i samme mappe som oprindelig meddelelse"
LABEL_SHOW_IMAGES: "Vis altid eksterne billeder"
LABEL_SHOW_ANIMATION: "Vis animationer"
LABEL_MESSAGE_PER_PAGE: "Meddelelser per side"
@ -496,14 +495,14 @@ da_DK:
LEGEND_CONTACTS: "Kontakter"
LABEL_CONTACTS_AUTOSAVE: "Tilføj automatisk modtager til adressebog"
LEGEND_CONTACTS_SYNC: "Synkroniser (CardDAV)"
LABEL_CONTACTS_SYNC_ENABLE: "Aktiver synkronisering"
LABEL_CONTACTS_SYNC_ENABLE: "Aktivér synkronisering"
LABEL_CONTACTS_SYNC_SERVER: "Server"
LABEL_CONTACTS_SYNC_AB_URL: "Adressebogs URL"
LABEL_CONTACTS_SYNC_USER: "Bruger"
LABEL_CONTACTS_SYNC_PASSWORD: "Adgangskode"
SETTINGS_THEMES:
LEGEND_THEMES: "Temaer"
LEGEND_THEMES_CUSTOM: "Brugerdefineret tema konfiguration"
LEGEND_THEMES_CUSTOM: "Brugerdefineret temakonfiguration"
LABEL_CUSTOM_TYPE: "Type"
LABEL_CUSTOM_TYPE_LIGHT: "Lys"
LABEL_CUSTOM_TYPE_DARK: "Mørk"
@ -526,22 +525,22 @@ da_DK:
BUTTON_TWITTER_DISCONNECT: "Afbryd forbindelse til Twitter"
MAIN_TWITTER_DESC: "Ved aktivering af log ind via Twitter. Kan der logges ind ved hjælp af Twitter knappen på log ind skærmen."
SETTINGS_FOLDERS:
LEGEND_FOLDERS: "Mappe oversigt"
LEGEND_FOLDERS: "Mappeoversigt"
BUTTON_CREATE: "Opret ny mappe"
BUTTON_SYSTEM: "System mapper"
BUTTON_SYSTEM: "Systemmapper"
BUTTON_DELETE: "Slet"
BUTTON_SUBSCRIBE: "Abonnér"
BUTTON_UNSUBSCRIBE: "Afmeld"
LOADING_PROCESS: "Opdater mappe oversigt"
LOADING_PROCESS: "Opdater mappeoversigt"
CREATING_PROCESS: "Opretter mappe"
DELETING_PROCESS: "Sletter mappe"
RENAMING_PROCESS: "Omdøbber mappe"
RENAMING_PROCESS: "Omdøber mappe"
DELETING_ASK: "Er du sikker?"
TO_MANY_FOLDERS_DESC_1: "For mange mapper!"
TO_MANY_FOLDERS_DESC_2: "Kun nogle mapper vises for at undgå problemer"
HELP_DELETE_FOLDER: "Slet mappe"
HELP_SHOW_HIDE_FOLDER: "Vis/skjul mappe"
HELP_CHECK_FOR_NEW_MESSAGES: "Marker/fjern markering for nye meddelelser"
HELP_CHECK_FOR_NEW_MESSAGES: "Markér/fjern markering for nye meddelelser"
SETTINGS_ACCOUNTS:
LEGEND_ACCOUNTS: "Kontoer"
LEGEND_IDENTITIES: "Identiteter"
@ -549,7 +548,7 @@ da_DK:
BUTTON_ADD_ACCOUNT: "Tilføj konto"
BUTTON_ADD_IDENTITY: "Tilføj identitet?"
BUTTON_DELETE: "Slet"
LOADING_PROCESS: "Opdatere..."
LOADING_PROCESS: "Opdaterer..."
DELETING_ASK: "Er du sikker?"
DEFAULT_IDENTITY_LABEL: "standard"
SETTINGS_IDENTITIES:
@ -562,7 +561,7 @@ da_DK:
LABEL_ADD_SIGNATURE_TO_ALL: "Tilføj din signatur til alle meddelelser"
BUTTON_ADD_IDENTITY: "Tilføj identitet"
BUTTON_DELETE: "Slet"
LOADING_PROCESS: "Opdatere identitets oversigt"
LOADING_PROCESS: "Opdaterer identitetsoversigt"
DELETING_ASK: "Er du sikker?"
SETTINGS_CHANGE_PASSWORD:
LEGEND_CHANGE_PASSWORD: "Skift adgangskode"
@ -580,47 +579,47 @@ da_DK:
DELETING_ASK: "Er du sikker?"
GENERATE_ONLY_HTTPS: "Kun HTTPS"
SHORTCUTS_HELP:
LEGEND_SHORTCUTS_HELP: "Hjælp til tastetur genveje"
LEGEND_SHORTCUTS_HELP: "Hjælp til tasteturgenveje"
TAB_MAILBOX: "Postkasse"
TAB_MESSAGE_LIST: "Meddelelses oversigt"
TAB_MESSAGE_VIEW: "Meddelelses visning"
TAB_MESSAGE_LIST: "Meddelelsesoversigt"
TAB_MESSAGE_VIEW: "Meddelelsesvisning"
TAB_COMPOSE: "Forfat"
LABEL_OPEN_USER_DROPDOWN: "Åben bruger menu"
LABEL_OPEN_USER_DROPDOWN: "Åben brugermenu"
LABEL_REPLY: "Svar"
LABEL_REPLY_ALL: "Svar alle"
LABEL_FORWARD: "Videresend"
LABEL_FORWARD_MULTIPLY: "Videresend som vedhæftning(er)"
LABEL_HELP: "Hjælp"
LABEL_CHECK_ALL: "Vælg alle meddelelser"
LABEL_ARCHIVE: "Arkiver"
LABEL_ARCHIVE: "Arkivér"
LABEL_DELETE: "Slet"
LABEL_OPEN_THREAD: "Åben valgte samtale"
LABEL_MOVE: "Flyt"
LABEL_READ: "Marker valgte meddelelser som læst"
LABEL_UNREAD: "Marker valgte meddelelser som ulæst"
LABEL_IMPORTANT: "Marker valgte meddelelser som vigtige"
LABEL_READ: "Markér valgte meddelelser som læste"
LABEL_UNREAD: "Markér valgte meddelelser som ulæste"
LABEL_IMPORTANT: "Markér valgte meddelelser som vigtige"
LABEL_SEARCH: "Søg"
LABEL_CANCEL_SEARCH: "Annuller søgning"
LABEL_FULLSCREEN_ENTER: "Fuld skærm (Preview panel layout)"
LABEL_VIEW_MESSAGE_ENTER: "Vis meddelelser (Uden preview panel layout)"
LABEL_SWITCH_TO_MESSAGE: "Fokuser på valgte meddelelser"
LABEL_SWITCH_TO_FOLDER_LIST: "Fokuser på mappe oversigt"
LABEL_SWITCH_TO_FOLDER_LIST: "Fokuser på mappeoversigt"
LABEL_FULLSCREEN_TOGGLE: "Fuld skærm"
LABEL_BLOCKQUOTES_TOGGLE: "Slå blokcitater til/fra i meddelelser"
LABEL_THREAD_NEXT: "Næste besked i samtale"
LABEL_THREAD_PREV: "Forrige besked i samtale"
LABEL_PRINT: "Print"
LABEL_PRINT: "Udskriv"
LABEL_EXIT_FULLSCREEN: "Luk fuld skærm"
LABEL_CLOSE_MESSAGE: "Luk meddelelses (Uden preview panel layout)"
LABEL_SWITCH_TO_LIST: "Fokuser på meddelelses oversigt"
LABEL_CLOSE_MESSAGE: "Luk meddelelse (Uden preview panel layout)"
LABEL_SWITCH_TO_LIST: "Fokuser på meddelelsesoversigt"
LABEL_OPEN_COMPOSE_POPUP: "Åben forfatter popup"
LABEL_MINIMIZE_COMPOSE_POPUP: "Minimer forfatter popup"
LABEL_OPEN_IDENTITIES_DROPDOWN: "Åben identitets menu"
LABEL_OPEN_IDENTITIES_DROPDOWN: "Åben identitetsmenu"
LABEL_SAVE_MESSAGE: "Gem meddelelse"
LABEL_SEND_MESSAGE: "Send meddelelse"
LABEL_CLOSE_COMPOSE: "Luk forfatter mode"
PGP_NOTIFICATIONS:
NO_PUBLIC_KEYS_FOUND: "Igen offentlige nøgler fundet"
NO_PUBLIC_KEYS_FOUND: "Ingen offentlige nøgler fundet"
NO_PUBLIC_KEYS_FOUND_FOR: "Ingen offentlige nøgler fundet tilhørende \"%EMAIL%\""
NO_PRIVATE_KEY_FOUND: "Ingen privat nøgle fundet"
NO_PRIVATE_KEY_FOUND_FOR: "Ingen privat nøgle fundet tilhørende \"%EMAIL%\""
@ -630,7 +629,7 @@ da_DK:
DECRYPTION_ERROR: "OpenPGP dekrypterings fejl"
GOOD_SIGNATURE: "Accepteret signatur for %USER\""
PGP_ERROR: "OpenPGP fejl: %ERROR%"
SPECIFY_FROM_EMAIL: "Udfyld afsender adresse"
SPECIFY_FROM_EMAIL: "Udfyld afsenderadresse"
SPECIFY_AT_LEAST_ONE_RECIPIENT: "Angiv mindst en modtager"
NOTIFICATIONS:
INVALID_TOKEN: "Ugyldigt tegn"
@ -649,15 +648,15 @@ da_DK:
af e-mail og tilføj ID'et under konto indstillinger.
DOMAIN_NOT_ALLOWED: "Domæne ikke tilladt"
ACCOUNT_NOT_ALLOWED: "Konto ikke tilladt"
ACCOUNT_TWO_FACTOR_AUTH_REQUIRED: "2-faktor verificering påbudt."
ACCOUNT_TWO_FACTOR_AUTH_ERROR: "2-faktor verifikations fejl"
ACCOUNT_TWO_FACTOR_AUTH_REQUIRED: "2-faktor verifikation påbudt."
ACCOUNT_TWO_FACTOR_AUTH_ERROR: "2-faktor verifikationsfejl"
COULD_NOT_SAVE_NEW_PASSWORD: "Kunne ikke gemme ny adgangskode"
CURRENT_PASSWORD_INCORRECT: "Nuværende adgangskode forkert"
NEW_PASSWORD_SHORT: "Adgangskoden for kort"
NEW_PASSWORD_WEAK: "Adgangskoden for simpel"
NEW_PASSWORD_FORBIDDENT: "Adgangskode indenholder forbudte tegn"
NEW_PASSWORD_FORBIDDENT: "Adgangskode indeholder forbudte tegn"
CONTACTS_SYNC_ERROR: "Fejl ved synkronisering af kontakter"
CANT_GET_MESSAGE_LIST: "Kan ikke indlæse meddelelses oversigt "
CANT_GET_MESSAGE_LIST: "Kan ikke indlæse meddelelsesoversigt "
CANT_GET_MESSAGE: "Kan ikke indlæse meddelelse"
CANT_DELETE_MESSAGE: "Kan ikke slette meddelelse"
CANT_MOVE_MESSAGE: "Kan ikke flytte meddelelse"
@ -678,24 +677,24 @@ da_DK:
DOMAIN_ALREADY_EXISTS: "Domæne eksisterer allerede"
CANT_INSTALL_PACKAGE: "Installation af pakke mislykkedes"
CANT_DELETE_PACKAGE: "Fjernelse af pakke mislykkedes"
INVALID_PLUGIN_PACKAGE: "Ugyldig tilføjelses pakke"
UNSUPPORTED_PLUGIN_PACKAGE: "Tilføjelses pakke ikke understøttet"
LICENSING_SERVER_IS_UNAVAILABLE: "Abonnomentsserver ikke tilgængelig"
INVALID_PLUGIN_PACKAGE: "Ugyldig tilføjelsespakke"
UNSUPPORTED_PLUGIN_PACKAGE: "Tilføjelsespakke ikke understøttet"
LICENSING_SERVER_IS_UNAVAILABLE: "Abonnementsserver ikke tilgængelig"
LICENSING_DOMAIN_EXPIRED: "Abonnement på domæne udløbet."
LICENSING_DOMAIN_BANNED: "Abonnement på domæne forbudt."
DEMO_SEND_MESSAGE_ERROR: "Denne konto kan af sikkerheds hensyn ikke sende e-mails til eksterne adresser!"
DEMO_ACCOUNT_ERROR: "Denne konto kan af sikkerheds hensyn ikke udføre denne handling!"
ACCOUNT_ALREADY_EXISTS: "Kontoen eksistere allerede"
ACCOUNT_DOES_NOT_EXIST: "Kontoen eksiterer ikke"
DEMO_SEND_MESSAGE_ERROR: "Denne konto kan af sikkerhedshensyn ikke sende e-mails til eksterne adresser!"
DEMO_ACCOUNT_ERROR: "Denne konto kan af sikkerhedshensyn ikke udføre denne handling!"
ACCOUNT_ALREADY_EXISTS: "Kontoen eksisterer allerede"
ACCOUNT_DOES_NOT_EXIST: "Kontoen eksisterer ikke"
MAIL_SERVER_ERROR: "Der skete en fejl under adgang til e-mail serveren"
INVALID_INPUT_ARGUMENT: "Ugyldigt argument"
UNKNOWN_ERROR: "Ukendt fejl"
STATIC:
BACK_LINK: "Genindlæs"
DOMAIN_LIST_DESC: "Liste over domæner webmail er tilladt adgang til."
PHP_EXSTENSIONS_ERROR_DESC: "Nødvendige PHP udvidelser er ikke tilgengænlige!"
PHP_EXSTENSIONS_ERROR_DESC: "Nødvendige PHP udvidelser er ikke tilgængelige!"
PHP_VERSION_ERROR_DESC: "PHP versionen (%VERSION%) er for gammel. Minimum 5.3.0 er nødvendig!"
NO_SCRIPT_TITLE: "JavaScript er nødvendig for dette program."
NO_SCRIPT_TITLE: "JavaScript er nødvendigt for dette program."
NO_SCRIPT_DESC: |
JavaScript er slået fra i din browser.
Slå JavaScript til og prøv igen.
@ -705,5 +704,5 @@ da_DK:
Slå Cookies til og prøv igen.
BAD_BROWSER_TITLE: "Din browser er forældet."
BAD_BROWSER_DESC: |
Enkle funktioner fungere ikke med denne browser.
Enkelte funktioner fungerer ikke med denne browser.
For at bruge alle funktioner, hent en af følgende:

View file

@ -102,6 +102,7 @@ sl_SI:
BUTTON_BACK: "Nazaj"
BUTTON_CLOSE: "Zapri"
BUTTON_DELETE: "Izbriši"
BUTTON_UNSUBSCRIBE: "Odjava s tega seznama"
BUTTON_ARCHIVE: "Arhiviraj"
BUTTON_SPAM: "Vsiljena pošta"
BUTTON_NOT_SPAM: "Ni vsiljena pošta"
@ -144,6 +145,7 @@ sl_SI:
PRINT_LABEL_ATTACHMENTS: "Priloge"
MESSAGE_LOADING: "Nalaganje"
MESSAGE_VIEW_DESC: "Izberite sporočilo s seznama za ogled."
MESSAGE_VIEW_MOVE_DESC: "Za izbor cilja kliknite na ime mape na levi strani."
PGP_PASSWORD_INPUT_PLACEHOLDER: "Geslo"
PGP_SIGNED_MESSAGE_DESC: "Sporočilo, podpisano z OpenPGP (kliknite za overovitev)"
PGP_ENCRYPTED_MESSAGE_DESC: "Sporočilo, šifrirano z OpenPGP (kliknite za dešifriranje)"

View file

@ -22,7 +22,7 @@ module.exports = function(publicPath, pro) {
publicPath: publicPath || 'rainloop/v/0.0.0/static/'
},
plugins: [
new webpack.optimize.OccurrenceOrderPlugin(),
new webpack.optimize.ModuleConcatenationPlugin(),
new webpack.DefinePlugin({
'RL_COMMUNITY': !pro,
'process.env': {
@ -86,7 +86,6 @@ module.exports = function(publicPath, pro) {
'key': 'window.key',
'_': 'window._',
'qr': 'window.qr',
'Promise': 'window.Promise',
'$': 'window.jQuery'
}
};

774
yarn.lock

File diff suppressed because it is too large Load diff