Update button was showing Install, and made texts translatable

This commit is contained in:
Lynn
2020-10-25 19:45:27 +01:00
parent 1b97541034
commit a38ac0efcf
15 changed files with 38 additions and 22 deletions

View File

@@ -9,7 +9,7 @@ export class AddonViewModel {
public installState: AddonInstallState = AddonInstallState.Unknown;
public isInstalling: boolean = false;
public installProgress: number = 0;
public statusText: string = "";
public stateTextTranslationKey: string = "";
public selected: boolean = false;
get hasThumbnail() {
@@ -78,26 +78,27 @@ export class AddonViewModel {
constructor(addon?: Addon) {
this.addon = addon;
this.statusText = this.getStateText();
this.stateTextTranslationKey = this.getStateTextTranslationKey();
}
public onClicked() {
this.selected = !this.selected;
}
public getStateText() {
public getStateTextTranslationKey() {
switch (this.displayState) {
case AddonDisplayState.UpToDate:
return "Up to Date";
return "COMMON.ADDON_STATE.UPTODATE";
case AddonDisplayState.Ignored:
return "Ignored";
return "COMMON.ADDON_STATE.IGNORED";
case AddonDisplayState.Update:
return "COMMON.ADDON_STATE.UPDATE";
case AddonDisplayState.Install:
return "Install";
return "COMMON.ADDON_STATE.INSTALL";
case AddonDisplayState.Unknown:
default:
console.log("Unhandled display state", this.displayState);
return "";
return "COMMON.ADDON_STATE.UNKNOWN";
}
}
}

View File

@@ -117,7 +117,11 @@ export class AddonUpdateButtonComponent implements OnInit, OnDestroy {
);
}
return this.listItem?.statusText;
if (!this.listItem) {
return null;
}
return this._translateService.instant(this.listItem.stateTextTranslationKey);
}
private getInstallStateText(installState: AddonInstallState) {

View File

@@ -1,10 +1,10 @@
<div class="row">
<app-addon-update-button *ngIf="showStatusText === false" [listItem]="listItem"></app-addon-update-button>
<div *ngIf="showStatusText === true" class="status-text" [ngClass]="{ ignored: listItem.isIgnored }">
{{ getStatusText() }}
{{ getStatusText() | translate }}
</div>
<mat-icon *ngIf="this.listItem.isAutoUpdate === true" class="auto-update-icon"
[matTooltip]="'PAGES.MY_ADDONS.TABLE.AUTO_UPDATE_ICON_TOOLTIP' | translate">
update
</mat-icon>
</div>
</div>

View File

@@ -39,7 +39,11 @@ export class MyAddonStatusColumnComponent implements OnInit, OnDestroy {
return this._translateService.instant("COMMON.ADDON_STATE.UPTODATE");
}
return this.listItem?.statusText;
if (!this.listItem) {
return null;
}
return this._translateService.instant(this.listItem.stateTextTranslationKey);
}
public onUpdateButtonUpdated() {

View File

@@ -149,7 +149,7 @@ export class MyAddonsComponent implements OnInit, OnDestroy {
listItem.isInstalling =
evt.installState === AddonInstallState.Installing ||
evt.installState === AddonInstallState.Downloading;
listItem.statusText = this.getInstallStateText(evt.installState);
listItem.stateTextTranslationKey = this.getInstallStateTextTranslationKey(evt.installState);
listItem.installProgress = evt.progress;
listItem.installState = evt.installState;
if (listItemIdx !== -1) {
@@ -519,7 +519,6 @@ export class MyAddonsComponent implements OnInit, OnDestroy {
if (evt.checked) {
listItem.addon.autoUpdateEnabled = false;
}
listItem.statusText = listItem.getStateText();
this.addonService.saveAddon(listItem.addon);
});
@@ -714,22 +713,20 @@ export class MyAddonsComponent implements OnInit, OnDestroy {
);
}
private getInstallStateText(installState: AddonInstallState) {
private getInstallStateTextTranslationKey(installState: AddonInstallState) {
switch (installState) {
case AddonInstallState.BackingUp:
return this._translateService.instant("COMMON.ADDON_STATUS.BACKINGUP");
return "COMMON.ADDON_STATUS.BACKINGUP";
case AddonInstallState.Complete:
return this._translateService.instant("COMMON.ADDON_STATE.UPTODATE");
return "COMMON.ADDON_STATE.UPTODATE";
case AddonInstallState.Downloading:
return this._translateService.instant(
"COMMON.ADDON_STATUS.DOWNLOADING"
);
return "COMMON.ADDON_STATUS.DOWNLOADING";
case AddonInstallState.Installing:
return this._translateService.instant("COMMON.ADDON_STATUS.INSTALLING");
return "COMMON.ADDON_STATUS.INSTALLING";
case AddonInstallState.Pending:
return this._translateService.instant("COMMON.ADDON_STATUS.PENDING");
return "COMMON.ADDON_STATUS.PENDING";
default:
return "";
return "COMMON.ADDON_STATUS.UNKNOWN";
}
}
}

View File

@@ -8,6 +8,7 @@
"IGNORED": "Ignorieren",
"INSTALL": "Installieren",
"UNINSTALL": "Deinstallieren",
"UNKNOWN": "",
"UPDATE": "Aktualisieren",
"UPTODATE": "Aktuell"
},

View File

@@ -8,6 +8,7 @@
"IGNORED": "Ignored",
"INSTALL": "Install",
"UNINSTALL": "Uninstall",
"UNKNOWN": "",
"UPDATE": "Update",
"UPTODATE": "Up to date"
},

View File

@@ -8,6 +8,7 @@
"IGNORED": "IGNORED",
"INSTALL": "INSTALL",
"UNINSTALL": "UNINSTALL",
"UNKNOWN": "",
"UPDATE": "UPDATE",
"UPTODATE": "UPTODATE"
},

View File

@@ -8,6 +8,7 @@
"IGNORED": "IGNORED",
"INSTALL": "INSTALL",
"UNINSTALL": "UNINSTALL",
"UNKNOWN": "",
"UPDATE": "UPDATE",
"UPTODATE": "UPTODATE"
},

View File

@@ -8,6 +8,7 @@
"IGNORED": "IGNORED",
"INSTALL": "INSTALL",
"UNINSTALL": "UNINSTALL",
"UNKNOWN": "",
"UPDATE": "UPDATE",
"UPTODATE": "UPTODATE"
},

View File

@@ -8,6 +8,7 @@
"IGNORED": "Ignored",
"INSTALL": "Install",
"UNINSTALL": "Uninstall",
"UNKNOWN": "",
"UPDATE": "Update",
"UPTODATE": "Up to date"
},

View File

@@ -8,6 +8,7 @@
"IGNORED": "Ignorert",
"INSTALL": "Installer",
"UNINSTALL": "Avinstaller",
"UNKNOWN": "",
"UPDATE": "Oppdater",
"UPTODATE": "Oppdatert"
},

View File

@@ -8,6 +8,7 @@
"IGNORED": "Ignored",
"INSTALL": "Install",
"UNINSTALL": "Uninstall",
"UNKNOWN": "",
"UPDATE": "Update",
"UPTODATE": "Up to date"
},

View File

@@ -8,6 +8,7 @@
"IGNORED": "Игнорируется",
"INSTALL": "Установить",
"UNINSTALL": "Удалить",
"UNKNOWN": "",
"UPDATE": "Обновить",
"UPTODATE": "Актуальная"
},

View File

@@ -8,6 +8,7 @@
"IGNORED": "IGNORED",
"INSTALL": "INSTALL",
"UNINSTALL": "UNINSTALL",
"UNKNOWN": "",
"UPDATE": "UPDATE",
"UPTODATE": "UPTODATE"
},