From 0fa717fe11d40c6a6a5bae719f27ae93f7d1a0d1 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Wed, 25 May 2022 16:06:59 -0700 Subject: [PATCH] Show note on language change and offer reload --- src-ui/messages.xlf | 55 +++++++++++++------ .../common/toasts/toasts.component.html | 2 +- .../manage/settings/settings.component.html | 2 +- .../manage/settings/settings.component.ts | 25 ++++++++- src-ui/src/styles.scss | 4 ++ src-ui/src/theme.scss | 3 +- 6 files changed, 69 insertions(+), 22 deletions(-) diff --git a/src-ui/messages.xlf b/src-ui/messages.xlf index 9ab7e46a2..f4c0d6598 100644 --- a/src-ui/messages.xlf +++ b/src-ui/messages.xlf @@ -1340,7 +1340,7 @@ </context-group> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-list/document-card-small/document-card-small.component.html</context> - <context context-type="linenumber">88</context> + <context context-type="linenumber">86</context> </context-group> </trans-unit> <trans-unit id="8659635229098859487" datatype="html"> @@ -1884,7 +1884,7 @@ </context-group> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-list/document-card-small/document-card-small.component.html</context> - <context context-type="linenumber">26</context> + <context context-type="linenumber">24</context> </context-group> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context> @@ -1899,7 +1899,7 @@ </context-group> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-list/document-card-small/document-card-small.component.html</context> - <context context-type="linenumber">15</context> + <context context-type="linenumber">14</context> </context-group> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context> @@ -1914,7 +1914,7 @@ </context-group> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-list/document-card-small/document-card-small.component.html</context> - <context context-type="linenumber">72</context> + <context context-type="linenumber">70</context> </context-group> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context> @@ -1964,7 +1964,7 @@ </context-group> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-list/document-card-small/document-card-small.component.html</context> - <context context-type="linenumber">33</context> + <context context-type="linenumber">31</context> </context-group> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context> @@ -1979,7 +1979,7 @@ </context-group> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-list/document-card-small/document-card-small.component.html</context> - <context context-type="linenumber">40</context> + <context context-type="linenumber">38</context> </context-group> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context> @@ -1994,7 +1994,7 @@ </context-group> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-list/document-card-small/document-card-small.component.html</context> - <context context-type="linenumber">50</context> + <context context-type="linenumber">48</context> </context-group> </trans-unit> <trans-unit id="2030261243264601523" datatype="html"> @@ -2005,7 +2005,7 @@ </context-group> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-list/document-card-small/document-card-small.component.html</context> - <context context-type="linenumber">51</context> + <context context-type="linenumber">49</context> </context-group> </trans-unit> <trans-unit id="4235671847487610290" datatype="html"> @@ -2016,7 +2016,7 @@ </context-group> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/document-list/document-card-small/document-card-small.component.html</context> - <context context-type="linenumber">52</context> + <context context-type="linenumber">50</context> </context-group> </trans-unit> <trans-unit id="2332107018974972998" datatype="html"> @@ -2764,35 +2764,56 @@ <source>Saved view "<x id="PH" equiv-text="savedView.name"/>" deleted.</source> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context> - <context context-type="linenumber">167</context> + <context context-type="linenumber">174</context> </context-group> </trans-unit> - <trans-unit id="5647210819299459618" datatype="html"> - <source>Settings saved successfully.</source> + <trans-unit id="3891152409365583719" datatype="html"> + <source>Settings saved</source> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context> - <context context-type="linenumber">238</context> + <context context-type="linenumber">247</context> + </context-group> + </trans-unit> + <trans-unit id="7217000812750597833" datatype="html"> + <source>Settings were saved successfully.</source> + <context-group purpose="location"> + <context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context> + <context context-type="linenumber">248</context> + </context-group> + </trans-unit> + <trans-unit id="525012668859298131" datatype="html"> + <source>Settings were saved successfully. Reload is required to apply some changes.</source> + <context-group purpose="location"> + <context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context> + <context context-type="linenumber">252</context> + </context-group> + </trans-unit> + <trans-unit id="8491974984518503778" datatype="html"> + <source>Reload now</source> + <context-group purpose="location"> + <context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context> + <context context-type="linenumber">253</context> </context-group> </trans-unit> <trans-unit id="3011185103048412841" datatype="html"> <source>An error occurred while saving settings.</source> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context> - <context context-type="linenumber">242</context> + <context context-type="linenumber">263</context> </context-group> </trans-unit> <trans-unit id="6839066544204061364" datatype="html"> <source>Use system language</source> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context> - <context context-type="linenumber">250</context> + <context context-type="linenumber">271</context> </context-group> </trans-unit> <trans-unit id="7729897675462249787" datatype="html"> <source>Use date format of display language</source> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context> - <context context-type="linenumber">257</context> + <context context-type="linenumber">278</context> </context-group> </trans-unit> <trans-unit id="8488620293789898901" datatype="html"> @@ -2801,7 +2822,7 @@ )"/></source> <context-group purpose="location"> <context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context> - <context context-type="linenumber">277,279</context> + <context context-type="linenumber">298,300</context> </context-group> </trans-unit> <trans-unit id="5101757640976222639" datatype="html"> diff --git a/src-ui/src/app/components/common/toasts/toasts.component.html b/src-ui/src/app/components/common/toasts/toasts.component.html index b79208ebf..03715a440 100644 --- a/src-ui/src/app/components/common/toasts/toasts.component.html +++ b/src-ui/src/app/components/common/toasts/toasts.component.html @@ -4,5 +4,5 @@ [class]="toast.classname" (hidden)="toastService.closeToast(toast)"> <p>{{toast.content}}</p> - <p *ngIf="toast.action"><button class="btn btn-sm btn-outline-secondary" (click)="toastService.closeToast(toast); toast.action()">{{toast.actionName}}</button></p> + <p class="mb-0" *ngIf="toast.action"><button class="btn btn-sm btn-outline-secondary" (click)="toastService.closeToast(toast); toast.action()">{{toast.actionName}}</button></p> </ngb-toast> diff --git a/src-ui/src/app/components/manage/settings/settings.component.html b/src-ui/src/app/components/manage/settings/settings.component.html index 7e52db59e..002cc4eed 100644 --- a/src-ui/src/app/components/manage/settings/settings.component.html +++ b/src-ui/src/app/components/manage/settings/settings.component.html @@ -22,7 +22,7 @@ <option *ngFor="let lang of displayLanguageOptions" [ngValue]="lang.code">{{lang.name}}<span *ngIf="lang.code && currentLocale != 'en-US'"> - {{lang.englishName}}</span></option> </select> - <small class="form-text text-muted" i18n>You need to reload the page after applying a new language.</small> + <small *ngIf="displayLanguageIsDirty" class="form-text text-primary" i18n>You need to reload the page after applying a new language.</small> </div> </div> diff --git a/src-ui/src/app/components/manage/settings/settings.component.ts b/src-ui/src/app/components/manage/settings/settings.component.ts index d9877d281..22ecfe9bb 100644 --- a/src-ui/src/app/components/manage/settings/settings.component.ts +++ b/src-ui/src/app/components/manage/settings/settings.component.ts @@ -14,7 +14,7 @@ import { LanguageOption, SettingsService, } from 'src/app/services/settings.service' -import { ToastService } from 'src/app/services/toast.service' +import { Toast, ToastService } from 'src/app/services/toast.service' import { dirtyCheck, DirtyComponent } from '@ngneat/dirty-check-forms' import { Observable, Subscription, BehaviorSubject, first } from 'rxjs' import { SETTINGS_KEYS } from 'src/app/data/paperless-uisettings' @@ -61,6 +61,13 @@ export class SettingsComponent implements OnInit, OnDestroy, DirtyComponent { ) } + get displayLanguageIsDirty(): boolean { + return ( + this.settingsForm.get('displayLanguage').value != + this.store?.getValue()['displayLanguage'] + ) + } + constructor( public savedViewService: SavedViewService, private documentListViewService: DocumentListViewService, @@ -170,6 +177,7 @@ export class SettingsComponent implements OnInit, OnDestroy, DirtyComponent { } private saveLocalSettings() { + const reloadRequired = this.displayLanguageIsDirty // just this one, for now this.settings.set( SETTINGS_KEYS.BULK_EDIT_APPLY_ON_CLOSE, this.settingsForm.value.bulkEditApplyOnClose @@ -235,7 +243,20 @@ export class SettingsComponent implements OnInit, OnDestroy, DirtyComponent { this.store.next(this.settingsForm.value) this.documentListViewService.updatePageSize() this.settings.updateAppearanceSettings() - this.toastService.showInfo($localize`Settings saved successfully.`) + let savedToast: Toast = { + title: $localize`Settings saved`, + content: $localize`Settings were saved successfully.`, + delay: 500000, + } + if (reloadRequired) { + ;(savedToast.content = $localize`Settings were saved successfully. Reload is required to apply some changes.`), + (savedToast.actionName = $localize`Reload now`) + savedToast.action = () => { + location.reload() + } + } + + this.toastService.show(savedToast) }, error: (error) => { this.toastService.showError( diff --git a/src-ui/src/styles.scss b/src-ui/src/styles.scss index 4b78e9d21..e0934b84c 100644 --- a/src-ui/src/styles.scss +++ b/src-ui/src/styles.scss @@ -84,6 +84,10 @@ svg.logo { } } +.text-primary { + color: var(--bs-primary) !important; +} + .btn-outline-primary { border-color: var(--bs-primary) !important; color: var(--bs-primary) !important; diff --git a/src-ui/src/theme.scss b/src-ui/src/theme.scss index 732ac47d9..bf9be6662 100644 --- a/src-ui/src/theme.scss +++ b/src-ui/src/theme.scss @@ -186,7 +186,8 @@ $form-check-radio-checked-bg-image-dark: url("data:image/svg+xml,<svg xmlns='htt .toast, .toast .toast-header, - .toast .btn-close { + .toast .btn, + .toast .btn-close, { color: var(--pngx-primary-text-contrast); } }