+
+ {
+ this.state.isLoading ?
: null
+ }
+
+ ({
+ buttons: [
+ {
+ window.open(`https://eur.delve.office.com/?p=${rowInfo.node.title.props.tertiaryText}&v=work`);
+ }}
+ />
+ ],
+ })}
+ />
+
+
+ );
+ }
+
+
+}
diff --git a/samples/react-tree-orgchart/src/webparts/treeOrgChart/loc/en-us.js b/samples/react-tree-orgchart/src/webparts/treeOrgChart/loc/en-us.js
new file mode 100644
index 000000000..364f657b9
--- /dev/null
+++ b/samples/react-tree-orgchart/src/webparts/treeOrgChart/loc/en-us.js
@@ -0,0 +1,9 @@
+define([], function () {
+ return {
+ "PropertyPaneDescription": "Tree Organization Chart",
+ "BasicGroupName": "Properties",
+ "TitleFieldLabel": "WebPart Title",
+ "CurrentUserTeamFieldLabel": "Show only my team ?",
+ "MaxLevels": "Max Depth"
+ }
+});
diff --git a/samples/react-tree-orgchart/src/webparts/treeOrgChart/loc/mystrings.d.ts b/samples/react-tree-orgchart/src/webparts/treeOrgChart/loc/mystrings.d.ts
new file mode 100644
index 000000000..2e3a3001b
--- /dev/null
+++ b/samples/react-tree-orgchart/src/webparts/treeOrgChart/loc/mystrings.d.ts
@@ -0,0 +1,12 @@
+declare interface ITreeOrgChartWebPartStrings {
+ PropertyPaneDescription: string;
+ BasicGroupName: string;
+ TitleFieldLabel: string;
+ CurrentUserTeamFieldLabel:string;
+ MaxLevels: string;
+}
+
+declare module 'TreeOrgChartWebPartStrings' {
+ const strings: ITreeOrgChartWebPartStrings;
+ export = strings;
+}
diff --git a/samples/react-tree-orgchart/teams/manifest.json b/samples/react-tree-orgchart/teams/manifest.json
new file mode 100644
index 000000000..ffef68b10
--- /dev/null
+++ b/samples/react-tree-orgchart/teams/manifest.json
@@ -0,0 +1,47 @@
+{
+ "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.2/MicrosoftTeams.schema.json",
+ "manifestVersion": "1.2",
+ "packageName": "TreeOrgChart",
+ "id": "4f45c562-805c-42da-81cc-8e84bf7834b0",
+ "version": "0.1",
+ "developer": {
+ "name": "SPFx + Teams Dev",
+ "websiteUrl": "https://products.office.com/en-us/sharepoint/collaboration",
+ "privacyUrl": "https://privacy.microsoft.com/en-us/privacystatement",
+ "termsOfUseUrl": "https://www.microsoft.com/en-us/servicesagreement"
+ },
+ "name": {
+ "short": "TreeOrgChart"
+ },
+ "description": {
+ "short": "Tree Organization Chart",
+ "full": "Tree Organization Chart"
+ },
+ "icons": {
+ "outline": "tab20x20.png",
+ "color": "tab96x96.png"
+ },
+ "accentColor": "#004578",
+ "configurableTabs": [
+ {
+ "configurationUrl": "https://{teamSiteDomain}{teamSitePath}/_layouts/15/TeamsLogon.aspx?SPFX=true&dest={teamSitePath}/_layouts/15/teamshostedapp.aspx%3FopenPropertyPane=true%26teams%26componentId=4f45c562-805c-42da-81cc-8e84bf7834b0",
+ "canUpdateConfiguration": false,
+ "scopes": [
+ "team"
+ ]
+ }
+ ],
+ "validDomains": [
+ "*.login.microsoftonline.com",
+ "*.sharepoint.com",
+ "*.sharepoint-df.com",
+ "spoppe-a.akamaihd.net",
+ "spoprod-a.akamaihd.net",
+ "resourceseng.blob.core.windows.net",
+ "msft.spoppe.com"
+ ],
+ "webApplicationInfo": {
+ "resource": "https://{teamSiteDomain}",
+ "id": "00000003-0000-0ff1-ce00-000000000000"
+ }
+}
diff --git a/samples/react-tree-orgchart/teams/tab20x20.png b/samples/react-tree-orgchart/teams/tab20x20.png
new file mode 100644
index 000000000..950c71d8c
Binary files /dev/null and b/samples/react-tree-orgchart/teams/tab20x20.png differ
diff --git a/samples/react-tree-orgchart/teams/tab96x96.png b/samples/react-tree-orgchart/teams/tab96x96.png
new file mode 100644
index 000000000..c9e4a2d79
Binary files /dev/null and b/samples/react-tree-orgchart/teams/tab96x96.png differ
diff --git a/samples/react-tree-orgchart/tsconfig.json b/samples/react-tree-orgchart/tsconfig.json
new file mode 100644
index 000000000..5ae98f83c
--- /dev/null
+++ b/samples/react-tree-orgchart/tsconfig.json
@@ -0,0 +1,34 @@
+{
+ "compilerOptions": {
+ "target": "es5",
+ "forceConsistentCasingInFileNames": true,
+ "module": "esnext",
+ "moduleResolution": "node",
+ "jsx": "react",
+ "declaration": true,
+ "sourceMap": true,
+ "experimentalDecorators": true,
+ "skipLibCheck": true,
+ "outDir": "lib",
+ "typeRoots": [
+ "./node_modules/@types",
+ "./node_modules/@microsoft"
+ ],
+ "types": [
+ "es6-promise",
+ "webpack-env"
+ ],
+ "lib": [
+ "es5",
+ "dom",
+ "es2015.collection"
+ ]
+ },
+ "include": [
+ "src/**/*.ts"
+ ],
+ "exclude": [
+ "node_modules",
+ "lib"
+ ]
+}
diff --git a/samples/react-tree-orgchart/tslint.json b/samples/react-tree-orgchart/tslint.json
new file mode 100644
index 000000000..6bfc75a4c
--- /dev/null
+++ b/samples/react-tree-orgchart/tslint.json
@@ -0,0 +1,30 @@
+{
+ "extends": "@microsoft/sp-tslint-rules/base-tslint.json",
+ "rules": {
+ "class-name": false,
+ "export-name": false,
+ "forin": false,
+ "label-position": false,
+ "member-access": true,
+ "no-arg": false,
+ "no-console": false,
+ "no-construct": false,
+ "no-duplicate-variable": true,
+ "no-eval": false,
+ "no-function-expression": true,
+ "no-internal-module": true,
+ "no-shadowed-variable": true,
+ "no-switch-case-fall-through": true,
+ "no-unnecessary-semicolons": true,
+ "no-unused-expression": true,
+ "no-use-before-declare": true,
+ "no-with-statement": true,
+ "semicolon": true,
+ "trailing-comma": false,
+ "typedef": false,
+ "typedef-whitespace": false,
+ "use-named-parameter": true,
+ "variable-name": false,
+ "whitespace": false
+ }
+}
\ No newline at end of file