mirror of
https://github.com/Azure/cosmos-explorer.git
synced 2025-12-27 21:01:57 +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
2.0 KiB
TypeScript
46 lines
2.0 KiB
TypeScript
import { Stack } from "@fluentui/react";
|
|
import { FullTextIndex, FullTextPolicy } from "Contracts/DataModels";
|
|
import { CollapsibleSectionComponent } from "Explorer/Controls/CollapsiblePanel/CollapsibleSectionComponent";
|
|
import { FullTextPoliciesComponent } from "Explorer/Controls/FullTextSeach/FullTextPoliciesComponent";
|
|
import { scrollToSection } from "Explorer/Panes/AddCollectionPanel/AddCollectionPanelUtility";
|
|
import React from "react";
|
|
|
|
export interface FullTextSearchComponentProps {
|
|
fullTextPolicy: FullTextPolicy;
|
|
setFullTextPolicy: React.Dispatch<React.SetStateAction<FullTextPolicy>>;
|
|
setFullTextIndexes: React.Dispatch<React.SetStateAction<FullTextIndex[]>>;
|
|
setFullTextPolicyValidated: React.Dispatch<React.SetStateAction<boolean>>;
|
|
}
|
|
export const FullTextSearchComponent = (props: FullTextSearchComponentProps): JSX.Element => {
|
|
const { fullTextPolicy, setFullTextPolicy, setFullTextIndexes, setFullTextPolicyValidated } = props;
|
|
|
|
return (
|
|
<Stack>
|
|
<CollapsibleSectionComponent
|
|
title="Container Full Text Search Policy"
|
|
isExpandedByDefault={false}
|
|
onExpand={() => {
|
|
scrollToSection("collapsibleFullTextPolicySectionContent");
|
|
}}
|
|
>
|
|
<Stack id="collapsibleFullTextPolicySectionContent" styles={{ root: { position: "relative" } }}>
|
|
<Stack styles={{ root: { paddingLeft: 40 } }}>
|
|
<FullTextPoliciesComponent
|
|
fullTextPolicy={fullTextPolicy}
|
|
onFullTextPathChange={(
|
|
fullTextPolicy: FullTextPolicy,
|
|
fullTextIndexes: FullTextIndex[],
|
|
fullTextPolicyValidated: boolean,
|
|
) => {
|
|
setFullTextPolicy(fullTextPolicy);
|
|
setFullTextIndexes(fullTextIndexes);
|
|
setFullTextPolicyValidated(fullTextPolicyValidated);
|
|
}}
|
|
/>
|
|
</Stack>
|
|
</Stack>
|
|
</CollapsibleSectionComponent>
|
|
</Stack>
|
|
);
|
|
};
|