mirror of
https://github.com/Azure/cosmos-explorer.git
synced 2025-12-26 12:21:23 +00:00
* add Materialized Views feature flag * fetch MV properties from RP API and capture them in our data models * AddMaterializedViewPanel * undefined check * subpartition keys * Partition Key, Throughput, Unique Keys * All views associated with a container (#2063) and Materialized View Target Container (#2065) Identified Source container and Target container Created tabs in Scale and Settings respectively Changed the Icon of target container * Add MV Panel * format * format * styling * add tests * tests * test files (#2074) Co-authored-by: nishthaAhujaa * fix type error * fix tests * merge conflict * Panel Integration (#2075) * integrated panel * edited header text --------- Co-authored-by: nishthaAhujaa <nishtha17354@iiittd.ac.in> Co-authored-by: Asier Isayas <aisayas@microsoft.com> * updated tests (#2077) Co-authored-by: nishthaAhujaa * fix tests * update treeNodeUtil test snap * update settings component test snap * fixed source container in global "New Materialized View" * source container check (#2079) Co-authored-by: nishthaAhujaa * renamed Materialized Views to Global Secondary Index * more renaming * fix import * fix typo * disable materialized views for Fabric * updated input validation --------- Co-authored-by: Asier Isayas <aisayas@microsoft.com> Co-authored-by: Nishtha Ahuja <45535788+nishthaAhujaa@users.noreply.github.com> Co-authored-by: nishthaAhujaa <nishtha17354@iiittd.ac.in>
46 lines
1.4 KiB
TypeScript
46 lines
1.4 KiB
TypeScript
import { Stack, Text } from "@fluentui/react";
|
|
import * as React from "react";
|
|
import * as ViewModels from "../../../../Contracts/ViewModels";
|
|
|
|
export interface GlobalSecondaryIndexTargetComponentProps {
|
|
collection: ViewModels.Collection;
|
|
}
|
|
|
|
export const GlobalSecondaryIndexTargetComponent: React.FC<GlobalSecondaryIndexTargetComponentProps> = ({
|
|
collection,
|
|
}) => {
|
|
const globalSecondaryIndexDefinition = collection?.materializedViewDefinition();
|
|
|
|
const textHeadingStyle = {
|
|
root: { fontWeight: "600", fontSize: 16 },
|
|
};
|
|
|
|
const valueBoxStyle = {
|
|
root: {
|
|
backgroundColor: "#f3f3f3",
|
|
padding: "5px 10px",
|
|
borderRadius: "4px",
|
|
},
|
|
};
|
|
|
|
return (
|
|
<Stack tokens={{ childrenGap: 15 }} styles={{ root: { maxWidth: 600 } }}>
|
|
<Text styles={textHeadingStyle}>Global Secondary Index Settings</Text>
|
|
|
|
<Stack tokens={{ childrenGap: 5 }}>
|
|
<Text styles={{ root: { fontWeight: "600" } }}>Source container</Text>
|
|
<Stack styles={valueBoxStyle}>
|
|
<Text>{globalSecondaryIndexDefinition?.sourceCollectionId}</Text>
|
|
</Stack>
|
|
</Stack>
|
|
|
|
<Stack tokens={{ childrenGap: 5 }}>
|
|
<Text styles={{ root: { fontWeight: "600" } }}>Global secondary index definition</Text>
|
|
<Stack styles={valueBoxStyle}>
|
|
<Text>{globalSecondaryIndexDefinition?.definition}</Text>
|
|
</Stack>
|
|
</Stack>
|
|
</Stack>
|
|
);
|
|
};
|