mirror of
https://github.com/Pax1601/DCSOlympus.git
synced 2025-10-29 16:56:34 +00:00
Added feature switch to force showing of unit control panel.
This commit is contained in:
@@ -25,8 +25,8 @@ body {
|
|||||||
|
|
||||||
#map-container {
|
#map-container {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
width: 100%;
|
|
||||||
min-width: 820px;
|
min-width: 820px;
|
||||||
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
#primary-toolbar {
|
#primary-toolbar {
|
||||||
@@ -41,33 +41,37 @@ body {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#unit-control-panel {
|
#unit-control-panel {
|
||||||
|
height: fit-content;
|
||||||
|
left: 10px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 80px;
|
top: 80px;
|
||||||
height: fit-content;
|
|
||||||
width: 250px;
|
width: 250px;
|
||||||
left: 10px;
|
|
||||||
z-index: 1000;
|
z-index: 1000;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
body.forceShowUnitControlPanel #unit-control-panel {
|
||||||
|
display:block !important;
|
||||||
|
}
|
||||||
|
|
||||||
.content #unit-control-panel {
|
.content #unit-control-panel {
|
||||||
position: static;
|
position: static;
|
||||||
}
|
}
|
||||||
|
|
||||||
#connection-status-panel {
|
#connection-status-panel {
|
||||||
position: absolute;
|
|
||||||
height: 30px;
|
|
||||||
width: 160px;
|
|
||||||
bottom: 20px;
|
bottom: 20px;
|
||||||
|
height: 30px;
|
||||||
|
position: absolute;
|
||||||
right: 10px;
|
right: 10px;
|
||||||
|
width: 160px;
|
||||||
z-index: 1000;
|
z-index: 1000;
|
||||||
}
|
}
|
||||||
|
|
||||||
#mouse-info-panel {
|
#mouse-info-panel {
|
||||||
position: absolute;
|
|
||||||
height: fit-content;
|
|
||||||
width: 160px;
|
|
||||||
bottom: 60px;
|
bottom: 60px;
|
||||||
|
height: fit-content;
|
||||||
|
position: absolute;
|
||||||
right: 10px;
|
right: 10px;
|
||||||
|
width: 160px;
|
||||||
z-index: 1000;
|
z-index: 1000;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -78,10 +82,10 @@ body {
|
|||||||
|
|
||||||
|
|
||||||
#log-panel {
|
#log-panel {
|
||||||
position: absolute;
|
|
||||||
height: 200px;
|
height: 200px;
|
||||||
width: 400px;
|
|
||||||
top: 60px;
|
|
||||||
left: 10px;
|
left: 10px;
|
||||||
|
position: absolute;
|
||||||
|
top: 60px;
|
||||||
|
width: 400px;
|
||||||
z-index: 1000;
|
z-index: 1000;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ export interface FeatureSwitchInterface {
|
|||||||
"label": string,
|
"label": string,
|
||||||
"masterSwitch": boolean, // on/off regardless of user preference
|
"masterSwitch": boolean, // on/off regardless of user preference
|
||||||
"name": string,
|
"name": string,
|
||||||
|
"onEnabled"?: CallableFunction,
|
||||||
"options"?: object,
|
"options"?: object,
|
||||||
"removeArtifactsIfDisabled"?: boolean
|
"removeArtifactsIfDisabled"?: boolean
|
||||||
}
|
}
|
||||||
@@ -15,6 +16,7 @@ class FeatureSwitch {
|
|||||||
label;
|
label;
|
||||||
masterSwitch;
|
masterSwitch;
|
||||||
name;
|
name;
|
||||||
|
onEnabled;
|
||||||
removeArtifactsIfDisabled = true;
|
removeArtifactsIfDisabled = true;
|
||||||
|
|
||||||
// Self-set
|
// Self-set
|
||||||
@@ -27,6 +29,7 @@ class FeatureSwitch {
|
|||||||
this.label = config.label;
|
this.label = config.label;
|
||||||
this.masterSwitch = config.masterSwitch;
|
this.masterSwitch = config.masterSwitch;
|
||||||
this.name = config.name;
|
this.name = config.name;
|
||||||
|
this.onEnabled = config.onEnabled;
|
||||||
|
|
||||||
this.userPreference = this.getUserPreference();
|
this.userPreference = this.getUserPreference();
|
||||||
|
|
||||||
@@ -77,6 +80,16 @@ export class FeatureSwitches {
|
|||||||
"label": "ATC",
|
"label": "ATC",
|
||||||
"masterSwitch": true,
|
"masterSwitch": true,
|
||||||
"name": "atc"
|
"name": "atc"
|
||||||
|
}),
|
||||||
|
|
||||||
|
new FeatureSwitch({
|
||||||
|
"defaultEnabled": false,
|
||||||
|
"label": "Force show unit control panel",
|
||||||
|
"masterSwitch": true,
|
||||||
|
"name": "forceShowUnitControlPanel",
|
||||||
|
"onEnabled": function() {
|
||||||
|
document.body.classList.add( "forceShowUnitControlPanel" );
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
];
|
];
|
||||||
@@ -84,7 +97,7 @@ export class FeatureSwitches {
|
|||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
|
|
||||||
this.#removeArtifacts();
|
this.#testSwitches();
|
||||||
|
|
||||||
this.savePreferences();
|
this.savePreferences();
|
||||||
|
|
||||||
@@ -98,10 +111,20 @@ export class FeatureSwitches {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#removeArtifacts() {
|
#testSwitches() {
|
||||||
|
|
||||||
for ( const featureSwitch of this.#featureSwitches ) {
|
for ( const featureSwitch of this.#featureSwitches ) {
|
||||||
if ( !featureSwitch.isEnabled() ) {
|
|
||||||
|
if ( featureSwitch.isEnabled() ) {
|
||||||
|
|
||||||
|
if ( typeof featureSwitch.onEnabled === "function" ) {
|
||||||
|
|
||||||
|
featureSwitch.onEnabled();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
document.querySelectorAll( "[data-feature-switch='" + featureSwitch.name + "']" ).forEach( el => {
|
document.querySelectorAll( "[data-feature-switch='" + featureSwitch.name + "']" ).forEach( el => {
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user