]> git.ipfire.org Git - thirdparty/paperless-ngx.git/commitdiff
Use correct direction for RTL content
authorMichael Shamoon <4887959+shamoon@users.noreply.github.com>
Sun, 1 Jan 2023 16:59:43 +0000 (08:59 -0800)
committerTrenton H <797416+stumpylog@users.noreply.github.com>
Tue, 3 Jan 2023 20:42:57 +0000 (12:42 -0800)
src-ui/src/app/components/document-detail/document-detail.component.html
src-ui/src/app/components/document-detail/document-detail.component.scss
src-ui/src/app/components/document-detail/document-detail.component.ts
src-ui/src/app/data/paperless-document-metadata.ts
src/documents/views.py

index 0384de3713ca0babc4954cc872122a8ff62d5cc1..54ac665e0c2c7f53f0de22fa233bbe2ee76fb220 100644 (file)
@@ -91,7 +91,7 @@
                     <a ngbNavLink i18n>Content</a>
                     <ng-template ngbNavContent>
                         <div class="mb-3">
-                            <textarea class="form-control" id="content" rows="20" formControlName='content'></textarea>
+                            <textarea class="form-control" id="content" rows="20" formControlName='content' [class.rtl]="isRTL"></textarea>
                         </div>
                     </ng-template>
                 </li>
index 3ae922564f76748790162841f819aff97dbf3a46..71d50ca61a82b91d94cd11a26e92c15b9c23edf3 100644 (file)
@@ -28,3 +28,7 @@
   left: 30%;
   right: 30%;
 }
+
+textarea.rtl {
+  direction: rtl;
+}
index 08d0b0e82cc21a0e0a1cdf4b67c0bb7f2fb76fa1..f99f547e6a53469de8456655273103ed83a06de4 100644 (file)
@@ -135,6 +135,13 @@ export class DocumentDetailComponent
       : this.metadata?.original_mime_type
   }
 
+  get isRTL() {
+    if (!this.metadata || !this.metadata.lang) return false
+    else {
+      return ['ar', 'he', 'fe'].includes(this.metadata.lang)
+    }
+  }
+
   ngOnInit(): void {
     this.documentForm.valueChanges
       .pipe(takeUntil(this.unsubscribeNotifier))
index 152f69046142500bf3e3763f22c25c7aaa34130c..b8c030ee8cb54d95a7fa7bc2f8b27b1a6af00410 100644 (file)
@@ -10,4 +10,6 @@ export interface PaperlessDocumentMetadata {
   original_filename?: string
 
   has_archive_version?: boolean
+
+  lang?: string
 }
index e313ae17ea79c57bfcbb69815d2fbb8214adac37..52b230b4020dafc95fadcbf1c0a58a28552133eb 100644 (file)
@@ -29,6 +29,7 @@ from django.views.decorators.cache import cache_control
 from django.views.generic import TemplateView
 from django_filters.rest_framework import DjangoFilterBackend
 from documents.tasks import consume_file
+from langdetect import detect
 from packaging import version as packaging_version
 from paperless import version
 from paperless.db import GnuPG
@@ -325,6 +326,13 @@ class DocumentViewSet(
             "original_filename": doc.original_filename,
         }
 
+        lang = "en"
+        try:
+            lang = detect(doc.content)
+        except Exception:
+            pass
+        meta["lang"] = lang
+
         if doc.has_archive_version:
             meta["archive_size"] = self.get_filesize(doc.archive_path)
             meta["archive_metadata"] = self.get_metadata(