mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-04-13 10:03:49 -05:00
Useful buttons for saved view widgets
This commit is contained in:
parent
c22461a1b6
commit
a8c6c55e3b
src-ui
messages.xlfstyles.scsstheme.scss
src
app/components
dashboard/widgets/saved-view-widget
saved-view-widget.component.htmlsaved-view-widget.component.scsssaved-view-widget.component.spec.tssaved-view-widget.component.ts
document-list
document-card-large
document-card-small
popover-preview
@ -723,7 +723,7 @@
|
|||||||
</context-group>
|
</context-group>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">597</context>
|
<context context-type="linenumber">600</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="2526035785704676448" datatype="html">
|
<trans-unit id="2526035785704676448" datatype="html">
|
||||||
@ -2013,6 +2013,10 @@
|
|||||||
<context context-type="sourcefile">src/app/components/common/input/permissions/permissions-form/permissions-form.component.html</context>
|
<context context-type="sourcefile">src/app/components/common/input/permissions/permissions-form/permissions-form.component.html</context>
|
||||||
<context context-type="linenumber">46</context>
|
<context context-type="linenumber">46</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||||
|
<context context-type="linenumber">17</context>
|
||||||
|
</context-group>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/document-card-large/document-card-large.component.html</context>
|
<context context-type="sourcefile">src/app/components/document-list/document-card-large/document-card-large.component.html</context>
|
||||||
<context context-type="linenumber">49</context>
|
<context context-type="linenumber">49</context>
|
||||||
@ -2303,6 +2307,36 @@
|
|||||||
<context context-type="linenumber">20</context>
|
<context context-type="linenumber">20</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="8911158217491828773" datatype="html">
|
||||||
|
<source>View Preview</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||||
|
<context context-type="linenumber">19</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="3099741642167775297" datatype="html">
|
||||||
|
<source>Download</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||||
|
<context context-type="linenumber">29</context>
|
||||||
|
</context-group>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context>
|
||||||
|
<context context-type="linenumber">19</context>
|
||||||
|
</context-group>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/components/document-list/bulk-editor/bulk-editor.component.html</context>
|
||||||
|
<context context-type="linenumber">102</context>
|
||||||
|
</context-group>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/components/document-list/document-card-large/document-card-large.component.html</context>
|
||||||
|
<context context-type="linenumber">64</context>
|
||||||
|
</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">99</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
<trans-unit id="1069523139277190436" datatype="html">
|
<trans-unit id="1069523139277190436" datatype="html">
|
||||||
<source>Statistics</source>
|
<source>Statistics</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
@ -2482,25 +2516,6 @@
|
|||||||
<context context-type="linenumber">5,6</context>
|
<context context-type="linenumber">5,6</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="3099741642167775297" datatype="html">
|
|
||||||
<source>Download</source>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context>
|
|
||||||
<context context-type="linenumber">19</context>
|
|
||||||
</context-group>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/components/document-list/bulk-editor/bulk-editor.component.html</context>
|
|
||||||
<context context-type="linenumber">102</context>
|
|
||||||
</context-group>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/components/document-list/document-card-large/document-card-large.component.html</context>
|
|
||||||
<context context-type="linenumber">64</context>
|
|
||||||
</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">99</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="8659635229098859487" datatype="html">
|
<trans-unit id="8659635229098859487" datatype="html">
|
||||||
<source>Download original</source>
|
<source>Download original</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
@ -2898,19 +2913,19 @@
|
|||||||
</context-group>
|
</context-group>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">708</context>
|
<context context-type="linenumber">711</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">768</context>
|
<context context-type="linenumber">771</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">835</context>
|
<context context-type="linenumber">838</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">898</context>
|
<context context-type="linenumber">901</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="1181910457994920507" datatype="html">
|
<trans-unit id="1181910457994920507" datatype="html">
|
||||||
@ -2925,19 +2940,19 @@
|
|||||||
</context-group>
|
</context-group>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">710</context>
|
<context context-type="linenumber">713</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">770</context>
|
<context context-type="linenumber">773</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">837</context>
|
<context context-type="linenumber">840</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">900</context>
|
<context context-type="linenumber">903</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="5729001209753056399" datatype="html">
|
<trans-unit id="5729001209753056399" datatype="html">
|
||||||
@ -4478,231 +4493,231 @@
|
|||||||
<source>Saved view "<x id="PH" equiv-text="savedView.name"/>" deleted.</source>
|
<source>Saved view "<x id="PH" equiv-text="savedView.name"/>" deleted.</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">479</context>
|
<context context-type="linenumber">482</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="3891152409365583719" datatype="html">
|
<trans-unit id="3891152409365583719" datatype="html">
|
||||||
<source>Settings saved</source>
|
<source>Settings saved</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">581</context>
|
<context context-type="linenumber">584</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="7217000812750597833" datatype="html">
|
<trans-unit id="7217000812750597833" datatype="html">
|
||||||
<source>Settings were saved successfully.</source>
|
<source>Settings were saved successfully.</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">582</context>
|
<context context-type="linenumber">585</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="525012668859298131" datatype="html">
|
<trans-unit id="525012668859298131" datatype="html">
|
||||||
<source>Settings were saved successfully. Reload is required to apply some changes.</source>
|
<source>Settings were saved successfully. Reload is required to apply some changes.</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">586</context>
|
<context context-type="linenumber">589</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="8491974984518503778" datatype="html">
|
<trans-unit id="8491974984518503778" datatype="html">
|
||||||
<source>Reload now</source>
|
<source>Reload now</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">587</context>
|
<context context-type="linenumber">590</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="6839066544204061364" datatype="html">
|
<trans-unit id="6839066544204061364" datatype="html">
|
||||||
<source>Use system language</source>
|
<source>Use system language</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">606</context>
|
<context context-type="linenumber">609</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="7729897675462249787" datatype="html">
|
<trans-unit id="7729897675462249787" datatype="html">
|
||||||
<source>Use date format of display language</source>
|
<source>Use date format of display language</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">613</context>
|
<context context-type="linenumber">616</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="5260584511980773458" datatype="html">
|
<trans-unit id="5260584511980773458" datatype="html">
|
||||||
<source>Error while storing settings on server.</source>
|
<source>Error while storing settings on server.</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">633</context>
|
<context context-type="linenumber">636</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="4510369340305901516" datatype="html">
|
<trans-unit id="4510369340305901516" datatype="html">
|
||||||
<source>Password has been changed, you will be logged out momentarily.</source>
|
<source>Password has been changed, you will be logged out momentarily.</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">676</context>
|
<context context-type="linenumber">679</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="2753185112875184719" datatype="html">
|
<trans-unit id="2753185112875184719" datatype="html">
|
||||||
<source>Saved user "<x id="PH" equiv-text="newUser.username"/>".</source>
|
<source>Saved user "<x id="PH" equiv-text="newUser.username"/>".</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">683</context>
|
<context context-type="linenumber">686</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="3471101514724661554" datatype="html">
|
<trans-unit id="3471101514724661554" datatype="html">
|
||||||
<source>Error saving user.</source>
|
<source>Error saving user.</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">695</context>
|
<context context-type="linenumber">698</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="5565868288871970148" datatype="html">
|
<trans-unit id="5565868288871970148" datatype="html">
|
||||||
<source>Confirm delete user account</source>
|
<source>Confirm delete user account</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">706</context>
|
<context context-type="linenumber">709</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="8133663925694885325" datatype="html">
|
<trans-unit id="8133663925694885325" datatype="html">
|
||||||
<source>This operation will permanently delete this user account.</source>
|
<source>This operation will permanently delete this user account.</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">707</context>
|
<context context-type="linenumber">710</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="857903183180440990" datatype="html">
|
<trans-unit id="857903183180440990" datatype="html">
|
||||||
<source>Deleted user</source>
|
<source>Deleted user</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">716</context>
|
<context context-type="linenumber">719</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="1942566571910298572" datatype="html">
|
<trans-unit id="1942566571910298572" datatype="html">
|
||||||
<source>Error deleting user.</source>
|
<source>Error deleting user.</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">724</context>
|
<context context-type="linenumber">727</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="5766640174051730159" datatype="html">
|
<trans-unit id="5766640174051730159" datatype="html">
|
||||||
<source>Saved group "<x id="PH" equiv-text="newGroup.name"/>".</source>
|
<source>Saved group "<x id="PH" equiv-text="newGroup.name"/>".</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">745</context>
|
<context context-type="linenumber">748</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="8382042988405122578" datatype="html">
|
<trans-unit id="8382042988405122578" datatype="html">
|
||||||
<source>Error saving group.</source>
|
<source>Error saving group.</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">755</context>
|
<context context-type="linenumber">758</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="6538873300613683004" datatype="html">
|
<trans-unit id="6538873300613683004" datatype="html">
|
||||||
<source>Confirm delete user group</source>
|
<source>Confirm delete user group</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">766</context>
|
<context context-type="linenumber">769</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="7710984639498518244" datatype="html">
|
<trans-unit id="7710984639498518244" datatype="html">
|
||||||
<source>This operation will permanently delete this user group.</source>
|
<source>This operation will permanently delete this user group.</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">767</context>
|
<context context-type="linenumber">770</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="6834066329827670963" datatype="html">
|
<trans-unit id="6834066329827670963" datatype="html">
|
||||||
<source>Deleted group</source>
|
<source>Deleted group</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">776</context>
|
<context context-type="linenumber">779</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="8850738980935204840" datatype="html">
|
<trans-unit id="8850738980935204840" datatype="html">
|
||||||
<source>Error deleting group.</source>
|
<source>Error deleting group.</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">784</context>
|
<context context-type="linenumber">787</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="6327501535846658797" datatype="html">
|
<trans-unit id="6327501535846658797" datatype="html">
|
||||||
<source>Saved account "<x id="PH" equiv-text="newMailAccount.name"/>".</source>
|
<source>Saved account "<x id="PH" equiv-text="newMailAccount.name"/>".</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">810</context>
|
<context context-type="linenumber">813</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="8067594003836508139" datatype="html">
|
<trans-unit id="8067594003836508139" datatype="html">
|
||||||
<source>Error saving account.</source>
|
<source>Error saving account.</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">822</context>
|
<context context-type="linenumber">825</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="5641934153807844674" datatype="html">
|
<trans-unit id="5641934153807844674" datatype="html">
|
||||||
<source>Confirm delete mail account</source>
|
<source>Confirm delete mail account</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">833</context>
|
<context context-type="linenumber">836</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="7176985344323395435" datatype="html">
|
<trans-unit id="7176985344323395435" datatype="html">
|
||||||
<source>This operation will permanently delete this mail account.</source>
|
<source>This operation will permanently delete this mail account.</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">834</context>
|
<context context-type="linenumber">837</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="4233826387148482123" datatype="html">
|
<trans-unit id="4233826387148482123" datatype="html">
|
||||||
<source>Deleted mail account</source>
|
<source>Deleted mail account</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">843</context>
|
<context context-type="linenumber">846</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="6202503362522392111" datatype="html">
|
<trans-unit id="6202503362522392111" datatype="html">
|
||||||
<source>Error deleting mail account.</source>
|
<source>Error deleting mail account.</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">852</context>
|
<context context-type="linenumber">855</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="123368655395433699" datatype="html">
|
<trans-unit id="123368655395433699" datatype="html">
|
||||||
<source>Saved rule "<x id="PH" equiv-text="newMailRule.name"/>".</source>
|
<source>Saved rule "<x id="PH" equiv-text="newMailRule.name"/>".</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">873</context>
|
<context context-type="linenumber">876</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="8951124554918814321" datatype="html">
|
<trans-unit id="8951124554918814321" datatype="html">
|
||||||
<source>Error saving rule.</source>
|
<source>Error saving rule.</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">885</context>
|
<context context-type="linenumber">888</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="3896080636020672118" datatype="html">
|
<trans-unit id="3896080636020672118" datatype="html">
|
||||||
<source>Confirm delete mail rule</source>
|
<source>Confirm delete mail rule</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">896</context>
|
<context context-type="linenumber">899</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="2250372580580310337" datatype="html">
|
<trans-unit id="2250372580580310337" datatype="html">
|
||||||
<source>This operation will permanently delete this mail rule.</source>
|
<source>This operation will permanently delete this mail rule.</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">897</context>
|
<context context-type="linenumber">900</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="9077981247971516916" datatype="html">
|
<trans-unit id="9077981247971516916" datatype="html">
|
||||||
<source>Deleted mail rule</source>
|
<source>Deleted mail rule</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">906</context>
|
<context context-type="linenumber">909</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="2033194641751367552" datatype="html">
|
<trans-unit id="2033194641751367552" datatype="html">
|
||||||
<source>Error deleting mail rule.</source>
|
<source>Error deleting mail rule.</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">915</context>
|
<context context-type="linenumber">918</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="5101757640976222639" datatype="html">
|
<trans-unit id="5101757640976222639" datatype="html">
|
||||||
@ -5090,28 +5105,28 @@
|
|||||||
<source>Document already exists.</source>
|
<source>Document already exists.</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/consumer-status.service.ts</context>
|
<context context-type="sourcefile">src/app/services/consumer-status.service.ts</context>
|
||||||
<context context-type="linenumber">15</context>
|
<context context-type="linenumber">16</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="6108404046106249255" datatype="html">
|
<trans-unit id="6108404046106249255" datatype="html">
|
||||||
<source>Document with ASN already exists.</source>
|
<source>Document with ASN already exists.</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/consumer-status.service.ts</context>
|
<context context-type="sourcefile">src/app/services/consumer-status.service.ts</context>
|
||||||
<context context-type="linenumber">16</context>
|
<context context-type="linenumber">17</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="148389968432135849" datatype="html">
|
<trans-unit id="148389968432135849" datatype="html">
|
||||||
<source>File not found.</source>
|
<source>File not found.</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/consumer-status.service.ts</context>
|
<context context-type="sourcefile">src/app/services/consumer-status.service.ts</context>
|
||||||
<context context-type="linenumber">17</context>
|
<context context-type="linenumber">18</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="1520671543092565667" datatype="html">
|
<trans-unit id="1520671543092565667" datatype="html">
|
||||||
<source>Pre-consume script does not exist.</source>
|
<source>Pre-consume script does not exist.</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/consumer-status.service.ts</context>
|
<context context-type="sourcefile">src/app/services/consumer-status.service.ts</context>
|
||||||
<context context-type="linenumber">18</context>
|
<context context-type="linenumber">19</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<note priority="1" from="description">Pre-Consume is a term that appears like that in the documentation as well and does not need a specific translation</note>
|
<note priority="1" from="description">Pre-Consume is a term that appears like that in the documentation as well and does not need a specific translation</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -5119,7 +5134,7 @@
|
|||||||
<source>Error while executing pre-consume script.</source>
|
<source>Error while executing pre-consume script.</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/consumer-status.service.ts</context>
|
<context context-type="sourcefile">src/app/services/consumer-status.service.ts</context>
|
||||||
<context context-type="linenumber">19</context>
|
<context context-type="linenumber">20</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<note priority="1" from="description">Pre-Consume is a term that appears like that in the documentation as well and does not need a specific translation</note>
|
<note priority="1" from="description">Pre-Consume is a term that appears like that in the documentation as well and does not need a specific translation</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -5127,7 +5142,7 @@
|
|||||||
<source>Post-consume script does not exist.</source>
|
<source>Post-consume script does not exist.</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/consumer-status.service.ts</context>
|
<context context-type="sourcefile">src/app/services/consumer-status.service.ts</context>
|
||||||
<context context-type="linenumber">20</context>
|
<context context-type="linenumber">21</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<note priority="1" from="description">Post-Consume is a term that appears like that in the documentation as well and does not need a specific translation</note>
|
<note priority="1" from="description">Post-Consume is a term that appears like that in the documentation as well and does not need a specific translation</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -5135,7 +5150,7 @@
|
|||||||
<source>Error while executing post-consume script.</source>
|
<source>Error while executing post-consume script.</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/consumer-status.service.ts</context>
|
<context context-type="sourcefile">src/app/services/consumer-status.service.ts</context>
|
||||||
<context context-type="linenumber">21</context>
|
<context context-type="linenumber">22</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<note priority="1" from="description">Post-Consume is a term that appears like that in the documentation as well and does not need a specific translation</note>
|
<note priority="1" from="description">Post-Consume is a term that appears like that in the documentation as well and does not need a specific translation</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -5143,49 +5158,49 @@
|
|||||||
<source>Received new file.</source>
|
<source>Received new file.</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/consumer-status.service.ts</context>
|
<context context-type="sourcefile">src/app/services/consumer-status.service.ts</context>
|
||||||
<context context-type="linenumber">22</context>
|
<context context-type="linenumber">23</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="7337565919209746135" datatype="html">
|
<trans-unit id="7337565919209746135" datatype="html">
|
||||||
<source>File type not supported.</source>
|
<source>File type not supported.</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/consumer-status.service.ts</context>
|
<context context-type="sourcefile">src/app/services/consumer-status.service.ts</context>
|
||||||
<context context-type="linenumber">23</context>
|
<context context-type="linenumber">24</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="5002399167376099234" datatype="html">
|
<trans-unit id="5002399167376099234" datatype="html">
|
||||||
<source>Processing document...</source>
|
<source>Processing document...</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/consumer-status.service.ts</context>
|
<context context-type="sourcefile">src/app/services/consumer-status.service.ts</context>
|
||||||
<context context-type="linenumber">24</context>
|
<context context-type="linenumber">25</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="1085975194762600381" datatype="html">
|
<trans-unit id="1085975194762600381" datatype="html">
|
||||||
<source>Generating thumbnail...</source>
|
<source>Generating thumbnail...</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/consumer-status.service.ts</context>
|
<context context-type="sourcefile">src/app/services/consumer-status.service.ts</context>
|
||||||
<context context-type="linenumber">25</context>
|
<context context-type="linenumber">26</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="3280851677698431426" datatype="html">
|
<trans-unit id="3280851677698431426" datatype="html">
|
||||||
<source>Retrieving date from document...</source>
|
<source>Retrieving date from document...</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/consumer-status.service.ts</context>
|
<context context-type="sourcefile">src/app/services/consumer-status.service.ts</context>
|
||||||
<context context-type="linenumber">26</context>
|
<context context-type="linenumber">27</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="7162102384876037296" datatype="html">
|
<trans-unit id="7162102384876037296" datatype="html">
|
||||||
<source>Saving document...</source>
|
<source>Saving document...</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/consumer-status.service.ts</context>
|
<context context-type="sourcefile">src/app/services/consumer-status.service.ts</context>
|
||||||
<context context-type="linenumber">27</context>
|
<context context-type="linenumber">28</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="4550450765009165976" datatype="html">
|
<trans-unit id="4550450765009165976" datatype="html">
|
||||||
<source>Finished.</source>
|
<source>Finished.</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/consumer-status.service.ts</context>
|
<context context-type="sourcefile">src/app/services/consumer-status.service.ts</context>
|
||||||
<context context-type="linenumber">28</context>
|
<context context-type="linenumber">29</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="5523607037798226031" datatype="html">
|
<trans-unit id="5523607037798226031" datatype="html">
|
||||||
|
@ -6,14 +6,33 @@
|
|||||||
<table content class="table table-sm table-hover table-borderless mb-0">
|
<table content class="table table-sm table-hover table-borderless mb-0">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th i18n>Created</th>
|
<th scope="col" i18n>Created</th>
|
||||||
<th scope="col" i18n>Title</th>
|
<th scope="col" i18n>Title</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody *appIfPermissions="{ action: PermissionAction.View, type: PermissionType.Document }">
|
<tbody *appIfPermissions="{ action: PermissionAction.View, type: PermissionType.Document }">
|
||||||
<tr *ngFor="let doc of documents">
|
<tr *ngFor="let doc of documents" (mouseleave)="mouseLeaveCard()">
|
||||||
<td><a routerLink="/documents/{{doc.id}}" class="d-block text-dark text-decoration-none">{{doc.created_date | customDate}}</a></td>
|
<td><a routerLink="/documents/{{doc.id}}" class="d-block text-dark text-decoration-none">{{doc.created_date | customDate}}</a></td>
|
||||||
<td><a routerLink="/documents/{{doc.id}}" class="d-block text-dark text-decoration-none">{{doc.title | documentTitle}}<app-tag [tag]="t" *ngFor="let t of doc.tags$ | async" class="ms-1" (click)="clickTag(t, $event)"></app-tag></a></td>
|
<td class="position-relative">
|
||||||
|
<a routerLink="/documents/{{doc.id}}" title="Edit" i18n-title class="d-block text-dark text-decoration-none">{{doc.title | documentTitle}}<app-tag [tag]="t" *ngFor="let t of doc.tags$ | async" class="ms-1" (click)="clickTag(t, $event)"></app-tag></a>
|
||||||
|
<div class="btn-group position-absolute top-50 end-0 translate-middle-y">
|
||||||
|
<a [href]="getPreviewUrl(doc)" title="View Preview" i18n-title target="_blank" class="btn btn-sm px-4 py-0 btn-dark border-dark-subtle"
|
||||||
|
[ngbPopover]="previewContent" [popoverTitle]="doc.title | documentTitle"
|
||||||
|
autoClose="true" popoverClass="shadow popover-preview" container="body" (mouseenter)="mouseEnterPreview(doc)" (mouseleave)="mouseLeavePreview()" #popover="ngbPopover">
|
||||||
|
<svg class="buttonicon-xs" fill="currentColor">
|
||||||
|
<use xlink:href="assets/bootstrap-icons.svg#eye"/>
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
<ng-template #previewContent>
|
||||||
|
<object [data]="getPreviewUrl(doc) | safeUrl" class="preview" width="100%"></object>
|
||||||
|
</ng-template>
|
||||||
|
<a [href]="getDownloadUrl(doc)" class="btn btn-sm px-4 py-0 btn-dark border-dark-subtle" title="Download" i18n-title (click)="$event.stopPropagation()">
|
||||||
|
<svg class="buttonicon-xs" fill="currentColor">
|
||||||
|
<use xlink:href="assets/bootstrap-icons.svg#download"/>
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
@ -10,3 +10,15 @@ th:first-child {
|
|||||||
tbody app-tag {
|
tbody app-tag {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tr .btn-group {
|
||||||
|
margin-right: 2px;
|
||||||
|
box-shadow: -6px 0px 4px -1px rgba(var(--bs-body-bg-rgb), .5);
|
||||||
|
opacity: 0;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
tr:hover .btn-group {
|
||||||
|
opacity: 1;
|
||||||
|
pointer-events: all;
|
||||||
|
}
|
||||||
|
41
src-ui/src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.spec.ts
41
src-ui/src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.spec.ts
@ -1,6 +1,11 @@
|
|||||||
import { DatePipe } from '@angular/common'
|
import { DatePipe } from '@angular/common'
|
||||||
import { HttpClientTestingModule } from '@angular/common/http/testing'
|
import { HttpClientTestingModule } from '@angular/common/http/testing'
|
||||||
import { ComponentFixture, TestBed } from '@angular/core/testing'
|
import {
|
||||||
|
ComponentFixture,
|
||||||
|
TestBed,
|
||||||
|
fakeAsync,
|
||||||
|
tick,
|
||||||
|
} from '@angular/core/testing'
|
||||||
import { Router } from '@angular/router'
|
import { Router } from '@angular/router'
|
||||||
import { RouterTestingModule } from '@angular/router/testing'
|
import { RouterTestingModule } from '@angular/router/testing'
|
||||||
import { NgbModule } from '@ng-bootstrap/ng-bootstrap'
|
import { NgbModule } from '@ng-bootstrap/ng-bootstrap'
|
||||||
@ -21,6 +26,8 @@ import { PermissionsService } from 'src/app/services/permissions.service'
|
|||||||
import { DocumentService } from 'src/app/services/rest/document.service'
|
import { DocumentService } from 'src/app/services/rest/document.service'
|
||||||
import { WidgetFrameComponent } from '../widget-frame/widget-frame.component'
|
import { WidgetFrameComponent } from '../widget-frame/widget-frame.component'
|
||||||
import { SavedViewWidgetComponent } from './saved-view-widget.component'
|
import { SavedViewWidgetComponent } from './saved-view-widget.component'
|
||||||
|
import { By } from '@angular/platform-browser'
|
||||||
|
import { SafeUrlPipe } from 'src/app/pipes/safeurl.pipe'
|
||||||
|
|
||||||
const savedView: PaperlessSavedView = {
|
const savedView: PaperlessSavedView = {
|
||||||
id: 1,
|
id: 1,
|
||||||
@ -64,6 +71,7 @@ describe('SavedViewWidgetComponent', () => {
|
|||||||
IfPermissionsDirective,
|
IfPermissionsDirective,
|
||||||
CustomDatePipe,
|
CustomDatePipe,
|
||||||
DocumentTitlePipe,
|
DocumentTitlePipe,
|
||||||
|
SafeUrlPipe,
|
||||||
],
|
],
|
||||||
providers: [
|
providers: [
|
||||||
PermissionsGuard,
|
PermissionsGuard,
|
||||||
@ -107,8 +115,39 @@ describe('SavedViewWidgetComponent', () => {
|
|||||||
fixture.detectChanges()
|
fixture.detectChanges()
|
||||||
expect(fixture.debugElement.nativeElement.textContent).toContain('doc2')
|
expect(fixture.debugElement.nativeElement.textContent).toContain('doc2')
|
||||||
expect(fixture.debugElement.nativeElement.textContent).toContain('doc3')
|
expect(fixture.debugElement.nativeElement.textContent).toContain('doc3')
|
||||||
|
// preview + download buttons
|
||||||
|
expect(
|
||||||
|
fixture.debugElement.queryAll(By.css('td a.btn'))[0].attributes['href']
|
||||||
|
).toEqual(component.getPreviewUrl(documentResults[0]))
|
||||||
|
expect(
|
||||||
|
fixture.debugElement.queryAll(By.css('td a.btn'))[1].attributes['href']
|
||||||
|
).toEqual(component.getDownloadUrl(documentResults[0]))
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it('should show preview on mouseover after delay to preload content', fakeAsync(() => {
|
||||||
|
jest.spyOn(documentService, 'listFiltered').mockReturnValue(
|
||||||
|
of({
|
||||||
|
all: [2, 3],
|
||||||
|
count: 2,
|
||||||
|
results: documentResults,
|
||||||
|
})
|
||||||
|
)
|
||||||
|
component.ngOnInit()
|
||||||
|
fixture.detectChanges()
|
||||||
|
component.mouseEnterPreview(documentResults[0])
|
||||||
|
expect(component.popover.isOpen()).toBeTruthy()
|
||||||
|
expect(component.popoverHidden).toBeTruthy()
|
||||||
|
tick(600)
|
||||||
|
expect(component.popoverHidden).toBeFalsy()
|
||||||
|
component.mouseLeaveCard()
|
||||||
|
|
||||||
|
component.mouseEnterPreview(documentResults[1])
|
||||||
|
tick(100)
|
||||||
|
component.mouseLeavePreview()
|
||||||
|
tick(600)
|
||||||
|
expect(component.popover.isOpen()).toBeFalsy()
|
||||||
|
}))
|
||||||
|
|
||||||
it('should call api endpoint and load results', () => {
|
it('should call api endpoint and load results', () => {
|
||||||
const listAllSpy = jest.spyOn(documentService, 'listFiltered')
|
const listAllSpy = jest.spyOn(documentService, 'listFiltered')
|
||||||
listAllSpy.mockReturnValue(
|
listAllSpy.mockReturnValue(
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
import { Component, Input, OnDestroy, OnInit } from '@angular/core'
|
import {
|
||||||
|
Component,
|
||||||
|
Input,
|
||||||
|
OnDestroy,
|
||||||
|
OnInit,
|
||||||
|
QueryList,
|
||||||
|
ViewChild,
|
||||||
|
ViewChildren,
|
||||||
|
} from '@angular/core'
|
||||||
import { Router } from '@angular/router'
|
import { Router } from '@angular/router'
|
||||||
import { Subscription } from 'rxjs'
|
import { Subscription } from 'rxjs'
|
||||||
import { PaperlessDocument } from 'src/app/data/paperless-document'
|
import { PaperlessDocument } from 'src/app/data/paperless-document'
|
||||||
@ -10,11 +18,15 @@ import { FILTER_HAS_TAGS_ALL } from 'src/app/data/filter-rule-type'
|
|||||||
import { OpenDocumentsService } from 'src/app/services/open-documents.service'
|
import { OpenDocumentsService } from 'src/app/services/open-documents.service'
|
||||||
import { DocumentListViewService } from 'src/app/services/document-list-view.service'
|
import { DocumentListViewService } from 'src/app/services/document-list-view.service'
|
||||||
import { ComponentWithPermissions } from 'src/app/components/with-permissions/with-permissions.component'
|
import { ComponentWithPermissions } from 'src/app/components/with-permissions/with-permissions.component'
|
||||||
|
import { NgbPopover } from '@ng-bootstrap/ng-bootstrap'
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-saved-view-widget',
|
selector: 'app-saved-view-widget',
|
||||||
templateUrl: './saved-view-widget.component.html',
|
templateUrl: './saved-view-widget.component.html',
|
||||||
styleUrls: ['./saved-view-widget.component.scss'],
|
styleUrls: [
|
||||||
|
'./saved-view-widget.component.scss',
|
||||||
|
'../../../document-list/popover-preview/popover-preview.scss',
|
||||||
|
],
|
||||||
})
|
})
|
||||||
export class SavedViewWidgetComponent
|
export class SavedViewWidgetComponent
|
||||||
extends ComponentWithPermissions
|
extends ComponentWithPermissions
|
||||||
@ -39,6 +51,12 @@ export class SavedViewWidgetComponent
|
|||||||
|
|
||||||
subscription: Subscription
|
subscription: Subscription
|
||||||
|
|
||||||
|
@ViewChildren('popover') popovers: QueryList<NgbPopover>
|
||||||
|
popover: NgbPopover
|
||||||
|
|
||||||
|
mouseOnPreview = false
|
||||||
|
popoverHidden = true
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
this.reload()
|
this.reload()
|
||||||
this.subscription = this.consumerStatusService
|
this.subscription = this.consumerStatusService
|
||||||
@ -87,4 +105,38 @@ export class SavedViewWidgetComponent
|
|||||||
{ rule_type: FILTER_HAS_TAGS_ALL, value: tag.id.toString() },
|
{ rule_type: FILTER_HAS_TAGS_ALL, value: tag.id.toString() },
|
||||||
])
|
])
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getPreviewUrl(document: PaperlessDocument): string {
|
||||||
|
return this.documentService.getPreviewUrl(document.id)
|
||||||
|
}
|
||||||
|
|
||||||
|
getDownloadUrl(document: PaperlessDocument): string {
|
||||||
|
return this.documentService.getDownloadUrl(document.id)
|
||||||
|
}
|
||||||
|
|
||||||
|
mouseEnterPreview(doc: PaperlessDocument) {
|
||||||
|
this.popover = this.popovers.get(this.documents.indexOf(doc))
|
||||||
|
this.mouseOnPreview = true
|
||||||
|
if (!this.popover.isOpen()) {
|
||||||
|
// we're going to open but hide to pre-load content during hover delay
|
||||||
|
this.popover.open()
|
||||||
|
this.popoverHidden = true
|
||||||
|
setTimeout(() => {
|
||||||
|
if (this.mouseOnPreview) {
|
||||||
|
// show popover
|
||||||
|
this.popoverHidden = false
|
||||||
|
} else {
|
||||||
|
this.popover.close()
|
||||||
|
}
|
||||||
|
}, 600)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
mouseLeavePreview() {
|
||||||
|
this.mouseOnPreview = false
|
||||||
|
}
|
||||||
|
|
||||||
|
mouseLeaveCard() {
|
||||||
|
this.popover?.close()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -50,7 +50,7 @@
|
|||||||
</a>
|
</a>
|
||||||
<a class="btn btn-sm btn-outline-secondary" target="_blank" [href]="previewUrl"
|
<a class="btn btn-sm btn-outline-secondary" target="_blank" [href]="previewUrl"
|
||||||
[ngbPopover]="previewContent" [popoverTitle]="document.title | documentTitle"
|
[ngbPopover]="previewContent" [popoverTitle]="document.title | documentTitle"
|
||||||
autoClose="true" popoverClass="shadow" (mouseenter)="mouseEnterPreview()" (mouseleave)="mouseLeavePreview()" #popover="ngbPopover">
|
autoClose="true" popoverClass="shadow popover-preview" (mouseenter)="mouseEnterPreview()" (mouseleave)="mouseLeavePreview()" #popover="ngbPopover">
|
||||||
<svg class="sidebaricon" fill="currentColor" class="sidebaricon">
|
<svg class="sidebaricon" fill="currentColor" class="sidebaricon">
|
||||||
<use xlink:href="assets/bootstrap-icons.svg#eye"/>
|
<use xlink:href="assets/bootstrap-icons.svg#eye"/>
|
||||||
</svg> <span class="d-none d-md-inline" i18n>View</span>
|
</svg> <span class="d-none d-md-inline" i18n>View</span>
|
||||||
|
@ -87,7 +87,7 @@
|
|||||||
</a>
|
</a>
|
||||||
<a [href]="previewUrl" target="_blank" class="btn btn-sm btn-outline-secondary"
|
<a [href]="previewUrl" target="_blank" class="btn btn-sm btn-outline-secondary"
|
||||||
[ngbPopover]="previewContent" [popoverTitle]="document.title | documentTitle"
|
[ngbPopover]="previewContent" [popoverTitle]="document.title | documentTitle"
|
||||||
autoClose="true" popoverClass="shadow" (mouseenter)="mouseEnterPreview()" (mouseleave)="mouseLeavePreview()" #popover="ngbPopover">
|
autoClose="true" popoverClass="shadow popover-preview" (mouseenter)="mouseEnterPreview()" (mouseleave)="mouseLeavePreview()" #popover="ngbPopover">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-eye" viewBox="0 0 16 16">
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-eye" viewBox="0 0 16 16">
|
||||||
<path d="M16 8s-3-5.5-8-5.5S0 8 0 8s3 5.5 8 5.5S16 8 16 8zM1.173 8a13.133 13.133 0 0 1 1.66-2.043C4.12 4.668 5.88 3.5 8 3.5c2.12 0 3.879 1.168 5.168 2.457A13.133 13.133 0 0 1 14.828 8c-.058.087-.122.183-.195.288-.335.48-.83 1.12-1.465 1.755C11.879 11.332 10.119 12.5 8 12.5c-2.12 0-3.879-1.168-5.168-2.457A13.134 13.134 0 0 1 1.172 8z"/>
|
<path d="M16 8s-3-5.5-8-5.5S0 8 0 8s3 5.5 8 5.5S16 8 16 8zM1.173 8a13.133 13.133 0 0 1 1.66-2.043C4.12 4.668 5.88 3.5 8 3.5c2.12 0 3.879 1.168 5.168 2.457A13.133 13.133 0 0 1 14.828 8c-.058.087-.122.183-.195.288-.335.48-.83 1.12-1.465 1.755C11.879 11.332 10.119 12.5 8 12.5c-2.12 0-3.879-1.168-5.168-2.457A13.134 13.134 0 0 1 1.172 8z"/>
|
||||||
<path d="M8 5.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5zM4.5 8a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0z"/>
|
<path d="M8 5.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5zM4.5 8a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0z"/>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
::ng-deep app-document-list .popover {
|
::ng-deep .popover.popover-preview {
|
||||||
max-width: 40rem;
|
max-width: 40rem;
|
||||||
|
|
||||||
.preview {
|
.preview {
|
||||||
@ -16,7 +16,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
::ng-deep .popover-hidden .popover {
|
::ng-deep .popover-hidden .popover {
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
}
|
}
|
||||||
|
@ -433,6 +433,11 @@ ul.pagination {
|
|||||||
height: 1em;
|
height: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.buttonicon-xs {
|
||||||
|
width: 0.8em;
|
||||||
|
height: 0.8em;
|
||||||
|
}
|
||||||
|
|
||||||
.sidebaricon {
|
.sidebaricon {
|
||||||
width: 16px;
|
width: 16px;
|
||||||
height: 16px;
|
height: 16px;
|
||||||
|
@ -71,6 +71,7 @@ $form-check-radio-checked-bg-image-dark: url("data:image/svg+xml,<svg xmlns='htt
|
|||||||
--pngx-focus-alpha: 0.6;
|
--pngx-focus-alpha: 0.6;
|
||||||
--pngx-primary-faded: var(--pngx-primary-darken-15);
|
--pngx-primary-faded: var(--pngx-primary-darken-15);
|
||||||
--pngx-primary-text-contrast: var(--bs-body-color);
|
--pngx-primary-text-contrast: var(--bs-body-color);
|
||||||
|
--bs-dark-border-subtle: var(--pngx-bg-darker);
|
||||||
|
|
||||||
.text-dark, .text-light {
|
.text-dark, .text-light {
|
||||||
color: var(--bs-body-color) !important;
|
color: var(--bs-body-color) !important;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user