@idsoftsource/initial-process 1.3.2 → 1.3.4
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.
|
@@ -1461,11 +1461,11 @@ class StepperComponent {
|
|
|
1461
1461
|
}
|
|
1462
1462
|
}
|
|
1463
1463
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: StepperComponent, deps: [{ token: CredentialingStore }], target: i0.ɵɵFactoryTarget.Component });
|
|
1464
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: StepperComponent, isStandalone: false, selector: "app-stepper", ngImport: i0, template: "<div class=\"stepper-wrapper\">\r\n <div class=\"tabs\">\r\n <div\r\n *ngFor=\"let step of steps; let i = index\"\r\n class=\"tab\"\r\n [class.active]=\"store.currentStep() === i + 1\"\r\n [class.completed]=\"store.currentStep() > i + 1\"\r\n (click)=\"goToStep(i)\"\r\n >\r\n {{ step }}\r\n </div>\r\n <div class=\"align-items-center d-flex step-count\">\r\n Step {{ store.currentStep() }}/{{ steps.length }}\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".stepper-wrapper{display:flex;align-items:center}.stepper-wrapper .tabs{width:100%;display:flex}.stepper-wrapper .tabs .tab{padding:15px 30.4px;cursor:pointer;background-color:#f1f4fa;color:#4077ad;font-weight:500;transition:all .3s;text-align:center}.stepper-wrapper .tabs .tab.active,.stepper-wrapper .tabs .tab.completed{background-color:#4077ad;color:#fff}.stepper-wrapper .step-count{font-weight:500;color:#fff;background:#4077ad;width:10%;justify-content:center}@media screen and (max-width: 767px){.stepper-wrapper .tabs{width:100%;display:flex;flex-direction:column}.stepper-wrapper .step-count{width:100%;padding:8px}}\n"], dependencies: [{ kind: "directive", type: i11.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
1464
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: StepperComponent, isStandalone: false, selector: "app-stepper", ngImport: i0, template: "<div class=\"stepper-wrapper\">\r\n <div class=\"tabs\">\r\n <div\r\n *ngFor=\"let step of steps; let i = index\"\r\n class=\"tab\"\r\n [class.active]=\"store.currentStep() === i + 1\"\r\n [class.completed]=\"store.currentStep() > i + 1\"\r\n (click)=\"goToStep(i)\"\r\n >\r\n {{ step }}\r\n </div>\r\n <div class=\"align-items-center d-flex step-count\">\r\n Step {{ store.currentStep() }}/{{ steps.length }}\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".stepper-wrapper{display:flex;align-items:center}.stepper-wrapper .tabs{width:100%;display:flex}.stepper-wrapper .tabs .tab{padding:15px 30.4px;cursor:pointer;background-color:#f1f4fa;color:#4077ad;font-weight:500;transition:all .3s;text-align:center}.stepper-wrapper .tabs .tab.active,.stepper-wrapper .tabs .tab.completed{background-color:#4077ad;color:#fff}.stepper-wrapper .step-count{font-weight:500;color:#fff;background:#4077ad;width:10%;justify-content:center}@media screen and (max-width: 767px){.stepper-wrapper .tabs{width:100%;display:flex;flex-direction:column}.stepper-wrapper .step-count{width:100%;padding:8px}}.tab.active{background-color:#7a94ac!important;color:#fff!important}\n"], dependencies: [{ kind: "directive", type: i11.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
1465
1465
|
}
|
|
1466
1466
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: StepperComponent, decorators: [{
|
|
1467
1467
|
type: Component,
|
|
1468
|
-
args: [{ selector: 'app-stepper', standalone: false, template: "<div class=\"stepper-wrapper\">\r\n <div class=\"tabs\">\r\n <div\r\n *ngFor=\"let step of steps; let i = index\"\r\n class=\"tab\"\r\n [class.active]=\"store.currentStep() === i + 1\"\r\n [class.completed]=\"store.currentStep() > i + 1\"\r\n (click)=\"goToStep(i)\"\r\n >\r\n {{ step }}\r\n </div>\r\n <div class=\"align-items-center d-flex step-count\">\r\n Step {{ store.currentStep() }}/{{ steps.length }}\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".stepper-wrapper{display:flex;align-items:center}.stepper-wrapper .tabs{width:100%;display:flex}.stepper-wrapper .tabs .tab{padding:15px 30.4px;cursor:pointer;background-color:#f1f4fa;color:#4077ad;font-weight:500;transition:all .3s;text-align:center}.stepper-wrapper .tabs .tab.active,.stepper-wrapper .tabs .tab.completed{background-color:#4077ad;color:#fff}.stepper-wrapper .step-count{font-weight:500;color:#fff;background:#4077ad;width:10%;justify-content:center}@media screen and (max-width: 767px){.stepper-wrapper .tabs{width:100%;display:flex;flex-direction:column}.stepper-wrapper .step-count{width:100%;padding:8px}}\n"] }]
|
|
1468
|
+
args: [{ selector: 'app-stepper', standalone: false, template: "<div class=\"stepper-wrapper\">\r\n <div class=\"tabs\">\r\n <div\r\n *ngFor=\"let step of steps; let i = index\"\r\n class=\"tab\"\r\n [class.active]=\"store.currentStep() === i + 1\"\r\n [class.completed]=\"store.currentStep() > i + 1\"\r\n (click)=\"goToStep(i)\"\r\n >\r\n {{ step }}\r\n </div>\r\n <div class=\"align-items-center d-flex step-count\">\r\n Step {{ store.currentStep() }}/{{ steps.length }}\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".stepper-wrapper{display:flex;align-items:center}.stepper-wrapper .tabs{width:100%;display:flex}.stepper-wrapper .tabs .tab{padding:15px 30.4px;cursor:pointer;background-color:#f1f4fa;color:#4077ad;font-weight:500;transition:all .3s;text-align:center}.stepper-wrapper .tabs .tab.active,.stepper-wrapper .tabs .tab.completed{background-color:#4077ad;color:#fff}.stepper-wrapper .step-count{font-weight:500;color:#fff;background:#4077ad;width:10%;justify-content:center}@media screen and (max-width: 767px){.stepper-wrapper .tabs{width:100%;display:flex;flex-direction:column}.stepper-wrapper .step-count{width:100%;padding:8px}}.tab.active{background-color:#7a94ac!important;color:#fff!important}\n"] }]
|
|
1469
1469
|
}], ctorParameters: () => [{ type: CredentialingStore }] });
|
|
1470
1470
|
|
|
1471
1471
|
const STORAGE_KEY = 'profile_full_state';
|
|
@@ -2177,16 +2177,21 @@ class EducationComponent {
|
|
|
2177
2177
|
this.fileChanged);
|
|
2178
2178
|
}
|
|
2179
2179
|
removeFile() {
|
|
2180
|
-
// clear selected
|
|
2180
|
+
// clear selected file
|
|
2181
2181
|
this.fileData = null;
|
|
2182
|
-
// clear UI
|
|
2182
|
+
// clear UI
|
|
2183
2183
|
this.fileName = null;
|
|
2184
|
-
//
|
|
2185
|
-
this.fileChanged = true;
|
|
2186
|
-
// clear existing file from model (this will send null to backend)
|
|
2184
|
+
// clear model
|
|
2187
2185
|
this.model.fileId = null;
|
|
2188
2186
|
this.model.fileUrl = null;
|
|
2189
2187
|
this.model.fileName = null;
|
|
2188
|
+
// ✅ clear input value (IMPORTANT FIX)
|
|
2189
|
+
const fileInput = document.querySelector('input[type="file"]');
|
|
2190
|
+
if (fileInput) {
|
|
2191
|
+
fileInput.value = '';
|
|
2192
|
+
}
|
|
2193
|
+
// mark as changed
|
|
2194
|
+
this.fileChanged = true;
|
|
2190
2195
|
}
|
|
2191
2196
|
saveFile() {
|
|
2192
2197
|
if (this.educationForm.invalid) {
|
|
@@ -2486,7 +2491,9 @@ class UserDocumentService {
|
|
|
2486
2491
|
return this.httpClient.put(`${this.baseUrl}/UpdateUserDocument`, model);
|
|
2487
2492
|
}
|
|
2488
2493
|
getUserDocument(query) {
|
|
2489
|
-
return this.httpClient.get(`${this.baseUrl}/GetUserDocument
|
|
2494
|
+
return this.httpClient.get(`${this.baseUrl}/GetUserDocument`, {
|
|
2495
|
+
params: this.buildParams(query)
|
|
2496
|
+
});
|
|
2490
2497
|
}
|
|
2491
2498
|
buildParams(query) {
|
|
2492
2499
|
let params = new HttpParams();
|
|
@@ -2532,7 +2539,7 @@ class CertificationStore {
|
|
|
2532
2539
|
page: 1,
|
|
2533
2540
|
pageSize: 10,
|
|
2534
2541
|
orderBy: 'createdDateTime asc',
|
|
2535
|
-
filter: `mainType=2
|
|
2542
|
+
filter: `mainType=2`,
|
|
2536
2543
|
};
|
|
2537
2544
|
this.userDocumentService
|
|
2538
2545
|
.getUserDocument(query)
|
|
@@ -2699,6 +2706,10 @@ class CertificationComponent {
|
|
|
2699
2706
|
this.certificateForm.markAllAsTouched();
|
|
2700
2707
|
return;
|
|
2701
2708
|
}
|
|
2709
|
+
if (!this.selectedDocumentId) {
|
|
2710
|
+
console.log('No document selected');
|
|
2711
|
+
return;
|
|
2712
|
+
}
|
|
2702
2713
|
// ✅ STOP unnecessary API
|
|
2703
2714
|
if (this.editingIndex >= 0 && !this.hasChanges()) {
|
|
2704
2715
|
console.log('No changes → API skipped');
|
|
@@ -2754,12 +2765,21 @@ class CertificationComponent {
|
|
|
2754
2765
|
}
|
|
2755
2766
|
}
|
|
2756
2767
|
removeFile() {
|
|
2768
|
+
// clear selected file
|
|
2757
2769
|
this.fileData = null;
|
|
2770
|
+
// clear UI
|
|
2758
2771
|
this.fileName = null;
|
|
2772
|
+
// clear model
|
|
2759
2773
|
this.model.fileId = null;
|
|
2760
2774
|
this.model.fileUrl = null;
|
|
2761
2775
|
this.model.fileName = null;
|
|
2762
|
-
|
|
2776
|
+
// ✅ clear input value (IMPORTANT FIX)
|
|
2777
|
+
const fileInput = document.querySelector('input[type="file"]');
|
|
2778
|
+
if (fileInput) {
|
|
2779
|
+
fileInput.value = '';
|
|
2780
|
+
}
|
|
2781
|
+
// mark as changed
|
|
2782
|
+
this.fileChanged = true;
|
|
2763
2783
|
}
|
|
2764
2784
|
hasChanges() {
|
|
2765
2785
|
const current = this.certificateForm.getRawValue();
|
|
@@ -3630,6 +3650,7 @@ class SkillsComponent {
|
|
|
3630
3650
|
const saved = profileSignal();
|
|
3631
3651
|
this.userdata = saved;
|
|
3632
3652
|
console.log(this.userdata);
|
|
3653
|
+
this.user = this.userService.getUserDetails();
|
|
3633
3654
|
this.userId = await this.tokenService?.getUserId();
|
|
3634
3655
|
this.emailId = await this.tokenService?.getUserEmail();
|
|
3635
3656
|
this.showForm = false;
|
|
@@ -4155,6 +4176,10 @@ class LicensesComponent {
|
|
|
4155
4176
|
this.certificateForm.markAllAsTouched();
|
|
4156
4177
|
return;
|
|
4157
4178
|
}
|
|
4179
|
+
if (!this.selectedDocumentId) {
|
|
4180
|
+
console.log('No document selected');
|
|
4181
|
+
return;
|
|
4182
|
+
}
|
|
4158
4183
|
// ✅ SKIP API if no changes
|
|
4159
4184
|
if (this.editingIndex >= 0 && !this.hasChanges()) {
|
|
4160
4185
|
console.log('No changes → API skipped');
|
|
@@ -4213,11 +4238,20 @@ class LicensesComponent {
|
|
|
4213
4238
|
}
|
|
4214
4239
|
}
|
|
4215
4240
|
removeFile() {
|
|
4241
|
+
// clear selected file
|
|
4216
4242
|
this.fileData = null;
|
|
4243
|
+
// clear UI
|
|
4217
4244
|
this.fileName = null;
|
|
4245
|
+
// clear model
|
|
4218
4246
|
this.model.fileId = null;
|
|
4219
4247
|
this.model.fileUrl = null;
|
|
4220
4248
|
this.model.fileName = null;
|
|
4249
|
+
// ✅ clear input value (IMPORTANT FIX)
|
|
4250
|
+
const fileInput = document.querySelector('input[type="file"]');
|
|
4251
|
+
if (fileInput) {
|
|
4252
|
+
fileInput.value = '';
|
|
4253
|
+
}
|
|
4254
|
+
// mark as changed
|
|
4221
4255
|
this.fileChanged = true;
|
|
4222
4256
|
}
|
|
4223
4257
|
hasChanges() {
|
|
@@ -28723,7 +28757,12 @@ class WorkexperienceComponent {
|
|
|
28723
28757
|
this.model.fileId = null;
|
|
28724
28758
|
this.model.fileUrl = null;
|
|
28725
28759
|
this.model.fileName = null;
|
|
28726
|
-
// ✅
|
|
28760
|
+
// ✅ clear input value (IMPORTANT FIX)
|
|
28761
|
+
const fileInput = document.querySelector('input[type="file"]');
|
|
28762
|
+
if (fileInput) {
|
|
28763
|
+
fileInput.value = '';
|
|
28764
|
+
}
|
|
28765
|
+
// mark as changed
|
|
28727
28766
|
this.fileChanged = true;
|
|
28728
28767
|
}
|
|
28729
28768
|
edit(index) {
|