Forked from
matefun / Frontend
113 commits behind the upstream repository.
-
Franco Pariani authoredFranco Pariani authored
matefun.component.html 11.75 KiB
<notificacion></notificacion>
<div class="container-fluid" style=" padding-left: 0px; padding-right: 0px; margin-top: -13px; margin-left: -6px; margin-right: -6px;">
<div class="row">
<div class="col-md-6">
<ngb-tabset [destroyOnHide]=false (tabChange)="onChangeTab($event)">
<ngb-tab id="ProgramBtn" title='{{ "i18n.object.program" | translate | titlecase }}'>
<ng-template ngbTabContent>
<div class="card">
<div class="card-header">
<form>
<input type="text" name="archivo" class="nomArchivoInp form-control form-control-sm"
[disabled]="!archivo.editable || archivo.estado=='Corregido' || archivo.estado == 'Entregado'"
*ngIf="archivo" [(ngModel)]="archivo.nombre" (keyup)="archivoModificado()" placeholder='{{ "i18n.msg.file.fileName" | translate }}' />
<button
style="margin-left: 5px; float: right;"
id="shortcutsPopover"
class="btn btn-sm btn-secondary"
placement="bottom"
[ngbPopover]=shortcutsPopoverContent
#popover="ngbPopover"
popoverTitle='{{ "i18n.object.shortcuts" | translate | titleCase }}'
tiggers="click">
<i class="fa fa-keyboard-o"></i>
</button>
<button
id="downloadFileButton"
(click)="downloadFile()"
style="margin-left: 5px; float: right;"
class="btn btn-sm btn-secondary"
placement="bottom"
ngbPopover='{{ "i18n.action.export" | translate | titleCase }} (Ctrl+E)'
triggers="mouseenter:mouseleave"
tiggers="click">
<i class="fa fa-download "></i>
</button>
<button
style="margin-left: 5px; float: right;"
id="popover" class="btn btn-sm btn-secondary"
placement="bottom"
[ngbPopover]=popoverContent
#popover="ngbPopover"
popoverTitle='{{ "i18n.object.settings" | translate | titleCase }}'
tiggers="click">
<i class="fa fa-gear"></i>
</button>
<div
style="margin-left: 5px; float: right;"
ngbPopover='{{ "i18n.action.save" | translate | titleCase }} {{ "i18n.object.file" | translate | titleCase }} (Ctrl+G)'
triggers="mouseenter:mouseleave"
placement="bottom" >
<button [disabled]="!modificado" (click)="guardarArchivo()" class="btn btn-sm btn-secondary" >
<i class="fa fa-save"></i>
</button>
</div>
<button
style="margin-left: 5px; float: right;"
(click)="reiniciarInterprete()"
class="btn btn-sm btn-secondary"
ngbPopover='{{ "i18n.action.restart" | translate | titleCase }} {{ "i18n.object.interpreter" | translate | titleCase }} (Ctrl+R)'
triggers="mouseenter:mouseleave"
placement="bottom">
<i class="fa fa-refresh"></i>
</button>
<button
style="margin-left: 5px; float: right;"
(click)="runCode()"
class="btn btn-sm btn-secondary"
ngbPopover='{{ "i18n.action.load" | translate | titleCase }} {{ "i18n.object.program" | translate | titleCase }} (Ctrl+P)'
triggers="mouseenter:mouseleave"
placement="bottom">
<i class="fa fa-play"></i>
</button>
<button
style="float: right;"
(click)="seleccionarDirectorio()"
class="btn btn-sm btn-secondary"
ngbPopover='{{ "i18n.action.new" | translate | titleCase }} {{ "i18n.object.file" | translate | titleCase }} (Ctrl+A)'
triggers="mouseenter:mouseleave"
placement="bottom">
<i class="fa fa-plus"></i>
</button>
<ng-template #popoverContent style="width: 15em">
<div style="width: 12em">
<div class="form-group">
<label>{{ "i18n.object.theme" | translate | titleCase }}:</label>
<select name="theme" class="form-control form-control-sm" #selectTheme (change)=updateConfig(selectTheme.value)>
<option *ngFor="let theme of themes" [selected]="theme==configCodeMirror.theme" value='{{theme}}'>{{theme}}</option>
</select>
</div>
<div class="form-group">
<label>{{ "i18n.msg.codemirror.fontSize" | translate }}:</label>
<div>
<button class="btn btn-sm btn-secondary" (click)="aumentarFuente()">A⁺</button>
<button class="btn btn-sm btn-secondary" (click)="disminuirFuente()">A⁻</button>
{{configCodeMirror.fontSize}}px
</div>
</div>
<div class="form-group">
<label>
<input type="checkbox" style="width: 15px; display: inline-block;" name="argumentoF" class="form-control form-control-sm" [(ngModel)]=argumentoF>
{{ "i18n.msg.codemirror.functionWarnings" | translate }}
</label>
<br>
<label>
<input type="checkbox" style="width: 15px; display: inline-block;" name="argumentoI" class="form-control form-control-sm" [(ngModel)]=argumentoI>
{{ "i18n.msg.codemirror.infixOperatorsWarnings" | translate }}
</label>
<br>
<label>
<input type="checkbox" style="width: 15px; display: inline-block;" name="hintsCheck" class="form-control form-control-sm" [(ngModel)]=hintsCheck>
{{ "i18n.msg.codemirror.showHints" | translate }}
</label>
<br>
<label>
<input type="checkbox" style="width: 15px; display: inline-block;" name="typingCheck" class="form-control form-control-sm" [(ngModel)]=typingCheck>
{{ "i18n.msg.codemirror.functionTyping" | translate }}
</label>
</div>
<div class="form-group">
<button class="btn btn-secondary" (click)="saveConfig(); popover.close();">{{ "i18n.action.save" | translate | titleCase }}</button>
</div>
</div>
</ng-template>
<ng-template #shortcutsPopoverContent style="width: 18em">
<div style="width: 18em">
<div class="form-group">
<label><b>Ctrl+P</b> {{ "i18n.shortcuts.runCode" | translate }}</label>
<label><b>Ctrl+A</b> {{ "i18n.shortcuts.newFile" | translate }}</label>
<label><b>Ctrl+O</b> {{ "i18n.shortcuts.openMenu" | translate }}</label>
<label><b>Ctrl+E</b> {{ "i18n.shortcuts.exportFile" | translate }}</label>
<label><b>Ctrl+R</b> {{ "i18n.shortcuts.restartInterpreter" | translate }}</label>
<label><b>Ctrl+G</b> {{ "i18n.shortcuts.saveFile" | translate }}</label>
<label><b>Ctrl+{{ "i18n.shortcuts.space" | translate }}</b> {{ "i18n.shortcuts.autocomplete" | translate }}</label>
<label><b>Ctrl+Shift+K</b> {{ "i18n.shortcuts.comment" | translate }}</label>
</div>
</div>
</ng-template>
</form>
</div>
<codemirror class="codemirrorPrograma" [(ngModel)]="archivo.contenido" (keyup)="archivoModificado($event)" (click)="clickEnEditor($event)" [config]="configCodeMirror" [ngStyle]="{'font-size': configCodeMirror.fontSize+'px'}">
</codemirror>
</div>
</ng-template>
</ngb-tab>
<!-- <ngb-tab id="FigurasBtn" title="Figuras OLD">
<ng-template ngbTabContent>
<canvas-component (canvasComp)=canvasC></canvas-component>
</ng-template>
</ngb-tab> -->
<ngb-tab id="FigurasBtn2D" title='{{ "i18n.object.figures" | translate | titleCase }} 2D'>
<ng-template ngbTabContent>
<graph2D-component (graph2DComp)=graph2DComp></graph2D-component>
</ng-template>
</ngb-tab>
<ngb-tab id="FigurasBtn3D" title='{{ "i18n.object.figures" | translate | titleCase }} 3D'>
<ng-template ngbTabContent>
<graph3d-component (graph3DComp)=graph3DComp></graph3d-component>
</ng-template>
</ngb-tab>
</ngb-tabset>
</div>
<div class="col-md-6">
<!--
<ngb-tabset [destroyOnHide]=false>
<ngb-tab title="Programa">
<ng-template ngbTabContent>
<div class="card">
<div id="console" > </div>
</div>
</ng-template>
</ngb-tab>
<ngb-tab title="Figuras">
<ng-template ngbTabContent>
<canvas-component (canvasComp)=canvasC></canvas-component>
</ng-template>
</ngb-tab>
</ngb-tabset>
-->
<div class="card">
<div id="console"> </div>
</div>
<!--
<canvas-component (canvasComp)=canvasC></canvas-component>
<div class="card">
<div id="svgHaskell">
</div>
</div> -->
</div>
</div>
<span class="version">v{{version}}</span>
</div>