Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/candidate-9.2.x' into candidate-…
Browse files Browse the repository at this point in the history
…9.4.x

Signed-off-by: Gordon Smith <GordonJSmith@gmail.com>
  • Loading branch information
GordonSmith committed Jan 4, 2024
2 parents d27c42d + dc37555 commit 5b3b734
Show file tree
Hide file tree
Showing 44 changed files with 1,665 additions and 3,338 deletions.
3 changes: 2 additions & 1 deletion dali/ft/filecopy.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3715,7 +3715,8 @@ void FileSprayer::updateTargetProperties()
ForEach(*iter)
{
const char *aname = iter->query().queryName();
if (stricmp(aname, "Protect") != 0)
if (!(strieq(aname, "Protect")||
strieq(aname, "_remoteStoragePlane")))
curProps.addPropTree(aname, createPTreeFromIPT(&iter->query()));
}

Expand Down
5 changes: 5 additions & 0 deletions esp/src/eclwatch/css/hpcc.css
Original file line number Diff line number Diff line change
Expand Up @@ -1952,4 +1952,9 @@ span.dijitReset.dijitInline.dijitIcon.fa.disabled {
.flat .p-TabBar-tab.p-mod-current {
background-color: var(--colorNeutralBackground1);
border-bottom-color: var(--colorNeutralStroke1);
}

.flat .chart_Axis .axis .tick line,
.flat .chart_Axis .axis path.domain {
stroke: var(--colorNeutralStroke1);
}
2,910 changes: 1,412 additions & 1,498 deletions esp/src/package-lock.json

Large diffs are not rendered by default.

75 changes: 38 additions & 37 deletions esp/src/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,27 +35,28 @@
},
"main": "src/stub.js",
"dependencies": {
"@fluentui/react": "8.110.7",
"@fluentui/react-components": "9.41.0",
"@fluentui/react-experiments": "8.14.95",
"@fluentui/react-hooks": "8.6.29",
"@fluentui/react-icons-mdl2": "1.3.47",
"@hpcc-js/chart": "2.81.7",
"@hpcc-js/codemirror": "2.60.12",
"@hpcc-js/common": "2.71.12",
"@hpcc-js/comms": "2.85.0",
"@fluentui/react": "8.114.0",
"@fluentui/react-components": "9.44.0",
"@fluentui/react-experiments": "8.14.122",
"@fluentui/react-hooks": "8.6.34",
"@fluentui/react-icons-mdl2": "1.3.53",
"@fluentui/react-migration-v8-v9": "9.4.42",
"@hpcc-js/chart": "2.81.8",
"@hpcc-js/codemirror": "2.61.0",
"@hpcc-js/common": "2.71.13",
"@hpcc-js/comms": "2.86.0",
"@hpcc-js/dataflow": "8.1.6",
"@hpcc-js/eclwatch": "2.73.27",
"@hpcc-js/graph": "2.85.8",
"@hpcc-js/html": "2.42.13",
"@hpcc-js/layout": "2.49.12",
"@hpcc-js/map": "2.77.11",
"@hpcc-js/other": "2.15.12",
"@hpcc-js/phosphor": "2.16.12",
"@hpcc-js/react": "2.53.9",
"@hpcc-js/tree": "2.40.12",
"@hpcc-js/eclwatch": "2.73.31",
"@hpcc-js/graph": "2.85.9",
"@hpcc-js/html": "2.42.14",
"@hpcc-js/layout": "2.49.13",
"@hpcc-js/map": "2.77.12",
"@hpcc-js/other": "2.15.13",
"@hpcc-js/phosphor": "2.17.0",
"@hpcc-js/react": "2.53.10",
"@hpcc-js/tree": "2.40.13",
"@hpcc-js/util": "2.50.6",
"@kubernetes/client-node": "0.18.1",
"@kubernetes/client-node": "0.20.0",
"clipboard": "2.0.11",
"d3-dsv": "3.0.1",
"dijit": "1.17.3",
Expand All @@ -65,41 +66,41 @@
"dojox": "1.17.3",
"es6-promise": "4.2.8",
"font-awesome": "4.7.0",
"formik": "2.2.9",
"formik": "2.4.5",
"put-selector": "0.3.6",
"query-string": "7.1.3",
"octokit": "3.1.1",
"octokit": "3.1.2",
"react": "17.0.2",
"react-dom": "17.0.2",
"react-hook-form": "7.43.5",
"react-hot-toast": "2.4.0",
"react-reflex": "4.0.9",
"react-hook-form": "7.49.2",
"react-hot-toast": "2.4.1",
"react-reflex": "4.2.1",
"react-sizeme": "3.0.2",
"universal-router": "9.1.0",
"xstyle": "0.3.2"
"universal-router": "9.2.0",
"xstyle": "0.3.3"
},
"devDependencies": {
"@simbathesailor/use-what-changed": "^2.0.0",
"@types/dojo": "1.9.44",
"@types/react": "17.0.62",
"@types/react-dom": "17.0.20",
"@typescript-eslint/eslint-plugin": "5.54.0",
"@typescript-eslint/parser": "5.54.0",
"@types/dojo": "1.9.48",
"@types/react": "17.0.74",
"@types/react-dom": "17.0.25",
"@typescript-eslint/eslint-plugin": "6.17.0",
"@typescript-eslint/parser": "6.17.0",
"copyfiles": "2.4.1",
"css-loader": "6.8.1",
"dojo-webpack-plugin": "3.0.5",
"eslint": "8.35.0",
"dojo-webpack-plugin": "3.0.6",
"eslint": "8.56.0",
"eslint-plugin-eclwatch": "file:./eslint",
"eslint-plugin-react-hooks": "4.6.0",
"file-loader": "6.2.0",
"local-web-server": "5.3.0",
"npm-run-all": "4.1.5",
"rimraf": "3.0.2",
"source-map-loader": "3.0.2",
"rimraf": "5.0.5",
"source-map-loader": "4.0.2",
"string-replace-loader": "3.1.0",
"style-loader": "3.3.3",
"tslib": "2.5.3",
"typescript": "4.9.5",
"tslib": "2.6.2",
"typescript": "5.3.3",
"url-loader": "4.1.1",
"webpack": "5.89.0",
"webpack-cli": "5.1.4",
Expand Down
2 changes: 1 addition & 1 deletion esp/src/src-react/components/Activities.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ export const Activities: React.FunctionComponent<ActivitiesProps> = ({
const [, { isContainer }] = useBuildInfo();

// Grid ---
const activity = useConst(ESPActivity.Get());
const activity = useConst(() => ESPActivity.Get());
const { Grid, selection, refreshTable, copyButtons } = useGrid({
store: activity.getStore({}),
sort: { attribute: "idx", descending: false },
Expand Down
2 changes: 1 addition & 1 deletion esp/src/src-react/components/DESDLBindingMethods.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ export const DESDLBindingMethods: React.FunctionComponent<DESDLBindingMethodsPro
const [messageBarType, setMessageBarType] = React.useState<MessageBarType>();

// Grid ---
const store = useConst(new Observable(new MemoryTreeStore("__hpcc_id", "__hpcc_parentName", { Name: true })));
const store = useConst(() => new Observable(new MemoryTreeStore("__hpcc_id", "__hpcc_parentName", { Name: true })));
const { Grid, refreshTable } = useGrid({
store,
query: { __hpcc_parentName: null },
Expand Down
2 changes: 1 addition & 1 deletion esp/src/src-react/components/DESDLBindings.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ export const DESDLBindings: React.FunctionComponent<ESDLBindingProps> = ({
const [uiState, setUIState] = React.useState({ ...defaultUIState });

// Grid ---
const store = useConst(new Observable(new TreeStore("__hpcc_id", { Name: true })));
const store = useConst(() => new Observable(new TreeStore("__hpcc_id", { Name: true })));
const { Grid, selection, refreshTable } = useGrid({
store,
query: { __hpcc_parentName: null },
Expand Down
40 changes: 15 additions & 25 deletions esp/src/src-react/components/DojoGrid.css
Original file line number Diff line number Diff line change
@@ -1,38 +1,28 @@
:root {
--header-font-size: 14px;
--row-font-size: 13px;
--grid-background: transparent;
--grid-selectionForeground: rgb(50, 49, 48);
--grid-selectionForegroundDark: rgb(225, 225, 225);
--grid-selectionForgroundHoverDark: rgb(225, 225, 225);
--grid-selectionBackground: rgb(235, 235, 235);
--grid-selectionBackgroundDark: rgb(47, 47, 47);
--grid-hoverBackground: rgb(215, 237, 248);
--grid-hoverBackgroundDark: rgb(49, 49, 49);
--grid-selectionHoverBackground: rgb(227, 225, 223);
--grid-selectionHoverBackgroundDark: rgb(176, 176, 176);
}

.flat .dojo-component.dgrid.dgrid-grid {
border-style: hidden;
}

.flat .dgrid-header-row {
background-color: var(--grid-background);
background-color: transparent;
font-size: var(--header-font-size);
line-height: 32px;
}

.flat .dgrid-header-row .dgrid-cell {
border-bottom-color: var(--grid-selectionBackground);
border-bottom-color: var(--colorNeutralBackground1Selected);
}

.flat .dgrid-header-row:focus {
outline-width: 0px;
}

.flat .dgrid-header.dgrid-header-scroll {
background-color: var(--grid-background);
background-color: transparent;
}

.flat .dgrid-row {
Expand All @@ -41,34 +31,34 @@
}

.flat .dgrid-row:hover {
background-color: var(--grid-hoverBackground);
background-color: var(--colorNeutralBackground1Hover);
}

.flat-dark .dgrid-row:hover {
background-color: var(--grid-hoverBackgroundDark);
background-color: var(--colorNeutralBackground1Hover);
}

.flat .dgrid-row.dgrid-selected:hover {
background-color: var(--grid-selectionHoverBackground);
background-color: var(--colorNeutralBackground1Hover);
}

.flat-dark .dgrid-row.dgrid-selected:hover {
background-color: var(--grid-selectionHoverBackgroundDark);
background-color: var(--colorNeutralBackground1Hover);
}

.flat .dgrid-row.dgrid-selected {
background-color: var(--grid-selectionBackground);
color: var(--grid-selectionForeground);
border-color: var(--grid-background);
background-color: var(--colorNeutralBackground1Selected);
color: var(--colorNeutralForeground1Selected);
border-color: transparent;
}

.flat-dark .dgrid-row.dgrid-selected {
background-color: var(--grid-selectionBackgroundDark);
color: var(--grid-selectionForegroundDark);
background-color: var(--colorNeutralBackground1Selected);
color: var(--colorNeutralForeground1Selected);
}

.flat .dgrid-cell {
border-color: var(--grid-background);
border-color: transparent;
}

.flat .dgrid-focus:focus {
Expand All @@ -81,7 +71,7 @@
}

.flat .dgrid-footer {
background-color: var(--grid-background);
background-color: var(--colorNeutralStroke1);
}

.flat .dgrid-pagination {
Expand Down Expand Up @@ -109,7 +99,7 @@
.flat .dgrid-pagination .dgrid-navigation .dgrid-page-input {
padding: 0;
margin: 0;
background: var(--grid-background);
background: var(--colorNeutralStroke1);
border-style: solid;
border-width: 1px;
color: inherit;
Expand Down
2 changes: 1 addition & 1 deletion esp/src/src-react/components/LandingZone.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ export const LandingZone: React.FunctionComponent<LandingZoneProps> = ({
}, []);

// Grid ---
const store = useConst(FileSpray.CreateLandingZonesStore({}));
const store = useConst(() => FileSpray.CreateLandingZonesStore({}));

const query = React.useMemo(() => {
return formatQuery(targetDropzones, filter);
Expand Down
2 changes: 1 addition & 1 deletion esp/src/src-react/components/Logs.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ export const Logs: React.FunctionComponent<LogsProps> = ({
const now = React.useMemo(() => new Date(), []);

// Grid ---
const gridStore = useConst(CreateLogsQueryStore());
const gridStore = useConst(() => CreateLogsQueryStore());

const query = React.useMemo(() => {
if (wuid !== undefined) {
Expand Down
8 changes: 4 additions & 4 deletions esp/src/src-react/components/Menu.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ export const MainNavigation: React.FunctionComponent<MainNavigationProps> = ({
hashPath
}) => {

const menu = useConst([...navLinkGroups()]);
const menu = useConst(() => [...navLinkGroups()]);
const { theme, setTheme, isDark } = useUserTheme();

const selKey = React.useMemo(() => {
Expand Down Expand Up @@ -309,9 +309,9 @@ export const SubNavigation: React.FunctionComponent<SubNavigationProps> = ({
{!subNav &&
<Stack.Item grow={1} style={{ lineHeight: "24px" }}>
{hashPath.includes("/files/")
? <Breadcrumbs hashPath={hashPath} ignoreN={2} />
: <Breadcrumbs hashPath={hashPath} ignoreN={1} />
}
? <Breadcrumbs hashPath={hashPath} ignoreN={2} />
: <Breadcrumbs hashPath={hashPath} ignoreN={1} />
}
</Stack.Item>
}
</Stack>
Expand Down
17 changes: 12 additions & 5 deletions esp/src/src-react/components/Metrics.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -280,6 +280,7 @@ export const Metrics: React.FunctionComponent<MetricsProps> = ({
const metricGraph = useConst(() => new MetricGraph());
const metricGraphWidget = useConst(() => new MetricGraphWidget()
.zoomToFitLimit(1)
.selectionGlowColor("DodgerBlue")
.on("selectionChanged", () => {
const selection = metricGraphWidget.selection().filter(id => metricGraph.item(id)).map(id => metricGraph.item(id).id);
setSelectedMetricsSource("metricGraphWidget");
Expand Down Expand Up @@ -592,10 +593,16 @@ export const Metrics: React.FunctionComponent<MetricsProps> = ({
];
}, [scopeFilter, onChangeScopeFilter, scopesTable, graphComponent, propsTable, propsTable2]);

const layoutChanged = React.useCallback((layout) => {
setOptions({ ...options, layout });
saveOptions();
}, [options, saveOptions, setOptions]);
React.useEffect(() => {

// Update layout prior to unmount ---
if (dockpanel && options && saveOptions && setOptions) {
return () => {
setOptions({ ...options, layout: dockpanel.getLayout() });
saveOptions();
};
}
}, [dockpanel, options, saveOptions, setOptions]);

// Command Bar ---
const buttons = React.useMemo((): ICommandBarItemProps[] => [
Expand Down Expand Up @@ -678,7 +685,7 @@ export const Metrics: React.FunctionComponent<MetricsProps> = ({
</>}
main={
<ErrorBoundary>
<DockPanel items={items} layout={options?.layout} layoutChanged={layoutChanged} onDockPanelCreate={setDockpanel} />
<DockPanel items={items} layout={options?.layout} onDockPanelCreate={setDockpanel} />
<MetricsOptions show={showMetricOptions} setShow={setShowMetricOptions} />
</ErrorBoundary>
}
Expand Down
4 changes: 3 additions & 1 deletion esp/src/src-react/components/MetricsOptions.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,9 @@ export const MetricsOptions: React.FunctionComponent<MetricsOptionsProps> = ({
const [scopeTypes, properties] = useMetricMeta();
const [options, setOptions, save, reset] = useMetricsOptions();

const closeOptions = () => setShow(false);
const closeOptions = React.useCallback(() => {
setShow(false);
}, [setShow]);

const allChecked = scopeTypes.length === options.scopeTypes.length;

Expand Down
2 changes: 1 addition & 1 deletion esp/src/src-react/components/PackageMaps.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ const validateMapStyles = mergeStyleSets({
displayNone: { display: "none" }
});

const emptyFilter = {};
const emptyFilter: { [key: string]: any } = {};

const addArrayToText = (title, items, text): string => {
if ((items.Item !== undefined) && (items.Item.length > 0)) {
Expand Down
10 changes: 5 additions & 5 deletions esp/src/src-react/components/Permissions.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,10 @@ export const Permissions: React.FunctionComponent<PermissionsProps> = ({
const [uiState, setUIState] = React.useState({ ...defaultUIState });

// Grid ---
const gridStore = useConst(WsAccess.CreatePermissionsStore(null, null));
const gridSort = useConst([{ attribute: "name", descending: false }]);
const gridQuery = useConst({});
const gridColumns = useConst({
const gridStore = useConst(() => WsAccess.CreatePermissionsStore(null, null));
const gridSort = useConst(() => [{ attribute: "name", descending: false }]);
const gridQuery = useConst(() => ({}));
const gridColumns = useConst(() => ({
check: selector({
width: 27,
disabled: function (row) {
Expand All @@ -66,7 +66,7 @@ export const Permissions: React.FunctionComponent<PermissionsProps> = ({
}),
description: { label: nlsHPCC.Description },
basedn: { label: "basedn" }
});
}));

// Selection ---
React.useEffect(() => {
Expand Down
2 changes: 1 addition & 1 deletion esp/src/src-react/components/Result.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,7 @@ export const Result: React.FunctionComponent<ResultProps> = ({
const hasFilter = React.useMemo(() => Object.keys(filter).length > 0, [filter]);
const [renderHTML, setRenderHTML] = React.useState(false);

const resultTable: ResultWidget = useConst(new ResultWidget()
const resultTable: ResultWidget = useConst(() => new ResultWidget()
.baseUrl("")
.wuid(wuid)
.resultName(resultName)
Expand Down
Loading

0 comments on commit 5b3b734

Please sign in to comment.