89 lines
4.8 KiB
HTML
89 lines
4.8 KiB
HTML
<!-- Modal download file -->
|
|
<div class="modal fade" id="downloadFileModal" tabindex="-1" role="dialog">
|
|
<div class="modal-dialog">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h4 class="modal-title">Download from {{ selected.name }}</h4>
|
|
</div>
|
|
<div class="modal-body">
|
|
<form name="downloadFileForm" ng-submit="downloadFile.submit()">
|
|
<div class="form-group" ng-class="{ 'has-error': downloadFileForm.filePath.$dirty && downloadFile.error }">
|
|
<label class="control-label" for="inputDownloadFilePath">Path to file or directory</label>
|
|
<div class="control-label" ng-show="{ 'has-error': downloadFileForm.filePath.$dirty && downloadFile.error }">
|
|
<small>{{ downloadFile.error }}</small>
|
|
</div>
|
|
<input type="text" class="form-control" name="filePath" ng-model="downloadFile.filePath" required autofocus>
|
|
</div>
|
|
<input id="inputDownloadFilePath" class="ng-hide" type="submit" ng-disabled="!downloadFile.filePath"/>
|
|
</form>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<a id="fileDownloadLink" class="" ng-href="{{ downloadFile.downloadUrl() }}" target="_blank"></a>
|
|
|
|
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
|
|
<button type="button" class="btn btn-success" ng-click="downloadFile.submit()" ng-disabled="!downloadFile.filePath"><i class="fa fa-circle-o-notch fa-spin" ng-show="downloadFile.busy"></i> Download</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Modal upload progress -->
|
|
<div class="modal fade" id="uploadProgressModal" tabindex="-1" role="dialog">
|
|
<div class="modal-dialog">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h4 class="modal-title">Uploading file to {{ selected.name }}</h4>
|
|
</div>
|
|
<div class="modal-body">
|
|
<span><b>{{ (uploadProgress.current/1000/1000).toFixed(2) }}mb</b> (total {{ (uploadProgress.total/1000/1000).toFixed(2) }}mb)</span>
|
|
<div class="progress progress-striped active">
|
|
<div class="progress-bar progress-bar-success" role="progressbar" style="width: {{ 100*(uploadProgress.current/uploadProgress.total) }}%"></div>
|
|
</div>
|
|
</div>
|
|
<div class="modal-footer">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="logs-controls">
|
|
<div class="col-md-10 col-md-offset-1">
|
|
<uib-tabset active="active">
|
|
<uib-tab index="1" heading="Terminal" select="showTerminal()"></uib-tab>
|
|
<uib-tab index="0" heading="Logs" select="showLogs()"></uib-tab>
|
|
</uib-tabset>
|
|
<select class="form-control pull-right inline" ng-options="log.name for log in logs track by log.value" ng-model="selected"></select>
|
|
|
|
<!-- logs actions -->
|
|
<a class="btn btn-default pull-right" ng-href="{{ selected.url }}&format=short&lines=800" ng-hide="terminalVisible"><i class="fa fa-download"></i> Download Logs</a>
|
|
|
|
<input type="file" id="fileUpload" class="hide"/>
|
|
|
|
<!-- terminal actions -->
|
|
<div class="btn-group pull-right" style="margin-left: 10px;">
|
|
<button class="btn btn-default" ng-click="restartApp()" ng-show="selected.type === 'app'" ng-disabled="restartAppBusy"><i class="fa fa-circle-o-notch fa-spin" ng-show="restartAppBusy"></i> Restart</button>
|
|
<button class="btn btn-default" ng-click="uploadFile()" ng-show="terminalVisible && selected.type === 'app' && !uploadProgress.busy"><i class="fa fa-upload"></i> Upload to /tmp</button>
|
|
<button class="btn btn-default" ng-click="uploadProgress.show()" ng-show="uploadProgress.busy"><i class="fa fa-circle-o-notch fa-spin"></i> Uploading...</button>
|
|
<button class="btn btn-default" ng-click="downloadFile.show()" ng-show="terminalVisible && selected.type === 'app'"><i class="fa fa-download"></i> Download</button>
|
|
</div>
|
|
|
|
<div class="btn-group pull-right" style="margin-left: 10px;">
|
|
<button class="btn btn-default" ng-click="terminalInject('mysql')" ng-show="terminalVisible && usesAddon('mysql')">MySQL</button>
|
|
<button class="btn btn-default" ng-click="terminalInject('postgresql')" ng-show="terminalVisible && usesAddon('postgresql')">Postgres</button>
|
|
<button class="btn btn-default" ng-click="terminalInject('mongodb')" ng-show="terminalVisible && usesAddon('mongodb')">MongoDB</button>
|
|
<button class="btn btn-default" ng-click="terminalInject('redis')" ng-show="terminalVisible && usesAddon('redis')">Redis</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="logs-and-term-container"></div>
|
|
|
|
<div class="contextMenuBackdrop">
|
|
<ul class="dropdown-menu" id="terminalContextMenu" style="position: absolute; display:none;">
|
|
<li><a href="" ng-click="terminalCopy()">Copy</a></li>
|
|
<li class="disabled"><a>For Paste use Ctrl+v</a></li>
|
|
<li role="separator" class="divider"></li>
|
|
<li><a href="" ng-click="terminalClear()">Clear</a></li>
|
|
</ul>
|
|
</div>
|