Skip to content
Snippets Groups Projects
graph2D.component.html 5.57 KiB
Newer Older
<!-- Buttons Controls -->
<div class="buttons-control">
	<button ngbPopover='{{ "i18n.action.zoom" | translate | titleCase }} +'
			class="btn btn-sm btn-secondary btn-zoom-increase"
			data-placement="bottom"
			triggers="mouseenter:mouseleave"
			(click)=zoomIn() >
		<i class="fa fa-plus"></i>
	</button>
	<button ngbPopover='{{ "i18n.action.zoom" | translate | titleCase }} -'
			class="btn btn-sm btn-secondary btn-zoom-decrease"
			data-placement="bottom"
			triggers="mouseenter:mouseleave"
			(click)=zoomOut() >
		<i class="fa fa-minus"></i>
	</button>
	<button ngbPopover='{{ "i18n.action.center" | translate | titleCase }}'
			class="btn btn-sm btn-secondary btn-zoom-center"
			data-placement="bottom"
			triggers="mouseenter:mouseleave"
			(click)="recenterPlot()" >
		<i class="fa fa-arrows"></i>
	</button>
	<button ngbPopover='{{ "i18n.action.delete" | translate | titleCase }}'
			class="btn btn-sm btn-secondary btn-trash"
			data-placement="bottom"
			triggers="mouseenter:mouseleave"
			(click)="cleanPlot()" >
		<i class="fa fa-trash"></i>
	</button>
	<button ngbPopover='{{ "i18n.action.download" | translate | titleCase }} PNG'
			class="btn btn-sm btn-secondary btn-download"
			data-placement="bottom"
			triggers="mouseenter:mouseleave"
			(click)=exportPlot() >
		<i class="fa fa-download"></i>
	</button>
	<button id="settings"
			class="btn btn-sm btn-secondary btn-setting"
			placement="bottom"
			popoverTitle='{{ "i18n.object.settings" | translate | titleCase }}'
			#popover="ngbPopover"
			tiggers="click">
		<i class="fa fa-gear"></i>
	</button>
</div>
<div class="card">
    <div class="card-block contenedor-canvas" >
		<!-- Download Link -->
		<a id="download-plot" class="download-plot" href="#" download="Plot.svg" style="display: none">
			Download Canvas
		</a>
		<!-- Settings Popover Content -->
		<ng-template #popoverCanvas>
			<div class="form-group settings-popover-content">
				<div class="chart-controls setting-section">
					<label>
						<input 	
							type="checkbox" 
Diego Rey's avatar
Diego Rey committed
							name="grid"
							class="form-control form-control-sm"
							[checked]= mateFunGraph2D.settings.grid
							{{ "i18n.object.grid" | translate | titleCase }}
Diego Rey's avatar
Diego Rey committed
							name="axis"
							class="form-control form-control-sm"
							[checked]= mateFunGraph2D.settings.axis 
							{{ "i18n.object.axes" | translate | titleCase }}
					<!-- <label>
Diego Rey's avatar
Diego Rey committed
							name="tip"
							class="form-control form-control-sm"
							[checked]= mateFunGraph2D.settings.tip
							{{ "i18n.object.tip" | translate | titleCase }}
					</label> -->
					<label [class.disabled]="funciones.length === 0">
							[attr.disabled]="funciones.length === 0 ? '' : null"
							[checked]=mateFunGraph2D.animation.boton
							(click)="multiGraf(value)">
							{{ "i18n.msg.figure.multiPlot" | translate | titleCase }}
				</div>
				<hr>
				<div class="zoom-control setting-section">
					<div [class.disabled]="funciones.length === 0" style="display: flex;">
						<span style="margin-right: 8px; align-self: center;">
							{{ "i18n.action.zoom" | translate | titleCase }}
							class="form-control form-control-sm"
							[attr.disabled]="funciones.length === 0 ? '' : null"
							[(ngModel)]="mateFunGraph2D.animation.zoo"
							[max]="1000000"
							[min]="8"
							(change)="setZoom()"
							style="width: 70px;"
						/>
					</div>
				</div>
				<hr>
				<div class="animation-controls setting-section"
					[class.disabled]="mateFunGraph2D.animation.data.length === 0">
					<label>{{ "i18n.msg.figure.animationSpeed" | translate }}:</label>
						<button class="btn btn-sm btn-secondary"
								[attr.disabled]="mateFunGraph2D.animation.data.length === 0 ? '' : null"
								(click)='decreaseSpeed()'>
							<i class="fa fa-minus"></i>
						</button>
						<button class="btn btn-sm btn-secondary"
								[attr.disabled]="mateFunGraph2D.animation.data.length === 0 ? '' : null"
							<span>1x</span>
						</button>
						<button class="btn btn-sm btn-secondary"
								[attr.disabled]="mateFunGraph2D.animation.data.length === 0 ? '' : null"
								(click)='increaseSpeed()'>
							<i class="fa fa-plus"></i>
						</button>
						<span class="speed-value">
							{{amateFunGraph2D.nimation.speedX | number:'1.0'}}x
		<div class="animation" *ngIf="mateFunGraph2D.animation.data.length>0">
			<button class="btn btn-sm btn-secondary btn-play"
					data-placement="bottom"
					*ngIf="!(mateFunGraph2D.animation.playing)"
					(click)="runAnimation()" >
				<i class="fa fa-play"></i>
			</button>
			<button class="btn btn-sm btn-secondary btn-pause"
					data-placement="bottom"
					*ngIf="animation.playing"
					(click)="pauseAnimation()" >
				<i class="fa fa-pause"></i>
			</button>

			<ngb-progressbar
				class="progressbar"
				type="info"
				[value]="((mateFunGraph2D.animation.currentFrame+1)/mateFunGraph2D.animation.data.length)*100">
			</ngb-progressbar>
		</div>

		<!-- Graph Container -->
		<div #graph2DContainer id="graph2D-container">