Skip to content

Commit 02e9a95

Browse files
committed
Merge remote-tracking branch 'origin/TS36' into TS36
2 parents ae0f000 + a6a09f2 commit 02e9a95

File tree

5 files changed

+35
-18
lines changed

5 files changed

+35
-18
lines changed

Signum.React/Scripts/Frames/ContainerToggle.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ export default function ContainerToggleComponent(p: { children: React.ReactNode
1919
}
2020

2121
return (
22-
<div className={classes(fluid ? "container-fluid" : "container", "mt-3", "d-flex")}>
22+
<div className={classes(fluid ? "container-fluid" : "container", "mt-3", "sf-page-container")}>
2323
<a className="expand-window d-none d-md-block" onClick={handleExpandToggle} href="#" >
2424
<FontAwesomeIcon icon={fluid ? "compress" : "expand"} />
2525
</a>

Signum.React/Scripts/Frames/FramePage.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ export default function FramePage(p: FramePageProps) {
178178
const embeddedWidgets = renderEmbeddedWidgets(wc);
179179

180180
return (
181-
<div className="normal-control flex-grow-1">
181+
<div className="normal-control">
182182
{renderTitle()}
183183
{renderWidgets(wc)}
184184
{entityComponent.current && <ButtonBar ref={buttonBar} frame={frame} pack={state.pack} />}

Signum.React/Scripts/Frames/Frames.css

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,3 +174,12 @@ a.expand-window:hover {
174174
.card.card-xs .card-body {
175175
padding: 0.3em 0.5em;
176176
}
177+
178+
179+
.sf-page-container {
180+
display: flex;
181+
}
182+
183+
.sf-page-container > div{
184+
flex-grow: 1;
185+
}

Signum.React/Scripts/Hooks.ts

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -209,32 +209,40 @@ export function useMounted() {
209209
return mounted;
210210
}
211211

212-
export function useThrottle<T>(value: T, limit: number): T {
212+
export function useThrottle<T>(value: T, limit: number, options?: { enabled?: boolean }): T {
213213
const [throttledValue, setThrottledValue] = React.useState(value);
214214

215-
const mounted = React.useRef(true);
216215
const lastRequested = React.useRef<(undefined | { value: T })>(undefined);
216+
const handleRef = React.useRef<number | undefined>(undefined);
217+
218+
function stop(){
219+
if (handleRef.current)
220+
clearTimeout(handleRef.current);
221+
222+
lastRequested.current = undefined;
223+
}
224+
217225
React.useEffect(
218226
() => {
219-
if (lastRequested.current) {
220-
lastRequested.current.value = value;
227+
if (options && options.enabled == false) {
228+
stop();
221229
} else {
222-
lastRequested.current = { value };
223-
const handler = setTimeout(function () {
224-
if (mounted.current) {
230+
if (lastRequested.current) {
231+
lastRequested.current.value = value;
232+
} else {
233+
lastRequested.current = { value };
234+
handleRef.current = setTimeout(function () {
225235
setThrottledValue(lastRequested.current!.value);
226-
lastRequested.current = undefined;
227-
228-
clearTimeout(handler);
229-
}
230-
}, limit);
236+
stop();
237+
}, limit);
238+
}
231239
}
232240
},
233-
[value, limit]
241+
[value, options && options.enabled]
234242
);
235243

236244
React.useEffect(() => {
237-
return () => { mounted.current = false; }
245+
return () => stop();
238246
}, []);
239247

240248
return throttledValue;

Signum.React/Scripts/SearchControl/SearchPage.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ function SearchPage(p: SearchPageProps) {
5656

5757
if (!Finder.isFindable(fo.queryName, true))
5858
return (
59-
<div id="divSearchPage" className="flex-grow-1">
59+
<div id="divSearchPage">
6060
<h3>
6161
<span className="display-6 sf-query-title">{getQueryNiceName(fo.queryName)}</span>
6262
<small>Error: Query not allowed {Finder.isFindable(fo.queryName, false) ? "in full screen" : ""}</small>
@@ -66,7 +66,7 @@ function SearchPage(p: SearchPageProps) {
6666

6767
var qs = Finder.getSettings(fo.queryName);
6868
return (
69-
<div id="divSearchPage" className="flex-grow-1">
69+
<div id="divSearchPage">
7070
<h3 className="display-6 sf-query-title">
7171
<span>{getQueryNiceName(fo.queryName)}</span>
7272
&nbsp;

0 commit comments

Comments
 (0)