mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-07-05 16:35:10 +00:00
(feat) added many missing actions on mail folders
This commit is contained in:
@@ -213,19 +213,14 @@
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="f-dropdown" id="imageMenu">
|
||||
<ul>
|
||||
<li id="save_image"><var:string label:value="Save Image"/></li>
|
||||
</ul>
|
||||
</div>
|
||||
-->
|
||||
<!--
|
||||
MAIN CONTENT ROW
|
||||
Content of the application view injected injected in the element bellow
|
||||
Content of the application view injected injected in the element below
|
||||
MUST be the first html element after body
|
||||
SHOULD be a main tag (with role="main")
|
||||
|
||||
Templates script tag wrappers goes next
|
||||
Templates script tag wrappers go next
|
||||
-->
|
||||
<main class="view md-layout-fill" ui-view="mailboxes" layout="row" ng-controller="navController"><!-- mailboxes list --></main>
|
||||
|
||||
@@ -281,26 +276,31 @@
|
||||
ng-click="$mdOpenMenu()"
|
||||
md-menu-origin="md-menu-origin">more_vert</md-icon>
|
||||
<md-menu-content width="2">
|
||||
<!-- <md-menu-item>
|
||||
<md-button type="button" ng-click="TODO">
|
||||
<md-menu-item>
|
||||
<md-button type="button" ng-click="app.markFolderRead(folder)">
|
||||
<var:string label:value="Mark Folder Read"/>
|
||||
</md-button>
|
||||
</md-menu-item> -->
|
||||
</md-menu-item>
|
||||
<md-menu-item>
|
||||
<md-button type="button" ng-click="app.newFolder(folder)">
|
||||
<var:string label:value="New Subfolder..."/>
|
||||
</md-button>
|
||||
</md-menu-item>
|
||||
<!-- <md-menu-item>
|
||||
<md-button type="button" ng-click="TODO">
|
||||
<md-menu-item>
|
||||
<md-button type="button" ng-click="app.compactFolder(folder)">
|
||||
<var:string label:value="Compact"/>
|
||||
</md-button>
|
||||
</md-menu-item> -->
|
||||
</md-menu-item>
|
||||
<md-menu-item>
|
||||
<md-button type="button" ng-click="app.confirmDelete(folder)">
|
||||
<var:string label:value="Delete"/>
|
||||
</md-button>
|
||||
</md-menu-item>
|
||||
<md-menu-item ng-show="folder.type == 'trash'">
|
||||
<md-button type="button" ng-click="app.emptyTrashFolder(folder)">
|
||||
<var:string label:value="Empty Trash"/>
|
||||
</md-button>
|
||||
</md-menu-item>
|
||||
<md-menu-item>
|
||||
<md-button type="button" ng-click="app.exportMails(folder)">
|
||||
<var:string label:value="Export"/>
|
||||
@@ -428,6 +428,9 @@
|
||||
<md-button class="sg-icon-button">
|
||||
<md-icon>star</md-icon>
|
||||
</md-button>
|
||||
<md-button class="sg-icon-button">
|
||||
<md-icon>markunread</md-icon>
|
||||
</md-button>
|
||||
<md-menu>
|
||||
<md-button class="sg-icon-button" label:aria-label="Copy messages" ng-click="$mdOpenMenu()">
|
||||
<md-icon>content_copy</md-icon>
|
||||
|
||||
@@ -338,6 +338,36 @@
|
||||
return deferred.promise;
|
||||
};
|
||||
|
||||
/**
|
||||
* @function $compact
|
||||
* @memberof Mailbox.prototype
|
||||
* @desc Compact the mailbox
|
||||
* @returns a promise of the HTTP operation
|
||||
*/
|
||||
Mailbox.prototype.$compact = function() {
|
||||
return Mailbox.$$resource.post(this.id, 'expunge');
|
||||
};
|
||||
|
||||
/**
|
||||
* @function $emptyTrash
|
||||
* @memberof Mailbox.prototype
|
||||
* @desc Empty the Trash folder.
|
||||
* @returns a promise of the HTTP operation
|
||||
*/
|
||||
Mailbox.prototype.$emptyTrash = function() {
|
||||
return Mailbox.$$resource.post(this.id, 'emptyTrash');
|
||||
};
|
||||
|
||||
/**
|
||||
* @function $markAsRead
|
||||
* @memberof Mailbox.prototype
|
||||
* @desc Mark all messages from folder as read
|
||||
* @returns a promise of the HTTP operation
|
||||
*/
|
||||
Mailbox.prototype.$markAsRead = function() {
|
||||
return Mailbox.$$resource.post(this.id, 'markRead');
|
||||
};
|
||||
|
||||
/**
|
||||
* @function $delete
|
||||
* @memberof Mailbox.prototype
|
||||
|
||||
@@ -20,8 +20,11 @@
|
||||
vm.revertEditing = revertEditing;
|
||||
vm.selectFolder = selectFolder;
|
||||
vm.saveFolder = saveFolder;
|
||||
vm.compactFolder = compactFolder;
|
||||
vm.emptyTrashFolder = emptyTrashFolder;
|
||||
vm.exportMails = exportMails;
|
||||
vm.confirmDelete = confirmDelete;
|
||||
vm.markFolderRead = markFolderRead;
|
||||
vm.share = share;
|
||||
vm.iconForFolder = iconForFolder;
|
||||
|
||||
@@ -136,6 +139,22 @@
|
||||
folder.$rename();
|
||||
}
|
||||
|
||||
function compactFolder(folder) {
|
||||
folder.$compact().then(function() {
|
||||
// Success
|
||||
}, function(error) {
|
||||
Dialog.alert(l('Warning'), error);
|
||||
});
|
||||
}
|
||||
|
||||
function emptyTrashFolder(folder) {
|
||||
folder.$emptyTrash().then(function() {
|
||||
// Success
|
||||
}, function(error) {
|
||||
Dialog.alert(l('Warning'), error);
|
||||
});
|
||||
}
|
||||
|
||||
function exportMails(folder) {
|
||||
window.location.href = ApplicationBaseURL + '/' + folder.id + '/exportFolder';
|
||||
}
|
||||
@@ -153,6 +172,10 @@
|
||||
});
|
||||
}
|
||||
|
||||
function markFolderRead(folder) {
|
||||
folder.$markAsRead();
|
||||
}
|
||||
|
||||
function share(folder) {
|
||||
//if (addressbook.id != vm.service.selectedFolder.id) {
|
||||
// Counter the possibility to click on the "hidden" secondary button
|
||||
|
||||
Reference in New Issue
Block a user