Forward if METADATA is supported to JavaScript

This commit is contained in:
djmaze 2021-10-15 12:34:45 +02:00
parent 3da130d061
commit c039e813a6
5 changed files with 14 additions and 3 deletions

View file

@ -37,7 +37,9 @@ export class FolderCollectionModel extends AbstractCollectionModel
super();
this.CountRec
this.FoldersHash
this.IsMetadataSupported
this.IsThreadsSupported
this.IsSortSupported
this.Namespace;
this.Optimized
this.SystemFolders
@ -144,6 +146,7 @@ export class FolderCollectionModel extends AbstractCollectionModel
FolderUserStore.folderListOptimized(!!this.Optimized);
FolderUserStore.sortSupported(!!this.IsSortSupported);
FolderUserStore.metadataSupported(!!this.IsMetadataSupported);
FolderUserStore.sentFolder(normalizeFolder(SettingsGet('SentFolder')));
FolderUserStore.draftFolder(normalizeFolder(SettingsGet('DraftFolder')));

View file

@ -24,9 +24,9 @@ import { FolderSystemPopupView } from 'View/Popup/FolderSystem';
export class FoldersUserSettings /*extends AbstractViewSettings*/ {
constructor() {
this.showKolab = Settings.capa(Capa.Kolab);
this.showKolab = Settings.capa(Capa.Kolab) && FolderUserStore.metadataSupported();
this.defaultOptionsAfterRender = defaultOptionsAfterRender;
this.kolabTypeOptions = ko.observableArray()
this.kolabTypeOptions = ko.observableArray();
let i18nFilter = key => i18n('SETTINGS_FOLDERS/TYPE_' + key);
initOnStartOrLangChange(()=>{
this.kolabTypeOptions([

View file

@ -20,9 +20,10 @@ export const FolderUserStore = new class {
displaySpecSetting: false,
/**
* If the IMAP server supports SORT
* If the IMAP server supports SORT, METADATA
*/
sortSupported: false,
metadataSupported: false,
// sortMode: '',
sentFolder: '',

View file

@ -27,6 +27,11 @@ class FolderCollection extends \MailSo\Base\Collection
*/
public $FoldersHash = '';
/**
* @var bool
*/
public $IsMetadataSupported = false;
/**
* @var bool
*/
@ -153,6 +158,7 @@ class FolderCollection extends \MailSo\Base\Collection
return \array_merge(parent::jsonSerialize(), array(
'Namespace' => $this->GetNamespace(),
'FoldersHash' => $this->FoldersHash ?: '',
'IsMetadataSupported' => $this->IsMetadataSupported,
'IsThreadsSupported' => $this->IsThreadsSupported,
'IsSortSupported' => $this->IsSortSupported,
'Optimized' => $this->Optimized,

View file

@ -1995,6 +1995,7 @@ class MailClient
}
$oFolderCollection = new FolderCollection;
$oFolderCollection->IsMetadataSupported = $this->oImapClient->IsSupported('METADATA');
$oFolderCollection->IsThreadsSupported = $this->IsThreadsSupported();
$oFolderCollection->IsSortSupported = $this->oImapClient->IsSupported('SORT');
$oFolderCollection->Optimized = $iCount !== \count($aMailFoldersHelper);