mirror of
https://github.com/Pax1601/DCSOlympus.git
synced 2025-10-29 16:56:34 +00:00
Reorganized client source code
Removed many useless and old classes Started transition to new CSS Added URIs for specific REST requests
This commit is contained in:
@@ -1,3 +1,22 @@
|
||||
<div class="ol-panel aic-panel" id="aic-control-panel" data-feature-switch="aic">
|
||||
<div class="olympus-button" id="toggle-aic-button"></div>
|
||||
<div class="olympus-button" id="aic-help-button"></div>
|
||||
</div>
|
||||
|
||||
<div id="aic-help" class="olympus-dialog hide" data-feature-switch="aic">
|
||||
<div class="olympus-dialog-close">×</div>
|
||||
<div class="olympus-dialog-header">AIC Help</div>
|
||||
<div class="olympus-dialog-content">
|
||||
<p>How to be a good AIC and get people to do stuff good, too.</p>
|
||||
<div
|
||||
style="align-items: center; background:black; color:white; display:flex; height:250px; justify-content: center; justify-self: center; width:450px;">
|
||||
<div>[DCS with Volvo video]</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="aic-teleprompt" data-feature-switch="aic"></div>
|
||||
|
||||
<div id="aic-callsign-panel" class="aic-panel" data-feature-switch="aic">
|
||||
|
||||
<div class="aic-panel">
|
||||
@@ -9,7 +28,7 @@
|
||||
|
||||
|
||||
<div id="aic-toolbox" class="aic-panel" data-feature-switch="aic">
|
||||
|
||||
|
||||
<div id="aic-control-type" class="aic-toolbox-panel">
|
||||
<h2>Control</h2>
|
||||
<div>
|
||||
@@ -21,13 +40,13 @@
|
||||
<label for="control-type-tactical">Tactical</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="aic-formation-panel" class="aic-toolbox-panel">
|
||||
|
||||
|
||||
<h2>Formations</h2>
|
||||
|
||||
|
||||
<div id="aic-formation-list"></div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -1,17 +0,0 @@
|
||||
<div class="ol-panel aic-panel" id="aic-control-panel" data-feature-switch="aic">
|
||||
<div class="olympus-button" id="toggle-aic-button"></div>
|
||||
<div class="olympus-button" id="aic-help-button"></div>
|
||||
</div>
|
||||
|
||||
<div id="aic-help" class="olympus-dialog hide" data-feature-switch="aic">
|
||||
<div class="olympus-dialog-close">×</div>
|
||||
<div class="olympus-dialog-header">AIC Help</div>
|
||||
<div class="olympus-dialog-content">
|
||||
<p>How to be a good AIC and get people to do stuff good, too.</p>
|
||||
<div style="align-items: center; background:black; color:white; display:flex; height:250px; justify-content: center; justify-self: center; width:450px;">
|
||||
<div>[DCS with Volvo video]</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="aic-teleprompt"></div>
|
||||
@@ -102,4 +102,5 @@
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
<div class="ol-panel" id="connection-status-panel">
|
||||
<div class="ol-panel-title" id="status-string"> Connected </div>
|
||||
</div>
|
||||
@@ -1,11 +1,10 @@
|
||||
<div id="selection-scroll" class="ol-selection-scroll-container">
|
||||
<div id="ol-selection-scroll-top-bar">
|
||||
<div class="ol-selection-scroll-title"></div>
|
||||
<label id="coalition-switch-container">
|
||||
<input type="checkbox" id="coalition-switch"> <span
|
||||
class="ol-selection-scroll-slider ol-selection-scroll-switch"></span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="ol-selection-scroll">
|
||||
<div id="contextmenu" class="ol-contextmenu">
|
||||
<div class="ol-panel">
|
||||
<div id="title"> Title </div>
|
||||
<div id="switch">
|
||||
<input type="checkbox">
|
||||
</div>
|
||||
</div>
|
||||
<ul id="list" class="ol-panel ol-scroll">
|
||||
</ul>
|
||||
</div>
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
<head>
|
||||
<title>Olympus client</title>
|
||||
<link rel="stylesheet" href="/stylesheets/style.css">
|
||||
<link rel="stylesheet" href="stylesheets/olympus.css">
|
||||
<link rel="stylesheet" href="stylesheets/leaflet.css">
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
@@ -14,7 +14,6 @@
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
|
||||
gtag('config', 'G-Z4L2TC3YX0');
|
||||
</script>
|
||||
|
||||
@@ -22,21 +21,17 @@
|
||||
|
||||
<body>
|
||||
<div id="map-container"></div>
|
||||
<%- include('aic.ejs') %>
|
||||
<%- include('atc.ejs') %>
|
||||
|
||||
<%- include('contextmenu.ejs') %>
|
||||
<div class="ol-dropdown" id="map-source-dropdown"></div>
|
||||
<!-- <div class="ol-dropdown" id="scenario-dropdown"></div> -->
|
||||
<%- include('unitinfopanel.ejs') %>
|
||||
<%- include('unitcontrolpanel.ejs') %>
|
||||
<%- include('visibilitycontrolpanel.ejs') %>
|
||||
<%- include('connectionstatuspanel.ejs') %>
|
||||
<%- include('mouseinfopanel.ejs') %>
|
||||
|
||||
<%- include('aiccontrolpanel.ejs') %>
|
||||
<%- include('aicformationpanel.ejs') %>
|
||||
|
||||
<%- include( 'atc.ejs' ) %>
|
||||
|
||||
<%- include('logpanel.ejs') %>
|
||||
<%- include('unitcontrol.ejs') %>
|
||||
<%- include('settings.ejs') %>
|
||||
<%- include('mouseinfo.ejs') %>
|
||||
|
||||
<% /* %>
|
||||
<%- include('log.ejs') %>
|
||||
<% */ %>
|
||||
<script src="javascripts/bundle.js"></script>
|
||||
</body>
|
||||
|
||||
|
||||
3
client/views/log.ejs
Normal file
3
client/views/log.ejs
Normal file
@@ -0,0 +1,3 @@
|
||||
<div id="log-panel" class="ol-panel">
|
||||
<!-- Log entries go here -->
|
||||
</div>
|
||||
@@ -1,3 +0,0 @@
|
||||
<div class="ol-panel ol-panel-transparent" id="log-panel">
|
||||
<!-- Log entries go here -->
|
||||
</div>
|
||||
6
client/views/mouseinfo.ejs
Normal file
6
client/views/mouseinfo.ejs
Normal file
@@ -0,0 +1,6 @@
|
||||
<div id="mouse-info-panel" class="ol-panel">
|
||||
<div class="list-item"><div id="measure-position">---° / --- NM</div></div>
|
||||
<div class="list-item"><div id="unit-position">---° / --- NM</div></div>
|
||||
<div class="list-item"><div id="bullseye-2">---° / --- NM</div></div>
|
||||
<div class="list-item"><div id="bullseye-1">---° / --- NM</div></div>
|
||||
</div>
|
||||
@@ -1,6 +0,0 @@
|
||||
<div class="ol-panel" id="mouse-info-panel">
|
||||
<div id="measure-position-container" class="ol-rectangular-container"><img src="images/pin.png"><div id="measure-position">---° / --- NM</div></div>
|
||||
<div id="unit-position-container" class="ol-rectangular-container"><img src="images/unit.png"><div id="unit-position">---° / --- NM</div></div>
|
||||
<div class="ol-rectangular-container"><img src="images/BEBlue.png"><div id="bullseye-2">---° / --- NM</div></div>
|
||||
<div class="ol-rectangular-container"><img src="images/BERed.png"><div id="bullseye-1">---° / --- NM</div></div>
|
||||
</div>
|
||||
38
client/views/settings.ejs
Normal file
38
client/views/settings.ejs
Normal file
@@ -0,0 +1,38 @@
|
||||
<div id="settings-panel" class="ol-panel" >
|
||||
<img src="images/icon.png" class="main-logo"></img>
|
||||
|
||||
<nav>
|
||||
<div class="ol-select">
|
||||
<div id="map-surce" class="ol-select-value">Map source</div>
|
||||
<ul class="ol-select-options">
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<nav>
|
||||
<div class="ol-select">
|
||||
<div id="options" class="ol-select-value">Options</div>
|
||||
<ul class="ol-select-options">
|
||||
<li><input type="checkbox">Auto scale units</li>
|
||||
<li><input type="checkbox">Large text mode</li>
|
||||
<li class="hr"></li>
|
||||
<li><input type="checkbox">Hide name unitl hover</li>
|
||||
<li><input type="checkbox">View BLUE BULLSEYE</li>
|
||||
<li><input type="checkbox">View RED BULLSEYE</li>
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<button>Aircraft</button>
|
||||
<button>Ground</button>
|
||||
<button>SAM</button>
|
||||
<button>Navy</button>
|
||||
|
||||
<input type="checkbox" checked><div>View BLUEFOR</div>
|
||||
<input type="checkbox" checked><div>View REDFOR</div>
|
||||
<input type="checkbox" checked><div>View NEUTRAL</div>
|
||||
</div>
|
||||
|
||||
<div id="connection-status-panel" class="ol-panel">
|
||||
<h4 id="status-string"> Connected </h4>
|
||||
</div>
|
||||
64
client/views/unitcontrol.ejs
Normal file
64
client/views/unitcontrol.ejs
Normal file
@@ -0,0 +1,64 @@
|
||||
<div class="ol-panel" id="unit-control-panel">
|
||||
<h2>Selected units</h2>
|
||||
<div id="selected-units-container" class="ol-scroll">
|
||||
<!-- This is where all the unit selection buttons will be shown-->
|
||||
</div>
|
||||
|
||||
<h3>Controls</h3>
|
||||
<div id="flight-controls-buttons-container">
|
||||
<div class="slider-container flight-control-slider" id="altitude-slider">
|
||||
<div class="flight-control-title">Altitude</div>
|
||||
<div class="flight-control-value" id="value"></div>
|
||||
<input type="range" min="1" max="100" value="50" class="slider">
|
||||
</div>
|
||||
<div class="slider-container flight-control-slider" id="airspeed-slider">
|
||||
<div class="flight-control-title">Speed</div>
|
||||
<div class="flight-control-value" id="value"></div>
|
||||
<input type="range" min="1" max="100" value="50" class="slider">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h3>Formation</h3>
|
||||
<div id="formation-buttons-container">
|
||||
<!-- This is where all the formation control buttons will be shown -->
|
||||
</div>
|
||||
|
||||
<h3>Rules of engagement</h3>
|
||||
<div id="roe-buttons-container">
|
||||
<!-- This is where the roe buttons will be shown -->
|
||||
</div>
|
||||
|
||||
<h3>Reaction to threat</h3>
|
||||
<div id="reaction-to-threat-buttons-container">
|
||||
<!-- This is where the reaction to threat buttons will be shown -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="unit-info-panel" class="ol-panel" >
|
||||
<div class="ol-panel-board">
|
||||
<div id="general" class="panel-section">
|
||||
<h1 id="unit-name">Olympus 1-1</h1>
|
||||
<div id="name" class="pill highlight-primary">Name</div>
|
||||
<div id="group-name" class="pill highlight-primary">Group</div>
|
||||
<div id="task" class="pill highlight-primary">Task</div>
|
||||
</div>
|
||||
<div id="flight-data" class="panel-section">
|
||||
<h1 id="flight-data-label">Flight data</h1>
|
||||
<div id="latitude"></div>
|
||||
<div id="longitude"></div>
|
||||
<div class="data-grid">
|
||||
<div class="data-row"><img class="icon-small" src="images/icons/speed.svg"><h5>Ground Speed</h5><h4 id="ground-speed">12</h4></div>
|
||||
<div class="data-row"><img class="icon-small" src="images/icons/altitude.svg"><h5>Altitude</h5><h4 id="altitude"></h4></div>
|
||||
<div class="data-row"><img class="icon-small" src="images/icons/heading.svg"><h5>Heading</h5><h4 id="heading"></h4></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="loadout-data" class="panel-section">
|
||||
<h1 id="loadout-label">Loadout</h1>
|
||||
<div class="data-grid">
|
||||
<div class="data-row"><img class="icon-small" src="images/icons/fuel.svg"><h5>Fuel</h5><h4 id="fuel"></h4></div>
|
||||
</div>
|
||||
<div id="loadout-container" class="ol-scroll">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1,65 +0,0 @@
|
||||
<div class="ol-panel" id="unit-control-panel">
|
||||
<!--
|
||||
<div id="ol-title-label">Selected units</div>
|
||||
|
||||
<div id="selected-units-container" class="ol-scrollable">
|
||||
-->
|
||||
<!-- This is where all the unit selection buttons will be shown-->
|
||||
<!--
|
||||
</div>
|
||||
|
||||
|
||||
<div id="formation-creation-container" data-feature-switch="ai-formations">
|
||||
<div class="rectangular-button white" id="create-formation"><img src="images\buttons\create.svg">Create formation</div>
|
||||
<div class="rectangular-button white" id="undo-formation"><img src="images\buttons\erase.svg">Undo formation</div>
|
||||
</div>
|
||||
<div class="ol-hl"></div>
|
||||
-->
|
||||
|
||||
<div class="ol-title-label">Controls</div>
|
||||
<div id="flight-controls-buttons-container">
|
||||
<div class="slider-container flight-control-slider" id="altitude-slider">
|
||||
<div class="flight-control-title">Altitude</div>
|
||||
<div class="flight-control-value" id="value"></div>
|
||||
<input type="range" min="1" max="100" value="50" class="slider">
|
||||
</div>
|
||||
<div class="slider-container flight-control-slider" id="airspeed-slider">
|
||||
<div class="flight-control-title">Speed</div>
|
||||
<div class="flight-control-value" id="value"></div>
|
||||
<input type="range" min="1" max="100" value="50" class="slider">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--
|
||||
<div id="section-label">Formation</div>
|
||||
<div id="formation-buttons-container">
|
||||
<div class="ol-rectangular-button">Echelon</div>
|
||||
<div class="ol-rectangular-button">Fingertip</div>
|
||||
<div class="ol-rectangular-button">Trail</div>
|
||||
<div class="ol-rectangular-button">Line abreast</div>
|
||||
</div>
|
||||
-->
|
||||
|
||||
<div class="ol-hl"></div>
|
||||
|
||||
<div class="ol-title-label">Rules of engagement</div>
|
||||
<div id="roe-buttons-container">
|
||||
<div class="ol-rectangular-button" id="free">Free</div>
|
||||
<div class="ol-rectangular-button" id="designated-free">Designated free</div>
|
||||
<div class="ol-rectangular-button" id="designated">Designated</div>
|
||||
<div class="ol-rectangular-button" id="return">Return</div>
|
||||
<div class="ol-rectangular-button" id="hold">Hold</div>
|
||||
</div>
|
||||
|
||||
<div class="ol-hl"></div>
|
||||
|
||||
<div class="ol-title-label">Reaction to threat</div>
|
||||
<div id="reaction-to-threat-buttons-container">
|
||||
<div class="ol-rectangular-button" id="none">None</div>
|
||||
<div class="ol-rectangular-button" id="passive">Passive</div>
|
||||
<div class="ol-rectangular-button" id="evade">Evade</div>
|
||||
<div class="ol-rectangular-button" id="escape">Escape</div>
|
||||
<div class="ol-rectangular-button" id="abort">Abort</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -1,33 +0,0 @@
|
||||
<div class="ol-panel padding-large" id="unit-info-panel">
|
||||
<div id="general">
|
||||
<div id="unit-name"></div>
|
||||
<div class="ol-rectangular-container" id="name"></div>
|
||||
<div class="ol-rectangular-container" id="group-name"></div>
|
||||
<div class="ol-rounded-container" id="task"></div>
|
||||
</div>
|
||||
<div class="ol-vl h-margin-largest"></div>
|
||||
<div id="flight-data">
|
||||
<div id="flight-data-label">Flight data</div>
|
||||
<div id="latitude"></div>
|
||||
<div id="longitude"></div>
|
||||
<img class="flight-data-icon" src="images/icons/speed.svg">
|
||||
<div class="flight-data-label">Ground Speed</div>
|
||||
<div class="flight-data-value" id="ground-speed"></div>
|
||||
<img class="flight-data-icon" src="images/icons/altitude.svg">
|
||||
<div class="flight-data-label">Altitude</div>
|
||||
<div class="flight-data-value" id="altitude"></div>
|
||||
<img class="flight-data-icon" src="images/icons/heading.svg">
|
||||
<div class="flight-data-label">Heading</div>
|
||||
<div class="flight-data-value" id="heading"></div>
|
||||
</div>
|
||||
<div class="ol-vl h-margin-largest"></div>
|
||||
<div id="loadout-data">
|
||||
<div id="loadout-label">Loadout</div>
|
||||
<img class="flight-data-icon" src="images/icons/fuel.svg">
|
||||
<div class="flight-data-label">Fuel</div>
|
||||
<div class="flight-data-value" id="fuel"></div>
|
||||
<div id="loadout-container" class="ol-scrollable">
|
||||
<!-- Unit loadout will be shown here -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1,44 +0,0 @@
|
||||
<div class="ol-panel" id="visibility-control-panel">
|
||||
<div class="label">Air: </div>
|
||||
<div>
|
||||
<input type="checkbox" id="air-visibility" checked>
|
||||
</div>
|
||||
|
||||
<div class="label">Ground: </div>
|
||||
<div>
|
||||
<input type="checkbox" id="ground-visibility" checked>
|
||||
</div>
|
||||
|
||||
<div class="label">Navy: </div>
|
||||
<div>
|
||||
<input type="checkbox" id="navy-visibility" checked>
|
||||
</div>
|
||||
|
||||
<div class="label">Weapons: </div>
|
||||
<div>
|
||||
<input type="checkbox" id="weapon-visibility" checked>
|
||||
</div>
|
||||
|
||||
<div class="ol-vl"></div>
|
||||
|
||||
<div class="label">Full: </div>
|
||||
<div>
|
||||
<input type="radio" id="full-visibility" name="labels" value="full">
|
||||
</div>
|
||||
|
||||
<div class="label">Partial: </div>
|
||||
<div>
|
||||
<input type="radio" id="partial-visibility" name="labels" value="partial" checked>
|
||||
</div>
|
||||
|
||||
<div class="label">Minimal: </div>
|
||||
<div>
|
||||
<input type="radio" id="minimal-visibility" name="labels" value="minimal">
|
||||
</div>
|
||||
|
||||
<div class="ol-vl"></div>
|
||||
<div class="label">Olympus only: </div>
|
||||
<div>
|
||||
<input type="checkbox" id="uncontrolled-visibility">
|
||||
</div>
|
||||
</div>
|
||||
Reference in New Issue
Block a user