1
0
mirror of https://github.com/xuthus83/pigallery2.git synced 2024-11-03 21:04:03 +08:00

Merge remote-tracking branch 'origin/master'

This commit is contained in:
Patrik J. Braun 2021-08-07 18:09:57 +02:00
commit 6a4c38a868
4 changed files with 12 additions and 20 deletions

View File

@ -125,7 +125,6 @@
"leaflet": "1.7.1", "leaflet": "1.7.1",
"leaflet.markercluster": "1.5.0", "leaflet.markercluster": "1.5.0",
"mocha": "8.4.0", "mocha": "8.4.0",
"natural-orderby": "2.0.3",
"ngx-bootstrap": "6.2.0", "ngx-bootstrap": "6.2.0",
"ngx-clipboard": "14.0.1", "ngx-clipboard": "14.0.1",
"ngx-cookie-service": "11.0.2", "ngx-cookie-service": "11.0.2",

View File

@ -2,10 +2,6 @@ nav {
z-index: 999; z-index: 999;
} }
.navbar {
margin-bottom: 20px;
}
ng2-slim-loading-bar { ng2-slim-loading-bar {
/* display: block; */ /* display: block; */
z-index: 999999; z-index: 999999;

View File

@ -17,7 +17,6 @@ import {PhotoDTO} from '../../../../common/entities/PhotoDTO';
import {QueryParams} from '../../../../common/QueryParams'; import {QueryParams} from '../../../../common/QueryParams';
import {SeededRandomService} from '../../model/seededRandom.service'; import {SeededRandomService} from '../../model/seededRandom.service';
import {take} from 'rxjs/operators'; import {take} from 'rxjs/operators';
import {compare} from 'natural-orderby';
@Component({ @Component({
selector: 'app-gallery', selector: 'app-gallery',
@ -160,6 +159,8 @@ export class GalleryComponent implements OnInit, OnDestroy {
} }
}; };
private collator = new Intl.Collator(undefined, {numeric: true});
private sortDirectories(): void { private sortDirectories(): void {
if (!this.directories) { if (!this.directories) {
return; return;
@ -167,26 +168,25 @@ export class GalleryComponent implements OnInit, OnDestroy {
switch (this.galleryService.sorting.value) { switch (this.galleryService.sorting.value) {
case SortingMethods.ascRating: // directories does not have rating case SortingMethods.ascRating: // directories does not have rating
case SortingMethods.ascName: case SortingMethods.ascName:
this.directories.sort((a, b) => compare()(a.name, b.name)); this.directories.sort((a, b) => this.collator.compare(a.name, b.name));
break; break;
case SortingMethods.ascDate: case SortingMethods.ascDate:
if (Config.Client.Other.enableDirectorySortingByDate === true) { if (Config.Client.Other.enableDirectorySortingByDate === true) {
this.directories.sort((a, b) => compare()(a.lastModified, b.lastModified)); this.directories.sort((a, b) => a.lastModified - b.lastModified);
break; break;
} }
this.directories.sort((a, b) => compare()(a.name, b.name)); this.directories.sort((a, b) => this.collator.compare(a.name, b.name));
break; break;
case SortingMethods.descRating: // directories does not have rating case SortingMethods.descRating: // directories does not have rating
case SortingMethods.descName: case SortingMethods.descName:
this.directories.sort((a, b) => compare({order: 'desc'})(a.name, b.name)); this.directories.sort((a, b) => this.collator.compare(b.name, a.name));
break; break;
case SortingMethods.descDate: case SortingMethods.descDate:
if (Config.Client.Other.enableDirectorySortingByDate === true) { if (Config.Client.Other.enableDirectorySortingByDate === true) {
this.directories.sort((a, b) => compare({order: 'desc'})(a.lastModified, b.lastModified)); this.directories.sort((a, b) => b.lastModified - a.lastModified);
break; break;
} }
this.directories.sort((a, b) => compare({order: 'desc'})(a.name, b.name)); this.directories.sort((a, b) => this.collator.compare(b.name, a.name));
break; break;
case SortingMethods.random: case SortingMethods.random:
this.rndService.setSeed(this.directories.length); this.rndService.setSeed(this.directories.length);
@ -207,4 +207,3 @@ export class GalleryComponent implements OnInit, OnDestroy {
} }
} }

View File

@ -28,7 +28,6 @@ import {SortingMethods} from '../../../../../common/entities/SortingMethods';
import {MediaDTO, MediaDTOUtils} from '../../../../../common/entities/MediaDTO'; import {MediaDTO, MediaDTOUtils} from '../../../../../common/entities/MediaDTO';
import {QueryParams} from '../../../../../common/QueryParams'; import {QueryParams} from '../../../../../common/QueryParams';
import {SeededRandomService} from '../../../model/seededRandom.service'; import {SeededRandomService} from '../../../model/seededRandom.service';
import {compare} from 'natural-orderby';
@Component({ @Component({
selector: 'app-gallery-grid', selector: 'app-gallery-grid',
@ -239,13 +238,15 @@ export class GalleryGridComponent implements OnChanges, OnInit, AfterViewInit, O
this.changeDetector.detectChanges(); this.changeDetector.detectChanges();
} }
private collator = new Intl.Collator(undefined, {numeric: true});
private sortPhotos(): void { private sortPhotos(): void {
switch (this.galleryService.sorting.value) { switch (this.galleryService.sorting.value) {
case SortingMethods.ascName: case SortingMethods.ascName:
this.media.sort((a: PhotoDTO, b: PhotoDTO) => compare()(a.name, b.name)); this.media.sort((a: PhotoDTO, b: PhotoDTO) => this.collator.compare(a.name, b.name));
break; break;
case SortingMethods.descName: case SortingMethods.descName:
this.media.sort((a: PhotoDTO, b: PhotoDTO) => compare({order: 'desc'})(a.name, b.name)); this.media.sort((a: PhotoDTO, b: PhotoDTO) => this.collator.compare(b.name, a.name));
break; break;
case SortingMethods.ascDate: case SortingMethods.ascDate:
this.media.sort((a: PhotoDTO, b: PhotoDTO): number => { this.media.sort((a: PhotoDTO, b: PhotoDTO): number => {
@ -378,6 +379,3 @@ export class GalleryGridComponent implements OnChanges, OnInit, AfterViewInit, O
} }