Newest EFB
This commit is contained in:
parent
f708bbf72c
commit
ccb96e15e2
@ -2,96 +2,7 @@ Index: EFB.js
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- EFB.js
|
--- EFB.js
|
||||||
+++ EFB.js
|
+++ EFB.js
|
||||||
@@ -29548,18 +29548,17 @@
|
@@ -30203,9 +30203,9 @@
|
||||||
"{shift} Z X C V B N M /",
|
|
||||||
"{space} {close}"
|
|
||||||
]
|
|
||||||
};
|
|
||||||
- var Keyboard = (0, import_react4.forwardRef)(({ value, inputRef, onInput, onClose }, ref) => {
|
|
||||||
+ var Keyboard = (0, import_react4.forwardRef)(({ value, blurRef, onInput, onClose }, ref) => {
|
|
||||||
const [shift, setShift] = (0, import_react4.useState)(false);
|
|
||||||
const layout = shift ? defaultLayout.shift : defaultLayout.default;
|
|
||||||
const handleKeyPress = (key) => {
|
|
||||||
- var _a;
|
|
||||||
if (key === "{close}") {
|
|
||||||
onClose();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
- (_a = inputRef.current) == null ? void 0 : _a.focus();
|
|
||||||
+ blurRef.current = true;
|
|
||||||
if (key === "{shift}") {
|
|
||||||
setShift(!shift);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
@@ -29603,12 +29602,8 @@
|
|
||||||
"button",
|
|
||||||
{
|
|
||||||
className: `flex justify-center rounded-md p-4 ${key === "{close}" ? "bg-zinc-700 px-12 focus:bg-zinc-600" : "flex-1 bg-zinc-600"}`,
|
|
||||||
onMouseDown: () => handleKeyPress(key),
|
|
||||||
- onMouseUp: () => {
|
|
||||||
- var _a;
|
|
||||||
- return (_a = inputRef.current) == null ? void 0 : _a.focus();
|
|
||||||
- },
|
|
||||||
children: keyIdent
|
|
||||||
},
|
|
||||||
`key-${rowIndex}-${keyIndex}`
|
|
||||||
);
|
|
||||||
@@ -29628,9 +29623,9 @@
|
|
||||||
function Input(props) {
|
|
||||||
const [guid] = (0, import_react5.useState)(v4_default());
|
|
||||||
const ref = (0, import_react5.useRef)(null);
|
|
||||||
const keyboardRef = (0, import_react5.useRef)(null);
|
|
||||||
- const blurTimeoutRef = (0, import_react5.useRef)();
|
|
||||||
+ const blurRef = (0, import_react5.useRef)(false);
|
|
||||||
const [isFocused, setFocused] = (0, import_react5.useState)(false);
|
|
||||||
const [showKeyboard, setShowKeyboard] = (0, import_react5.useState)(false);
|
|
||||||
(0, import_react5.useEffect)(() => {
|
|
||||||
if (simulator() === 0 /* MSFS */) {
|
|
||||||
@@ -29660,25 +29655,23 @@
|
|
||||||
placeholder: props.placeholder,
|
|
||||||
disabled: props.disabled,
|
|
||||||
onFocus: () => {
|
|
||||||
var _a;
|
|
||||||
- clearTimeout(blurTimeoutRef.current);
|
|
||||||
if (!isFocused) {
|
|
||||||
setFocused(true);
|
|
||||||
setShowKeyboard(true);
|
|
||||||
(_a = ref.current) == null ? void 0 : _a.select();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
- onBlur: (e) => {
|
|
||||||
+ onBlur: () => {
|
|
||||||
var _a;
|
|
||||||
- if ((_a = keyboardRef.current) == null ? void 0 : _a.contains(e.relatedTarget)) {
|
|
||||||
- return;
|
|
||||||
- }
|
|
||||||
- blurTimeoutRef.current = setTimeout(() => {
|
|
||||||
- if (props.onBlur) props.onBlur(e.target.value);
|
|
||||||
- if (isFocused) setFocused(false);
|
|
||||||
+ if (blurRef.current && isFocused) (_a = ref.current) == null ? void 0 : _a.focus();
|
|
||||||
+ else {
|
|
||||||
setShowKeyboard(false);
|
|
||||||
- }, 100);
|
|
||||||
+ setFocused(false);
|
|
||||||
+ (_a = ref.current) == null ? void 0 : _a.blur();
|
|
||||||
+ }
|
|
||||||
+ blurRef.current = false;
|
|
||||||
},
|
|
||||||
onChange: (e) => {
|
|
||||||
if (props.onChange) props.onChange(e.target.value);
|
|
||||||
},
|
|
||||||
@@ -29690,9 +29683,9 @@
|
|
||||||
Keyboard_default,
|
|
||||||
{
|
|
||||||
ref: keyboardRef,
|
|
||||||
value: String(props.value),
|
|
||||||
- inputRef: ref,
|
|
||||||
+ blurRef: blurRef,
|
|
||||||
onInput: (value) => props.onChange && props.onChange(value),
|
|
||||||
onClose: () => {
|
|
||||||
var _a;
|
|
||||||
setShowKeyboard(false);
|
|
||||||
@@ -30209,9 +30202,9 @@
|
|
||||||
{
|
{
|
||||||
className: "middle none center rounded-lg bg-green-700 px-6 py-3 font-sans text-xs font-bold uppercase text-white shadow-md shadow-green-500/20 transition-all hover:shadow-lg hover:shadow-green-500/40 focus:opacity-[0.85] focus:shadow-none active:opacity-[0.85] active:shadow-none disabled:pointer-events-none disabled:opacity-50 disabled:shadow-none",
|
className: "middle none center rounded-lg bg-green-700 px-6 py-3 font-sans text-xs font-bold uppercase text-white shadow-md shadow-green-500/20 transition-all hover:shadow-lg hover:shadow-green-500/40 focus:opacity-[0.85] focus:shadow-none active:opacity-[0.85] active:shadow-none disabled:pointer-events-none disabled:opacity-50 disabled:shadow-none",
|
||||||
"data-ripple-light": "true",
|
"data-ripple-light": "true",
|
||||||
@ -102,7 +13,7 @@ Index: EFB.js
|
|||||||
) }) })
|
) }) })
|
||||||
] }) }) });
|
] }) }) });
|
||||||
}
|
}
|
||||||
@@ -40562,8 +40555,27 @@
|
@@ -40556,8 +40556,27 @@
|
||||||
] })
|
] })
|
||||||
] }) }) });
|
] }) }) });
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "tfdidesign-md11-load-manager",
|
"name": "tfdidesign-md11-load-manager",
|
||||||
"version": "0.1.182",
|
"version": "0.1.186",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import Keyboard from '../keyboard/Keyboard';
|
|||||||
|
|
||||||
export default function Input(props: {
|
export default function Input(props: {
|
||||||
type?: string;
|
type?: string;
|
||||||
|
topKeyboard?: boolean;
|
||||||
value: any;
|
value: any;
|
||||||
min?: number;
|
min?: number;
|
||||||
max?: number;
|
max?: number;
|
||||||
@ -66,6 +67,7 @@ export default function Input(props: {
|
|||||||
{showKeyboard && (
|
{showKeyboard && (
|
||||||
<Keyboard
|
<Keyboard
|
||||||
ref={keyboardRef}
|
ref={keyboardRef}
|
||||||
|
top={props.topKeyboard}
|
||||||
value={String(props.value)}
|
value={String(props.value)}
|
||||||
blurRef={blurRef}
|
blurRef={blurRef}
|
||||||
onInput={(value) => props.onChange && props.onChange(value)}
|
onInput={(value) => props.onChange && props.onChange(value)}
|
||||||
|
|||||||
@ -23,11 +23,12 @@ const Keyboard = forwardRef<
|
|||||||
HTMLDivElement,
|
HTMLDivElement,
|
||||||
{
|
{
|
||||||
value: string;
|
value: string;
|
||||||
blurRef: RefObject<boolean>
|
blurRef: RefObject<boolean>;
|
||||||
|
top?: boolean;
|
||||||
onInput: (value: string) => void;
|
onInput: (value: string) => void;
|
||||||
onClose: () => void;
|
onClose: () => void;
|
||||||
}
|
}
|
||||||
>(({ value, blurRef, onInput, onClose }, ref) => {
|
>(({ value, top, blurRef, onInput, onClose }, ref) => {
|
||||||
const [shift, setShift] = useState(false);
|
const [shift, setShift] = useState(false);
|
||||||
|
|
||||||
const layout = shift ? defaultLayout.shift : defaultLayout.default;
|
const layout = shift ? defaultLayout.shift : defaultLayout.default;
|
||||||
@ -63,7 +64,7 @@ const Keyboard = forwardRef<
|
|||||||
return createPortal(
|
return createPortal(
|
||||||
<div
|
<div
|
||||||
ref={ref}
|
ref={ref}
|
||||||
className="absolute bottom-0 left-0 z-50 box-border w-full touch-manipulation select-none overflow-hidden bg-zinc-800 p-2 text-white"
|
className={`absolute ${top ? 'top-0' : 'bottom-0'} left-0 z-50 box-border w-full touch-manipulation select-none overflow-hidden bg-zinc-800 p-2 text-white`}
|
||||||
>
|
>
|
||||||
{layout.map((row, rowIndex) => (
|
{layout.map((row, rowIndex) => (
|
||||||
<div key={`row-${rowIndex}`} className="mb-1 flex w-full justify-center gap-1">
|
<div key={`row-${rowIndex}`} className="mb-1 flex w-full justify-center gap-1">
|
||||||
|
|||||||
@ -3,6 +3,7 @@ import { LoadingState } from '../../types/general';
|
|||||||
import { WASMDataPax } from '../../types/WASMData';
|
import { WASMDataPax } from '../../types/WASMData';
|
||||||
import { CoherentCallGSXReset, CoherentCallOptionsSet } from '../../utils/utils';
|
import { CoherentCallGSXReset, CoherentCallOptionsSet } from '../../utils/utils';
|
||||||
import ToggleComponentKH from '../toggleComponent/ToggleComponent';
|
import ToggleComponentKH from '../toggleComponent/ToggleComponent';
|
||||||
|
import Input from '../input/Input';
|
||||||
|
|
||||||
interface OptionsPaxProps {
|
interface OptionsPaxProps {
|
||||||
WASMData: WASMDataPax;
|
WASMData: WASMDataPax;
|
||||||
@ -56,12 +57,12 @@ const OptionsPax: FC<OptionsPaxProps> = ({ WASMData, loadingState, gsxActive })
|
|||||||
<div className="relative flex w-full items-center justify-between rounded-t-md bg-zinc-600 p-2 px-4">
|
<div className="relative flex w-full items-center justify-between rounded-t-md bg-zinc-600 p-2 px-4">
|
||||||
<div className="flex w-full items-center justify-between text-xs">
|
<div className="flex w-full items-center justify-between text-xs">
|
||||||
<label>Pax Weight ({WASMData.userData.isImperial ? 'lbs' : 'kg'})</label>
|
<label>Pax Weight ({WASMData.userData.isImperial ? 'lbs' : 'kg'})</label>
|
||||||
<input
|
<Input
|
||||||
type="text"
|
type="text"
|
||||||
placeholder=""
|
placeholder=""
|
||||||
className="w-1/2 rounded-lg border border-white bg-zinc-700 px-3 py-2 text-right focus:border-blue-600 focus:ring-blue-600"
|
className="w-1/2 rounded-lg border border-white bg-zinc-700 px-3 py-2 text-right focus:border-blue-600 focus:ring-blue-600"
|
||||||
value={paxWeight}
|
value={paxWeight}
|
||||||
onChange={(e) => handleInput(e.target.value, Number.MAX_VALUE, setPaxWeight)}
|
onChange={(value) => handleInput(value, Number.MAX_VALUE, setPaxWeight)}
|
||||||
disabled={loadingState !== 'preview' || gsxActive}
|
disabled={loadingState !== 'preview' || gsxActive}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@ -69,12 +70,12 @@ const OptionsPax: FC<OptionsPaxProps> = ({ WASMData, loadingState, gsxActive })
|
|||||||
<div className="relative flex w-full items-center justify-between rounded-b-md bg-zinc-700 p-2 px-4">
|
<div className="relative flex w-full items-center justify-between rounded-b-md bg-zinc-700 p-2 px-4">
|
||||||
<div className="flex w-full items-center justify-between text-xs">
|
<div className="flex w-full items-center justify-between text-xs">
|
||||||
<label>Bag Weight ({WASMData.userData.isImperial ? 'lbs' : 'kg'})</label>
|
<label>Bag Weight ({WASMData.userData.isImperial ? 'lbs' : 'kg'})</label>
|
||||||
<input
|
<Input
|
||||||
type="text"
|
type="text"
|
||||||
placeholder=""
|
placeholder=""
|
||||||
className="w-1/2 rounded-lg border border-white bg-zinc-700 px-3 py-2 text-right focus:border-blue-600 focus:ring-blue-600"
|
className="w-1/2 rounded-lg border border-white bg-zinc-700 px-3 py-2 text-right focus:border-blue-600 focus:ring-blue-600"
|
||||||
value={bagWeight}
|
value={bagWeight}
|
||||||
onChange={(e) => handleInput(e.target.value, Number.MAX_VALUE, setBagWeight)}
|
onChange={(value) => handleInput(value, Number.MAX_VALUE, setBagWeight)}
|
||||||
disabled={loadingState !== 'preview' || gsxActive}
|
disabled={loadingState !== 'preview' || gsxActive}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -160,6 +160,7 @@ const StationEntryF: FC<StationEntryProps> = ({ WASMData, loadingState, gsxActiv
|
|||||||
<label>Forward Cargo ({WASMData.userData.isImperial ? 'lbs' : 'kg'})</label>
|
<label>Forward Cargo ({WASMData.userData.isImperial ? 'lbs' : 'kg'})</label>
|
||||||
<Input
|
<Input
|
||||||
type="text"
|
type="text"
|
||||||
|
topKeyboard
|
||||||
placeholder=""
|
placeholder=""
|
||||||
className="w-1/2 rounded-lg border border-white bg-zinc-700 px-3 py-2 text-right focus:border-blue-600 focus:ring-blue-600"
|
className="w-1/2 rounded-lg border border-white bg-zinc-700 px-3 py-2 text-right focus:border-blue-600 focus:ring-blue-600"
|
||||||
value={lowerForward}
|
value={lowerForward}
|
||||||
@ -173,6 +174,7 @@ const StationEntryF: FC<StationEntryProps> = ({ WASMData, loadingState, gsxActiv
|
|||||||
<label>Aft Cargo ({WASMData.userData.isImperial ? 'lbs' : 'kg'})</label>
|
<label>Aft Cargo ({WASMData.userData.isImperial ? 'lbs' : 'kg'})</label>
|
||||||
<Input
|
<Input
|
||||||
type="text"
|
type="text"
|
||||||
|
topKeyboard
|
||||||
placeholder=""
|
placeholder=""
|
||||||
className="w-1/2 rounded-lg border border-white bg-zinc-700 px-3 py-2 text-right focus:border-blue-600 focus:ring-blue-600"
|
className="w-1/2 rounded-lg border border-white bg-zinc-700 px-3 py-2 text-right focus:border-blue-600 focus:ring-blue-600"
|
||||||
value={lowerRear}
|
value={lowerRear}
|
||||||
|
|||||||
@ -160,6 +160,7 @@ const StationEntryPax: FC<StationEntryProps> = ({ WASMData, loadingState, gsxAct
|
|||||||
<label>Forward Cargo ({WASMData.userData.isImperial ? 'lbs' : 'kg'})</label>
|
<label>Forward Cargo ({WASMData.userData.isImperial ? 'lbs' : 'kg'})</label>
|
||||||
<Input
|
<Input
|
||||||
type="text"
|
type="text"
|
||||||
|
topKeyboard
|
||||||
placeholder=""
|
placeholder=""
|
||||||
className="w-1/2 rounded-lg border border-white bg-zinc-700 px-3 py-2 text-right focus:border-blue-600 focus:ring-blue-600"
|
className="w-1/2 rounded-lg border border-white bg-zinc-700 px-3 py-2 text-right focus:border-blue-600 focus:ring-blue-600"
|
||||||
value={forwardCargo}
|
value={forwardCargo}
|
||||||
@ -173,6 +174,7 @@ const StationEntryPax: FC<StationEntryProps> = ({ WASMData, loadingState, gsxAct
|
|||||||
<label>Aft Cargo ({WASMData.userData.isImperial ? 'lbs' : 'kg'})</label>
|
<label>Aft Cargo ({WASMData.userData.isImperial ? 'lbs' : 'kg'})</label>
|
||||||
<Input
|
<Input
|
||||||
type="text"
|
type="text"
|
||||||
|
topKeyboard
|
||||||
placeholder=""
|
placeholder=""
|
||||||
className="w-1/2 rounded-lg border border-white bg-zinc-700 px-3 py-2 text-right focus:border-blue-600 focus:ring-blue-600"
|
className="w-1/2 rounded-lg border border-white bg-zinc-700 px-3 py-2 text-right focus:border-blue-600 focus:ring-blue-600"
|
||||||
value={rearCargo}
|
value={rearCargo}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user