parent
fd13fd632c
commit
48b2008da4
3
NEWS
3
NEWS
|
@ -10,8 +10,7 @@ Enhancements
|
||||||
Bug fixes
|
Bug fixes
|
||||||
- [web] fixed ACL editor in admin module for Safari (#4036)
|
- [web] fixed ACL editor in admin module for Safari (#4036)
|
||||||
- [web] fixed function call when removing contact category (#4039)
|
- [web] fixed function call when removing contact category (#4039)
|
||||||
- [web] localized inbox label (#4040)
|
- [web] localized mailbox names everywhere (#4040, #4041)
|
||||||
|
|
||||||
|
|
||||||
3.2.7 (2017-02-14)
|
3.2.7 (2017-02-14)
|
||||||
------------------
|
------------------
|
||||||
|
|
|
@ -32,13 +32,13 @@
|
||||||
ng-repeat="folder in subscriptions.account.$flattenMailboxes({all: true}) | filter:subscriptions.filter"
|
ng-repeat="folder in subscriptions.account.$flattenMailboxes({all: true}) | filter:subscriptions.filter"
|
||||||
md-item-size="48">
|
md-item-size="48">
|
||||||
<div ng-class="'sg-child-level-' + folder.level">
|
<div ng-class="'sg-child-level-' + folder.level">
|
||||||
<md-icon>{{subscriptions.metadataForFolder(folder).icon}}</md-icon>
|
<md-icon>{{folder.$icon}}</md-icon>
|
||||||
</div>
|
</div>
|
||||||
<p class="sg-item-name">
|
<p class="sg-item-name">
|
||||||
{{subscriptions.metadataForFolder(folder).name}}
|
{{folder.$displayName}}
|
||||||
</p>
|
</p>
|
||||||
<md-checkbox class="md-secondary"
|
<md-checkbox class="md-secondary"
|
||||||
ng-disabled="subscriptions.metadataForFolder(folder).special"
|
ng-disabled="folder.$isSpecial"
|
||||||
ng-model="folder.subscribed"
|
ng-model="folder.subscribed"
|
||||||
ng-change="folder.$updateSubscribe()"
|
ng-change="folder.$updateSubscribe()"
|
||||||
ng-true-value="1"
|
ng-true-value="1"
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
app.accounts[0].$flattenMailboxes()
|
app.accounts[0].$flattenMailboxes()
|
||||||
track by folder.path"
|
track by folder.path"
|
||||||
ng-value="folder.path">
|
ng-value="folder.path">
|
||||||
<span ng-class="'sg-child-level-' + folder.level">{{folder.name}}</span>
|
<span ng-class="'sg-child-level-' + folder.level">{{folder.$displayName}}</span>
|
||||||
</md-option>
|
</md-option>
|
||||||
</md-select>
|
</md-select>
|
||||||
</md-input-container>
|
</md-input-container>
|
||||||
|
@ -69,7 +69,7 @@
|
||||||
<md-icon>search</md-icon>
|
<md-icon>search</md-icon>
|
||||||
</md-button>
|
</md-button>
|
||||||
<a href="javascript:void(0)" class="sg-folder-name"
|
<a href="javascript:void(0)" class="sg-folder-name"
|
||||||
ng-click="mailbox.searchMode()">{{mailbox.selectedFolder.name}}</a>
|
ng-click="mailbox.searchMode()">{{mailbox.selectedFolder.$displayName}}</a>
|
||||||
<md-menu>
|
<md-menu>
|
||||||
<md-button class="sg-icon-button" label:aria-label="Sort"
|
<md-button class="sg-icon-button" label:aria-label="Sort"
|
||||||
ng-click="$mdMenu.open()">
|
ng-click="$mdMenu.open()">
|
||||||
|
@ -214,7 +214,7 @@
|
||||||
<md-button class="sg-no-wrap"
|
<md-button class="sg-no-wrap"
|
||||||
ng-disabled="mailbox.service.selectedFolder.id == folder.id"
|
ng-disabled="mailbox.service.selectedFolder.id == folder.id"
|
||||||
ng-click="mailbox.copySelectedMessages(folder.id)">
|
ng-click="mailbox.copySelectedMessages(folder.id)">
|
||||||
<span ng-class="'sg-child-level-' + folder.level">{{folder.name}}</span>
|
<span ng-class="'sg-child-level-' + folder.level">{{folder.$displayName}}</span>
|
||||||
</md-button>
|
</md-button>
|
||||||
</md-menu-item>
|
</md-menu-item>
|
||||||
</div>
|
</div>
|
||||||
|
@ -243,7 +243,7 @@
|
||||||
<md-button class="sg-no-wrap"
|
<md-button class="sg-no-wrap"
|
||||||
ng-disabled="mailbox.service.selectedFolder.id == folder.id"
|
ng-disabled="mailbox.service.selectedFolder.id == folder.id"
|
||||||
ng-click="mailbox.moveSelectedMessages(folder.id)">
|
ng-click="mailbox.moveSelectedMessages(folder.id)">
|
||||||
<span ng-class="'sg-child-level-' + folder.level">{{folder.name}}</span>
|
<span ng-class="'sg-child-level-' + folder.level">{{folder.$displayName}}</span>
|
||||||
</md-button>
|
</md-button>
|
||||||
</md-menu-item>
|
</md-menu-item>
|
||||||
</div>
|
</div>
|
||||||
|
@ -297,7 +297,7 @@
|
||||||
<div class="sg-md-subhead">
|
<div class="sg-md-subhead">
|
||||||
<div>
|
<div>
|
||||||
<span class="sg-label-outline ng-hide"
|
<span class="sg-label-outline ng-hide"
|
||||||
ng-show="mailbox.service.$virtualMode">{{currentMessage.$mailbox.name}}</span>
|
ng-show="mailbox.service.$virtualMode">{{currentMessage.$mailbox.$displayName}}</span>
|
||||||
<md-icon class="ng-hide"
|
<md-icon class="ng-hide"
|
||||||
ng-show="currentMessage.priority.level == 1 ||
|
ng-show="currentMessage.priority.level == 1 ||
|
||||||
currentMessage.priority.level == 2"
|
currentMessage.priority.level == 2"
|
||||||
|
|
|
@ -89,18 +89,18 @@
|
||||||
<div class="sg-child-level-0"
|
<div class="sg-child-level-0"
|
||||||
ng-class="'sg-child-level-' + folder.level">
|
ng-class="'sg-child-level-' + folder.level">
|
||||||
<md-checkbox class="sg-folder"
|
<md-checkbox class="sg-folder"
|
||||||
ng-class="app.metadataForFolder(folder).icon"
|
ng-class="folder.$icon"
|
||||||
label:aria-label="Expanded"
|
label:aria-label="Expanded"
|
||||||
ng-model="folder.$expanded"
|
ng-model="folder.$expanded"
|
||||||
ng-disabled="folder.children.length == 0"
|
ng-disabled="folder.children.length == 0"
|
||||||
ng-change="account.$flattenMailboxes({ reload: true, saveState: true })">
|
ng-change="account.$flattenMailboxes({ reload: true, saveState: true })">
|
||||||
<md-icon>{{app.metadataForFolder(folder).icon}}</md-icon></md-checkbox>
|
<md-icon>{{folder.$icon}}</md-icon></md-checkbox>
|
||||||
</div>
|
</div>
|
||||||
<p class="sg-item-name ng-hide"
|
<p class="sg-item-name ng-hide"
|
||||||
ng-click="app.selectFolder($event, account, folder)"
|
ng-click="app.selectFolder($event, account, folder)"
|
||||||
ng-dblclick="app.editFolder(folder)"
|
ng-dblclick="app.editFolder(folder)"
|
||||||
ng-show="app.editMode != folder.path">
|
ng-show="app.editMode != folder.path">
|
||||||
{{app.metadataForFolder(folder).name}}
|
{{folder.$displayName}}
|
||||||
<span class="sg-counter-badge ng-hide" ng-show="folder.unseenCount">{{folder.unseenCount}}</span>
|
<span class="sg-counter-badge ng-hide" ng-show="folder.unseenCount">{{folder.unseenCount}}</span>
|
||||||
</p>
|
</p>
|
||||||
<md-input-container class="md-flex ng-hide"
|
<md-input-container class="md-flex ng-hide"
|
||||||
|
|
|
@ -157,16 +157,47 @@
|
||||||
*/
|
*/
|
||||||
Mailbox.prototype.init = function(data) {
|
Mailbox.prototype.init = function(data) {
|
||||||
var _this = this;
|
var _this = this;
|
||||||
this.$isLoading = true;
|
if (angular.isUndefined(this.$messages)) {
|
||||||
this.$messages = [];
|
this.$isLoading = true;
|
||||||
this.uidsMap = {};
|
this.$messages = [];
|
||||||
|
this.uidsMap = {};
|
||||||
|
}
|
||||||
angular.extend(this, data);
|
angular.extend(this, data);
|
||||||
if (this.path) {
|
if (this.path) {
|
||||||
this.id = this.$id();
|
this.id = this.$id();
|
||||||
this.$acl = new Mailbox.$$Acl('Mail/' + this.id);
|
this.$acl = new Mailbox.$$Acl('Mail/' + this.id);
|
||||||
}
|
}
|
||||||
|
this.$displayName = this.name;
|
||||||
if (this.type) {
|
if (this.type) {
|
||||||
this.$isEditable = this.isEditable();
|
this.$isEditable = this.isEditable();
|
||||||
|
this.$isSpecial = true;
|
||||||
|
if (this.type == 'inbox') {
|
||||||
|
this.$displayName = l('InboxFolderName');
|
||||||
|
this.$icon = 'inbox';
|
||||||
|
}
|
||||||
|
else if (this.type == 'draft') {
|
||||||
|
this.$displayName = l('DraftsFolderName');
|
||||||
|
this.$icon = 'drafts';
|
||||||
|
}
|
||||||
|
else if (this.type == 'sent') {
|
||||||
|
this.$displayName = l('SentFolderName');
|
||||||
|
this.$icon = 'send';
|
||||||
|
}
|
||||||
|
else if (this.type == 'trash') {
|
||||||
|
this.$displayName = l('TrashFolderName');
|
||||||
|
this.$icon = 'delete';
|
||||||
|
}
|
||||||
|
else if (this.type == 'junk') {
|
||||||
|
this.$displayName = l('JunkFolderName');
|
||||||
|
this.$icon = 'thumb_down';
|
||||||
|
}
|
||||||
|
else if (this.type == 'additional') {
|
||||||
|
this.$icon = 'folder_shared';
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
this.$isSpecial = false;
|
||||||
|
this.$icon = 'folder_open';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
this.$isNoInferiors = this.isNoInferiors();
|
this.$isNoInferiors = this.isNoInferiors();
|
||||||
if (angular.isUndefined(this.$shadowData)) {
|
if (angular.isUndefined(this.$shadowData)) {
|
||||||
|
|
|
@ -58,7 +58,7 @@
|
||||||
var title = defaultWindowTitle + ' - ';
|
var title = defaultWindowTitle + ' - ';
|
||||||
if (unseenCount)
|
if (unseenCount)
|
||||||
title += '(' + unseenCount + ') ';
|
title += '(' + unseenCount + ') ';
|
||||||
title += vm.selectedFolder.name;
|
title += vm.selectedFolder.$displayName;
|
||||||
$window.document.title = title;
|
$window.document.title = title;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,6 @@
|
||||||
vm.confirmDelete = confirmDelete;
|
vm.confirmDelete = confirmDelete;
|
||||||
vm.markFolderRead = markFolderRead;
|
vm.markFolderRead = markFolderRead;
|
||||||
vm.share = share;
|
vm.share = share;
|
||||||
vm.metadataForFolder = metadataForFolder;
|
|
||||||
vm.setFolderAs = setFolderAs;
|
vm.setFolderAs = setFolderAs;
|
||||||
vm.refreshUnseenCount = refreshUnseenCount;
|
vm.refreshUnseenCount = refreshUnseenCount;
|
||||||
vm.isDroppableFolder = isDroppableFolder;
|
vm.isDroppableFolder = isDroppableFolder;
|
||||||
|
@ -187,7 +186,6 @@
|
||||||
clickOutsideToClose: true,
|
clickOutsideToClose: true,
|
||||||
escapeToClose: true,
|
escapeToClose: true,
|
||||||
locals: {
|
locals: {
|
||||||
metadataForFolder: metadataForFolder,
|
|
||||||
srcAccount: account
|
srcAccount: account
|
||||||
}
|
}
|
||||||
}).finally(function() {
|
}).finally(function() {
|
||||||
|
@ -197,13 +195,12 @@
|
||||||
/**
|
/**
|
||||||
* @ngInject
|
* @ngInject
|
||||||
*/
|
*/
|
||||||
SubscriptionsDialogController.$inject = ['$scope', '$mdDialog', 'metadataForFolder', 'srcAccount'];
|
SubscriptionsDialogController.$inject = ['$scope', '$mdDialog', 'srcAccount'];
|
||||||
function SubscriptionsDialogController($scope, $mdDialog, metadataForFolder, srcAccount) {
|
function SubscriptionsDialogController($scope, $mdDialog, srcAccount) {
|
||||||
var vm = this;
|
var vm = this;
|
||||||
|
|
||||||
vm.loading = true;
|
vm.loading = true;
|
||||||
vm.filter = { name: '' };
|
vm.filter = { name: '' };
|
||||||
vm.metadataForFolder = metadataForFolder;
|
|
||||||
vm.account = new Account({
|
vm.account = new Account({
|
||||||
id: srcAccount.id,
|
id: srcAccount.id,
|
||||||
name: srcAccount.name
|
name: srcAccount.name
|
||||||
|
@ -389,23 +386,6 @@
|
||||||
});
|
});
|
||||||
} // share
|
} // share
|
||||||
|
|
||||||
function metadataForFolder(folder) {
|
|
||||||
if (folder.type == 'inbox')
|
|
||||||
return {name: l('InboxFolderName'), icon:'inbox', special: true};
|
|
||||||
else if (folder.type == 'draft')
|
|
||||||
return {name: l('DraftsFolderName'), icon: 'drafts', special: true};
|
|
||||||
else if (folder.type == 'sent')
|
|
||||||
return {name: l('SentFolderName'), icon: 'send', special: true};
|
|
||||||
else if (folder.type == 'trash')
|
|
||||||
return {name: l('TrashFolderName'), icon: 'delete', special: true};
|
|
||||||
else if (folder.type == 'junk')
|
|
||||||
return {name: l('JunkFolderName'), icon: 'thumb_down', special: true};
|
|
||||||
else if (folder.type == 'additional')
|
|
||||||
return {name: folder.name, icon: 'folder_shared', special: true};
|
|
||||||
|
|
||||||
return {name: folder.name, icon: 'folder_open', special: false};
|
|
||||||
}
|
|
||||||
|
|
||||||
function setFolderAs(folder, type) {
|
function setFolderAs(folder, type) {
|
||||||
folder.$setFolderAs(type).then(function() {
|
folder.$setFolderAs(type).then(function() {
|
||||||
folder.$account.$getMailboxes({reload: true});
|
folder.$account.$getMailboxes({reload: true});
|
||||||
|
|
Loading…
Reference in New Issue