Improved UI a bit.
This commit is contained in:
		
							parent
							
								
									fd2cf357dd
								
							
						
					
					
						commit
						e7274cb6d0
					
				| 
						 | 
				
			
			@ -145,8 +145,8 @@ function railSystemChanged() {
 | 
			
		|||
        });
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Updates the current rail system's information from the API.
 | 
			
		||||
function railSystemUpdated() {
 | 
			
		||||
    console.log("Refreshing...");
 | 
			
		||||
    $.get("/api/railSystems/" + railSystem.id + "/signals")
 | 
			
		||||
        .done(signals => {
 | 
			
		||||
            railSystem.signals = signals;
 | 
			
		||||
| 
						 | 
				
			
			@ -280,11 +280,12 @@ function addNewSignal() {
 | 
			
		|||
                    data: JSON.stringify(data),
 | 
			
		||||
                    contentType: "application/json"
 | 
			
		||||
                })
 | 
			
		||||
                    .done((response) => {
 | 
			
		||||
                    .done(() => {
 | 
			
		||||
                        form.trigger("reset");
 | 
			
		||||
                        railSystemChanged();
 | 
			
		||||
                        railSystemUpdated();
 | 
			
		||||
                    })
 | 
			
		||||
                    .fail((response) => {
 | 
			
		||||
                        console.error(response);
 | 
			
		||||
                        $('#addSignalAlertsContainer').append($('<div class="alert alert-danger">An error occurred.</div>'));
 | 
			
		||||
                        modal.show();
 | 
			
		||||
                    });
 | 
			
		||||
| 
						 | 
				
			
			@ -295,6 +296,22 @@ function addNewSignal() {
 | 
			
		|||
    });
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function removeSignal(signalId) {
 | 
			
		||||
    confirm(`Are you sure you want to remove signal ${signalId}? This cannot be undone.`)
 | 
			
		||||
        .then(() => {
 | 
			
		||||
            $.ajax({
 | 
			
		||||
                url: `/api/railSystems/${railSystem.id}/signals/${signalId}`,
 | 
			
		||||
                type: "DELETE"
 | 
			
		||||
            })
 | 
			
		||||
                .always(() => {
 | 
			
		||||
                    railSystemUpdated();
 | 
			
		||||
                })
 | 
			
		||||
                .fail((response) => {
 | 
			
		||||
                    console.error(response);
 | 
			
		||||
                })
 | 
			
		||||
        })
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function removeReachableConnection(signalId, fromId, toId) {
 | 
			
		||||
    confirm(`Are you sure you want to remove the connection from ${fromId} to ${toId} from signal ${signalId}?`)
 | 
			
		||||
        .then(() => {
 | 
			
		||||
| 
						 | 
				
			
			@ -312,8 +329,8 @@ function removeReachableConnection(signalId, fromId, toId) {
 | 
			
		|||
                        data: JSON.stringify({connections: connections}),
 | 
			
		||||
                        contentType: "application/json"
 | 
			
		||||
                    })
 | 
			
		||||
                        .done((response) => {
 | 
			
		||||
                            railSystemChanged();
 | 
			
		||||
                        .done(() => {
 | 
			
		||||
                            railSystemUpdated();
 | 
			
		||||
                        })
 | 
			
		||||
                        .fail((response) => {
 | 
			
		||||
                            console.error(response);
 | 
			
		||||
| 
						 | 
				
			
			@ -348,7 +365,7 @@ function addReachableConnection(signalId, fromId, toId) {
 | 
			
		|||
                            data: JSON.stringify({connections: connections}),
 | 
			
		||||
                            contentType: "application/json"
 | 
			
		||||
                        })
 | 
			
		||||
                            .done((response) => {
 | 
			
		||||
                            .done(() => {
 | 
			
		||||
                                railSystemChanged();
 | 
			
		||||
                            })
 | 
			
		||||
                            .fail((response) => {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -34,6 +34,12 @@
 | 
			
		|||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
    <div class="row">
 | 
			
		||||
        <div class="col">
 | 
			
		||||
            <button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#addSignalModal">Add Signal</button>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
    <hr class="my-4"/>
 | 
			
		||||
 | 
			
		||||
    <div class="row">
 | 
			
		||||
| 
						 | 
				
			
			@ -43,14 +49,6 @@
 | 
			
		|||
        <div id="railMapDetailPanel" class="col p-2 border">
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
    <hr class="my-4"/>
 | 
			
		||||
 | 
			
		||||
    <div class="row">
 | 
			
		||||
        <div class="col">
 | 
			
		||||
            <button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#addSignalModal">Add Signal</button>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<div>
 | 
			
		||||
| 
						 | 
				
			
			@ -69,25 +67,23 @@
 | 
			
		|||
        <hr>
 | 
			
		||||
 | 
			
		||||
        {{#each branchConnections}}
 | 
			
		||||
            <h5>{{this.direction}} <small class="text-muted">{{this.id}}</small></h5>
 | 
			
		||||
            <dl class="row">
 | 
			
		||||
                <dt class="col-sm-3">Branch</dt>
 | 
			
		||||
                <dd class="col-sm-9">{{this.branch.name}} <small class="text-muted">{{this.branch.id}}</small></dd>
 | 
			
		||||
                <dt class="col-sm-3">Reachable Signals</dt>
 | 
			
		||||
                <dd class="col-sm-9">
 | 
			
		||||
                    {{#each this.reachableSignalConnections}}
 | 
			
		||||
                        <p>
 | 
			
		||||
                            <a onclick="selectSignalById({{this.signalId}})" href="#">{{this.signalName}}</a>
 | 
			
		||||
                            <small class="text-muted">{{this.signalId}}</small> via
 | 
			
		||||
                            {{this.direction}} connection {{this.connectionId}}
 | 
			
		||||
                            <span
 | 
			
		||||
                                    class="btn btn-sm btn-danger js_removeSignalConnection"
 | 
			
		||||
                                    onclick="removeReachableConnection({{../../id}}, {{../id}}, {{this.connectionId}})"
 | 
			
		||||
                            >Remove</span>
 | 
			
		||||
                        </p>
 | 
			
		||||
                    {{/each}}
 | 
			
		||||
                </dd>
 | 
			
		||||
            </dl>
 | 
			
		||||
            <h5>{{this.direction}} <small class="text-muted">ID: {{this.id}}</small></h5>
 | 
			
		||||
            <p>
 | 
			
		||||
                On branch <span class="badge bg-dark">{{this.branch.name}} <small class="text-muted">ID: {{this.branch.id}}</small></span>
 | 
			
		||||
            </p>
 | 
			
		||||
            <h6>Connected to Signals:</h6>
 | 
			
		||||
            <ul class="list-unstyled">
 | 
			
		||||
                {{#each this.reachableSignalConnections}}
 | 
			
		||||
                    <li>
 | 
			
		||||
                        <a onclick="selectSignalById({{this.signalId}})" href="#">{{this.signalName}}</a>
 | 
			
		||||
                        via {{this.direction}} <small class="text-muted">ID: {{this.connectionId}}</small>
 | 
			
		||||
                        <span
 | 
			
		||||
                                class="btn btn-sm btn-secondary js_removeSignalConnection"
 | 
			
		||||
                                onclick="removeReachableConnection({{../../id}}, {{../id}}, {{this.connectionId}})"
 | 
			
		||||
                        >Remove</span>
 | 
			
		||||
                    </li>
 | 
			
		||||
                {{/each}}
 | 
			
		||||
            </ul>
 | 
			
		||||
            <div class="row" id="signalPotentialConnectionsRow-{{this.id}}">
 | 
			
		||||
                <div class="col-auto">
 | 
			
		||||
                    <select id="signalPotentialConnectionsSelect-{{this.id}}" class="form-select form-select-sm">
 | 
			
		||||
| 
						 | 
				
			
			@ -101,6 +97,11 @@
 | 
			
		|||
                </div>
 | 
			
		||||
            </div>
 | 
			
		||||
        {{/each}}
 | 
			
		||||
        <div class="row">
 | 
			
		||||
            <div class="col">
 | 
			
		||||
                <button type="button" class="btn btn-secondary" onclick="removeSignal({{id}})">Remove this Signal</button>
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>
 | 
			
		||||
    </script>
 | 
			
		||||
 | 
			
		||||
    <div class="modal fade" tabindex="-1" id="confirmModal" aria-hidden="true" data-bs-backdrop="static" data-bs-keyboard="false">
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue