Compare commits

..

1 Commits

12 changed files with 1265 additions and 1259 deletions

View File

@ -32,7 +32,7 @@ RUN set -eux \
# Purpose: Installs s6-overlay and rootfs # Purpose: Installs s6-overlay and rootfs
# Comments: # Comments:
# - Don't leave anything extra in here either # - Don't leave anything extra in here either
FROM ghcr.io/astral-sh/uv:0.6.11-python3.12-bookworm-slim AS s6-overlay-base FROM ghcr.io/astral-sh/uv:0.6.9-python3.12-bookworm-slim AS s6-overlay-base
WORKDIR /usr/src/s6 WORKDIR /usr/src/s6

View File

@ -404,7 +404,7 @@ set this value to /paperless. No trailing slash!
#### [`PAPERLESS_STATIC_URL=<path>`](#PAPERLESS_STATIC_URL) {#PAPERLESS_STATIC_URL} #### [`PAPERLESS_STATIC_URL=<path>`](#PAPERLESS_STATIC_URL) {#PAPERLESS_STATIC_URL}
: Override the STATIC_URL here. Unless you're hosting Paperless off a : Override the STATIC_URL here. Unless you're hosting Paperless off a
specific path like /paperless/, you probably don't need to change this. subdomain like /paperless/, you probably don't need to change this.
If you do change it, be sure to include the trailing slash. If you do change it, be sure to include the trailing slash.
Defaults to "/static/". Defaults to "/static/".

View File

@ -715,7 +715,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/common/input/document-link/document-link.component.html</context> <context context-type="sourcefile">src/app/components/common/input/document-link/document-link.component.html</context>
<context context-type="linenumber">58</context> <context context-type="linenumber">59</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/common/permissions-dialog/permissions-dialog.component.html</context> <context context-type="sourcefile">src/app/components/common/permissions-dialog/permissions-dialog.component.html</context>
@ -2541,15 +2541,15 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
<context context-type="linenumber">1323</context> <context context-type="linenumber">1325</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
<context context-type="linenumber">1362</context> <context context-type="linenumber">1364</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
<context context-type="linenumber">1403</context> <context context-type="linenumber">1405</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/document-list/bulk-editor/bulk-editor.component.ts</context> <context context-type="sourcefile">src/app/components/document-list/bulk-editor/bulk-editor.component.ts</context>
@ -3406,7 +3406,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
<context context-type="linenumber">1380</context> <context context-type="linenumber">1382</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/guards/dirty-saved-view.guard.ts</context> <context context-type="sourcefile">src/app/guards/dirty-saved-view.guard.ts</context>
@ -5352,18 +5352,18 @@
<source>Remove link</source> <source>Remove link</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/common/input/document-link/document-link.component.html</context> <context context-type="sourcefile">src/app/components/common/input/document-link/document-link.component.html</context>
<context context-type="linenumber">43</context> <context context-type="linenumber">44</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/common/input/document-link/document-link.component.html</context> <context context-type="sourcefile">src/app/components/common/input/document-link/document-link.component.html</context>
<context context-type="linenumber">50</context> <context context-type="linenumber">51</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1388712764439031120" datatype="html"> <trans-unit id="1388712764439031120" datatype="html">
<source>Open link</source> <source>Open link</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/common/input/document-link/document-link.component.html</context> <context context-type="sourcefile">src/app/components/common/input/document-link/document-link.component.html</context>
<context context-type="linenumber">46</context> <context context-type="linenumber">47</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/common/input/url/url.component.html</context> <context context-type="sourcefile">src/app/components/common/input/url/url.component.html</context>
@ -5374,7 +5374,7 @@
<source>Not found</source> <source>Not found</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/common/input/document-link/document-link.component.html</context> <context context-type="sourcefile">src/app/components/common/input/document-link/document-link.component.html</context>
<context context-type="linenumber">51</context> <context context-type="linenumber">52</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5676637575587497817" datatype="html"> <trans-unit id="5676637575587497817" datatype="html">
@ -7022,35 +7022,35 @@
<source>Split confirm</source> <source>Split confirm</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
<context context-type="linenumber">1321</context> <context context-type="linenumber">1323</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="2805304563009985503" datatype="html"> <trans-unit id="2805304563009985503" datatype="html">
<source>This operation will split the selected document(s) into new documents.</source> <source>This operation will split the selected document(s) into new documents.</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
<context context-type="linenumber">1322</context> <context context-type="linenumber">1324</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="7638681545012641321" datatype="html"> <trans-unit id="7638681545012641321" datatype="html">
<source>Split operation for &quot;<x id="PH" equiv-text="this.document.title"/>&quot; will begin in the background.</source> <source>Split operation for &quot;<x id="PH" equiv-text="this.document.title"/>&quot; will begin in the background.</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
<context context-type="linenumber">1338</context> <context context-type="linenumber">1340</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3235014591864339926" datatype="html"> <trans-unit id="3235014591864339926" datatype="html">
<source>Error executing split operation</source> <source>Error executing split operation</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
<context context-type="linenumber">1347</context> <context context-type="linenumber">1349</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6555329262222566158" datatype="html"> <trans-unit id="6555329262222566158" datatype="html">
<source>Rotate confirm</source> <source>Rotate confirm</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
<context context-type="linenumber">1360</context> <context context-type="linenumber">1362</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/document-list/bulk-editor/bulk-editor.component.ts</context> <context context-type="sourcefile">src/app/components/document-list/bulk-editor/bulk-editor.component.ts</context>
@ -7061,60 +7061,60 @@
<source>This operation will permanently rotate the original version of the current document.</source> <source>This operation will permanently rotate the original version of the current document.</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
<context context-type="linenumber">1361</context> <context context-type="linenumber">1363</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3802852336439815451" datatype="html"> <trans-unit id="3802852336439815451" datatype="html">
<source>Rotation of &quot;<x id="PH" equiv-text="this.document.title"/>&quot; will begin in the background. Close and re-open the document after the operation has completed to see the changes.</source> <source>Rotation of &quot;<x id="PH" equiv-text="this.document.title"/>&quot; will begin in the background. Close and re-open the document after the operation has completed to see the changes.</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
<context context-type="linenumber">1377</context> <context context-type="linenumber">1379</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="2962674215361798818" datatype="html"> <trans-unit id="2962674215361798818" datatype="html">
<source>Error executing rotate operation</source> <source>Error executing rotate operation</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
<context context-type="linenumber">1389</context> <context context-type="linenumber">1391</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3539261415918606512" datatype="html"> <trans-unit id="3539261415918606512" datatype="html">
<source>Delete pages confirm</source> <source>Delete pages confirm</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
<context context-type="linenumber">1401</context> <context context-type="linenumber">1403</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5854352498125813866" datatype="html"> <trans-unit id="5854352498125813866" datatype="html">
<source>This operation will permanently delete the selected pages from the original document.</source> <source>This operation will permanently delete the selected pages from the original document.</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
<context context-type="linenumber">1402</context> <context context-type="linenumber">1404</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1138505464360427037" datatype="html"> <trans-unit id="1138505464360427037" datatype="html">
<source>Delete pages operation for &quot;<x id="PH" equiv-text="this.document.title"/>&quot; will begin in the background. Close and re-open or reload this document after the operation has completed to see the changes.</source> <source>Delete pages operation for &quot;<x id="PH" equiv-text="this.document.title"/>&quot; will begin in the background. Close and re-open or reload this document after the operation has completed to see the changes.</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
<context context-type="linenumber">1417</context> <context context-type="linenumber">1419</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1249139200486584973" datatype="html"> <trans-unit id="1249139200486584973" datatype="html">
<source>Error executing delete pages operation</source> <source>Error executing delete pages operation</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
<context context-type="linenumber">1426</context> <context context-type="linenumber">1428</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6085793215710522488" datatype="html"> <trans-unit id="6085793215710522488" datatype="html">
<source>An error occurred loading tiff: <x id="PH" equiv-text="err.toString()"/></source> <source>An error occurred loading tiff: <x id="PH" equiv-text="err.toString()"/></source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
<context context-type="linenumber">1486</context> <context context-type="linenumber">1488</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context> <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
<context context-type="linenumber">1490</context> <context context-type="linenumber">1492</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4958946940233632319" datatype="html"> <trans-unit id="4958946940233632319" datatype="html">

View File

@ -12,17 +12,17 @@
}, },
"private": true, "private": true,
"dependencies": { "dependencies": {
"@angular/cdk": "^19.2.7", "@angular/cdk": "^19.2.2",
"@angular/common": "~19.2.4", "@angular/common": "~19.2.1",
"@angular/compiler": "~19.2.4", "@angular/compiler": "~19.2.1",
"@angular/core": "~19.2.4", "@angular/core": "~19.2.1",
"@angular/forms": "~19.2.4", "@angular/forms": "~19.2.1",
"@angular/localize": "~19.2.4", "@angular/localize": "~19.2.1",
"@angular/platform-browser": "~19.2.4", "@angular/platform-browser": "~19.2.1",
"@angular/platform-browser-dynamic": "~19.2.4", "@angular/platform-browser-dynamic": "~19.2.1",
"@angular/router": "~19.2.4", "@angular/router": "~19.2.1",
"@ng-bootstrap/ng-bootstrap": "^18.0.0", "@ng-bootstrap/ng-bootstrap": "^18.0.0",
"@ng-select/ng-select": "^14.2.6", "@ng-select/ng-select": "^14.2.3",
"@ngneat/dirty-check-forms": "^3.0.3", "@ngneat/dirty-check-forms": "^3.0.3",
"@popperjs/core": "^2.11.8", "@popperjs/core": "^2.11.8",
"bootstrap": "^5.3.3", "bootstrap": "^5.3.3",
@ -44,28 +44,28 @@
"devDependencies": { "devDependencies": {
"@angular-builders/custom-webpack": "^19.0.0", "@angular-builders/custom-webpack": "^19.0.0",
"@angular-builders/jest": "^19.0.0", "@angular-builders/jest": "^19.0.0",
"@angular-devkit/build-angular": "^19.2.5", "@angular-devkit/build-angular": "^19.2.1",
"@angular-devkit/core": "^19.2.5", "@angular-devkit/core": "^19.2.1",
"@angular-devkit/schematics": "^19.2.5", "@angular-devkit/schematics": "^19.2.1",
"@angular-eslint/builder": "19.3.0", "@angular-eslint/builder": "19.2.1",
"@angular-eslint/eslint-plugin": "19.3.0", "@angular-eslint/eslint-plugin": "19.2.1",
"@angular-eslint/eslint-plugin-template": "19.3.0", "@angular-eslint/eslint-plugin-template": "19.2.1",
"@angular-eslint/schematics": "19.3.0", "@angular-eslint/schematics": "19.2.1",
"@angular-eslint/template-parser": "19.3.0", "@angular-eslint/template-parser": "19.2.1",
"@angular/cli": "~19.2.5", "@angular/cli": "~19.2.1",
"@angular/compiler-cli": "~19.2.4", "@angular/compiler-cli": "~19.2.1",
"@codecov/webpack-plugin": "^1.9.0", "@codecov/webpack-plugin": "^1.9.0",
"@playwright/test": "^1.51.1", "@playwright/test": "^1.50.1",
"@types/jest": "^29.5.14", "@types/jest": "^29.5.14",
"@types/node": "^22.13.17", "@types/node": "^22.13.9",
"@typescript-eslint/eslint-plugin": "^8.29.0", "@typescript-eslint/eslint-plugin": "^8.26.1",
"@typescript-eslint/parser": "^8.29.0", "@typescript-eslint/parser": "^8.26.1",
"@typescript-eslint/utils": "^8.29.0", "@typescript-eslint/utils": "^8.26.1",
"eslint": "^9.23.0", "eslint": "^9.22.0",
"jest": "29.7.0", "jest": "29.7.0",
"jest-environment-jsdom": "^29.7.0", "jest-environment-jsdom": "^29.7.0",
"jest-junit": "^16.0.0", "jest-junit": "^16.0.0",
"jest-preset-angular": "^14.5.4", "jest-preset-angular": "^14.5.3",
"jest-websocket-mock": "^2.5.0", "jest-websocket-mock": "^2.5.0",
"patch-package": "^8.0.0", "patch-package": "^8.0.0",
"prettier-plugin-organize-imports": "^4.1.0", "prettier-plugin-organize-imports": "^4.1.0",

2387
src-ui/pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@ -30,24 +30,25 @@
[placeholder]="placeholder" [placeholder]="placeholder"
[notFoundText]="notFoundText" [notFoundText]="notFoundText"
[multiple]="true" [multiple]="true"
bindValue="id"
[compareWith]="compareDocuments" [compareWith]="compareDocuments"
[trackByFn]="trackByFn" [trackByFn]="trackByFn"
[minTermLength]="2" [minTermLength]="2"
[loading]="loading" [loading]="loading"
[typeahead]="documentsInput$" [typeahead]="documentsInput$"
(mousedown)="$event.stopImmediatePropagation()" (mousedown)="$event.stopImmediatePropagation()"
(change)="onChange(selectedDocumentIDs)"> (change)="onChange(selectedDocuments)">
<ng-template ng-label-tmp let-document="item"> <ng-template ng-label-tmp let-document="item">
<div class="d-flex align-items-center"> <div class="d-flex align-items-center">
@if (!disabled) { @if (!disabled) {
<button class="btn p-0 lh-1" (click)="unselect(document)" (mousedown)="$event.stopImmediatePropagation()" type="button" title="Remove link" i18n-title><i-bs name="x"></i-bs></button> <button class="btn p-0 lh-1" (click)="unselect(document)" title="Remove link" i18n-title><i-bs name="x"></i-bs></button>
} }
@if (document.title) { @if (document.title) {
<a routerLink="/documents/{{document.id}}" class="badge bg-light text-primary" (mousedown)="$event.stopImmediatePropagation();" title="Open link" i18n-title> <a routerLink="/documents/{{document.id}}" class="badge bg-light text-primary" (mousedown)="$event.stopImmediatePropagation();" title="Open link" i18n-title>
<i-bs width="0.9em" height="0.9em" name="file-text"></i-bs>&nbsp;<span>{{document.title}}</span> <i-bs width="0.9em" height="0.9em" name="file-text"></i-bs>&nbsp;<span>{{document.title}}</span>
</a> </a>
} @else { } @else {
<span class="badge bg-light text-muted" (click)="unselect(document)" (mousedown)="$event.stopImmediatePropagation()" type="button" title="Remove link" i18n-title> <span class="badge bg-light text-muted" (click)="unselect(document)" title="Remove link" i18n-title>
<i-bs width="0.9em" height="0.9em" name="exclamation-triangle-fill"></i-bs>&nbsp;<span i18n>Not found</span> <i-bs width="0.9em" height="0.9em" name="exclamation-triangle-fill"></i-bs>&nbsp;<span i18n>Not found</span>
</span> </span>
} }

View File

@ -74,11 +74,6 @@ describe('DocumentLinkComponent', () => {
expect(component.selectedDocuments).toEqual([documents[1], documents[0]]) expect(component.selectedDocuments).toEqual([documents[1], documents[0]])
}) })
it('should retrieve document IDs from selected documents', () => {
component.selectedDocuments = documents
expect(component.selectedDocumentIDs).toEqual([1, 12, 16, 23])
})
it('should search API on select text input', () => { it('should search API on select text input', () => {
const listSpy = jest.spyOn(documentService, 'listFiltered') const listSpy = jest.spyOn(documentService, 'listFiltered')
listSpy.mockImplementation( listSpy.mockImplementation(

View File

@ -71,10 +71,6 @@ export class DocumentLinkComponent
@Input() @Input()
placeholder: string = $localize`Search for documents` placeholder: string = $localize`Search for documents`
get selectedDocumentIDs(): number[] {
return this.selectedDocuments.map((d) => d.id)
}
constructor(private documentsService: DocumentService) { constructor(private documentsService: DocumentService) {
super() super()
} }

View File

@ -17,7 +17,7 @@
(change)="onChange(value)"> (change)="onChange(value)">
<ng-template ng-label-tmp let-item="item"> <ng-template ng-label-tmp let-item="item">
<button class="tag-wrap btn p-0 d-flex align-items-center" (click)="removeTag(item.id)" (mousedown)="$event.stopImmediatePropagation()" type="button" title="Remove tag" i18n-title> <button class="tag-wrap btn p-0 d-flex align-items-center" (click)="removeTag($event, item.id)" title="Remove tag" i18n-title>
<i-bs name="x" style="margin-inline-end: 1px;"></i-bs> <i-bs name="x" style="margin-inline-end: 1px;"></i-bs>
@if (item.id && tags) { @if (item.id && tags) {
<pngx-tag style="background-color: none;" [tag]="getTag(item.id)"></pngx-tag> <pngx-tag style="background-color: none;" [tag]="getTag(item.id)"></pngx-tag>

View File

@ -154,11 +154,11 @@ describe('TagsComponent', () => {
it('support remove tags', () => { it('support remove tags', () => {
component.tags = tags component.tags = tags
component.value = [1, 2] component.value = [1, 2]
component.removeTag(2) component.removeTag(new PointerEvent('point'), 2)
expect(component.value).toEqual([1]) expect(component.value).toEqual([1])
component.disabled = true component.disabled = true
component.removeTag(1) component.removeTag(new PointerEvent('point'), 1)
expect(component.value).toEqual([1]) expect(component.value).toEqual([1])
}) })

View File

@ -118,10 +118,13 @@ export class TagsComponent implements OnInit, ControlValueAccessor {
} }
} }
removeTag(tagID: number) { removeTag(event: PointerEvent, id: number) {
if (this.disabled) return if (this.disabled) return
let index = this.value.indexOf(tagID) // prevent opening dropdown
event.stopImmediatePropagation()
let index = this.value.indexOf(id)
if (index > -1) { if (index > -1) {
let oldValue = this.value let oldValue = this.value
oldValue.splice(index, 1) oldValue.splice(index, 1)

View File

@ -1286,7 +1286,9 @@ export class DocumentDetailComponent
this.document.custom_fields?.forEach((fieldInstance) => { this.document.custom_fields?.forEach((fieldInstance) => {
this.customFieldFormFields.push( this.customFieldFormFields.push(
new FormGroup({ new FormGroup({
field: new FormControl(fieldInstance.field), field: new FormControl(
this.getCustomFieldFromInstance(fieldInstance)?.id
),
value: new FormControl(fieldInstance.value), value: new FormControl(fieldInstance.value),
}), }),
{ emitEvent } { emitEvent }