support custom quick save button styles on the mobile transaction edit page
This commit is contained in:
+7
-1
@@ -1,7 +1,10 @@
|
||||
import { type WeekDayValue, WeekDay } from './datetime.ts';
|
||||
import { TimezoneTypeForStatistics } from './timezone.ts';
|
||||
import { CurrencySortingType } from './currency.ts';
|
||||
import { TransactionQuickAddButtonActionType } from './transaction.ts';
|
||||
import {
|
||||
TransactionQuickSaveButtonStyle,
|
||||
TransactionQuickAddButtonActionType
|
||||
} from './transaction.ts';
|
||||
import {
|
||||
CategoricalChartType,
|
||||
TrendChartType,
|
||||
@@ -44,6 +47,7 @@ export interface ApplicationSettings extends BaseApplicationSetting {
|
||||
overviewAccountFilterInHomePage: Record<string, boolean>;
|
||||
overviewTransactionCategoryFilterInHomePage: Record<string, boolean>;
|
||||
// Transaction List Page
|
||||
quickSaveButtonStyleInMobileTransactionListPage: number;
|
||||
quickAddButtonActionInMobileTransactionEditPage: number;
|
||||
itemsCountInTransactionListPage: number;
|
||||
showTotalAmountInTransactionListPage: boolean;
|
||||
@@ -125,6 +129,7 @@ export const ALL_ALLOWED_CLOUD_SYNC_APP_SETTING_KEY_TYPES: Record<string, UserAp
|
||||
'showTotalAmountInTransactionListPage': UserApplicationCloudSettingType.Boolean,
|
||||
'showTagInTransactionListPage': UserApplicationCloudSettingType.Boolean,
|
||||
// Transaction Edit Page
|
||||
'quickSaveButtonStyleInMobileTransactionListPage': UserApplicationCloudSettingType.Number,
|
||||
'quickAddButtonActionInMobileTransactionEditPage': UserApplicationCloudSettingType.Number,
|
||||
'autoSaveTransactionDraft': UserApplicationCloudSettingType.String,
|
||||
'autoGetCurrentGeoLocation': UserApplicationCloudSettingType.Boolean,
|
||||
@@ -184,6 +189,7 @@ export const DEFAULT_APPLICATION_SETTINGS: ApplicationSettings = {
|
||||
showTotalAmountInTransactionListPage: true,
|
||||
showTagInTransactionListPage: true,
|
||||
// Transaction Edit Page
|
||||
quickSaveButtonStyleInMobileTransactionListPage: TransactionQuickSaveButtonStyle.Default.type,
|
||||
quickAddButtonActionInMobileTransactionEditPage: TransactionQuickAddButtonActionType.Default.type,
|
||||
autoSaveTransactionDraft: 'disabled',
|
||||
autoGetCurrentGeoLocation: false,
|
||||
|
||||
@@ -67,6 +67,38 @@ export class TransactionTagFilterType implements TypeAndName {
|
||||
}
|
||||
}
|
||||
|
||||
export class TransactionQuickSaveButtonStyle implements TypeAndName {
|
||||
private static readonly allInstances: TransactionQuickSaveButtonStyle[] = [];
|
||||
private static readonly allInstancesByType: Record<number, TransactionQuickSaveButtonStyle> = {};
|
||||
|
||||
public static readonly Disabled = new TransactionQuickSaveButtonStyle(0, 'Disabled');
|
||||
public static readonly BottomFixed = new TransactionQuickSaveButtonStyle(1, 'Bottom Fixed');
|
||||
public static readonly BottomLeftFloating = new TransactionQuickSaveButtonStyle(2, 'Bottom Left Floating');
|
||||
public static readonly BottomCenterFloating = new TransactionQuickSaveButtonStyle(3, 'Bottom Center Floating');
|
||||
public static readonly BottomRightFloating = new TransactionQuickSaveButtonStyle(4, 'Bottom Right Floating');
|
||||
|
||||
public static readonly Default = TransactionQuickSaveButtonStyle.BottomRightFloating;
|
||||
|
||||
public readonly type: number;
|
||||
public readonly name: string;
|
||||
|
||||
private constructor(type: number, name: string) {
|
||||
this.type = type;
|
||||
this.name = name;
|
||||
|
||||
TransactionQuickSaveButtonStyle.allInstances.push(this);
|
||||
TransactionQuickSaveButtonStyle.allInstancesByType[type] = this;
|
||||
}
|
||||
|
||||
public static values(): TransactionQuickSaveButtonStyle[] {
|
||||
return TransactionQuickSaveButtonStyle.allInstances;
|
||||
}
|
||||
|
||||
public static valueOf(type: number): TransactionQuickSaveButtonStyle | undefined {
|
||||
return TransactionQuickSaveButtonStyle.allInstancesByType[type];
|
||||
}
|
||||
}
|
||||
|
||||
export class TransactionQuickAddButtonActionType implements TypeAndName {
|
||||
private static readonly allInstances: TransactionQuickAddButtonActionType[] = [];
|
||||
private static readonly allInstancesByType: Record<number, TransactionQuickAddButtonActionType> = {};
|
||||
|
||||
Reference in New Issue
Block a user