mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-07-13 03:27:39 +03:00
Cleanup function folderListOptionsBuilder()
This commit is contained in:
parent
36b66c3ec5
commit
650e962fdf
4 changed files with 37 additions and 55 deletions
|
|
@ -216,9 +216,7 @@ rl.Utils = {
|
||||||
* @param {Array} aList
|
* @param {Array} aList
|
||||||
* @param {Array=} aDisabled
|
* @param {Array=} aDisabled
|
||||||
* @param {Array=} aHeaderLines
|
* @param {Array=} aHeaderLines
|
||||||
* @param {?number=} iUnDeep
|
|
||||||
* @param {Function=} fDisableCallback
|
* @param {Function=} fDisableCallback
|
||||||
* @param {Function=} fVisibleCallback
|
|
||||||
* @param {Function=} fRenameCallback
|
* @param {Function=} fRenameCallback
|
||||||
* @param {boolean=} bSystem
|
* @param {boolean=} bSystem
|
||||||
* @param {boolean=} bBuildUnvisible
|
* @param {boolean=} bBuildUnvisible
|
||||||
|
|
@ -229,9 +227,7 @@ export function folderListOptionsBuilder(
|
||||||
aList,
|
aList,
|
||||||
aDisabled,
|
aDisabled,
|
||||||
aHeaderLines,
|
aHeaderLines,
|
||||||
iUnDeep,
|
|
||||||
fDisableCallback,
|
fDisableCallback,
|
||||||
fVisibleCallback,
|
|
||||||
fRenameCallback,
|
fRenameCallback,
|
||||||
bSystem,
|
bSystem,
|
||||||
bBuildUnvisible
|
bBuildUnvisible
|
||||||
|
|
@ -246,9 +242,7 @@ export function folderListOptionsBuilder(
|
||||||
|
|
||||||
bBuildUnvisible = undefined === bBuildUnvisible ? false : !!bBuildUnvisible;
|
bBuildUnvisible = undefined === bBuildUnvisible ? false : !!bBuildUnvisible;
|
||||||
bSystem = null == bSystem ? 0 < aSystem.length : bSystem;
|
bSystem = null == bSystem ? 0 < aSystem.length : bSystem;
|
||||||
iUnDeep = null == iUnDeep ? 0 : iUnDeep;
|
|
||||||
fDisableCallback = null != fDisableCallback ? fDisableCallback : null;
|
fDisableCallback = null != fDisableCallback ? fDisableCallback : null;
|
||||||
fVisibleCallback = null != fVisibleCallback ? fVisibleCallback : null;
|
|
||||||
fRenameCallback = null != fRenameCallback ? fRenameCallback : null;
|
fRenameCallback = null != fRenameCallback ? fRenameCallback : null;
|
||||||
|
|
||||||
if (!isArray(aDisabled)) {
|
if (!isArray(aDisabled)) {
|
||||||
|
|
@ -271,19 +265,17 @@ export function folderListOptionsBuilder(
|
||||||
|
|
||||||
bSep = true;
|
bSep = true;
|
||||||
aSystem.forEach(oItem => {
|
aSystem.forEach(oItem => {
|
||||||
if (fVisibleCallback ? fVisibleCallback(oItem) : true) {
|
aResult.push({
|
||||||
aResult.push({
|
id: oItem.fullNameRaw,
|
||||||
id: oItem.fullNameRaw,
|
name: fRenameCallback ? fRenameCallback(oItem) : oItem.name(),
|
||||||
name: fRenameCallback ? fRenameCallback(oItem) : oItem.name(),
|
system: true,
|
||||||
system: true,
|
dividerbar: bSep,
|
||||||
dividerbar: bSep,
|
disabled:
|
||||||
disabled:
|
!oItem.selectable ||
|
||||||
!oItem.selectable ||
|
aDisabled.includes(oItem.fullNameRaw) ||
|
||||||
aDisabled.includes(oItem.fullNameRaw) ||
|
(fDisableCallback ? fDisableCallback(oItem) : false)
|
||||||
(fDisableCallback ? fDisableCallback(oItem) : false)
|
});
|
||||||
});
|
bSep = false;
|
||||||
bSep = false;
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
bSep = true;
|
bSep = true;
|
||||||
|
|
@ -293,22 +285,20 @@ export function folderListOptionsBuilder(
|
||||||
(oItem.subscribed() || !oItem.exists || bBuildUnvisible) &&
|
(oItem.subscribed() || !oItem.exists || bBuildUnvisible) &&
|
||||||
(oItem.selectable || oItem.hasSubscribedSubfolders())
|
(oItem.selectable || oItem.hasSubscribedSubfolders())
|
||||||
) {
|
) {
|
||||||
if (fVisibleCallback ? fVisibleCallback(oItem) : true) {
|
if (FolderType.User === oItem.type() || !bSystem || oItem.hasSubscribedSubfolders()) {
|
||||||
if (FolderType.User === oItem.type() || !bSystem || oItem.hasSubscribedSubfolders()) {
|
aResult.push({
|
||||||
aResult.push({
|
id: oItem.fullNameRaw,
|
||||||
id: oItem.fullNameRaw,
|
name:
|
||||||
name:
|
sDeepPrefix.repeat(oItem.deep + 1) +
|
||||||
new Array(oItem.deep + 1 - iUnDeep).join(sDeepPrefix) +
|
(fRenameCallback ? fRenameCallback(oItem) : oItem.name()),
|
||||||
(fRenameCallback ? fRenameCallback(oItem) : oItem.name()),
|
system: false,
|
||||||
system: false,
|
dividerbar: bSep,
|
||||||
dividerbar: bSep,
|
disabled:
|
||||||
disabled:
|
!oItem.selectable ||
|
||||||
!oItem.selectable ||
|
aDisabled.includes(oItem.fullNameRaw) ||
|
||||||
aDisabled.includes(oItem.fullNameRaw) ||
|
(fDisableCallback ? fDisableCallback(oItem) : false)
|
||||||
(fDisableCallback ? fDisableCallback(oItem) : false)
|
});
|
||||||
});
|
bSep = false;
|
||||||
bSep = false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -319,9 +309,7 @@ export function folderListOptionsBuilder(
|
||||||
oItem.subFolders(),
|
oItem.subFolders(),
|
||||||
aDisabled,
|
aDisabled,
|
||||||
[],
|
[],
|
||||||
iUnDeep,
|
|
||||||
fDisableCallback,
|
fDisableCallback,
|
||||||
fVisibleCallback,
|
|
||||||
fRenameCallback,
|
fRenameCallback,
|
||||||
bSystem,
|
bSystem,
|
||||||
bBuildUnvisible
|
bBuildUnvisible
|
||||||
|
|
|
||||||
|
|
@ -104,9 +104,7 @@ export const FolderUserStore = new class {
|
||||||
this.folderListSystem(),
|
this.folderListSystem(),
|
||||||
this.folderList(),
|
this.folderList(),
|
||||||
[this.currentFolderFullNameRaw()],
|
[this.currentFolderFullNameRaw()],
|
||||||
null,
|
[],
|
||||||
null,
|
|
||||||
null,
|
|
||||||
null,
|
null,
|
||||||
(item) => (item ? item.localName() : '')
|
(item) => (item ? item.localName() : '')
|
||||||
)
|
)
|
||||||
|
|
@ -119,8 +117,6 @@ export const FolderUserStore = new class {
|
||||||
[this.sieveAllowFileintoInbox ? '' : 'INBOX'],
|
[this.sieveAllowFileintoInbox ? '' : 'INBOX'],
|
||||||
[['', '']],
|
[['', '']],
|
||||||
null,
|
null,
|
||||||
null,
|
|
||||||
null,
|
|
||||||
(item) => (item ? item.localName() : '')
|
(item) => (item ? item.localName() : '')
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -23,19 +23,19 @@ class FolderCreatePopupView extends AbstractViewPopup {
|
||||||
selectedParentValue: UNUSED_OPTION_VALUE
|
selectedParentValue: UNUSED_OPTION_VALUE
|
||||||
});
|
});
|
||||||
|
|
||||||
this.parentFolderSelectList = ko.computed(() => {
|
this.parentFolderSelectList = ko.computed(() =>
|
||||||
const top = [],
|
folderListOptionsBuilder(
|
||||||
list = FolderUserStore.folderList(),
|
[],
|
||||||
fDisableCallback = FolderUserStore.namespace
|
FolderUserStore.folderList(),
|
||||||
|
[],
|
||||||
|
[['', '']],
|
||||||
|
FolderUserStore.namespace
|
||||||
? item => FolderUserStore.namespace !== item.fullNameRaw.substr(0, FolderUserStore.namespace.length)
|
? item => FolderUserStore.namespace !== item.fullNameRaw.substr(0, FolderUserStore.namespace.length)
|
||||||
: null,
|
: null,
|
||||||
fRenameCallback = oItem =>
|
oItem =>
|
||||||
oItem ? (oItem.isSystemFolder() ? oItem.name() + ' ' + oItem.manageFolderSystemName() : oItem.name()) : '';
|
oItem ? (oItem.isSystemFolder() ? oItem.name() + ' ' + oItem.manageFolderSystemName() : oItem.name()) : ''
|
||||||
|
)
|
||||||
top.push(['', '']);
|
);
|
||||||
|
|
||||||
return folderListOptionsBuilder([], list, [], top, null, fDisableCallback, null, fRenameCallback);
|
|
||||||
});
|
|
||||||
|
|
||||||
this.defaultOptionsAfterRender = defaultOptionsAfterRender;
|
this.defaultOptionsAfterRender = defaultOptionsAfterRender;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -39,8 +39,6 @@ class FolderSystemPopupView extends AbstractViewPopup {
|
||||||
null,
|
null,
|
||||||
null,
|
null,
|
||||||
null,
|
null,
|
||||||
null,
|
|
||||||
null,
|
|
||||||
true
|
true
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue