124 lines
5.2 KiB
Cheetah
124 lines
5.2 KiB
Cheetah
<div class="col-md-12 d-flex">
|
|
<div class="card flex-fill w-100">
|
|
<div class="card-header">
|
|
<h5 class="card-title mb-0">Symbol Instances</h5>
|
|
</div>
|
|
|
|
<div class="card-body">
|
|
<div class="table-responsive">
|
|
<table class="table table-hover table-sm">
|
|
<thead>
|
|
<tr>
|
|
<th>Name</th>
|
|
<th>Exchange</th>
|
|
<th>
|
|
<div class="card-actions float-end">
|
|
<div class="btn-group float-end" role="group">
|
|
<button type="button" class="btn btn-success btn-sm"
|
|
data-bs-toggle="modal" data-bs-target="#symbolModal" data-action="create_symbol">
|
|
<i class="bi bi-plus"></i>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{{#symbols}}
|
|
<tr>
|
|
<td>{{.getName()}}</td>
|
|
<td>{{.getExchange().getName()}}</td>
|
|
<td>
|
|
<form method="POST">
|
|
<input type="hidden" name="id" value="{{.getId()}}">
|
|
|
|
<div class="btn-toolbar pull-right">
|
|
<button type="button" class="btn btn-default btn-sm" data-toggle="modal"
|
|
data-target="#symbolModal"
|
|
data-action="modify_symbol"
|
|
data-id="{{.getId()}}"
|
|
data-name="{{.getName()}}"
|
|
data-type="{{.getType()}}"
|
|
{{#.getDeviceConfigurator().getConfiguration()}}
|
|
data-{{.getName()}}="{{.getString()}}"
|
|
{{/.getDeviceConfigurator().getConfiguration()}}
|
|
>
|
|
<span class="glyphicon glyphicon-pencil"></span>
|
|
</button>
|
|
|
|
<button type="submit" class="btn btn-danger btn-sm" name="action" value="remove_symbol">
|
|
<span class="glyphicon glyphicon-trash"></span>
|
|
</button>
|
|
</div>
|
|
</form>
|
|
</td>
|
|
</tr>
|
|
{{/symbols}}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!------------- MODALS --------------->
|
|
<script>
|
|
var exchangeSymbols = {
|
|
{{#exchanges}}
|
|
{{.getId()}}: [
|
|
{{#.getObject().getExchangeMarket().getSymbols()}}"{{.}}",{{/.getObject().getExchangeMarket().getSymbols()}}
|
|
],
|
|
{{/exchanges}}
|
|
};
|
|
|
|
$(function() {
|
|
initDynamicModalForm("symbolModal");
|
|
|
|
$("#exchange-id").change(function() {
|
|
var options = $("#symbol-name");
|
|
options.empty();
|
|
|
|
$.each(exchangeSymbols[this.value], function(index, value) {
|
|
options.append($("<option />").val(value).text(value));
|
|
});
|
|
$("#symbol-name").selectize();
|
|
});
|
|
});
|
|
</script>
|
|
|
|
<div class="modal fade" id="symbolModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1">
|
|
<div class="modal-dialog">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h4 class="modal-title">Symbol</h4>
|
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
|
</div>
|
|
<form method="POST">
|
|
<div class="modal-body">
|
|
<input type="hidden" id="action" name="action">
|
|
<input type="hidden" id="id" name="id">
|
|
|
|
<div>
|
|
<label class="control-label" for="exchange-id">Exchange:</label>
|
|
<select id="exchange-id" name="exchange-id" class="form-control">
|
|
<option></option>
|
|
{{#exchanges}}
|
|
<option value="{{.getId()}}">{{.getName()}}</option>
|
|
{{/exchanges}}
|
|
</select>
|
|
</div>
|
|
|
|
<div>
|
|
<label class="control-label" for="symbol-name">Symbol:</label>
|
|
<select id="symbol-name" name="symbol-name" class="form-control">
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="reset" class="btn btn-secondary" data-bs-dismiss="modal">Cancel</button>
|
|
<button type="submit" class="btn btn-primary">Save</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|