ciyidogan commited on
Commit
573bb8f
·
verified ·
1 Parent(s): f05a669

Update flare-ui/src/app/dialogs/version-edit-dialog/version-edit-dialog.component.ts

Browse files
flare-ui/src/app/dialogs/version-edit-dialog/version-edit-dialog.component.ts CHANGED
@@ -71,7 +71,7 @@ export default class VersionEditDialogComponent implements OnInit {
71
  @Inject(MAT_DIALOG_DATA) public data: any
72
  ) {
73
  this.project = data.project;
74
- this.versions = [...this.project.versions].sort((a, b) => b.id - a.id);
75
  }
76
 
77
  ngOnInit() {
@@ -93,7 +93,7 @@ export default class VersionEditDialogComponent implements OnInit {
93
 
94
  initializeForm() {
95
  this.versionForm = this.fb.group({
96
- id: [{value: '', disabled: true}],
97
  caption: ['', Validators.required],
98
  published: [{value: false, disabled: true}],
99
  general_prompt: ['', Validators.required],
@@ -130,7 +130,7 @@ export default class VersionEditDialogComponent implements OnInit {
130
 
131
  // Form değerlerini set et
132
  this.versionForm.patchValue({
133
- id: version.id,
134
  caption: version.caption || '',
135
  published: version.published || false,
136
  general_prompt: (version as any).general_prompt || '', // Backend'den gelen general_prompt
@@ -169,11 +169,11 @@ export default class VersionEditDialogComponent implements OnInit {
169
  const project = await this.apiService.getProject(this.project.id).toPromise();
170
  if (project) {
171
  this.project = project;
172
- this.versions = [...project.versions].sort((a, b) => b.id - a.id);
173
 
174
  // Re-select current version if it still exists
175
  if (this.selectedVersion) {
176
- const currentVersion = this.versions.find(v => v.id === this.selectedVersion!.id);
177
  if (currentVersion) {
178
  this.loadVersion(currentVersion);
179
  } else if (this.versions.length > 0) {
@@ -360,8 +360,8 @@ export default class VersionEditDialogComponent implements OnInit {
360
  message: 'Which published version would you like to use as a base for the new version?',
361
  showDropdown: true,
362
  dropdownOptions: publishedVersions.map(v => ({ // ✅ publishedVersions kullan
363
- value: v.id,
364
- label: `Version ${v.id} - ${v.caption || 'No description'}`
365
  })),
366
  dropdownPlaceholder: 'Select published version (or leave empty for blank)',
367
  confirmText: 'Create',
@@ -377,15 +377,15 @@ export default class VersionEditDialogComponent implements OnInit {
377
 
378
  if (result.selectedValue) {
379
  // Copy from selected version
380
- const sourceVersion = this.versions.find(v => v.id === result.selectedValue);
381
  if (sourceVersion) {
382
  newVersionData = {
383
  ...sourceVersion,
384
- id: undefined,
385
  published: false,
386
  last_update_date: undefined,
387
- caption: `Copy of version ${sourceVersion.id}`,
388
- description: sourceVersion.caption ? `Copy of ${sourceVersion.caption}` : `Copy of version ${sourceVersion.id}`
389
  };
390
  }
391
  } else {
@@ -492,7 +492,7 @@ export default class VersionEditDialogComponent implements OnInit {
492
 
493
  const result = await this.apiService.updateVersion(
494
  this.project.id,
495
- currentVersion.id,
496
  updateData
497
  ).toPromise();
498
 
@@ -564,7 +564,7 @@ export default class VersionEditDialogComponent implements OnInit {
564
  try {
565
  await this.apiService.updateVersion(
566
  this.project.id,
567
- currentVersion.id,
568
  retryUpdateData,
569
  true
570
  ).toPromise();
@@ -601,7 +601,7 @@ export default class VersionEditDialogComponent implements OnInit {
601
  try {
602
  await this.apiService.publishVersion(
603
  this.project.id,
604
- this.selectedVersion.id
605
  ).toPromise();
606
 
607
  this.snackBar.open('Version published successfully', 'Close', { duration: 3000 });
@@ -639,7 +639,7 @@ export default class VersionEditDialogComponent implements OnInit {
639
  try {
640
  await this.apiService.deleteVersion(
641
  this.project.id,
642
- this.selectedVersion.id
643
  ).toPromise();
644
 
645
  this.snackBar.open('Version deleted successfully', 'Close', { duration: 3000 });
@@ -738,7 +738,7 @@ export default class VersionEditDialogComponent implements OnInit {
738
 
739
  if (updatedProject) {
740
  this.project = updatedProject;
741
- this.versions = [...updatedProject.versions].sort((a, b) => b.id - a.id);
742
  }
743
  } catch (error) {
744
  console.error('Failed to reload project:', error);
 
71
  @Inject(MAT_DIALOG_DATA) public data: any
72
  ) {
73
  this.project = data.project;
74
+ this.versions = [...this.project.versions].sort((a, b) => b.no - a.no);
75
  }
76
 
77
  ngOnInit() {
 
93
 
94
  initializeForm() {
95
  this.versionForm = this.fb.group({
96
+ no: [{value: '', disabled: true}],
97
  caption: ['', Validators.required],
98
  published: [{value: false, disabled: true}],
99
  general_prompt: ['', Validators.required],
 
130
 
131
  // Form değerlerini set et
132
  this.versionForm.patchValue({
133
+ no: version.no,
134
  caption: version.caption || '',
135
  published: version.published || false,
136
  general_prompt: (version as any).general_prompt || '', // Backend'den gelen general_prompt
 
169
  const project = await this.apiService.getProject(this.project.id).toPromise();
170
  if (project) {
171
  this.project = project;
172
+ this.versions = [...project.versions].sort((a, b) => b.no - a.no);
173
 
174
  // Re-select current version if it still exists
175
  if (this.selectedVersion) {
176
+ const currentVersion = this.versions.find(v => v.no === this.selectedVersion!.no);
177
  if (currentVersion) {
178
  this.loadVersion(currentVersion);
179
  } else if (this.versions.length > 0) {
 
360
  message: 'Which published version would you like to use as a base for the new version?',
361
  showDropdown: true,
362
  dropdownOptions: publishedVersions.map(v => ({ // ✅ publishedVersions kullan
363
+ value: v.no,
364
+ label: `Version ${v.no} - ${v.caption || 'No description'}`
365
  })),
366
  dropdownPlaceholder: 'Select published version (or leave empty for blank)',
367
  confirmText: 'Create',
 
377
 
378
  if (result.selectedValue) {
379
  // Copy from selected version
380
+ const sourceVersion = this.versions.find(v => v.no === result.selectedValue);
381
  if (sourceVersion) {
382
  newVersionData = {
383
  ...sourceVersion,
384
+ no: undefined,
385
  published: false,
386
  last_update_date: undefined,
387
+ caption: `Copy of version ${sourceVersion.no}`,
388
+ description: sourceVersion.caption ? `Copy of ${sourceVersion.caption}` : `Copy of version ${sourceVersion.no}`
389
  };
390
  }
391
  } else {
 
492
 
493
  const result = await this.apiService.updateVersion(
494
  this.project.id,
495
+ currentVersion.no,
496
  updateData
497
  ).toPromise();
498
 
 
564
  try {
565
  await this.apiService.updateVersion(
566
  this.project.id,
567
+ currentVersion.no,
568
  retryUpdateData,
569
  true
570
  ).toPromise();
 
601
  try {
602
  await this.apiService.publishVersion(
603
  this.project.id,
604
+ this.selectedVersion.no
605
  ).toPromise();
606
 
607
  this.snackBar.open('Version published successfully', 'Close', { duration: 3000 });
 
639
  try {
640
  await this.apiService.deleteVersion(
641
  this.project.id,
642
+ this.selectedVersion.no
643
  ).toPromise();
644
 
645
  this.snackBar.open('Version deleted successfully', 'Close', { duration: 3000 });
 
738
 
739
  if (updatedProject) {
740
  this.project = updatedProject;
741
+ this.versions = [...updatedProject.versions].sort((a, b) => b.no - a.no);
742
  }
743
  } catch (error) {
744
  console.error('Failed to reload project:', error);