mirror of
https://github.com/ANL-CEEESA/UnitCommitment.jl.git
synced 2025-12-06 00:08:52 -06:00
web: Minor changes to icons
This commit is contained in:
@@ -48,13 +48,13 @@ export const generateBusesData = (
|
||||
function BusesComponent(props: CaseBuilderSectionProps) {
|
||||
const fileUploadElem = useRef<FileUploadElement>(null);
|
||||
|
||||
const onDownload = () => {
|
||||
const onSave = () => {
|
||||
const [data, columns] = generateBusesData(props.scenario);
|
||||
const csvContents = generateCsv(data, columns);
|
||||
offerDownload(csvContents, "text/csv", "buses.csv");
|
||||
};
|
||||
|
||||
const onUpload = () => {
|
||||
const onLoad = () => {
|
||||
fileUploadElem.current!.showFilePicker((csvContents: any) => {
|
||||
const [newBuses, err] = parseCsv(
|
||||
csvContents,
|
||||
@@ -119,11 +119,11 @@ function BusesComponent(props: CaseBuilderSectionProps) {
|
||||
return (
|
||||
<div>
|
||||
<SectionHeader title="Buses">
|
||||
<SectionButton icon={faUpload} tooltip="Upload" onClick={onUpload} />
|
||||
<SectionButton icon={faUpload} tooltip="Load" onClick={onLoad} />
|
||||
<SectionButton
|
||||
icon={faDownload}
|
||||
tooltip="Download"
|
||||
onClick={onDownload}
|
||||
tooltip="Save"
|
||||
onClick={onSave}
|
||||
/>
|
||||
<SectionButton icon={faPlus} tooltip="Add" onClick={onAdd} />
|
||||
</SectionHeader>
|
||||
|
||||
@@ -9,7 +9,7 @@ import SiteHeaderButton from "../Common/Buttons/SiteHeaderButton";
|
||||
import { useRef } from "react";
|
||||
import FileUploadElement from "../Common/Buttons/FileUploadElement";
|
||||
import { UnitCommitmentScenario } from "../../core/Data/types";
|
||||
import { faDownload, faGear, faRotateLeft, faRotateRight, faTrash, faUpload } from "@fortawesome/free-solid-svg-icons";
|
||||
import { faDownload, faRotateLeft, faRotateRight, faTrash, faUpload } from "@fortawesome/free-solid-svg-icons";
|
||||
|
||||
interface HeaderProps {
|
||||
onClear: () => void;
|
||||
@@ -63,7 +63,6 @@ function Header(props: HeaderProps) {
|
||||
<SiteHeaderButton
|
||||
title="Solve"
|
||||
variant="primary"
|
||||
icon={faGear}
|
||||
onClick={props.onSolve}
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -6,17 +6,13 @@
|
||||
|
||||
import SectionHeader from "../Common/SectionHeader/SectionHeader";
|
||||
import SectionButton from "../Common/Buttons/SectionButton";
|
||||
import {
|
||||
faDownload,
|
||||
faPlus,
|
||||
faUpload,
|
||||
} from "@fortawesome/free-solid-svg-icons";
|
||||
import { faDownload, faPlus, faUpload } from "@fortawesome/free-solid-svg-icons";
|
||||
import DataTable, {
|
||||
ColumnSpec,
|
||||
generateCsv,
|
||||
generateTableColumns,
|
||||
generateTableData,
|
||||
parseCsv,
|
||||
parseCsv
|
||||
} from "../Common/Forms/DataTable";
|
||||
import { ColumnDefinition } from "tabulator-tables";
|
||||
import { offerDownload } from "../Common/io";
|
||||
@@ -26,15 +22,11 @@ import {
|
||||
changeProfiledUnitData,
|
||||
createProfiledUnit,
|
||||
deleteGenerator,
|
||||
renameGenerator,
|
||||
renameGenerator
|
||||
} from "../../core/Operations/generatorOps";
|
||||
import { ValidationError } from "../../core/Data/validate";
|
||||
import { CaseBuilderSectionProps } from "./CaseBuilder";
|
||||
import {
|
||||
getProfiledGenerators,
|
||||
getThermalGenerators,
|
||||
UnitCommitmentScenario,
|
||||
} from "../../core/Data/types";
|
||||
import { getProfiledGenerators, getThermalGenerators, UnitCommitmentScenario } from "../../core/Data/types";
|
||||
|
||||
export const ProfiledUnitsColumnSpec: ColumnSpec[] = [
|
||||
{
|
||||
@@ -104,13 +96,13 @@ export const parseProfiledUnitsCsv = (
|
||||
const ProfiledUnitsComponent = (props: CaseBuilderSectionProps) => {
|
||||
const fileUploadElem = useRef<FileUploadElement>(null);
|
||||
|
||||
const onDownload = () => {
|
||||
const onSave = () => {
|
||||
const [data, columns] = generateProfiledUnitsData(props.scenario);
|
||||
const csvContents = generateCsv(data, columns);
|
||||
offerDownload(csvContents, "text/csv", "profiled_units.csv");
|
||||
};
|
||||
|
||||
const onUpload = () => {
|
||||
const onLoad = () => {
|
||||
fileUploadElem.current!.showFilePicker((csv: any) => {
|
||||
const [newScenario, err] = parseProfiledUnitsCsv(csv, props.scenario);
|
||||
if (err) {
|
||||
@@ -175,11 +167,11 @@ const ProfiledUnitsComponent = (props: CaseBuilderSectionProps) => {
|
||||
return (
|
||||
<div>
|
||||
<SectionHeader title="Profiled units">
|
||||
<SectionButton icon={faUpload} tooltip="Upload" onClick={onUpload} />
|
||||
<SectionButton icon={faUpload} tooltip="Load" onClick={onLoad} />
|
||||
<SectionButton
|
||||
icon={faDownload}
|
||||
tooltip="Download"
|
||||
onClick={onDownload}
|
||||
tooltip="Save"
|
||||
onClick={onSave}
|
||||
/>
|
||||
<SectionButton icon={faPlus} tooltip="Add" onClick={onAdd} />
|
||||
</SectionHeader>
|
||||
|
||||
@@ -9,7 +9,7 @@ import DataTable, {
|
||||
generateCsv,
|
||||
generateTableColumns,
|
||||
generateTableData,
|
||||
parseCsv,
|
||||
parseCsv
|
||||
} from "../Common/Forms/DataTable";
|
||||
import { CaseBuilderSectionProps } from "./CaseBuilder";
|
||||
import { useRef } from "react";
|
||||
@@ -17,18 +17,14 @@ import FileUploadElement from "../Common/Buttons/FileUploadElement";
|
||||
import { ValidationError } from "../../core/Data/validate";
|
||||
import SectionHeader from "../Common/SectionHeader/SectionHeader";
|
||||
import SectionButton from "../Common/Buttons/SectionButton";
|
||||
import {
|
||||
faDownload,
|
||||
faPlus,
|
||||
faUpload,
|
||||
} from "@fortawesome/free-solid-svg-icons";
|
||||
import { faDownload, faPlus, faUpload } from "@fortawesome/free-solid-svg-icons";
|
||||
import { UnitCommitmentScenario } from "../../core/Data/types";
|
||||
import { ColumnDefinition } from "tabulator-tables";
|
||||
import {
|
||||
changePriceSensitiveLoadData,
|
||||
createPriceSensitiveLoad,
|
||||
deletePriceSensitiveLoad,
|
||||
renamePriceSensitiveLoad,
|
||||
renamePriceSensitiveLoad
|
||||
} from "../../core/Operations/psloadOps";
|
||||
import { offerDownload } from "../Common/io";
|
||||
|
||||
@@ -70,13 +66,13 @@ export const generatePriceSensitiveLoadsData = (
|
||||
const PriceSensitiveLoadsComponent = (props: CaseBuilderSectionProps) => {
|
||||
const fileUploadElem = useRef<FileUploadElement>(null);
|
||||
|
||||
const onDownload = () => {
|
||||
const onSave = () => {
|
||||
const [data, columns] = generatePriceSensitiveLoadsData(props.scenario);
|
||||
const csvContents = generateCsv(data, columns);
|
||||
offerDownload(csvContents, "text/csv", "psloads.csv");
|
||||
};
|
||||
|
||||
const onUpload = () => {
|
||||
const onLoad = () => {
|
||||
fileUploadElem.current!.showFilePicker((csv: any) => {
|
||||
// Parse provided CSV file
|
||||
const [psloads, err] = parseCsv(
|
||||
@@ -153,11 +149,11 @@ const PriceSensitiveLoadsComponent = (props: CaseBuilderSectionProps) => {
|
||||
return (
|
||||
<div>
|
||||
<SectionHeader title="Price-sensitive loads">
|
||||
<SectionButton icon={faUpload} tooltip="Upload" onClick={onUpload} />
|
||||
<SectionButton icon={faUpload} tooltip="Load" onClick={onLoad} />
|
||||
<SectionButton
|
||||
icon={faDownload}
|
||||
tooltip="Download"
|
||||
onClick={onDownload}
|
||||
tooltip="Save"
|
||||
onClick={onSave}
|
||||
/>
|
||||
<SectionButton icon={faPlus} tooltip="Add" onClick={onAdd} />
|
||||
</SectionHeader>
|
||||
|
||||
@@ -9,7 +9,7 @@ import DataTable, {
|
||||
generateCsv,
|
||||
generateTableColumns,
|
||||
generateTableData,
|
||||
parseCsv,
|
||||
parseCsv
|
||||
} from "../Common/Forms/DataTable";
|
||||
import { CaseBuilderSectionProps } from "./CaseBuilder";
|
||||
import { useRef } from "react";
|
||||
@@ -17,18 +17,14 @@ import FileUploadElement from "../Common/Buttons/FileUploadElement";
|
||||
import { ValidationError } from "../../core/Data/validate";
|
||||
import SectionHeader from "../Common/SectionHeader/SectionHeader";
|
||||
import SectionButton from "../Common/Buttons/SectionButton";
|
||||
import {
|
||||
faDownload,
|
||||
faPlus,
|
||||
faUpload,
|
||||
} from "@fortawesome/free-solid-svg-icons";
|
||||
import { faDownload, faPlus, faUpload } from "@fortawesome/free-solid-svg-icons";
|
||||
import { UnitCommitmentScenario } from "../../core/Data/types";
|
||||
import { ColumnDefinition } from "tabulator-tables";
|
||||
import {
|
||||
changeStorageUnitData,
|
||||
createStorageUnit,
|
||||
deleteStorageUnit,
|
||||
renameStorageUnit,
|
||||
renameStorageUnit
|
||||
} from "../../core/Operations/storageOps";
|
||||
import { offerDownload } from "../Common/io";
|
||||
|
||||
@@ -130,13 +126,13 @@ export const generateStorageUnitsData = (
|
||||
const StorageUnitsComponent = (props: CaseBuilderSectionProps) => {
|
||||
const fileUploadElem = useRef<FileUploadElement>(null);
|
||||
|
||||
const onDownload = () => {
|
||||
const onSave = () => {
|
||||
const [data, columns] = generateStorageUnitsData(props.scenario);
|
||||
const csvContents = generateCsv(data, columns);
|
||||
offerDownload(csvContents, "text/csv", "storage_units.csv");
|
||||
};
|
||||
|
||||
const onUpload = () => {
|
||||
const onLoad = () => {
|
||||
fileUploadElem.current!.showFilePicker((csv: any) => {
|
||||
// Parse provided CSV file
|
||||
const [storageUnits, err] = parseCsv(
|
||||
@@ -213,11 +209,11 @@ const StorageUnitsComponent = (props: CaseBuilderSectionProps) => {
|
||||
return (
|
||||
<div>
|
||||
<SectionHeader title="Storage units">
|
||||
<SectionButton icon={faUpload} tooltip="Upload" onClick={onUpload} />
|
||||
<SectionButton icon={faUpload} tooltip="Load" onClick={onLoad} />
|
||||
<SectionButton
|
||||
icon={faDownload}
|
||||
tooltip="Download"
|
||||
onClick={onDownload}
|
||||
tooltip="Save"
|
||||
onClick={onSave}
|
||||
/>
|
||||
<SectionButton icon={faPlus} tooltip="Add" onClick={onAdd} />
|
||||
</SectionHeader>
|
||||
|
||||
@@ -9,7 +9,7 @@ import DataTable, {
|
||||
generateCsv,
|
||||
generateTableColumns,
|
||||
generateTableData,
|
||||
parseCsv,
|
||||
parseCsv
|
||||
} from "../Common/Forms/DataTable";
|
||||
import { CaseBuilderSectionProps } from "./CaseBuilder";
|
||||
import { useRef } from "react";
|
||||
@@ -17,24 +17,16 @@ import FileUploadElement from "../Common/Buttons/FileUploadElement";
|
||||
import { ValidationError } from "../../core/Data/validate";
|
||||
import SectionHeader from "../Common/SectionHeader/SectionHeader";
|
||||
import SectionButton from "../Common/Buttons/SectionButton";
|
||||
import {
|
||||
faDownload,
|
||||
faPlus,
|
||||
faUpload,
|
||||
} from "@fortawesome/free-solid-svg-icons";
|
||||
import { faDownload, faPlus, faUpload } from "@fortawesome/free-solid-svg-icons";
|
||||
import { ColumnDefinition } from "tabulator-tables";
|
||||
import { offerDownload } from "../Common/io";
|
||||
import {
|
||||
changeThermalUnitData,
|
||||
createThermalUnit,
|
||||
deleteGenerator,
|
||||
renameGenerator,
|
||||
renameGenerator
|
||||
} from "../../core/Operations/generatorOps";
|
||||
import {
|
||||
getProfiledGenerators,
|
||||
getThermalGenerators,
|
||||
UnitCommitmentScenario,
|
||||
} from "../../core/Data/types";
|
||||
import { getProfiledGenerators, getThermalGenerators, UnitCommitmentScenario } from "../../core/Data/types";
|
||||
|
||||
export const ThermalUnitsColumnSpec: ColumnSpec[] = [
|
||||
{
|
||||
@@ -158,13 +150,13 @@ export const parseThermalUnitsCsv = (
|
||||
const ThermalUnitsComponent = (props: CaseBuilderSectionProps) => {
|
||||
const fileUploadElem = useRef<FileUploadElement>(null);
|
||||
|
||||
const onDownload = () => {
|
||||
const onSave = () => {
|
||||
const [data, columns] = generateThermalUnitsData(props.scenario);
|
||||
const csvContents = generateCsv(data, columns);
|
||||
offerDownload(csvContents, "text/csv", "thermal_units.csv");
|
||||
};
|
||||
|
||||
const onUpload = () => {
|
||||
const onLoad = () => {
|
||||
fileUploadElem.current!.showFilePicker((csv: any) => {
|
||||
const [newScenario, err] = parseThermalUnitsCsv(csv, props.scenario);
|
||||
if (err) {
|
||||
@@ -229,11 +221,11 @@ const ThermalUnitsComponent = (props: CaseBuilderSectionProps) => {
|
||||
return (
|
||||
<div>
|
||||
<SectionHeader title="Thermal units">
|
||||
<SectionButton icon={faUpload} tooltip="Upload" onClick={onUpload} />
|
||||
<SectionButton icon={faUpload} tooltip="Load" onClick={onLoad} />
|
||||
<SectionButton
|
||||
icon={faDownload}
|
||||
tooltip="Download"
|
||||
onClick={onDownload}
|
||||
tooltip="Save"
|
||||
onClick={onSave}
|
||||
/>
|
||||
<SectionButton icon={faPlus} tooltip="Add" onClick={onAdd} />
|
||||
</SectionHeader>
|
||||
|
||||
@@ -6,17 +6,13 @@
|
||||
|
||||
import SectionHeader from "../Common/SectionHeader/SectionHeader";
|
||||
import SectionButton from "../Common/Buttons/SectionButton";
|
||||
import {
|
||||
faDownload,
|
||||
faPlus,
|
||||
faUpload,
|
||||
} from "@fortawesome/free-solid-svg-icons";
|
||||
import { faDownload, faPlus, faUpload } from "@fortawesome/free-solid-svg-icons";
|
||||
import DataTable, {
|
||||
ColumnSpec,
|
||||
generateCsv,
|
||||
generateTableColumns,
|
||||
generateTableData,
|
||||
parseCsv,
|
||||
parseCsv
|
||||
} from "../Common/Forms/DataTable";
|
||||
import { ColumnDefinition } from "tabulator-tables";
|
||||
import FileUploadElement from "../Common/Buttons/FileUploadElement";
|
||||
@@ -28,7 +24,7 @@ import {
|
||||
createTransmissionLine,
|
||||
deleteTransmissionLine,
|
||||
rebuildContingencies,
|
||||
renameTransmissionLine,
|
||||
renameTransmissionLine
|
||||
} from "../../core/Operations/transmissionOps";
|
||||
import { offerDownload } from "../Common/io";
|
||||
import { UnitCommitmentScenario } from "../../core/Data/types";
|
||||
@@ -91,13 +87,13 @@ const generateTransmissionLinesData = (
|
||||
const TransmissionLinesComponent = (props: CaseBuilderSectionProps) => {
|
||||
const fileUploadElem = useRef<FileUploadElement>(null);
|
||||
|
||||
const onDownload = () => {
|
||||
const onSave = () => {
|
||||
const [data, columns] = generateTransmissionLinesData(props.scenario);
|
||||
const csvContents = generateCsv(data, columns);
|
||||
offerDownload(csvContents, "text/csv", "transmission.csv");
|
||||
};
|
||||
|
||||
const onUpload = () => {
|
||||
const onLoad = () => {
|
||||
fileUploadElem.current!.showFilePicker((csv: any) => {
|
||||
// Parse the CSV data
|
||||
const [newLines, err] = parseCsv(
|
||||
@@ -181,11 +177,11 @@ const TransmissionLinesComponent = (props: CaseBuilderSectionProps) => {
|
||||
return (
|
||||
<div>
|
||||
<SectionHeader title="Transmission lines">
|
||||
<SectionButton icon={faUpload} tooltip="Upload" onClick={onUpload} />
|
||||
<SectionButton icon={faUpload} tooltip="Load" onClick={onLoad} />
|
||||
<SectionButton
|
||||
icon={faDownload}
|
||||
tooltip="Download"
|
||||
onClick={onDownload}
|
||||
tooltip="Save"
|
||||
onClick={onSave}
|
||||
/>
|
||||
<SectionButton icon={faPlus} tooltip="Add" onClick={onAdd} />
|
||||
</SectionHeader>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
cursor: pointer;
|
||||
text-transform: uppercase;
|
||||
font-weight: bold;
|
||||
font-size: 14px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.SiteHeaderButton:not(:last-child) {
|
||||
|
||||
@@ -16,7 +16,7 @@ function SiteHeaderButton({
|
||||
disabled = false,
|
||||
}: {
|
||||
title: string;
|
||||
icon: IconDefinition;
|
||||
icon?: IconDefinition;
|
||||
onClick?: () => void;
|
||||
variant?: "light" | "primary";
|
||||
disabled?: boolean;
|
||||
@@ -31,7 +31,7 @@ function SiteHeaderButton({
|
||||
onClick={onClick}
|
||||
disabled={disabled}
|
||||
>
|
||||
<FontAwesomeIcon icon={icon} />
|
||||
{!icon ? title : <FontAwesomeIcon icon={icon} />}
|
||||
</button>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -5,18 +5,10 @@
|
||||
*/
|
||||
|
||||
import { useEffect, useRef, useState } from "react";
|
||||
import {
|
||||
CellComponent,
|
||||
ColumnDefinition,
|
||||
TabulatorFull as Tabulator,
|
||||
} from "tabulator-tables";
|
||||
import { CellComponent, ColumnDefinition, TabulatorFull as Tabulator } from "tabulator-tables";
|
||||
import { ValidationError } from "../../../core/Data/validate";
|
||||
import Papa from "papaparse";
|
||||
import {
|
||||
parseBool,
|
||||
parseNullableNumber,
|
||||
parseNumber,
|
||||
} from "../../../core/Operations/commonOps";
|
||||
import { parseBool, parseNullableNumber, parseNumber } from "../../../core/Operations/commonOps";
|
||||
import { UnitCommitmentScenario } from "../../../core/Data/types";
|
||||
import { getContingencyTransmissionLines } from "../../../core/Operations/transmissionOps";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user