<div class="piece" (mouseover)="displayMenu='show'" (mouseleave)="displayMenu='hide'" (click)="onClickPiece()" [class]="pieceDetailsService.piece == role ? 'isActive' : 'border'"> <div class="piece-attach piece-attach-left-top"></div> <div class="piece-attach piece-attach-right"></div> <div class="piece-attach piece-attach-left-bottom"></div> <div class="piece-menu" [class]="displayMenu"> <mat-icon fontIcon="add" (click)="onClickAdd()" matTooltip="Ajouter un rôle." matTooltipPosition="above" [matTooltipDisabled]="!tooltipService.activatedTooltips"></mat-icon> <mat-icon fontIcon="backspace" (click)="onClickErase()" matTooltip="Effacer le contenu de cette tuile." matTooltipPosition="above" [matTooltipDisabled]="!tooltipService.activatedTooltips"></mat-icon> <mat-icon fontIcon="delete" (click)="onClickDelete()" *ngIf="canDelete()" matTooltip="Supprimer la tuile." matTooltipPosition="above" [matTooltipDisabled]="!tooltipService.activatedTooltips"></mat-icon> </div> <div class="piece-form"> <div class="piece-form-title">{{role.intitule ? role.intitule : 'Role '+(i+1)}}</div> <mat-icon class="piece-form-comment" fontIcon="comment" *ngIf="role.comments.length > 0"></mat-icon> <img src="../../../assets/background-images/role_opacity0.png" draggable="false" *ngIf="i == 0"/> <img src="../../../assets/background-images/role2_opacity0.png" draggable="false" *ngIf="i == 1"/> <div class="piece-form-intitule"> <label for="intitule">Intitulé</label> <input name="intitule" type="text" [(ngModel)]="role.intitule" placeholder="Développeur/euse web" matTooltip="Nom de ce rôle." matTooltipPosition="above" [matTooltipDisabled]="!tooltipService.activatedTooltips"/> </div> <div class="piece-form-name"> <label for="name">Nom de la quête</label> <input name="name" type="text" [(ngModel)]="role.questName" placeholder="Intégration de site web" matTooltip="En 2-3 mots, l'intitulé de la quête de ce rôle" matTooltipPosition="above" [matTooltipDisabled]="!tooltipService.activatedTooltips"/> </div> <div class="piece-form-description"> <label for="description">Description</label> <textarea name="description" [(ngModel)]="role.description" matTooltip="Élément précis sur ce rôle si nécessaire." matTooltipPosition="above" [matTooltipDisabled]="!tooltipService.activatedTooltips"></textarea> </div> <div class="piece-form-objectives"> <label for="objective">Objectif(s) pédagoqique(s)</label> <div class="piece-form-objectives-objective" *ngFor="let objective of role.educationnalObjectives, let i = index"> <input name="objective" type="text" [(ngModel)]="role.educationnalObjectives[i].objective" placeholder="Nom de l'objectif" matTooltip="Les objectifs visés pour ce rôle en particulier" matTooltipPosition="above" [matTooltipDisabled]="!tooltipService.activatedTooltips"/> <button mat-button *ngIf="role.educationnalObjectives.length > 1" (click)="removeEducationnalObjective(i)"><mat-icon fontIcon="remove"></mat-icon></button> </div> <button mat-button class="piece-form-objectives-add" (click)="addEducationnalObjective()"><mat-icon fontIcon="add"></mat-icon></button> </div> <div class="piece-form-rewards"> <label for="reward">Récompense(s)</label> <div class="piece-form-rewards-reward" *ngFor="let reward of role.rewards, let i = index"> <div class="piece-form-rewards-reward-type"> <label>Type</label> <select [(ngModel)]="reward.type" (change)="changeRewardType(i, reward.type)" matTooltip="Ce que le rôle va obtenir à la fin de sa quête (gagner en compétence, gagner un objet, débloquer une quête, …)" matTooltipPosition="above" [matTooltipDisabled]="!tooltipService.activatedTooltips"> <option value="quest">Débuter une nouvelle quête</option> <option value="skill">Travailler un champ de compétence</option> <!--<option value="character">Récupérer le contact d'un PNJ</option>--> <option value="objective">Atteindre un objectif pédagoqique</option> <option value="objects">Récupérer un objet</option> <!--<option value="discuss">Changer de discussion</option>--> <option value="other">Autre</option> </select> </div> <div class="piece-form-rewards-reward-objects" *ngIf="reward.type == 'objects'"> <div class="piece-form-rewards-reward-objects-object" *ngFor="let object of getObjectsReward(i).objects, let j = index"> <input type="number" [(ngModel)]="object.number"/> <input type="text" [(ngModel)]="object.name" placeholder="Nom de l'objet"/> <button mat-button (click)="removeObject(i,j)"><mat-icon fontIcon="remove"></mat-icon></button> </div> <button mat-button class="piece-form-rewards-reward-objects-add" (click)="addObject(i)"><mat-icon fontIcon="add"></mat-icon></button> </div> <!-- <div class="piece-form-rewards-reward-character" *ngIf="reward.type == 'character'"> <select [(ngModel)]="getCharacterReward(i).character"> <option [ngValue]="character" *ngFor="let character of scenario.characters">{{character.name}}</option> </select> <button mat-button (click)="removeReward(i)"><mat-icon fontIcon="remove"></mat-icon></button> </div> <div class="piece-form-rewards-reward-discussion" *ngIf="reward.type == 'discuss'"> <select> <option>Discussion 1</option> </select> <button mat-button><mat-icon fontIcon="remove"></mat-icon></button> </div> --> <div class="piece-form-rewards-reward-skill" *ngIf="reward.type == 'skill'"> <input type="number" [(ngModel)]="getSkillReward(i).quantity"/> <select [(ngModel)]="getSkillReward(i).skill"> <ng-container *ngFor="let skill of role.ressources"> <option [ngValue]="skill" *ngIf="skill.type == 'attribut'">{{skill.name}}</option> </ng-container> </select> <button mat-button (click)="removeReward(i)"><mat-icon fontIcon="remove"></mat-icon></button> </div> <div class="piece-form-rewards-reward-quest" *ngIf="reward.type == 'quest'"> <select (change)="changeQuestReward(i, $event)"> <ng-container *ngFor="let mission of scenario.missions; let indexMission = index"> <ng-container *ngFor="let quest of mission.roles; let indexRole = index"> <option [ngValue]="quest.questName" [selected]="getQuestReward(i).intitule == quest.intitule && getQuestReward(i).questName == quest.questName" *ngIf="role.intitule && quest.questName && role.intitule == quest.intitule && role.questName != quest.questName"> {{quest.questName}} </option> </ng-container> </ng-container> </select> <button mat-button (click)="removeReward(i)"><mat-icon fontIcon="remove"></mat-icon></button> </div> <div class="piece-form-rewards-reward-objective" *ngIf="reward.type == 'objective'"> <select [(ngModel)]="getObjectiveReward(i).objective"> <option [ngValue]="objective" *ngFor="let objective of role.educationnalObjectives">{{objective.objective}}</option> </select> <button mat-button (click)="removeReward(i)"><mat-icon fontIcon="remove"></mat-icon></button> </div> <div class="piece-form-rewards-reward-other" *ngIf="reward.type == 'other'"> <textarea [(ngModel)]="getOtherReward(i).text"></textarea> <button mat-button (click)="removeReward(i)"><mat-icon fontIcon="remove"></mat-icon></button> </div> </div> <div class="piece-form-rewards-add"> <button mat-button (click)="addReward()"><mat-icon fontIcon="add"></mat-icon></button> </div> </div> <div class="piece-form-personnalization"> <div class="piece-form-title">Personnalisation</div> <div class="piece-form-personnalization-appearance"> <label>Apparence, équipement</label> <textarea [(ngModel)]="role.stuff" matTooltip="Si le rôle a une tenue particulière ou des objets spécifiques" matTooltipPosition="above" [matTooltipDisabled]="!tooltipService.activatedTooltips"></textarea> </div> </div> <div class="piece-form-ressources" matTooltip="Objets, ressources disponibles pour ce rôle" matTooltipPosition="before" [matTooltipDisabled]="!tooltipService.activatedTooltips"> <div class="piece-form-title">Ressources & compétences</div> <div class="piece-form-ressources-ressource" *ngFor="let ressource of role.ressources, let i = index"> <div class="piece-form-ressources-ressource-name"> <label for="name">Nom</label> <input name="name" type="text" [(ngModel)]="ressource.name"/> </div> <div class="piece-form-ressources-ressource-quantity"> <label for="quantity">Nombre / stats</label> <input name="quantity" type="text" [(ngModel)]="ressource.number"> </div> <div class="piece-form-ressources-ressource-quantity"> <label for="type">Type</label> <select name="type" [(ngModel)]="ressource.type"> <option value="ressource">Ressource / Objet</option> <option value="attribut">Compétence</option> </select> </div> <button mat-button><mat-icon fontIcon="remove" (click)="removeRessource(i)"></mat-icon></button> </div> <button mat-button class="piece-form-ressources-add" (click)="addRessource()"><mat-icon fontIcon="add"></mat-icon></button> </div> <div class="piece-form-title">Rôle supplémentaire</div> <div class="piece-form-supplementary" [style.background]="'linear-gradient(302deg, '+supplementaryRole.color+' 0%, '+supplementaryRole.color+' 50%, #9ad5ec 50%, #9ad5ec 100%)'" *ngFor="let supplementaryRole of role.supplementaryRoles, let i = index"> <div class="piece-form-supplementary-form"> <div> <div class="piece-form-supplementary-form-name"> <label for="name">Nom</label> <input name="name" type="text" [(ngModel)]="supplementaryRole.name" matTooltip="Intitulé du rôle supplémentaire" matTooltipPosition="above" [matTooltipDisabled]="!tooltipService.activatedTooltips"/> </div> <div class="piece-form-supplementary-form-color"> <label for="color">Couleur</label> <input name="color" type="color" [(ngModel)]="supplementaryRole.color"/> </div> <div class="piece-form-supplementary-form-textarea"> <label for="objectives">Objectifs</label> <textarea name="objectives" [(ngModel)]="supplementaryRole.objectives" matTooltip="Objectifs (pédagogiques) de ce rôle supplémentaire" matTooltipPosition="above" [matTooltipDisabled]="!tooltipService.activatedTooltips"></textarea> </div> <div class="piece-form-supplementary-form-textarea"> <label for="skills">Compétences</label> <textarea name="skills" [(ngModel)]="supplementaryRole.skills" matTooltip="Compétences spécifiques à ce rôle pour effectuer les tâches qui lui seront liées (même couleur)" matTooltipPosition="above" [matTooltipDisabled]="!tooltipService.activatedTooltips"></textarea> </div> <div class="piece-form-supplementary-form-textarea"> <label for="rules">Règles</label> <textarea name="rules" [(ngModel)]="supplementaryRole.rules" matTooltip="Règles spécifiques à ce rôle (a-t-il des contraintes ou des droits, accès supplémentaires ?)" matTooltipPosition="above" [matTooltipDisabled]="!tooltipService.activatedTooltips"></textarea> </div> <button mat-button (click)="removeSupplementaryRole(i)"><mat-icon fontIcon="remove"></mat-icon></button> </div> </div> </div> <button mat-button class="piece-form-supplementary-form-add" (click)="addSupplementaryRole()"><mat-icon fontIcon="add"></mat-icon></button> </div> </div>