From feb5d534b5b62ed99044da800fca273a0e63827e Mon Sep 17 00:00:00 2001 From: jojo2357 <66704796+jojo2357@users.noreply.github.com> Date: Sat, 13 Sep 2025 21:19:00 -0600 Subject: [PATCH] Enhancement: long text custom field (#10846) --------- Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com> --- .../custom-field-display.component.html | 3 ++ .../custom-field-display.component.ts | 6 +-- .../custom-fields-values.component.html | 5 +++ .../custom-fields-values.component.ts | 2 + .../input/textarea/textarea.component.ts | 8 +++- .../document-detail.component.html | 8 ++++ .../document-detail.component.ts | 2 + ...tom-fields-bulk-edit-dialog.component.html | 4 ++ ...ustom-fields-bulk-edit-dialog.component.ts | 2 + src-ui/src/app/data/custom-field-query.ts | 4 ++ src-ui/src/app/data/custom-field.ts | 5 +++ src/documents/filters.py | 7 +++- ...mfieldinstance_value_long_text_and_more.py | 39 +++++++++++++++++++ src/documents/models.py | 4 ++ src/documents/templating/filepath.py | 1 + 15 files changed, 95 insertions(+), 5 deletions(-) create mode 100644 src/documents/migrations/1070_customfieldinstance_value_long_text_and_more.py diff --git a/src-ui/src/app/components/common/custom-field-display/custom-field-display.component.html b/src-ui/src/app/components/common/custom-field-display/custom-field-display.component.html index bfac6ef23..388c314d3 100644 --- a/src-ui/src/app/components/common/custom-field-display/custom-field-display.component.html +++ b/src-ui/src/app/components/common/custom-field-display/custom-field-display.component.html @@ -35,6 +35,9 @@ @case (CustomFieldDataType.Select) { {{getSelectValue(field, value)}} } + @case (CustomFieldDataType.LongText) { +

{{value | slice:0:20}}{{value.length > 20 ? '...' : ''}}

+ } @default { {{value}} } diff --git a/src-ui/src/app/components/common/custom-field-display/custom-field-display.component.ts b/src-ui/src/app/components/common/custom-field-display/custom-field-display.component.ts index 44ec0bdaa..7885f5c28 100644 --- a/src-ui/src/app/components/common/custom-field-display/custom-field-display.component.ts +++ b/src-ui/src/app/components/common/custom-field-display/custom-field-display.component.ts @@ -1,5 +1,5 @@ -import { CurrencyPipe, getLocaleCurrencyCode } from '@angular/common' -import { Component, Input, LOCALE_ID, OnInit, inject } from '@angular/core' +import { CurrencyPipe, getLocaleCurrencyCode, SlicePipe } from '@angular/common' +import { Component, inject, Input, LOCALE_ID, OnInit } from '@angular/core' import { NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap' import { takeUntil } from 'rxjs' import { CustomField, CustomFieldDataType } from 'src/app/data/custom-field' @@ -14,7 +14,7 @@ import { LoadingComponentWithPermissions } from '../../loading-component/loading selector: 'pngx-custom-field-display', templateUrl: './custom-field-display.component.html', styleUrl: './custom-field-display.component.scss', - imports: [CustomDatePipe, CurrencyPipe, NgbTooltipModule], + imports: [CustomDatePipe, CurrencyPipe, NgbTooltipModule, SlicePipe], }) export class CustomFieldDisplayComponent extends LoadingComponentWithPermissions diff --git a/src-ui/src/app/components/common/input/custom-fields-values/custom-fields-values.component.html b/src-ui/src/app/components/common/input/custom-fields-values/custom-fields-values.component.html index f0886b1c2..0c20a620a 100644 --- a/src-ui/src/app/components/common/input/custom-fields-values/custom-fields-values.component.html +++ b/src-ui/src/app/components/common/input/custom-fields-values/custom-fields-values.component.html @@ -68,6 +68,11 @@ [allowNull]="true" [horizontal]="true"> } + @case (CustomFieldDataType.LongText) { + + } }