+
+
+
+ {
+ coordinates.latitude && coordinates.longitude ?
+ (
+
+
+
+ ) :
+ (
+
+
+ {selectedCity ? "To see the map, please check if the coordinates have been configured correctly."
+ : "To see the map, please select a city."}
+
+
+ )
+ }
+
+ );
+};
+
+export default CascadingManagedMetadata;
diff --git a/samples/react-graph-cascading-managed-metadata/src/webparts/cascadingManagedMetadata/components/ICascadingManagedMetadataProps.ts b/samples/react-graph-cascading-managed-metadata/src/webparts/cascadingManagedMetadata/components/ICascadingManagedMetadataProps.ts
new file mode 100644
index 0000000000..cb9515a050
--- /dev/null
+++ b/samples/react-graph-cascading-managed-metadata/src/webparts/cascadingManagedMetadata/components/ICascadingManagedMetadataProps.ts
@@ -0,0 +1,3 @@
+export interface ICascadingManagedMetadataProps {
+ termSetId: string;
+}
diff --git a/samples/react-graph-cascading-managed-metadata/src/webparts/cascadingManagedMetadata/loc/en-us.js b/samples/react-graph-cascading-managed-metadata/src/webparts/cascadingManagedMetadata/loc/en-us.js
new file mode 100644
index 0000000000..d2f075b60b
--- /dev/null
+++ b/samples/react-graph-cascading-managed-metadata/src/webparts/cascadingManagedMetadata/loc/en-us.js
@@ -0,0 +1,7 @@
+define([], function() {
+ return {
+ "PropertyPaneDescription": "Properties",
+ "BasicGroupName": "Basic",
+ "TermSetIdFieldLabel": "Termset Id"
+ }
+});
\ No newline at end of file
diff --git a/samples/react-graph-cascading-managed-metadata/src/webparts/cascadingManagedMetadata/loc/mystrings.d.ts b/samples/react-graph-cascading-managed-metadata/src/webparts/cascadingManagedMetadata/loc/mystrings.d.ts
new file mode 100644
index 0000000000..5059111f93
--- /dev/null
+++ b/samples/react-graph-cascading-managed-metadata/src/webparts/cascadingManagedMetadata/loc/mystrings.d.ts
@@ -0,0 +1,10 @@
+declare interface ICascadingManagedMetadataWebPartStrings {
+ PropertyPaneDescription: string;
+ BasicGroupName: string;
+ TermSetIdFieldLabel: string;
+}
+
+declare module 'CascadingManagedMetadataWebPartStrings' {
+ const strings: ICascadingManagedMetadataWebPartStrings;
+ export = strings;
+}
diff --git a/samples/react-graph-cascading-managed-metadata/src/webparts/cascadingManagedMetadata/services/MMDService.ts b/samples/react-graph-cascading-managed-metadata/src/webparts/cascadingManagedMetadata/services/MMDService.ts
new file mode 100644
index 0000000000..3f0d77fa09
--- /dev/null
+++ b/samples/react-graph-cascading-managed-metadata/src/webparts/cascadingManagedMetadata/services/MMDService.ts
@@ -0,0 +1,65 @@
+import { ITerms, IOption } from "../../interfaces";
+import { MSGraph } from "./MSGraph";
+import { IDropdownOption } from "office-ui-fabric-react/lib/Dropdown";
+
+export class MMDService {
+
+ private static _sessionStorageKey: string = "CMMD_Options";
+
+ public static async GetTermsAsDropdownOptions(apiUrl: string, parent: string, tryFromCache: boolean): Promise