|
206 | 206 | </div> |
207 | 207 | </div> |
208 | 208 |
|
209 | | - <div class="profile__row education__block"> |
| 209 | + <div class="profile__row education__block" style="margin-top: 12px !important"> |
210 | 210 | @if (profileForm.get("city"); as city) { |
211 | 211 | <fieldset> |
212 | 212 | <label for="city" class="field-label">Город</label> |
|
318 | 318 | <label for="description" class="field-label">Направление</label> |
319 | 319 | <app-input |
320 | 320 | [error]="description | controlError" |
321 | | - placeholder="Востоковедение и Африканистика" |
| 321 | + placeholder="Бизнес информатика" |
322 | 322 | formControlName="description" |
323 | 323 | ></app-input> |
324 | 324 | @if (description | controlError: "required") { |
|
365 | 365 | </div> |
366 | 366 |
|
367 | 367 | <div class="profile__row education__block"> |
368 | | - <app-button class="profile__add-education" (click)="addEducation()"> |
369 | | - <span>Добавить новое образование</span> |
| 368 | + <app-button |
| 369 | + [disabled]="!isEducationDirty" |
| 370 | + [ngStyle]="{ |
| 371 | + opacity: !isEducationDirty ? '0.6' : '1', |
| 372 | + cursor: !isEducationDirty ? 'not-allowed' : 'pointer' |
| 373 | + }" |
| 374 | + class="profile__add-education" |
| 375 | + (click)="addEducation()" |
| 376 | + > |
| 377 | + <span>Добавить образование</span> |
370 | 378 | <i appIcon icon="plus" appSquare="14"></i> |
371 | 379 | </app-button> |
372 | 380 |
|
|
378 | 386 | {{ educationItem.organizationName }} |
379 | 387 |
|
380 | 388 | @if(educationItem.entryYear && educationItem.completionYear) { |
381 | | - {{ educationItem.entryYear }} - {{ educationItem.completionYear }} |
382 | | - } @else if (educationItem.entryYear && !educationItem.completionYear) { |
383 | | - {{ educationItem.entryYear }} |
384 | | - } @else if (!educationItem.entryYear && educationItem.completionYear){ |
385 | | - {{ educationItem.completionYear }} |
386 | | - } |
| 389 | + {{ educationItem.entryYear }} год - {{ educationItem.completionYear }} год } @else if |
| 390 | + (educationItem.entryYear && !educationItem.completionYear) { |
| 391 | + {{ educationItem.entryYear }} год } @else if (!educationItem.entryYear && |
| 392 | + educationItem.completionYear){ {{ educationItem.completionYear }} год } |
387 | 393 |
|
388 | 394 | {{ educationItem.description }} {{ educationItem.educationStatus }} |
389 | 395 | {{ educationItem.educationLevel }} |
|
496 | 502 | </div> |
497 | 503 |
|
498 | 504 | <div class="profile__row education__block"> |
499 | | - <app-button class="profile__add-education" (click)="addWork()"> |
| 505 | + <app-button |
| 506 | + [disabled]="!isWorkDirty" |
| 507 | + [ngStyle]="{ |
| 508 | + opacity: !isWorkDirty ? '0.6' : '1', |
| 509 | + cursor: !isWorkDirty ? 'not-allowed' : 'pointer' |
| 510 | + }" |
| 511 | + class="profile__add-education" |
| 512 | + (click)="addWork()" |
| 513 | + > |
500 | 514 | <span>Добавить место работы</span> |
501 | 515 | <i appIcon icon="plus" appSquare="14"></i> |
502 | 516 | </app-button> |
|
508 | 522 | <p class="text-body-16 education__text"> |
509 | 523 | {{ workItem.organizationName }} |
510 | 524 | @if(workItem.entryYear && workItem.completionYear) { |
511 | | - {{ workItem.entryYear }} - {{ workItem.completionYear }} |
512 | | - } @else if (workItem.entryYear && !workItem.completionYear) { |
513 | | - {{ workItem.entryYear }} |
514 | | - } @else if (!workItem.entryYear && workItem.completionYear){ |
515 | | - {{ workItem.completionYear }} |
516 | | - } |
| 525 | + {{ workItem.entryYear }} год - {{ workItem.completionYear }} год } @else if |
| 526 | + (workItem.entryYear && !workItem.completionYear) { {{ workItem.entryYear }} год } |
| 527 | + @else if (!workItem.entryYear && workItem.completionYear){ |
| 528 | + {{ workItem.completionYear }} год } |
517 | 529 | {{ workItem.description }} |
518 | 530 | {{ workItem.jobPosition }} |
519 | 531 | </p> |
|
530 | 542 | <div class="education__first-row"> |
531 | 543 | <ng-container formArrayName="achievements"> |
532 | 544 | <ul> |
533 | | - @for (control of achievements.controls; let i = $index; track i) { |
| 545 | + @for (control of achievements.controls; track control.value.id; let i = $index) { |
534 | 546 | <li class="profile__achievement"> |
535 | 547 | <form [formGroupName]="i" class="achievement"> |
536 | 548 | <div class="achievement__first-row"> |
|
580 | 592 | </div> |
581 | 593 | </div> |
582 | 594 | <app-button class="profile__add-achievement" (click)="addAchievement()"> |
583 | | - <span>Добавить новое достижение</span> |
| 595 | + <span>Добавить достижение</span> |
584 | 596 | <i appIcon icon="plus" appSquare="14"></i> |
585 | 597 | </app-button> |
586 | 598 | } @if (editingStep === 'skills') { |
|
668 | 680 | </div> |
669 | 681 |
|
670 | 682 | <app-button |
671 | | - [ariaDisabled]="languageItems().length === 4 || userLanguages.length === 4" |
| 683 | + [disabled]=" |
| 684 | + !isLanguageDirty || languageItems().length === 4 || userLanguages.length === 4 |
| 685 | + " |
| 686 | + [ngStyle]="{ |
| 687 | + opacity: !isLanguageDirty ? '0.6' : '1', |
| 688 | + cursor: !isLanguageDirty ? 'not-allowed' : 'pointer' |
| 689 | + }" |
672 | 690 | class="profile__add-education" |
673 | 691 | (click)="addLanguage()" |
674 | 692 | > |
|
763 | 781 | </div> |
764 | 782 | <div appEditorSubmitButton containerSelector=".profile" class="profile__save"> |
765 | 783 | <app-button |
766 | | - [disabled]="editEducationClick || editWorkClick || editLanguageClick" |
| 784 | + [disabled]=" |
| 785 | + editEducationClick || |
| 786 | + editWorkClick || |
| 787 | + editLanguageClick || |
| 788 | + isEducationDirty || |
| 789 | + isWorkDirty || |
| 790 | + isLanguageDirty |
| 791 | + " |
767 | 792 | [loader]="profileFormSubmitting" |
768 | 793 | [ngStyle]="{ |
769 | | - opacity: editEducationClick || editWorkClick || editLanguageClick ? '0.6' : '1', |
| 794 | + opacity: |
| 795 | + editEducationClick || |
| 796 | + editWorkClick || |
| 797 | + editLanguageClick || |
| 798 | + isEducationDirty || |
| 799 | + isWorkDirty || |
| 800 | + isLanguageDirty |
| 801 | + ? '0.6' |
| 802 | + : '1', |
770 | 803 | cursor: |
771 | | - editEducationClick || editWorkClick || editLanguageClick ? 'not-allowed' : 'pointer' |
| 804 | + editEducationClick || |
| 805 | + editWorkClick || |
| 806 | + editLanguageClick || |
| 807 | + isEducationDirty || |
| 808 | + isWorkDirty || |
| 809 | + isLanguageDirty |
| 810 | + ? 'not-allowed' |
| 811 | + : 'pointer' |
772 | 812 | }" |
773 | 813 | customTypographyClass="text-body-12" |
774 | 814 | (click)="saveProfile()" |
|
792 | 832 | icon="cross" |
793 | 833 | class="cancel__cross" |
794 | 834 | ></i> |
795 | | - <p class="cancel__title text-bold-body-16">Произошла ошибка при редактированиия!</p> |
| 835 | + <p class="cancel__title text-bold-body-16">Произошла ошибка при редактировании!</p> |
796 | 836 | </div> |
797 | 837 | <p class="text-body-14 cancel__text">{{ isModalErrorSkillChooseText() }}.</p> |
798 | 838 | </div> |
|
0 commit comments