mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-07-13 03:27:39 +03:00
Replace all new Intl.Collator with new baseCollator
This commit is contained in:
parent
70b1a93108
commit
7450afeecf
7 changed files with 17 additions and 9 deletions
|
|
@ -1,5 +1,6 @@
|
||||||
import { RFC822 } from 'Common/File';
|
import { RFC822 } from 'Common/File';
|
||||||
import { getFolderInboxName, getFolderFromCacheList } from 'Common/Cache';
|
import { getFolderInboxName, getFolderFromCacheList } from 'Common/Cache';
|
||||||
|
import { baseCollator } from 'Common/Translator';
|
||||||
import { isArray, arrayLength } from 'Common/Utils';
|
import { isArray, arrayLength } from 'Common/Utils';
|
||||||
import { SettingsUserStore } from 'Stores/User/Settings';
|
import { SettingsUserStore } from 'Stores/User/Settings';
|
||||||
import { FolderUserStore } from 'Stores/User/Folder';
|
import { FolderUserStore } from 'Stores/User/Folder';
|
||||||
|
|
@ -27,7 +28,7 @@ setRefreshFoldersInterval = minutes => {
|
||||||
|
|
||||||
sortFolders = folders => {
|
sortFolders = folders => {
|
||||||
try {
|
try {
|
||||||
let collator = new Intl.Collator(undefined, {numeric: true, sensitivity: 'base'});
|
let collator = baseCollator(true);
|
||||||
folders.sort((a, b) =>
|
folders.sort((a, b) =>
|
||||||
a.isInbox() ? -1 : (b.isInbox() ? 1 : collator.compare(a.fullName, b.fullName))
|
a.isInbox() ? -1 : (b.isInbox() ? 1 : collator.compare(a.fullName, b.fullName))
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -218,7 +218,6 @@ export const
|
||||||
}),
|
}),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @param {string} language
|
* @param {string} language
|
||||||
* @param {boolean=} isEng = false
|
* @param {boolean=} isEng = false
|
||||||
* @returns {string}
|
* @returns {string}
|
||||||
|
|
@ -228,6 +227,8 @@ export const
|
||||||
'LANGS_NAMES' + (true === isEng ? '_EN' : '') + '/' + language,
|
'LANGS_NAMES' + (true === isEng ? '_EN' : '') + '/' + language,
|
||||||
null,
|
null,
|
||||||
language
|
language
|
||||||
);
|
),
|
||||||
|
|
||||||
|
baseCollator = numeric => new Intl.Collator(doc.documentElement.lang, {numeric: !!numeric, sensitivity: 'base'});
|
||||||
|
|
||||||
init();
|
init();
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
import { baseCollator } from 'Common/Translator';
|
||||||
import { AbstractCollectionModel } from 'Model/AbstractCollection';
|
import { AbstractCollectionModel } from 'Model/AbstractCollection';
|
||||||
import { AttachmentModel } from 'Model/Attachment';
|
import { AttachmentModel } from 'Model/Attachment';
|
||||||
|
|
||||||
|
|
@ -11,7 +12,7 @@ export class AttachmentCollectionModel extends AbstractCollectionModel
|
||||||
*/
|
*/
|
||||||
static reviveFromJson(items) {
|
static reviveFromJson(items) {
|
||||||
const attachments = super.reviveFromJson(items, attachment => AttachmentModel.reviveFromJson(attachment));
|
const attachments = super.reviveFromJson(items, attachment => AttachmentModel.reviveFromJson(attachment));
|
||||||
let collator = new Intl.Collator(undefined, {numeric: true, sensitivity: 'base'});
|
let collator = baseCollator(true);
|
||||||
attachments.sort((a, b) => {
|
attachments.sort((a, b) => {
|
||||||
if (a.isInline()) {
|
if (a.isInline()) {
|
||||||
if (!b.isInline()) {
|
if (!b.isInline()) {
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,8 @@ import { OpenPgpKeyPopupView } from 'View/Popup/OpenPgpKey';
|
||||||
|
|
||||||
import { Passphrases } from 'Storage/Passphrases';
|
import { Passphrases } from 'Storage/Passphrases';
|
||||||
|
|
||||||
|
import { baseCollator } from 'Common/Translator';
|
||||||
|
|
||||||
const
|
const
|
||||||
findGnuPGKey = (keys, query/*, sign*/) =>
|
findGnuPGKey = (keys, query/*, sign*/) =>
|
||||||
keys.find(key =>
|
keys.find(key =>
|
||||||
|
|
@ -106,7 +108,7 @@ export const GnuPGUserStore = new class {
|
||||||
key.view = () => key.fetch(() => showScreenPopup(OpenPgpKeyPopupView, [key]));
|
key.view = () => key.fetch(() => showScreenPopup(OpenPgpKeyPopupView, [key]));
|
||||||
return key;
|
return key;
|
||||||
},
|
},
|
||||||
collator = new Intl.Collator(undefined, {sensitivity: 'base'}),
|
collator = baseCollator(),
|
||||||
sort = keys => keys.sort(
|
sort = keys => keys.sort(
|
||||||
(a, b) => collator.compare(a.emails[0], b.emails[0]) || collator.compare(a.id, b.id)
|
(a, b) => collator.compare(a.emails[0], b.emails[0]) || collator.compare(a.id, b.id)
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,8 @@ import { OpenPgpKeyPopupView } from 'View/Popup/OpenPgpKey';
|
||||||
|
|
||||||
import { Passphrases } from 'Storage/Passphrases';
|
import { Passphrases } from 'Storage/Passphrases';
|
||||||
|
|
||||||
|
import { baseCollator } from 'Common/Translator';
|
||||||
|
|
||||||
const
|
const
|
||||||
findOpenPGPKey = (keys, query/*, sign*/) =>
|
findOpenPGPKey = (keys, query/*, sign*/) =>
|
||||||
keys.find(key =>
|
keys.find(key =>
|
||||||
|
|
@ -39,7 +41,7 @@ const
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
collator = new Intl.Collator(undefined, {sensitivity: 'base'}),
|
collator = baseCollator(),
|
||||||
sort = keys => keys.sort(
|
sort = keys => keys.sort(
|
||||||
// (a, b) => collator.compare(a.emails[0], b.emails[0]) || collator.compare(a.fingerprint, b.fingerprint)
|
// (a, b) => collator.compare(a.emails[0], b.emails[0]) || collator.compare(a.fingerprint, b.fingerprint)
|
||||||
(a, b) => collator.compare(a.emails[0], b.emails[0]) || collator.compare(a.id, b.id)
|
(a, b) => collator.compare(a.emails[0], b.emails[0]) || collator.compare(a.id, b.id)
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
import { addObservablesTo, koArrayWithDestroy } from 'External/ko';
|
import { addObservablesTo, koArrayWithDestroy } from 'External/ko';
|
||||||
|
import { baseCollator } from 'Common/Translator';
|
||||||
import Remote from 'Remote/User/Fetch';
|
import Remote from 'Remote/User/Fetch';
|
||||||
|
|
||||||
export const SMimeUserStore = koArrayWithDestroy();
|
export const SMimeUserStore = koArrayWithDestroy();
|
||||||
|
|
@ -12,7 +13,7 @@ SMimeUserStore.loadCertificates = () => {
|
||||||
SMimeUserStore.loading(true);
|
SMimeUserStore.loading(true);
|
||||||
Remote.request('SMimeGetCertificates', (iError, oData) => {
|
Remote.request('SMimeGetCertificates', (iError, oData) => {
|
||||||
SMimeUserStore.loading(false);
|
SMimeUserStore.loading(false);
|
||||||
const collator = new Intl.Collator(undefined, {sensitivity: 'base'});
|
const collator = baseCollator();
|
||||||
iError || SMimeUserStore(oData.Result.sort(
|
iError || SMimeUserStore(oData.Result.sort(
|
||||||
(a, b) => collator.compare(a.emailAddress, b.emailAddress) || (b.validTo_time_t - a.validTo_time_t)
|
(a, b) => collator.compare(a.emailAddress, b.emailAddress) || (b.validTo_time_t - a.validTo_time_t)
|
||||||
));
|
));
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ import { koComputable, addObservablesTo } from 'External/ko';
|
||||||
import { Notifications } from 'Common/Enums';
|
import { Notifications } from 'Common/Enums';
|
||||||
import { defaultOptionsAfterRender } from 'Common/Utils';
|
import { defaultOptionsAfterRender } from 'Common/Utils';
|
||||||
import { folderListOptionsBuilder, sortFolders } from 'Common/Folders';
|
import { folderListOptionsBuilder, sortFolders } from 'Common/Folders';
|
||||||
import { getNotification } from 'Common/Translator';
|
import { getNotification/*, baseCollator*/ } from 'Common/Translator';
|
||||||
|
|
||||||
import { FolderUserStore } from 'Stores/User/Folder';
|
import { FolderUserStore } from 'Stores/User/Folder';
|
||||||
|
|
||||||
|
|
@ -56,7 +56,7 @@ export class FolderCreatePopupView extends AbstractViewPopup {
|
||||||
folders.push(subFolder);
|
folders.push(subFolder);
|
||||||
sortFolders(folders);
|
sortFolders(folders);
|
||||||
/*
|
/*
|
||||||
var collator = new Intl.Collator(undefined, {numeric: true, sensitivity: 'base'});
|
var collator = baseCollator(true);
|
||||||
console.log((folder ? folder.subFolders : FolderUserStore.folderList).sort(collator.compare));
|
console.log((folder ? folder.subFolders : FolderUserStore.folderList).sort(collator.compare));
|
||||||
*/
|
*/
|
||||||
},
|
},
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue