|
@@ -4,6 +4,7 @@
|
|
import React, { useState } from 'react';
|
|
import React, { useState } from 'react';
|
|
import { Breakpoints } from '.';
|
|
import { Breakpoints } from '.';
|
|
import { ReactWidget } from '@jupyterlab/apputils';
|
|
import { ReactWidget } from '@jupyterlab/apputils';
|
|
|
|
+import { ArrayExt } from '@phosphor/algorithm';
|
|
|
|
|
|
export class Body extends ReactWidget {
|
|
export class Body extends ReactWidget {
|
|
constructor(model: Breakpoints.IModel) {
|
|
constructor(model: Breakpoints.IModel) {
|
|
@@ -20,7 +21,7 @@ export class Body extends ReactWidget {
|
|
}
|
|
}
|
|
|
|
|
|
const BreakpointsComponent = ({ model }: { model: Breakpoints.IModel }) => {
|
|
const BreakpointsComponent = ({ model }: { model: Breakpoints.IModel }) => {
|
|
- const [breakpoints] = useState(model.breakpoints);
|
|
|
|
|
|
+ const [breakpoints, setBreakpoints] = useState(model.breakpoints);
|
|
const [active, setActive] = useState(model.isActive);
|
|
const [active, setActive] = useState(model.isActive);
|
|
|
|
|
|
model.activesChange.connect((_: Breakpoints.IModel, update: boolean) => {
|
|
model.activesChange.connect((_: Breakpoints.IModel, update: boolean) => {
|
|
@@ -28,6 +29,15 @@ const BreakpointsComponent = ({ model }: { model: Breakpoints.IModel }) => {
|
|
setActive(update);
|
|
setActive(update);
|
|
});
|
|
});
|
|
|
|
|
|
|
|
+ model.breakpointsChanged.connect(
|
|
|
|
+ (_: Breakpoints.IModel, updates: Breakpoints.IBreakpoint[]) => {
|
|
|
|
+ if (ArrayExt.shallowEqual(breakpoints, updates)) {
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ setBreakpoints(updates);
|
|
|
|
+ }
|
|
|
|
+ );
|
|
|
|
+
|
|
return (
|
|
return (
|
|
<div>
|
|
<div>
|
|
{breakpoints.map((breakpoint: any) => (
|
|
{breakpoints.map((breakpoint: any) => (
|