Retain options for edit

This commit is contained in:
shamoon 2024-07-05 22:05:30 -07:00
parent 9ba57a0179
commit 29a142dee4
3 changed files with 25 additions and 2 deletions

View File

@ -3460,14 +3460,14 @@
<source>Create new custom field</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/common/edit-dialog/custom-field-edit-dialog/custom-field-edit-dialog.component.ts</context>
<context context-type="linenumber">44</context>
<context context-type="linenumber">52</context>
</context-group>
</trans-unit>
<trans-unit id="8751213029607178010" datatype="html">
<source>Edit custom field</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/common/edit-dialog/custom-field-edit-dialog/custom-field-edit-dialog.component.ts</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">56</context>
</context-group>
</trans-unit>
<trans-unit id="6672809941092516947" datatype="html">

View File

@ -13,6 +13,7 @@ import { SelectComponent } from '../../input/select/select.component'
import { TextComponent } from '../../input/text/text.component'
import { EditDialogMode } from '../edit-dialog.component'
import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http'
import { CustomFieldDataType } from 'src/app/data/custom-field'
describe('CustomFieldEditDialogComponent', () => {
let component: CustomFieldEditDialogComponent
@ -64,6 +65,23 @@ describe('CustomFieldEditDialogComponent', () => {
expect(component.objectForm.get('data_type').disabled).toBeTruthy()
})
it('should initialize select options on edit', () => {
component.dialogMode = EditDialogMode.EDIT
component.object = {
id: 1,
name: 'Field 1',
data_type: CustomFieldDataType.Select,
extra_data: {
select_options: ['Option 1', 'Option 2', 'Option 3'],
},
}
fixture.detectChanges()
component.ngOnInit()
expect(
component.objectForm.get('extra_data').get('select_options').value.length
).toBe(3)
})
it('should support add / remove select options', () => {
component.dialogMode = EditDialogMode.CREATE
fixture.detectChanges()

View File

@ -41,6 +41,11 @@ export class CustomFieldEditDialogComponent
if (this.typeFieldDisabled) {
this.objectForm.get('data_type').disable()
}
if (this.object?.data_type === CustomFieldDataType.Select) {
this.object.extra_data.select_options.forEach((option) =>
this.selectOptions.push(new FormControl(option))
)
}
}
getCreateTitle() {