cloud-ide-element 1.0.75 → 1.0.76

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4106,7 +4106,7 @@ class CideEleGlobalFileUploaderComponent {
4106
4106
  return;
4107
4107
  }
4108
4108
  const newUploads = validFiles.map(file => ({
4109
- fileId: this.generateFileId(),
4109
+ fileId: this.generateFileId(file),
4110
4110
  fileName: file.name,
4111
4111
  progress: 0,
4112
4112
  status: 'pending',
@@ -4196,6 +4196,7 @@ class CideEleGlobalFileUploaderComponent {
4196
4196
  permissions: ['read', 'write']
4197
4197
  };
4198
4198
  this.fileService.uploadFile(upload.file, this.convertToFileUploadOptions(uploadRequest), (progress) => {
4199
+ // Use the original fileId for progress updates during upload
4199
4200
  this.updateUploadProgress(upload.fileId, progress);
4200
4201
  })
4201
4202
  .pipe(takeUntilDestroyed(this.destroyRef))
@@ -4203,16 +4204,28 @@ class CideEleGlobalFileUploaderComponent {
4203
4204
  next: (response) => {
4204
4205
  completedCount++;
4205
4206
  console.log(`✅ [GlobalFileUploader] File ${index + 1}/${totalFiles} uploaded successfully`);
4206
- this.updateUploadStatus(upload.fileId, 'completed', 100, undefined, response);
4207
+ // Find the upload item by cyfm_temp_unique_id from response
4208
+ const responseFile = response?.data?.core_file_manager?.[0];
4209
+ const tempUniqueId = responseFile?.cyfm_temp_unique_id;
4210
+ console.log('🔍 [GlobalFileUploader] Response tempUniqueId:', tempUniqueId);
4211
+ console.log('🔍 [GlobalFileUploader] Original upload fileId:', upload.fileId);
4212
+ // Use the tempUniqueId to find and update the correct upload item
4213
+ if (tempUniqueId) {
4214
+ this.updateUploadStatusByTempId(tempUniqueId, 'completed', 100, undefined, response);
4215
+ }
4216
+ else {
4217
+ // Fallback to original fileId
4218
+ this.updateUploadStatus(upload.fileId, 'completed', 100, undefined, response);
4219
+ }
4207
4220
  this.uploadComplete.emit({
4208
- fileId: upload.fileId,
4221
+ fileId: tempUniqueId || upload.fileId,
4209
4222
  fileName: upload.fileName,
4210
4223
  progress: 100,
4211
4224
  status: 'completed',
4212
4225
  uploadedFile: response
4213
4226
  });
4214
- if (response?.data?.core_file_manager?.[0]) {
4215
- uploadedFiles.push(response.data.core_file_manager[0]);
4227
+ if (responseFile) {
4228
+ uploadedFiles.push(responseFile);
4216
4229
  }
4217
4230
  console.log('🔍 [GlobalFileUploader] Upload response received:', response);
4218
4231
  console.log('🔍 [GlobalFileUploader] Response data structure:', response?.data);
@@ -4274,9 +4287,21 @@ class CideEleGlobalFileUploaderComponent {
4274
4287
  .subscribe({
4275
4288
  next: (response) => {
4276
4289
  console.log('✅ [GlobalFileUploader] Single file upload successful:', response);
4277
- this.updateUploadStatus(pendingUpload.fileId, 'completed', 100, undefined, response);
4290
+ // Find the upload item by cyfm_temp_unique_id from response
4291
+ const responseFile = response?.data?.core_file_manager?.[0];
4292
+ const tempUniqueId = responseFile?.cyfm_temp_unique_id;
4293
+ console.log('🔍 [GlobalFileUploader] Single upload - Response tempUniqueId:', tempUniqueId);
4294
+ console.log('🔍 [GlobalFileUploader] Single upload - Original upload fileId:', pendingUpload.fileId);
4295
+ // Use the tempUniqueId to find and update the correct upload item
4296
+ if (tempUniqueId) {
4297
+ this.updateUploadStatusByTempId(tempUniqueId, 'completed', 100, undefined, response);
4298
+ }
4299
+ else {
4300
+ // Fallback to original fileId
4301
+ this.updateUploadStatus(pendingUpload.fileId, 'completed', 100, undefined, response);
4302
+ }
4278
4303
  this.uploadComplete.emit({
4279
- fileId: pendingUpload.fileId,
4304
+ fileId: tempUniqueId || pendingUpload.fileId,
4280
4305
  fileName: pendingUpload.fileName,
4281
4306
  progress: 100,
4282
4307
  status: 'completed',
@@ -4322,6 +4347,24 @@ class CideEleGlobalFileUploaderComponent {
4322
4347
  return updatedQueue;
4323
4348
  });
4324
4349
  }
4350
+ /**
4351
+ * Update upload status by cyfm_temp_unique_id
4352
+ */
4353
+ updateUploadStatusByTempId(tempUniqueId, status, progress, error, uploadedFile) {
4354
+ console.log('🔄 [GlobalFileUploader] Updating upload status by tempId:', { tempUniqueId, status, progress, error: !!error, uploadedFile: !!uploadedFile });
4355
+ this.uploadQueue.update(queue => {
4356
+ const updatedQueue = queue.map(upload => {
4357
+ // Check if this upload's fileId matches the tempUniqueId
4358
+ if (upload.fileId === tempUniqueId) {
4359
+ console.log('🔄 [GlobalFileUploader] Found upload by tempId to update:', upload.fileName, 'from', upload.status, 'to', status);
4360
+ return { ...upload, status, progress, error, uploadedFile };
4361
+ }
4362
+ return upload;
4363
+ });
4364
+ console.log('🔄 [GlobalFileUploader] Updated queue by tempId:', updatedQueue.map(u => ({ fileName: u.fileName, status: u.status, fileId: u.fileId })));
4365
+ return updatedQueue;
4366
+ });
4367
+ }
4325
4368
  /**
4326
4369
  * Handle upload error
4327
4370
  */
@@ -4408,10 +4451,11 @@ class CideEleGlobalFileUploaderComponent {
4408
4451
  return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];
4409
4452
  }
4410
4453
  /**
4411
- * Generate unique file ID
4454
+ * Generate unique file ID - this should match the service's generateFileId method
4455
+ * The service uses: ${file.name}_${file.size}_${Date.now()}
4412
4456
  */
4413
- generateFileId() {
4414
- return `upload_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
4457
+ generateFileId(file) {
4458
+ return `${file.name}_${file.size}_${Date.now()}`;
4415
4459
  }
4416
4460
  /**
4417
4461
  * Convert IFileUploadRequest to FileUploadOptions