mirror of
https://github.com/gristlabs/grist-core.git
synced 2026-03-02 04:09:24 +00:00
(core) Use unicode-aware comparisons for user-visible strings.
Summary: - Switch code that compares user strings to use localeCompare() based on Intl.Collator. - Use en-US locale for now. (Ideally should be a document property.) - Note that with this change, sorting is also becoming case-insensitive (which seems an improvement) - Updated a sorted test fixture - Updated a browser test with lots of unicode to expect different order. - Added a bit of unicode to test ordering in Reference autocomplete dropdown. Test Plan: Fixed / updated tests Reviewers: paulfitz Reviewed By: paulfitz Differential Revision: https://phab.getgrist.com/D2758
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
* "lush" would only match the "L" in "Lavender".
|
||||
*/
|
||||
|
||||
import {nativeCompare, sortedIndex} from 'app/common/gutil';
|
||||
import {localeCompare, nativeCompare, sortedIndex} from 'app/common/gutil';
|
||||
import {DomContents} from 'grainjs';
|
||||
|
||||
export interface ACItem {
|
||||
@@ -80,7 +80,7 @@ export class ACIndexImpl<Item extends ACItem> implements ACIndex<Item> {
|
||||
}
|
||||
}
|
||||
|
||||
allWords.sort((a, b) => nativeCompare(a.word, b.word));
|
||||
allWords.sort((a, b) => localeCompare(a.word, b.word));
|
||||
this._words = allWords;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user