From 97f75e4d07410dd7952c854c05147135cfa52dcd Mon Sep 17 00:00:00 2001 From: NiklasWilhelm Date: Mon, 3 Oct 2022 17:20:57 +0200 Subject: [PATCH 01/14] init --- .../.eslintrc.js | 378 ++++++++++++++++++ .../react-pnpjs-spsite-er-diagram/.gitignore | 34 ++ .../react-pnpjs-spsite-er-diagram/.npmignore | 16 + .../react-pnpjs-spsite-er-diagram/.yo-rc.json | 16 + .../react-pnpjs-spsite-er-diagram/README.md | 73 ++++ .../config/config.json | 18 + .../config/deploy-azure-storage.json | 7 + .../config/package-solution.json | 40 ++ .../config/serve.json | 6 + .../config/write-manifests.json | 4 + .../react-pnpjs-spsite-er-diagram/gulpfile.js | 16 + .../package.json | 41 ++ .../src/index.ts | 1 + .../SpSiteErDiagramWebPart.manifest.json | 28 ++ .../spSiteErDiagram/SpSiteErDiagramWebPart.ts | 101 +++++ .../spSiteErDiagram/assets/welcome-dark.png | Bin 0 -> 12545 bytes .../spSiteErDiagram/assets/welcome-light.png | Bin 0 -> 12816 bytes .../components/ISpSiteErDiagramProps.ts | 8 + .../components/SpSiteErDiagram.module.scss | 40 ++ .../components/SpSiteErDiagram.tsx | 45 +++ .../components/helpers/GoJSHelper.ts | 145 +++++++ .../components/helpers/SPSiteData.ts | 87 ++++ .../src/webparts/spSiteErDiagram/loc/en-us.js | 11 + .../spSiteErDiagram/loc/mystrings.d.ts | 14 + ...930e-0410-456c-b551-d998f4e7279c_color.png | Bin 0 -> 10248 bytes ...0e-0410-456c-b551-d998f4e7279c_outline.png | Bin 0 -> 542 bytes .../tsconfig.json | 37 ++ 27 files changed, 1166 insertions(+) create mode 100644 samples/react-pnpjs-spsite-er-diagram/.eslintrc.js create mode 100644 samples/react-pnpjs-spsite-er-diagram/.gitignore create mode 100644 samples/react-pnpjs-spsite-er-diagram/.npmignore create mode 100644 samples/react-pnpjs-spsite-er-diagram/.yo-rc.json create mode 100644 samples/react-pnpjs-spsite-er-diagram/README.md create mode 100644 samples/react-pnpjs-spsite-er-diagram/config/config.json create mode 100644 samples/react-pnpjs-spsite-er-diagram/config/deploy-azure-storage.json create mode 100644 samples/react-pnpjs-spsite-er-diagram/config/package-solution.json create mode 100644 samples/react-pnpjs-spsite-er-diagram/config/serve.json create mode 100644 samples/react-pnpjs-spsite-er-diagram/config/write-manifests.json create mode 100644 samples/react-pnpjs-spsite-er-diagram/gulpfile.js create mode 100644 samples/react-pnpjs-spsite-er-diagram/package.json create mode 100644 samples/react-pnpjs-spsite-er-diagram/src/index.ts create mode 100644 samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/SpSiteErDiagramWebPart.manifest.json create mode 100644 samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/SpSiteErDiagramWebPart.ts create mode 100644 samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/assets/welcome-dark.png create mode 100644 samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/assets/welcome-light.png create mode 100644 samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/ISpSiteErDiagramProps.ts create mode 100644 samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.module.scss create mode 100644 samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.tsx create mode 100644 samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/GoJSHelper.ts create mode 100644 samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteData.ts create mode 100644 samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/loc/en-us.js create mode 100644 samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/loc/mystrings.d.ts create mode 100644 samples/react-pnpjs-spsite-er-diagram/teams/44b6930e-0410-456c-b551-d998f4e7279c_color.png create mode 100644 samples/react-pnpjs-spsite-er-diagram/teams/44b6930e-0410-456c-b551-d998f4e7279c_outline.png create mode 100644 samples/react-pnpjs-spsite-er-diagram/tsconfig.json diff --git a/samples/react-pnpjs-spsite-er-diagram/.eslintrc.js b/samples/react-pnpjs-spsite-er-diagram/.eslintrc.js new file mode 100644 index 000000000..6ebb2a10f --- /dev/null +++ b/samples/react-pnpjs-spsite-er-diagram/.eslintrc.js @@ -0,0 +1,378 @@ +require('@rushstack/eslint-config/patch/modern-module-resolution'); +module.exports = { + extends: ['@microsoft/eslint-config-spfx/lib/profiles/react'], + parserOptions: { tsconfigRootDir: __dirname }, + overrides: [ + { + files: ['*.ts', '*.tsx'], + parser: '@typescript-eslint/parser', + 'parserOptions': { + 'project': './tsconfig.json', + 'ecmaVersion': 2018, + 'sourceType': 'module' + }, + rules: { + // Prevent usage of the JavaScript null value, while allowing code to access existing APIs that may require null. https://www.npmjs.com/package/@rushstack/eslint-plugin + '@rushstack/no-new-null': 1, + // Require Jest module mocking APIs to be called before any other statements in their code block. https://www.npmjs.com/package/@rushstack/eslint-plugin + '@rushstack/hoist-jest-mock': 1, + // Require regular expressions to be constructed from string constants rather than dynamically building strings at runtime. https://www.npmjs.com/package/@rushstack/eslint-plugin-security + '@rushstack/security/no-unsafe-regexp': 1, + // STANDARDIZED BY: @typescript-eslint\eslint-plugin\dist\configs\recommended.json + '@typescript-eslint/adjacent-overload-signatures': 1, + // STANDARDIZED BY: @typescript-eslint\eslint-plugin\dist\configs\recommended.json + // + // CONFIGURATION: By default, these are banned: String, Boolean, Number, Object, Symbol + '@typescript-eslint/ban-types': [ + 1, + { + 'extendDefaults': false, + 'types': { + 'String': { + 'message': 'Use \'string\' instead', + 'fixWith': 'string' + }, + 'Boolean': { + 'message': 'Use \'boolean\' instead', + 'fixWith': 'boolean' + }, + 'Number': { + 'message': 'Use \'number\' instead', + 'fixWith': 'number' + }, + 'Object': { + 'message': 'Use \'object\' instead, or else define a proper TypeScript type:' + }, + 'Symbol': { + 'message': 'Use \'symbol\' instead', + 'fixWith': 'symbol' + }, + 'Function': { + 'message': 'The \'Function\' type accepts any function-like value.\nIt provides no type safety when calling the function, which can be a common source of bugs.\nIt also accepts things like class declarations, which will throw at runtime as they will not be called with \'new\'.\nIf you are expecting the function to accept certain arguments, you should explicitly define the function shape.' + } + } + } + ], + // RATIONALE: Code is more readable when the type of every variable is immediately obvious. + // Even if the compiler may be able to infer a type, this inference will be unavailable + // to a person who is reviewing a GitHub diff. This rule makes writing code harder, + // but writing code is a much less important activity than reading it. + // + // STANDARDIZED BY: @typescript-eslint\eslint-plugin\dist\configs\recommended.json + '@typescript-eslint/explicit-function-return-type': [ + 1, + { + 'allowExpressions': true, + 'allowTypedFunctionExpressions': true, + 'allowHigherOrderFunctions': false + } + ], + // STANDARDIZED BY: @typescript-eslint\eslint-plugin\dist\configs\recommended.json + // Rationale to disable: although this is a recommended rule, it is up to dev to select coding style. + // Set to 1 (warning) or 2 (error) to enable. + '@typescript-eslint/explicit-member-accessibility': 0, + // STANDARDIZED BY: @typescript-eslint\eslint-plugin\dist\configs\recommended.json + '@typescript-eslint/no-array-constructor': 1, + // STANDARDIZED BY: @typescript-eslint\eslint-plugin\dist\configs\recommended.json + // + // RATIONALE: The "any" keyword disables static type checking, the main benefit of using TypeScript. + // This rule should be suppressed only in very special cases such as JSON.stringify() + // where the type really can be anything. Even if the type is flexible, another type + // may be more appropriate such as "unknown", "{}", or "Record". + '@typescript-eslint/no-explicit-any': 1, + // RATIONALE: The #1 rule of promises is that every promise chain must be terminated by a catch() + // handler. Thus wherever a Promise arises, the code must either append a catch handler, + // or else return the object to a caller (who assumes this responsibility). Unterminated + // promise chains are a serious issue. Besides causing errors to be silently ignored, + // they can also cause a NodeJS process to terminate unexpectedly. + '@typescript-eslint/no-floating-promises': 2, + // RATIONALE: Catches a common coding mistake. + '@typescript-eslint/no-for-in-array': 2, + // STANDARDIZED BY: @typescript-eslint\eslint-plugin\dist\configs\recommended.json + '@typescript-eslint/no-misused-new': 2, + // RATIONALE: The "namespace" keyword is not recommended for organizing code because JavaScript lacks + // a "using" statement to traverse namespaces. Nested namespaces prevent certain bundler + // optimizations. If you are declaring loose functions/variables, it's better to make them + // static members of a class, since classes support property getters and their private + // members are accessible by unit tests. Also, the exercise of choosing a meaningful + // class name tends to produce more discoverable APIs: for example, search+replacing + // the function "reverse()" is likely to return many false matches, whereas if we always + // write "Text.reverse()" is more unique. For large scale organization, it's recommended + // to decompose your code into separate NPM packages, which ensures that component + // dependencies are tracked more conscientiously. + // + // STANDARDIZED BY: @typescript-eslint\eslint-plugin\dist\configs\recommended.json + '@typescript-eslint/no-namespace': [ + 1, + { + 'allowDeclarations': false, + 'allowDefinitionFiles': false + } + ], + // RATIONALE: Parameter properties provide a shorthand such as "constructor(public title: string)" + // that avoids the effort of declaring "title" as a field. This TypeScript feature makes + // code easier to write, but arguably sacrifices readability: In the notes for + // "@typescript-eslint/member-ordering" we pointed out that fields are central to + // a class's design, so we wouldn't want to bury them in a constructor signature + // just to save some typing. + // + // STANDARDIZED BY: @typescript-eslint\eslint-plugin\dist\configs\recommended.json + // Set to 1 (warning) or 2 (error) to enable the rule + '@typescript-eslint/no-parameter-properties': 0, + // RATIONALE: When left in shipping code, unused variables often indicate a mistake. Dead code + // may impact performance. + // + // STANDARDIZED BY: @typescript-eslint\eslint-plugin\dist\configs\recommended.json + '@typescript-eslint/no-unused-vars': [ + 1, + { + 'vars': 'all', + // Unused function arguments often indicate a mistake in JavaScript code. However in TypeScript code, + // the compiler catches most of those mistakes, and unused arguments are fairly common for type signatures + // that are overriding a base class method or implementing an interface. + 'args': 'none' + } + ], + // STANDARDIZED BY: @typescript-eslint\eslint-plugin\dist\configs\recommended.json + '@typescript-eslint/no-use-before-define': [ + 2, + { + 'functions': false, + 'classes': true, + 'variables': true, + 'enums': true, + 'typedefs': true + } + ], + // Disallows require statements except in import statements. + // In other words, the use of forms such as var foo = require("foo") are banned. Instead use ES6 style imports or import foo = require("foo") imports. + '@typescript-eslint/no-var-requires': 'error', + // RATIONALE: The "module" keyword is deprecated except when describing legacy libraries. + // + // STANDARDIZED BY: @typescript-eslint\eslint-plugin\dist\configs\recommended.json + '@typescript-eslint/prefer-namespace-keyword': 1, + // STANDARDIZED BY: @typescript-eslint\eslint-plugin\dist\configs\recommended.json + // Rationale to disable: it's up to developer to decide if he wants to add type annotations + // Set to 1 (warning) or 2 (error) to enable the rule + '@typescript-eslint/no-inferrable-types': 0, + // STANDARDIZED BY: @typescript-eslint\eslint-plugin\dist\configs\recommended.json + // Rationale to disable: declaration of empty interfaces may be helpful for generic types scenarios + '@typescript-eslint/no-empty-interface': 0, + // RATIONALE: This rule warns if setters are defined without getters, which is probably a mistake. + 'accessor-pairs': 1, + // RATIONALE: In TypeScript, if you write x["y"] instead of x.y, it disables type checking. + 'dot-notation': [ + 1, + { + 'allowPattern': '^_' + } + ], + // RATIONALE: Catches code that is likely to be incorrect + 'eqeqeq': 1, + // STANDARDIZED BY: eslint\conf\eslint-recommended.js + 'for-direction': 1, + // RATIONALE: Catches a common coding mistake. + 'guard-for-in': 2, + // RATIONALE: If you have more than 2,000 lines in a single source file, it's probably time + // to split up your code. + 'max-lines': ['warn', { max: 2000 }], + // STANDARDIZED BY: eslint\conf\eslint-recommended.js + 'no-async-promise-executor': 2, + // RATIONALE: Deprecated language feature. + 'no-caller': 2, + // STANDARDIZED BY: eslint\conf\eslint-recommended.js + 'no-compare-neg-zero': 2, + // STANDARDIZED BY: eslint\conf\eslint-recommended.js + 'no-cond-assign': 2, + // STANDARDIZED BY: eslint\conf\eslint-recommended.js + 'no-constant-condition': 1, + // STANDARDIZED BY: eslint\conf\eslint-recommended.js + 'no-control-regex': 2, + // STANDARDIZED BY: eslint\conf\eslint-recommended.js + 'no-debugger': 1, + // STANDARDIZED BY: eslint\conf\eslint-recommended.js + 'no-delete-var': 2, + // RATIONALE: Catches code that is likely to be incorrect + // STANDARDIZED BY: eslint\conf\eslint-recommended.js + 'no-duplicate-case': 2, + // STANDARDIZED BY: eslint\conf\eslint-recommended.js + 'no-empty': 1, + // STANDARDIZED BY: eslint\conf\eslint-recommended.js + 'no-empty-character-class': 2, + // STANDARDIZED BY: eslint\conf\eslint-recommended.js + 'no-empty-pattern': 1, + // RATIONALE: Eval is a security concern and a performance concern. + 'no-eval': 1, + // RATIONALE: Catches code that is likely to be incorrect + // STANDARDIZED BY: eslint\conf\eslint-recommended.js + 'no-ex-assign': 2, + // RATIONALE: System types are global and should not be tampered with in a scalable code base. + // If two different libraries (or two versions of the same library) both try to modify + // a type, only one of them can win. Polyfills are acceptable because they implement + // a standardized interoperable contract, but polyfills are generally coded in plain + // JavaScript. + 'no-extend-native': 1, + // Disallow unnecessary labels + 'no-extra-label': 1, + // STANDARDIZED BY: eslint\conf\eslint-recommended.js + 'no-fallthrough': 2, + // STANDARDIZED BY: eslint\conf\eslint-recommended.js + 'no-func-assign': 1, + // RATIONALE: Catches a common coding mistake. + 'no-implied-eval': 2, + // STANDARDIZED BY: eslint\conf\eslint-recommended.js + 'no-invalid-regexp': 2, + // RATIONALE: Catches a common coding mistake. + 'no-label-var': 2, + // RATIONALE: Eliminates redundant code. + 'no-lone-blocks': 1, + // STANDARDIZED BY: eslint\conf\eslint-recommended.js + 'no-misleading-character-class': 2, + // RATIONALE: Catches a common coding mistake. + 'no-multi-str': 2, + // RATIONALE: It's generally a bad practice to call "new Thing()" without assigning the result to + // a variable. Either it's part of an awkward expression like "(new Thing()).doSomething()", + // or else implies that the constructor is doing nontrivial computations, which is often + // a poor class design. + 'no-new': 1, + // RATIONALE: Obsolete language feature that is deprecated. + 'no-new-func': 2, + // RATIONALE: Obsolete language feature that is deprecated. + 'no-new-object': 2, + // RATIONALE: Obsolete notation. + 'no-new-wrappers': 1, + // RATIONALE: Catches code that is likely to be incorrect + // STANDARDIZED BY: eslint\conf\eslint-recommended.js + 'no-octal': 2, + // RATIONALE: Catches code that is likely to be incorrect + 'no-octal-escape': 2, + // RATIONALE: Catches code that is likely to be incorrect + // STANDARDIZED BY: eslint\conf\eslint-recommended.js + 'no-regex-spaces': 2, + // RATIONALE: Catches a common coding mistake. + 'no-return-assign': 2, + // RATIONALE: Security risk. + 'no-script-url': 1, + // STANDARDIZED BY: eslint\conf\eslint-recommended.js + 'no-self-assign': 2, + // RATIONALE: Catches a common coding mistake. + 'no-self-compare': 2, + // RATIONALE: This avoids statements such as "while (a = next(), a && a.length);" that use + // commas to create compound expressions. In general code is more readable if each + // step is split onto a separate line. This also makes it easier to set breakpoints + // in the debugger. + 'no-sequences': 1, + // RATIONALE: Catches code that is likely to be incorrect + // STANDARDIZED BY: eslint\conf\eslint-recommended.js + 'no-shadow-restricted-names': 2, + // RATIONALE: Obsolete language feature that is deprecated. + // STANDARDIZED BY: eslint\conf\eslint-recommended.js + 'no-sparse-arrays': 2, + // RATIONALE: Although in theory JavaScript allows any possible data type to be thrown as an exception, + // such flexibility adds pointless complexity, by requiring every catch block to test + // the type of the object that it receives. Whereas if catch blocks can always assume + // that their object implements the "Error" contract, then the code is simpler, and + // we generally get useful additional information like a call stack. + 'no-throw-literal': 2, + // RATIONALE: Catches a common coding mistake. + 'no-unmodified-loop-condition': 1, + // STANDARDIZED BY: eslint\conf\eslint-recommended.js + 'no-unsafe-finally': 2, + // RATIONALE: Catches a common coding mistake. + 'no-unused-expressions': 1, + // STANDARDIZED BY: eslint\conf\eslint-recommended.js + 'no-unused-labels': 1, + // STANDARDIZED BY: eslint\conf\eslint-recommended.js + 'no-useless-catch': 1, + // RATIONALE: Avoids a potential performance problem. + 'no-useless-concat': 1, + // RATIONALE: The "var" keyword is deprecated because of its confusing "hoisting" behavior. + // Always use "let" or "const" instead. + // + // STANDARDIZED BY: @typescript-eslint\eslint-plugin\dist\configs\recommended.json + 'no-var': 2, + // RATIONALE: Generally not needed in modern code. + 'no-void': 1, + // RATIONALE: Obsolete language feature that is deprecated. + // STANDARDIZED BY: eslint\conf\eslint-recommended.js + 'no-with': 2, + // RATIONALE: Makes logic easier to understand, since constants always have a known value + // @typescript-eslint\eslint-plugin\dist\configs\eslint-recommended.js + 'prefer-const': 1, + // RATIONALE: Catches a common coding mistake where "resolve" and "reject" are confused. + 'promise/param-names': 2, + // RATIONALE: Catches code that is likely to be incorrect + // STANDARDIZED BY: eslint\conf\eslint-recommended.js + 'require-atomic-updates': 2, + // STANDARDIZED BY: eslint\conf\eslint-recommended.js + 'require-yield': 1, + // "Use strict" is redundant when using the TypeScript compiler. + 'strict': [ + 2, + 'never' + ], + // RATIONALE: Catches code that is likely to be incorrect + // STANDARDIZED BY: eslint\conf\eslint-recommended.js + 'use-isnan': 2, + // STANDARDIZED BY: eslint\conf\eslint-recommended.js + // Set to 1 (warning) or 2 (error) to enable. + // Rationale to disable: !!{} + 'no-extra-boolean-cast': 0, + // ==================================================================== + // @microsoft/eslint-plugin-spfx + // ==================================================================== + '@microsoft/spfx/import-requires-chunk-name': 1, + '@microsoft/spfx/no-require-ensure': 2, + '@microsoft/spfx/pair-react-dom-render-unmount': 1 + } + }, + { + // For unit tests, we can be a little bit less strict. The settings below revise the + // defaults specified in the extended configurations, as well as above. + files: [ + // Test files + '*.test.ts', + '*.test.tsx', + '*.spec.ts', + '*.spec.tsx', + + // Facebook convention + '**/__mocks__/*.ts', + '**/__mocks__/*.tsx', + '**/__tests__/*.ts', + '**/__tests__/*.tsx', + + // Microsoft convention + '**/test/*.ts', + '**/test/*.tsx' + ], + rules: { + 'no-new': 0, + 'class-name': 0, + 'export-name': 0, + forin: 0, + 'label-position': 0, + 'member-access': 2, + 'no-arg': 0, + 'no-console': 0, + 'no-construct': 0, + 'no-duplicate-variable': 2, + 'no-eval': 0, + 'no-function-expression': 2, + 'no-internal-module': 2, + 'no-shadowed-variable': 2, + 'no-switch-case-fall-through': 2, + 'no-unnecessary-semicolons': 2, + 'no-unused-expression': 2, + 'no-with-statement': 2, + semicolon: 2, + 'trailing-comma': 0, + typedef: 0, + 'typedef-whitespace': 0, + 'use-named-parameter': 2, + 'variable-name': 0, + whitespace: 0 + } + } + ] +}; \ No newline at end of file diff --git a/samples/react-pnpjs-spsite-er-diagram/.gitignore b/samples/react-pnpjs-spsite-er-diagram/.gitignore new file mode 100644 index 000000000..51ca7b9e7 --- /dev/null +++ b/samples/react-pnpjs-spsite-er-diagram/.gitignore @@ -0,0 +1,34 @@ +# Logs +logs +*.log +npm-debug.log* + +# Dependency directories +node_modules + +# Build generated files +dist +lib +release +solution +temp +*.sppkg +.heft + +# Coverage directory used by tools like istanbul +coverage + +# OSX +.DS_Store + +# Visual Studio files +.ntvs_analysis.dat +.vs +bin +obj + +# Resx Generated Code +*.resx.ts + +# Styles Generated Code +*.scss.ts diff --git a/samples/react-pnpjs-spsite-er-diagram/.npmignore b/samples/react-pnpjs-spsite-er-diagram/.npmignore new file mode 100644 index 000000000..ae0b487c0 --- /dev/null +++ b/samples/react-pnpjs-spsite-er-diagram/.npmignore @@ -0,0 +1,16 @@ +!dist +config + +gulpfile.js + +release +src +temp + +tsconfig.json +tslint.json + +*.log + +.yo-rc.json +.vscode diff --git a/samples/react-pnpjs-spsite-er-diagram/.yo-rc.json b/samples/react-pnpjs-spsite-er-diagram/.yo-rc.json new file mode 100644 index 000000000..707665e7c --- /dev/null +++ b/samples/react-pnpjs-spsite-er-diagram/.yo-rc.json @@ -0,0 +1,16 @@ +{ + "@microsoft/generator-sharepoint": { + "plusBeta": false, + "isCreatingSolution": true, + "version": "1.15.2", + "libraryName": "react-pnpjs-spsite-er-diagram", + "libraryId": "d0130471-1806-4c7d-a504-9af696d7ed0f", + "environment": "spo", + "packageManager": "npm", + "solutionName": "react-pnpjs-spsite-er-diagram", + "solutionShortDescription": "react-pnpjs-spsite-er-diagram description", + "skipFeatureDeployment": true, + "isDomainIsolated": false, + "componentType": "webpart" + } +} diff --git a/samples/react-pnpjs-spsite-er-diagram/README.md b/samples/react-pnpjs-spsite-er-diagram/README.md new file mode 100644 index 000000000..eec639c89 --- /dev/null +++ b/samples/react-pnpjs-spsite-er-diagram/README.md @@ -0,0 +1,73 @@ +# react-pnpjs-spsite-er-diagram + +## Summary + +Short summary on functionality and used technologies. + +[picture of the solution in action, if possible] + +## Used SharePoint Framework Version + +![version](https://img.shields.io/badge/version-1.13-green.svg) + +## Applies to + +- [SharePoint Framework](https://aka.ms/spfx) +- [Microsoft 365 tenant](https://docs.microsoft.com/en-us/sharepoint/dev/spfx/set-up-your-developer-tenant) + +> Get your own free development tenant by subscribing to [Microsoft 365 developer program](http://aka.ms/o365devprogram) + +## Prerequisites + +> Any special pre-requisites? + +## Solution + +| Solution | Author(s) | +| ----------- | ------------------------------------------------------- | +| folder name | Author details (name, company, twitter alias with link) | + +## Version history + +| Version | Date | Comments | +| ------- | ---------------- | --------------- | +| 1.1 | March 10, 2021 | Update comment | +| 1.0 | January 29, 2021 | Initial release | + +## Disclaimer + +**THIS CODE IS PROVIDED _AS IS_ WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.** + +--- + +## Minimal Path to Awesome + +- Clone this repository +- Ensure that you are at the solution folder +- in the command-line run: + - **npm install** + - **gulp serve** + +> Include any additional steps as needed. + +## Features + +Description of the extension that expands upon high-level summary above. + +This extension illustrates the following concepts: + +- topic 1 +- topic 2 +- topic 3 + +> Notice that better pictures and documentation will increase the sample usage and the value you are providing for others. Thanks for your submissions advance. + +> Share your web part with others through Microsoft 365 Patterns and Practices program to get visibility and exposure. More details on the community, open-source projects and other activities from http://aka.ms/m365pnp. + +## References + +- [Getting started with SharePoint Framework](https://docs.microsoft.com/en-us/sharepoint/dev/spfx/set-up-your-developer-tenant) +- [Building for Microsoft teams](https://docs.microsoft.com/en-us/sharepoint/dev/spfx/build-for-teams-overview) +- [Use Microsoft Graph in your solution](https://docs.microsoft.com/en-us/sharepoint/dev/spfx/web-parts/get-started/using-microsoft-graph-apis) +- [Publish SharePoint Framework applications to the Marketplace](https://docs.microsoft.com/en-us/sharepoint/dev/spfx/publish-to-marketplace-overview) +- [Microsoft 365 Patterns and Practices](https://aka.ms/m365pnp) - Guidance, tooling, samples and open-source controls for your Microsoft 365 development diff --git a/samples/react-pnpjs-spsite-er-diagram/config/config.json b/samples/react-pnpjs-spsite-er-diagram/config/config.json new file mode 100644 index 000000000..076b81f81 --- /dev/null +++ b/samples/react-pnpjs-spsite-er-diagram/config/config.json @@ -0,0 +1,18 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/spfx-build/config.2.0.schema.json", + "version": "2.0", + "bundles": { + "sp-site-er-diagram-web-part": { + "components": [ + { + "entrypoint": "./lib/webparts/spSiteErDiagram/SpSiteErDiagramWebPart.js", + "manifest": "./src/webparts/spSiteErDiagram/SpSiteErDiagramWebPart.manifest.json" + } + ] + } + }, + "externals": {}, + "localizedResources": { + "SpSiteErDiagramWebPartStrings": "lib/webparts/spSiteErDiagram/loc/{locale}.js" + } +} diff --git a/samples/react-pnpjs-spsite-er-diagram/config/deploy-azure-storage.json b/samples/react-pnpjs-spsite-er-diagram/config/deploy-azure-storage.json new file mode 100644 index 000000000..501f99cd0 --- /dev/null +++ b/samples/react-pnpjs-spsite-er-diagram/config/deploy-azure-storage.json @@ -0,0 +1,7 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/spfx-build/deploy-azure-storage.schema.json", + "workingDir": "./release/assets/", + "account": "", + "container": "react-pnpjs-spsite-er-diagram", + "accessKey": "" +} \ No newline at end of file diff --git a/samples/react-pnpjs-spsite-er-diagram/config/package-solution.json b/samples/react-pnpjs-spsite-er-diagram/config/package-solution.json new file mode 100644 index 000000000..5249b3a56 --- /dev/null +++ b/samples/react-pnpjs-spsite-er-diagram/config/package-solution.json @@ -0,0 +1,40 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/spfx-build/package-solution.schema.json", + "solution": { + "name": "react-pnpjs-spsite-er-diagram-client-side-solution", + "id": "d0130471-1806-4c7d-a504-9af696d7ed0f", + "version": "1.0.0.0", + "includeClientSideAssets": true, + "skipFeatureDeployment": true, + "isDomainIsolated": false, + "developer": { + "name": "", + "websiteUrl": "", + "privacyUrl": "", + "termsOfUseUrl": "", + "mpnId": "Undefined-1.15.2" + }, + "metadata": { + "shortDescription": { + "default": "react-pnpjs-spsite-er-diagram description" + }, + "longDescription": { + "default": "react-pnpjs-spsite-er-diagram description" + }, + "screenshotPaths": [], + "videoUrl": "", + "categories": [] + }, + "features": [ + { + "title": "react-pnpjs-spsite-er-diagram Feature", + "description": "The feature that activates elements of the react-pnpjs-spsite-er-diagram solution.", + "id": "de94efbd-4c84-4259-8847-8ffd802d8166", + "version": "1.0.0.0" + } + ] + }, + "paths": { + "zippedPackage": "solution/react-pnpjs-spsite-er-diagram.sppkg" + } +} diff --git a/samples/react-pnpjs-spsite-er-diagram/config/serve.json b/samples/react-pnpjs-spsite-er-diagram/config/serve.json new file mode 100644 index 000000000..e05918a99 --- /dev/null +++ b/samples/react-pnpjs-spsite-er-diagram/config/serve.json @@ -0,0 +1,6 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/spfx-build/spfx-serve.schema.json", + "port": 4321, + "https": true, + "initialPage": "https://enter-your-SharePoint-site/_layouts/workbench.aspx" +} diff --git a/samples/react-pnpjs-spsite-er-diagram/config/write-manifests.json b/samples/react-pnpjs-spsite-er-diagram/config/write-manifests.json new file mode 100644 index 000000000..bad352605 --- /dev/null +++ b/samples/react-pnpjs-spsite-er-diagram/config/write-manifests.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/spfx-build/write-manifests.schema.json", + "cdnBasePath": "" +} \ No newline at end of file diff --git a/samples/react-pnpjs-spsite-er-diagram/gulpfile.js b/samples/react-pnpjs-spsite-er-diagram/gulpfile.js new file mode 100644 index 000000000..be2918708 --- /dev/null +++ b/samples/react-pnpjs-spsite-er-diagram/gulpfile.js @@ -0,0 +1,16 @@ +'use strict'; + +const build = require('@microsoft/sp-build-web'); + +build.addSuppression(`Warning - [sass] The local CSS class 'ms-Grid' is not camelCase and will not be type-safe.`); + +var getTasks = build.rig.getTasks; +build.rig.getTasks = function () { + var result = getTasks.call(build.rig); + + result.set('serve', result.get('serve-deprecated')); + + return result; +}; + +build.initialize(require('gulp')); diff --git a/samples/react-pnpjs-spsite-er-diagram/package.json b/samples/react-pnpjs-spsite-er-diagram/package.json new file mode 100644 index 000000000..3ebcd7ccc --- /dev/null +++ b/samples/react-pnpjs-spsite-er-diagram/package.json @@ -0,0 +1,41 @@ +{ + "name": "react-pnpjs-spsite-er-diagram", + "version": "0.0.1", + "private": true, + "main": "lib/index.js", + "scripts": { + "build": "gulp bundle", + "clean": "gulp clean", + "test": "gulp test" + }, + "dependencies": { + "@microsoft/sp-core-library": "1.15.2", + "@microsoft/sp-lodash-subset": "1.15.2", + "@microsoft/sp-office-ui-fabric-core": "1.15.2", + "@microsoft/sp-property-pane": "1.15.2", + "@microsoft/sp-webpart-base": "1.15.2", + "@pnp/graph": "^3.7.0", + "@pnp/sp": "^3.7.0", + "gojs": "^2.2.15", + "gojs-react": "^1.1.1", + "office-ui-fabric-react": "7.185.7", + "react": "16.13.1", + "react-dom": "16.13.1", + "tslib": "2.3.1" + }, + "devDependencies": { + "@microsoft/rush-stack-compiler-4.5": "0.2.2", + "@rushstack/eslint-config": "2.5.1", + "@microsoft/eslint-plugin-spfx": "1.15.2", + "@microsoft/eslint-config-spfx": "1.15.2", + "@microsoft/sp-build-web": "1.15.2", + "@types/webpack-env": "~1.15.2", + "ajv": "^6.12.5", + "gulp": "4.0.2", + "typescript": "4.5.5", + "@types/react": "16.9.51", + "@types/react-dom": "16.9.8", + "eslint-plugin-react-hooks": "4.3.0", + "@microsoft/sp-module-interfaces": "1.15.2" + } +} diff --git a/samples/react-pnpjs-spsite-er-diagram/src/index.ts b/samples/react-pnpjs-spsite-er-diagram/src/index.ts new file mode 100644 index 000000000..fb81db1e2 --- /dev/null +++ b/samples/react-pnpjs-spsite-er-diagram/src/index.ts @@ -0,0 +1 @@ +// A file is required to be in the root of the /src directory by the TypeScript compiler diff --git a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/SpSiteErDiagramWebPart.manifest.json b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/SpSiteErDiagramWebPart.manifest.json new file mode 100644 index 000000000..2a595dfad --- /dev/null +++ b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/SpSiteErDiagramWebPart.manifest.json @@ -0,0 +1,28 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/spfx/client-side-web-part-manifest.schema.json", + "id": "44b6930e-0410-456c-b551-d998f4e7279c", + "alias": "SpSiteErDiagramWebPart", + "componentType": "WebPart", + + // The "*" signifies that the version should be taken from the package.json + "version": "*", + "manifestVersion": 2, + + // If true, the component can only be installed on sites where Custom Script is allowed. + // Components that allow authors to embed arbitrary script code should set this to true. + // https://support.office.com/en-us/article/Turn-scripting-capabilities-on-or-off-1f2c515f-5d7e-448a-9fd7-835da935584f + "requiresCustomScript": false, + "supportedHosts": ["SharePointWebPart", "TeamsPersonalApp", "TeamsTab", "SharePointFullPage"], + "supportsThemeVariants": true, + + "preconfiguredEntries": [{ + "groupId": "5c03119e-3074-46fd-976b-c60198311f70", // Advanced + "group": { "default": "Advanced" }, + "title": { "default": "SPSite ER Diagram" }, + "description": { "default": "SPSite ER Diagram description" }, + "officeFabricIconFontName": "Page", + "properties": { + "description": "SPSite ER Diagram" + } + }] +} diff --git a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/SpSiteErDiagramWebPart.ts b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/SpSiteErDiagramWebPart.ts new file mode 100644 index 000000000..408929136 --- /dev/null +++ b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/SpSiteErDiagramWebPart.ts @@ -0,0 +1,101 @@ +import * as React from 'react'; +import * as ReactDom from 'react-dom'; +import { Version } from '@microsoft/sp-core-library'; +import { + IPropertyPaneConfiguration, + PropertyPaneTextField +} from '@microsoft/sp-property-pane'; +import { BaseClientSideWebPart } from '@microsoft/sp-webpart-base'; +import { IReadonlyTheme } from '@microsoft/sp-component-base'; + +import * as strings from 'SpSiteErDiagramWebPartStrings'; +import SpSiteErDiagram from './components/SpSiteErDiagram'; +import { ISpSiteErDiagramProps } from './components/ISpSiteErDiagramProps'; + +export interface ISpSiteErDiagramWebPartProps { + description: string; +} + +export default class SpSiteErDiagramWebPart extends BaseClientSideWebPart { + + private _isDarkTheme: boolean = false; + private _environmentMessage: string = ''; + + + public render(): void { + const element: React.ReactElement = React.createElement( + SpSiteErDiagram, + { + context: this.context, + description: this.properties.description, + isDarkTheme: this._isDarkTheme, + environmentMessage: this._environmentMessage, + hasTeamsContext: !!this.context.sdks.microsoftTeams, + userDisplayName: this.context.pageContext.user.displayName + } + ); + ReactDom.render(element, this.domElement); + } + + protected onInit(): Promise { + this._environmentMessage = this._getEnvironmentMessage(); + + return super.onInit(); + } + + private _getEnvironmentMessage(): string { + if (!!this.context.sdks.microsoftTeams) { // running in Teams + return this.context.isServedFromLocalhost ? strings.AppLocalEnvironmentTeams : strings.AppTeamsTabEnvironment; + } + + return this.context.isServedFromLocalhost ? strings.AppLocalEnvironmentSharePoint : strings.AppSharePointEnvironment; + } + + protected onThemeChanged(currentTheme: IReadonlyTheme | undefined): void { + if (!currentTheme) { + return; + } + + this._isDarkTheme = !!currentTheme.isInverted; + const { + semanticColors + } = currentTheme; + + if (semanticColors) { + this.domElement.style.setProperty('--bodyText', semanticColors.bodyText || null); + this.domElement.style.setProperty('--link', semanticColors.link || null); + this.domElement.style.setProperty('--linkHovered', semanticColors.linkHovered || null); + } + + } + + protected onDispose(): void { + ReactDom.unmountComponentAtNode(this.domElement); + } + + protected get dataVersion(): Version { + return Version.parse('1.0'); + } + + protected getPropertyPaneConfiguration(): IPropertyPaneConfiguration { + return { + pages: [ + { + header: { + description: strings.PropertyPaneDescription + }, + groups: [ + { + groupName: strings.BasicGroupName, + groupFields: [ + PropertyPaneTextField('description', { + label: strings.DescriptionFieldLabel + }) + ] + } + ] + } + ] + }; + } +} diff --git a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/assets/welcome-dark.png b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/assets/welcome-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..42f0b8d24a9aa964a2be4885fe5700c1c54191a9 GIT binary patch literal 12545 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�Gp~kbx)oU28ew4C2+WtKA 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 G`2PSf1J4)$ literal 0 HcmV?d00001 diff --git a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/assets/welcome-light.png b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/assets/welcome-light.png new file mode 100644 index 0000000000000000000000000000000000000000..69eb3b48cd83031f106df4b4df127c749657e319 GIT binary patch literal 12816 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 literal 0 HcmV?d00001 diff --git a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/ISpSiteErDiagramProps.ts b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/ISpSiteErDiagramProps.ts new file mode 100644 index 000000000..ff99b6ffc --- /dev/null +++ b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/ISpSiteErDiagramProps.ts @@ -0,0 +1,8 @@ +export interface ISpSiteErDiagramProps { + context: any, + description: string; + isDarkTheme: boolean; + environmentMessage: string; + hasTeamsContext: boolean; + userDisplayName: string; +} diff --git a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.module.scss b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.module.scss new file mode 100644 index 000000000..4f042c29d --- /dev/null +++ b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.module.scss @@ -0,0 +1,40 @@ +@import '~office-ui-fabric-react/dist/sass/References.scss'; + +.spSiteErDiagram { + overflow: hidden; + padding: 1em; + color: "[theme:bodyText, default: #323130]"; + color: var(--bodyText); + &.teams { + font-family: $ms-font-family-fallbacks; + } + + :global { + .diagram-component { + height: 100% + } + } +} + +.welcome { + text-align: center; +} + +.welcomeImage { + width: 100%; + max-width: 420px; +} + +.links { + a { + text-decoration: none; + color: "[theme:link, default:#03787c]"; + color: var(--link); // note: CSS Custom Properties support is limited to modern browsers only + + &:hover { + text-decoration: underline; + color: "[theme:linkHovered, default: #014446]"; + color: var(--linkHovered); // note: CSS Custom Properties support is limited to modern browsers only + } + } +} \ No newline at end of file diff --git a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.tsx b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.tsx new file mode 100644 index 000000000..f2ac491ea --- /dev/null +++ b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.tsx @@ -0,0 +1,45 @@ +import * as React from 'react'; +import styles from './SpSiteErDiagram.module.scss'; +import { ISpSiteErDiagramProps } from './ISpSiteErDiagramProps'; +import { ReactDiagram } from 'gojs-react'; +import getSiteData from './helpers/SPSiteData'; +import { initDiagram } from './helpers/GoJSHelper'; + +interface SpSiteDiagramState { + nodeDataArray: any, + linkDataArray: any +} +export default class SpSiteErDiagram extends React.Component { + + constructor(props: any) { + super(props); + this.state = {nodeDataArray: [], linkDataArray: []}; + } + + public async componentDidMount() { + let a = await getSiteData(this.props.context); + this.setState({nodeDataArray: a.nodeDataArray, linkDataArray: a.linkDataArray}); + } + + public render(): React.ReactElement { + const { + description, + isDarkTheme, + environmentMessage, + hasTeamsContext, + userDisplayName + } = this.props; + + return ( +
+ +
+ ); + } +} diff --git a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/GoJSHelper.ts b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/GoJSHelper.ts new file mode 100644 index 000000000..a9b8ef4bb --- /dev/null +++ b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/GoJSHelper.ts @@ -0,0 +1,145 @@ +import * as go from 'gojs'; + +export const initDiagram = () => { + const $ = go.GraphObject.make; + + const diagram = $(go.Diagram, // must name or refer to the DIV HTML element + { + allowDelete: false, + allowCopy: false, + layout: $(go.ForceDirectedLayout), + model: $(go.GraphLinksModel, + { + linkKeyProperty: 'key', // IMPORTANT! must be defined for merges and data sync when using GraphLinksModel + // positive keys for nodes + makeUniqueKeyFunction: (m: go.Model, data: any) => { + let k = data.key || 1; + while (m.findNodeDataForKey(k)) k++; + data.key = k; + return k; + }, + // negative keys for links + makeUniqueLinkKeyFunction: (m: go.GraphLinksModel, data: any) => { + let k = data.key || -1; + while (m.findLinkDataForKey(k)) k--; + data.key = k; + return k; + } + }), + "undoManager.isEnabled": true + }); + + diagram.nodeTemplate = + $(go.Node, 'Auto', // the Shape will go around the TextBlock + $(go.Shape, 'RoundedRectangle', { strokeWidth: 0, fill: 'white' }, + // Shape.fill is bound to Node.data.color + new go.Binding('fill', 'color')), + $(go.TextBlock, + { margin: 8 }, // some room around the text + // TextBlock.text is bound to Node.data.key + new go.Binding('text', 'key')) + ); + + // the template for each attribute in a node's array of item data + var itemTempl = + $(go.Panel, "Horizontal", + $(go.Shape, + { desiredSize: new go.Size(15, 15), strokeJoin: "round", strokeWidth: 3, stroke: null, margin: 2 }, + new go.Binding("figure", "figure"), + new go.Binding("fill", "color"), + new go.Binding("stroke", "color")), + $(go.TextBlock, + { + stroke: "#333333", + font: "bold 14px sans-serif" + }, + new go.Binding("text", "name")) + ); + + // define the Node template, representing an entity + diagram.nodeTemplate = + $(go.Node, "Auto", // the whole node panel + { + selectionAdorned: true, + resizable: true, + layoutConditions: go.Part.LayoutStandard & ~go.Part.LayoutNodeSized, + fromSpot: go.Spot.AllSides, + toSpot: go.Spot.AllSides, + isShadowed: true, + shadowOffset: new go.Point(3, 3), + shadowColor: "#C5C1AA" + }, + new go.Binding("location", "location").makeTwoWay(), + // whenever the PanelExpanderButton changes the visible property of the "LIST" panel, + // clear out any desiredSize set by the ResizingTool. + new go.Binding("desiredSize", "visible", v => new go.Size(NaN, NaN)).ofObject("LIST"), + // define the node's outer shape, which will surround the Table + $(go.Shape, "RoundedRectangle", + { fill: 'white', stroke: "#eeeeee", strokeWidth: 3 }), + $(go.Panel, "Table", + { margin: 8, stretch: go.GraphObject.Fill }, + $(go.RowColumnDefinition, { row: 0, sizing: go.RowColumnDefinition.None }), + // the table header + $(go.TextBlock, + { + row: 0, alignment: go.Spot.Center, + margin: new go.Margin(0, 24, 0, 2), // leave room for Button + font: "bold 16px sans-serif" + }, + new go.Binding("text", "key")), + // the collapse/expand button + $("PanelExpanderButton", "LIST", // the name of the element whose visibility this button toggles + { row: 0, alignment: go.Spot.TopRight }), + // the list of Panels, each showing an attribute + $(go.Panel, "Vertical", + { + name: "LIST", + row: 1, + padding: 3, + alignment: go.Spot.TopLeft, + defaultAlignment: go.Spot.Left, + stretch: go.GraphObject.Horizontal, + itemTemplate: itemTempl + }, + new go.Binding("itemArray", "items")) + ) // end Table Panel + ); // end Node + + // define the Link template, representing a relationship + diagram.linkTemplate = + $(go.Link, // the whole link panel + { + selectionAdorned: true, + layerName: "Foreground", + reshapable: true, + routing: go.Link.AvoidsNodes, + corner: 5, + curve: go.Link.JumpOver + }, + $(go.Shape, // the link shape + { stroke: "#303B45", strokeWidth: 2.5 }), + $(go.TextBlock, // the "from" label + { + textAlign: "center", + font: "bold 14px sans-serif", + stroke: "#1967B3", + segmentIndex: 0, + segmentOffset: new go.Point(NaN, NaN), + segmentOrientation: go.Link.OrientUpright + }, + new go.Binding("text", "text")), + $(go.TextBlock, // the "to" label + { + textAlign: "center", + font: "bold 14px sans-serif", + stroke: "#1967B3", + segmentIndex: -1, + segmentOffset: new go.Point(NaN, NaN), + segmentOrientation: go.Link.OrientUpright + }, + new go.Binding("text", "toText")) + ); + + + return diagram; +} \ No newline at end of file diff --git a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteData.ts b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteData.ts new file mode 100644 index 000000000..3fb744dcd --- /dev/null +++ b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteData.ts @@ -0,0 +1,87 @@ +/* + Hit 'ctrl + d' or 'cmd + d' to run the code, view console for results +*/ +import { spfi, SPFx } from "@pnp/sp"; +import { Caching, CacheKey } from "@pnp/queryable"; +import "@pnp/sp/webs"; +import "@pnp/sp/lists/web"; +import "@pnp/sp/fields"; +import { IFieldInfo } from "@pnp/sp/fields"; + +const storageKeyPrefix = "hs365_sitegraphdata_" + + +const colors = { + 'red': '#be4b15', + 'green': '#52ce60', + 'blue': '#6ea5f8', + 'lightred': '#fd8852', + 'lightblue': '#afd4fe', + 'lightgreen': '#b9e986', + 'pink': '#faadc1', + 'purple': '#d689ff', + 'orange': '#fdb400', +} + +const colorByType: any = { + 'Lookup': colors.orange +} + +const getNodeFromField = (f: IFieldInfo) => { + + let isLookup = (f as any).TypeDisplayName == "Lookup" && (f as any).IsRelationship; + + return { + name: f.InternalName, + iskey: false, + figure: "Decision", + color: isLookup ? colors.orange : colors.purple + }; +} + + + +const getSiteData = async (spfxContext: any) => { + + let nodeDataArray: any = []; + let linkDataArray: any = []; + let listNames: any = {}; + + const sp = spfi().using(SPFx(spfxContext)); //.using(Caching({ store: "local" })); + let lists = await sp.web.lists.filter("Hidden ne 1").using(CacheKey(storageKeyPrefix+"lists"))(); + //lists = lists.slice(0,15); + + for(let list of lists) { + if(!list.Hidden) { + + listNames[`{${list.Id}}`] = list.Title; + + // Tables/Lists + let node = { key: list.Title, items: [] as any }; + let fields = (await sp.web.lists.getById(list.Id).fields.filter("Hidden ne 1").using(CacheKey(storageKeyPrefix+"fields_"+list.Id))()) + .filter(f => !f.Hidden).sort((a,b) => a.InternalName.charCodeAt(0) - b.InternalName.charCodeAt(0) ); + node.items = fields.map(f => {return getNodeFromField(f) }); + nodeDataArray.push(node); + + // Links/Lookups + let links = fields.filter(f => f.TypeDisplayName == "Lookup" && + (f as any).IsRelationship && + (f as any).LookupList != '' && + (f as any).LookupList != "AppPrincipals" + ).map(f => + {return { from: list.Title, to: (f as any).LookupList!, text: "0..N", toText: "1" }}); + linkDataArray= [...linkDataArray, ...links]; + + } + } + + linkDataArray = linkDataArray.map((l: any) => {return {...l, to: listNames[l.to]}}) + + console.log("listNames", listNames); + console.log("nodeDataArray", nodeDataArray); + console.log("linkDataArray", linkDataArray); + + return {nodeDataArray: nodeDataArray, linkDataArray: linkDataArray} +} + +export default getSiteData; \ No newline at end of file diff --git a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/loc/en-us.js b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/loc/en-us.js new file mode 100644 index 000000000..7efbd643f --- /dev/null +++ b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/loc/en-us.js @@ -0,0 +1,11 @@ +define([], function() { + return { + "PropertyPaneDescription": "Description", + "BasicGroupName": "Group Name", + "DescriptionFieldLabel": "Description Field", + "AppLocalEnvironmentSharePoint": "The app is running on your local environment as SharePoint web part", + "AppLocalEnvironmentTeams": "The app is running on your local environment as Microsoft Teams app", + "AppSharePointEnvironment": "The app is running on SharePoint page", + "AppTeamsTabEnvironment": "The app is running in Microsoft Teams" + } +}); \ No newline at end of file diff --git a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/loc/mystrings.d.ts b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/loc/mystrings.d.ts new file mode 100644 index 000000000..c9a0e40f7 --- /dev/null +++ b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/loc/mystrings.d.ts @@ -0,0 +1,14 @@ +declare interface ISpSiteErDiagramWebPartStrings { + PropertyPaneDescription: string; + BasicGroupName: string; + DescriptionFieldLabel: string; + AppLocalEnvironmentSharePoint: string; + AppLocalEnvironmentTeams: string; + AppSharePointEnvironment: string; + AppTeamsTabEnvironment: string; +} + +declare module 'SpSiteErDiagramWebPartStrings' { + const strings: ISpSiteErDiagramWebPartStrings; + export = strings; +} diff --git a/samples/react-pnpjs-spsite-er-diagram/teams/44b6930e-0410-456c-b551-d998f4e7279c_color.png b/samples/react-pnpjs-spsite-er-diagram/teams/44b6930e-0410-456c-b551-d998f4e7279c_color.png new file mode 100644 index 0000000000000000000000000000000000000000..0e1f764fa8df4791a61c71b4f011c26f9083ee52 GIT binary patch literal 10248 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 KtK_^>#Qy@$+e&%> literal 0 HcmV?d00001 diff --git a/samples/react-pnpjs-spsite-er-diagram/teams/44b6930e-0410-456c-b551-d998f4e7279c_outline.png b/samples/react-pnpjs-spsite-er-diagram/teams/44b6930e-0410-456c-b551-d998f4e7279c_outline.png new file mode 100644 index 0000000000000000000000000000000000000000..892868fab31033c06f52dba29917ca79826896aa GIT binary patch literal 542 zcmV+(0^$9MP)Px$*hxe|R9HvtmP;r^Q5eVncjjWepV=sxiDA658IMv*Rw!kmB*H@8O0z&Q2}uo7 z6B~&Iu^CyDjSwrA@+xKH85)n0PZUFU4xfx{?p>bqKmYIl{mwn-UJ3vFNdH_PY5u3A2g4wR^IR;II%}onJy17ywBE?rxlbtcBgy zg~pmPmN!cT|5$?44FS+-l?hjesED?SjKyYl`T&KSaAUGZH(Gwm# zNkDWHicW`r9KpHEYK|r9>>Z&Vs}0ag4Rx_W@oqaJ$d)eObsB{?*^J g8bBqW5>N>|11Bq?AqzNewEzGB07*qoM6N<$f*5=3%m4rY literal 0 HcmV?d00001 diff --git a/samples/react-pnpjs-spsite-er-diagram/tsconfig.json b/samples/react-pnpjs-spsite-er-diagram/tsconfig.json new file mode 100644 index 000000000..cb3c4af63 --- /dev/null +++ b/samples/react-pnpjs-spsite-er-diagram/tsconfig.json @@ -0,0 +1,37 @@ +{ + "extends": "./node_modules/@microsoft/rush-stack-compiler-4.5/includes/tsconfig-web.json", + "compilerOptions": { + "target": "es5", + "forceConsistentCasingInFileNames": true, + "module": "esnext", + "moduleResolution": "node", + "jsx": "react", + "declaration": true, + "sourceMap": true, + "experimentalDecorators": true, + "skipLibCheck": true, + "outDir": "lib", + "inlineSources": false, + "strictNullChecks": false, + "noUnusedLocals": false, + "noImplicitAny": true, + + "typeRoots": [ + "./node_modules/@types", + "./node_modules/@microsoft" + ], + "types": [ + "webpack-env" + ], + "lib": [ + "es5", + "dom", + "es2015.collection", + "es2015.promise" + ] + }, + "include": [ + "src/**/*.ts", + "src/**/*.tsx" + ] +} From 027fcb2147f6453e39634b102c0cfb786af31962 Mon Sep 17 00:00:00 2001 From: NiklasWilhelm Date: Mon, 3 Oct 2022 18:50:15 +0200 Subject: [PATCH 02/14] added layer --- .../components/SpSiteErDiagram.tsx | 21 ++- .../components/helpers/SPSiteData.ts | 144 +++++++++--------- .../components/helpers/SPSiteDataToGoJSER.ts | 48 ++++++ 3 files changed, 132 insertions(+), 81 deletions(-) create mode 100644 samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteDataToGoJSER.ts diff --git a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.tsx b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.tsx index f2ac491ea..29b44cfe0 100644 --- a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.tsx +++ b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.tsx @@ -2,8 +2,9 @@ import * as React from 'react'; import styles from './SpSiteErDiagram.module.scss'; import { ISpSiteErDiagramProps } from './ISpSiteErDiagramProps'; import { ReactDiagram } from 'gojs-react'; -import getSiteData from './helpers/SPSiteData'; +import getSPSiteData from './helpers/SPSiteData'; import { initDiagram } from './helpers/GoJSHelper'; +import getGoJSNodesFromSPSiteData from './helpers/SPSiteDataToGoJSER'; interface SpSiteDiagramState { nodeDataArray: any, @@ -17,21 +18,17 @@ export default class SpSiteErDiagram extends React.Component { - const { - description, - isDarkTheme, - environmentMessage, - hasTeamsContext, - userDisplayName - } = this.props; - return ( -
+
{ - - let isLookup = (f as any).TypeDisplayName == "Lookup" && (f as any).IsRelationship; - - return { - name: f.InternalName, - iskey: false, - figure: "Decision", - color: isLookup ? colors.orange : colors.purple - }; +export interface SPTableField { + name: string, + displayName: string, + iskey: boolean, + type: string } +export interface SPTableAlert { + type: "Warning" | "Error", + title: string, +} +export interface SPRelations { + fromTableTitle: string, + toTableTitle: string, + fromX: number | "n", + toX: number | "m" +} +const storageKeyPrefix = "reactpnpjsdiagram_sitegraphdata_" +const getSPSiteData = async (spfxContext: any) : Promise => { - - -const getSiteData = async (spfxContext: any) => { - - let nodeDataArray: any = []; - let linkDataArray: any = []; - let listNames: any = {}; - - const sp = spfi().using(SPFx(spfxContext)); //.using(Caching({ store: "local" })); - let lists = await sp.web.lists.filter("Hidden ne 1").using(CacheKey(storageKeyPrefix+"lists"))(); - //lists = lists.slice(0,15); - - for(let list of lists) { - if(!list.Hidden) { - - listNames[`{${list.Id}}`] = list.Title; - - // Tables/Lists - let node = { key: list.Title, items: [] as any }; - let fields = (await sp.web.lists.getById(list.Id).fields.filter("Hidden ne 1").using(CacheKey(storageKeyPrefix+"fields_"+list.Id))()) - .filter(f => !f.Hidden).sort((a,b) => a.InternalName.charCodeAt(0) - b.InternalName.charCodeAt(0) ); - node.items = fields.map(f => {return getNodeFromField(f) }); - nodeDataArray.push(node); - - // Links/Lookups - let links = fields.filter(f => f.TypeDisplayName == "Lookup" && - (f as any).IsRelationship && - (f as any).LookupList != '' && - (f as any).LookupList != "AppPrincipals" - ).map(f => - {return { from: list.Title, to: (f as any).LookupList!, text: "0..N", toText: "1" }}); - linkDataArray= [...linkDataArray, ...links]; - + let spSiteData: SPSiteData = { + relations: [], + tables: [] } - } + let tmp_listNames: any = {}; - linkDataArray = linkDataArray.map((l: any) => {return {...l, to: listNames[l.to]}}) + const sp = spfi().using(SPFx(spfxContext)); + let lists = await sp.web.lists.filter("Hidden ne 1")(); - console.log("listNames", listNames); - console.log("nodeDataArray", nodeDataArray); - console.log("linkDataArray", linkDataArray); + for(let list of lists) { + if(!list.Hidden) { - return {nodeDataArray: nodeDataArray, linkDataArray: linkDataArray} + // save names for later + tmp_listNames[`{${list.Id}}`] = list.Title; + + // Tables/Lists + let table: SPTables = { title: list.Title, fields: [], alerts: [] }; + // Fields + let fields = (await sp.web.lists.getById(list.Id).fields.filter("Hidden ne 1")()) + .filter(f => !f.Hidden).sort((a,b) => a.InternalName.charCodeAt(0) - b.InternalName.charCodeAt(0) ); + table.fields = fields.map(f => { + return { + name: f.InternalName, + displayName: f.Title, + iskey: (f as any).TypeDisplayName == "Lookup" && (f as any).IsRelationship, + type: f.TypeDisplayName + } + }); + // add Table + spSiteData.tables.push(table); + + // Links/Lookups + let relations: SPRelations[] = fields.filter(f => f.TypeDisplayName == "Lookup" && + (f as any).IsRelationship && + (f as any).LookupList != '' && + (f as any).LookupList != "AppPrincipals" + ).map(f => + {return { + fromTableTitle: f.Title, + toTableTitle: (f as any).LookupList!, + fromX: "n", + toX: 1 + }}); + + spSiteData.relations = [...spSiteData.relations, ...relations]; + } + } + + // resolve Ids + spSiteData.relations = spSiteData.relations.map((r) => {return {...r, to: tmp_listNames[r.toTableTitle]}}) + + console.log("SPSiteData", spSiteData); + + return spSiteData } -export default getSiteData; \ No newline at end of file +export default getSPSiteData; \ No newline at end of file diff --git a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteDataToGoJSER.ts b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteDataToGoJSER.ts new file mode 100644 index 000000000..44a50f2c8 --- /dev/null +++ b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteDataToGoJSER.ts @@ -0,0 +1,48 @@ +import { List } from "@pnp/sp/lists"; +import { SPSiteData, SPTableField } from "./SPSiteData"; + + +const colors = { + 'red': '#be4b15', + 'green': '#52ce60', + 'blue': '#6ea5f8', + 'lightred': '#fd8852', + 'lightblue': '#afd4fe', + 'lightgreen': '#b9e986', + 'pink': '#faadc1', + 'purple': '#d689ff', + 'orange': '#fdb400', +} +const colorByType: any = { + 'Lookup': colors.orange +} + +const getNodeFromField = (f: SPTableField) => { + let isLookup = (f as any).TypeDisplayName == "Lookup" && (f as any).IsRelationship; + return { + name: f.name, + iskey: false, + figure: "Decision", + color: isLookup ? colors.orange : colors.purple + }; +} + +const getGoJSNodesFromSPSiteData = (spSiteData: SPSiteData) : { nodeDataArray: [], linkDataArray: [] } => { + + let nodeDataArray: any = []; + let linkDataArray: any = []; + + nodeDataArray = spSiteData.tables.map(t => { return { + key: t.title, + items: t.fields.map(f => getNodeFromField(f)) + }}) + + linkDataArray = spSiteData.relations.map(r => { return { + from: r.fromTableTitle, + to: r.toTableTitle, + text: r.fromX+":"+r.toX + }}) + + return { nodeDataArray, linkDataArray} +} +export default getGoJSNodesFromSPSiteData; \ No newline at end of file From a79cc6c7b2492f2194f76df2c7032786add0657f Mon Sep 17 00:00:00 2001 From: NiklasWilhelm Date: Mon, 3 Oct 2022 19:33:11 +0200 Subject: [PATCH 03/14] caching --- .../components/SpSiteErDiagram.tsx | 15 +++++--- .../components/helpers/SPSiteData.ts | 35 +++++++++++++------ .../components/helpers/SPSiteDataToGoJSER.ts | 3 +- 3 files changed, 37 insertions(+), 16 deletions(-) diff --git a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.tsx b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.tsx index 29b44cfe0..7b64cbcd6 100644 --- a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.tsx +++ b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.tsx @@ -7,19 +7,22 @@ import { initDiagram } from './helpers/GoJSHelper'; import getGoJSNodesFromSPSiteData from './helpers/SPSiteDataToGoJSER'; interface SpSiteDiagramState { - nodeDataArray: any, - linkDataArray: any + loadingProgress: number, + nodeDataArray: any[], + linkDataArray: any[] } export default class SpSiteErDiagram extends React.Component { constructor(props: any) { super(props); - this.state = {nodeDataArray: [], linkDataArray: []}; + this.state = { loadingProgress: 0, nodeDataArray: [], linkDataArray: []}; } public async componentDidMount() { // Get SP SiteData for ER Diagram - let spSiteData = await getSPSiteData(this.props.context); + let spSiteData = await getSPSiteData(this.props.context, true, (progress) => { + this.setState({ loadingProgress: progress }); + }); // Transform to GoJS Model let goJSNodes = getGoJSNodesFromSPSiteData(spSiteData); // Set State @@ -29,13 +32,15 @@ export default class SpSiteErDiagram extends React.Component { return (
+ {this.state.loadingProgress != 100 || this.state.nodeDataArray.length == 0 ? +
Loading ({this.state.loadingProgress}%)
: + />}
); } diff --git a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteData.ts b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteData.ts index 6125afb86..9f9fa283d 100644 --- a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteData.ts +++ b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteData.ts @@ -7,10 +7,10 @@ import "@pnp/sp/lists/web"; import "@pnp/sp/fields"; export interface SPSiteData { - tables: SPTables[], - relations: SPRelations[] + tables: SPTable[], + relations: SPRelation[] } -export interface SPTables { +export interface SPTable { title: string, fields: SPTableField[], alerts: SPTableAlert[] @@ -25,15 +25,23 @@ export interface SPTableAlert { type: "Warning" | "Error", title: string, } -export interface SPRelations { +export interface SPRelation { fromTableTitle: string, toTableTitle: string, fromX: number | "n", toX: number | "m" } const storageKeyPrefix = "reactpnpjsdiagram_sitegraphdata_" -const getSPSiteData = async (spfxContext: any) : Promise => { +const getSPSiteData = async (spfxContext: any, force?: boolean, progress?: (number: number) => void) : Promise => { + // return from cache + let spSiteDataFromCache = JSON.parse(localStorage.getItem(storageKeyPrefix)); + if (spSiteDataFromCache && !force) { + progress(100); + return spSiteDataFromCache; + } + + // Load from site let spSiteData: SPSiteData = { relations: [], tables: [] @@ -43,14 +51,19 @@ const getSPSiteData = async (spfxContext: any) : Promise => { const sp = spfi().using(SPFx(spfxContext)); let lists = await sp.web.lists.filter("Hidden ne 1")(); + const totalCount = lists.filter(l => !l.Hidden).length; + let loadedCount = 0; + for(let list of lists) { if(!list.Hidden) { + loadedCount++; + progress && progress(loadedCount/totalCount * 100); // save names for later tmp_listNames[`{${list.Id}}`] = list.Title; // Tables/Lists - let table: SPTables = { title: list.Title, fields: [], alerts: [] }; + let table: SPTable = { title: list.Title, fields: [], alerts: [] }; // Fields let fields = (await sp.web.lists.getById(list.Id).fields.filter("Hidden ne 1")()) .filter(f => !f.Hidden).sort((a,b) => a.InternalName.charCodeAt(0) - b.InternalName.charCodeAt(0) ); @@ -66,13 +79,13 @@ const getSPSiteData = async (spfxContext: any) : Promise => { spSiteData.tables.push(table); // Links/Lookups - let relations: SPRelations[] = fields.filter(f => f.TypeDisplayName == "Lookup" && + let relations: SPRelation[] = fields.filter(f => f.TypeDisplayName == "Lookup" && (f as any).IsRelationship && (f as any).LookupList != '' && (f as any).LookupList != "AppPrincipals" - ).map(f => + ).map(f => {return { - fromTableTitle: f.Title, + fromTableTitle: list.Title, toTableTitle: (f as any).LookupList!, fromX: "n", toX: 1 @@ -83,10 +96,12 @@ const getSPSiteData = async (spfxContext: any) : Promise => { } // resolve Ids - spSiteData.relations = spSiteData.relations.map((r) => {return {...r, to: tmp_listNames[r.toTableTitle]}}) + spSiteData.relations = spSiteData.relations.map((r) => {return {...r, toTableTitle: tmp_listNames[r.toTableTitle]}}) console.log("SPSiteData", spSiteData); + localStorage.setItem(storageKeyPrefix, JSON.stringify(spSiteData)); + return spSiteData } diff --git a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteDataToGoJSER.ts b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteDataToGoJSER.ts index 44a50f2c8..b78dd43eb 100644 --- a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteDataToGoJSER.ts +++ b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteDataToGoJSER.ts @@ -40,7 +40,8 @@ const getGoJSNodesFromSPSiteData = (spSiteData: SPSiteData) : { nodeDataArray: [ linkDataArray = spSiteData.relations.map(r => { return { from: r.fromTableTitle, to: r.toTableTitle, - text: r.fromX+":"+r.toX + text: r.fromX+":"+r.toX, + toText: "1" }}) return { nodeDataArray, linkDataArray} From fe6be569c513a841b64f15407121380df7c8436e Mon Sep 17 00:00:00 2001 From: NiklasWilhelm Date: Mon, 3 Oct 2022 21:58:52 +0200 Subject: [PATCH 04/14] wip --- .../components/SpSiteErDiagram.tsx | 1 + .../components/helpers/GoJSHelper.ts | 10 ++-- .../components/helpers/SPSiteData.ts | 18 +++--- .../components/helpers/SPSiteDataToGoJSER.ts | 60 ++++++++++++++----- 4 files changed, 62 insertions(+), 27 deletions(-) diff --git a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.tsx b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.tsx index 7b64cbcd6..b8c273af8 100644 --- a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.tsx +++ b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.tsx @@ -23,6 +23,7 @@ export default class SpSiteErDiagram extends React.Component { this.setState({ loadingProgress: progress }); }); + console.log("SPSiteData", spSiteData); // Transform to GoJS Model let goJSNodes = getGoJSNodesFromSPSiteData(spSiteData); // Set State diff --git a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/GoJSHelper.ts b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/GoJSHelper.ts index a9b8ef4bb..bd2181aaf 100644 --- a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/GoJSHelper.ts +++ b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/GoJSHelper.ts @@ -7,6 +7,7 @@ export const initDiagram = () => { { allowDelete: false, allowCopy: false, + initialAutoScale: go.Diagram.Uniform, layout: $(go.ForceDirectedLayout), model: $(go.GraphLinksModel, { @@ -56,6 +57,7 @@ export const initDiagram = () => { new go.Binding("text", "name")) ); + // define the Node template, representing an entity diagram.nodeTemplate = $(go.Node, "Auto", // the whole node panel @@ -121,8 +123,8 @@ export const initDiagram = () => { $(go.TextBlock, // the "from" label { textAlign: "center", - font: "bold 14px sans-serif", - stroke: "#1967B3", + font: "bold 16px sans-serif", + stroke: "#fdb400", segmentIndex: 0, segmentOffset: new go.Point(NaN, NaN), segmentOrientation: go.Link.OrientUpright @@ -131,8 +133,8 @@ export const initDiagram = () => { $(go.TextBlock, // the "to" label { textAlign: "center", - font: "bold 14px sans-serif", - stroke: "#1967B3", + font: "bold 16px sans-serif", + stroke: "#fdb400", segmentIndex: -1, segmentOffset: new go.Point(NaN, NaN), segmentOrientation: go.Link.OrientUpright diff --git a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteData.ts b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteData.ts index 9f9fa283d..ab73ed111 100644 --- a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteData.ts +++ b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteData.ts @@ -22,7 +22,7 @@ export interface SPTableField { type: string } export interface SPTableAlert { - type: "Warning" | "Error", + type: "Warning" | "Error" | "Info", title: string, } export interface SPRelation { @@ -31,11 +31,11 @@ export interface SPRelation { fromX: number | "n", toX: number | "m" } -const storageKeyPrefix = "reactpnpjsdiagram_sitegraphdata_" +const storageKey = "reactpnpjsdiagram_sitegraphdata" const getSPSiteData = async (spfxContext: any, force?: boolean, progress?: (number: number) => void) : Promise => { // return from cache - let spSiteDataFromCache = JSON.parse(localStorage.getItem(storageKeyPrefix)); + let spSiteDataFromCache = JSON.parse(localStorage.getItem(storageKey)); if (spSiteDataFromCache && !force) { progress(100); return spSiteDataFromCache; @@ -66,7 +66,7 @@ const getSPSiteData = async (spfxContext: any, force?: boolean, progress?: (numb let table: SPTable = { title: list.Title, fields: [], alerts: [] }; // Fields let fields = (await sp.web.lists.getById(list.Id).fields.filter("Hidden ne 1")()) - .filter(f => !f.Hidden).sort((a,b) => a.InternalName.charCodeAt(0) - b.InternalName.charCodeAt(0) ); + .filter(f => !f.Hidden).sort((a,b) => a.TypeDisplayName.charCodeAt(0) - b.TypeDisplayName.charCodeAt(0) ); table.fields = fields.map(f => { return { name: f.InternalName, @@ -75,6 +75,12 @@ const getSPSiteData = async (spfxContext: any, force?: boolean, progress?: (numb type: f.TypeDisplayName } }); + + // Table Alerts + !list.EnableVersioning && table.alerts.push({ title: "no versioning activated", type: "Error" }); + list.MajorVersionLimit && list.MajorVersionLimit > 100 && table.alerts.push({ title: `high max. version limit (${list.MajorVersionLimit})`, type: "Warning" }); + table.alerts.push({ title: `Crawling is ${list.NoCrawl ? 'inactive' : 'active'}`, type:"Info" }) + // add Table spSiteData.tables.push(table); @@ -98,9 +104,7 @@ const getSPSiteData = async (spfxContext: any, force?: boolean, progress?: (numb // resolve Ids spSiteData.relations = spSiteData.relations.map((r) => {return {...r, toTableTitle: tmp_listNames[r.toTableTitle]}}) - console.log("SPSiteData", spSiteData); - - localStorage.setItem(storageKeyPrefix, JSON.stringify(spSiteData)); + localStorage.setItem(storageKey, JSON.stringify(spSiteData)); return spSiteData } diff --git a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteDataToGoJSER.ts b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteDataToGoJSER.ts index b78dd43eb..c33391803 100644 --- a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteDataToGoJSER.ts +++ b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteDataToGoJSER.ts @@ -1,30 +1,55 @@ import { List } from "@pnp/sp/lists"; -import { SPSiteData, SPTableField } from "./SPSiteData"; +import { SPSiteData, SPTableAlert, SPTableField } from "./SPSiteData"; const colors = { 'red': '#be4b15', 'green': '#52ce60', - 'blue': '#6ea5f8', + 'blue': '#186ddf', 'lightred': '#fd8852', 'lightblue': '#afd4fe', 'lightgreen': '#b9e986', - 'pink': '#faadc1', - 'purple': '#d689ff', - 'orange': '#fdb400', + 'pink': '#f31eaf', + 'purple': '#881798', + 'orange': '#fddb01', + 'keycolor': '#fdb400', } -const colorByType: any = { - 'Lookup': colors.orange +const configByFieldType: any = { + 'default': { color: colors.purple, figure: "Ellipse" }, + 'Lookup': { color: colors.orange, figure: "TriangleRight" }, + 'Counter': { color: colors.keycolor, figure: "Diamond" }, + "Attachments": { color: colors.blue, figure: "Rectangle" }, + "Person or Group": { color: colors.green, figure: "RoundedRectangle" }, + "Single line of text": { color: colors.blue, figure: "Circle" }, + "Multiple lines of text": { color: colors.blue, figure: "Circle" }, + "Computed": { color: colors.blue, figure: "Ellipse" }, + "Date and Time": { color: colors.pink, figure: "Ellipse" }, + "Choice": { color: colors.blue, figure: "Ellipse" }, + "Hyperlink or Picture": { color: colors.blue, figure: "Ellipse" } } - const getNodeFromField = (f: SPTableField) => { - let isLookup = (f as any).TypeDisplayName == "Lookup" && (f as any).IsRelationship; - return { - name: f.name, - iskey: false, - figure: "Decision", - color: isLookup ? colors.orange : colors.purple - }; + let c = configByFieldType[f.type] || configByFieldType['default']; + let prefix = f.type == "Counter" ? "PK | " : (f.iskey && f.type == "Lookup" ? "FK | " : ""); + return { + name: prefix + f.name + ` (${f.type})`, + iskey: f.iskey, + figure: c.figure, + color: f.iskey ? colors.keycolor : c.color + }; +} +const configByAlert: any = { + 'Info': { color: colors.lightblue, figure: "LineRight" }, + 'Warning': { color: colors.orange, figure: "LineRight" }, + 'Error': { color: colors.red, figure: "LineRight" }, +} +const getNodeFromAlert = (a: SPTableAlert) => { + let c = configByAlert[a.type]; + return { + name: "#" + a.type + " | " + a.title, + iskey: false, + figure: c.figure, + color: c.color + }; } const getGoJSNodesFromSPSiteData = (spSiteData: SPSiteData) : { nodeDataArray: [], linkDataArray: [] } => { @@ -34,7 +59,10 @@ const getGoJSNodesFromSPSiteData = (spSiteData: SPSiteData) : { nodeDataArray: [ nodeDataArray = spSiteData.tables.map(t => { return { key: t.title, - items: t.fields.map(f => getNodeFromField(f)) + items: [ + ...t.alerts.map(a => getNodeFromAlert(a)), + ...t.fields.map(f => getNodeFromField(f)) + ] }}) linkDataArray = spSiteData.relations.map(r => { return { From f33c23603e9f685c8bfb29204ce0ac9aeb50b46a Mon Sep 17 00:00:00 2001 From: NiklasWilhelm Date: Mon, 3 Oct 2022 22:15:30 +0200 Subject: [PATCH 05/14] wip --- .../spSiteErDiagram/components/SpSiteErDiagram.tsx | 9 +++++++-- .../spSiteErDiagram/components/helpers/SPSiteData.ts | 6 ++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.tsx b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.tsx index b8c273af8..db39537ed 100644 --- a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.tsx +++ b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.tsx @@ -5,6 +5,7 @@ import { ReactDiagram } from 'gojs-react'; import getSPSiteData from './helpers/SPSiteData'; import { initDiagram } from './helpers/GoJSHelper'; import getGoJSNodesFromSPSiteData from './helpers/SPSiteDataToGoJSER'; +import { ProgressIndicator } from 'office-ui-fabric-react'; interface SpSiteDiagramState { loadingProgress: number, @@ -33,14 +34,18 @@ export default class SpSiteErDiagram extends React.Component { return (
- {this.state.loadingProgress != 100 || this.state.nodeDataArray.length == 0 ? -
Loading ({this.state.loadingProgress}%)
: + { // this.state.loadingProgress != 100 || this.state.nodeDataArray.length == 0 + this.state.loadingProgress != 100 || this.state.nodeDataArray.length == 0 ? +
+ +
: }
); diff --git a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteData.ts b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteData.ts index ab73ed111..bae1f2ca3 100644 --- a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteData.ts +++ b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteData.ts @@ -60,7 +60,7 @@ const getSPSiteData = async (spfxContext: any, force?: boolean, progress?: (numb progress && progress(loadedCount/totalCount * 100); // save names for later - tmp_listNames[`{${list.Id}}`] = list.Title; + tmp_listNames[`{${list.Id.toLocaleLowerCase()}}`] = list.Title; // Tables/Lists let table: SPTable = { title: list.Title, fields: [], alerts: [] }; @@ -102,7 +102,9 @@ const getSPSiteData = async (spfxContext: any, force?: boolean, progress?: (numb } // resolve Ids - spSiteData.relations = spSiteData.relations.map((r) => {return {...r, toTableTitle: tmp_listNames[r.toTableTitle]}}) + console.log("tmp_listNames",tmp_listNames); + console.log("asd", [...spSiteData.relations]); + spSiteData.relations = spSiteData.relations.map((r) => {return {...r, toTableTitle: tmp_listNames[r.toTableTitle.toLocaleLowerCase()]}}) localStorage.setItem(storageKey, JSON.stringify(spSiteData)); From 157db93bf58dba1f51999fa7f878753a23a709a6 Mon Sep 17 00:00:00 2001 From: NiklasWilhelm Date: Wed, 5 Oct 2022 22:20:14 +0200 Subject: [PATCH 06/14] moved to react.fc --- .../spSiteErDiagram/SpSiteErDiagramWebPart.ts | 15 ++-- .../components/ISpSiteErDiagramProps.ts | 8 --- .../components/SpSiteErDiagram.tsx | 70 ++++++++++--------- 3 files changed, 43 insertions(+), 50 deletions(-) delete mode 100644 samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/ISpSiteErDiagramProps.ts diff --git a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/SpSiteErDiagramWebPart.ts b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/SpSiteErDiagramWebPart.ts index 408929136..4c75a2433 100644 --- a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/SpSiteErDiagramWebPart.ts +++ b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/SpSiteErDiagramWebPart.ts @@ -9,8 +9,7 @@ import { BaseClientSideWebPart } from '@microsoft/sp-webpart-base'; import { IReadonlyTheme } from '@microsoft/sp-component-base'; import * as strings from 'SpSiteErDiagramWebPartStrings'; -import SpSiteErDiagram from './components/SpSiteErDiagram'; -import { ISpSiteErDiagramProps } from './components/ISpSiteErDiagramProps'; +import SpSiteErDiagram, { ISpSiteDiagramProps } from './components/SpSiteErDiagram'; export interface ISpSiteErDiagramWebPartProps { description: string; @@ -23,15 +22,15 @@ export default class SpSiteErDiagramWebPart extends BaseClientSideWebPart = React.createElement( + const element: React.ReactElement = React.createElement( SpSiteErDiagram, { context: this.context, - description: this.properties.description, - isDarkTheme: this._isDarkTheme, - environmentMessage: this._environmentMessage, - hasTeamsContext: !!this.context.sdks.microsoftTeams, - userDisplayName: this.context.pageContext.user.displayName + //description: this.properties.description, + //isDarkTheme: this._isDarkTheme, + //environmentMessage: this._environmentMessage, + //hasTeamsContext: !!this.context.sdks.microsoftTeams, + //userDisplayName: this.context.pageContext.user.displayName } ); ReactDom.render(element, this.domElement); diff --git a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/ISpSiteErDiagramProps.ts b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/ISpSiteErDiagramProps.ts deleted file mode 100644 index ff99b6ffc..000000000 --- a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/ISpSiteErDiagramProps.ts +++ /dev/null @@ -1,8 +0,0 @@ -export interface ISpSiteErDiagramProps { - context: any, - description: string; - isDarkTheme: boolean; - environmentMessage: string; - hasTeamsContext: boolean; - userDisplayName: string; -} diff --git a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.tsx b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.tsx index db39537ed..9607e3e30 100644 --- a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.tsx +++ b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.tsx @@ -1,53 +1,55 @@ import * as React from 'react'; import styles from './SpSiteErDiagram.module.scss'; -import { ISpSiteErDiagramProps } from './ISpSiteErDiagramProps'; import { ReactDiagram } from 'gojs-react'; import getSPSiteData from './helpers/SPSiteData'; import { initDiagram } from './helpers/GoJSHelper'; import getGoJSNodesFromSPSiteData from './helpers/SPSiteDataToGoJSER'; import { ProgressIndicator } from 'office-ui-fabric-react'; -interface SpSiteDiagramState { - loadingProgress: number, - nodeDataArray: any[], - linkDataArray: any[] +export interface ISpSiteDiagramProps { + context: any } -export default class SpSiteErDiagram extends React.Component { +const SpSiteErDiagram: React.FC = (props: ISpSiteDiagramProps) => { + // State: Data + const [loadingProgress, setLoadingProgress] = React.useState(0); + const [nodeDataArray, setNodeDataArray] = React.useState([]); + const [linkDataArray, setLinkDataArray] = React.useState([]); + // State: Options + const [optionRelationOnly, setOptionRelationOnly] = React.useState(false); - constructor(props: any) { - super(props); - this.state = { loadingProgress: 0, nodeDataArray: [], linkDataArray: []}; - } - - public async componentDidMount() { + const loadDiagram = async () => { // Get SP SiteData for ER Diagram - let spSiteData = await getSPSiteData(this.props.context, true, (progress) => { - this.setState({ loadingProgress: progress }); - }); + let spSiteData = await getSPSiteData(props.context, true, (progress) => {setLoadingProgress(progress);}); console.log("SPSiteData", spSiteData); // Transform to GoJS Model let goJSNodes = getGoJSNodesFromSPSiteData(spSiteData); // Set State - this.setState({nodeDataArray: goJSNodes.nodeDataArray, linkDataArray: goJSNodes.linkDataArray}); + setNodeDataArray(goJSNodes.nodeDataArray); + setLinkDataArray(goJSNodes.linkDataArray); } - public render(): React.ReactElement { - return ( -
- { // this.state.loadingProgress != 100 || this.state.nodeDataArray.length == 0 - this.state.loadingProgress != 100 || this.state.nodeDataArray.length == 0 ? -
- -
: - { + loadDiagram(); + }, [optionRelationOnly]); - />} -
- ); - } + + return ( +
+ { + loadingProgress != 100 || nodeDataArray.length == 0 ? +
+ +
: + } +
+ ); } + +export default SpSiteErDiagram; From 3ff4d771b3f7588b3fd79d9828ab48f288df78c9 Mon Sep 17 00:00:00 2001 From: NiklasWilhelm Date: Wed, 5 Oct 2022 23:03:53 +0200 Subject: [PATCH 07/14] interfaces + optionRelationOnly --- .../components/SpSiteErDiagram.tsx | 45 +++++++++++-------- .../components/helpers/SPSiteData.ts | 22 ++++----- .../components/helpers/SPSiteDataToGoJSER.ts | 32 +++++++++---- 3 files changed, 63 insertions(+), 36 deletions(-) diff --git a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.tsx b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.tsx index 9607e3e30..2c7b7d668 100644 --- a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.tsx +++ b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.tsx @@ -4,7 +4,7 @@ import { ReactDiagram } from 'gojs-react'; import getSPSiteData from './helpers/SPSiteData'; import { initDiagram } from './helpers/GoJSHelper'; import getGoJSNodesFromSPSiteData from './helpers/SPSiteDataToGoJSER'; -import { ProgressIndicator } from 'office-ui-fabric-react'; +import { CommandBar, ProgressIndicator } from 'office-ui-fabric-react'; export interface ISpSiteDiagramProps { context: any @@ -17,37 +17,46 @@ const SpSiteErDiagram: React.FC = (props: ISpSiteDiagramPro // State: Options const [optionRelationOnly, setOptionRelationOnly] = React.useState(false); - const loadDiagram = async () => { + const loadDiagram = async (refresh: boolean) => { + if(refresh) { setLoadingProgress(0); setNodeDataArray([]); } // Get SP SiteData for ER Diagram - let spSiteData = await getSPSiteData(props.context, true, (progress) => {setLoadingProgress(progress);}); + let spSiteData = await getSPSiteData(props.context, refresh, (progress) => {setLoadingProgress(progress);}); console.log("SPSiteData", spSiteData); // Transform to GoJS Model let goJSNodes = getGoJSNodesFromSPSiteData(spSiteData); // Set State - setNodeDataArray(goJSNodes.nodeDataArray); + setNodeDataArray(goJSNodes.nodeDataArray.filter((n) => + optionRelationOnly && goJSNodes.linkDataArray.some(l => l.from == n.key || l.to == n.key) || !optionRelationOnly // Filter optionRelationOnly + )); setLinkDataArray(goJSNodes.linkDataArray); } // "ComponentDitMount" React.useEffect(() => { - loadDiagram(); + loadDiagram(false); }, [optionRelationOnly]); return ( -
- { - loadingProgress != 100 || nodeDataArray.length == 0 ? -
- -
: - } +
+ { loadDiagram(true); }}, + {key: '2', text: 'Only Lists with Relations', iconProps: { iconName: optionRelationOnly ? 'CheckboxComposite' : 'Checkbox' }, onClick: () => { setOptionRelationOnly(!optionRelationOnly); }} + ]} /> +
+ { loadingProgress != 100 && nodeDataArray.length == 0 ? +
+ +
: + + } +
); } diff --git a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteData.ts b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteData.ts index bae1f2ca3..dabc2e169 100644 --- a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteData.ts +++ b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteData.ts @@ -11,6 +11,7 @@ export interface SPSiteData { relations: SPRelation[] } export interface SPTable { + id: string, title: string, fields: SPTableField[], alerts: SPTableAlert[] @@ -63,7 +64,7 @@ const getSPSiteData = async (spfxContext: any, force?: boolean, progress?: (numb tmp_listNames[`{${list.Id.toLocaleLowerCase()}}`] = list.Title; // Tables/Lists - let table: SPTable = { title: list.Title, fields: [], alerts: [] }; + let table: SPTable = { id: list.Id, title: list.Title, fields: [], alerts: [] }; // Fields let fields = (await sp.web.lists.getById(list.Id).fields.filter("Hidden ne 1")()) .filter(f => !f.Hidden).sort((a,b) => a.TypeDisplayName.charCodeAt(0) - b.TypeDisplayName.charCodeAt(0) ); @@ -71,7 +72,7 @@ const getSPSiteData = async (spfxContext: any, force?: boolean, progress?: (numb return { name: f.InternalName, displayName: f.Title, - iskey: (f as any).TypeDisplayName == "Lookup" && (f as any).IsRelationship, + iskey: (f as any).TypeDisplayName == "Lookup" && (f as any).IsRelationship && (f as any).LookupList != '' && (f as any).LookupList != "AppPrincipals", type: f.TypeDisplayName } }); @@ -87,15 +88,16 @@ const getSPSiteData = async (spfxContext: any, force?: boolean, progress?: (numb // Links/Lookups let relations: SPRelation[] = fields.filter(f => f.TypeDisplayName == "Lookup" && (f as any).IsRelationship && - (f as any).LookupList != '' && - (f as any).LookupList != "AppPrincipals" + (f as any).LookupList != '' && (f as any).LookupList != "AppPrincipals" ).map(f => - {return { - fromTableTitle: list.Title, - toTableTitle: (f as any).LookupList!, - fromX: "n", - toX: 1 - }}); + { + return { + fromTableTitle: list.Title, + toTableTitle: (f as any).LookupList!, + fromX: "n", + toX: 1 + } + }); spSiteData.relations = [...spSiteData.relations, ...relations]; } diff --git a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteDataToGoJSER.ts b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteDataToGoJSER.ts index c33391803..0ebbcd8e5 100644 --- a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteDataToGoJSER.ts +++ b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteDataToGoJSER.ts @@ -27,7 +27,7 @@ const configByFieldType: any = { "Choice": { color: colors.blue, figure: "Ellipse" }, "Hyperlink or Picture": { color: colors.blue, figure: "Ellipse" } } -const getNodeFromField = (f: SPTableField) => { +const getNodeItemFromField = (f: SPTableField) : GoJSNodeItem => { let c = configByFieldType[f.type] || configByFieldType['default']; let prefix = f.type == "Counter" ? "PK | " : (f.iskey && f.type == "Lookup" ? "FK | " : ""); return { @@ -42,7 +42,7 @@ const configByAlert: any = { 'Warning': { color: colors.orange, figure: "LineRight" }, 'Error': { color: colors.red, figure: "LineRight" }, } -const getNodeFromAlert = (a: SPTableAlert) => { +const getNodeItemFromAlert = (a: SPTableAlert) : GoJSNodeItem => { let c = configByAlert[a.type]; return { name: "#" + a.type + " | " + a.title, @@ -52,16 +52,32 @@ const getNodeFromAlert = (a: SPTableAlert) => { }; } -const getGoJSNodesFromSPSiteData = (spSiteData: SPSiteData) : { nodeDataArray: [], linkDataArray: [] } => { +export interface GoJSNode { + key: string, + items: GoJSNodeItem[] +} +export interface GoJSNodeItem { + name: string, + iskey: boolean, + figure: string, + color: string +} +export interface GoJSLink { + from: string, + to: string, + text: string, + toText: string +} +const getGoJSNodesFromSPSiteData = (spSiteData: SPSiteData) : { nodeDataArray: GoJSNode[], linkDataArray: GoJSLink[] } => { - let nodeDataArray: any = []; - let linkDataArray: any = []; + let nodeDataArray: GoJSNode[] = []; + let linkDataArray: GoJSLink[] = []; nodeDataArray = spSiteData.tables.map(t => { return { key: t.title, items: [ - ...t.alerts.map(a => getNodeFromAlert(a)), - ...t.fields.map(f => getNodeFromField(f)) + ...t.alerts.map(a => getNodeItemFromAlert(a)), + ...t.fields.map(f => getNodeItemFromField(f)) ] }}) @@ -72,6 +88,6 @@ const getGoJSNodesFromSPSiteData = (spSiteData: SPSiteData) : { nodeDataArray: [ toText: "1" }}) - return { nodeDataArray, linkDataArray} + return { nodeDataArray, linkDataArray } } export default getGoJSNodesFromSPSiteData; \ No newline at end of file From a97693ef1ed6f3fd064e4f9f6d8e4387c6227d29 Mon Sep 17 00:00:00 2001 From: NiklasWilhelm Date: Wed, 5 Oct 2022 23:47:08 +0200 Subject: [PATCH 08/14] internalName switch --- .../spSiteErDiagram/components/SpSiteErDiagram.tsx | 11 ++++++----- .../spSiteErDiagram/components/helpers/GoJSHelper.ts | 4 ++-- .../spSiteErDiagram/components/helpers/SPSiteData.ts | 6 +++++- .../components/helpers/SPSiteDataToGoJSER.ts | 10 +++++----- 4 files changed, 18 insertions(+), 13 deletions(-) diff --git a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.tsx b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.tsx index 2c7b7d668..8f5e6a07a 100644 --- a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.tsx +++ b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.tsx @@ -15,7 +15,8 @@ const SpSiteErDiagram: React.FC = (props: ISpSiteDiagramPro const [nodeDataArray, setNodeDataArray] = React.useState([]); const [linkDataArray, setLinkDataArray] = React.useState([]); // State: Options - const [optionRelationOnly, setOptionRelationOnly] = React.useState(false); + const [optionRelationOnly, setOptionRelationOnly] = React.useState(true); + const [useInternalName, setUseInternalName] = React.useState(true); const loadDiagram = async (refresh: boolean) => { if(refresh) { setLoadingProgress(0); setNodeDataArray([]); } @@ -23,7 +24,7 @@ const SpSiteErDiagram: React.FC = (props: ISpSiteDiagramPro let spSiteData = await getSPSiteData(props.context, refresh, (progress) => {setLoadingProgress(progress);}); console.log("SPSiteData", spSiteData); // Transform to GoJS Model - let goJSNodes = getGoJSNodesFromSPSiteData(spSiteData); + let goJSNodes = getGoJSNodesFromSPSiteData(spSiteData, useInternalName ? "name" : "displayName"); // Set State setNodeDataArray(goJSNodes.nodeDataArray.filter((n) => optionRelationOnly && goJSNodes.linkDataArray.some(l => l.from == n.key || l.to == n.key) || !optionRelationOnly // Filter optionRelationOnly @@ -34,14 +35,14 @@ const SpSiteErDiagram: React.FC = (props: ISpSiteDiagramPro // "ComponentDitMount" React.useEffect(() => { loadDiagram(false); - }, [optionRelationOnly]); - + }, [optionRelationOnly, useInternalName]); return (
{ loadDiagram(true); }}, - {key: '2', text: 'Only Lists with Relations', iconProps: { iconName: optionRelationOnly ? 'CheckboxComposite' : 'Checkbox' }, onClick: () => { setOptionRelationOnly(!optionRelationOnly); }} + {key: '2', text: 'Only Lists with Relations', iconProps: { iconName: optionRelationOnly ? 'CheckboxComposite' : 'Checkbox' }, onClick: () => { setOptionRelationOnly(!optionRelationOnly); }}, + {key: '3', text: useInternalName ? "InternalName" : "DisplayName", iconProps: { iconName: useInternalName ? 'ToggleLeft' : 'ToggleRight' }, onClick: () => { setUseInternalName(!useInternalName); }} ]} />
{ loadingProgress != 100 && nodeDataArray.length == 0 ? diff --git a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/GoJSHelper.ts b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/GoJSHelper.ts index bd2181aaf..6fbf9e59f 100644 --- a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/GoJSHelper.ts +++ b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/GoJSHelper.ts @@ -124,7 +124,7 @@ export const initDiagram = () => { { textAlign: "center", font: "bold 16px sans-serif", - stroke: "#fdb400", + stroke: "#333333", segmentIndex: 0, segmentOffset: new go.Point(NaN, NaN), segmentOrientation: go.Link.OrientUpright @@ -134,7 +134,7 @@ export const initDiagram = () => { { textAlign: "center", font: "bold 16px sans-serif", - stroke: "#fdb400", + stroke: "#333333", segmentIndex: -1, segmentOffset: new go.Point(NaN, NaN), segmentOrientation: go.Link.OrientUpright diff --git a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteData.ts b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteData.ts index dabc2e169..61b30629d 100644 --- a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteData.ts +++ b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteData.ts @@ -20,6 +20,7 @@ export interface SPTableField { name: string, displayName: string, iskey: boolean, + isunique: boolean, type: string } export interface SPTableAlert { @@ -67,12 +68,15 @@ const getSPSiteData = async (spfxContext: any, force?: boolean, progress?: (numb let table: SPTable = { id: list.Id, title: list.Title, fields: [], alerts: [] }; // Fields let fields = (await sp.web.lists.getById(list.Id).fields.filter("Hidden ne 1")()) - .filter(f => !f.Hidden).sort((a,b) => a.TypeDisplayName.charCodeAt(0) - b.TypeDisplayName.charCodeAt(0) ); + .filter(f => !f.Hidden && (f as any).LookupList != "AppPrincipals" && ((f as any).CanBeDeleted || (f as any).InternalName == "Title")) + .sort((a,b) => a.InternalName.charCodeAt(0) - b.InternalName.charCodeAt(0) ); table.fields = fields.map(f => { + f.InternalName.indexOf("_") > -1 && console.log(f); return { name: f.InternalName, displayName: f.Title, iskey: (f as any).TypeDisplayName == "Lookup" && (f as any).IsRelationship && (f as any).LookupList != '' && (f as any).LookupList != "AppPrincipals", + isunique: f.EnforceUniqueValues, type: f.TypeDisplayName } }); diff --git a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteDataToGoJSER.ts b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteDataToGoJSER.ts index 0ebbcd8e5..ac4aa014b 100644 --- a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteDataToGoJSER.ts +++ b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteDataToGoJSER.ts @@ -16,7 +16,7 @@ const colors = { } const configByFieldType: any = { 'default': { color: colors.purple, figure: "Ellipse" }, - 'Lookup': { color: colors.orange, figure: "TriangleRight" }, + 'Lookup': { color: colors.purple, figure: "TriangleLeft" }, 'Counter': { color: colors.keycolor, figure: "Diamond" }, "Attachments": { color: colors.blue, figure: "Rectangle" }, "Person or Group": { color: colors.green, figure: "RoundedRectangle" }, @@ -27,11 +27,11 @@ const configByFieldType: any = { "Choice": { color: colors.blue, figure: "Ellipse" }, "Hyperlink or Picture": { color: colors.blue, figure: "Ellipse" } } -const getNodeItemFromField = (f: SPTableField) : GoJSNodeItem => { +const getNodeItemFromField = (f: SPTableField, fieldNameProperty: string = "name") : GoJSNodeItem => { let c = configByFieldType[f.type] || configByFieldType['default']; let prefix = f.type == "Counter" ? "PK | " : (f.iskey && f.type == "Lookup" ? "FK | " : ""); return { - name: prefix + f.name + ` (${f.type})`, + name: prefix + (f as any)[fieldNameProperty] + ` (${f.type})`, iskey: f.iskey, figure: c.figure, color: f.iskey ? colors.keycolor : c.color @@ -68,7 +68,7 @@ export interface GoJSLink { text: string, toText: string } -const getGoJSNodesFromSPSiteData = (spSiteData: SPSiteData) : { nodeDataArray: GoJSNode[], linkDataArray: GoJSLink[] } => { +const getGoJSNodesFromSPSiteData = (spSiteData: SPSiteData, fieldNameProperty: string = "name") : { nodeDataArray: GoJSNode[], linkDataArray: GoJSLink[] } => { let nodeDataArray: GoJSNode[] = []; let linkDataArray: GoJSLink[] = []; @@ -77,7 +77,7 @@ const getGoJSNodesFromSPSiteData = (spSiteData: SPSiteData) : { nodeDataArray: G key: t.title, items: [ ...t.alerts.map(a => getNodeItemFromAlert(a)), - ...t.fields.map(f => getNodeItemFromField(f)) + ...t.fields.map(f => getNodeItemFromField(f, fieldNameProperty)) ] }}) From 8a57fbfa190011eaef785fd8058ae25f37250176 Mon Sep 17 00:00:00 2001 From: NiklasWilhelm Date: Thu, 6 Oct 2022 00:00:10 +0200 Subject: [PATCH 09/14] custom sorting --- .../components/helpers/SPSiteData.ts | 6 ++-- .../components/helpers/SPSiteDataToGoJSER.ts | 32 ++++++++++++------- 2 files changed, 24 insertions(+), 14 deletions(-) diff --git a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteData.ts b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteData.ts index 61b30629d..84410d8bb 100644 --- a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteData.ts +++ b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteData.ts @@ -68,8 +68,10 @@ const getSPSiteData = async (spfxContext: any, force?: boolean, progress?: (numb let table: SPTable = { id: list.Id, title: list.Title, fields: [], alerts: [] }; // Fields let fields = (await sp.web.lists.getById(list.Id).fields.filter("Hidden ne 1")()) - .filter(f => !f.Hidden && (f as any).LookupList != "AppPrincipals" && ((f as any).CanBeDeleted || (f as any).InternalName == "Title")) - .sort((a,b) => a.InternalName.charCodeAt(0) - b.InternalName.charCodeAt(0) ); + .filter(f => !f.Hidden && (f as any).LookupList != "AppPrincipals" && + ((f as any).CanBeDeleted || (f as any).InternalName == "Title" || (f as any).InternalName == "Id") + ) + //.sort((a,b) => a.InternalName.charCodeAt(0) - b.InternalName.charCodeAt(0) ); table.fields = fields.map(f => { f.InternalName.indexOf("_") > -1 && console.log(f); return { diff --git a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteDataToGoJSER.ts b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteDataToGoJSER.ts index ac4aa014b..03191321a 100644 --- a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteDataToGoJSER.ts +++ b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteDataToGoJSER.ts @@ -10,6 +10,7 @@ const colors = { 'lightblue': '#afd4fe', 'lightgreen': '#b9e986', 'pink': '#f31eaf', + 'darkPink': '#7c158a', 'purple': '#881798', 'orange': '#fddb01', 'keycolor': '#fdb400', @@ -18,14 +19,15 @@ const configByFieldType: any = { 'default': { color: colors.purple, figure: "Ellipse" }, 'Lookup': { color: colors.purple, figure: "TriangleLeft" }, 'Counter': { color: colors.keycolor, figure: "Diamond" }, - "Attachments": { color: colors.blue, figure: "Rectangle" }, - "Person or Group": { color: colors.green, figure: "RoundedRectangle" }, + "Attachments": { color: colors.blue, figure: "Circle" }, + "Person or Group": { color: colors.green, figure: "Circle" }, "Single line of text": { color: colors.blue, figure: "Circle" }, "Multiple lines of text": { color: colors.blue, figure: "Circle" }, - "Computed": { color: colors.blue, figure: "Ellipse" }, - "Date and Time": { color: colors.pink, figure: "Ellipse" }, - "Choice": { color: colors.blue, figure: "Ellipse" }, - "Hyperlink or Picture": { color: colors.blue, figure: "Ellipse" } + "Computed": { color: colors.blue, figure: "Circle" }, + "Date and Time": { color: colors.pink, figure: "Circle" }, + "Choice": { color: colors.blue, figure: "Circle" }, + "Number": { color: colors.darkPink, figure: "Circle" }, + "Hyperlink or Picture": { color: colors.blue, figure: "Circle" } } const getNodeItemFromField = (f: SPTableField, fieldNameProperty: string = "name") : GoJSNodeItem => { let c = configByFieldType[f.type] || configByFieldType['default']; @@ -34,13 +36,17 @@ const getNodeItemFromField = (f: SPTableField, fieldNameProperty: string = "name name: prefix + (f as any)[fieldNameProperty] + ` (${f.type})`, iskey: f.iskey, figure: c.figure, - color: f.iskey ? colors.keycolor : c.color + color: f.iskey ? colors.keycolor : c.color, + order: f.type == "Counter" ? "1" : + f.type == "Lookup" && f.iskey ? "2" : + f.type == "Lookup" ? "3" : + f.type }; } const configByAlert: any = { - 'Info': { color: colors.lightblue, figure: "LineRight" }, - 'Warning': { color: colors.orange, figure: "LineRight" }, - 'Error': { color: colors.red, figure: "LineRight" }, + 'Info': { color: colors.lightblue, figure: "Rectangle" }, + 'Warning': { color: colors.orange, figure: "Rectangle" }, + 'Error': { color: colors.red, figure: "Rectangle" }, } const getNodeItemFromAlert = (a: SPTableAlert) : GoJSNodeItem => { let c = configByAlert[a.type]; @@ -48,7 +54,8 @@ const getNodeItemFromAlert = (a: SPTableAlert) : GoJSNodeItem => { name: "#" + a.type + " | " + a.title, iskey: false, figure: c.figure, - color: c.color + color: c.color, + order: "#" }; } @@ -57,6 +64,7 @@ export interface GoJSNode { items: GoJSNodeItem[] } export interface GoJSNodeItem { + order: string, name: string, iskey: boolean, figure: string, @@ -78,7 +86,7 @@ const getGoJSNodesFromSPSiteData = (spSiteData: SPSiteData, fieldNameProperty: s items: [ ...t.alerts.map(a => getNodeItemFromAlert(a)), ...t.fields.map(f => getNodeItemFromField(f, fieldNameProperty)) - ] + ].sort((a,b) => a.order.charCodeAt(0) - b.order.charCodeAt(0)) }}) linkDataArray = spSiteData.relations.map(r => { return { From 4a6a37338b24f5d051f4fe8bc7007e033ce466bf Mon Sep 17 00:00:00 2001 From: NiklasWilhelm Date: Fri, 7 Oct 2022 09:03:18 +0200 Subject: [PATCH 10/14] more options --- .../components/SpSiteErDiagram.tsx | 31 +++++++++++++++---- .../components/helpers/SPSiteData.ts | 9 ++++-- .../components/helpers/SPSiteDataToGoJSER.ts | 6 ++-- 3 files changed, 35 insertions(+), 11 deletions(-) diff --git a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.tsx b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.tsx index 8f5e6a07a..19a924141 100644 --- a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.tsx +++ b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.tsx @@ -5,11 +5,14 @@ import getSPSiteData from './helpers/SPSiteData'; import { initDiagram } from './helpers/GoJSHelper'; import getGoJSNodesFromSPSiteData from './helpers/SPSiteDataToGoJSER'; import { CommandBar, ProgressIndicator } from 'office-ui-fabric-react'; +import { WebPartContext } from '@microsoft/sp-webpart-base'; export interface ISpSiteDiagramProps { - context: any + context: WebPartContext } const SpSiteErDiagram: React.FC = (props: ISpSiteDiagramProps) => { + // Refs + const diagramRef = React.useRef(); // State: Data const [loadingProgress, setLoadingProgress] = React.useState(0); const [nodeDataArray, setNodeDataArray] = React.useState([]); @@ -17,6 +20,8 @@ const SpSiteErDiagram: React.FC = (props: ISpSiteDiagramPro // State: Options const [optionRelationOnly, setOptionRelationOnly] = React.useState(true); const [useInternalName, setUseInternalName] = React.useState(true); + const [alertsActive, setAlertsActive] = React.useState(true); + const [fieldsActive, setFieldsActive] = React.useState(true); const loadDiagram = async (refresh: boolean) => { if(refresh) { setLoadingProgress(0); setNodeDataArray([]); } @@ -24,7 +29,7 @@ const SpSiteErDiagram: React.FC = (props: ISpSiteDiagramPro let spSiteData = await getSPSiteData(props.context, refresh, (progress) => {setLoadingProgress(progress);}); console.log("SPSiteData", spSiteData); // Transform to GoJS Model - let goJSNodes = getGoJSNodesFromSPSiteData(spSiteData, useInternalName ? "name" : "displayName"); + let goJSNodes = getGoJSNodesFromSPSiteData(spSiteData, useInternalName ? "name" : "displayName", alertsActive, fieldsActive); // Set State setNodeDataArray(goJSNodes.nodeDataArray.filter((n) => optionRelationOnly && goJSNodes.linkDataArray.some(l => l.from == n.key || l.to == n.key) || !optionRelationOnly // Filter optionRelationOnly @@ -35,21 +40,35 @@ const SpSiteErDiagram: React.FC = (props: ISpSiteDiagramPro // "ComponentDitMount" React.useEffect(() => { loadDiagram(false); - }, [optionRelationOnly, useInternalName]); + }, [optionRelationOnly, useInternalName, alertsActive, fieldsActive]); + + const downloadAsImage = () => { + if(diagramRef && diagramRef.current) { + let canvas = (diagramRef.current as any).divRef.current.firstChild; + console.log((diagramRef.current as any).divRef.current); + var link = document.createElement('a'); + link.download = props.context.pageContext.web.title + '_ERDiagram.png'; + link.href = canvas.toDataURL() + link.click(); + } + } return (
{ loadDiagram(true); }}, - {key: '2', text: 'Only Lists with Relations', iconProps: { iconName: optionRelationOnly ? 'CheckboxComposite' : 'Checkbox' }, onClick: () => { setOptionRelationOnly(!optionRelationOnly); }}, - {key: '3', text: useInternalName ? "InternalName" : "DisplayName", iconProps: { iconName: useInternalName ? 'ToggleLeft' : 'ToggleRight' }, onClick: () => { setUseInternalName(!useInternalName); }} + {key: '2', text: 'Only lists with relations', iconProps: { iconName: optionRelationOnly ? 'CheckboxComposite' : 'Checkbox' }, onClick: () => { setOptionRelationOnly(!optionRelationOnly); }}, + {key: '2', text: 'Show alerts', iconProps: { iconName: alertsActive ? 'CheckboxComposite' : 'Checkbox' }, onClick: () => { setAlertsActive(!alertsActive); }}, + {key: '2', text: 'Show fields', iconProps: { iconName: fieldsActive ? 'CheckboxComposite' : 'Checkbox' }, onClick: () => { setFieldsActive(!fieldsActive); }}, + {key: '3', text: useInternalName ? "InternalName" : "DisplayName", iconProps: { iconName: useInternalName ? 'ToggleLeft' : 'ToggleRight' }, onClick: () => { setUseInternalName(!useInternalName); }}, + {key: '4', text: "Download as image", iconProps: { iconName: 'Share' }, onClick: () => { downloadAsImage() }} ]} />
{ loadingProgress != 100 && nodeDataArray.length == 0 ?
: - 3500 && list.ItemCount < 5000 && table.alerts.push({ title: `Itemcount (${list.ItemCount}) will reach soon 5k => check if all necessary columns are indexed !!`, type:"Error" }); + list.ItemCount > 5000 && table.alerts.push({ title: `Itemcount (${list.ItemCount}) > 5k. Filter or sorting might not work anymore`, type:"Error" }); + !list.EnableVersioning && table.alerts.push({ title: "no versioning activated", type: "Warning" }); list.MajorVersionLimit && list.MajorVersionLimit > 100 && table.alerts.push({ title: `high max. version limit (${list.MajorVersionLimit})`, type: "Warning" }); - table.alerts.push({ title: `Crawling is ${list.NoCrawl ? 'inactive' : 'active'}`, type:"Info" }) + // Infos + table.alerts.push({ title: `Crawling is ${list.NoCrawl ? 'inactive' : 'active'}`, type:"Info" }); + table.alerts.push({ title: `Item Count: ${list.ItemCount}`, type:"Info" }); + table.alerts.push({ title: `ContentTypes ${list.ContentTypesEnabled ? 'enabled' : 'disabled'}`, type:"Info" }); // add Table spSiteData.tables.push(table); diff --git a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteDataToGoJSER.ts b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteDataToGoJSER.ts index 03191321a..4c3409ed6 100644 --- a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteDataToGoJSER.ts +++ b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteDataToGoJSER.ts @@ -76,7 +76,7 @@ export interface GoJSLink { text: string, toText: string } -const getGoJSNodesFromSPSiteData = (spSiteData: SPSiteData, fieldNameProperty: string = "name") : { nodeDataArray: GoJSNode[], linkDataArray: GoJSLink[] } => { +const getGoJSNodesFromSPSiteData = (spSiteData: SPSiteData, fieldNameProperty: string = "name", alertsActive = true, fieldsActive = true) : { nodeDataArray: GoJSNode[], linkDataArray: GoJSLink[] } => { let nodeDataArray: GoJSNode[] = []; let linkDataArray: GoJSLink[] = []; @@ -84,8 +84,8 @@ const getGoJSNodesFromSPSiteData = (spSiteData: SPSiteData, fieldNameProperty: s nodeDataArray = spSiteData.tables.map(t => { return { key: t.title, items: [ - ...t.alerts.map(a => getNodeItemFromAlert(a)), - ...t.fields.map(f => getNodeItemFromField(f, fieldNameProperty)) + ...(alertsActive ? t.alerts.map(a => getNodeItemFromAlert(a)) : []), + ...(fieldsActive ? t.fields.map(f => getNodeItemFromField(f, fieldNameProperty)) : []) ].sort((a,b) => a.order.charCodeAt(0) - b.order.charCodeAt(0)) }}) From 2ccd5e9d96f350a76035d6d8e3f642e228b4a212 Mon Sep 17 00:00:00 2001 From: NiklasWilhelm Date: Fri, 7 Oct 2022 17:22:26 +0200 Subject: [PATCH 11/14] readme --- .../react-pnpjs-spsite-er-diagram/README.md | 142 ++++++++++++------ .../assets/SPERasAppPage.png | Bin 0 -> 281735 bytes .../assets/SPERasAppPageFullScreen.png | Bin 0 -> 281780 bytes .../config/package-solution.json | 2 +- 4 files changed, 95 insertions(+), 49 deletions(-) create mode 100644 samples/react-pnpjs-spsite-er-diagram/assets/SPERasAppPage.png create mode 100644 samples/react-pnpjs-spsite-er-diagram/assets/SPERasAppPageFullScreen.png diff --git a/samples/react-pnpjs-spsite-er-diagram/README.md b/samples/react-pnpjs-spsite-er-diagram/README.md index eec639c89..66a7b239a 100644 --- a/samples/react-pnpjs-spsite-er-diagram/README.md +++ b/samples/react-pnpjs-spsite-er-diagram/README.md @@ -1,73 +1,119 @@ -# react-pnpjs-spsite-er-diagram - +# Site ER Diagram ## Summary -Short summary on functionality and used technologies. +This web parts loads all lists on a site and display it in a Entity Relationship Diagram (ERD). -[picture of the solution in action, if possible] +![Best to create a AppPage with the webpart](assets/SPERasAppPage.png) +![ER Webpart in fullscreen](assets/SPERasAppPageFullScreen.png) -## Used SharePoint Framework Version - -![version](https://img.shields.io/badge/version-1.13-green.svg) +## Compatibility +![SPFx 1.14](https://img.shields.io/badge/SPFx-1.14-green.svg) +![Node.js v14 | v12](https://img.shields.io/badge/Node.js-v14%20%7C%20v12-green.svg) +![Compatible with SharePoint Online](https://img.shields.io/badge/SharePoint%20Online-Compatible-green.svg) +![Does not work with SharePoint 2019](https://img.shields.io/badge/SharePoint%20Server%202019-Incompatible-red.svg "SharePoint Server 2019 requires SPFx 1.4.1 or lower") +![Does not work with SharePoint 2016 (Feature Pack 2)](https://img.shields.io/badge/SharePoint%20Server%202016%20(Feature%20Pack%202)-Incompatible-red.svg "SharePoint Server 2016 Feature Pack 2 requires SPFx 1.1") +![Local Workbench Unsupported](https://img.shields.io/badge/Local%20Workbench-Unsupported-red.svg "Local workbench is no longer available as of SPFx 1.13 and above") +![Hosted Workbench Compatible](https://img.shields.io/badge/Hosted%20Workbench-Compatible-green.svg) +![Compatible with Remote Containers](https://img.shields.io/badge/Remote%20Containers-Compatible-green.svg) ## Applies to -- [SharePoint Framework](https://aka.ms/spfx) -- [Microsoft 365 tenant](https://docs.microsoft.com/en-us/sharepoint/dev/spfx/set-up-your-developer-tenant) - +* [SharePoint Framework](https://docs.microsoft.com/sharepoint/dev/spfx/sharepoint-framework-overview) +* [Microsoft 365 tenant](https://docs.microsoft.com/sharepoint/dev/spfx/set-up-your-development-environment) > Get your own free development tenant by subscribing to [Microsoft 365 developer program](http://aka.ms/o365devprogram) -## Prerequisites - -> Any special pre-requisites? - ## Solution + + +Solution|Author(s) +--------|--------- +react-pnpjs-spsite-er-diagram | [Niklas Wilhelm](https://github.com/ICTNiklasWilhelm) ([@NiklasWilhelm4](https://twitter.com/@NiklasWilhelm4)), NetForce 365 GmbH (HubSite 365) ## Version history -| Version | Date | Comments | -| ------- | ---------------- | --------------- | -| 1.1 | March 10, 2021 | Update comment | -| 1.0 | January 29, 2021 | Initial release | +Version|Date|Comments +-------|----|-------- +1.0|October 07, 2022|Initial release -## Disclaimer +## Minimal path to awesome +* Clone this repository (or [download this solution as a .ZIP file](https://pnp.github.io/download-partial/?url=https://github.com/pnp/sp-dev-fx-webparts/tree/main/samples/react-pnpjs-spsite-er-diagram) then unzip it) +* From your command line, change your current directory to the directory containing this sample (`react-pnpjs-spsite-er-diagram`, located under `samples`) +* in the command line run: + * `npm install` + * `gulp serve` -**THIS CODE IS PROVIDED _AS IS_ WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.** - ---- - -## Minimal Path to Awesome - -- Clone this repository -- Ensure that you are at the solution folder -- in the command-line run: - - **npm install** - - **gulp serve** - -> Include any additional steps as needed. +> This sample can also be opened with [VS Code Remote Development](https://code.visualstudio.com/docs/remote/remote-overview). Visit for further instructions. ## Features -Description of the extension that expands upon high-level summary above. +This project can be used as a starting point for any visualisation of SharePoint Data. Currently it's using GoJS as dependency for the ER Diagram (in productive enviroment you would need to get a license for it). The data layer is abstract so it's possible to use a different library (like three.js) as presentation layer. -This extension illustrates the following concepts: +* the Data gets cached, to see changes made to the lists/lookups a "refresh" is needed +* alerts/warnings for the lists are displayed as well (Versioning/ItemCount/Threshholdlimit/..) +* easy opt/in/out of alerts and fields +* easy switch between Internal-/DisplayName +* Download current canvas as image -- topic 1 -- topic 2 -- topic 3 + -> Notice that better pictures and documentation will increase the sample usage and the value you are providing for others. Thanks for your submissions advance. + + +## Help + + + +We do not support samples, but this community is always willing to help, and we want to improve these samples. We use GitHub to track issues, which makes it easy for community members to volunteer their time and help resolve issues. + +If you're having issues building the solution, please run [spfx doctor](https://pnp.github.io/cli-microsoft365/cmd/spfx/spfx-doctor/) from within the solution folder to diagnose incompatibility issues with your environment. + +You can try looking at [issues related to this sample](https://github.com/pnp/sp-dev-fx-webparts/issues?q=label%3A%22sample%3A%20react-pnpjs-spsite-er-diagram%22) to see if anybody else is having the same issues. + +You can also try looking at [discussions related to this sample](https://github.com/pnp/sp-dev-fx-webparts/discussions?discussions_q=react-pnpjs-spsite-er-diagram) and see what the community is saying. + +If you encounter any issues using this sample, [create a new issue](https://github.com/pnp/sp-dev-fx-webparts/issues/new?assignees=&labels=Needs%3A+Triage+%3Amag%3A%2Ctype%3Abug-suspected%2Csample%3A%20react-pnpjs-spsite-er-diagram&template=bug-report.yml&sample=react-pnpjs-spsite-er-diagram&authors=@YOURGITHUBUSERNAME&title=react-pnpjs-spsite-er-diagram%20-%20). + +For questions regarding this sample, [create a new question](https://github.com/pnp/sp-dev-fx-webparts/issues/new?assignees=&labels=Needs%3A+Triage+%3Amag%3A%2Ctype%3Aquestion%2Csample%3A%20react-pnpjs-spsite-er-diagram&template=question.yml&sample=react-pnpjs-spsite-er-diagram&authors=@YOURGITHUBUSERNAME&title=react-pnpjs-spsite-er-diagram%20-%20). + +Finally, if you have an idea for improvement, [make a suggestion](https://github.com/pnp/sp-dev-fx-webparts/issues/new?assignees=&labels=Needs%3A+Triage+%3Amag%3A%2Ctype%3Aenhancement%2Csample%3A%20react-pnpjs-spsite-er-diagram&template=suggestion.yml&sample=react-pnpjs-spsite-er-diagram&authors=@YOURGITHUBUSERNAME&title=react-pnpjs-spsite-er-diagram%20-%20). + +## Disclaimer + +**THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.** + + \ No newline at end of file diff --git a/samples/react-pnpjs-spsite-er-diagram/assets/SPERasAppPage.png b/samples/react-pnpjs-spsite-er-diagram/assets/SPERasAppPage.png new file mode 100644 index 0000000000000000000000000000000000000000..fbfd21cdd267f1752c1122edc6e1a812e7a52a85 GIT binary patch literal 281735 zcmeFZby$?$7d8rr2q=moAcBBOr?fPvbO{I}t)#%vp>(MzARyf!or5xTW6(L|FbpBx zF)%RXd3awi-|zSLIp_NRkZTxc_OtieYp->$d)=G250zzz2(J@jVPO%;$v#lS!oqXM z!oqFE#{=GRd*1pQ3k%!8{Qmuia`*4kKD4(nH3yquVKKdT3awGN_w=ei4eMpa?3<}K zKj$#9e5KOvxOd?kS4IfEHK@0KX*&0TQV)!nPpbG_4-EGGit3RBuB3rFdk=Ma#7Jkq zJiCzXj_Cf~+3H!*?kQMAYcW_{+q!jRn^iR8@L2=OZf3It=r*D`d# zQKJ{Mpvr`02w}8;US7vmZ$Z_UiMlPK2}L@G$~pgZ6_7MFn0lhwLSL);=E&1#wa;#3 zS-I}u^?Q+BEPS7yN$hBs>#0~0OfXI~yb==EXlje~JuLAnsbP(Mr}EZW&Y6VaO?>&Y zASTaD0GkKSA2L zjXsBt_&R^XOU26r)uSLxC!KB*Ye%;yhb3#t6q!u5hBdpd#~ANeW<$@VY2jXX&Nx#H zejLq2>L!6ym+3R#1;_7z#qXLtmNQjS!eRkl<6~j_n`7YuudsoC*MWanSU4#-r|;mo zr<^%`joW(spIOaY`&d{KSaJ^}AHBd{LY{l^=o?x6dicZpHXr0{B;#b&KhdT6(BBi|Y2$xj#eX7dk47yGIjOdrRpW}HZII3DQZHnN?BX@%# zw^`)_WIbxy*!1(umsmLXwBEoE+)#-Y>_BDQZd(eL)3-iKe2;;C#(A-G;RZG?u>=-2 z?mb0Xk*_mtj+c*r`RAR#fB2-3(2kQh7Df=Ha^4qMgIV z-@!$)n%w(8jB-3Yu>}sU`@Q9NJO=-#2>~<37sAF7liZe%CH_B62pH;R92R!+L$}Fx z^8e%7uyK8ry}ebsYt$HiSnjX2Vc~pWkf>+u8@-E?`v16@UXU=U^6GY4J=Wap6*Y^+k^jA! z5;w1`?UN4PX+~_u~+Jdh%|Mm5&wBzdd288$T zo!EPfa7iSFO`(kX)4PSNQOjXZS~EAkXT1{D=ROLXWbmOwr zR3W2wOS%r_)q1At=RK*W%;xG@#RnEn+RQnRgr1*o+|zrgB#q8xeR}=X?Z4bwBI&IC z_E9%#gq`SzGn{4Zo_LjE7`>CQwj_{+NhLt<$Bb~r9HSZ zpXqY7<=}R-Et4*iql(Lj#|t24yIh6I3U?jf3vs2AGhb=$MkasLs8jAw*Pp(!@jah? zWA%fPR)pAAx$KLW;yfK~vI1d8mT=a;P5?2Em^;bIoFruNhwiGxJqb}3$--dXZrLR_ z!Upn_V%OS~F*{yI^08N>rcyJfO}-?hVc=H5!vkjp87~a8t7|GqLBD4QQW%8ru(bA7 z#Wf3Zazyr5U4izG(x*+P>$cnyBt$>^;y`1~P+%DyR&?ngslb!z&*LGHjsG!2C%f8w z=IuW_Eb-=i1k-hnSzadA-T5T@xK;hZ=s{8i(vpTG_PwyF36;UNdr;r$z4C*NWKMxr zO7YdTVGUL2a7L{beOmIU+WM`hY8?sc5gNHqc9jtikn;3kiAEjdRg(2s^dPm1Wdlb= zKdxu(p;>YS7otKg$T&i#zX?YmDhTa; zPTlXvMrzU?90lUxow_yty}#VrG^W=bBt>IDr6|Hd(8A0w;ZRDT$o|-^8$E8K8rD&_ zSDnkvR#_U+ufcsTq@^TWv$9mM7v;6Gbd7nokJGa22xBz))WxKeA7i*qts_vWA=T6W z;7c9ymQtRSET{TmW0|Jh(wN({tAlm7g6N|BbhsI+UAIgj!FOZqyORGh z3r&`?fa1Or?PWja6|hX+|*Z^$p6r!ZT;Mz(enex zIEEGS0n)I462@tn&Z>a|uYQu*dBiJ8Q#1GoneW--rsoxw=&r+@e0Vp?{@&}(AuwpM z-7_UevAn{Emp9L-I%A+jp-qorJZ*N@9qO3;Ac~!ZQ(v!1WAih^^b+BRyrw3FznZQeLr#dBLT%o%5t}Z=K z6s6@rvdE#@0FV9I%-aKw=rdUgl+fj2x4Px9JuzKIuQ=~srDfK5!T#rbX$OnZ;hSo! zGU$9GUp;@Y?X#u^9o!m1a{%_ck@cZyP$ho-{a=ZXR>PZA%$@P{v~{0f z;%)HF&WMtK88xv*7%Fv)|%tc(kV>=9ZTOBV67weVY<9(Dam@spc{ zW@EZMc9Eip*>G{^HuPny=?lfSXnu*Kjh1R^ zZe+yH4T@wGYC5dOnNqj_G>SX_e$oBi7zt1$x72b;@T)%~02WRT zkg0c+PoRTODDm9dXEl<8JL*dB{K{t%fJ5}ny>jPs!aE)ZxY)dhbGnEf#(YC@TbutG z&u3hfgkrFcFA;jK2G3FxtP&c<5TgOhFYU3K;C%=i%nzD(GBq)OobmGR>}Z1KhjN*E zGwXd%LE{BW7Sm3+x&H0Xc^3c@axvWS&n)a{z3s0pUdPjrhUiF0Z6~vjJ?m~7TOqvVXcC%fYN|{3SFCN;1(3mv zn8-=a_o2P~Q4*IiY@9zUVWvu>qfCKlc+Mh<2DB0_ey%JGn_QE8+q-M!ehzCy0ydRc z-1Xv~y;~DcH};I!>E~YrRGa$V@rof8t-Lq$woTa~pi1lr9yeZjQ9zZdAkU1TgSR2B z*xcZA4v)Lzp5UOMEM9k_M%jzr^n_3>EP zG&U?#C)rG*o8TGkXEbnQ6V7?Xelj6dm9lrRLnci_N>fd@-a&F( zlot$3ALr@U#)#}<@F=!>FY1^)EQ{06OR_!RpWX5rDFa05%bW1zDwFBXpfbJQM#sgw zHuE%4r%^$oR$0e9dG3uW^}Mjk*p%=AyGz_IdC7?)NHvJ@C)+_X2YAkXia(9(s|VQj zW8Kpk|C9Kv`2@Mfli>?r0FS+&%+kz?VHE7>;_S?w5lO7LBoLm%FjO>>U!9{<@lqFF zG2tffLR{s>VdA^? z3gM&HN-vUWLWh-3G6zVv15eqDf^dFRBu!}x`;FY@$>@Oyp~%3t)Dr*n=S{Lb%To+p zW6YG>R7yJZGTRFLG^ILSL|h2ue3VTx=V*A^?p5hOpdjtzvjDhVj5pCg0W{-Rx}V5P zku3G3C%e|6o)kUejE1^{{4ln5_27(BE3dE%bB~ZoeCg+19ZR}iKuZwgoB}3QGNNX) zP9)_O2MMy6jasJIstxbzeI&ojZmYHy-aCd)gt>cweET;(;|E|Z`z37c?M9~f2*8D<&j%!`HKm|6h{UyohK|Lc6d(t1U z=Vh1#zrZ;H`YSU5CwuZrD`m=CiUQ0Kg~|5vs(w|RttB57$KEtt_pwjoZWaa-fU*5> z^i;Fd__APuyPaTyyKd>KO4QWk3T0vJ<4`hgoE3bu_*^?pC%>g@p-xidJEmJz7wHg1 z+FdS?`zmgQF3K?Wsf8F)K^;XbmifnVhb0f=N)udHl7(JxFqCU@rDlUi+#ad5bGT}~ zgX>gLbd+gkd@u4yUT^uXNW0Bt_b+UfP(FL5DIw!1T>2C(;^N%%KC&fvGx(ME-4xWQsQ76{ms!HIB2> z+r2B{;q(r1$xqLT{70#@&qTb^R6BqD6jc1jM~Efr&jI1m-CLIAZ@~K#qIDg{?*-R@QK&fv2Q8;05$(Lv!}l>cjeYd%2yp`nH0{)s7m8HjdV1*qE&`?75Q3<$qw-~ZnmN+Raca0iu!FX}u+=&kn)ZL%bi!{I>hQS{?Y0eRjYZ#%#O~|CjUmh!7I5 zwcMud|6d=%_Bs!E=r(1F*Xb(%>$$Wcz=_zvmv#DIAF3Y%KD2*;H%IfoystS8sP#o~ z)J}PrTcS7@a2Fn+{6sW@}7Jn+nZ$k?c2AP5A3_3 z0{j0FkZ|7sdyM6xdV%D`6Wm$Hsh2Jj@VxWCyt&TKRq(glV*|d*ECH@O%?wB9zcw|s z>3Qr8`=mn_dY*)Yi};CYNBs?L@o{~<_f+oUJgpA8eDbt=x=)U3YZ&bnQm_-=-ZF(^deM3B=u2 zOJcqAz3wSD7iAfqv0u9IPr|6L!+FYpd5*god}>x>gOq3JK(#BU4v!D^QEy11)>5Q% z%1~L_d`w9j$LnHGHhunR@@0gvoT4)KnGUDw{52JBzspJZHOywTlKj6%VTn8EfolCu zo!-prlZS9%>mf<{0cfz)!ZI}Zh`=H8U7{GW<-(fEJNK94plg?tv5p!|c76@sz-GgV zX~)Bf=mJi2<2Yc?Z_^f6uG8K6%lKG0uZ~gPQ?L6$mrho)p(g=anL9WK`O*vztrQ|Fzf)#~|Z^&3nO9Lq_5Bh`P#-iFp`LHD87l zt=p|%;dvIiD3&W1@wKrrz>QY6?Sag;ZR7;bsZ;#K7)(Kc=?Euvo+_T~RwyUV86!hu zll>eG(d*-H0|M-~G9*7R%#7Bw*ZXi?A#0=%=b+;_UHXp!Qyw0lmWaYvk|%p9;fc>{ zHT-Ck6&jJq9os)k@%QS-FJX7Ct@{gk{EMFci3d+`uaJ>$WC?N*vuDdbv$M!=0tXyqCe{V2i8Bw!znZ!N>Hs#NzV^TXSbE z@n@hp&Sfj*X=PM`?vLf8Id0o1#fCk#^uKr`?2`DtgeIH8O;%82+e}Bilpjfkd}L8x z7o_~Vd?Ss$Wl7ke|xdoW#j93!+()Z8MV#~RroIFOK5D9wUpyz&!DpxZuHcKcln7Q3 z$CuW+!`(a))TVlo6{6J9n;pM3Kmds3^T&t+q|O{SXP z-!Ag};)*d}(G~REFV_;~Rp4dXSb}~T2_z4&BnoxkUw?$@#jWR98W98;S@dSUt3K$g z+E|6?!73D@bxS7l84#~j`26=nFrULT*9 zjazH8$zGMdqLr;_D#^9>T{YVQ5MzS#=Ny276XynY2Y$;D~W?`GGyQ zXGbA6RR_**gMx}f92d(q@-$o71;)T-3i0S~wOZ)AgW+mf98_x z`uA_5zM{K|e&R%w{C#cia>JhC45~0uq2d0+08&=n!BGzM68yH?_R2b1*3tU9#BNi9 zN}3r7sj-mjW_G?7v=M?cY@)e7MQ`pw)M_Fc|?nYfwfH$5tCY^vx2`Kb=(RpR(Ie1vpk|dCw)ZF9&?#>aR5?srrT;5 zvI6h*@)LwRbX@1tGa7QT54_v)%)!*MC*>R5ESbHM2;TkS{?u%;XOT~~IQh|ZF7(B^ zA;tRl^Hni*#OH z^@?gu7Z{5G4zmg`Q)Z4LylA7C;(nO|hg}>rSy@yMS+Y~u=Mb^k5O1R#!IdV1;I@f% zh`d5_Wm;;o^63}6cyelLj_0FrncYisoD&mL;3SkkUZ&$djpvRJ>rkf7#5|cNyG}{i z-bzgq**gkeS?iiD{;ccCzb0JbDV+Q@f(`Qa&7T2epOM(c_m*;H&2yVsSYfhjR7m&; z=<2-1Ek_w@g?}inE=jP%I>q;|tANN*Ep&a=%A-c@HSzhL#NyUVn zOo9g@hHY$G8_|l_#7C{&G;3U)VtFy_TIJ8)v+XWFrw~{n%6XI%M#QV=vdG@!$!q>_ zW(nH$Y4B(t6(Z>O%)iF@aA$fp*(&AUsvEl1eXBRwYyW0trEITN8Il27x2HeqvMm~m zS!RQ(&7Ll3$E!#$(5cwMJ{jnZtqrcqBfdFg)ccF>^PYE4&ZhSfzr)>jFe13KY} z3VWEz1VQd5cXOcvO?J$<-zAfV&r)c;5ic(<%)$2963@YxufDRsx!gSfOWd0?;nDbU z)O~zOA43`V#?#EueYObsf)r^kH#FPZckd#fk9mNS+`ki4U^3&E;KIX4ewRe)NLe-I z1+F4f^SzF+`MVvIn}WaRD_&p!9>_nGW`IU7VfZ)o^yB9r^{V zbA9ug4bC;?05KQSP{@N=)P0MT&o2CJK`P-8i;7KHTLQQ+d2yi7VS2IDq;fhoSgP*2 zfVm-#*t{PILdeJoBz(r*j2wkQ2=~rg#&?oZ2r{&F)Ps=dC}3Zkm?Natt4M8l~a^i%cg2o z?l*+DMXc3l7@h&Y%`n~dV%VcXPtk+5xME1A)l5P{dODq30d{&|l@oNZ?&z>e)JDd} zlS?OOK2|W!6}@C4&a;hQ&1!HmTCx)?ZSX}E+HnhPJ6@tS8C`DKLYY}{B*nUGOB&$HjlZ=B0YV^unnTLBWXF! zWou!eH^ea~6|UVS$KWY-T16fo4Iknw0B?AYGd|}B@;%G=q;xpUHb*xzHG*BMQP+P) zC5e((#L2p=uh;`SxNLW8Q2{V$Vrs0X*nacvjhXoH_6i9z zgtta2#b93!jY44(s4ZZ+ji(^*lIV=;X5Y>TtB^yt2ol19V7}BtTBuR89|0=x6rJ;Y785HwFh$Eb-wiC?)2hdp_$)Z*E#_20b6<;<50ll z7cZ}w4?+_A^0j)!daaO-Zo-Ufy-?6Vp4*79@Lqz0aVo*C`$30dMWva_o-Anp0wp@% zjjM35Gl12j-17jh(1brR!A}f4NA?k=UGB}3H<&%KV27Gff>>?`Dw*;{g|~m^{;leI z845Tku`67W^wdF_n0)S_!cB>G-(3B~>QT+6$&~$JrzBZ9QAjRJnS7XQ&LYB}+FfEG zU$CU$@o>X39Li_~bfGv^Q`6_6D8{P|Jl_K_Y8Vk!pe+bTtNY0! zt7H(17}Jd2YL_|y?#e6?UN_qck$J^tT`Y=pU5+(Naw@nO5Ew{;6yk*TwJ+-?05GG= zvd7%O-5TZeN)1KUQ4_Te%1nAcmA@1#?p3=q^y!Nclh6@omJ+IY@<;Fb7}VaA0nqwf zwWaAPYY(9Hb3R8GsM%bD-(>c8IM^OZZb88vnFd4+qemU6Q4#z%N z-Ts0P9n7%K%4DXem!f_#j*UTuh%Y(Gx7ulad{TSihESgvr(R|8=BjwTe$`P=joWj# zJfFf4vHfm+%RBjDh*+ML>0bS=n9G(O#a@i&^+waJedFpiu3J1J(ap?WJ>SR!lg_4_ zqw}@6zkeg29&hkNdjciZ#-_ST%b3@Z)v8S`#?%3=x)A$-KP`0MZrN!N{(eqN@>1OP zcmhwc&6pU4(3BhoK<5@v!>J<1HH63L zC=9(c>Lspcdk)tEERBRHnR}TZp*wc@^ z&xx>-hgDUrRO-}Xb}iv0meB;)IQUqzAQ9XqZLK#+%3=ND2fN5)JXey&$M##B68|Pp z8^7#sGtK>(!VfRsJ=pA>P7BFut=UF0zPrv>G>dp<+kk<2O94f)V)yrpM;GqI*N6!k zzp36`uv7zpx3DuZiv8xzhR!UHy^9+yS;=yyI>k~lS=Ni0NR0w*jZWd!YA~9OzqvPE zj-)4&{rcR{$ESWo=$e7u;KdTBRs76*MHhp4qclDi@$*VQJ+{wV!USf>iwEHGm*H zPCov;*7xWJ&;5Vlh_C!H2Nz2NQ^hxPdPm6s?4M$+5|A1W5pG0^boky9DWU&)vX zVXOWRTyK19>ilt~ELFQ2_ctW#KU(}6S#dPxdZkw_=MP!eAiB640B$cqU zVy;G^^>X#rV)4W>fJu@U7gE@DN{9Nnh0Y=MIiMSzRMnAoyS>~iT|BLW_MJT28*!`Y z?MaI~deiA<_xkfd2E4@S%hf0}f&q&k#{Yq}ty2W0m?a4GcWKFSW>z(3jr3fM8+?KJ-!?;xp)`GqpqA1YGvSMi4 zTiOg)rRV@vnZk#5InwwOuoqCbqymQeYTA>`bz(&a&48pDK2V@? z){z%~^UI~Ns@JMz)_Q|{zlptw_m63;pS`nxp^!uqQtSvHqQ&PDErR2|Hs}B16dvQ4-$Z zcTS-rj;~kjJN0Q=ICj4O;6H$cHQcrx&@yZJELGP6)D(2q-w3rT>@y;mwC*kRL2d(B zhnQ%`*cq*|CVPkE*ZIh@0%b`7{`Sx9I!>`S$-3DQ+NEIgI>Plk6xV-=Uieo(O1!|{ zmU;f$7ye=-#mIo>p3%d&pT!O_fy4doMH1_6-CvXWKVS4-J#H$FMv$E*bZp!piPpCy z8(mS6Mdn@3BcU(pZf##qkZpWs~w$U%1$l01J->nCph@rs7vV@7-k zt@&xz!;zsC6Vo>|%0gfl1{utAt*s!d6dXgSsa<|$)J{?PUlg=E3$d_AB?0aR`av`m_&?J+lTJ#`=G{y1$vR*rRyiM*q~5}(YqUI0h=BcqVeFn@MK zVoc06ha0A~%E$bzNlJx*IS4BQ@73ewNlG_u$sg6|NnrEYCj~h4y4vDXy8qRKdeNaY z$%I;uU0I8989&ju&ksO*?J*xDQzZGDvcQ zXJC9OfK~jkGZ4%3uaR#ur8H0ytvy?l_7jgwjpN@6eG|NL^R`S7vFKzI!NxODc5+hE zY1Jr7To~a6m+u5}Vo_`p6BFpY3=jW{_Pg^PbZqSeEUp7Fs4theQSpV-k%Q81V$I)> zZ%G)rml(-ARL`F7@4pM9#X8nMj4K#5pBOEa2b-}zZFVz=O7OFWAU{9f+GOipmk*LO zddrh^?6dj1b{jhnXbb8qoh&m}^`0vnmur}f>5YYKReQ-SWuP1?%V4)yt#VvuSspIi z-eqHqJ+rdPs3MBWf0Uy}&)Clt`1`RSHpZEdJAFHyL{=}ufyJAIhCCT^fdYT$ zUW%t59;`@%wc_wKWqOkas4c|7Q*jUskZ*L1j0!!eQVzw5@z&VSch)8xmzRe=-PTJo zr4n_01f=@eEv@19moISvmiEaoIK+)TJS^;ct1v)e0(FMMCQsQs0QFK0eoN3m2CF{* z@iXJ<>*7;~#HJ?TThuMe^U-2on=dQeAOaBOX33*dL%<~ zSCH0LT`Ne~YOULJgFkgt8G}k#r(UJ(^01R}X9CTXIaFvCGy7Trzy{O9i;(9fcio4e z_A{|oQwhO0raRt}JUAmPqgXHFCx1y~ClowZs+4qHs4vQEr{Ua#J<6>G%T#Q7_PS>i zx0v;-%R53`mbeNV=!w2pb6Mx_uWpZJ=wdct*{ZkUP_qzSXUw$yA%?uUOZ>pN2}u9< zV?`~aM7Zxr#|hYQtk&!W&qX;-w?&4ZVR-21)TIwwjI&&Noawp$erc@EV5N3ee^3`s zZ1>HGV{Zp6(@Ljz>@G71k`G2!Y77+Um|1lSW~GgYKk+8=tzfbHjn~1a4ZRJ(oT)c~ zpHCc%cnHTeDqzorrL$%)i|0OLSH&!e&(is4^+q!SW6eOetLhx+sqYG-S5SO7qfxQ4 zO9?iL%gS+><>0m%6>%%@TH=!=*LyoK|M~p%ODzotr>>-pjckzd=Ax0wQSHG705yl| zyM$M3%od-e%ua*!O9qn_4~B46(al2wqoH<_O$r6WC1Be|F-25URya#IjCJHtqA0=qr(@C7rJu^m=tRq^p-A6BNP(4crsq`-}?dF@FVtcrLz=D0#ml@Bdq#^p+KH8Nb^EzFo(NHj7J zl-rTa!Y0+vFwZ7EuidxM#PB}r?zYZwHcPH8ZEt)>Y22!#-mWF!FIA=~{NDbvHR)_m zeG4Trb$RW>eQq~27)pwu0$mp6lm)@>O5XHH@kzL!xisGqSJ67}Ky;_#QkDL}E(9yG zG`Tcb(;AF(_q_d;wYNe}nNb5EXtHNQUi6>AK=)WWK~L3xlH6!toaL36q9eiruy)eH z@Rqyt42jR`_De9%3{VVkHLlSMTi54?*2_BlmP+t7`2CJVk z;_(6#(w7%O?z#!b6;4Z(hN(hnbGTImr-7tqq4u(CR6+vVQCz>=ig{D;@=95eJDfY` ziaCzbUyC_zDMRM7-<<53&n@B`$S)W9TET&&BqX=bbVM_B47$y>G0#p}y68Y;EIi!4 z(BMyndqb9()id)I59W;KElM>V!jjIVvwHJBftsL9waRTjpqf23xmfK>t>NEW7i~4q z#R{S*9r(Mfb!5&6*|BPtCsi5DX<9&Q4+gA{GJRs_4U~EE{KJre=~cBU>Wu1UnP5Tq zEI@%w7k&#|jup{<+{GRcsB^P2F#*B?Lz9q@hz|FlJO}cXi3kr++havjg>~&NQi-Ci zwm%Zbzxh9u$49*m5)E~Y_yHzyq-k5hG#Po0hDJuqF=iN>b$7 znv|2R+n|+A-@Zs;W94eQ|SsE zHH!KaTSa}j8al5u&zSp-?OkrKvdISi;_QEn+#ES z8%Do`5h-bR5nqu5am~BPREmyZJ2?074eFb9Vhi=w;1B+B3kmELRHjP1iY2Ltu$1CN;QhJ)?9oM(&GP`=MO&uA`Dcc{4>a@M51MW~s>AT~gvGe` z6~DKv71>(tY8CpY4%;J!CA|+Xy>HXy5LV_jCdO=o!)9J)+UpriC3x#w`+()Q0P^Qf zZaZsF-Sl!FF&8=|_zJ!D$h0D2pl4*18xvkF_DPd|cO7wSv@!dV<6hYrhP6jI_9g_E zRO;-!lP){%@7VPmA`vf)M(*b5R)p!gA-9U2cTqEgYTYxj8O##?;kyor?;Oo+IFNYN z_cETu(8OzOg|f2=qu_o_cg|WF|@x6 zw??!}PXAQ^DGyZ)o(7D8Xxuo`89c^8%Bm3-kZFZ%T}H%?$x-WO$kR-9*SGaJ!h zHB#OHuF=%q+)p(87J$i|xS$RHWaN+hT)>^@#!Y++XeASdduzR$LmV+NDTW)dovy&~ zxR+H4YJGVc{Hk#FFECcAMVvRqMqY%N_x7F#2lVG^uzswa!~e}1`1HrncC$2=^<)7r zA>LXYQx!?fj?6K?H7bwKZ39z1Z0d=7Ui-f$^`RwOn+B%;?a{STM};a6J;{!mkDFgC zAfGoFt{vZhAbxyY#6DgP?D@BDB3?M2=+-LMOvp)KyLnTh{x+RHPxy&s^mKCgPkq*i zlZ4g(r<%<7xE_62EzR%;s5!-h|Cr|k8&D)hjEOn?kD+{00PPLQ)x!63e^nX_3N?! zOZ54&2q0e{dhWIVFKyocHPin)&2*J$y5*+}q@>_FFAr%x)a$u~Bgq-+$R>5`_H74| zu7kbpz;voMJ5iS3ebWa}7c&x%UNJfqTYHmV^O)IlzR1P8Lby|L=U8$Y>Nsbc^qN?! zKssr`Od}S{M)RJFThiDnr%hVguhhaJa0_)(+|BhQ7yCTCa`&=)xC!J}r~T(pJ?uV~ zLun@*{-6*553ZlZ0fZ8f$DL|`kOw0GWl-2Ld<8T=9;4($zf&f!RDm=5)SWfxx2Rmi z{?V+9`fW(aHj@|70q-fy&SpAp1~>6o|N0~>pC?!GFEz?>G5&gR@NZ!2!NXNsm$amv zntwm#ILA+;t>tSB`gxAAa5#K`T6558I1s?N>}{gIhwf%zg*cdHF6Un#af}d6vP0p} z3#{wElMeV2fJlp=KDsgVBr4E8$8l|xao5!?Ws%{tvgkT&)_h9%yGrFBvw9x0Ota(? zr|i|kJ2=m`mRXfj1_wvYQHvJo`TPF04c>p!JAlsFFiRyGpljmCl^jd= zf&v4hqosrC#>1_+2!G!IU@$-kfA>pM^6uv8-PE(Ui0ilyjm4kN@VFT$bwpXm0XKK> zf`02>{~J^#o{~LzrSjBMIEd&ZP`Pv5v7dUwh6u8_GOZ0yL)4qs%XS?B!noEVj*{Wx{Io#xWq!j0{zDPfoEbV4QU3E^$0sN?51X&=4-Li5$6=MA!_Su*)7??)c{ zuQ}{UL%a;gkX={r%?C0vRi%z?vp0K0j@?268=p!=`F&a8(F6Vin?S)#plzux(d~GObzjLmflalfnqdGTC%is*G#q%a&u7}T&!k3E z>xJj8zW#vQf31`g!TffQ#H2aSpKkhbKsCj|2k@Sme;>CGjoQT3YidTuNqGEV9mS*t zb&4Ok;Q^2ve0Bz|oe)y^Q*yL?LnNG?E@G~$Nxb5fGMBd5Ab>;q;9MRm@qF&HNwSnk zr69y{q^NU~uPd9QKTh+#(|P_D^8!oY-jvkRpm{-F+wQA)aJ|`JF0#mFo!=aumUET; z^3V}E2IwS3dL16>2tA+wjsjH!U87@l!EuobXc4EYR!tSQS9-)&n`#!oIU_rfa5NW$lEt>n)9`5#dV;j@2WRp z%~WUIl@snhb*?zyW)J@2e<^%px~(nr=6xwYala!JO~pp*3OqO7WYUx4qanuLWnn(6 zeJn65!v!_tNlk?Op>3!D?#P6@30s_;QVA@AuZ2NnX;TkoFD+RM^X1Qfl<$~Eb&35bPyS)r~zkslWP`1J( z0j*-|4$XeuY3|CQa=Wx*^ImC=+Brk5TEhy(ggg3xDkh+Mdvxy#HTB(D96i^0dTx_e zgj$;PfDVG_#%{z_W;MFoVeT!Q*^xrY9*40@{CR0&dz&OAYc321GxyR?!9w{-OZtb>z8sUsdypptk$1aW@}J$UJ?r=WeX7C)@-!fXm3Ou)D2Wb|z1| z#G*ETsGIcWahm%6P35fKNK<%31f5JU)q6rxmU6S%1);+#KD9a{D`r*xlEP-`$f*|_ zcCn)SjF?5JNomKxAa67zB$07fQGFfuEkm+N=*rPS9QdqzvGVe8NrqLGGdd6G_1PD! z>sL7!02%~Ynzj%3&vm#fyhua=+Cby3B+&r`8F~XyzzC{B!=sB>!s@#^rFPwgzAG~8Qq%cd=L6n5oR zHT6Wj6G62@xgF<-U6$65WLv`MYn0xLoW`bx_QRUAkt%o0c!N9+oPd6IA)TNg{Lplp6r_6-kP3zpO|c2+jE^`C>cPrv3}Qvy zO6P2<2lKVmrQ=D@hBGJ?x$J&HjMlg*6zbP3^_79)hMw8zAU2(--TQ;kE-}RDVk|L0 zbF39e7*DfsryLz@j5u_)HPLv?@vWtZdah0QZ#3=@sC9y;vwiT9kfrv4g6UN2=w?*&G}VU#9fYtsiRg{l;V zw~Tu6I0l0aYI{cv#>I-k1|WdNIi$>Sz$}-I8IP2IDjLHTN3S3)yDD59$0a~IB#j}_ z0BJ7^xMT(pCt#^k3Y2{=!~2MAbAa%6uHr?SC@qR_%%$0*I?BoystnrqrpaBtzir_6 zhO9!&y865<6S;Ld>MFSW42^pml}t@$FVDkD@?7eUB6rGPR2-lY;7@ZapkY$6Pdv4) zj!V}s^tg-y60Z(S#<66kC;s9OPt}~&0ux55957&HAv2j z(tT~bfm*#6N;A^CXw*1_6?>Sn?t8wo3_C$Z{Gcys!gjT0yE4ENGab$SteX}N_EgvP z17z{@BNfnUYhS6t>Wu)!BoX*NaZwhg!8SnTaAy)NP?x0`d&~b4P3e~B&cr#-@)_9F ztw*@}<%U5^+I5IUM;fa`$IAU?*T`ugNv5}Tu}oek0UtOIfL$D5#uWfZGaqoYyI8n^ z7G7;Ww_0b`wTamel=nqbM|Ne+JxynPNw+>Y9)|>FpO~ z)yxki*MHFiaqQ7hkJg7NS=TJ{SH+pFj8tqioTF*pAt1@{*h2$)bM6YHNY(xZD;TAH z_~9H)=xp*)p{T#vR<4HqVnJCmAS*L!7Xc+cgUbXR0bSYXyuw;-$4C<|lJQ60@f+>V4y!SwGX7IQstWz)#Zj6U=DBy^1uK$r=#dD4X2e74Tc0hJs&abeYnP~r zahcV79DSjptcM-3uT2lwz=@WO%XEjC730yb9K~H~lOgy6Za8A*k>w|V+DGCtP$Dzg z1lXNK5N{P+Uq0_}btry$Q*_8tIS{(|SSi}Y*w0Ja5zGQo&iJ?;2N3Aoa1 zfEgthIh0%pk$jhikmKx(e(KxYSfpFDI+Pzi7I(RnSzS zF#$4Viz9q}t|x+~A?Xa_Vr!MDLKy=&-^V<+Vj5AXOqpG8q-flxHi~ziFoi*nvia)@ zP3tm^{_VZ`_x&>>X^No_&(NnCxGCX@tflChcD`#Z zjBut`8Qx3S%wv7@<;#~2ey0Q7{!P&ZmgI9Z?XG$EK=ePZ2l?E)B~hOhT8;nu2ZME$ z0sBBQn)SYGQMkEYw07B!oJ{7Tb zeAt7yx@cDpl^{XJMjatkJ5R?#(%GW+d_xNK5)XgM9(*=g0b@TsjRVDD5|Hx~lTyZ$ z5sIYYS-yU(X zzS>H zQN7MHfk(#B5HA3a!l@*NQ(YfNc(m~Ys-G0Jy}ioW5npCYsRFXre5 z+xOPlA6K~WaedY#uF;*cBS7WE^w!=D$!}@C7QBoc{8?ZT?ygTyl{nsMQBn-9YUA^|2^Ybn` zV;zT`3Bn|1l)e4*;xTo}$_vJwtFD9K{-Me(3V!^NQYA{QPwubS4lO@9E)DfCM@^~_ zZBEI2lsR|B$?m?EuvZ%04dpNrW=7+|1yKh4Tj=T}Nv|!Eg9UWDbqE>55rnHtF*fa7 zxG~aKsnj}{aZ>Z9pkPaqie~j=yLe%T8O18m81<>tK#r)@+W2K56=grk%8Z!sO^-RU z7;R4a>2fPpe*OV{VUvU|RHv}PK%s%n8JAr#P@z8im^-QjHDn#D^(B9&hkbPO0)v%G z7kIeXJUlNb2?_N)5OPcIAJU72>CVZgm6!LeCI_3kbpe1i3&G8+6nW3C%68&j)!BI^ z0VKF=sFx>lQ=v;oURL%a;vHFl4>$fP_@q4tu)ZzWWKyTRDZnqi*qQKOwh5>+y6Bk9 zZ4w}Ad=Mz7whB{KU{?R&K|};AN8RTwUC?^LH7$2$*`7_B{2hu2MeUuD%$ymE;uQdq1;KbKEQ&%E61KrGgMO9rh4 zdvDBa0L_0ePiAZOsH->PxD~h^qY-qlH)g|jJ6#D;3Tpr#%%np*h1!ym9hUiO@}HBS zY@PrhSn*EdgLK7QP+{!_N-^CezPudAjE8c)uOUU18?EZAU(FTDzPRtamoX02QdR$C zD8+2DVpFxn@3ObdT>1uY#lRI~;sSmci{ ziQCVY=D4)3Q`&URz6I-Q&Ai)FaxO%$ic0GnW(h1$*Z|Gf!vr@KVff|kLhylGRdMx# zBeV91fX<8gy7)@@blnPjeZfmNgr0$JM6&B>Lh4q8DyCox07Tj=Z(VRU0_x}@$(!2+ zTzY3mIEpzBMx9GL9NnfW_kliQ25=D&Epihy({i2&Hdn!SeXcvAe@I1BVfzECgp*jU zP_$B+ZJUBU&I1?o`-|7TJgvh(4;D_UdI=u_K&MroJ^!QGg0F~uz`kzLpNnx^^I5xZ zlB^ulNZg$1E$%BS#H%+=tmwrV7{$a=P-wNHR`}f63gb3RD5oqNwU#LiiKl zsABB6pvDz02~Gjm+IY_JLLB~DDiW(7TmF}b>y#W*!QpG?x1n#n8a*2qd|6Lhy~;`{ zr{{B-&(hKbTg-+DH*jYx!)~&%2$7#KVx%c7w*EC7);w~|ah=js&3Qm~qMA_ckH0RE z^6>msW-<nP)Q9nV+MqRRNcf>*{duerxLh z%_SBbSAAuuX;x|c`A8QYmD6y8<+D$|){#?%5m$EoIm&;%YL)=lVZ1xWKe(7vjPxs6 z>;t4|#)qRyaF_%SbHrel_RT8T^f$EyEhEZQ?ZsT5P;r!4QuD4{YwB#g>apU&oHk=FATyjflS z^7*s-7!&)+nFk&+1(-b9oiX#wucPCWViQRdhvG+;-Ka(>?uja5F})b$<2g}D`ivjn z+0b1LhyOykdV441!VW`q{~yBMJFMxYiy9R~6a__55u~XUk)~AXs35&79Z`V*(mSCe zDkw;Ap#|wEz4xLZHFO9Ns+3Se2PuI&@d)aBzx&;P&cpE`A(`LIp1s#zYi*wiwhqN_ z=b|m{Ar94HytPR)ChKb+mpA@A(I8b&i}GJd`h~h4f6Z~mAl?%b!-8-N31RjEXN+>x z^++)pnGXxme#7SsuGV%f%cINI=Ui(9w#$}b(SMd{hXFja8UvGm+$mo_tKGR#s?b~3 z-;w$HlEPrZ=@uU%8c}y4S}hU;BiGr{`#XT8$9|1TvBojZ6#3{lO#^M$w_rgYu2Nn* zYQ_;%)aIJss}qr!@d1aOO33cMqTA9?9-HFk2#cWCb*x==OJojxN=ujn$9EolJZ7u< zeO*+IM<8Gg1~n3G+=t`wGZP*^7=k?T_H^!Laz~*0uS3**4%g}z;UecBeJ$MF+_sr~eVF}yWDlGMxcRQS?j~+B#&?$`xvL?&GyuS~Hr{1Yp^Wj)Ud=Ymy zYPr>oc!Zt*dX`={$M;Ef8W(iPz_}@Dyk7uJDOS1!+P9q@ z7F5q4@A!mq9I_wFBYYgyz^lbb&&*z^90^@NX@%~=QXtO|lzXnbExDF=NUs0Y*m#T6 zcuYXa{RxiW4#Y2fjat-&`jbuqz|EDVcAIDH%+cNw8^;~uSjPsbzYlRj(AoQgt|AMPiU9FosTgZ{qH-xNf2{&1w7yezwD{^n2DVf zs;;iCtunI9XCK^51)aH5^ebbBA{-zel`kKy{`tdp4wa@@?rKS~Pd6HK7W­vYU! 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

eJ8prHMufW%JNyYi`yU*+-6F8 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%0DCjEj^xDo+e=n)Zr`OS`z#HsxYfTF__fSL4Rb=Wl zQsDB2y-962Yp?icRcpJ@FN)Kx0D4T`8WQVH13-@HkS~c(`#m+mkBTJ=D z3eGjpkqjnZ5!6`T$DiP{b}W&cmRdOCR?utf9%;WmYk|O$!aL z#qhkP=|R}YVThW%@0Ud`VVq2S{-w61vg|!I?zrBu_X}?68sqR60oS9a3-p>|_8H;Q zX)mr)xjIBy&t^QoVgD@0Hsw=k!W6*8co=r_tL+=0 zf!Bp4Z9L7w0bwU9W5MtFl!}AGu|L8FKSpX*=_Y5>6|yfi{P^mLYp1@K-br^L%zw2N#CSX` zqa^&04d-p&(o>=33POp-A;AMfQW}LN?z!&6I><;*FQZnX0n_JcDTM}Ji>U0v~$U7GTA3{D)G%UW=A}i6x4MmR6d#usPN4!k6#=|17(X`@j`c7 zjg;nUyU&Dp2dc0fP=o0!``k?OF3!KkY22s#u|J;J@%U(E(xhGJ^%ISEMwp_lI)%%d zD<*UPn1-JMLjk#{GL~h%WE@9sgX)~|5mv-^t1N}dlMtZ%P){esBQpM zUcy^x5LkFztA8dGI)~G6JJt4X0kZPk^Rq}Mbyob926L2z5LyLeWn8MyhT+AFZldV$ zM4?jJ&ETISrwI;lT;6$>As^k7`W|CpjEVv}Es3L$;E;Ne;Xz?40rUO)%1=97cRq_- zIUd^`53r23lCWu6jL=p?zRvEpxrDd`5YVcL<5H+nmNUJz5R-|g4Y=k8nW(NPl+Z?= z?Abq;gTi-~hE<%*Wg~&rLd7UbhOc*h5rrpr13867RX*vn*6G2f;ed*^&78YJgF(1I@oD;Az0fgHl2)fRQ>IE< zsqneo6lJeZ6K_Kz9f$-Y5C?Bi))Uo-84e0Erc#Le4`IzRNf&(mc&Zs&G!a(cd(VGH zcYE&g^sa_D1#Zr5x!WEmu_J`FxPQhYk70Bp+S4twOz97NOJXs2HTH4WKSHjV=Fc7P zza+2%u86i8D2rwfR(yyqV=rLCF>1}mKq(2!*yj@;F>dRh8jVb&;3#E#yYJ)`yeb*X z5_*Fq50q3T>TOS>lO{tiikzQ3RO4f?F=>lpCGn*LK?bLO{e{To6sgYKc)=2rusz7T z2aU}3OMQB!`na@|c;T{eiU3%UWL{vp@jY=Z-q*|cQQjABU@4b8=~u0xA9c7y{V(U- z`=}%vE~pi~F|0T=mLtWN8_4C4!GU5!|5g7I*Mm0_-U-5=&jXPhg7<}iyTgD1Eei%R zN3JYzCbSIoJX(}8o2>O&b<|Igcts$iQliSqqC8q+X|BefF3y1FhMcnR8tKC6QYdsV zgO9&b;JQOOG@TP}2$6rAIVQy2ehK@}h-C_}BS)6gV*o4bk=-)rx|psDI!C@@O?JFdd-O%b3P>qw6=Ji(IYjUx_|qEV z%zD#hnH7qF76F$wd<4`iwaC&xi3c*{B@NlenT_Da5c>@^DG}=y+ zl${p4&^O}gdYAC|qF9gY{H2XAER%HB(G?$&0s-fUC?50LZuhUTe;m8Sh6w8+EEU@`-F?|rGqEzEZ9~H4&h*(xvB0BY zNrROQijO`=k3~dJXhN7g@IbY$!v5`}!jXTZdPt5cbZB-$KL3$upn__C>jpIBx6Ir(2Bo^E% z6?NH?V5i@zEHQ7dcG)JD1}?(w+rXGuy8U|pEXXRA?y^g>Yen61l--_VG1{83Zm$OR zhA|O^1KyuoCsU3yXah*o?*&}%M}dKyU(WRQ7`K0WG?)68`7Dm?giuAh*n3k)|A~8m ze$R32>k`fRB;-(Fp`fbZS^lNgWkN__Rhdu^0k>LE6V{Oi{0f&zgzAW$mXw!Ajo|y7 zKQi26<@jPx%j6WXWW zScuchwlu`EUY97bu6}~+fHLR)zJ=3N+Q;xcL~0Fd?IMsV(K0BfvhVBA$Pw@@PCK0! zHtiHUl_l_y2{!~wvU;2x3{Z6= zkCwI7hZZ*q@-8$`){(5Ev)JY=;;v2d`QR#@S-mnEkoCy=5J=YK`jlKQoRLP9S@#x@ z1+Xu_xr0>WkGCQ|E6+uC5zU80d$tkRKc>YS(4|_hD0F-46KJ6gW~xXTcf^oox7=J7 zJ|N+Sp^q>gad-o!so+{lzOo zcIRipy~}9fJZd!czzfv~RBSfJ-xKzUEAxxnTqxKcYm&OUd|M0@Rdvutf~lnwJ6xEB zj3{%vY#CYW%=#B8M0w<}B&?fj)tQ(N3?U0+97O2~J1vfV-C3l<cUX)PSjan_djI*b)^V9=)TxVeKu27OY-a~kUMB8#K{`~1H0oXjFwBSK zvUpxu+3YE})aBnKJ8QhVRFHnJBNE<_FbE+pH~aHARKJY(Iff=nHBa|$VB&37(WNL! z>5N!9C0(vhc*=`~zoz3SioL9@3i(cR*Sn5yqK*RMb*gkQE?MA6YisMJ2sdEY!v%a| z3+3m(P!dS$3PEXcp*uk)v3&l%d)co>a$+Sibp-3>U$#~{Ht~cijJA{~a zO#$ti-OzUaWh=LaYG|=(cdB)rN1lsP`C$^qnDv-OLe3*IwcYM8S6%4dOJ6k4TZ;#> zYp(`t-M4_`db7JBD`zV3G(~1Uohc%BbxE2_!@qS$VIh^_tb%co_KqC6|BsKyX zS=G?iQ@~O4rkD?@6GOVjuJ1*y5Yy*Eq~}|B0hw1VzsW;AfmL^fcWT>WS`vT7CZTZxga>#Hpv}x&! zA*y@+{WqJ_?S&`5uGv4_6YmiS+r61cUhaYvHzPlH{0$F{_i(SsSTCh#`;+_jcuMK= z!M-|GF^g)QFpcNYqD4L#m>r_emDb@M1~#QbeHCSgEOp3vmpg*l7YkM{P?K6VAf zDRMZe8TOt&D*jMIO1fo{>&_55)Bsp9Z658|R#+;g{t^THFl|xp0ld`v%_qkROjtdN z8~N@k6TI$hWbQF4q%B3!@$%7vm!kZvaqn0BpJ&()FCqp5Od5prmoqJG1qr}g>Bg#a zH4&Tm5xLScqvp09-_?=k(BUG>R*f1+w$yPFZhA6x47>Onqvo&2-sitXLGMUY0@eJ- zJEkgQmry6jk(_IwHqWFNo$9P~TuPsYuX^QB;*!_!gvXwmGY#Pv87ugWRuoy1iTu3M z{UcNPEKDp_qrl*KUuiiRRy7augzx1F;Ry5`Ex*Bz_|ii)n4}_YG52sF#nb)fIed2va=d{%>Y0o)Zem2BzS=H}t9`O7-crI`paq zyJ~XzL4DjgO&Y~2r>j{W?#nb3zr~mH6exSlM>+ZAVK$6Ydi71Iw$Lj>;$BTli-zQ@ zfqZtA4&d3wsa@=L-U{_6em3isExvVc#blHJHv@K`QUgHsDE@G!x&UNdF!(~uStfA% zuBI5Px~s|+!iUqiF4fR7A=k}m_thB7;33Nq>5#=<%e=#9zw0tQQW!=;LP95~!A%xt zX`_RfTAk;|N>+3VOY;zRR(P2ToV>c!TeO1-@*$8##Ccsn$q5qgaA@ZT5;%?AwLiR3 zzkUQSs^J03y@2KF669RheT@e4EIN4jr*_v>EUF}Z+yNKhIh6H~Kj3#yxX}XIUCnt- z9TJOL9p6)NbI7N_H9J8F1aGb%PLd+%qd8F>ALjl7-KgjezU?)x>%~tTDfS^k&3kc*|rbj8z?gyvH!UqEe>WnbVYn z0=*>>z{s)O7aUb$E(aijNl6iM{NIe^vk(9{B%^ee;Xsi)t;eq>s${eUYBG#wUx2&h z*k_ZAgvoYP*qlT!E4O4GX zm{29jZ0qsfOgE*{hl9 z`HW9vZ>;WbbNx3RbbqP@v}$|A?-1?Fy{W|ppHeW|aB`*vL(fYXDs1k7~V=Sz}ENt6NETgB5_OHr+?3iLB6VAPe*yP!;=mr0fEX? z2*a;Gd}AI&_hN6xB~LQI`RkBN(2vvgrxywD4AH6Q^FdO0$jC}1zDi@L*z!qq-e~T> z?}0Bels((?B+1X7Bd?c=RrA|VSY99({!Pa}Ge?4BT)FjZ`QlW^Z+AF)F_^PX{j?7H z)aHMEZ-W&K14Ptk%=0&UF=+6F3kX3b4&fJ&ejUmm`vzkjF&z6`pHF{H6Z|+Sr{al0 zuaml?AZiKlS&d;xLECiFewpRnI#|^T=)8 zrVk)d)&ih5YLI<`jhq0E3C*2n7%(kfW|kdb<|mV(NJaxdcTV#GX20t^S{ft5Yu_?D zIah#-r#~=>du0O^0)&!a;K?ZS;pLUaRSpfoz~e+j{VS<7Iqgv0I~44Y_R_ zLRqH-IX^);tgrYP%wlH*-FktJR_vUs+-gUm>2X{xs2t_LtJ*YwhC+LTnC;RYnHf% zBNBSRzbQ58eN&xRCs0xbRQdWYN7Mjhg`ikJ0G}?f@n*xp(XM&=e$cj%FY2N9pBp1y z3o?S`0|v6iStb2dnTOu`;jVg(=*DWpvGfh86F{?(2gm)f3U_UfQ%87T?n4z?Gq1Oh z&8wV`Pf&)dobxV`XA3{WrwzJ@?hz@?=Gq7fs4DVWjaXE9BJy!SPA*@2@U@kaY!l(H zvliSEnWwKU3eGok6{po;o&&!W|1?A2y+Wf!&e6g>C9AOmB|MTNAPhs@*IbY(v|81Q z=7N@zFFS`QT$H4jb4<+94?jI}BhMEDp5wqWl@p2WzyNc;6W#ljsO6Z%xfr(H&m)qj z2eu!55|A3wc=7aA2{3$;;kI-K=>*Ok{b(a)L%;x&j9}4Wd@Dbk!(z8SRza0$j*7)- zN~;h@@4P<2L&(u6^_snbGL@P^z4WzP1|ctKY^FFCTak%jQ$Q&2#ylKu1!B(TndZru zmUw`Q$sqEhCV9GcCqo=&6V=h0wOaj*>AsyYCCf8Cb?36{A~mz`MTv{Q&LoGisz_>& z2KJr$(Z}*yg#kgf9GG!4@1J9HK3P&_xSy1ixbKFKA4qoGTdcO$mF!ax%VAiF_9l0v zC!j5cU*&ASE^l`EJRtHx<$09vDLF81C1BDWTQPv092Tcp-&0t>DsxdX3k8WcRqC3c zQyd!PO$&wR$<5QFz2I#v@fY4+Jqz82ZT4q>g*jkTBB@$m=uSa+u#GxDe)0MmnbVcU zw(L*z2enmpyYI5KDtg9DEGBCeM#|PH0bh)F`F4gipo2wQY9A;9SH;ZLlGD(v%JzfJ z=~yVy@nT0Oz_!gsiJiCe^MDYN9hM1_Uw)?|LwWdYRzkj($-p)ma2no?r(LH9TELL@ z4<5qYJ7R2)$0%+SbK6w7;G4Bw73?gm`E(jDjbh)auOQ(Q4MdjOY-Hq{9;W&RlU^wM z#(*JZuhG%(9~t202Gyw0qNNXT>?&FYa=p3R@i%bC>pb5=E5t{j3O2QIb`+;)!=20rMd=pmo#R!` z(f1@TQ5Z8)26>~H$-h&}d|Jnt_}51K{`CcKjJFUe_+UMe>U&X-lMl=Zj1Qk4E@n{7 zHsenY?v08WhQ{$1#vVT-9~TV=h*k3lkNJ#`H!2E_`hAb%RX&Ck@zhTN*JZ!lp&07P z9=4{V?@U>8zl3~cZ*ds8C>}WP#T4gdaEFu0(pXNxB-!aPq#ag!G?)5vpD6c#;rG6w z7A^4P6~R$b68F=g`ZkKB%qdW7)YMp;D4#Jaz<}2CI43&rP+EHcWM+!UuMZ??w6f{d z%D;Pq;OrxV>%WfMh z%r@S7j#`stBcfewx)#f+SXMF*_z7B|CQh4cx%x92hgw8p0(g%Gv7nRqHf8LmIfnbuxALIkR){}@() zj4nng2>BZ*KTsSJa+{ohy|SI6*QMm+5>RSeYRd;v!ZgejfDg4Pqc$+JPh0FWkO69D zg*8yiZ`53yT1qm4BAT}*Y)VT-WsuVAc?)qCb$?6lM9r}@V5sr1?^Kv29|5{V?64`O`|^OLp}#7Z zS|_Es&bNd8`&SoS3*3MM1Z_At6|&5NdJbo6BcK$V!cvjJ$5+v_N4O-E#5^`$NgrSA zE?b6gcia%~M36#c9^$AbeZg?OoD$iDAkKA)o{w=`XjVh~+_=m_GKZXXCtU+5(OfB~ z(UFLby(fego>bj!l33}@fERa7H=K555u}bNLPZ_*r#|7pl|mX&irb(`UoN}S0}jfBR^OK^rNV#{kvlHJaa`o~QTEVr zJ+Jf>^QmFHW|47>Br8eNmBpj3eANAv%E$PxUmfboA3o{K+k*K|Ob<1HXevfhZ0KAj zw3Y+u8cKV1r&P&Ozhxq>@5LTsQw+zIA&RHPW2E@Xc&t&PdI$qPqK_OdOC(Coj&AbY zZZV)>>)|7+0FLj8=x@RCv)5pbi939tsFQ9j1vOqny>ZNj)J!|cP@Zm}v&aGm0Gc}} zlcdKaTNqov0Y^qsQxkV#^_=6H2kIgDc7r3ls~JihDR1;b+o`o`%Xv{B@JDkN~eXOEOP= z;Em#H!PAcGeVarObJ1eOKfDsHw`Zvwjh;?1jvao$rl&h;8@WNcxHsW>?ml{Q^R6$# zxIR^GUQt;SdL?<6^RM<%W@9ClZB*{wpthfD15{?YYn(>;jm|uuu2|&sisn9Q-eGQV z);>kUY5S5?hTD_KW7Q+Uv?V2jt#JHG|E_+^rvOpFb!MPW^Ds#ean~w}yN8!*F&cJ1<&um*^zDGDg1 zN79S&qy)`K_96~ zk#JKtkjMe}JN(Xb>{#ffG2B}Vb8F-mg&n?{Q>KH$5ytMRQRW+8;~pQ2TV@y8G$5OG zC~0eWYi-wDb_^c) zqK_Ttf(RHeC@D!s(NPEP_3NjgIp4QoyH2P0=+t6>ucj)W)HU4jHN!9I1dMA)b)GD~ zZBCO%Ih0;L)zg5yI+(!qSt@a73Et zd1q=yY5sVHd0D1g{=gTiKhLm~%$SrIu$}z3%+?t-8gm`dRG?xZZ`I2wiESblc~?+y zx%Y5yA%E0m=jt8YuS+9>DH-V!$6vRRyeEi}2)Rkb*Ri^HyOYmRERC8f%?0b~PCyARS8 z=To(TSDvXlij=B40pFD#FWI}ktF*lZ#PQGv^DVQ216PPXKyR+DQj9F1z*1jc5#|os z{qXpP*~*^iKz#X!hW7f2QF(13^b#Bizo1ZK9q$*N1 zDUn8Q5i;JEclLlKQC+_?%XYv1v6|KH*jwSu>=0IW0WOc!T>$`or5C_=V}4;?;Rzvd zfiLQkOpHWkQx`7cY70w~o6dS|Q&i<`5pks}g?1j{vga5eSQ!BeWl;1uvGv(m93A9!`T7B~M_5^ce|L}}6pa;- zI0atxw6-MPjp0Ory>Ziu=2U1p78k!qjHR2xiIQV>9SJ2CW``O5sU?(K;Wz&mxM<~#7O33?d4<2H#k#!lYsh=SZ!Zny6NDsn{L}Q)!_4F zU}YGli;Hbw(THFJ-e^kQESdmurF>pUV7x%Ii;u%eycC=wdY)t&uO@aCm@6j4kh4BN zrS3HxiSgRJaNb*7v&?s5N}HosrWmxvLM?ll?AUljb@CYB9O}!Xlh`jOlpo-zxX9uD z#%#ZfsTvenr(N*nxYdo{T9GvPKnxWJZlh#M_!>u5tjPiEZ4&X7Plf`i0XAJsZH!WZ z;^ybfD01qeyeV4+>leH+-3*3$G)UVw0BvJ9&y z-(dhN{tDF#Y;QHgrof_-S06cN9YmCaxGj4$_RPev#Z%!9U1niq0v*bCEpO@^r6}7; zs`OEQj0N;8F8KK$Y>Nx1??W!QdQ%c!S58e%nr{MCH9jmYUg@fR^BAiq?F}W*u^-P!Ipe}(?}?9U4Ne8N> zHzwTIeGk;FCaNEo`ck&#X!AYs3+%>MPSYs(>UuJ71VT&N&pu%;H !7g%TeNQ!Jo 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� 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 e^bE=ZcDyUzY=7lxGK1R(E8NJC1`gj)UXa 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 literal 0 HcmV?d00001 diff --git a/samples/react-pnpjs-spsite-er-diagram/config/package-solution.json b/samples/react-pnpjs-spsite-er-diagram/config/package-solution.json index 5249b3a56..7782a812d 100644 --- a/samples/react-pnpjs-spsite-er-diagram/config/package-solution.json +++ b/samples/react-pnpjs-spsite-er-diagram/config/package-solution.json @@ -5,7 +5,7 @@ "id": "d0130471-1806-4c7d-a504-9af696d7ed0f", "version": "1.0.0.0", "includeClientSideAssets": true, - "skipFeatureDeployment": true, + "skipFeatureDeployment": false, "isDomainIsolated": false, "developer": { "name": "", From 9cb7c1ae4f47b6c6da97e6f546a57f2b44124096 Mon Sep 17 00:00:00 2001 From: NiklasWilhelm Date: Fri, 7 Oct 2022 17:28:18 +0200 Subject: [PATCH 12/14] readme2 --- samples/react-pnpjs-spsite-er-diagram/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/samples/react-pnpjs-spsite-er-diagram/README.md b/samples/react-pnpjs-spsite-er-diagram/README.md index 66a7b239a..75641bfbc 100644 --- a/samples/react-pnpjs-spsite-er-diagram/README.md +++ b/samples/react-pnpjs-spsite-er-diagram/README.md @@ -1,7 +1,7 @@ -# Site ER Diagram +# SP Site ER Diagram ## Summary -This web parts loads all lists on a site and display it in a Entity Relationship Diagram (ERD). +This web part loads all lists on a site and display it in a Entity Relationship Diagram (ERD) using [GoJS](https://www.npmjs.com/package/gojs). ![Best to create a AppPage with the webpart](assets/SPERasAppPage.png) ![ER Webpart in fullscreen](assets/SPERasAppPageFullScreen.png) From 7850700800e8a637bb3bcc036ab8cd4d502d12ec Mon Sep 17 00:00:00 2001 From: NiklasWilhelm Date: Fri, 7 Oct 2022 17:33:21 +0200 Subject: [PATCH 13/14] readme3 --- samples/react-pnpjs-spsite-er-diagram/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/react-pnpjs-spsite-er-diagram/README.md b/samples/react-pnpjs-spsite-er-diagram/README.md index 75641bfbc..45532debb 100644 --- a/samples/react-pnpjs-spsite-er-diagram/README.md +++ b/samples/react-pnpjs-spsite-er-diagram/README.md @@ -35,7 +35,7 @@ If you provide a link to your Twitter profile, we'll promote your contribution o Solution|Author(s) --------|--------- -react-pnpjs-spsite-er-diagram | [Niklas Wilhelm](https://github.com/ICTNiklasWilhelm) ([@NiklasWilhelm4](https://twitter.com/@NiklasWilhelm4)), NetForce 365 GmbH (HubSite 365) +react-pnpjs-spsite-er-diagram | [Niklas Wilhelm](https://github.com/ICTNiklasWilhelm) ([@NiklasWilhelm4](https://twitter.com/@NiklasWilhelm4)), NetForce 365 GmbH ([HubSite 365](https://www.hubsite365.com/) [@Hubsite365](https://twitter.com/@Hubsite365)) ## Version history From 2d8b12f1fe2455264cf48b2b559c2a412fd3f255 Mon Sep 17 00:00:00 2001 From: Hugo Bernier Date: Mon, 7 Nov 2022 23:12:59 -0500 Subject: [PATCH 14/14] Added container and sample.json --- .../.devcontainer/devcontainer.json | 39 +++++++++++++++ .../.devcontainer/spfx-startup.sh | 33 ++++++++++++ .../react-pnpjs-spsite-er-diagram/README.md | 45 ++--------------- .../assets/sample.json | 50 +++++++++++++++++++ .../components/SpSiteErDiagram.tsx | 16 +++--- .../components/helpers/SPSiteData.ts | 22 ++++---- .../components/helpers/SPSiteDataToGoJSER.ts | 14 +++--- 7 files changed, 152 insertions(+), 67 deletions(-) create mode 100644 samples/react-pnpjs-spsite-er-diagram/.devcontainer/devcontainer.json create mode 100644 samples/react-pnpjs-spsite-er-diagram/.devcontainer/spfx-startup.sh create mode 100644 samples/react-pnpjs-spsite-er-diagram/assets/sample.json diff --git a/samples/react-pnpjs-spsite-er-diagram/.devcontainer/devcontainer.json b/samples/react-pnpjs-spsite-er-diagram/.devcontainer/devcontainer.json new file mode 100644 index 000000000..5c924ea0b --- /dev/null +++ b/samples/react-pnpjs-spsite-er-diagram/.devcontainer/devcontainer.json @@ -0,0 +1,39 @@ +// For more information on how to run this SPFx project in a VS Code Remote Container, please visit https://aka.ms/spfx-devcontainer +{ + "name": "SPFx 1.15.2", + "image": "docker.io/m365pnp/spfx:1.15.2", + // Set *default* container specific settings.json values on container create. + "settings": {}, + // Add the IDs of extensions you want installed when the container is created. + "extensions": [ + "editorconfig.editorconfig", + "dbaeumer.vscode-eslint" + ], + // Use 'forwardPorts' to make a list of ports inside the container available locally. + "forwardPorts": [ + 4321, + 35729 + ], + "portsAttributes": { + "4321": { + "protocol": "https", + "label": "Manifest", + "onAutoForward": "silent", + "requireLocalPort": true + }, + // Not needed for SPFx>= 1.12.1 + // "5432": { + // "protocol": "https", + // "label": "Workbench", + // "onAutoForward": "silent" + // }, + "35729": { + "protocol": "https", + "label": "LiveReload", + "onAutoForward": "silent", + "requireLocalPort": true + } + }, + "postCreateCommand": "bash .devcontainer/spfx-startup.sh", + "remoteUser": "node" +} \ No newline at end of file diff --git a/samples/react-pnpjs-spsite-er-diagram/.devcontainer/spfx-startup.sh b/samples/react-pnpjs-spsite-er-diagram/.devcontainer/spfx-startup.sh new file mode 100644 index 000000000..456d6aea8 --- /dev/null +++ b/samples/react-pnpjs-spsite-er-diagram/.devcontainer/spfx-startup.sh @@ -0,0 +1,33 @@ +echo +echo -e "\e[1;94mInstalling Node dependencies\e[0m" +npm install + +## commands to create dev certificate and copy it to the root folder of the project +echo +echo -e "\e[1;94mGenerating dev certificate\e[0m" +gulp trust-dev-cert + +# Convert the generated PEM certificate to a CER certificate +openssl x509 -inform PEM -in ~/.rushstack/rushstack-serve.pem -outform DER -out ./spfx-dev-cert.cer + +# Copy the PEM ecrtificate for non-Windows hosts +cp ~/.rushstack/rushstack-serve.pem ./spfx-dev-cert.pem + +## add *.cer to .gitignore to prevent certificates from being saved in repo +if ! grep -Fxq '*.cer' ./.gitignore + then + echo "# .CER Certificates" >> .gitignore + echo "*.cer" >> .gitignore +fi + +## add *.pem to .gitignore to prevent certificates from being saved in repo +if ! grep -Fxq '*.pem' ./.gitignore + then + echo "# .PEM Certificates" >> .gitignore + echo "*.pem" >> .gitignore +fi + +echo +echo -e "\e[1;92mReady!\e[0m" + +echo -e "\n\e[1;94m**********\nOptional: if you plan on using gulp serve, don't forget to add the container certificate to your local machine. Please visit https://aka.ms/spfx-devcontainer for more information\n**********" \ No newline at end of file diff --git a/samples/react-pnpjs-spsite-er-diagram/README.md b/samples/react-pnpjs-spsite-er-diagram/README.md index 45532debb..8eda0e315 100644 --- a/samples/react-pnpjs-spsite-er-diagram/README.md +++ b/samples/react-pnpjs-spsite-er-diagram/README.md @@ -1,4 +1,5 @@ # SP Site ER Diagram + ## Summary This web part loads all lists on a site and display it in a Entity Relationship Diagram (ERD) using [GoJS](https://www.npmjs.com/package/gojs). @@ -7,6 +8,7 @@ This web part loads all lists on a site and display it in a Entity Relationship ![ER Webpart in fullscreen](assets/SPERasAppPageFullScreen.png) ## Compatibility + ![SPFx 1.14](https://img.shields.io/badge/SPFx-1.14-green.svg) ![Node.js v14 | v12](https://img.shields.io/badge/Node.js-v14%20%7C%20v12-green.svg) ![Compatible with SharePoint Online](https://img.shields.io/badge/SharePoint%20Online-Compatible-green.svg) @@ -23,15 +25,7 @@ This web part loads all lists on a site and display it in a Entity Relationship > Get your own free development tenant by subscribing to [Microsoft 365 developer program](http://aka.ms/o365devprogram) ## Solution - Solution|Author(s) --------|--------- @@ -44,6 +38,7 @@ Version|Date|Comments 1.0|October 07, 2022|Initial release ## Minimal path to awesome + * Clone this repository (or [download this solution as a .ZIP file](https://pnp.github.io/download-partial/?url=https://github.com/pnp/sp-dev-fx-webparts/tree/main/samples/react-pnpjs-spsite-er-diagram) then unzip it) * From your command line, change your current directory to the directory containing this sample (`react-pnpjs-spsite-er-diagram`, located under `samples`) * in the command line run: @@ -54,7 +49,7 @@ Version|Date|Comments ## Features -This project can be used as a starting point for any visualisation of SharePoint Data. Currently it's using GoJS as dependency for the ER Diagram (in productive enviroment you would need to get a license for it). The data layer is abstract so it's possible to use a different library (like three.js) as presentation layer. +This project can be used as a starting point for any visualization of SharePoint Data. Currently it's using GoJS as dependency for the ER Diagram (in productive environment you would need to get a license for it). The data layer is abstract so it's possible to use a different library (like three.js) as presentation layer. * the Data gets cached, to see changes made to the lists/lookups a "refresh" is needed * alerts/warnings for the lists are displayed as well (Versioning/ItemCount/Threshholdlimit/..) @@ -62,41 +57,9 @@ This project can be used as a starting point for any visualisation of SharePoint * easy switch between Internal-/DisplayName * Download current canvas as image - - - - ## Help - We do not support samples, but this community is always willing to help, and we want to improve these samples. We use GitHub to track issues, which makes it easy for community members to volunteer their time and help resolve issues. diff --git a/samples/react-pnpjs-spsite-er-diagram/assets/sample.json b/samples/react-pnpjs-spsite-er-diagram/assets/sample.json new file mode 100644 index 000000000..2c8d28fe9 --- /dev/null +++ b/samples/react-pnpjs-spsite-er-diagram/assets/sample.json @@ -0,0 +1,50 @@ +[ + { + "name": "pnp-sp-dev-spfx-web-parts-react-pnpjs-spsite-er-diagram", + "source": "pnp", + "title": "SP Site ER Diagram", + "shortDescription": "This web part loads all lists on a site and display it in a Entity Relationship Diagram (ERD)", + "url": "https://github.com/pnp/sp-dev-fx-webparts/tree/main/samples/react-pnpjs-spsite-er-diagram", + "downloadUrl": "https://pnp.github.io/download-partial/?url=https://github.com/pnp/sp-dev-fx-webparts/tree/main/samples/react-pnpjs-spsite-er-diagram", + "longDescription": [ + "This web part loads all lists on a site and display it in a Entity Relationship Diagram (ERD)" + ], + "creationDateTime": "2022-11-07", + "updateDateTime": "2022-11-07", + "products": [ + "SharePoint" + ], + "metadata": [ + { + "key": "CLIENT-SIDE-DEV", + "value": "React" + }, + { + "key": "SPFX-VERSION", + "value": "1.14" + } + ], + "thumbnails": [ + { + "type": "image", + "order": 100, + "url": "https://github.com/pnp/sp-dev-fx-webparts/raw/main/samples/react-pnpjs-spsite-er-diagram/assets/YOUR-IMAGE-NAME-HERE", + "alt": "Web Part Preview" + } + ], + "authors": [ + { + "gitHubAccount": "ICTNiklasWilhelm", + "pictureUrl": "https://github.com/ICTNiklasWilhelm.png", + "name": "Niklas Wilhelm" + } + ], + "references": [ + { + "name": "Build your first SharePoint client-side web part", + "description": "Client-side web parts are client-side components that run in the context of a SharePoint page. Client-side web parts can be deployed to SharePoint environments that support the SharePoint Framework. You can also use modern JavaScript web frameworks, tools, and libraries to build them.", + "url": "https://docs.microsoft.com/en-us/sharepoint/dev/spfx/web-parts/get-started/build-a-hello-world-web-part" + } + ] + } +] \ No newline at end of file diff --git a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.tsx b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.tsx index 19a924141..10d7358ef 100644 --- a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.tsx +++ b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/SpSiteErDiagram.tsx @@ -23,16 +23,16 @@ const SpSiteErDiagram: React.FC = (props: ISpSiteDiagramPro const [alertsActive, setAlertsActive] = React.useState(true); const [fieldsActive, setFieldsActive] = React.useState(true); - const loadDiagram = async (refresh: boolean) => { + const loadDiagram = async (refresh: boolean):Promise => { if(refresh) { setLoadingProgress(0); setNodeDataArray([]); } // Get SP SiteData for ER Diagram - let spSiteData = await getSPSiteData(props.context, refresh, (progress) => {setLoadingProgress(progress);}); + const spSiteData = await getSPSiteData(props.context, refresh, (progress) => {setLoadingProgress(progress);}); console.log("SPSiteData", spSiteData); // Transform to GoJS Model - let goJSNodes = getGoJSNodesFromSPSiteData(spSiteData, useInternalName ? "name" : "displayName", alertsActive, fieldsActive); + const goJSNodes = getGoJSNodesFromSPSiteData(spSiteData, useInternalName ? "name" : "displayName", alertsActive, fieldsActive); // Set State setNodeDataArray(goJSNodes.nodeDataArray.filter((n) => - optionRelationOnly && goJSNodes.linkDataArray.some(l => l.from == n.key || l.to == n.key) || !optionRelationOnly // Filter optionRelationOnly + optionRelationOnly && goJSNodes.linkDataArray.some(l => l.from === n.key || l.to === n.key) || !optionRelationOnly // Filter optionRelationOnly )); setLinkDataArray(goJSNodes.linkDataArray); } @@ -42,11 +42,11 @@ const SpSiteErDiagram: React.FC = (props: ISpSiteDiagramPro loadDiagram(false); }, [optionRelationOnly, useInternalName, alertsActive, fieldsActive]); - const downloadAsImage = () => { + const downloadAsImage = ():void => { if(diagramRef && diagramRef.current) { - let canvas = (diagramRef.current as any).divRef.current.firstChild; + const canvas = (diagramRef.current as any).divRef.current.firstChild; console.log((diagramRef.current as any).divRef.current); - var link = document.createElement('a'); + const link = document.createElement('a'); link.download = props.context.pageContext.web.title + '_ERDiagram.png'; link.href = canvas.toDataURL() link.click(); @@ -64,7 +64,7 @@ const SpSiteErDiagram: React.FC = (props: ISpSiteDiagramPro {key: '4', text: "Download as image", iconProps: { iconName: 'Share' }, onClick: () => { downloadAsImage() }} ]} />

- { loadingProgress != 100 && nodeDataArray.length == 0 ? + { loadingProgress !== 100 && nodeDataArray.length === 0 ?
: diff --git a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteData.ts b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteData.ts index 7ed6cbb18..5b27c375a 100644 --- a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteData.ts +++ b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteData.ts @@ -44,19 +44,19 @@ const getSPSiteData = async (spfxContext: any, force?: boolean, progress?: (numb } // Load from site - let spSiteData: SPSiteData = { + const spSiteData: SPSiteData = { relations: [], tables: [] } - let tmp_listNames: any = {}; + const tmp_listNames: any = {}; const sp = spfi().using(SPFx(spfxContext)); - let lists = await sp.web.lists.filter("Hidden ne 1")(); + const lists = await sp.web.lists.filter("Hidden ne 1")(); const totalCount = lists.filter(l => !l.Hidden).length; let loadedCount = 0; - for(let list of lists) { + for(const list of lists) { if(!list.Hidden) { loadedCount++; progress && progress(loadedCount/totalCount * 100); @@ -65,11 +65,11 @@ const getSPSiteData = async (spfxContext: any, force?: boolean, progress?: (numb tmp_listNames[`{${list.Id.toLocaleLowerCase()}}`] = list.Title; // Tables/Lists - let table: SPTable = { id: list.Id, title: list.Title, fields: [], alerts: [] }; + const table: SPTable = { id: list.Id, title: list.Title, fields: [], alerts: [] }; // Fields - let fields = (await sp.web.lists.getById(list.Id).fields.filter("Hidden ne 1")()) - .filter(f => !f.Hidden && (f as any).LookupList != "AppPrincipals" && - ((f as any).CanBeDeleted || (f as any).InternalName == "Title" || (f as any).InternalName == "Id") + const fields = (await sp.web.lists.getById(list.Id).fields.filter("Hidden ne 1")()) + .filter(f => !f.Hidden && (f as any).LookupList !== "AppPrincipals" && + ((f as any).CanBeDeleted || (f as any).InternalName === "Title" || (f as any).InternalName === "Id") ) //.sort((a,b) => a.InternalName.charCodeAt(0) - b.InternalName.charCodeAt(0) ); table.fields = fields.map(f => { @@ -77,7 +77,7 @@ const getSPSiteData = async (spfxContext: any, force?: boolean, progress?: (numb return { name: f.InternalName, displayName: f.Title, - iskey: (f as any).TypeDisplayName == "Lookup" && (f as any).IsRelationship && (f as any).LookupList != '' && (f as any).LookupList != "AppPrincipals", + iskey: (f as any).TypeDisplayName === "Lookup" && (f as any).IsRelationship && (f as any).LookupList !== '' && (f as any).LookupList !== "AppPrincipals", isunique: f.EnforceUniqueValues, type: f.TypeDisplayName } @@ -97,9 +97,9 @@ const getSPSiteData = async (spfxContext: any, force?: boolean, progress?: (numb spSiteData.tables.push(table); // Links/Lookups - let relations: SPRelation[] = fields.filter(f => f.TypeDisplayName == "Lookup" && + const relations: SPRelation[] = fields.filter(f => f.TypeDisplayName === "Lookup" && (f as any).IsRelationship && - (f as any).LookupList != '' && (f as any).LookupList != "AppPrincipals" + (f as any).LookupList !== '' && (f as any).LookupList !== "AppPrincipals" ).map(f => { return { diff --git a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteDataToGoJSER.ts b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteDataToGoJSER.ts index 4c3409ed6..73fd1aa85 100644 --- a/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteDataToGoJSER.ts +++ b/samples/react-pnpjs-spsite-er-diagram/src/webparts/spSiteErDiagram/components/helpers/SPSiteDataToGoJSER.ts @@ -30,26 +30,26 @@ const configByFieldType: any = { "Hyperlink or Picture": { color: colors.blue, figure: "Circle" } } const getNodeItemFromField = (f: SPTableField, fieldNameProperty: string = "name") : GoJSNodeItem => { - let c = configByFieldType[f.type] || configByFieldType['default']; - let prefix = f.type == "Counter" ? "PK | " : (f.iskey && f.type == "Lookup" ? "FK | " : ""); + const c = configByFieldType[f.type] || configByFieldType['default']; + const prefix = f.type === "Counter" ? "PK | " : (f.iskey && f.type === "Lookup" ? "FK | " : ""); return { name: prefix + (f as any)[fieldNameProperty] + ` (${f.type})`, iskey: f.iskey, figure: c.figure, color: f.iskey ? colors.keycolor : c.color, - order: f.type == "Counter" ? "1" : - f.type == "Lookup" && f.iskey ? "2" : - f.type == "Lookup" ? "3" : + order: f.type === "Counter" ? "1" : + f.type === "Lookup" && f.iskey ? "2" : + f.type === "Lookup" ? "3" : f.type }; } -const configByAlert: any = { +const configByAlert = { 'Info': { color: colors.lightblue, figure: "Rectangle" }, 'Warning': { color: colors.orange, figure: "Rectangle" }, 'Error': { color: colors.red, figure: "Rectangle" }, } const getNodeItemFromAlert = (a: SPTableAlert) : GoJSNodeItem => { - let c = configByAlert[a.type]; + const c = configByAlert[a.type]; return { name: "#" + a.type + " | " + a.title, iskey: false,