Newer
Older
<div class="mat-dialog-content-container">
<h1 mat-dialog-title>
<span style="flex: 1;">
{{functions.empty(reference) ? lang.sendNumericPackage : reference}}
</span>
<button [title]="lang.close" mat-icon-button (click)="saveDraft()">
<mat-icon class="fa fa-times"></mat-icon>
</button></h1>
<mat-dialog-content class="modal-container">
<div *ngIf="loading" class="loading">
<mat-spinner style="margin:auto;"></mat-spinner>
</div>
<div *ngIf="canManageMail()" class="alert-message alert-message-info"
[innerHTML]="lang.sendNumericPackageInfo | scan: [maarch2maarchUrl]"></div>
<mat-form-field>
<mat-label class="attachLabel">{{lang.sender}}</mat-label>
<input *ngIf="!canManageMail()" matInput [value]="currentSender.label" readonly>
<mat-select *ngIf="canManageMail()" [compareWith]="this.compareSenders" [(ngModel)]="currentSender"
required>
<mat-option *ngFor="let sender of availableSenders | sortBy: 'label'" [value]="sender">
{{sender.label}} ({{sender.m2m}})
</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field>
<mat-label class="attachLabel">{{lang.recipient}} *</mat-label>
<mat-chip-list id="recipients-list" #recipientsList>
<mat-chip class="recipients" *ngFor="let recipient of recipients" [selectable]="selectable"
[removable]="canManageMail()" (removed)="remove(recipient, 'recipients')"
(click)="remove(recipient, 'recipients')">
<span style="flex:1;">
<div>
{{recipient.label}} - <b>{{recipient.m2m}}</b>
</div>
<div class="attachLabel">
({{lang.communicationMean}} : {{communicationType}})
</div>
</span>
<mat-icon matChipRemove class="fa fa-times" *ngIf="canManageMail()"></mat-icon>
</mat-chip>
<input #recipientsInput [formControl]="recipientsCtrl" [matChipInputFor]="recipientsList"
[matAutocomplete]="autoEmails" (focus)="resetAutocomplete()" required>
</mat-chip-list>
<mat-autocomplete #autoEmails="matAutocomplete" (optionSelected)="addRecipient($event.option.value)">
<mat-option *ngFor="let option of filteredEmails | async" [value]="option" class="m2mRecipientList">
<div>
{{option.label}} - <b>{{option.m2m}}</b>
</div>
<div class="attachLabel">
({{lang.communicationMean}} : {{option.communicationMeans}})
</div>
</mat-option>
</mat-autocomplete>
</mat-form-field>
<mat-form-field>
<mat-label class="attachLabel">{{lang.mailSubject}}</mat-label>
<input matInput [readonly]="!canManageMail()" [(ngModel)]="numericPackage.object" maxlength="70" required>
<button mat-icon-button matSuffix *ngFor="let keyVal of emailAttachTool | keyvalue"
[disabled]="!canManageMail() || emailAttachTool[keyVal.key].list.length === 0" [title]="emailAttachTool[keyVal.key].title"
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
(click)="$event.stopPropagation();currentEmailAttachTool=keyVal.key;"
[matMenuTriggerFor]="emailAttachListMenu">
<mat-icon class="{{emailAttachTool[keyVal.key].icon}}"
[class.activeButton]="isSelectedAttachType(keyVal.key)" color="primary">
</mat-icon>
</button>
<mat-menu #emailAttachListMenu="matMenu" [class]="'attachListMenu'">
<ng-container *ngFor="let keyVal of emailAttachTool | keyvalue">
<ng-container *ngIf="keyVal.key === currentEmailAttachTool">
<button mat-menu-item style="line-height: normal;" disableRipple
*ngFor="let attach of emailAttachTool[keyVal.key].list"
[disabled]="isSelectedAttach(attach,keyVal.key)"
(click)="$event.stopPropagation();toggleAttach(attach,keyVal.key,'original');">
<span (click)="$event.stopPropagation();toggleAttach(attach,keyVal.key,'original')"
[title]="attach.label">
<div style="font-size: 10px;opacity: 0.5;">{{attach.chrono}} - {{attach.typeLabel}}
({{attach.creator}})</div>
{{attach.label | shorten: 45: '...'}} - {{attach.format}}
</span>
</button>
</ng-container>
</ng-container>
</mat-menu>
</mat-form-field>
<mat-form-field *ngIf="!canManageMail()">
<mat-label class="attachLabel">{{lang.reference}}</mat-label>
<input matInput [value]="reference" readonly>
</mat-form-field>
<div class="attachMsg"
*ngIf="numericPackage.mainExchangeDoc === null && emailAttach.length === 0 && canManageMail()">
{{lang.attachItemToNumericPackage}}
<i class="fas fa-arrow-up"></i>
</div>
<div style="overflow: auto;max-height: 300px;">
<mat-list *ngIf="numericPackage.mainExchangeDoc !== null">
<h3 mat-subheader class="attachLabel">{{lang.mainDocNumericPackage}}</h3>
<mat-list-item class="numericPackageAttach" *ngIf="numericPackage.mainExchangeDoc !== null">
<p mat-line class="numericPackageAttachItem">
<span
style="overflow: hidden;text-overflow: ellipsis;">{{numericPackage.mainExchangeDoc.label}}</span>
<span class="badge">{{numericPackage.mainExchangeDoc.typeLabel}}</span>
<span class="subInfo">.{{numericPackage.mainExchangeDoc.format}}</span>
<button mat-icon-button color="warn" (click)="numericPackage.mainExchangeDoc=null">
<mat-icon class="fa fa-trash"></mat-icon>
</button>
</p>
</mat-list-item>
</mat-list>
<mat-divider *ngIf="emailAttach.length > 0"></mat-divider>
<mat-list *ngIf="emailAttach.length > 0">
<h3 mat-subheader class="attachLabel">{{lang.attachmentsNumericPackage}}</h3>
<mat-list-item class="numericPackageAttach" *ngFor="let attach of emailAttach; let i=index">
<p mat-line class="numericPackageAttachItem">
<span style="overflow: hidden;text-overflow: ellipsis;"
[title]="attach.label">{{attach.label}}</span>
<span class="badge">{{attach.typeLabel}}</span>
<span class="subInfo">.{{attach.format}}</span>
<button mat-icon-button color="warn" (click)="removeAttach(i)">
<mat-icon class="fa fa-trash"></mat-icon>
</button>
</p>
</mat-list-item>
</mat-list>
</div>
<!--<div class="models" *ngIf="canManageMail()">
<plugin-select-search *ngIf="availableEmailModels.length > 0" [label]="lang.emailModel"
[placeholderLabel]="lang.emailModel" [datas]="availableEmailModels"
[formControlSelect]="templateEmailListForm" (afterSelected)="mergeEmailTemplate($event)">
</plugin-select-search>
<plugin-select-search #templateList *ngIf="availableSignEmailModels.length > 0"
[label]="lang.emailSignatures" [placeholderLabel]="lang.emailSignatures"
[datas]="availableSignEmailModels" [formControlSelect]="emailSignListForm"
(afterSelected)="mergeSignEmailTemplate($event)">
</plugin-select-search>
</div>-->
<div class="row" style="margin: 0;" *ngIf="!canManageMail()">
<div class="col-md-9">
<label class="attachLabel">{{lang.actionsHistory}}</label>
<div class="messageExchangeHistory">
<div class="messageExchangeHistoryItem" *ngFor="let item of messageReview">
<div class="messageExchangeHistoryDate">
{{item.date | timeAgo : 'full'}}
</div>
<div>
{{item.content}}
</div>
</div>
</div>
<div class="col-md-3 text-center">
<button mat-button color="primary" style="width: 180px;white-space: initial;line-height: 20px;padding: 10px;" (click)="saveNumericPackageFile()">
<i class="fas fa-file-download" style="font-size: 40px;"></i><br/>
<span>{{lang.downloadNumericPackage}}</span>
<div style="padding-top: 10px;">
<mat-form-field appearance="outline">
<mat-label class="attachLabel">{{lang.note}}</mat-label>
<textarea matInput [placeholder]="lang.addNoteToNumericPackage" [(ngModel)]="numericPackage.content"
matTextareaAutosize style="padding:0" [readonly]="!canManageMail()"></textarea>
</mat-form-field>
</div>
</mat-dialog-content>
<span class="divider-modal"></span>
<div mat-dialog-actions class="actions">
<button mat-raised-button color="primary"
*ngIf="canManageMail() && privilegeService.hasCurrentUserPrivilege('sendmail')" (click)="onSubmit()"
[disabled]="recipients.length === 0 || numericPackage.mainExchangeDoc === null || loading">{{lang.send}}</button>
<button mat-raised-button color="warn" (click)="deleteEmail()"
*ngIf="data.emailId && !loading"
[disabled]="headerService.user.id !== emailCreatorId">{{lang.delete}}</button>
</div>
</div>