Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • 1.0-maintenance
  • 1.1-maintenance
  • 2.0-maintenance
  • 2.1-maintenance
  • adf-1032-keytitle-at-issn-service
  • adf-1212-add-forgotten-publications-to-validate-into-profile
  • adf-1259-abstract-not-mandatory-for-thesis
  • adf-1393-manage-old-thesis
  • adf-1542-disable-button-to-update-publication-in-access
  • adf-1603-remove-guide-link-from-menu
  • adf-237-structures-user-icons-in-profile
  • adf-956-new-document-types
  • adf-956-new-file-type-imprimatur-and-mode-de-diffusion-for-thesis
  • aou-1542_add_button_access_bibliography_generator
  • aou-1617_create_warning_when_contributor_are_identical
  • aou-1638_change_radio_to_checkbox
  • fpo/1040_do_not_show_multiple_action_buttons_when_only_one_deposit_is_selected
  • fpo/263_flatten_the_json_format_used_by_the_frontend
  • fpo/avoid_infinite_login_loop
  • fpo/components_in_solidify
  • fpo/dark_mode_refactor
  • hbo-test
  • hbo_fix_dont_run_twice_http_request_autocomplete
  • jbc-new-icons
  • master
  • rodn-1767-access-level-images
  • rodn-1829-scheduled-task-to-export-to-orcid
  • rodn-admin-user-business-roles
  • rodn-labels-refactoring
  • rodn-logout-refactoring
  • rodn-rename-form-data
  • aou-0.0.1
  • aou-0.0.2
  • aou-0.0.3
  • aou-0.0.4
  • aou-0.0.5
  • aou-1.0.0
  • aou-1.0.1
  • aou-1.0.2
  • aou-1.0.3
  • aou-1.0.4
  • aou-1.0.5
  • aou-1.0.6
  • aou-1.1.0
  • aou-1.1.1
  • aou-1.1.2
  • aou-1.2.0-RC1
  • aou-1.2.0-RC2
  • aou-1.2.0-RC3
  • aou-1.2.0-alpha1
  • aou-2.0.0
  • aou-2.0.1
  • aou-2.0.2
  • aou-2.0.3
  • aou-2.0.4
  • aou-2.0.5
  • aou-2.0.6
  • aou-2.0.7
  • aou-2.1.0
  • aou-2.1.1
  • aou-2.1.2
  • aou-2.1.3
  • aou-2.1.4
  • aou-2.1.5
  • aou-2.1.6
  • aou-2.1.7
  • aou-2.2.0
67 results

Target

Select target project
  • aou/aou-portal
1 result
Select Git revision
  • 1.0-maintenance
  • 1.1-maintenance
  • 2.0-maintenance
  • 2.1-maintenance
  • adf-1032-keytitle-at-issn-service
  • adf-1212-add-forgotten-publications-to-validate-into-profile
  • adf-1259-abstract-not-mandatory-for-thesis
  • adf-1393-manage-old-thesis
  • adf-1542-disable-button-to-update-publication-in-access
  • adf-1603-remove-guide-link-from-menu
  • adf-237-structures-user-icons-in-profile
  • adf-956-new-document-types
  • adf-956-new-file-type-imprimatur-and-mode-de-diffusion-for-thesis
  • aou-1542_add_button_access_bibliography_generator
  • aou-1617_create_warning_when_contributor_are_identical
  • aou-1638_change_radio_to_checkbox
  • fpo/1040_do_not_show_multiple_action_buttons_when_only_one_deposit_is_selected
  • fpo/263_flatten_the_json_format_used_by_the_frontend
  • fpo/avoid_infinite_login_loop
  • fpo/components_in_solidify
  • fpo/dark_mode_refactor
  • hbo-test
  • hbo_fix_dont_run_twice_http_request_autocomplete
  • jbc-new-icons
  • master
  • rodn-1767-access-level-images
  • rodn-1829-scheduled-task-to-export-to-orcid
  • rodn-admin-user-business-roles
  • rodn-labels-refactoring
  • rodn-logout-refactoring
  • rodn-rename-form-data
  • aou-0.0.1
  • aou-0.0.2
  • aou-0.0.3
  • aou-0.0.4
  • aou-0.0.5
  • aou-1.0.0
  • aou-1.0.1
  • aou-1.0.2
  • aou-1.0.3
  • aou-1.0.4
  • aou-1.0.5
  • aou-1.0.6
  • aou-1.1.0
  • aou-1.1.1
  • aou-1.1.2
  • aou-1.2.0-RC1
  • aou-1.2.0-RC2
  • aou-1.2.0-RC3
  • aou-1.2.0-alpha1
  • aou-2.0.0
  • aou-2.0.1
  • aou-2.0.2
  • aou-2.0.3
  • aou-2.0.4
  • aou-2.0.5
  • aou-2.0.6
  • aou-2.0.7
  • aou-2.1.0
  • aou-2.1.1
  • aou-2.1.2
  • aou-2.1.3
  • aou-2.1.4
  • aou-2.1.5
  • aou-2.1.6
  • aou-2.1.7
  • aou-2.2.0
67 results
Show changes
Commits on Source (13)
Showing
with 64 additions and 225 deletions
......@@ -103,7 +103,7 @@ To get more help on the Angular CLI use `ng help` or go check out the [Angular C
## Grid
There is no grid used in the project.
We use pure [flex box](https://css-tricks.com/snippets/css/a-guide-to-flexbox/) css rule instead.
We use pure [flex box](https://css-tricks.com/snippets/css/a-guide-to-flexbox/) and grid css rule instead.
If you want to manage specific css behavior depending of screen size, you should use the following mixins :
......
......@@ -7210,14 +7210,6 @@
"integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==",
"dev": true
},
"flexboxgrid-sass": {
"version": "8.0.5",
"resolved": "https://nexus.unige.ch/repository/npm-all/flexboxgrid-sass/-/flexboxgrid-sass-8.0.5.tgz",
"integrity": "sha1-GAJ7x6kvmM6HdyXLNvAXO9HnTxc=",
"requires": {
"sass-flex-mixin": "^1.0.3"
}
},
"flush-write-stream": {
"version": "1.1.1",
"resolved": "https://nexus.unige.ch/repository/npm-all/flush-write-stream/-/flush-write-stream-1.1.1.tgz",
......@@ -14046,11 +14038,6 @@
"chokidar": ">=2.0.0 <4.0.0"
}
},
"sass-flex-mixin": {
"version": "1.0.3",
"resolved": "https://nexus.unige.ch/repository/npm-all/sass-flex-mixin/-/sass-flex-mixin-1.0.3.tgz",
"integrity": "sha1-pQTWIGL3sOdzrrw5XeH0WqpuT9A="
},
"sass-loader": {
"version": "8.0.2",
"resolved": "https://nexus.unige.ch/repository/npm-all/sass-loader/-/sass-loader-8.0.2.tgz",
......@@ -14849,9 +14836,9 @@
}
},
"solidify-frontend": {
"version": "1.1.14",
"resolved": "https://nexus.unige.ch/repository/npm-all/solidify-frontend/-/solidify-frontend-1.1.14.tgz",
"integrity": "sha512-O0PkZ+Xjnq0tHSizAyXrJm1wzA277xEOTLhd9gQ3amLuEWsAB+EF2voEcI+A7iWJpBG+K7UR1cpBQ4wENzYHbw==",
"version": "1.1.19",
"resolved": "https://nexus.unige.ch/repository/npm-all/solidify-frontend/-/solidify-frontend-1.1.19.tgz",
"integrity": "sha512-S2FS4tWkAkj7N5dIuVgg1k/rLJ60hGEcY+TlXv56ivHCspsVe+9pUcBbZYRoSHcDoZ8fBjuDAe0L8OkkBkVsiQ==",
"requires": {
"tslib": "^2.0.0"
}
......
......@@ -6,7 +6,7 @@ sonar.projectName=Archive ouverte UNIGE Angular Portal
sonar.projectVersion=1.0
sonar.sourceEncoding=UTF-8
sonar.sources=./src
sonar.exclusions=**/node_modules/**,**/*.spec.ts,**/assembly/**
sonar.exclusions=**/node_modules/**,**/*.spec.ts,**/assembly/**,src/ngsw-worker-original.js,src/ngsw-worker-custom.js,src/ngsw-worker-download.js
sonar.tests=./src
sonar.test.inclusions=**/*.spec.ts
sonar.ts.tslintconfigpath=tslint.json
......
......@@ -55,7 +55,8 @@
</div>
<div class="content-and-sidebar-userguide">
<main class="content mat-typography"
<main #main
class="content mat-typography"
cdkTrapFocus
(scroll)="scrollHandler($event)"
>
......
......@@ -53,7 +53,7 @@ import {
templateUrl: "./app.component.html",
styleUrls: ["./app.component.scss"],
})
export class AppComponent extends AbstractAppComponent implements OnInit {
export class AppComponent extends AbstractAppComponent {
currentPhotoUserObs: Observable<string> = MemoizedUtil.select(this._store, AppUserState, state => state.logo);
userRolesObs: Observable<Enums.UserApplicationRole.UserApplicationRoleEnum[]> = MemoizedUtil.select(this._store, AppState, state => state.userRoles);
currentModule: string;
......@@ -114,36 +114,6 @@ export class AppComponent extends AbstractAppComponent implements OnInit {
this.checkOrcidQueryParam();
}
ngOnInit(): void {
super.ngOnInit();
// this.subscribe(this._dialog.open(StructureDialog, {
// width: "90%",
// // data: this._sharedUploadImageDialogData as SharedUploadImageDialogData,
// }).afterClosed().pipe(
// tap((blob: Blob | undefined) => {
// if (isNullOrUndefined(blob)) {
// return;
// }
// // this.subscribe(
// // this._actions$.pipe(
// // ofActionCompleted(this.resourceLogoNameSpace.UploadPhotoSuccess),
// // take(1),
// // tap(action => {
// // if (isFalse(action.result.successful)) {
// // return;
// // }
// // this._store.dispatch(new this.resourceLogoNameSpace.GetPhoto(this.resId));
// // this._avatarChangeBS.next(true);
// // }),
// // ),
// // );
// // this._store.dispatch(new this.resourceLogoNameSpace.UploadPhoto(this.resId, blob as any));
// // this.fileInput.nativeElement.value = null;
// }),
// ));
}
private observeLoggedUserForCart(): Observable<boolean> {
return combineLatest([this.isLoggedObs, this.userRolesObs])
.pipe(
......
......@@ -28,10 +28,6 @@
width: 100%;
}
.administrative-information-content {
}
.personal-information-content {
display: grid;
grid-template-columns: min-content 1fr;
......
......@@ -104,9 +104,7 @@ $coefficient-animation-speed: 0.5;
height: 80%;
transition-delay: $coefficient-animation-speed * 625ms;
}
}
span {
&:nth-child(2) {
width: 80%;
transition-delay: $coefficient-animation-speed * 375ms;
......
......@@ -42,24 +42,6 @@ $logo-height: 68px;
}
}
aou-language-selector ::ng-deep {
display: flex;
align-items: center;
flex-direction: column;
.separator {
visibility: hidden;
font-size: 2px;
}
}
aou-theme-selector ::ng-deep {
transform: scale(0.75, 0.75);
width: $toolbar-width;
display: flex;
justify-content: center;
}
.right-part {
flex-grow: 1;
display: flex;
......
<form [formGroup]="form">
<!-- <mat-form-field *ngIf="getFormControl(formDefinition.firstName) as fd">-->
<!-- <mat-label>{{labelTranslateEnum.firstName | translate }}</mat-label>-->
<!-- <input matInput-->
<!-- [solidifyValidation]="errors"-->
<!-- [formControl]="fd"-->
<!-- [required]="formValidationHelper.hasRequiredField(fd)"-->
<!-- >-->
<!-- <mat-error #errors></mat-error>-->
<!-- </mat-form-field>-->
<!-- <mat-form-field *ngIf="getFormControl(formDefinition.lastName) as fd">-->
<!-- <mat-label>{{labelTranslateEnum.lastName | translate }}</mat-label>-->
<!-- <input matInput-->
<!-- [solidifyValidation]="errors"-->
<!-- [formControl]="fd"-->
<!-- [required]="formValidationHelper.hasRequiredField(fd)"-->
<!-- >-->
<!-- <mat-error #errors></mat-error>-->
<!-- </mat-form-field>-->
<mat-form-field *ngIf="getFormControl(formDefinition.homeOrganization) as fd">
<mat-label>{{labelTranslateEnum.homeOrganization | translate }}</mat-label>
......
......@@ -33,17 +33,5 @@
</ng-template>
</ng-template>
<!-- <solidify-data-table #dataTablePresentational-->
<!-- [columns]="columns"-->
<!-- [actions]="actions"-->
<!-- [isLoading]="isLoadingObs | async"-->
<!-- [datas]="listObs | async"-->
<!-- [listHighlightingId]="listNewId"-->
<!-- [skipInitialQuery]="skipInitialQuery"-->
<!-- [columnsSkippedToClear]="columnsSkippedToClear"-->
<!-- [queryParameters]="queryParametersObs | async"-->
<!-- (selectChange)="showDetail($event)"-->
<!-- (queryParametersChange)="onQueryParametersEvent($event)"-->
<!-- ></solidify-data-table>-->
</div>
</div>
......@@ -37,17 +37,6 @@
{{labelTranslateEnum.deleteAll | translate}}
</button>
<!--<button *ngIf="canEdit && (listDocumentFileObs | async)?.length > 0 && isInErrorStatusFilter"-->
<!-- (click)="selectAndResumeAll()"-->
<!-- mat-button-->
<!-- type="button"-->
<!-- color="primary"-->
<!-- class="button-select-and-resume"-->
<!--&gt;-->
<!-- <solidify-icon [iconName]="iconNameEnum.resumeAll"></solidify-icon>-->
<!-- {{'deposit.file.button.selectAndResumeAll' | translate}}-->
<!--</button>-->
<ng-template [ngIf]="dataTablePresentational?.multiSelectionValueOnAllPages.length > 0">
<ng-container *ngFor="let bulkAction of bulkActions">
<button *ngIf="bulkAction.displayOnCondition(dataTablePresentational?.multiSelectionValueOnAllPages)"
......
......@@ -5,6 +5,9 @@
.wrapper {
min-height: 550px;
display: grid;
justify-content: center;
grid-template-columns: 1fr;
}
.upload-button-wrapper {
......@@ -29,10 +32,4 @@
grid-template-columns: repeat(4, min-content);
}
.wrapper {
display: grid;
justify-content: center;
grid-template-columns: 1fr;
}
}
......@@ -206,13 +206,12 @@ export class DepositDocumentFileContainer extends SharedAbstractRoutable impleme
protected readonly _securityService: SecurityService
/*@Inject(FILE_VISUALIZERS) private readonly _fileVisualizers: AbstractFileVisualizer[]*/) {
super();
this._defineColumns();
}
ngOnInit(): void {
super.ngOnInit();
this._defineColumns();
if (this.canEdit) {
this._createPollingListenerForFileReady();
}
......@@ -241,30 +240,7 @@ export class DepositDocumentFileContainer extends SharedAbstractRoutable impleme
isFilterable: true,
translate: true,
filterEnum: Enums.DocumentFile.AccessLevelEnumTranslate,
component: DataTableComponentHelper.get(DataTableComponentEnum.accessLevel),
},
{
field: "embargoAccessLevel",
header: LabelTranslateEnum.embargoAccessLevel,
type: DataTableFieldTypeEnum.singleSelect,
order: OrderEnum.none,
filterableField: "embargoAccessLevel" as any,
sortableField: "embargoAccessLevel" as any,
isSortable: true,
isFilterable: true,
translate: true,
filterEnum: Enums.DocumentFile.AccessLevelEnumTranslate,
component: DataTableComponentHelper.get(DataTableComponentEnum.accessLevel),
},
{
field: "embargoEndDate",
header: LabelTranslateEnum.embargoEndDate,
type: DataTableFieldTypeEnum.date,
order: OrderEnum.none,
filterableField: "embargoEndDate" as any,
sortableField: "embargoEndDate" as any,
isSortable: true,
isFilterable: false,
component: DataTableComponentHelper.get(DataTableComponentEnum.accessLevelWithEmbargo),
},
{
field: "documentFileType.value",
......
......@@ -41,7 +41,6 @@
<th *ngIf="mode === modeEnum.contributors"
class="function"
>{{labelTranslateEnum.function | translate}}</th>
<!-- <th class="corresponding-author">{{labelTranslateEnum.correspondingAuthor | translate}}</th>-->
<th *ngIf="!readonly"
class="sort"
></th>
......@@ -66,7 +65,6 @@
(cdkDragDropped)="refreshLastnameFirstnameInput()"
>
<td class="member-cell">
<!-- INDEX:{{i}}-->
<mat-radio-group *ngIf="formValidationHelper.getFormControl(f, formDefinition.institution) as fd"
class="radio-vertical"
color="primary"
......@@ -131,7 +129,6 @@
>
<mat-form-field *ngIf="formValidationHelper.getFormControl(f, formDefinition.role) as fd">
<mat-select [formControl]="fd">
<!-- <mat-option [value]="null"></mat-option>-->
<mat-option *ngFor="let role of roleContributorEnumTranslate"
[value]="role.key"
>
......@@ -140,17 +137,7 @@
</mat-select>
</mat-form-field>
</td>
<!-- <td class="corresponding-author-cell">-->
<!-- <ng-template [ngIf]="formValidationHelper.getFormControl(f, formDefinition.role)?.value === roleContributorEnum.author">-->
<!-- <mat-radio-group *ngIf="formValidationHelper.getFormControl(f, formDefinition.correspondingAuthor) as fd"-->
<!-- [formControl]="fd"-->
<!-- >-->
<!-- <mat-radio-button color="primary"-->
<!-- [value]="true"-->
<!-- ></mat-radio-button>-->
<!-- </mat-radio-group>-->
<!-- </ng-template>-->
<!-- </td>-->
<td *ngIf="!readonly"
class="sort-cell"
cdkDragHandle
......@@ -176,14 +163,7 @@
<solidify-icon [iconName]="iconNameEnum.delete"></solidify-icon>
</button>
</td>
<td [class.invalid-cell]="f.invalid">
<!-- INVALID BAR INDICATOR -->
<!-- <pre>{{f.value | json}}</pre>-->
<!-- <pre>Role : {{f.get(formDefinition.role).invalid}}</pre>-->
<!-- <pre>Firstname : {{f.get(formDefinition.firstname).invalid}}</pre>-->
<!-- <pre>Lastname : {{f.get(formDefinition.lastname).invalid}}</pre>-->
<!-- <pre>cnIndividu : {{f.get(formDefinition.cnIndividu).invalid}}</pre>-->
</td>
<td [class.invalid-cell]="f.invalid"></td>
</tr>
<ng-template [ngIf]="!readonly">
<tr *ngIf="getSearchContributorInfos(f) as searchContributorInfos"
......@@ -246,7 +226,6 @@
</div>
</ng-template>
</td>
<!-- <td>&lt;!&ndash; CORRESPONDING AUTHOR &ndash;&gt;</td>-->
<td><!-- MOVE --></td>
<td>
<div [solidifySpinner]="searchContributorInfos.isLoading"
......
......@@ -310,9 +310,7 @@ export class DepositTableContributorContainer extends SharedAbstractContainer im
const formControlInstitution = form.get(this.formDefinition.institution);
const formControlCnIndividu = form.get(this.formDefinition.cnIndividu);
const formControlOrcid = form.get(this.formDefinition.orcid);
const formControlEmail = form.get(this.formDefinition.email);
const formControlRole = form.get(this.formDefinition.role);
// const formControlCorrespondingAuthor = form.get(this.formDefinition.correspondingAuthor);
if (this.mode === DepositTableContributorModeEnum.collaborationMembers) {
formControlRole.setValue(Enums.Deposit.RoleContributorEnum.collaborator);
......
......@@ -18,15 +18,19 @@
class="comment"
>
<div class="infos">
<span class="comment-text">{{comment.text}}</span>
<span class="separator"></span>
<a (click)="goToUser()"
class="user"
>{{comment.person.fullName}}</a>
<ng-template [ngIf]="comment.resId !== idCommentEdited">
<span class="comment-text">{{comment.text}}</span>
<span class="separator"></span>
</ng-template>
<span class="user">{{comment.person.fullName}}</span>
<span class="date">{{comment.creation.when | datetime}}</span>
<span *ngIf="comment.lastUpdate && comment.lastUpdate.when !== comment.creation.when"
class="date"
>({{labelTranslateEnum.lastEdit | translate}}: {{comment.lastUpdate.when | datetime}})</span>
</div>
<div class="buttons-wrapper">
<button type="button"
<button *ngIf="!showCommentForm"
type="button"
(click)="editComment(comment)"
mat-icon-button
mat-button
......@@ -37,7 +41,8 @@
class="md icon"
></solidify-icon>
</button>
<button type="button"
<button *ngIf="!showCommentForm"
type="button"
(click)="deleteComment(comment)"
mat-icon-button
mat-button
......@@ -49,11 +54,30 @@
></solidify-icon>
</button>
</div>
<ng-template [ngIf]="showCommentForm && idCommentEdited === comment.resId">
<ng-template [ngTemplateOutlet]="commentInput"></ng-template>
</ng-template>
</li>
</ul>
<form *ngIf="showCommentForm"
[formGroup]="form"
<ng-template [ngIf]="showCommentForm && (idCommentEdited | isNullOrUndefined)">
<ng-template [ngTemplateOutlet]="commentInput"></ng-template>
</ng-template>
<div class="add-comment-wrapper">
<a *ngIf="!showCommentForm"
class="add-comment"
(click)="openCommentForm()"
>{{labelTranslateEnum.addAComment | translate}}</a>
</div>
</solidify-panel-expandable>
<!--TEMPLATE BELOW-->
<ng-template #commentInput>
<form [formGroup]="form"
class="form"
>
<mat-form-field class="textarea"
......@@ -61,17 +85,18 @@
[appearance]="appearanceInputMaterial"
>
<mat-label>{{labelTranslateEnum.comment | translate}}</mat-label>
<textarea matInput
solidifyAutoFocus
<textarea #textAreaElement
matInput
[placeholder]="labelTranslateEnum.writeYourCommentHere | translate"
cdkTextareaAutosize
cdkAutosizeMinRows="3"
cdkAutosizeMaxRows="20"
[maxlength]="MAX_NUMBER_CHARACTER"
[solidifyValidation]="errors"
[formControl]="fd"
[required]="formValidationHelper.hasRequiredField(fd)"
>
</textarea>
</textarea>
<mat-error #errors></mat-error>
<mat-hint>{{labelTranslateEnum.characters | translate}} : {{getFormControl(formDefinition.text).value.length}} / {{MAX_NUMBER_CHARACTER}}</mat-hint>
</mat-form-field>
......@@ -82,6 +107,7 @@
mat-button
mat-flat-button
color="primary"
[disabled]="!getFormControl(formDefinition.text)?.valid"
(click)="submit()"
>
{{labelTranslateEnum.save | translate}}
......@@ -97,11 +123,4 @@
</form>
<div class="add-comment-wrapper">
<a *ngIf="!showCommentForm"
class="add-comment"
(click)="openCommentForm()"
>{{labelTranslateEnum.addAComment | translate}}</a>
</div>
</solidify-panel-expandable>
</ng-template>
......@@ -40,16 +40,12 @@
margin-top: auto;
margin-bottom: auto;
.comment-text {
}
.separator {
padding: 0 5px;
}
.user {
color: $primary-color;
}
.date {
......@@ -59,7 +55,7 @@
}
.buttons-wrapper {
height: 40px;
}
}
}
......@@ -69,10 +65,6 @@
grid-template-columns: 1fr min-content;
grid-gap: 15px;
.textarea {
}
.right-part {
padding-top: 4px;
......@@ -86,13 +78,8 @@
.add-comment-wrapper {
padding-left: 10px;
.add-comment {
}
}
}
}
}
......
......@@ -6,13 +6,13 @@ import {
Injector,
Input,
Output,
ViewChild,
} from "@angular/core";
import {
FormBuilder,
Validators,
} from "@angular/forms";
import {MatDialog} from "@angular/material/dialog";
import {UploadFileStatus} from "@app/features/deposit/models/upload-file-status.model";
import {Comment} from "@models";
import {IconNameEnum} from "@shared/enums/icon-name.enum";
import {LabelTranslateEnum} from "@shared/enums/label-translate.enum";
......@@ -24,7 +24,6 @@ import {
BaseFormDefinition,
ConfirmDialog,
ConfirmDialogData,
Guid,
isNullOrUndefined,
isTrue,
MARK_AS_TRANSLATABLE,
......@@ -40,12 +39,15 @@ import {
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class DepositCommentFormPresentational extends AbstractFormPresentational<Comment> {
readonly MAX_NUMBER_CHARACTER: number = 254;
readonly MAX_NUMBER_CHARACTER: number = 4000;
formDefinition: FormComponentFormDefinition = new FormComponentFormDefinition();
showCommentForm: boolean = false;
idCommentEdited: string | undefined = undefined;
@ViewChild("textAreaElement")
private _textAreaElement: ElementRef;
private _listComments: Comment[];
@Input()
......@@ -118,12 +120,14 @@ export class DepositCommentFormPresentational extends AbstractFormPresentational
openCommentForm(): void {
this.initNewForm();
this.showCommentForm = true;
setTimeout(() => this._textAreaElement?.nativeElement?.focus(), 0);
}
editComment(comment: Comment): void {
this.bindFormTo(comment);
this.showCommentForm = true;
this.idCommentEdited = comment.resId;
setTimeout(() => this._textAreaElement?.nativeElement?.focus(), 0);
}
deleteComment(comment: Comment): void {
......@@ -146,10 +150,6 @@ export class DepositCommentFormPresentational extends AbstractFormPresentational
}),
));
}
goToUser(): void {
// TODO : Redirect to page when ready
}
}
class FormComponentFormDefinition extends BaseFormDefinition {
......
......@@ -32,12 +32,8 @@ $progress-bar-height: 20px;
@include truncate-with-ellipsis;
}
.ico-file {
}
}
&.is-uploading { // FILE IN PROGRESS WITH PROGRESS BAR
@include respond-to-smaller-than-breakpoint('sm') {
......@@ -125,7 +121,3 @@ $progress-bar-height: 20px;
.progression-value {
z-index: 1;
}
.uploaded {
}