mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-08-30 20:49:20 +03:00
Bugfix boostrap alerts.less was accidentally removed
Bugfix Date.fromNow('past'/'future') reversed
Replace Events[pub/sub]('interval.*') with setInterval()
Events[pub/sub] to native
Cleanup knockout extensions
Replaced momentToNode with proper HTML5 <time>
Cleanup Momentor
This commit is contained in:
parent
6541a1de7c
commit
9f1ea1a0fd
44 changed files with 539 additions and 1126 deletions
|
|
@ -2844,49 +2844,6 @@ NewThemeLink IncludeCss LoadingDescriptionEsc TemplatesLink LangLink IncludeBack
|
|||
return $iResult;
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws \MailSo\Base\Exceptions\Exception
|
||||
*/
|
||||
public function DoAccountsCounts() : array
|
||||
{
|
||||
$oAccount = $this->getAccountFromToken();
|
||||
|
||||
$bComplete = true;
|
||||
$aCounts = array();
|
||||
|
||||
if ($this->GetCapa(false, false, Enumerations\Capa::ADDITIONAL_ACCOUNTS, $oAccount))
|
||||
{
|
||||
$iLimit = 7;
|
||||
$aAccounts = $this->GetAccounts($oAccount);
|
||||
if ($aAccounts)
|
||||
{
|
||||
if ($iLimit > \count($aAccounts))
|
||||
{
|
||||
$aAccounts = \array_slice($aAccounts, 0, $iLimit);
|
||||
}
|
||||
else
|
||||
{
|
||||
$bComplete = false;
|
||||
}
|
||||
|
||||
foreach ($aAccounts as $sEmail => $sHash)
|
||||
{
|
||||
$aCounts[] = array(\MailSo\Base\Utils::IdnToUtf8($sEmail),
|
||||
$oAccount->Email() === $sEmail ? 0 : $this->getAccountUnreadCountFromHash($sHash));
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$aCounts[] = array(\MailSo\Base\Utils::IdnToUtf8($oAccount->Email()), 0);
|
||||
}
|
||||
|
||||
return $this->DefaultResponse(__FUNCTION__, array(
|
||||
'Complete' => $bComplete,
|
||||
'Counts' => $aCounts
|
||||
));
|
||||
}
|
||||
|
||||
public function ClearSignMeData(Model\Account $oAccount) : void
|
||||
{
|
||||
if ($oAccount)
|
||||
|
|
|
|||
|
|
@ -235,7 +235,7 @@ nl_NL:
|
|||
ATTACHMENTS_ERROR_DESC: "Waarschuwing! Nog niet alle bijlagen zijn klaar met uploaden"
|
||||
ATTACHMENTS_UPLOAD_ERROR_DESC: "Toevoegen van bijlage(n) is nog niet gereed"
|
||||
BUTTON_REQUEST_READ_RECEIPT: "Leesbevestiging vragen"
|
||||
BUTTON_MARK_AS_IMPORTANT: "Marker als belangrijk"
|
||||
BUTTON_MARK_AS_IMPORTANT: "Markeer als belangrijk"
|
||||
BUTTON_OPEN_PGP: "OpenPGP (allen bij Platte Tekst)"
|
||||
BUTTON_REQUEST_DSN: "Ontvangstbevestiging vragen"
|
||||
POPUPS_WELCOME_PAGE:
|
||||
|
|
|
|||
|
|
@ -18,11 +18,11 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="b-content" data-bind="nano: true, scrollerShadows: true">
|
||||
<div class="content g-scrollbox" data-scroller-shadows-content>
|
||||
<div class="b-content">
|
||||
<div class="content g-scrollbox">
|
||||
<div class="content-wrapper">
|
||||
<div id="rl-settings-subscreen" class="b-settings-content" style="position: relative; z-index: 2"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,10 +0,0 @@
|
|||
<div class="rl-cmd" data-bind="css: {opened: opened}, click: function() { focused(true) }">
|
||||
<div class="rl-cmd-wrp">
|
||||
<div class="rl-cmd-history"><div class="rl-cmd-history-data"></div></div>
|
||||
<div class="rl-cmd-input-wrp">
|
||||
<div class="rl-cmd-input-helper" data-bind="text: cmdHelper"></div>
|
||||
<div class="rl-cmd-input-prefix">#</div>
|
||||
<input type="text" class="rl-cmd-input" data-bind="textInput: cmd, hasFocus: focused, onEnter: onEnter, onKeyDown: onKeyDown, onEsc: onEsc, onTab: onTab" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -12,7 +12,7 @@
|
|||
<span class="desc" data-bind="text: loginDescription"></span>
|
||||
</div>
|
||||
{{INCLUDE/AfterLogo/PLACE}}
|
||||
<div class="alert alertError" data-bind="visibleAnimated: '' !== submitError()">
|
||||
<div class="alert alertError" data-bind="visibleAnimated: '' !== submitError()" hidden="">
|
||||
<button type="button" class="close" data-bind="click: function () { submitError('') }">×</button>
|
||||
<span data-bind="text: submitError"></span>
|
||||
<div data-bind="visible: '' !== submitErrorAddidional()">
|
||||
|
|
|
|||
|
|
@ -10,8 +10,8 @@
|
|||
<i class="icon-address-book"></i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="b-content opacity-on-panel-disabled" data-bind="visible: allowFolders, nano: true, scrollerShadows: true, css: {'inbox-is-starred': isInboxStarred}">
|
||||
<div class="content g-scrollbox" data-scroller-shadows-content>
|
||||
<div class="b-content opacity-on-panel-disabled" data-bind="visible: allowFolders, css: {'inbox-is-starred': isInboxStarred}">
|
||||
<div class="content g-scrollbox">
|
||||
<div class="content-wrapper">
|
||||
<div class="b-folders-system" data-bind="template: { name: 'MailFolderListSystemItem', foreach: folderListSystem }"></div>
|
||||
<hr class="b-list-delimiter" />
|
||||
|
|
@ -36,4 +36,4 @@
|
|||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -166,8 +166,8 @@
|
|||
</div>
|
||||
<div class="line-loading e-strip-animation" data-bind="visible: messageListCompleteLoadingThrottle"></div>
|
||||
<div class="mainDelimiter toolbarDelimiter"></div>
|
||||
<div class="b-content" data-bind="nano: true, scrollerShadows: true, initDom: dragOverBodyArea">
|
||||
<div class="content g-scrollbox" data-scroller-shadows-content>
|
||||
<div class="b-content" data-bind="initDom: dragOverBodyArea">
|
||||
<div class="content g-scrollbox">
|
||||
<div class="content-wrapper">
|
||||
<div class="listThreadUidDesc" data-bind="visible: '' !== messageListEndThreadUid(), click: cancelThreadUid">
|
||||
<i class="icon-left" data-bind="click: cancelThreadUid"></i>
|
||||
|
|
@ -215,4 +215,4 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@
|
|||
</span>
|
||||
</div>
|
||||
<div class="dateParent actionHandle dragHandle">
|
||||
<span class="date" data-moment-format="SHORT" data-moment-format-title="FULL" data-bind="moment: dateTimeStampInUTC"></span>
|
||||
<time class="date" data-moment-format="SHORT" data-moment-format-title="FULL" data-bind="moment: dateTimeStampInUTC"></time>
|
||||
</div>
|
||||
<div class="threadsParent" data-bind="visible: 1 < threadsLen()">
|
||||
<span class="threads-len">
|
||||
|
|
@ -46,4 +46,4 @@
|
|||
<span class="subject-prefix" data-bind="text: subjectPrefix"></span><span class="subject-suffix" data-bind="text: subjectSuffix"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<div class="delimiter"></div>
|
||||
<div class="wrapper">
|
||||
<div class="dateParent actionHandle dragHandle">
|
||||
<span class="date" data-moment-format="SHORT" data-moment-format-title="FULL" data-bind="moment: dateTimeStampInUTC"></span>
|
||||
<time class="date" data-moment-format="SHORT" data-moment-format-title="FULL" data-bind="moment: dateTimeStampInUTC"></time>
|
||||
</div>
|
||||
<div class="threadsParent" data-bind="visible: 1 < threadsLen()">
|
||||
<span class="threads-len">
|
||||
|
|
@ -47,4 +47,4 @@
|
|||
</div>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -247,7 +247,7 @@
|
|||
</span>
|
||||
</span>
|
||||
<span data-bind="visible: 0 < viewTimeStamp()">
|
||||
(<span class="date" data-moment-format="FULL" data-bind="moment: viewTimeStamp"></span>)
|
||||
(<time class="date" data-moment-format="FULL" data-bind="moment: viewTimeStamp"></time>)
|
||||
</span>
|
||||
</div>
|
||||
<div class="informationShortWrp">
|
||||
|
|
@ -296,17 +296,17 @@
|
|||
<tr data-bind="visible: 0 < viewTimeStamp()">
|
||||
<td><span class="i18n uiLabel" data-i18n="MESSAGE/LABEL_DATE"></span></td>
|
||||
<td>
|
||||
<span class="date uiLabelValue" data-moment-format="FULL" data-bind="moment: viewTimeStamp"></span>
|
||||
<time class="date uiLabelValue" data-moment-format="FULL" data-bind="moment: viewTimeStamp"></time>
|
||||
|
||||
(<span class="date uiLabelValue" data-moment-format="FROMNOW" data-bind="moment: viewTimeStamp"></span>)
|
||||
(<time class="date uiLabelValue" data-moment-format="FROMNOW" data-bind="moment: viewTimeStamp"></time>)
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="messageItem fixIndex" data-bind="css: viewLineAsCss(), nano: true, scrollerShadows: true, attr: {'style': 'top:' + viewBodyTopValue() + 'px' }">
|
||||
<div class="content g-scrollbox" tabindex="0" data-scroller-shadows-content data-bind="hasfocus: messageDomFocused, css: { 'focused': messageDomFocused },
|
||||
<div class="messageItem fixIndex" data-bind="css: viewLineAsCss(), attr: {'style': 'top:' + viewBodyTopValue() + 'px' }">
|
||||
<div class="content g-scrollbox" tabindex="0" data-bind="hasfocus: messageDomFocused, css: { 'focused': messageDomFocused },
|
||||
style: {'background-color': messageLoadingThrottle() ? '' : bodyBackgroundColor()}">
|
||||
|
||||
<div class="content-wrapper">
|
||||
|
|
|
|||
|
|
@ -185,8 +185,8 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="attachmentAreaParent b-content" style="height: 200px; min-height: 200px" data-bind="nano: true, scrollerShadows: true, visible: attachmentsPlace, initResizeTrigger: [resizer(), 200, 57]">
|
||||
<div class="content g-scrollbox" data-scroller-shadows-content>
|
||||
<div class="attachmentAreaParent b-content" style="height: 200px; min-height: 200px" data-bind="visible: attachmentsPlace, initResizeTrigger: [resizer(), 200, 57]">
|
||||
<div class="content g-scrollbox">
|
||||
<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="COMPOSE/ATTACH_DROP_FILES_DESC"></span>
|
||||
|
|
|
|||
|
|
@ -71,8 +71,8 @@
|
|||
<div class="b-list-toolbar">
|
||||
<input type="text" class="i18n span3 e-search" placeholder="Search" autocorrect="off" autocapitalize="off" data-i18n="[placeholder]CONTACTS/SEARCH_INPUT_PLACEHOLDER" data-bind="value: search" />
|
||||
</div>
|
||||
<div class="b-list-content g-ui-user-select-none" data-bind="nano: true, scrollerShadows: true, css: {'hideContactListCheckbox': !useCheckboxesInList()}">
|
||||
<div class="content g-scrollbox" data-scroller-shadows-content>
|
||||
<div class="b-list-content g-ui-user-select-none" data-bind="css: {'hideContactListCheckbox': !useCheckboxesInList()}">
|
||||
<div class="content g-scrollbox">
|
||||
<div class="content-wrapper">
|
||||
<div class="listClear" data-bind="visible: viewClearSearch() && '' !== search()">
|
||||
<span class="g-ui-link i18n" data-i18n="CONTACTS/CLEAR_SEARCH" data-bind="command: clearCommand"></span>
|
||||
|
|
@ -167,8 +167,8 @@
|
|||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="b-view-content" data-bind="nano: true, scrollerShadows: true, css: {'read-only': viewReadOnly}">
|
||||
<div class="content g-scrollbox" data-scroller-shadows-content>
|
||||
<div class="b-view-content" data-bind="css: {'read-only': viewReadOnly}">
|
||||
<div class="content g-scrollbox">
|
||||
<div class="content-wrapper">
|
||||
<div class="b-contact-view-desc" data-bind="visible: emptySelection">
|
||||
<span class="i18n" data-i18n="CONTACTS/CONTACT_VIEW_DESC"></span>
|
||||
|
|
|
|||
|
|
@ -30,7 +30,6 @@
|
|||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<!--<div data-bind="json: $data"></div>-->
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
|
|
|
|||
|
|
@ -18,11 +18,11 @@
|
|||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="b-content" data-bind="nano: true, scrollerShadows: true">
|
||||
<div class="content g-scrollbox" data-scroller-shadows-content>
|
||||
<div class="b-content">
|
||||
<div class="content g-scrollbox">
|
||||
<div class="content-wrapper">
|
||||
<div id="rl-settings-subscreen" class="b-settings-content" style="position: relative; z-index: 2"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue