IsEmpty Filter and other small fixes (#3142)
Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
This commit is contained in:
parent
e574caf7eb
commit
07a36176de
96 changed files with 1361 additions and 1135 deletions
|
|
@ -1,6 +1,7 @@
|
|||
import { Pipe, PipeTransform } from '@angular/core';
|
||||
import {translate} from "@jsverse/transloco";
|
||||
import {BookPageLayoutMode} from "../_models/readers/book-page-layout-mode";
|
||||
import {ScalingOption} from "../_models/preferences/scaling-option";
|
||||
|
||||
@Pipe({
|
||||
name: 'bookPageLayoutMode',
|
||||
|
|
@ -9,7 +10,8 @@ import {BookPageLayoutMode} from "../_models/readers/book-page-layout-mode";
|
|||
export class BookPageLayoutModePipe implements PipeTransform {
|
||||
|
||||
transform(value: BookPageLayoutMode): string {
|
||||
switch (value) {
|
||||
const v = parseInt(value + '', 10) as BookPageLayoutMode;
|
||||
switch (v) {
|
||||
case BookPageLayoutMode.Column1: return translate('preferences.1-column');
|
||||
case BookPageLayoutMode.Column2: return translate('preferences.2-column');
|
||||
case BookPageLayoutMode.Default: return translate('preferences.scroll');
|
||||
|
|
|
|||
|
|
@ -42,6 +42,8 @@ export class FilterComparisonPipe implements PipeTransform {
|
|||
return translate('filter-comparison-pipe.is-not-in-last');
|
||||
case FilterComparison.MustContains:
|
||||
return translate('filter-comparison-pipe.must-contains');
|
||||
case FilterComparison.IsEmpty:
|
||||
return translate('filter-comparison-pipe.is-empty');
|
||||
default:
|
||||
throw new Error(`Invalid FilterComparison value: ${value}`);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
import { Pipe, PipeTransform } from '@angular/core';
|
||||
import {translate} from "@jsverse/transloco";
|
||||
import {LayoutMode} from "../manga-reader/_models/layout-mode";
|
||||
import {ScalingOption} from "../_models/preferences/scaling-option";
|
||||
|
||||
@Pipe({
|
||||
name: 'layoutMode',
|
||||
|
|
@ -9,7 +10,8 @@ import {LayoutMode} from "../manga-reader/_models/layout-mode";
|
|||
export class LayoutModePipe implements PipeTransform {
|
||||
|
||||
transform(value: LayoutMode): string {
|
||||
switch (value) {
|
||||
const v = parseInt(value + '', 10) as LayoutMode;
|
||||
switch (v) {
|
||||
case LayoutMode.Single: return translate('preferences.single');
|
||||
case LayoutMode.Double: return translate('preferences.double');
|
||||
case LayoutMode.DoubleReversed: return translate('preferences.double-manga');
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
import { Pipe, PipeTransform } from '@angular/core';
|
||||
import {translate} from "@jsverse/transloco";
|
||||
import {PageSplitOption} from "../_models/preferences/page-split-option";
|
||||
import {ScalingOption} from "../_models/preferences/scaling-option";
|
||||
|
||||
@Pipe({
|
||||
name: 'pageSplitOption',
|
||||
|
|
@ -9,7 +10,8 @@ import {PageSplitOption} from "../_models/preferences/page-split-option";
|
|||
export class PageSplitOptionPipe implements PipeTransform {
|
||||
|
||||
transform(value: PageSplitOption): string {
|
||||
switch (value) {
|
||||
const v = parseInt(value + '', 10) as PageSplitOption;
|
||||
switch (v) {
|
||||
case PageSplitOption.FitSplit: return translate('preferences.fit-to-screen');
|
||||
case PageSplitOption.NoSplit: return translate('preferences.no-split');
|
||||
case PageSplitOption.SplitLeftToRight: return translate('preferences.split-left-to-right');
|
||||
|
|
|
|||
|
|
@ -9,7 +9,8 @@ import {PdfScrollMode} from "../_models/preferences/pdf-scroll-mode";
|
|||
export class PdfScrollModePipe implements PipeTransform {
|
||||
|
||||
transform(value: PdfScrollMode): string {
|
||||
switch (value) {
|
||||
const v = parseInt(value + '', 10) as PdfScrollMode;
|
||||
switch (v) {
|
||||
case PdfScrollMode.Wrapped: return translate('preferences.pdf-multiple');
|
||||
case PdfScrollMode.Page: return translate('preferences.pdf-page');
|
||||
case PdfScrollMode.Horizontal: return translate('preferences.pdf-horizontal');
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
import { Pipe, PipeTransform } from '@angular/core';
|
||||
import {PdfSpreadMode} from "../_models/preferences/pdf-spread-mode";
|
||||
import {translate} from "@jsverse/transloco";
|
||||
import {ScalingOption} from "../_models/preferences/scaling-option";
|
||||
|
||||
@Pipe({
|
||||
name: 'pdfSpreadMode',
|
||||
|
|
@ -9,7 +10,8 @@ import {translate} from "@jsverse/transloco";
|
|||
export class PdfSpreadModePipe implements PipeTransform {
|
||||
|
||||
transform(value: PdfSpreadMode): string {
|
||||
switch (value) {
|
||||
const v = parseInt(value + '', 10) as PdfSpreadMode;
|
||||
switch (v) {
|
||||
case PdfSpreadMode.None: return translate('preferences.pdf-none');
|
||||
case PdfSpreadMode.Odd: return translate('preferences.pdf-odd');
|
||||
case PdfSpreadMode.Even: return translate('preferences.pdf-even');
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
import { Pipe, PipeTransform } from '@angular/core';
|
||||
import {PdfTheme} from "../_models/preferences/pdf-theme";
|
||||
import {translate} from "@jsverse/transloco";
|
||||
import {ScalingOption} from "../_models/preferences/scaling-option";
|
||||
|
||||
@Pipe({
|
||||
name: 'pdfTheme',
|
||||
|
|
@ -9,7 +10,8 @@ import {translate} from "@jsverse/transloco";
|
|||
export class PdfThemePipe implements PipeTransform {
|
||||
|
||||
transform(value: PdfTheme): string {
|
||||
switch (value) {
|
||||
const v = parseInt(value + '', 10) as PdfTheme;
|
||||
switch (v) {
|
||||
case PdfTheme.Dark: return translate('preferences.pdf-dark');
|
||||
case PdfTheme.Light: return translate('preferences.pdf-light');
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,7 +9,8 @@ import {translate} from "@jsverse/transloco";
|
|||
export class ReadingDirectionPipe implements PipeTransform {
|
||||
|
||||
transform(value: ReadingDirection): string {
|
||||
switch (value) {
|
||||
const v = parseInt(value + '', 10) as ReadingDirection;
|
||||
switch (v) {
|
||||
case ReadingDirection.LeftToRight: return translate('preferences.left-to-right');
|
||||
case ReadingDirection.RightToLeft: return translate('preferences.right-to-left');
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
import { Pipe, PipeTransform } from '@angular/core';
|
||||
import {ReaderMode} from "../_models/preferences/reader-mode";
|
||||
import {translate} from "@jsverse/transloco";
|
||||
import {ScalingOption} from "../_models/preferences/scaling-option";
|
||||
|
||||
@Pipe({
|
||||
name: 'readerMode',
|
||||
|
|
@ -9,7 +10,8 @@ import {translate} from "@jsverse/transloco";
|
|||
export class ReaderModePipe implements PipeTransform {
|
||||
|
||||
transform(value: ReaderMode): string {
|
||||
switch (value) {
|
||||
const v = parseInt(value + '', 10) as ReaderMode;
|
||||
switch (v) {
|
||||
case ReaderMode.UpDown: return translate('preferences.up-to-down');
|
||||
case ReaderMode.Webtoon: return translate('preferences.webtoon');
|
||||
case ReaderMode.LeftRight: return translate('preferences.left-to-right');
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
import { Pipe, PipeTransform } from '@angular/core';
|
||||
import {translate} from "@jsverse/transloco";
|
||||
import {ScalingOption} from "../_models/preferences/scaling-option";
|
||||
import {ReadingDirection} from "../_models/preferences/reading-direction";
|
||||
|
||||
@Pipe({
|
||||
name: 'scalingOption',
|
||||
|
|
@ -9,7 +10,8 @@ import {ScalingOption} from "../_models/preferences/scaling-option";
|
|||
export class ScalingOptionPipe implements PipeTransform {
|
||||
|
||||
transform(value: ScalingOption): string {
|
||||
switch (value) {
|
||||
const v = parseInt(value + '', 10) as ScalingOption;
|
||||
switch (v) {
|
||||
case ScalingOption.Automatic: return translate('preferences.automatic');
|
||||
case ScalingOption.FitToHeight: return translate('preferences.fit-to-height');
|
||||
case ScalingOption.FitToWidth: return translate('preferences.fit-to-width');
|
||||
|
|
|
|||
|
|
@ -16,7 +16,10 @@ type UtcToLocalTimeFormat = 'full' | 'short' | 'shortDate' | 'shortTime';
|
|||
export class UtcToLocalTimePipe implements PipeTransform {
|
||||
|
||||
transform(utcDate: string | undefined | null, format: UtcToLocalTimeFormat = 'short'): string {
|
||||
if (utcDate === undefined || utcDate === null) return '';
|
||||
if (utcDate === '' || utcDate === null || utcDate === undefined || utcDate.split('T')[0] === '0001-01-01') {
|
||||
return '';
|
||||
}
|
||||
|
||||
const browserLanguage = navigator.language;
|
||||
const dateTime = DateTime.fromISO(utcDate, { zone: 'utc' }).toLocal().setLocale(browserLanguage);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
import { Pipe, PipeTransform } from '@angular/core';
|
||||
import {translate} from "@jsverse/transloco";
|
||||
import {WritingStyle} from "../_models/preferences/writing-style";
|
||||
import {ScalingOption} from "../_models/preferences/scaling-option";
|
||||
|
||||
@Pipe({
|
||||
name: 'writingStyle',
|
||||
|
|
@ -9,7 +10,8 @@ import {WritingStyle} from "../_models/preferences/writing-style";
|
|||
export class WritingStylePipe implements PipeTransform {
|
||||
|
||||
transform(value: WritingStyle): string {
|
||||
switch (value) {
|
||||
const v = parseInt(value + '', 10) as WritingStyle;
|
||||
switch (v) {
|
||||
case WritingStyle.Horizontal: return translate('preferences.horizontal');
|
||||
case WritingStyle.Vertical: return translate('preferences.vertical');
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue